@flamingo-stack/openframe-frontend-core 0.0.249 → 0.0.250

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 (58) hide show
  1. package/dist/{chunk-PCXI7ZB2.js → chunk-D2BC3NZ2.js} +135 -30
  2. package/dist/chunk-D2BC3NZ2.js.map +1 -0
  3. package/dist/{chunk-5ZVPKTXM.js → chunk-DZJ53RX6.js} +2 -2
  4. package/dist/{chunk-4EED3YEI.cjs → chunk-NCXHTQH2.cjs} +663 -558
  5. package/dist/chunk-NCXHTQH2.cjs.map +1 -0
  6. package/dist/{chunk-3DZ7QYNA.cjs → chunk-PDKBCCCD.cjs} +11 -11
  7. package/dist/{chunk-3DZ7QYNA.cjs.map → chunk-PDKBCCCD.cjs.map} +1 -1
  8. package/dist/{chunk-LHZYI23D.cjs → chunk-PDYT7T6K.cjs} +32 -29
  9. package/dist/chunk-PDYT7T6K.cjs.map +1 -0
  10. package/dist/{chunk-PVAYXHYF.js → chunk-PSG7H4KG.js} +2 -2
  11. package/dist/{chunk-VAKBNCV6.js → chunk-SGEO3W3F.js} +6 -3
  12. package/dist/chunk-SGEO3W3F.js.map +1 -0
  13. package/dist/{chunk-3VTHSACO.cjs → chunk-UMH4RR2F.cjs} +25 -25
  14. package/dist/{chunk-3VTHSACO.cjs.map → chunk-UMH4RR2F.cjs.map} +1 -1
  15. package/dist/components/chat/chat-message-list.d.ts.map +1 -1
  16. package/dist/components/chat/index.cjs +12 -2
  17. package/dist/components/chat/index.cjs.map +1 -1
  18. package/dist/components/chat/index.js +11 -1
  19. package/dist/components/chat/utils/history-merge.d.ts +92 -0
  20. package/dist/components/chat/utils/history-merge.d.ts.map +1 -0
  21. package/dist/components/chat/utils/index.d.ts +1 -0
  22. package/dist/components/chat/utils/index.d.ts.map +1 -1
  23. package/dist/components/contact/index.cjs +3 -3
  24. package/dist/components/contact/index.js +2 -2
  25. package/dist/components/features/index.cjs +2 -2
  26. package/dist/components/features/index.js +1 -1
  27. package/dist/components/features/policy-configuration-panel.d.ts.map +1 -1
  28. package/dist/components/index.cjs +59 -49
  29. package/dist/components/index.cjs.map +1 -1
  30. package/dist/components/index.js +13 -3
  31. package/dist/components/index.js.map +1 -1
  32. package/dist/components/navigation/index.cjs +2 -2
  33. package/dist/components/navigation/index.js +1 -1
  34. package/dist/components/related-content/index.cjs +3 -3
  35. package/dist/components/related-content/index.js +2 -2
  36. package/dist/components/related-content/related-content-section.d.ts.map +1 -1
  37. package/dist/components/tickets/index.cjs +55 -55
  38. package/dist/components/tickets/index.js +3 -3
  39. package/dist/components/ui/index.cjs +12 -2
  40. package/dist/components/ui/index.cjs.map +1 -1
  41. package/dist/components/ui/index.js +11 -1
  42. package/dist/index.cjs +12 -2
  43. package/dist/index.cjs.map +1 -1
  44. package/dist/index.js +11 -1
  45. package/package.json +1 -1
  46. package/src/components/chat/__tests__/chat-message-list.test.tsx +92 -0
  47. package/src/components/chat/chat-message-list.tsx +74 -49
  48. package/src/components/chat/utils/__tests__/history-merge.test.ts +339 -0
  49. package/src/components/chat/utils/history-merge.ts +255 -0
  50. package/src/components/chat/utils/index.ts +12 -0
  51. package/src/components/features/policy-configuration-panel.tsx +1 -0
  52. package/src/components/related-content/related-content-section.tsx +6 -2
  53. package/dist/chunk-4EED3YEI.cjs.map +0 -1
  54. package/dist/chunk-LHZYI23D.cjs.map +0 -1
  55. package/dist/chunk-PCXI7ZB2.js.map +0 -1
  56. package/dist/chunk-VAKBNCV6.js.map +0 -1
  57. /package/dist/{chunk-5ZVPKTXM.js.map → chunk-DZJ53RX6.js.map} +0 -0
  58. /package/dist/{chunk-PVAYXHYF.js.map → chunk-PSG7H4KG.js.map} +0 -0
@@ -2924,12 +2924,15 @@ var ChatMessageList = _react.forwardRef.call(void 0,
2924
2924
  onLoadMoreRef.current = onLoadMore;
2925
2925
  const isFetchingRef = _react.useRef.call(void 0, isFetchingNextPage);
2926
2926
  isFetchingRef.current = isFetchingNextPage;
2927
+ const dialogIdRef = _react.useRef.call(void 0, dialogId);
2928
+ dialogIdRef.current = dialogId;
2927
2929
  const prevRenderRef = _react.useRef.call(void 0, { dialogId: void 0, messageCount: 0, lastMessageId: void 0 });
2928
- const prependRef = _react.useRef.call(void 0, { firstMessageId: void 0, firstMessageContent: void 0, scrollHeight: 0 });
2930
+ const loadOlderAnchorRef = _react.useRef.call(void 0, null);
2929
2931
  _react.useEffect.call(void 0, () => {
2930
2932
  if (!autoScroll) return;
2931
2933
  const dialogChanged = dialogId !== prevRenderRef.current.dialogId;
2932
2934
  const prevCount = prevRenderRef.current.messageCount;
2935
+ const prevLastId = prevRenderRef.current.lastMessageId;
2933
2936
  const newCount = messages.length;
2934
2937
  const currentLastId = _optionalChain([messages, 'access', _36 => _36[messages.length - 1], 'optionalAccess', _37 => _37.id]);
2935
2938
  prevRenderRef.current = { dialogId, messageCount: newCount, lastMessageId: currentLastId };
@@ -2942,7 +2945,8 @@ var ChatMessageList = _react.forwardRef.call(void 0,
2942
2945
  return;
2943
2946
  }
2944
2947
  if (newCount > prevCount) {
2945
- const newSlice = messages.slice(prevCount);
2948
+ const prevLastIdx = prevLastId ? messages.findIndex((m) => m.id === prevLastId) : -1;
2949
+ const newSlice = prevLastIdx >= 0 ? messages.slice(prevLastIdx + 1) : messages.slice(prevCount);
2946
2950
  const hasNewUser = newSlice.some((m) => m.role === "user");
2947
2951
  if (hasNewUser) {
2948
2952
  void scrollToBottom({ animation: "instant", ignoreEscapes: true });
@@ -2966,34 +2970,17 @@ var ChatMessageList = _react.forwardRef.call(void 0,
2966
2970
  }, [autoScroll, messages, dialogId, scrollToBottom, contentRef]);
2967
2971
  _react.useLayoutEffect.call(void 0, () => {
2968
2972
  const el = scrollRef.current;
2969
- if (!el) {
2970
- prependRef.current = { firstMessageId: void 0, firstMessageContent: void 0, scrollHeight: 0 };
2973
+ const anchor = loadOlderAnchorRef.current;
2974
+ if (!el || !anchor) return;
2975
+ if (anchor.dialogId !== dialogId) {
2976
+ loadOlderAnchorRef.current = null;
2971
2977
  return;
2972
2978
  }
2973
- const currentFirstId = _optionalChain([messages, 'access', _38 => _38[0], 'optionalAccess', _39 => _39.id]);
2974
- const currentFirstContent = _optionalChain([messages, 'access', _40 => _40[0], 'optionalAccess', _41 => _41.content]);
2975
- const prevFirstId = prependRef.current.firstMessageId;
2976
- const prevHeight = prependRef.current.scrollHeight;
2977
- if (currentFirstId !== prevFirstId) {
2978
- if (prevFirstId && prevHeight > 0) {
2979
- const prevIdx = messages.findIndex((m) => m.id === prevFirstId);
2980
- if (prevIdx > 0) {
2981
- const addedHeight = el.scrollHeight - prevHeight;
2982
- if (addedHeight > 0) el.scrollTop += addedHeight;
2983
- }
2984
- }
2985
- prependRef.current = {
2986
- firstMessageId: currentFirstId,
2987
- firstMessageContent: currentFirstContent,
2988
- scrollHeight: el.scrollHeight
2989
- };
2990
- return;
2991
- }
2992
- prependRef.current.scrollHeight = el.scrollHeight;
2993
- if (currentFirstContent !== prependRef.current.firstMessageContent) {
2994
- prependRef.current.firstMessageContent = currentFirstContent;
2995
- }
2996
- }, [messages, scrollRef]);
2979
+ const addedHeight = el.scrollHeight - anchor.scrollHeight;
2980
+ if (addedHeight <= 0) return;
2981
+ loadOlderAnchorRef.current = null;
2982
+ el.scrollTop = anchor.scrollTop + addedHeight;
2983
+ }, [messages, dialogId, scrollRef]);
2997
2984
  const messageElsRef = _react.useRef.call(void 0, /* @__PURE__ */ new Map());
2998
2985
  const refCallbacksRef = _react.useRef.call(void 0, /* @__PURE__ */ new Map());
2999
2986
  const getRegisterMessageEl = (id) => {
@@ -3046,7 +3033,7 @@ var ChatMessageList = _react.forwardRef.call(void 0,
3046
3033
  ro.observe(node);
3047
3034
  const timer = setTimeout(() => {
3048
3035
  ro.disconnect();
3049
- if (_optionalChain([anchorWatcherRef, 'access', _42 => _42.current, 'optionalAccess', _43 => _43.id]) === last.id) {
3036
+ if (_optionalChain([anchorWatcherRef, 'access', _38 => _38.current, 'optionalAccess', _39 => _39.id]) === last.id) {
3050
3037
  anchorWatcherRef.current = null;
3051
3038
  }
3052
3039
  }, 2e3);
@@ -3065,14 +3052,22 @@ var ChatMessageList = _react.forwardRef.call(void 0,
3065
3052
  const entry = entries[0];
3066
3053
  if (!entry) return;
3067
3054
  if (entry.isIntersecting && !isFetchingRef.current) {
3068
- _optionalChain([onLoadMoreRef, 'access', _44 => _44.current, 'optionalCall', _45 => _45()]);
3055
+ const el = scrollRef.current;
3056
+ if (el) {
3057
+ loadOlderAnchorRef.current = {
3058
+ dialogId: dialogIdRef.current,
3059
+ scrollHeight: el.scrollHeight,
3060
+ scrollTop: el.scrollTop
3061
+ };
3062
+ }
3063
+ _optionalChain([onLoadMoreRef, 'access', _40 => _40.current, 'optionalCall', _41 => _41()]);
3069
3064
  }
3070
3065
  },
3071
3066
  { root: scrollContainer, rootMargin: "200px", threshold: 0.1 }
3072
3067
  );
3073
3068
  observer.observe(sentinelElement);
3074
3069
  return () => observer.disconnect();
3075
- }, [hasNextPage, scrollRef]);
3070
+ }, [hasNextPage, isFetchingNextPage, scrollRef]);
3076
3071
  _react.useImperativeHandle.call(void 0, ref, () => scrollRef.current, [scrollRef]);
3077
3072
  if (isLoading) {
3078
3073
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
@@ -3093,8 +3088,8 @@ var ChatMessageList = _react.forwardRef.call(void 0,
3093
3088
  contentRef(el);
3094
3089
  };
3095
3090
  const lastMessage = messages[messages.length - 1];
3096
- const lastSegments = Array.isArray(_optionalChain([lastMessage, 'optionalAccess', _46 => _46.content])) ? lastMessage.content : null;
3097
- const lastSegment = _optionalChain([lastSegments, 'optionalAccess', _47 => _47[lastSegments.length - 1]]);
3091
+ const lastSegments = Array.isArray(_optionalChain([lastMessage, 'optionalAccess', _42 => _42.content])) ? lastMessage.content : null;
3092
+ const lastSegment = _optionalChain([lastSegments, 'optionalAccess', _43 => _43[lastSegments.length - 1]]);
3098
3093
  const isPausedOnApproval = !!lastSegment && (lastSegment.type === "approval_request" || lastSegment.type === "approval_batch") && (lastSegment.status === void 0 || lastSegment.status === "pending");
3099
3094
  const showStreamingLoader = isTyping && !isPausedOnApproval && !(pendingApprovals && pendingApprovals.length > 0);
3100
3095
  return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "relative flex-1 min-h-0 flex flex-col", children: [
@@ -3193,9 +3188,9 @@ ChatMessageList.displayName = "ChatMessageList";
3193
3188
  // src/utils/image-proxy.ts
3194
3189
  function getProxiedImageUrl(imageUrl, options) {
3195
3190
  if (!imageUrl) return null;
3196
- const proxyPrefix = _optionalChain([options, 'optionalAccess', _48 => _48.proxyPrefix]);
3197
- const skipDomains = _nullishCoalesce(_optionalChain([options, 'optionalAccess', _49 => _49.skipDomains]), () => ( []));
3198
- const directHttps = _nullishCoalesce(_optionalChain([options, 'optionalAccess', _50 => _50.directHttps]), () => ( false));
3191
+ const proxyPrefix = _optionalChain([options, 'optionalAccess', _44 => _44.proxyPrefix]);
3192
+ const skipDomains = _nullishCoalesce(_optionalChain([options, 'optionalAccess', _45 => _45.skipDomains]), () => ( []));
3193
+ const directHttps = _nullishCoalesce(_optionalChain([options, 'optionalAccess', _46 => _46.directHttps]), () => ( false));
3199
3194
  if (proxyPrefix && imageUrl.includes(proxyPrefix)) {
3200
3195
  return imageUrl;
3201
3196
  }
@@ -3361,7 +3356,7 @@ var ChatTicketItem = React6.forwardRef(
3361
3356
  {
3362
3357
  ref,
3363
3358
  type: "button",
3364
- onClick: () => _optionalChain([onClick, 'optionalCall', _51 => _51(ticket.id)]),
3359
+ onClick: () => _optionalChain([onClick, 'optionalCall', _47 => _47(ticket.id)]),
3365
3360
  className: _chunkFIG2RKZFcjs.cn.call(void 0,
3366
3361
  "flex items-center gap-4 w-full h-20 px-4",
3367
3362
  "bg-ods-card border-b border-ods-border",
@@ -3614,11 +3609,11 @@ function MingoChatHistoryRow({
3614
3609
  {
3615
3610
  role: "button",
3616
3611
  tabIndex: 0,
3617
- onClick: () => _optionalChain([onSelect, 'optionalCall', _52 => _52(dialog.id)]),
3612
+ onClick: () => _optionalChain([onSelect, 'optionalCall', _48 => _48(dialog.id)]),
3618
3613
  onKeyDown: (e) => {
3619
3614
  if (e.key === "Enter" || e.key === " ") {
3620
3615
  e.preventDefault();
3621
- _optionalChain([onSelect, 'optionalCall', _53 => _53(dialog.id)]);
3616
+ _optionalChain([onSelect, 'optionalCall', _49 => _49(dialog.id)]);
3622
3617
  }
3623
3618
  },
3624
3619
  className: "flex min-w-0 flex-1 items-center gap-[var(--spacing-system-xsf)] p-[var(--spacing-system-s)] cursor-pointer focus:outline-none focus-visible:bg-ods-bg-hover",
@@ -3751,7 +3746,7 @@ function MingoChatHistory({
3751
3746
  const io = new IntersectionObserver(
3752
3747
  ([entry]) => {
3753
3748
  if (entry.isIntersecting && !isLoadingMoreRef.current) {
3754
- _optionalChain([onLoadMoreRef, 'access', _54 => _54.current, 'optionalCall', _55 => _55()]);
3749
+ _optionalChain([onLoadMoreRef, 'access', _50 => _50.current, 'optionalCall', _51 => _51()]);
3755
3750
  }
3756
3751
  },
3757
3752
  { root, rootMargin: "120px", threshold: 0.1 }
@@ -4253,7 +4248,7 @@ function GuideWelcome({
4253
4248
  "button",
4254
4249
  {
4255
4250
  type: "button",
4256
- onClick: () => _optionalChain([onQuickAction, 'optionalCall', _56 => _56(action)]),
4251
+ onClick: () => _optionalChain([onQuickAction, 'optionalCall', _52 => _52(action)]),
4257
4252
  className: "rounded-md focus:outline-none focus-visible:ring-2 focus-visible:ring-ods-accent",
4258
4253
  children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk6LK4VEXEcjs.Tag, { variant: "outline", label: action.label })
4259
4254
  },
@@ -4268,7 +4263,7 @@ function GuideWelcome({
4268
4263
  items: overflowActions.map((action) => ({
4269
4264
  id: action.id,
4270
4265
  label: action.label,
4271
- onClick: () => _optionalChain([onQuickAction, 'optionalCall', _57 => _57(action)])
4266
+ onClick: () => _optionalChain([onQuickAction, 'optionalCall', _53 => _53(action)])
4272
4267
  }))
4273
4268
  }],
4274
4269
  customTrigger: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
@@ -4598,7 +4593,7 @@ function ChatDialogModals({
4598
4593
  RenameChatModal,
4599
4594
  {
4600
4595
  isOpen: renameTarget != null,
4601
- initialName: _nullishCoalesce(_optionalChain([renameTarget, 'optionalAccess', _58 => _58.title]), () => ( "")),
4596
+ initialName: _nullishCoalesce(_optionalChain([renameTarget, 'optionalAccess', _54 => _54.title]), () => ( "")),
4602
4597
  onClose: () => setRenameTarget(null),
4603
4598
  onSave: onConfirmRename
4604
4599
  }
@@ -4859,7 +4854,7 @@ function ChatAttachmentAddButton({
4859
4854
  const canAddMore = slotsAvailable > 0 && !disabled;
4860
4855
  const handlePick = () => {
4861
4856
  if (!canAddMore) return;
4862
- _optionalChain([fileInputRef, 'access', _59 => _59.current, 'optionalAccess', _60 => _60.click, 'call', _61 => _61()]);
4857
+ _optionalChain([fileInputRef, 'access', _55 => _55.current, 'optionalAccess', _56 => _56.click, 'call', _57 => _57()]);
4863
4858
  };
4864
4859
  return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _jsxruntime.Fragment, { children: [
4865
4860
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
@@ -5397,8 +5392,8 @@ ChatSidebarSkeleton.displayName = "ChatSidebarSkeleton";
5397
5392
  var DialogListItem = _react.forwardRef.call(void 0,
5398
5393
  ({ className, dialog, isActive, onDialogSelect, onClick, ...props }, ref) => {
5399
5394
  const handleClick = (e) => {
5400
- _optionalChain([onDialogSelect, 'optionalCall', _62 => _62(dialog.id)]);
5401
- _optionalChain([onClick, 'optionalCall', _63 => _63(e)]);
5395
+ _optionalChain([onDialogSelect, 'optionalCall', _58 => _58(dialog.id)]);
5396
+ _optionalChain([onClick, 'optionalCall', _59 => _59(e)]);
5402
5397
  };
5403
5398
  const formatTimestamp2 = (timestamp) => {
5404
5399
  if (!timestamp) return "";
@@ -5457,7 +5452,7 @@ var ChatSidebar = _react.forwardRef.call(void 0,
5457
5452
  (entries) => {
5458
5453
  const [entry] = entries;
5459
5454
  if (entry.isIntersecting && !isFetchingRef.current) {
5460
- _optionalChain([onLoadMoreRef, 'access', _64 => _64.current, 'optionalCall', _65 => _65()]);
5455
+ _optionalChain([onLoadMoreRef, 'access', _60 => _60.current, 'optionalCall', _61 => _61()]);
5461
5456
  }
5462
5457
  },
5463
5458
  { root: scrollContainer, rootMargin: "100px", threshold: 0.1 }
@@ -5543,11 +5538,11 @@ _chunkG7UE6RKVcjs.init_next_navigation.call(void 0, );
5543
5538
  function runNavigation(runtime, href, path, targetPlatform, fallbackNavigate) {
5544
5539
  const isNewTab = runtime ? _chunk6LK4VEXEcjs.computeIsNewTab.call(void 0, runtime, href, _nullishCoalesce(targetPlatform, () => ( null))) : false;
5545
5540
  if (isNewTab) {
5546
- if (_optionalChain([runtime, 'optionalAccess', _66 => _66.navigation, 'access', _67 => _67.openExternal])) runtime.navigation.openExternal(href);
5541
+ if (_optionalChain([runtime, 'optionalAccess', _62 => _62.navigation, 'access', _63 => _63.openExternal])) runtime.navigation.openExternal(href);
5547
5542
  else window.open(href, "_blank", _chunk6LK4VEXEcjs.NEW_TAB_FEATURES);
5548
5543
  return;
5549
5544
  }
5550
- const handled = _nullishCoalesce(_optionalChain([runtime, 'optionalAccess', _68 => _68.navigation, 'access', _69 => _69.navigate, 'optionalCall', _70 => _70({ href, path, targetPlatform })]), () => ( false));
5545
+ const handled = _nullishCoalesce(_optionalChain([runtime, 'optionalAccess', _64 => _64.navigation, 'access', _65 => _65.navigate, 'optionalCall', _66 => _66({ href, path, targetPlatform })]), () => ( false));
5551
5546
  if (!handled) {
5552
5547
  const target = _chunk6LK4VEXEcjs.stripSameOriginToPath.call(void 0, href);
5553
5548
  if (fallbackNavigate) fallbackNavigate(target);
@@ -5613,7 +5608,7 @@ function NavLinkAnchorViaRuntime({
5613
5608
  path,
5614
5609
  targetPlatform
5615
5610
  }, router.push);
5616
- if (handled && !isNewTab && _optionalChain([panel, 'optionalAccess', _71 => _71.closeChat])) panel.closeChat();
5611
+ if (handled && !isNewTab && _optionalChain([panel, 'optionalAccess', _67 => _67.closeChat])) panel.closeChat();
5617
5612
  };
5618
5613
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
5619
5614
  "a",
@@ -5958,8 +5953,8 @@ function AdminContentCard({
5958
5953
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "h3", { className: "font-['DM_Sans'] font-bold text-ods-text-primary text-[18px] leading-snug line-clamp-2 break-words", children: title }),
5959
5954
  subtitle && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { className: "font-['DM_Sans'] text-[14px] text-ods-text-secondary truncate", children: subtitle }),
5960
5955
  summary && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { className: "font-['DM_Sans'] text-[14px] leading-relaxed text-ods-text-secondary line-clamp-2", children: summary }),
5961
- (Number(_optionalChain([platforms, 'optionalAccess', _72 => _72.length])) > 0 || badges) && /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex items-center gap-2 flex-wrap", children: [
5962
- _optionalChain([platforms, 'optionalAccess', _73 => _73.map, 'call', _74 => _74((p) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
5956
+ (Number(_optionalChain([platforms, 'optionalAccess', _68 => _68.length])) > 0 || badges) && /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex items-center gap-2 flex-wrap", children: [
5957
+ _optionalChain([platforms, 'optionalAccess', _69 => _69.map, 'call', _70 => _70((p) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
5963
5958
  PlatformBadge,
5964
5959
  {
5965
5960
  platform: { id: p.id || p.platform_id || "", name: p.name, display_name: p.display_name || p.name },
@@ -6111,7 +6106,7 @@ function ProductReleaseCard({
6111
6106
  changelogCounts
6112
6107
  }) {
6113
6108
  if (size === "lg") {
6114
- const totalChangelog = (_nullishCoalesce(_optionalChain([changelogCounts, 'optionalAccess', _75 => _75.features]), () => ( 0))) + (_nullishCoalesce(_optionalChain([changelogCounts, 'optionalAccess', _76 => _76.fixes]), () => ( 0))) + (_nullishCoalesce(_optionalChain([changelogCounts, 'optionalAccess', _77 => _77.improvements]), () => ( 0))) + (_nullishCoalesce(_optionalChain([changelogCounts, 'optionalAccess', _78 => _78.breaking]), () => ( 0)));
6109
+ const totalChangelog = (_nullishCoalesce(_optionalChain([changelogCounts, 'optionalAccess', _71 => _71.features]), () => ( 0))) + (_nullishCoalesce(_optionalChain([changelogCounts, 'optionalAccess', _72 => _72.fixes]), () => ( 0))) + (_nullishCoalesce(_optionalChain([changelogCounts, 'optionalAccess', _73 => _73.improvements]), () => ( 0))) + (_nullishCoalesce(_optionalChain([changelogCounts, 'optionalAccess', _74 => _74.breaking]), () => ( 0)));
6115
6110
  const valueCells = [
6116
6111
  releaseType && releaseTypeBadgeColor ? {
6117
6112
  value: releaseType.toUpperCase(),
@@ -6130,7 +6125,7 @@ function ProductReleaseCard({
6130
6125
  uppercase: false
6131
6126
  } : { value: "\u2014", label: "Released", uppercase: false }
6132
6127
  ];
6133
- const effectiveAuthor = _optionalChain([author, 'optionalAccess', _79 => _79.full_name]) ? author : { full_name: "\u2014", avatar_url: null, job_title: "Unknown" };
6128
+ const effectiveAuthor = _optionalChain([author, 'optionalAccess', _75 => _75.full_name]) ? author : { full_name: "\u2014", avatar_url: null, job_title: "Unknown" };
6134
6129
  const gridColsClass = "md:grid-cols-4";
6135
6130
  const dividerClass = "border-b md:border-b-0 md:border-r border-ods-border";
6136
6131
  const frameClass = _chunkFIG2RKZFcjs.cn.call(void 0,
@@ -6543,10 +6538,10 @@ function buildProductReleaseCardProps(item) {
6543
6538
  job_title: release.author.job_title
6544
6539
  } : void 0,
6545
6540
  changelogCounts: {
6546
- features: _nullishCoalesce(_optionalChain([release, 'access', _80 => _80.features_added, 'optionalAccess', _81 => _81.length]), () => ( 0)),
6547
- fixes: _nullishCoalesce(_optionalChain([release, 'access', _82 => _82.bugs_fixed, 'optionalAccess', _83 => _83.length]), () => ( 0)),
6548
- improvements: _nullishCoalesce(_optionalChain([release, 'access', _84 => _84.improvements, 'optionalAccess', _85 => _85.length]), () => ( 0)),
6549
- breaking: _nullishCoalesce(_optionalChain([release, 'access', _86 => _86.breaking_changes, 'optionalAccess', _87 => _87.length]), () => ( 0))
6541
+ features: _nullishCoalesce(_optionalChain([release, 'access', _76 => _76.features_added, 'optionalAccess', _77 => _77.length]), () => ( 0)),
6542
+ fixes: _nullishCoalesce(_optionalChain([release, 'access', _78 => _78.bugs_fixed, 'optionalAccess', _79 => _79.length]), () => ( 0)),
6543
+ improvements: _nullishCoalesce(_optionalChain([release, 'access', _80 => _80.improvements, 'optionalAccess', _81 => _81.length]), () => ( 0)),
6544
+ breaking: _nullishCoalesce(_optionalChain([release, 'access', _82 => _82.breaking_changes, 'optionalAccess', _83 => _83.length]), () => ( 0))
6550
6545
  }
6551
6546
  };
6552
6547
  }
@@ -6608,7 +6603,7 @@ function BlogCard({
6608
6603
  const displayImage = post.featured_image && !imageError ? post.featured_image : placeholderUrl;
6609
6604
  if (size === "sm") {
6610
6605
  const dateStr2 = post.published_at ? new Date(post.published_at).toLocaleDateString("en-US", { year: "numeric", month: "short", day: "numeric" }) : "";
6611
- const firstCategory = _optionalChain([post, 'access', _88 => _88.categories, 'optionalAccess', _89 => _89.find, 'call', _90 => _90((c) => c && c.name), 'optionalAccess', _91 => _91.name]);
6606
+ const firstCategory = _optionalChain([post, 'access', _84 => _84.categories, 'optionalAccess', _85 => _85.find, 'call', _86 => _86((c) => c && c.name), 'optionalAccess', _87 => _87.name]);
6612
6607
  return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
6613
6608
  "a",
6614
6609
  {
@@ -6814,14 +6809,14 @@ function CaseStudyCard({
6814
6809
  "img",
6815
6810
  {
6816
6811
  src: coverImage,
6817
- alt: `${_optionalChain([study, 'access', _92 => _92.msp, 'optionalAccess', _93 => _93.name]) || study.title} cover`,
6812
+ alt: `${_optionalChain([study, 'access', _88 => _88.msp, 'optionalAccess', _89 => _89.name]) || study.title} cover`,
6818
6813
  className: "absolute inset-0 block w-full h-full object-contain",
6819
6814
  onError: hideOnError
6820
6815
  }
6821
6816
  ) : null }),
6822
6817
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: _chunk6LK4VEXEcjs.COMPACT_CARD_TEXT_COL, children: [
6823
6818
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: _chunk6LK4VEXEcjs.COMPACT_CARD_TITLE_ROW, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: _chunk6LK4VEXEcjs.COMPACT_CARD_TITLE, children: study.title }) }),
6824
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: _chunk6LK4VEXEcjs.COMPACT_CARD_META_ROW_BOX, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: _chunk6LK4VEXEcjs.COMPACT_CARD_SUBTITLE, children: [_optionalChain([study, 'access', _94 => _94.msp, 'optionalAccess', _95 => _95.name]), _optionalChain([study, 'access', _96 => _96.user, 'optionalAccess', _97 => _97.full_name])].filter(Boolean).join(" \xB7 ") || "Case study" }) }),
6819
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: _chunk6LK4VEXEcjs.COMPACT_CARD_META_ROW_BOX, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: _chunk6LK4VEXEcjs.COMPACT_CARD_SUBTITLE, children: [_optionalChain([study, 'access', _90 => _90.msp, 'optionalAccess', _91 => _91.name]), _optionalChain([study, 'access', _92 => _92.user, 'optionalAccess', _93 => _93.full_name])].filter(Boolean).join(" \xB7 ") || "Case study" }) }),
6825
6820
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: _chunk6LK4VEXEcjs.COMPACT_CARD_META_ROW_BOX, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: _chunk6LK4VEXEcjs.COMPACT_CARD_SUMMARY, children: study.summary || _chunk6LK4VEXEcjs.COMPACT_CARD_ROW_FILLER }) })
6826
6821
  ] })
6827
6822
  ] });
@@ -6831,7 +6826,7 @@ function CaseStudyCard({
6831
6826
  _chunkXL4V2PYGcjs.next_image_default,
6832
6827
  {
6833
6828
  src: coverImage,
6834
- alt: _optionalChain([study, 'access', _98 => _98.msp, 'optionalAccess', _99 => _99.name]) || study.title,
6829
+ alt: _optionalChain([study, 'access', _94 => _94.msp, 'optionalAccess', _95 => _95.name]) || study.title,
6835
6830
  className: "w-full h-full object-cover",
6836
6831
  sizes: "(min-width: 1545px) 515px, (min-width: 1280px) 33vw, (min-width: 800px) 50vw, 100vw",
6837
6832
  fill: true,
@@ -6842,18 +6837,18 @@ function CaseStudyCard({
6842
6837
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "h-[72px] flex items-center shrink-0", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { className: "text-h4 text-ods-text-primary line-clamp-3 break-words", children: study.title }) }),
6843
6838
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "h-[60px] flex items-center shrink-0", children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex items-center gap-3 min-w-0 w-full", children: [
6844
6839
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "relative shrink-0 w-12 h-12", children: [
6845
- _optionalChain([study, 'access', _100 => _100.user, 'optionalAccess', _101 => _101.avatar_url]) ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
6840
+ _optionalChain([study, 'access', _96 => _96.user, 'optionalAccess', _97 => _97.avatar_url]) ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
6846
6841
  _chunkXL4V2PYGcjs.next_image_default,
6847
6842
  {
6848
6843
  src: study.user.avatar_url,
6849
- alt: _optionalChain([study, 'access', _102 => _102.user, 'optionalAccess', _103 => _103.full_name]) || "User",
6844
+ alt: _optionalChain([study, 'access', _98 => _98.user, 'optionalAccess', _99 => _99.full_name]) || "User",
6850
6845
  className: "w-12 h-12 rounded-full object-cover bg-ods-background border border-ods-border",
6851
6846
  width: 48,
6852
6847
  height: 48,
6853
6848
  unoptimized: true
6854
6849
  }
6855
- ) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "w-12 h-12 rounded-full bg-ods-background border border-ods-border flex items-center justify-center", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "text-ods-text-secondary font-medium text-xl", children: (_optionalChain([study, 'access', _104 => _104.user, 'optionalAccess', _105 => _105.full_name]) || "A").charAt(0).toUpperCase() }) }),
6856
- _optionalChain([study, 'access', _106 => _106.msp, 'optionalAccess', _107 => _107.icon_url]) && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "absolute -bottom-1 -right-1 w-6 h-6 rounded-full bg-ods-text-primary ring-1 ring-ods-bg overflow-hidden flex items-center justify-center", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
6850
+ ) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "w-12 h-12 rounded-full bg-ods-background border border-ods-border flex items-center justify-center", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "text-ods-text-secondary font-medium text-xl", children: (_optionalChain([study, 'access', _100 => _100.user, 'optionalAccess', _101 => _101.full_name]) || "A").charAt(0).toUpperCase() }) }),
6851
+ _optionalChain([study, 'access', _102 => _102.msp, 'optionalAccess', _103 => _103.icon_url]) && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "absolute -bottom-1 -right-1 w-6 h-6 rounded-full bg-ods-text-primary ring-1 ring-ods-bg overflow-hidden flex items-center justify-center", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
6857
6852
  _chunkXL4V2PYGcjs.next_image_default,
6858
6853
  {
6859
6854
  src: study.msp.icon_url,
@@ -6867,13 +6862,13 @@ function CaseStudyCard({
6867
6862
  ] }),
6868
6863
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "min-w-0 flex-1", children: [
6869
6864
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "p", { className: "font-['DM_Sans'] text-[16px] leading-[1.3] text-ods-text-primary truncate", children: [
6870
- _optionalChain([study, 'access', _108 => _108.user, 'optionalAccess', _109 => _109.full_name]) || "Anonymous",
6871
- _optionalChain([study, 'access', _110 => _110.msp, 'optionalAccess', _111 => _111.name]) && /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: "text-ods-text-secondary", children: [
6865
+ _optionalChain([study, 'access', _104 => _104.user, 'optionalAccess', _105 => _105.full_name]) || "Anonymous",
6866
+ _optionalChain([study, 'access', _106 => _106.msp, 'optionalAccess', _107 => _107.name]) && /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: "text-ods-text-secondary", children: [
6872
6867
  " \u2022 ",
6873
6868
  study.msp.name
6874
6869
  ] })
6875
6870
  ] }),
6876
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { className: "font-['DM_Sans'] text-[14px] leading-none text-ods-text-secondary truncate", children: _optionalChain([study, 'access', _112 => _112.user, 'optionalAccess', _113 => _113.job_title]) || "\xA0" })
6871
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { className: "font-['DM_Sans'] text-[14px] leading-none text-ods-text-secondary truncate", children: _optionalChain([study, 'access', _108 => _108.user, 'optionalAccess', _109 => _109.job_title]) || "\xA0" })
6877
6872
  ] })
6878
6873
  ] }) })
6879
6874
  ] }) });
@@ -6956,7 +6951,7 @@ function CustomerInterviewCard({
6956
6951
  ] }),
6957
6952
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: _chunk6LK4VEXEcjs.COMPACT_CARD_TEXT_COL, children: [
6958
6953
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: _chunk6LK4VEXEcjs.COMPACT_CARD_TITLE_ROW, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: _chunk6LK4VEXEcjs.COMPACT_CARD_TITLE, children: interview.title }) }),
6959
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: _chunk6LK4VEXEcjs.COMPACT_CARD_META_ROW_BOX, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: _chunk6LK4VEXEcjs.COMPACT_CARD_SUBTITLE, children: [_optionalChain([interview, 'access', _114 => _114.user, 'optionalAccess', _115 => _115.full_name]), _optionalChain([interview, 'access', _116 => _116.msp, 'optionalAccess', _117 => _117.name])].filter(Boolean).join(" \xB7 ") || "Customer interview" }) }),
6954
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: _chunk6LK4VEXEcjs.COMPACT_CARD_META_ROW_BOX, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: _chunk6LK4VEXEcjs.COMPACT_CARD_SUBTITLE, children: [_optionalChain([interview, 'access', _110 => _110.user, 'optionalAccess', _111 => _111.full_name]), _optionalChain([interview, 'access', _112 => _112.msp, 'optionalAccess', _113 => _113.name])].filter(Boolean).join(" \xB7 ") || "Customer interview" }) }),
6960
6955
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: _chunk6LK4VEXEcjs.COMPACT_CARD_META_ROW_BOX, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: _chunk6LK4VEXEcjs.COMPACT_CARD_SUMMARY, children: interview.video_summary || _chunk6LK4VEXEcjs.COMPACT_CARD_ROW_FILLER }) })
6961
6956
  ] })
6962
6957
  ] });
@@ -6978,15 +6973,15 @@ function CustomerInterviewCard({
6978
6973
  interview.video_summary && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "shrink-0", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { className: "font-['DM_Sans'] text-[14px] leading-[20px] text-ods-text-secondary line-clamp-3", children: interview.video_summary }) }),
6979
6974
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "h-[60px] flex items-center shrink-0 mt-auto", children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex items-center gap-3 min-w-0 w-full", children: [
6980
6975
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "relative shrink-0 w-12 h-12", children: [
6981
- _optionalChain([interview, 'access', _118 => _118.user, 'optionalAccess', _119 => _119.avatar_url]) ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
6976
+ _optionalChain([interview, 'access', _114 => _114.user, 'optionalAccess', _115 => _115.avatar_url]) ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
6982
6977
  "img",
6983
6978
  {
6984
6979
  src: interview.user.avatar_url,
6985
- alt: _optionalChain([interview, 'access', _120 => _120.user, 'optionalAccess', _121 => _121.full_name]) || "Customer",
6980
+ alt: _optionalChain([interview, 'access', _116 => _116.user, 'optionalAccess', _117 => _117.full_name]) || "Customer",
6986
6981
  className: "w-12 h-12 rounded-full object-cover bg-ods-background border border-ods-border"
6987
6982
  }
6988
- ) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "w-12 h-12 rounded-full bg-ods-background border border-ods-border flex items-center justify-center", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "text-ods-text-secondary font-medium text-xl", children: (_optionalChain([interview, 'access', _122 => _122.user, 'optionalAccess', _123 => _123.full_name]) || "A").charAt(0).toUpperCase() }) }),
6989
- _optionalChain([interview, 'access', _124 => _124.msp, 'optionalAccess', _125 => _125.icon_url]) && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "absolute -bottom-1 -right-1 w-6 h-6 rounded-full bg-ods-text-primary ring-1 ring-ods-bg overflow-hidden flex items-center justify-center", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
6983
+ ) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "w-12 h-12 rounded-full bg-ods-background border border-ods-border flex items-center justify-center", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "text-ods-text-secondary font-medium text-xl", children: (_optionalChain([interview, 'access', _118 => _118.user, 'optionalAccess', _119 => _119.full_name]) || "A").charAt(0).toUpperCase() }) }),
6984
+ _optionalChain([interview, 'access', _120 => _120.msp, 'optionalAccess', _121 => _121.icon_url]) && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "absolute -bottom-1 -right-1 w-6 h-6 rounded-full bg-ods-text-primary ring-1 ring-ods-bg overflow-hidden flex items-center justify-center", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
6990
6985
  "img",
6991
6986
  {
6992
6987
  src: interview.msp.icon_url,
@@ -6997,13 +6992,13 @@ function CustomerInterviewCard({
6997
6992
  ] }),
6998
6993
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "min-w-0 flex-1", children: [
6999
6994
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "p", { className: "font-['DM_Sans'] text-[16px] leading-[1.3] text-ods-text-primary truncate", children: [
7000
- _optionalChain([interview, 'access', _126 => _126.user, 'optionalAccess', _127 => _127.full_name]) || "Anonymous",
7001
- _optionalChain([interview, 'access', _128 => _128.msp, 'optionalAccess', _129 => _129.name]) && /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: "text-ods-text-secondary", children: [
6995
+ _optionalChain([interview, 'access', _122 => _122.user, 'optionalAccess', _123 => _123.full_name]) || "Anonymous",
6996
+ _optionalChain([interview, 'access', _124 => _124.msp, 'optionalAccess', _125 => _125.name]) && /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: "text-ods-text-secondary", children: [
7002
6997
  " \u2022 ",
7003
6998
  interview.msp.name
7004
6999
  ] })
7005
7000
  ] }),
7006
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { className: "font-['DM_Sans'] text-[14px] leading-none text-ods-text-secondary truncate", children: _optionalChain([interview, 'access', _130 => _130.user, 'optionalAccess', _131 => _131.job_title]) || " " })
7001
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { className: "font-['DM_Sans'] text-[14px] leading-none text-ods-text-secondary truncate", children: _optionalChain([interview, 'access', _126 => _126.user, 'optionalAccess', _127 => _127.job_title]) || " " })
7007
7002
  ] })
7008
7003
  ] }) })
7009
7004
  ] }) });
@@ -7016,7 +7011,7 @@ function CustomerInterviewCard({
7016
7011
  function formatInvestorUpdatePeriod(start, end, options) {
7017
7012
  if (!start && !end) return "";
7018
7013
  const fmt = (d) => new Date(d).toLocaleDateString("en-US", {
7019
- month: _optionalChain([options, 'optionalAccess', _132 => _132.monthFormat]) || "short",
7014
+ month: _optionalChain([options, 'optionalAccess', _128 => _128.monthFormat]) || "short",
7020
7015
  year: "numeric"
7021
7016
  });
7022
7017
  const s = start ? fmt(start) : "?";
@@ -7106,7 +7101,7 @@ function InvestorUpdateCard({
7106
7101
  imageUrl: update.featured_image,
7107
7102
  placeholderUrl,
7108
7103
  title: update.title || `Update #${update.update_number || "?"}`,
7109
- summary: _optionalChain([update, 'access', _133 => _133.strategic_update, 'optionalAccess', _134 => _134.slice, 'call', _135 => _135(0, 120)]) || _optionalChain([update, 'access', _136 => _136.content, 'optionalAccess', _137 => _137.slice, 'call', _138 => _138(0, 120)]) || "No description",
7104
+ summary: _optionalChain([update, 'access', _129 => _129.strategic_update, 'optionalAccess', _130 => _130.slice, 'call', _131 => _131(0, 120)]) || _optionalChain([update, 'access', _132 => _132.content, 'optionalAccess', _133 => _133.slice, 'call', _134 => _134(0, 120)]) || "No description",
7110
7105
  badges: update.update_number ? /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: "px-2 py-0.5 rounded text-xs font-medium bg-ods-accent/10 text-ods-accent", children: [
7111
7106
  "#",
7112
7107
  update.update_number
@@ -7378,7 +7373,7 @@ function AutocompleteInner(props, ref) {
7378
7373
  if (!isInputControlled) {
7379
7374
  setInternalInputValue(value);
7380
7375
  }
7381
- _optionalChain([onInputChange, 'optionalCall', _139 => _139(value, reason)]);
7376
+ _optionalChain([onInputChange, 'optionalCall', _135 => _135(value, reason)]);
7382
7377
  };
7383
7378
  const [isOpen, setIsOpen] = _react.useState.call(void 0, false);
7384
7379
  const [highlightedIndex, setHighlightedIndex] = _react.useState.call(void 0, -1);
@@ -7406,8 +7401,8 @@ function AutocompleteInner(props, ref) {
7406
7401
  if (!showHiddenTags) return;
7407
7402
  const handleClick = (e) => {
7408
7403
  const target = e.target;
7409
- const inButton = _optionalChain([hiddenTagsRef, 'access', _140 => _140.current, 'optionalAccess', _141 => _141.contains, 'call', _142 => _142(target)]);
7410
- const inPopup = _optionalChain([hiddenTagsPopupRef, 'access', _143 => _143.current, 'optionalAccess', _144 => _144.contains, 'call', _145 => _145(target)]);
7404
+ const inButton = _optionalChain([hiddenTagsRef, 'access', _136 => _136.current, 'optionalAccess', _137 => _137.contains, 'call', _138 => _138(target)]);
7405
+ const inPopup = _optionalChain([hiddenTagsPopupRef, 'access', _139 => _139.current, 'optionalAccess', _140 => _140.contains, 'call', _141 => _141(target)]);
7411
7406
  if (!inButton && !inPopup) {
7412
7407
  setShowHiddenTags(false);
7413
7408
  }
@@ -7451,7 +7446,7 @@ function AutocompleteInner(props, ref) {
7451
7446
  }
7452
7447
  updateInputValue("", "reset");
7453
7448
  setIsOpen(false);
7454
- _optionalChain([onCreateOption, 'optionalCall', _146 => _146(trimmed)]);
7449
+ _optionalChain([onCreateOption, 'optionalCall', _142 => _142(trimmed)]);
7455
7450
  };
7456
7451
  _react.useEffect.call(void 0, () => {
7457
7452
  setHighlightedIndex(-1);
@@ -7475,7 +7470,7 @@ function AutocompleteInner(props, ref) {
7475
7470
  props.onChange([...valueArray, option.value]);
7476
7471
  }
7477
7472
  updateInputValue("", "reset");
7478
- _optionalChain([autoLimitTags, 'access', _147 => _147.inputRef, 'access', _148 => _148.current, 'optionalAccess', _149 => _149.focus, 'call', _150 => _150()]);
7473
+ _optionalChain([autoLimitTags, 'access', _143 => _143.inputRef, 'access', _144 => _144.current, 'optionalAccess', _145 => _145.focus, 'call', _146 => _146()]);
7479
7474
  } else {
7480
7475
  ;
7481
7476
  props.onChange(option.value);
@@ -7496,7 +7491,7 @@ function AutocompleteInner(props, ref) {
7496
7491
  if (!isInputControlled) {
7497
7492
  setInternalInputValue("");
7498
7493
  }
7499
- _optionalChain([onInputChange, 'optionalCall', _151 => _151("", "clear")]);
7494
+ _optionalChain([onInputChange, 'optionalCall', _147 => _147("", "clear")]);
7500
7495
  setIsOpen(false);
7501
7496
  };
7502
7497
  const handleKeyDown = (e) => {
@@ -7570,7 +7565,7 @@ function AutocompleteInner(props, ref) {
7570
7565
  ),
7571
7566
  onClick: () => {
7572
7567
  if (!disabled) {
7573
- _optionalChain([autoLimitTags, 'access', _152 => _152.inputRef, 'access', _153 => _153.current, 'optionalAccess', _154 => _154.focus, 'call', _155 => _155()]);
7568
+ _optionalChain([autoLimitTags, 'access', _148 => _148.inputRef, 'access', _149 => _149.current, 'optionalAccess', _150 => _150.focus, 'call', _151 => _151()]);
7574
7569
  openDropdown();
7575
7570
  }
7576
7571
  },
@@ -7686,10 +7681,10 @@ function AutocompleteInner(props, ref) {
7686
7681
  align: "start",
7687
7682
  onOpenAutoFocus: (e) => {
7688
7683
  e.preventDefault();
7689
- _optionalChain([autoLimitTags, 'access', _156 => _156.inputRef, 'access', _157 => _157.current, 'optionalAccess', _158 => _158.focus, 'call', _159 => _159()]);
7684
+ _optionalChain([autoLimitTags, 'access', _152 => _152.inputRef, 'access', _153 => _153.current, 'optionalAccess', _154 => _154.focus, 'call', _155 => _155()]);
7690
7685
  },
7691
7686
  onInteractOutside: (e) => {
7692
- if (_optionalChain([containerRef, 'access', _160 => _160.current, 'optionalAccess', _161 => _161.contains, 'call', _162 => _162(e.target)])) {
7687
+ if (_optionalChain([containerRef, 'access', _156 => _156.current, 'optionalAccess', _157 => _157.contains, 'call', _158 => _158(e.target)])) {
7693
7688
  e.preventDefault();
7694
7689
  }
7695
7690
  },
@@ -7761,7 +7756,7 @@ function AutocompleteInner(props, ref) {
7761
7756
  items: hiddenTags,
7762
7757
  disabled,
7763
7758
  style: {
7764
- left: autoLimitTags.badgeRef.current ? autoLimitTags.badgeRef.current.getBoundingClientRect().left - (_nullishCoalesce(_optionalChain([containerRef, 'access', _163 => _163.current, 'optionalAccess', _164 => _164.getBoundingClientRect, 'call', _165 => _165(), 'access', _166 => _166.left]), () => ( 0))) : 0
7759
+ left: autoLimitTags.badgeRef.current ? autoLimitTags.badgeRef.current.getBoundingClientRect().left - (_nullishCoalesce(_optionalChain([containerRef, 'access', _159 => _159.current, 'optionalAccess', _160 => _160.getBoundingClientRect, 'call', _161 => _161(), 'access', _162 => _162.left]), () => ( 0))) : 0
7765
7760
  },
7766
7761
  onRemove: (value) => {
7767
7762
  const newValue = valueArray.filter((v) => v !== value);
@@ -8084,7 +8079,7 @@ var defaultFormatDate = (date) => {
8084
8079
  });
8085
8080
  };
8086
8081
  var formatDateRange = (range, formatFn) => {
8087
- if (!_optionalChain([range, 'optionalAccess', _167 => _167.from])) return "";
8082
+ if (!_optionalChain([range, 'optionalAccess', _163 => _163.from])) return "";
8088
8083
  if (!range.to) return formatFn(range.from);
8089
8084
  return `${formatFn(range.from)} - ${formatFn(range.to)}`;
8090
8085
  };
@@ -8112,7 +8107,7 @@ function DatePickerCalendar({
8112
8107
  }) {
8113
8108
  const today = /* @__PURE__ */ new Date();
8114
8109
  const rangeSelected = selected;
8115
- const hasCompleteRange = mode === "range" && _optionalChain([rangeSelected, 'optionalAccess', _168 => _168.from]) && _optionalChain([rangeSelected, 'optionalAccess', _169 => _169.to]) && rangeSelected.from.getTime() !== rangeSelected.to.getTime();
8110
+ const hasCompleteRange = mode === "range" && _optionalChain([rangeSelected, 'optionalAccess', _164 => _164.from]) && _optionalChain([rangeSelected, 'optionalAccess', _165 => _165.to]) && rangeSelected.from.getTime() !== rangeSelected.to.getTime();
8116
8111
  const classNames = {
8117
8112
  root: "p-4 date-picker-calendar",
8118
8113
  months: "flex gap-8",
@@ -8163,7 +8158,7 @@ function DatePickerCalendar({
8163
8158
  range_middle: "range-middle !bg-[var(--ods-open-yellow-light)] !text-ods-card !font-medium !rounded-none hover:!bg-[var(--ods-open-yellow-light)]"
8164
8159
  };
8165
8160
  const [month, setMonth] = React26.useState(
8166
- mode === "single" ? selected || today : _optionalChain([selected, 'optionalAccess', _170 => _170.from]) || today
8161
+ mode === "single" ? selected || today : _optionalChain([selected, 'optionalAccess', _166 => _166.from]) || today
8167
8162
  );
8168
8163
  const handlePreviousMonth = () => {
8169
8164
  setMonth((prev) => {
@@ -8382,14 +8377,14 @@ function DatePicker(props) {
8382
8377
  }, [props.mode, props.value, formatDate2]);
8383
8378
  const handleSelect = (value) => {
8384
8379
  if (props.mode === "single") {
8385
- _optionalChain([props, 'access', _171 => _171.onChange, 'optionalCall', _172 => _172(value)]);
8380
+ _optionalChain([props, 'access', _167 => _167.onChange, 'optionalCall', _168 => _168(value)]);
8386
8381
  if (value) {
8387
8382
  setOpen(false);
8388
8383
  }
8389
8384
  } else {
8390
8385
  const range = value;
8391
- _optionalChain([props, 'access', _173 => _173.onChange, 'optionalCall', _174 => _174(range)]);
8392
- if (_optionalChain([range, 'optionalAccess', _175 => _175.from]) && _optionalChain([range, 'optionalAccess', _176 => _176.to]) && range.from.getTime() !== range.to.getTime()) {
8386
+ _optionalChain([props, 'access', _169 => _169.onChange, 'optionalCall', _170 => _170(range)]);
8387
+ if (_optionalChain([range, 'optionalAccess', _171 => _171.from]) && _optionalChain([range, 'optionalAccess', _172 => _172.to]) && range.from.getTime() !== range.to.getTime()) {
8393
8388
  setOpen(false);
8394
8389
  }
8395
8390
  }
@@ -8496,7 +8491,7 @@ function DatePickerInput({
8496
8491
  if (newDate && value) {
8497
8492
  newDate.setHours(value.getHours(), value.getMinutes(), 0, 0);
8498
8493
  }
8499
- _optionalChain([onChange, 'optionalCall', _177 => _177(newDate)]);
8494
+ _optionalChain([onChange, 'optionalCall', _173 => _173(newDate)]);
8500
8495
  if (newDate) {
8501
8496
  setOpen(false);
8502
8497
  }
@@ -8513,12 +8508,12 @@ function DatePickerInput({
8513
8508
  }
8514
8509
  }
8515
8510
  date.setHours(hours);
8516
- _optionalChain([onChange, 'optionalCall', _178 => _178(date)]);
8511
+ _optionalChain([onChange, 'optionalCall', _174 => _174(date)]);
8517
8512
  };
8518
8513
  const handleMinuteChange = (newMinute) => {
8519
8514
  const date = value ? new Date(value) : /* @__PURE__ */ new Date();
8520
8515
  date.setMinutes(parseInt(newMinute, 10));
8521
- _optionalChain([onChange, 'optionalCall', _179 => _179(date)]);
8516
+ _optionalChain([onChange, 'optionalCall', _175 => _175(date)]);
8522
8517
  };
8523
8518
  const handlePeriodChange = (newPeriod) => {
8524
8519
  const date = value ? new Date(value) : /* @__PURE__ */ new Date();
@@ -8529,7 +8524,7 @@ function DatePickerInput({
8529
8524
  hours += 12;
8530
8525
  }
8531
8526
  date.setHours(hours);
8532
- _optionalChain([onChange, 'optionalCall', _180 => _180(date)]);
8527
+ _optionalChain([onChange, 'optionalCall', _176 => _176(date)]);
8533
8528
  };
8534
8529
  const hourOptions = React26.useMemo(() => generateHourOptions(use24HourFormat), [use24HourFormat]);
8535
8530
  const minuteOptions = React26.useMemo(() => generateMinuteOptions(), []);
@@ -8690,7 +8685,7 @@ function DatePickerInputSimple({
8690
8685
  if (newDate && value) {
8691
8686
  newDate.setHours(value.getHours(), value.getMinutes(), 0, 0);
8692
8687
  }
8693
- _optionalChain([onChange, 'optionalCall', _181 => _181(newDate)]);
8688
+ _optionalChain([onChange, 'optionalCall', _177 => _177(newDate)]);
8694
8689
  if (newDate) {
8695
8690
  setOpen(false);
8696
8691
  }
@@ -8699,7 +8694,7 @@ function DatePickerInputSimple({
8699
8694
  const [hours, minutes] = newTime.split(":").map(Number);
8700
8695
  const date = value ? new Date(value) : /* @__PURE__ */ new Date();
8701
8696
  date.setHours(hours, minutes, 0, 0);
8702
- _optionalChain([onChange, 'optionalCall', _182 => _182(date)]);
8697
+ _optionalChain([onChange, 'optionalCall', _178 => _178(date)]);
8703
8698
  };
8704
8699
  const timeOptions = React26.useMemo(
8705
8700
  () => generateTimeOptions(timeInterval, use24HourFormat),
@@ -9248,7 +9243,7 @@ var Switch = React32.forwardRef(({ className, checked, onCheckedChange, ...props
9248
9243
  }, [checked]);
9249
9244
  const handleCheckedChange = (newChecked) => {
9250
9245
  setIsChecked(newChecked);
9251
- _optionalChain([onCheckedChange, 'optionalCall', _183 => _183(newChecked)]);
9246
+ _optionalChain([onCheckedChange, 'optionalCall', _179 => _179(newChecked)]);
9252
9247
  };
9253
9248
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
9254
9249
  SwitchPrimitives.Root,
@@ -9457,7 +9452,7 @@ function TagsManager({
9457
9452
  const name = search.trim();
9458
9453
  if (!name) return;
9459
9454
  const result = await onCreateTag(name);
9460
- if (_optionalChain([result, 'optionalAccess', _184 => _184.id])) {
9455
+ if (_optionalChain([result, 'optionalAccess', _180 => _180.id])) {
9461
9456
  onChange([...selectedIds, result.id]);
9462
9457
  setSearch("");
9463
9458
  }
@@ -9465,7 +9460,7 @@ function TagsManager({
9465
9460
  const startEdit = React34.useCallback((id, name) => {
9466
9461
  setEditingId(id);
9467
9462
  setEditingName(name);
9468
- setTimeout(() => _optionalChain([editInputRef, 'access', _185 => _185.current, 'optionalAccess', _186 => _186.focus, 'call', _187 => _187()]), 0);
9463
+ setTimeout(() => _optionalChain([editInputRef, 'access', _181 => _181.current, 'optionalAccess', _182 => _182.focus, 'call', _183 => _183()]), 0);
9469
9464
  }, []);
9470
9465
  const confirmEdit = React34.useCallback(async () => {
9471
9466
  if (!onUpdateTag || !editingId || !editingName.trim()) return;
@@ -9492,7 +9487,7 @@ function TagsManager({
9492
9487
  e.stopPropagation();
9493
9488
  onChange([]);
9494
9489
  setSearch("");
9495
- _optionalChain([inputRef, 'access', _188 => _188.current, 'optionalAccess', _189 => _189.focus, 'call', _190 => _190()]);
9490
+ _optionalChain([inputRef, 'access', _184 => _184.current, 'optionalAccess', _185 => _185.focus, 'call', _186 => _186()]);
9496
9491
  },
9497
9492
  [onChange]
9498
9493
  );
@@ -9591,10 +9586,10 @@ function TagsManager({
9591
9586
  align: "start",
9592
9587
  onOpenAutoFocus: (e) => {
9593
9588
  e.preventDefault();
9594
- _optionalChain([inputRef, 'access', _191 => _191.current, 'optionalAccess', _192 => _192.focus, 'call', _193 => _193()]);
9589
+ _optionalChain([inputRef, 'access', _187 => _187.current, 'optionalAccess', _188 => _188.focus, 'call', _189 => _189()]);
9595
9590
  },
9596
9591
  onInteractOutside: (e) => {
9597
- if (_optionalChain([containerRef, 'access', _194 => _194.current, 'optionalAccess', _195 => _195.contains, 'call', _196 => _196(e.target)])) {
9592
+ if (_optionalChain([containerRef, 'access', _190 => _190.current, 'optionalAccess', _191 => _191.contains, 'call', _192 => _192(e.target)])) {
9598
9593
  e.preventDefault();
9599
9594
  }
9600
9595
  },
@@ -10989,19 +10984,19 @@ function TabNavigation({
10989
10984
  const validTabIds = _react.useMemo.call(void 0, () => new Set(tabs.map((t) => t.id)), [tabs]);
10990
10985
  const getInitialTab = () => {
10991
10986
  if (isUrlSyncEnabled) {
10992
- const fromUrl = _optionalChain([searchParams, 'optionalAccess', _197 => _197.get, 'call', _198 => _198(paramName)]) || "";
10987
+ const fromUrl = _optionalChain([searchParams, 'optionalAccess', _193 => _193.get, 'call', _194 => _194(paramName)]) || "";
10993
10988
  if (validTabIds.has(fromUrl)) {
10994
10989
  return fromUrl;
10995
10990
  }
10996
10991
  }
10997
- return defaultTab || _optionalChain([tabs, 'access', _199 => _199[0], 'optionalAccess', _200 => _200.id]) || "";
10992
+ return defaultTab || _optionalChain([tabs, 'access', _195 => _195[0], 'optionalAccess', _196 => _196.id]) || "";
10998
10993
  };
10999
10994
  const [internalActiveTab, setInternalActiveTab] = _react.useState.call(void 0, getInitialTab);
11000
10995
  const activeTab = isUrlSyncEnabled ? internalActiveTab : controlledActiveTab || "";
11001
10996
  _react.useEffect.call(void 0, () => {
11002
10997
  if (!isUrlSyncEnabled) return;
11003
- const fromUrl = _optionalChain([searchParams, 'optionalAccess', _201 => _201.get, 'call', _202 => _202(paramName)]) || "";
11004
- const nextTab = validTabIds.has(fromUrl) ? fromUrl : defaultTab || _optionalChain([tabs, 'access', _203 => _203[0], 'optionalAccess', _204 => _204.id]) || "";
10998
+ const fromUrl = _optionalChain([searchParams, 'optionalAccess', _197 => _197.get, 'call', _198 => _198(paramName)]) || "";
10999
+ const nextTab = validTabIds.has(fromUrl) ? fromUrl : defaultTab || _optionalChain([tabs, 'access', _199 => _199[0], 'optionalAccess', _200 => _200.id]) || "";
11005
11000
  if (nextTab !== internalActiveTab) {
11006
11001
  setInternalActiveTab(nextTab);
11007
11002
  }
@@ -11009,13 +11004,13 @@ function TabNavigation({
11009
11004
  const handleTabChange = (tabId) => {
11010
11005
  if (isUrlSyncEnabled) {
11011
11006
  setInternalActiveTab(tabId);
11012
- const params = new URLSearchParams(_optionalChain([searchParams, 'optionalAccess', _205 => _205.toString, 'call', _206 => _206()]));
11007
+ const params = new URLSearchParams(_optionalChain([searchParams, 'optionalAccess', _201 => _201.toString, 'call', _202 => _202()]));
11013
11008
  params.set(paramName, tabId);
11014
11009
  const method = replaceState ? "replace" : "push";
11015
11010
  router[method](`${pathname}?${params.toString()}`);
11016
- _optionalChain([controlledOnTabChange, 'optionalCall', _207 => _207(tabId)]);
11011
+ _optionalChain([controlledOnTabChange, 'optionalCall', _203 => _203(tabId)]);
11017
11012
  } else {
11018
- _optionalChain([controlledOnTabChange, 'optionalCall', _208 => _208(tabId)]);
11013
+ _optionalChain([controlledOnTabChange, 'optionalCall', _204 => _204(tabId)]);
11019
11014
  }
11020
11015
  };
11021
11016
  const scrollRef = _react.useRef.call(void 0, null);
@@ -11103,7 +11098,7 @@ function TabNavigation({
11103
11098
  var getTabById = (tabs, tabId) => tabs.find((tab) => tab.id === tabId);
11104
11099
  var getTabComponent = (tabs, tabId) => {
11105
11100
  const tab = getTabById(tabs, tabId);
11106
- return _optionalChain([tab, 'optionalAccess', _209 => _209.component]) || null;
11101
+ return _optionalChain([tab, 'optionalAccess', _205 => _205.component]) || null;
11107
11102
  };
11108
11103
 
11109
11104
  // src/components/ui/alert.tsx
@@ -11243,7 +11238,7 @@ function ReleaseChangelogSection({
11243
11238
  className: "overflow-hidden transition-[max-height] duration-500",
11244
11239
  style: {
11245
11240
  transitionTimingFunction: "cubic-bezier(0.33, 1, 0.68, 1)",
11246
- maxHeight: previewExpanded || !previewNeedsFade ? _nullishCoalesce(_optionalChain([previewContentRef, 'access', _210 => _210.current, 'optionalAccess', _211 => _211.scrollHeight]), () => ( 2e3)) : PREVIEW_COLLAPSED_HEIGHT,
11241
+ maxHeight: previewExpanded || !previewNeedsFade ? _nullishCoalesce(_optionalChain([previewContentRef, 'access', _206 => _206.current, 'optionalAccess', _207 => _207.scrollHeight]), () => ( 2e3)) : PREVIEW_COLLAPSED_HEIGHT,
11247
11242
  ...previewNeedsFade && !previewExpanded ? {
11248
11243
  maskImage: "linear-gradient(to bottom, black 30%, transparent 100%)",
11249
11244
  WebkitMaskImage: "linear-gradient(to bottom, black 30%, transparent 100%)"
@@ -11680,16 +11675,16 @@ function FilterModal({
11680
11675
  };
11681
11676
  const handleReset = () => {
11682
11677
  onFilterChange({});
11683
- _optionalChain([onTagsChange, 'optionalCall', _212 => _212([])]);
11678
+ _optionalChain([onTagsChange, 'optionalCall', _208 => _208([])]);
11684
11679
  onClose();
11685
11680
  };
11686
11681
  const handleApply = () => {
11687
11682
  onFilterChange(selectedFilters);
11688
- _optionalChain([onTagsChange, 'optionalCall', _213 => _213(pendingTags)]);
11683
+ _optionalChain([onTagsChange, 'optionalCall', _209 => _209(pendingTags)]);
11689
11684
  onClose();
11690
11685
  };
11691
11686
  const getColumnDirection = (columnKey) => {
11692
- return _optionalChain([sortConfig, 'optionalAccess', _214 => _214.sortBy]) === columnKey ? sortConfig.sortDirection : void 0;
11687
+ return _optionalChain([sortConfig, 'optionalAccess', _210 => _210.sortBy]) === columnKey ? sortConfig.sortDirection : void 0;
11693
11688
  };
11694
11689
  const hasSort = !!sortConfig && sortConfig.columns.length > 0;
11695
11690
  const hasFilterGroups = filterGroups.length > 0;
@@ -11738,7 +11733,7 @@ function FilterModal({
11738
11733
  {
11739
11734
  column,
11740
11735
  currentDirection: getColumnDirection(column.key),
11741
- onSort: (direction) => _optionalChain([onSort, 'optionalCall', _215 => _215(column.key, direction)]),
11736
+ onSort: (direction) => _optionalChain([onSort, 'optionalCall', _211 => _211(column.key, direction)]),
11742
11737
  onClear: onSortClear ? () => onSortClear(column.key) : void 0
11743
11738
  },
11744
11739
  column.key
@@ -12434,7 +12429,7 @@ function getShellIcon(shellType) {
12434
12429
  if (!shellType) return void 0;
12435
12430
  const normalized = shellType.toUpperCase();
12436
12431
  const shellDef = SHELL_TYPES.find((s) => s.id === normalized);
12437
- return _optionalChain([shellDef, 'optionalAccess', _216 => _216.icon]);
12432
+ return _optionalChain([shellDef, 'optionalAccess', _212 => _212.icon]);
12438
12433
  }
12439
12434
 
12440
12435
  // src/types/os.types.ts
@@ -12507,7 +12502,7 @@ function getOSIcon(osType) {
12507
12502
  const normalized = normalizeOSType(osType);
12508
12503
  if (!normalized) return void 0;
12509
12504
  const osTypeDef = OS_TYPES.find((t) => t.id === normalized);
12510
- return _optionalChain([osTypeDef, 'optionalAccess', _217 => _217.icon]);
12505
+ return _optionalChain([osTypeDef, 'optionalAccess', _213 => _213.icon]);
12511
12506
  }
12512
12507
  function getOSTypeDefinition(osType) {
12513
12508
  if (!osType) return void 0;
@@ -12517,7 +12512,7 @@ function getOSTypeDefinition(osType) {
12517
12512
  }
12518
12513
  function getOSPlatformId(osType) {
12519
12514
  const osTypeDef = getOSTypeDefinition(osType);
12520
- return _optionalChain([osTypeDef, 'optionalAccess', _218 => _218.platformId]);
12515
+ return _optionalChain([osTypeDef, 'optionalAccess', _214 => _214.platformId]);
12521
12516
  }
12522
12517
  function isOSPlatform(deviceOS, targetPlatform) {
12523
12518
  if (!deviceOS || !targetPlatform) return false;
@@ -12610,10 +12605,10 @@ var GENERIC_EMAIL_DOMAINS = [
12610
12605
  ];
12611
12606
  function extractDomainFromEmail(email) {
12612
12607
  if (!email || !email.includes("@")) return null;
12613
- return _optionalChain([email, 'access', _219 => _219.split, 'call', _220 => _220("@"), 'access', _221 => _221[1], 'optionalAccess', _222 => _222.toLowerCase, 'call', _223 => _223()]) || null;
12608
+ return _optionalChain([email, 'access', _215 => _215.split, 'call', _216 => _216("@"), 'access', _217 => _217[1], 'optionalAccess', _218 => _218.toLowerCase, 'call', _219 => _219()]) || null;
12614
12609
  }
12615
12610
  function normalizeDomain(domain) {
12616
- return _optionalChain([domain, 'optionalAccess', _224 => _224.toLowerCase, 'call', _225 => _225(), 'access', _226 => _226.replace, 'call', _227 => _227(/^https?:\/\//, ""), 'access', _228 => _228.replace, 'call', _229 => _229(/^www\./, ""), 'access', _230 => _230.split, 'call', _231 => _231("/"), 'access', _232 => _232[0], 'access', _233 => _233.trim, 'call', _234 => _234()]) || "";
12611
+ return _optionalChain([domain, 'optionalAccess', _220 => _220.toLowerCase, 'call', _221 => _221(), 'access', _222 => _222.replace, 'call', _223 => _223(/^https?:\/\//, ""), 'access', _224 => _224.replace, 'call', _225 => _225(/^www\./, ""), 'access', _226 => _226.split, 'call', _227 => _227("/"), 'access', _228 => _228[0], 'access', _229 => _229.trim, 'call', _230 => _230()]) || "";
12617
12612
  }
12618
12613
  function isGenericDomain(domain) {
12619
12614
  const normalized = normalizeDomain(domain);
@@ -12896,7 +12891,7 @@ function createLocalStorageAdapter(options) {
12896
12891
  const tag = _nullishCoalesce(options.logTag, () => ( "[local-storage]"));
12897
12892
  const backend = _nullishCoalesce(options.backend, () => ( "local"));
12898
12893
  const resolveKey = () => {
12899
- const ns = _optionalChain([options, 'access', _235 => _235.namespace, 'optionalCall', _236 => _236()]);
12894
+ const ns = _optionalChain([options, 'access', _231 => _231.namespace, 'optionalCall', _232 => _232()]);
12900
12895
  return ns ? `${ns}.${options.key}` : options.key;
12901
12896
  };
12902
12897
  return {
@@ -12983,7 +12978,7 @@ function getEmbedProxyAuth() {
12983
12978
  }
12984
12979
  function getPersistedProxyEmail() {
12985
12980
  const persisted = adapter.load();
12986
- return _nullishCoalesce(_optionalChain([persisted, 'optionalAccess', _237 => _237.email, 'access', _238 => _238.trim, 'call', _239 => _239(), 'access', _240 => _240.toLowerCase, 'call', _241 => _241()]), () => ( null));
12981
+ return _nullishCoalesce(_optionalChain([persisted, 'optionalAccess', _233 => _233.email, 'access', _234 => _234.trim, 'call', _235 => _235(), 'access', _236 => _236.toLowerCase, 'call', _237 => _237()]), () => ( null));
12987
12982
  }
12988
12983
  function setEmbedProxyAuth(value) {
12989
12984
  adapter.save({
@@ -13000,15 +12995,15 @@ function clearEmbedProxyAuth() {
13000
12995
  function applyProxyAuth(url, baseHeaders = { "Content-Type": "application/json" }) {
13001
12996
  const auth = getEmbedProxyAuth();
13002
12997
  const headers = { ...baseHeaders };
13003
- if (_optionalChain([auth, 'optionalAccess', _242 => _242.secret])) {
12998
+ if (_optionalChain([auth, 'optionalAccess', _238 => _238.secret])) {
13004
12999
  headers.Authorization = `Bearer ${auth.secret}`;
13005
13000
  }
13006
- if (_optionalChain([auth, 'optionalAccess', _243 => _243.email])) {
13001
+ if (_optionalChain([auth, 'optionalAccess', _239 => _239.email])) {
13007
13002
  headers["X-Chat-Act-As"] = auth.email;
13008
13003
  }
13009
- if (_optionalChain([auth, 'optionalAccess', _244 => _244.firstName])) headers["X-Chat-First-Name"] = auth.firstName;
13010
- if (_optionalChain([auth, 'optionalAccess', _245 => _245.lastName])) headers["X-Chat-Last-Name"] = auth.lastName;
13011
- if (_optionalChain([auth, 'optionalAccess', _246 => _246.avatarUrl])) headers["X-Chat-Avatar-Url"] = auth.avatarUrl;
13004
+ if (_optionalChain([auth, 'optionalAccess', _240 => _240.firstName])) headers["X-Chat-First-Name"] = auth.firstName;
13005
+ if (_optionalChain([auth, 'optionalAccess', _241 => _241.lastName])) headers["X-Chat-Last-Name"] = auth.lastName;
13006
+ if (_optionalChain([auth, 'optionalAccess', _242 => _242.avatarUrl])) headers["X-Chat-Avatar-Url"] = auth.avatarUrl;
13012
13007
  return { url, headers };
13013
13008
  }
13014
13009
 
@@ -13060,7 +13055,7 @@ function setInFlightRefresh(refresh) {
13060
13055
  }
13061
13056
  function dedupedRefresh() {
13062
13057
  const adapter2 = getRegisteredAuthAdapter();
13063
- if (!_optionalChain([adapter2, 'optionalAccess', _247 => _247.refresh])) return Promise.resolve(false);
13058
+ if (!_optionalChain([adapter2, 'optionalAccess', _243 => _243.refresh])) return Promise.resolve(false);
13064
13059
  let inFlightRefresh = getInFlightRefresh();
13065
13060
  if (!inFlightRefresh) {
13066
13061
  inFlightRefresh = Promise.resolve().then(() => adapter2.refresh()).catch(() => false).finally(() => {
@@ -13073,12 +13068,12 @@ function dedupedRefresh() {
13073
13068
  async function fetchWithRefresh(url, init, baseHeaders, isRetry) {
13074
13069
  const { url: authedUrl, headers } = applyProxyAuth(url, { ...baseHeaders });
13075
13070
  const adapter2 = getRegisteredAuthAdapter();
13076
- if (_optionalChain([adapter2, 'optionalAccess', _248 => _248.getHeaders])) {
13071
+ if (_optionalChain([adapter2, 'optionalAccess', _244 => _244.getHeaders])) {
13077
13072
  for (const [k, v] of Object.entries(adapter2.getHeaders())) {
13078
13073
  if (v !== void 0) headers[k] = v;
13079
13074
  }
13080
13075
  }
13081
- const credentials = _nullishCoalesce(_nullishCoalesce(_optionalChain([adapter2, 'optionalAccess', _249 => _249.credentials]), () => ( init.credentials)), () => ( "same-origin"));
13076
+ const credentials = _nullishCoalesce(_nullishCoalesce(_optionalChain([adapter2, 'optionalAccess', _245 => _245.credentials]), () => ( init.credentials)), () => ( "same-origin"));
13082
13077
  const response = await fetch(authedUrl, {
13083
13078
  ...init,
13084
13079
  headers,
@@ -13089,7 +13084,7 @@ async function fetchWithRefresh(url, init, baseHeaders, isRetry) {
13089
13084
  // `SameSite=None` must be configured server-side for that to work).
13090
13085
  credentials
13091
13086
  });
13092
- if (response.status === 401 && !isRetry && _optionalChain([adapter2, 'optionalAccess', _250 => _250.refresh])) {
13087
+ if (response.status === 401 && !isRetry && _optionalChain([adapter2, 'optionalAccess', _246 => _246.refresh])) {
13093
13088
  const refreshed = await dedupedRefresh();
13094
13089
  if (refreshed) {
13095
13090
  return fetchWithRefresh(url, init, baseHeaders, true);
@@ -13127,7 +13122,7 @@ function assertSameOrigin(url) {
13127
13122
 
13128
13123
  // src/utils/sse-decision-frame.ts
13129
13124
  async function readLeadingDecisionFrame(response) {
13130
- const reader = _optionalChain([response, 'access', _251 => _251.body, 'optionalAccess', _252 => _252.getReader, 'call', _253 => _253()]);
13125
+ const reader = _optionalChain([response, 'access', _247 => _247.body, 'optionalAccess', _248 => _248.getReader, 'call', _249 => _249()]);
13131
13126
  if (!reader) throw new Error("readLeadingDecisionFrame: response has no body");
13132
13127
  const decoder = new TextDecoder();
13133
13128
  let buffer = "";
@@ -13156,9 +13151,9 @@ async function readLeadingDecisionFrame(response) {
13156
13151
  );
13157
13152
  }
13158
13153
  const obj = parsed;
13159
- if (_optionalChain([obj, 'optionalAccess', _254 => _254.kind]) !== "decision_resolved") {
13154
+ if (_optionalChain([obj, 'optionalAccess', _250 => _250.kind]) !== "decision_resolved") {
13160
13155
  throw new Error(
13161
- `readLeadingDecisionFrame: expected decision_resolved, got kind=${String(_optionalChain([obj, 'optionalAccess', _255 => _255.kind]))}`
13156
+ `readLeadingDecisionFrame: expected decision_resolved, got kind=${String(_optionalChain([obj, 'optionalAccess', _251 => _251.kind]))}`
13162
13157
  );
13163
13158
  }
13164
13159
  frame = normalizeDecisionFrame(obj);
@@ -13199,7 +13194,7 @@ var AUTO_CONTINUATION_DIRECTIVE_PREFIX = "[internal-auto-continuation]";
13199
13194
  function buildAutoContinuationDirective(toolName, opts = {}) {
13200
13195
  const ticketRef = opts.ticketId ? ` (ticket #${opts.ticketId})` : "";
13201
13196
  const ticketHash = opts.ticketId ? ` #${opts.ticketId}` : "";
13202
- const isClose = toolName === "update_ticket" && _optionalChain([opts, 'access', _256 => _256.status, 'optionalAccess', _257 => _257.toUpperCase, 'call', _258 => _258()]) === "CLOSED";
13197
+ const isClose = toolName === "update_ticket" && _optionalChain([opts, 'access', _252 => _252.status, 'optionalAccess', _253 => _253.toUpperCase, 'call', _254 => _254()]) === "CLOSED";
13203
13198
  if (toolName === "create_ticket") {
13204
13199
  return `${AUTO_CONTINUATION_DIRECTIVE_PREFIX} The user just approved create_ticket${ticketRef}. Per ticket-protocol \xA71a, ask 2-4 SHORT, issue-specific diagnostic follow-up questions tailored to the symptom they reported in their original message. When they answer, propose an update_ticket with content_addendum carrying a clean Q&A digest. Do NOT call any tool in this turn \u2014 just write the questions as prose.`;
13205
13200
  }
@@ -13261,7 +13256,7 @@ function formatSingularLookupInvocation(cmdId, value) {
13261
13256
  return safe ? `/${cmdId} "${safe}"` : `/${cmdId}`;
13262
13257
  }
13263
13258
  function extractEntityIdFilter(override, expectedTableId) {
13264
- const f = _optionalChain([override, 'optionalAccess', _259 => _259.entityIdFilter]);
13259
+ const f = _optionalChain([override, 'optionalAccess', _255 => _255.entityIdFilter]);
13265
13260
  if (!f) return null;
13266
13261
  const tableId = typeof f.tableId === "string" ? f.tableId : "";
13267
13262
  const id = typeof f.id === "string" ? f.id : "";
@@ -13336,7 +13331,7 @@ function getTaskTypeLabel(customItemId) {
13336
13331
 
13337
13332
  // src/components/chat/utils/agent-status-message.ts
13338
13333
  function getStatusColorScheme(status) {
13339
- const s = _optionalChain([status, 'optionalAccess', _260 => _260.toLowerCase, 'call', _261 => _261()]) || "";
13334
+ const s = _optionalChain([status, 'optionalAccess', _256 => _256.toLowerCase, 'call', _257 => _257()]) || "";
13340
13335
  switch (status) {
13341
13336
  case "completed":
13342
13337
  case "success":
@@ -13662,10 +13657,10 @@ var CONTENT_REF_GROUPS = {
13662
13657
  onboarding_guide: { label: "Onboarding Guides", order: 9, layout: "list", gridSize: "default" }
13663
13658
  };
13664
13659
  function getContentRefLabel(type) {
13665
- return _nullishCoalesce(_optionalChain([CONTENT_REF_GROUPS, 'access', _262 => _262[type], 'optionalAccess', _263 => _263.label]), () => ( null));
13660
+ return _nullishCoalesce(_optionalChain([CONTENT_REF_GROUPS, 'access', _258 => _258[type], 'optionalAccess', _259 => _259.label]), () => ( null));
13666
13661
  }
13667
13662
  function getContentRefLabelOrTitleCase(type) {
13668
- return _nullishCoalesce(_optionalChain([CONTENT_REF_GROUPS, 'access', _264 => _264[type], 'optionalAccess', _265 => _265.label]), () => ( type.replace(/_/g, " ").replace(/\b\w/g, (ch) => ch.toUpperCase())));
13663
+ return _nullishCoalesce(_optionalChain([CONTENT_REF_GROUPS, 'access', _260 => _260[type], 'optionalAccess', _261 => _261.label]), () => ( type.replace(/_/g, " ").replace(/\b\w/g, (ch) => ch.toUpperCase())));
13669
13664
  }
13670
13665
  function orderContentRefTypes(present) {
13671
13666
  const presentSet = new Set(present);
@@ -14337,26 +14332,26 @@ function DeviceCard({
14337
14332
  ] }),
14338
14333
  device.organization && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "font-['DM_Sans'] font-medium text-[14px] leading-[20px] text-ods-text-secondary truncate", title: device.organization, children: device.organization })
14339
14334
  ] }),
14340
- _optionalChain([actions, 'access', _266 => _266.moreButton, 'optionalAccess', _267 => _267.visible]) !== false && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
14335
+ _optionalChain([actions, 'access', _262 => _262.moreButton, 'optionalAccess', _263 => _263.visible]) !== false && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
14341
14336
  "div",
14342
14337
  {
14343
14338
  className: "flex items-center justify-center p-3 rounded-[6px] shrink-0 border border-ods-border cursor-pointer hover:bg-ods-bg-hover transition-colors",
14344
14339
  onClick: (e) => {
14345
14340
  e.stopPropagation();
14346
- _optionalChain([actions, 'access', _268 => _268.moreButton, 'optionalAccess', _269 => _269.onClick, 'optionalCall', _270 => _270()]);
14341
+ _optionalChain([actions, 'access', _264 => _264.moreButton, 'optionalAccess', _265 => _265.onClick, 'optionalCall', _266 => _266()]);
14347
14342
  },
14348
14343
  children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkC6ASEPZLcjs.Ellipsis01Icon, { className: "text-ods-text-primary" })
14349
14344
  }
14350
14345
  ),
14351
- _optionalChain([actions, 'access', _271 => _271.detailsButton, 'optionalAccess', _272 => _272.visible]) !== false && _optionalChain([actions, 'access', _273 => _273.detailsButton, 'optionalAccess', _274 => _274.component]) && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "shrink-0", onClick: (e) => e.stopPropagation(), children: actions.detailsButton.component }),
14352
- _optionalChain([actions, 'access', _275 => _275.customActions, 'optionalAccess', _276 => _276.map, 'call', _277 => _277(
14346
+ _optionalChain([actions, 'access', _267 => _267.detailsButton, 'optionalAccess', _268 => _268.visible]) !== false && _optionalChain([actions, 'access', _269 => _269.detailsButton, 'optionalAccess', _270 => _270.component]) && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "shrink-0", onClick: (e) => e.stopPropagation(), children: actions.detailsButton.component }),
14347
+ _optionalChain([actions, 'access', _271 => _271.customActions, 'optionalAccess', _272 => _272.map, 'call', _273 => _273(
14353
14348
  (action, index) => action.visible !== false && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
14354
14349
  "div",
14355
14350
  {
14356
14351
  className: "flex items-center justify-center px-4 py-3 rounded-[6px] shrink-0 border border-ods-border cursor-pointer hover:bg-ods-bg-hover transition-colors",
14357
14352
  onClick: (e) => {
14358
14353
  e.stopPropagation();
14359
- _optionalChain([action, 'access', _278 => _278.onClick, 'optionalCall', _279 => _279()]);
14354
+ _optionalChain([action, 'access', _274 => _274.onClick, 'optionalCall', _275 => _275()]);
14360
14355
  },
14361
14356
  children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "text-h3 text-ods-text-primary text-nowrap tracking-[-0.36px]", children: action.label })
14362
14357
  },
@@ -14856,7 +14851,7 @@ function MoreActionsMenu({
14856
14851
  ] });
14857
14852
  const handleActivate = (e) => {
14858
14853
  e.stopPropagation();
14859
- if (!item.disabled) _optionalChain([item, 'access', _280 => _280.onClick, 'optionalCall', _281 => _281()]);
14854
+ if (!item.disabled) _optionalChain([item, 'access', _276 => _276.onClick, 'optionalCall', _277 => _277()]);
14860
14855
  };
14861
14856
  if (item.href) {
14862
14857
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
@@ -14923,7 +14918,7 @@ function OrganizationCard({
14923
14918
  const handleActionClick = (e) => {
14924
14919
  e.preventDefault();
14925
14920
  e.stopPropagation();
14926
- _optionalChain([actionButton, 'optionalAccess', _282 => _282.onClick, 'call', _283 => _283(organization, e)]);
14921
+ _optionalChain([actionButton, 'optionalAccess', _278 => _278.onClick, 'call', _279 => _279(organization, e)]);
14927
14922
  };
14928
14923
  const card = /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
14929
14924
  "div",
@@ -15798,10 +15793,10 @@ var getContentDimensions = (config) => {
15798
15793
  const envMobileHeight = process.env.NEXT_PUBLIC_FIGMA_MOBILE_HEIGHT ? parseInt(process.env.NEXT_PUBLIC_FIGMA_MOBILE_HEIGHT) : null;
15799
15794
  const envDesktopWidth = process.env.NEXT_PUBLIC_FIGMA_DESKTOP_WIDTH ? parseInt(process.env.NEXT_PUBLIC_FIGMA_DESKTOP_WIDTH) : null;
15800
15795
  const envDesktopHeight = process.env.NEXT_PUBLIC_FIGMA_DESKTOP_HEIGHT ? parseInt(process.env.NEXT_PUBLIC_FIGMA_DESKTOP_HEIGHT) : null;
15801
- const mobileWidth = _nullishCoalesce(_nullishCoalesce(envMobileWidth, () => ( _optionalChain([config, 'optionalAccess', _284 => _284.mobileContentDimensions, 'optionalAccess', _285 => _285.width]))), () => ( defaultMobile.width));
15802
- const mobileHeight = _nullishCoalesce(_nullishCoalesce(envMobileHeight, () => ( _optionalChain([config, 'optionalAccess', _286 => _286.mobileContentDimensions, 'optionalAccess', _287 => _287.height]))), () => ( defaultMobile.height));
15803
- const desktopWidth = _nullishCoalesce(_nullishCoalesce(envDesktopWidth, () => ( _optionalChain([config, 'optionalAccess', _288 => _288.desktopContentDimensions, 'optionalAccess', _289 => _289.width]))), () => ( defaultDesktop.width));
15804
- const desktopHeight = _nullishCoalesce(_nullishCoalesce(envDesktopHeight, () => ( _optionalChain([config, 'optionalAccess', _290 => _290.desktopContentDimensions, 'optionalAccess', _291 => _291.height]))), () => ( defaultDesktop.height));
15796
+ const mobileWidth = _nullishCoalesce(_nullishCoalesce(envMobileWidth, () => ( _optionalChain([config, 'optionalAccess', _280 => _280.mobileContentDimensions, 'optionalAccess', _281 => _281.width]))), () => ( defaultMobile.width));
15797
+ const mobileHeight = _nullishCoalesce(_nullishCoalesce(envMobileHeight, () => ( _optionalChain([config, 'optionalAccess', _282 => _282.mobileContentDimensions, 'optionalAccess', _283 => _283.height]))), () => ( defaultMobile.height));
15798
+ const desktopWidth = _nullishCoalesce(_nullishCoalesce(envDesktopWidth, () => ( _optionalChain([config, 'optionalAccess', _284 => _284.desktopContentDimensions, 'optionalAccess', _285 => _285.width]))), () => ( defaultDesktop.width));
15799
+ const desktopHeight = _nullishCoalesce(_nullishCoalesce(envDesktopHeight, () => ( _optionalChain([config, 'optionalAccess', _286 => _286.desktopContentDimensions, 'optionalAccess', _287 => _287.height]))), () => ( defaultDesktop.height));
15805
15800
  return {
15806
15801
  mobile: { width: mobileWidth, height: mobileHeight },
15807
15802
  desktop: { width: desktopWidth, height: desktopHeight }
@@ -15935,7 +15930,7 @@ function renderUnifiedUI(state, handlers, config, iframeRef) {
15935
15930
  const contentDimensions = getContentDimensions(config);
15936
15931
  const mobileHeight = contentDimensions.mobile.height;
15937
15932
  const calculatedHeight = Math.max(mobileHeight + 100, 400);
15938
- return `${Math.min(calculatedHeight, _optionalChain([window, 'optionalAccess', _292 => _292.innerHeight]) * 0.85 || 650)}px`;
15933
+ return `${Math.min(calculatedHeight, _optionalChain([window, 'optionalAccess', _288 => _288.innerHeight]) * 0.85 || 650)}px`;
15939
15934
  })(),
15940
15935
  minHeight: viewMode === "DESKTOP" ? "auto" : (() => {
15941
15936
  const contentDimensions = getContentDimensions(config);
@@ -16040,7 +16035,7 @@ var FigmaPrototypeViewer = ({
16040
16035
  const [isInitialized, setIsInitialized] = _react.useState.call(void 0, false);
16041
16036
  const [currentNodeId, setCurrentNodeId] = _react.useState.call(void 0, null);
16042
16037
  const [internalActiveSection, setInternalActiveSection] = _react.useState.call(void 0,
16043
- config.defaultSectionId || _optionalChain([config, 'access', _293 => _293.sections, 'access', _294 => _294[0], 'optionalAccess', _295 => _295.id]) || ""
16038
+ config.defaultSectionId || _optionalChain([config, 'access', _289 => _289.sections, 'access', _290 => _290[0], 'optionalAccess', _291 => _291.id]) || ""
16044
16039
  );
16045
16040
  const activeSection = externalActiveSection || internalActiveSection;
16046
16041
  const [isNavigating, setIsNavigating] = _react.useState.call(void 0, false);
@@ -16130,7 +16125,7 @@ var FigmaPrototypeViewer = ({
16130
16125
  const handleMessage = (event) => {
16131
16126
  if (event.origin !== "https://www.figma.com") return;
16132
16127
  const validEvents = ["INITIAL_LOAD", "NEW_STATE", "PRESENTED_NODE_CHANGED"];
16133
- if (_optionalChain([event, 'access', _296 => _296.data, 'optionalAccess', _297 => _297.type]) && validEvents.includes(event.data.type)) {
16128
+ if (_optionalChain([event, 'access', _292 => _292.data, 'optionalAccess', _293 => _293.type]) && validEvents.includes(event.data.type)) {
16134
16129
  const figmaEvent = event.data;
16135
16130
  console.log("[Figma Event]", figmaEvent.type, viewMode);
16136
16131
  switch (figmaEvent.type) {
@@ -16140,19 +16135,19 @@ var FigmaPrototypeViewer = ({
16140
16135
  setIframeState("READY");
16141
16136
  break;
16142
16137
  case "PRESENTED_NODE_CHANGED":
16143
- if (_optionalChain([figmaEvent, 'access', _298 => _298.data, 'optionalAccess', _299 => _299.presentedNodeId])) {
16138
+ if (_optionalChain([figmaEvent, 'access', _294 => _294.data, 'optionalAccess', _295 => _295.presentedNodeId])) {
16144
16139
  setCurrentNodeId(figmaEvent.data.presentedNodeId);
16145
16140
  if (!isNavigating) {
16146
16141
  const matchingSection = config.sections.find((s) => {
16147
- const desktopMatch = s.startingNodeId === _optionalChain([figmaEvent, 'access', _300 => _300.data, 'optionalAccess', _301 => _301.presentedNodeId]) || s.startingNodeId.replace(":", "-") === _optionalChain([figmaEvent, 'access', _302 => _302.data, 'optionalAccess', _303 => _303.presentedNodeId]);
16148
- const mobileMatch = s.mobileStartingNodeId === _optionalChain([figmaEvent, 'access', _304 => _304.data, 'optionalAccess', _305 => _305.presentedNodeId]) || _optionalChain([s, 'access', _306 => _306.mobileStartingNodeId, 'optionalAccess', _307 => _307.replace, 'call', _308 => _308(":", "-")]) === _optionalChain([figmaEvent, 'access', _309 => _309.data, 'optionalAccess', _310 => _310.presentedNodeId]);
16142
+ const desktopMatch = s.startingNodeId === _optionalChain([figmaEvent, 'access', _296 => _296.data, 'optionalAccess', _297 => _297.presentedNodeId]) || s.startingNodeId.replace(":", "-") === _optionalChain([figmaEvent, 'access', _298 => _298.data, 'optionalAccess', _299 => _299.presentedNodeId]);
16143
+ const mobileMatch = s.mobileStartingNodeId === _optionalChain([figmaEvent, 'access', _300 => _300.data, 'optionalAccess', _301 => _301.presentedNodeId]) || _optionalChain([s, 'access', _302 => _302.mobileStartingNodeId, 'optionalAccess', _303 => _303.replace, 'call', _304 => _304(":", "-")]) === _optionalChain([figmaEvent, 'access', _305 => _305.data, 'optionalAccess', _306 => _306.presentedNodeId]);
16149
16144
  return desktopMatch || mobileMatch;
16150
16145
  });
16151
16146
  if (matchingSection && matchingSection.id !== activeSection) {
16152
16147
  if (!externalActiveSection) {
16153
16148
  setInternalActiveSection(matchingSection.id);
16154
16149
  }
16155
- _optionalChain([config, 'access', _311 => _311.onSectionChange, 'optionalCall', _312 => _312(matchingSection.id)]);
16150
+ _optionalChain([config, 'access', _307 => _307.onSectionChange, 'optionalCall', _308 => _308(matchingSection.id)]);
16156
16151
  }
16157
16152
  }
16158
16153
  }
@@ -16165,7 +16160,7 @@ var FigmaPrototypeViewer = ({
16165
16160
  }, [config.sections, activeSection, isNavigating, externalActiveSection, config.onSectionChange, viewMode]);
16166
16161
  const navigateToSection = _react.useCallback.call(void 0, (sectionId) => {
16167
16162
  const section = config.sections.find((s) => s.id === sectionId);
16168
- if (!section || !_optionalChain([iframeRef, 'access', _313 => _313.current, 'optionalAccess', _314 => _314.contentWindow]) || !isInitialized) {
16163
+ if (!section || !_optionalChain([iframeRef, 'access', _309 => _309.current, 'optionalAccess', _310 => _310.contentWindow]) || !isInitialized) {
16169
16164
  return;
16170
16165
  }
16171
16166
  setIsNavigating(true);
@@ -16173,7 +16168,7 @@ var FigmaPrototypeViewer = ({
16173
16168
  if (!externalActiveSection) {
16174
16169
  setInternalActiveSection(sectionId);
16175
16170
  }
16176
- _optionalChain([config, 'access', _315 => _315.onSectionChange, 'optionalCall', _316 => _316(sectionId)]);
16171
+ _optionalChain([config, 'access', _311 => _311.onSectionChange, 'optionalCall', _312 => _312(sectionId)]);
16177
16172
  const command = {
16178
16173
  type: "NAVIGATE_TO_FRAME_AND_CLOSE_OVERLAYS",
16179
16174
  data: { nodeId }
@@ -16493,7 +16488,7 @@ var FiltersDropdown = ({
16493
16488
  defaults[section.id] = section.defaultSelected || [];
16494
16489
  });
16495
16490
  setSelectedFilters(defaults);
16496
- _optionalChain([onReset, 'optionalCall', _317 => _317()]);
16491
+ _optionalChain([onReset, 'optionalCall', _313 => _313()]);
16497
16492
  setIsOpen(false);
16498
16493
  };
16499
16494
  const handleApply = () => {
@@ -16786,7 +16781,7 @@ function MediaGalleryManager({
16786
16781
  const [deletingIndex, setDeletingIndex] = _react.useState.call(void 0, null);
16787
16782
  const [draggedIndex, setDraggedIndex] = _react.useState.call(void 0, null);
16788
16783
  const handleFileSelect = _react.useCallback.call(void 0, async (event) => {
16789
- const file = _optionalChain([event, 'access', _318 => _318.target, 'access', _319 => _319.files, 'optionalAccess', _320 => _320[0]]);
16784
+ const file = _optionalChain([event, 'access', _314 => _314.target, 'access', _315 => _315.files, 'optionalAccess', _316 => _316[0]]);
16790
16785
  if (!file) return;
16791
16786
  let mediaType;
16792
16787
  if (file.type.startsWith("image/")) {
@@ -16901,7 +16896,7 @@ function MediaGalleryManager({
16901
16896
  {
16902
16897
  type: "button",
16903
16898
  variant: "outline",
16904
- onClick: () => _optionalChain([fileInputRef, 'access', _321 => _321.current, 'optionalAccess', _322 => _322.click, 'call', _323 => _323()]),
16899
+ onClick: () => _optionalChain([fileInputRef, 'access', _317 => _317.current, 'optionalAccess', _318 => _318.click, 'call', _319 => _319()]),
16905
16900
  disabled: isUploading,
16906
16901
  leftIcon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _lucidereact.Plus, { className: "h-4 w-4" }),
16907
16902
  className: "font-['DM_Sans'] text-[16px] font-bold",
@@ -17552,7 +17547,7 @@ function ReleaseMediaManager({
17552
17547
  const fileInputRef = _react.useRef.call(void 0, null);
17553
17548
  const [uploadingIndex, setUploadingIndex] = _react.useState.call(void 0, null);
17554
17549
  const handleFileSelect = async (event) => {
17555
- const file = _optionalChain([event, 'access', _324 => _324.target, 'access', _325 => _325.files, 'optionalAccess', _326 => _326[0]]);
17550
+ const file = _optionalChain([event, 'access', _320 => _320.target, 'access', _321 => _321.files, 'optionalAccess', _322 => _322[0]]);
17556
17551
  if (!file) return;
17557
17552
  let mediaType;
17558
17553
  if (file.type.startsWith("image/")) {
@@ -17632,7 +17627,7 @@ function ReleaseMediaManager({
17632
17627
  {
17633
17628
  type: "button",
17634
17629
  variant: "outline",
17635
- onClick: () => _optionalChain([fileInputRef, 'access', _327 => _327.current, 'optionalAccess', _328 => _328.click, 'call', _329 => _329()]),
17630
+ onClick: () => _optionalChain([fileInputRef, 'access', _323 => _323.current, 'optionalAccess', _324 => _324.click, 'call', _325 => _325()]),
17636
17631
  disabled: uploadingIndex !== null,
17637
17632
  leftIcon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _lucidereact.Plus, { className: "h-4 w-4" }),
17638
17633
  className: "font-['DM_Sans'] text-[16px] font-bold",
@@ -17845,7 +17840,7 @@ function SEOEditorPreview({
17845
17840
  const displayImage = hasOgImage || hasFeaturedImage;
17846
17841
  const handleImageUpload = async (event) => {
17847
17842
  if (!onOgImageUpload) return;
17848
- const file = _optionalChain([event, 'access', _330 => _330.target, 'access', _331 => _331.files, 'optionalAccess', _332 => _332[0]]);
17843
+ const file = _optionalChain([event, 'access', _326 => _326.target, 'access', _327 => _327.files, 'optionalAccess', _328 => _328[0]]);
17849
17844
  if (!file) return;
17850
17845
  setIsUploading(true);
17851
17846
  try {
@@ -17976,7 +17971,7 @@ function SEOEditorPreview({
17976
17971
  type: "button",
17977
17972
  variant: "outline",
17978
17973
  size: "icon",
17979
- onClick: () => _optionalChain([fileInputRef, 'optionalAccess', _333 => _333.click, 'call', _334 => _334()]),
17974
+ onClick: () => _optionalChain([fileInputRef, 'optionalAccess', _329 => _329.click, 'call', _330 => _330()]),
17980
17975
  disabled: disabled || isUploading,
17981
17976
  className: "bg-white text-black hover:bg-gray-100 rounded-full opacity-0 group-hover:opacity-100",
17982
17977
  children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _lucidereact.Upload, { className: "h-4 w-4" })
@@ -17999,7 +17994,7 @@ function SEOEditorPreview({
17999
17994
  "div",
18000
17995
  {
18001
17996
  className: "h-full min-h-[280px] border-2 border-dashed border-ods-border rounded-lg flex flex-col items-center justify-center cursor-pointer hover:border-ods-accent transition-colors bg-ods-bg-hover",
18002
- onClick: () => onOgImageUpload && _optionalChain([fileInputRef, 'optionalAccess', _335 => _335.click, 'call', _336 => _336()]),
17997
+ onClick: () => onOgImageUpload && _optionalChain([fileInputRef, 'optionalAccess', _331 => _331.click, 'call', _332 => _332()]),
18003
17998
  children: isUploading ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _lucidereact.Loader2, { className: "h-8 w-8 animate-spin text-ods-accent" }) : /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _jsxruntime.Fragment, { children: [
18004
17999
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _lucidereact.Upload, { className: "h-8 w-8 text-ods-text-secondary mb-2" }),
18005
18000
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "text-sm text-ods-text-secondary font-['DM_Sans']", children: onOgImageUpload ? "Click to upload OG image" : "No image" })
@@ -18084,7 +18079,7 @@ function SocialLinksManager({
18084
18079
  className = ""
18085
18080
  }) {
18086
18081
  const addLink = () => {
18087
- const firstPlatform = _optionalChain([platforms, 'access', _337 => _337[0], 'optionalAccess', _338 => _338.name]) || "website";
18082
+ const firstPlatform = _optionalChain([platforms, 'access', _333 => _333[0], 'optionalAccess', _334 => _334.name]) || "website";
18088
18083
  onChange([...links, { platform: firstPlatform, url: "" }]);
18089
18084
  };
18090
18085
  const removeLink = (index) => {
@@ -18096,7 +18091,7 @@ function SocialLinksManager({
18096
18091
  onChange(updated);
18097
18092
  };
18098
18093
  const getIcon = (link, platform) => {
18099
- const iconKey = _optionalChain([platform, 'optionalAccess', _339 => _339.icon_name]) || link.platform;
18094
+ const iconKey = _optionalChain([platform, 'optionalAccess', _335 => _335.icon_name]) || link.platform;
18100
18095
  const IconComponent = iconMap[iconKey];
18101
18096
  return IconComponent ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, IconComponent, { className: "w-5 h-5 text-ods-text-secondary" }) : null;
18102
18097
  };
@@ -18121,7 +18116,7 @@ function SocialLinksManager({
18121
18116
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
18122
18117
  _chunk6JINAOI7cjs.Input,
18123
18118
  {
18124
- placeholder: _optionalChain([platform, 'optionalAccess', _340 => _340.placeholder]) || "Profile URL",
18119
+ placeholder: _optionalChain([platform, 'optionalAccess', _336 => _336.placeholder]) || "Profile URL",
18125
18120
  value: link.url,
18126
18121
  onChange: (e) => updateLink(index, "url", e.target.value),
18127
18122
  onKeyDown: (e) => {
@@ -18497,7 +18492,7 @@ function VideoSourceSelector({
18497
18492
  input.accept = "video/*";
18498
18493
  input.onchange = async (e) => {
18499
18494
  const target = e.target;
18500
- const file = _optionalChain([target, 'access', _341 => _341.files, 'optionalAccess', _342 => _342[0]]);
18495
+ const file = _optionalChain([target, 'access', _337 => _337.files, 'optionalAccess', _338 => _338[0]]);
18501
18496
  if (!file) return;
18502
18497
  setIsUploading(true);
18503
18498
  setUploadProgress(0);
@@ -18827,7 +18822,7 @@ function TranscriptSummaryEditor({
18827
18822
  {
18828
18823
  id: "subtitles",
18829
18824
  value: subtitles || "",
18830
- onChange: (e) => _optionalChain([onSubtitlesChange, 'optionalCall', _343 => _343(e.target.value)]),
18825
+ onChange: (e) => _optionalChain([onSubtitlesChange, 'optionalCall', _339 => _339(e.target.value)]),
18831
18826
  placeholder: subtitlesPlaceholder,
18832
18827
  disabled: disabled || !onSubtitlesChange,
18833
18828
  className: "h-full w-full resize-none border-0 bg-transparent text-ods-text-primary placeholder:text-ods-text-secondary/50 focus:ring-0 focus:outline-none p-4 font-mono text-sm",
@@ -18980,7 +18975,7 @@ var AIEnrichSection = ({
18980
18975
  }) => {
18981
18976
  const hasResults = status === "success" || status === "error";
18982
18977
  const shouldDisable = disabled || !canEnrich;
18983
- const unfilledFields = _optionalChain([requiredFields, 'optionalAccess', _344 => _344.filter, 'call', _345 => _345((f) => !f.isFilled)]) || [];
18978
+ const unfilledFields = _optionalChain([requiredFields, 'optionalAccess', _340 => _340.filter, 'call', _341 => _341((f) => !f.isFilled)]) || [];
18984
18979
  return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
18985
18980
  "div",
18986
18981
  {
@@ -19018,7 +19013,7 @@ var AIEnrichSection = ({
19018
19013
  {
19019
19014
  id: "ai-enrich-custom-instructions",
19020
19015
  value: _nullishCoalesce(customInstructions, () => ( "")),
19021
- onChange: (e) => _optionalChain([onCustomInstructionsChange, 'optionalCall', _346 => _346(e.target.value)]),
19016
+ onChange: (e) => _optionalChain([onCustomInstructionsChange, 'optionalCall', _342 => _342(e.target.value)]),
19022
19017
  placeholder: customInstructionsPlaceholder,
19023
19018
  disabled: loading,
19024
19019
  maxLength: customInstructionsMaxLength,
@@ -19147,7 +19142,7 @@ function HighlightVideoSection({
19147
19142
  input.accept = "video/*";
19148
19143
  input.onchange = async (e) => {
19149
19144
  const target = e.target;
19150
- const file = _optionalChain([target, 'access', _347 => _347.files, 'optionalAccess', _348 => _348[0]]);
19145
+ const file = _optionalChain([target, 'access', _343 => _343.files, 'optionalAccess', _344 => _344[0]]);
19151
19146
  if (!file) return;
19152
19147
  setUploadError(null);
19153
19148
  try {
@@ -19649,7 +19644,7 @@ function HighlightVideoPreview({
19649
19644
  input.accept = "video/*";
19650
19645
  input.onchange = async (e) => {
19651
19646
  const target = e.target;
19652
- const file = _optionalChain([target, 'access', _349 => _349.files, 'optionalAccess', _350 => _350[0]]);
19647
+ const file = _optionalChain([target, 'access', _345 => _345.files, 'optionalAccess', _346 => _346[0]]);
19653
19648
  if (!file) return;
19654
19649
  await onUpload(file);
19655
19650
  };
@@ -19836,7 +19831,7 @@ function HighlightVideoCombinedSection({
19836
19831
  input.accept = "video/*";
19837
19832
  input.onchange = async (e) => {
19838
19833
  const target = e.target;
19839
- const file = _optionalChain([target, 'access', _351 => _351.files, 'optionalAccess', _352 => _352[0]]);
19834
+ const file = _optionalChain([target, 'access', _347 => _347.files, 'optionalAccess', _348 => _348[0]]);
19840
19835
  if (!file) return;
19841
19836
  await onUpload(file);
19842
19837
  };
@@ -20133,7 +20128,7 @@ var getApprovalLevelLabel = (level, editMode = false) => {
20133
20128
  return editMode ? "Set Global Permission" : "";
20134
20129
  }
20135
20130
  const option = approvalLevelOptions.find((opt) => opt.value === level);
20136
- return _optionalChain([option, 'optionalAccess', _353 => _353.label]) || level;
20131
+ return _optionalChain([option, 'optionalAccess', _349 => _349.label]) || level;
20137
20132
  };
20138
20133
  var PolicyRow = ({ policy, categoryId, editMode, onPermissionChange }) => {
20139
20134
  return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "bg-ods-bg border-b border-ods-border flex gap-4 items-center px-4 py-3", children: [
@@ -20247,6 +20242,7 @@ var CategorySection = ({
20247
20242
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
20248
20243
  _chunkTU26IZPOcjs.Button,
20249
20244
  {
20245
+ type: "button",
20250
20246
  variant: "transparent",
20251
20247
  onClick: (e) => {
20252
20248
  e.stopPropagation();
@@ -20346,12 +20342,12 @@ function PhoneInput({
20346
20342
  const runValidation = _react.useCallback.call(void 0, (phone) => {
20347
20343
  if (!phone || digitCount(phone) === 0) {
20348
20344
  setIsInvalid(false);
20349
- _optionalChain([onValidationChange, 'optionalCall', _354 => _354(false)]);
20345
+ _optionalChain([onValidationChange, 'optionalCall', _350 => _350(false)]);
20350
20346
  return;
20351
20347
  }
20352
20348
  const invalid = !validatePhoneNumber(phone, countryCode);
20353
20349
  setIsInvalid(invalid);
20354
- _optionalChain([onValidationChange, 'optionalCall', _355 => _355(invalid)]);
20350
+ _optionalChain([onValidationChange, 'optionalCall', _351 => _351(invalid)]);
20355
20351
  }, [countryCode, digitCount, onValidationChange]);
20356
20352
  const debouncedValidation = _react.useCallback.call(void 0, (phone) => {
20357
20353
  if (debounceRef.current) clearTimeout(debounceRef.current);
@@ -20400,7 +20396,7 @@ function PhoneInput({
20400
20396
  debouncedValidation(val);
20401
20397
  } else if (digitCount(val) === 0) {
20402
20398
  setIsInvalid(false);
20403
- _optionalChain([onValidationChange, 'optionalCall', _356 => _356(false)]);
20399
+ _optionalChain([onValidationChange, 'optionalCall', _352 => _352(false)]);
20404
20400
  }
20405
20401
  }
20406
20402
  },
@@ -20736,19 +20732,19 @@ function NotificationsProvider({
20736
20732
  }, []);
20737
20733
  const markRead = React69.useCallback((id) => {
20738
20734
  dispatch({ type: "markRead", id });
20739
- void _optionalChain([actionsRef, 'access', _357 => _357.current, 'optionalAccess', _358 => _358.onMarkRead, 'optionalCall', _359 => _359(id)]);
20735
+ void _optionalChain([actionsRef, 'access', _353 => _353.current, 'optionalAccess', _354 => _354.onMarkRead, 'optionalCall', _355 => _355(id)]);
20740
20736
  }, []);
20741
20737
  const markAllRead = React69.useCallback(() => {
20742
20738
  dispatch({ type: "markAllRead" });
20743
- void _optionalChain([actionsRef, 'access', _360 => _360.current, 'optionalAccess', _361 => _361.onMarkAllRead, 'optionalCall', _362 => _362()]);
20739
+ void _optionalChain([actionsRef, 'access', _356 => _356.current, 'optionalAccess', _357 => _357.onMarkAllRead, 'optionalCall', _358 => _358()]);
20744
20740
  }, []);
20745
20741
  const markSettled = React69.useCallback((id) => {
20746
20742
  dispatch({ type: "markSettled", id });
20747
- void _optionalChain([actionsRef, 'access', _363 => _363.current, 'optionalAccess', _364 => _364.onMarkSettled, 'optionalCall', _365 => _365(id)]);
20743
+ void _optionalChain([actionsRef, 'access', _359 => _359.current, 'optionalAccess', _360 => _360.onMarkSettled, 'optionalCall', _361 => _361(id)]);
20748
20744
  }, []);
20749
20745
  const remove = React69.useCallback((id) => {
20750
20746
  dispatch({ type: "remove", id });
20751
- void _optionalChain([actionsRef, 'access', _366 => _366.current, 'optionalAccess', _367 => _367.onRemove, 'optionalCall', _368 => _368(id)]);
20747
+ void _optionalChain([actionsRef, 'access', _362 => _362.current, 'optionalAccess', _363 => _363.onRemove, 'optionalCall', _364 => _364(id)]);
20752
20748
  }, []);
20753
20749
  const clear = React69.useCallback(() => dispatch({ type: "clear" }), []);
20754
20750
  const open = React69.useCallback(() => setIsOpen(true), []);
@@ -20757,7 +20753,7 @@ function NotificationsProvider({
20757
20753
  const setShowPopups = React69.useCallback(
20758
20754
  (value2) => {
20759
20755
  setShowPopupsState(value2);
20760
- _optionalChain([onShowPopupsChange, 'optionalCall', _369 => _369(value2)]);
20756
+ _optionalChain([onShowPopupsChange, 'optionalCall', _365 => _365(value2)]);
20761
20757
  },
20762
20758
  [onShowPopupsChange]
20763
20759
  );
@@ -20854,7 +20850,7 @@ function NotificationTile({
20854
20850
  if (!counting) return;
20855
20851
  const remaining = Math.max(0, liveDurationMs - initialElapsed);
20856
20852
  const timer = window.setTimeout(() => {
20857
- _optionalChain([onSettle, 'optionalCall', _370 => _370(id)]);
20853
+ _optionalChain([onSettle, 'optionalCall', _366 => _366(id)]);
20858
20854
  }, remaining);
20859
20855
  return () => window.clearTimeout(timer);
20860
20856
  }, [id, counting, initialElapsed, liveDurationMs, onSettle]);
@@ -20916,7 +20912,7 @@ function NotificationTile({
20916
20912
  "button",
20917
20913
  {
20918
20914
  type: "button",
20919
- onClick: () => _optionalChain([onSettle, 'optionalCall', _371 => _371(id)]),
20915
+ onClick: () => _optionalChain([onSettle, 'optionalCall', _367 => _367(id)]),
20920
20916
  "aria-label": "Dismiss notification",
20921
20917
  tabIndex: isLive ? 0 : -1,
20922
20918
  className: _chunkFIG2RKZFcjs.cn.call(void 0,
@@ -21035,7 +21031,7 @@ function DrawerScrollList({
21035
21031
  if (!sentinel || !root) return;
21036
21032
  const observer = new IntersectionObserver(
21037
21033
  (entries) => {
21038
- if (_optionalChain([entries, 'access', _372 => _372[0], 'optionalAccess', _373 => _373.isIntersecting])) _optionalChain([loadMoreRef, 'access', _374 => _374.current, 'optionalCall', _375 => _375()]);
21034
+ if (_optionalChain([entries, 'access', _368 => _368[0], 'optionalAccess', _369 => _369.isIntersecting])) _optionalChain([loadMoreRef, 'access', _370 => _370.current, 'optionalCall', _371 => _371()]);
21039
21035
  },
21040
21036
  { root, rootMargin: loadMoreRootMargin }
21041
21037
  );
@@ -21050,7 +21046,7 @@ function DrawerScrollList({
21050
21046
  className: "flex flex-1 flex-col gap-[var(--spacing-system-xs)] overflow-y-auto px-[var(--spacing-system-m)]",
21051
21047
  children: isEmpty && !isLoadingMore ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, EmptyState, {}) : /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _jsxruntime.Fragment, { children: [
21052
21048
  unreadNotifications.map((n) => {
21053
- const custom = _optionalChain([renderTile, 'optionalCall', _376 => _376(n, { onComplete, onSettle, liveDurationMs })]);
21049
+ const custom = _optionalChain([renderTile, 'optionalCall', _372 => _372(n, { onComplete, onSettle, liveDurationMs })]);
21054
21050
  if (custom) return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { children: custom }, n.id);
21055
21051
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
21056
21052
  NotificationTile,
@@ -21179,7 +21175,7 @@ function NotificationPopups({
21179
21175
  className
21180
21176
  ),
21181
21177
  children: live.map((n) => {
21182
- const custom = _optionalChain([renderTile, 'optionalCall', _377 => _377(n, { onComplete: markRead, onSettle: markSettled, liveDurationMs })]);
21178
+ const custom = _optionalChain([renderTile, 'optionalCall', _373 => _373(n, { onComplete: markRead, onSettle: markSettled, liveDurationMs })]);
21183
21179
  if (custom) {
21184
21180
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "pointer-events-auto", children: custom }, n.id);
21185
21181
  }
@@ -21218,19 +21214,19 @@ _chunkFIG2RKZFcjs.init_cn.call(void 0, );
21218
21214
  // src/components/features/notifications/types.ts
21219
21215
  var ADMIN_APPROVAL_REQUEST_CONTEXT_TYPE = "ADMIN_APPROVAL_REQUEST";
21220
21216
  function isApprovalNotification(notification) {
21221
- return _optionalChain([notification, 'access', _378 => _378.meta, 'optionalAccess', _379 => _379.contextType]) === ADMIN_APPROVAL_REQUEST_CONTEXT_TYPE;
21217
+ return _optionalChain([notification, 'access', _374 => _374.meta, 'optionalAccess', _375 => _375.contextType]) === ADMIN_APPROVAL_REQUEST_CONTEXT_TYPE;
21222
21218
  }
21223
21219
  function getApprovalMeta(notification) {
21224
21220
  if (!isApprovalNotification(notification)) return null;
21225
21221
  const meta = notification.meta;
21226
- const approvalRequestId = _optionalChain([meta, 'optionalAccess', _380 => _380.approvalRequestId]);
21227
- const toolCalls = _optionalChain([meta, 'optionalAccess', _381 => _381.toolCalls]);
21222
+ const approvalRequestId = _optionalChain([meta, 'optionalAccess', _376 => _376.approvalRequestId]);
21223
+ const toolCalls = _optionalChain([meta, 'optionalAccess', _377 => _377.toolCalls]);
21228
21224
  if (typeof approvalRequestId !== "string" || !Array.isArray(toolCalls)) return null;
21229
21225
  return {
21230
21226
  approvalRequestId,
21231
- dialogId: _nullishCoalesce(_optionalChain([meta, 'optionalAccess', _382 => _382.dialogId]), () => ( null)),
21232
- ticketId: _nullishCoalesce(_optionalChain([meta, 'optionalAccess', _383 => _383.ticketId]), () => ( null)),
21233
- approvalType: _nullishCoalesce(_optionalChain([meta, 'optionalAccess', _384 => _384.approvalType]), () => ( null)),
21227
+ dialogId: _nullishCoalesce(_optionalChain([meta, 'optionalAccess', _378 => _378.dialogId]), () => ( null)),
21228
+ ticketId: _nullishCoalesce(_optionalChain([meta, 'optionalAccess', _379 => _379.ticketId]), () => ( null)),
21229
+ approvalType: _nullishCoalesce(_optionalChain([meta, 'optionalAccess', _380 => _380.approvalType]), () => ( null)),
21234
21230
  toolCalls
21235
21231
  };
21236
21232
  }
@@ -21491,15 +21487,15 @@ function TicketCard({
21491
21487
  transform: _utilities.CSS.Transform.toString(sortable.transform),
21492
21488
  transition: sortable.transition
21493
21489
  };
21494
- const showDeviceRow = !!(_optionalChain([ticket, 'access', _385 => _385.deviceHostnames, 'optionalAccess', _386 => _386.length]) || ticket.organizationName);
21490
+ const showDeviceRow = !!(_optionalChain([ticket, 'access', _381 => _381.deviceHostnames, 'optionalAccess', _382 => _382.length]) || ticket.organizationName);
21495
21491
  const deviceText = [
21496
- _optionalChain([ticket, 'access', _387 => _387.deviceHostnames, 'optionalAccess', _388 => _388.join, 'call', _389 => _389(", ")]),
21492
+ _optionalChain([ticket, 'access', _383 => _383.deviceHostnames, 'optionalAccess', _384 => _384.join, 'call', _385 => _385(", ")]),
21497
21493
  ticket.organizationName
21498
21494
  ].filter(Boolean).join(", ");
21499
21495
  const handleClick = (e) => {
21500
21496
  if (sortable.isDragging) e.preventDefault();
21501
21497
  };
21502
- const hasRightSection = !!(ticket.priority || _optionalChain([ticket, 'access', _390 => _390.assignees, 'optionalAccess', _391 => _391.length]) || renderAssignSlot);
21498
+ const hasRightSection = !!(ticket.priority || _optionalChain([ticket, 'access', _386 => _386.assignees, 'optionalAccess', _387 => _387.length]) || renderAssignSlot);
21503
21499
  const rightSection = hasRightSection ? /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "pointer-events-auto flex shrink-0 items-center gap-[var(--spacing-system-xsf)]", children: [
21504
21500
  ticket.priority && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
21505
21501
  _chunkC6ASEPZLcjs.Flag02Icon,
@@ -21508,7 +21504,7 @@ function TicketCard({
21508
21504
  "aria-label": `Priority: ${ticket.priority}`
21509
21505
  }
21510
21506
  ),
21511
- renderAssignSlot ? renderAssignSlot(ticket) : _optionalChain([ticket, 'access', _392 => _392.assignees, 'optionalAccess', _393 => _393.length]) ? /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex -space-x-2", children: [
21507
+ renderAssignSlot ? renderAssignSlot(ticket) : _optionalChain([ticket, 'access', _388 => _388.assignees, 'optionalAccess', _389 => _389.length]) ? /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex -space-x-2", children: [
21512
21508
  ticket.assignees.slice(0, MAX_VISIBLE_ASSIGNEES).map((a) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
21513
21509
  _chunk6LK4VEXEcjs.SquareAvatar,
21514
21510
  {
@@ -21537,7 +21533,7 @@ function TicketCard({
21537
21533
  ] }),
21538
21534
  rightSection
21539
21535
  ] }),
21540
- _optionalChain([ticket, 'access', _394 => _394.tags, 'optionalAccess', _395 => _395.length]) ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, TicketTagRow, { tags: ticket.tags }) : null
21536
+ _optionalChain([ticket, 'access', _390 => _390.tags, 'optionalAccess', _391 => _391.length]) ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, TicketTagRow, { tags: ticket.tags }) : null
21541
21537
  ] });
21542
21538
  const cardClasses = _chunkFIG2RKZFcjs.cn.call(void 0,
21543
21539
  "relative flex flex-col gap-[var(--spacing-system-sf)] rounded-md border border-ods-border bg-ods-bg p-[var(--spacing-system-sf)] select-none text-left",
@@ -21712,7 +21708,7 @@ function ColumnBody({ column, getTicketHref, renderAssignSlot, onLoadMore, loadM
21712
21708
  const observer = new IntersectionObserver(
21713
21709
  (entries) => {
21714
21710
  if (entries.some((e) => e.isIntersecting)) {
21715
- _optionalChain([loadMoreRef, 'access', _396 => _396.current, 'optionalCall', _397 => _397(columnIdRef.current)]);
21711
+ _optionalChain([loadMoreRef, 'access', _392 => _392.current, 'optionalCall', _393 => _393(columnIdRef.current)]);
21716
21712
  }
21717
21713
  },
21718
21714
  { root, rootMargin: loadMoreRootMargin }
@@ -21741,7 +21737,7 @@ function ColumnBody({ column, getTicketHref, renderAssignSlot, onLoadMore, loadM
21741
21737
  {
21742
21738
  ticket: t,
21743
21739
  columnId: column.id,
21744
- href: _optionalChain([getTicketHref, 'optionalCall', _398 => _398(t.id)]),
21740
+ href: _optionalChain([getTicketHref, 'optionalCall', _394 => _394(t.id)]),
21745
21741
  renderAssignSlot,
21746
21742
  dragDisabled: column.dragDisabled
21747
21743
  },
@@ -21837,17 +21833,17 @@ function Board({
21837
21833
  const pointer = _core.pointerWithin.call(void 0, args);
21838
21834
  const intersections = pointer.length > 0 ? pointer : _core.rectIntersection.call(void 0, args);
21839
21835
  const ticketHit = intersections.find(
21840
- (c) => _optionalChain([c, 'access', _399 => _399.data, 'optionalAccess', _400 => _400.droppableContainer, 'optionalAccess', _401 => _401.data, 'optionalAccess', _402 => _402.current, 'optionalAccess', _403 => _403.type]) === "ticket"
21836
+ (c) => _optionalChain([c, 'access', _395 => _395.data, 'optionalAccess', _396 => _396.droppableContainer, 'optionalAccess', _397 => _397.data, 'optionalAccess', _398 => _398.current, 'optionalAccess', _399 => _399.type]) === "ticket"
21841
21837
  );
21842
21838
  if (ticketHit) return [ticketHit];
21843
21839
  const columnHit = intersections.find(
21844
- (c) => _optionalChain([c, 'access', _404 => _404.data, 'optionalAccess', _405 => _405.droppableContainer, 'optionalAccess', _406 => _406.data, 'optionalAccess', _407 => _407.current, 'optionalAccess', _408 => _408.type]) === "column"
21840
+ (c) => _optionalChain([c, 'access', _400 => _400.data, 'optionalAccess', _401 => _401.droppableContainer, 'optionalAccess', _402 => _402.data, 'optionalAccess', _403 => _403.current, 'optionalAccess', _404 => _404.type]) === "column"
21845
21841
  );
21846
21842
  if (columnHit) {
21847
- const columnId = _optionalChain([columnHit, 'access', _409 => _409.data, 'optionalAccess', _410 => _410.droppableContainer, 'optionalAccess', _411 => _411.data, 'optionalAccess', _412 => _412.current, 'optionalAccess', _413 => _413.columnId]);
21843
+ const columnId = _optionalChain([columnHit, 'access', _405 => _405.data, 'optionalAccess', _406 => _406.droppableContainer, 'optionalAccess', _407 => _407.data, 'optionalAccess', _408 => _408.current, 'optionalAccess', _409 => _409.columnId]);
21848
21844
  const ticketsInColumn = args.droppableContainers.filter((c) => {
21849
21845
  const d = c.data.current;
21850
- return _optionalChain([d, 'optionalAccess', _414 => _414.type]) === "ticket" && d.columnId === columnId;
21846
+ return _optionalChain([d, 'optionalAccess', _410 => _410.type]) === "ticket" && d.columnId === columnId;
21851
21847
  });
21852
21848
  if (ticketsInColumn.length > 0) {
21853
21849
  const closest = _core.closestCorners.call(void 0, { ...args, droppableContainers: ticketsInColumn });
@@ -21872,20 +21868,20 @@ function Board({
21872
21868
  const overId = String(over.id);
21873
21869
  if (activeId === overId) return;
21874
21870
  const overData = over.data.current;
21875
- const fromColumnId = _optionalChain([locate, 'call', _415 => _415(items, activeId), 'optionalAccess', _416 => _416.columnId]);
21876
- const toColumnId = _optionalChain([overData, 'optionalAccess', _417 => _417.columnId]);
21871
+ const fromColumnId = _optionalChain([locate, 'call', _411 => _411(items, activeId), 'optionalAccess', _412 => _412.columnId]);
21872
+ const toColumnId = _optionalChain([overData, 'optionalAccess', _413 => _413.columnId]);
21877
21873
  if (!fromColumnId || !toColumnId || fromColumnId === toColumnId) return;
21878
21874
  const origin = dragOriginRef.current;
21879
- const isReturnToOrigin = _optionalChain([origin, 'optionalAccess', _418 => _418.fromColumnId]) === toColumnId;
21875
+ const isReturnToOrigin = _optionalChain([origin, 'optionalAccess', _414 => _414.fromColumnId]) === toColumnId;
21880
21876
  const targetCol = items.find((c) => c.id === toColumnId);
21881
- const blockedBySource = !isReturnToOrigin && !!_optionalChain([targetCol, 'optionalAccess', _419 => _419.allowedFromColumns]) && !!origin && !targetCol.allowedFromColumns.includes(origin.fromColumnId);
21882
- if (_optionalChain([targetCol, 'optionalAccess', _420 => _420.dropDisabled]) && !isReturnToOrigin || blockedBySource) return;
21877
+ const blockedBySource = !isReturnToOrigin && !!_optionalChain([targetCol, 'optionalAccess', _415 => _415.allowedFromColumns]) && !!origin && !targetCol.allowedFromColumns.includes(origin.fromColumnId);
21878
+ if (_optionalChain([targetCol, 'optionalAccess', _416 => _416.dropDisabled]) && !isReturnToOrigin || blockedBySource) return;
21883
21879
  setItems((prev) => {
21884
21880
  const fromIndex = findIndexInColumn(prev, fromColumnId, activeId);
21885
21881
  const toCol = prev.find((c) => c.id === toColumnId);
21886
21882
  if (fromIndex < 0 || !toCol) return prev;
21887
21883
  let toIndex;
21888
- if (_optionalChain([overData, 'optionalAccess', _421 => _421.type]) === "column") {
21884
+ if (_optionalChain([overData, 'optionalAccess', _417 => _417.type]) === "column") {
21889
21885
  toIndex = toCol.tickets.length;
21890
21886
  } else {
21891
21887
  const overIndex = toCol.tickets.findIndex((t) => t.id === overId);
@@ -21927,14 +21923,14 @@ function Board({
21927
21923
  const toColumnId = located.columnId;
21928
21924
  const isCrossColumn = origin.fromColumnId !== toColumnId;
21929
21925
  const targetCol = items.find((c) => c.id === toColumnId);
21930
- if (isCrossColumn && (_optionalChain([targetCol, 'optionalAccess', _422 => _422.dropDisabled]) || _optionalChain([targetCol, 'optionalAccess', _423 => _423.allowedFromColumns]) && !targetCol.allowedFromColumns.includes(origin.fromColumnId))) {
21926
+ if (isCrossColumn && (_optionalChain([targetCol, 'optionalAccess', _418 => _418.dropDisabled]) || _optionalChain([targetCol, 'optionalAccess', _419 => _419.allowedFromColumns]) && !targetCol.allowedFromColumns.includes(origin.fromColumnId))) {
21931
21927
  setItems(columns);
21932
21928
  return;
21933
21929
  }
21934
21930
  let finalIndex = located.index;
21935
- let finalColumnTickets = _nullishCoalesce(_optionalChain([items, 'access', _424 => _424.find, 'call', _425 => _425((c) => c.id === toColumnId), 'optionalAccess', _426 => _426.tickets]), () => ( []));
21931
+ let finalColumnTickets = _nullishCoalesce(_optionalChain([items, 'access', _420 => _420.find, 'call', _421 => _421((c) => c.id === toColumnId), 'optionalAccess', _422 => _422.tickets]), () => ( []));
21936
21932
  const overData = over.data.current;
21937
- if (_optionalChain([overData, 'optionalAccess', _427 => _427.type]) === "ticket") {
21933
+ if (_optionalChain([overData, 'optionalAccess', _423 => _423.type]) === "ticket") {
21938
21934
  const overIndex = findIndexInColumn(items, toColumnId, String(over.id));
21939
21935
  if (overIndex >= 0 && overIndex !== located.index) {
21940
21936
  finalColumnTickets = _sortable.arrayMove.call(void 0, finalColumnTickets, located.index, overIndex);
@@ -21954,8 +21950,8 @@ function Board({
21954
21950
  ticketId: origin.ticketId,
21955
21951
  fromColumnId: origin.fromColumnId,
21956
21952
  toColumnId,
21957
- afterTicketId: _nullishCoalesce(_optionalChain([finalColumnTickets, 'access', _428 => _428[finalIndex - 1], 'optionalAccess', _429 => _429.id]), () => ( null)),
21958
- beforeTicketId: _nullishCoalesce(_optionalChain([finalColumnTickets, 'access', _430 => _430[finalIndex + 1], 'optionalAccess', _431 => _431.id]), () => ( null))
21953
+ afterTicketId: _nullishCoalesce(_optionalChain([finalColumnTickets, 'access', _424 => _424[finalIndex - 1], 'optionalAccess', _425 => _425.id]), () => ( null)),
21954
+ beforeTicketId: _nullishCoalesce(_optionalChain([finalColumnTickets, 'access', _426 => _426[finalIndex + 1], 'optionalAccess', _427 => _427.id]), () => ( null))
21959
21955
  });
21960
21956
  };
21961
21957
  const handleDragCancel = () => {
@@ -21984,8 +21980,8 @@ function Board({
21984
21980
  children: items.map((column, i) => {
21985
21981
  const prev = items[i - 1];
21986
21982
  const next = items[i + 1];
21987
- const joinLeft = !!(column.system && _optionalChain([prev, 'optionalAccess', _432 => _432.system]));
21988
- const joinRight = !!(column.system && _optionalChain([next, 'optionalAccess', _433 => _433.system]));
21983
+ const joinLeft = !!(column.system && _optionalChain([prev, 'optionalAccess', _428 => _428.system]));
21984
+ const joinRight = !!(column.system && _optionalChain([next, 'optionalAccess', _429 => _429.system]));
21989
21985
  const showGap = i > 0 && !joinLeft;
21990
21986
  return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, React73.Fragment, { children: [
21991
21987
  showGap && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { "aria-hidden": true, className: "w-[var(--spacing-system-mf)] shrink-0" }),
@@ -22044,7 +22040,7 @@ function locate(cols, ticketId) {
22044
22040
  return null;
22045
22041
  }
22046
22042
  function findIndexInColumn(cols, columnId, ticketId) {
22047
- return _nullishCoalesce(_optionalChain([cols, 'access', _434 => _434.find, 'call', _435 => _435((c) => c.id === columnId), 'optionalAccess', _436 => _436.tickets, 'access', _437 => _437.findIndex, 'call', _438 => _438((t) => t.id === ticketId)]), () => ( -1));
22043
+ return _nullishCoalesce(_optionalChain([cols, 'access', _430 => _430.find, 'call', _431 => _431((c) => c.id === columnId), 'optionalAccess', _432 => _432.tickets, 'access', _433 => _433.findIndex, 'call', _434 => _434((t) => t.id === ticketId)]), () => ( -1));
22048
22044
  }
22049
22045
 
22050
22046
  // src/components/features/board/types.ts
@@ -22292,7 +22288,7 @@ function Header2({ config, platform }) {
22292
22288
  className: _chunkFIG2RKZFcjs.cn.call(void 0,
22293
22289
  "flex justify-start w-full",
22294
22290
  "font-bold text-[16px] leading-none tracking-[-0.32px]",
22295
- index < (_nullishCoalesce(_optionalChain([item, 'access', _439 => _439.children, 'optionalAccess', _440 => _440.length]), () => ( 0))) - 1 && "mb-1",
22291
+ index < (_nullishCoalesce(_optionalChain([item, 'access', _435 => _435.children, 'optionalAccess', _436 => _436.length]), () => ( 0))) - 1 && "mb-1",
22296
22292
  "text-ods-text-primary",
22297
22293
  // All dropdown items use primary text color
22298
22294
  child.isActive && "bg-ods-bg-hover"
@@ -22384,7 +22380,7 @@ function Header2({ config, platform }) {
22384
22380
  style: config.style,
22385
22381
  children: [
22386
22382
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex items-center justify-start flex-shrink-0", children: [
22387
- _optionalChain([config, 'access', _441 => _441.actions, 'optionalAccess', _442 => _442.left]) && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "flex items-center", children: config.actions.left }),
22383
+ _optionalChain([config, 'access', _437 => _437.actions, 'optionalAccess', _438 => _438.left]) && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "flex items-center", children: config.actions.left }),
22388
22384
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkWBR7H6E3cjs.next_link_default, { href: config.logo.href, className: "transition-opacity duration-200 hover:opacity-80", children: config.logo.element })
22389
22385
  ] }),
22390
22386
  config.navigation && config.navigation.items.length > 0 && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
@@ -22401,7 +22397,7 @@ function Header2({ config, platform }) {
22401
22397
  }
22402
22398
  ),
22403
22399
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex items-center justify-end gap-4 flex-shrink-0", children: [
22404
- _optionalChain([config, 'access', _443 => _443.actions, 'optionalAccess', _444 => _444.right]) && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "hidden md:flex items-center gap-4", children: config.actions.right }),
22400
+ _optionalChain([config, 'access', _439 => _439.actions, 'optionalAccess', _440 => _440.right]) && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "hidden md:flex items-center gap-4", children: config.actions.right }),
22405
22401
  config.mobile && config.mobile.enabled && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
22406
22402
  _chunkTU26IZPOcjs.Button,
22407
22403
  {
@@ -22409,10 +22405,10 @@ function Header2({ config, platform }) {
22409
22405
  size: "icon",
22410
22406
  className: "flex md:hidden",
22411
22407
  onClick: () => {
22412
- _optionalChain([config, 'access', _445 => _445.mobile, 'optionalAccess', _446 => _446.onToggle, 'optionalCall', _447 => _447()]);
22408
+ _optionalChain([config, 'access', _441 => _441.mobile, 'optionalAccess', _442 => _442.onToggle, 'optionalCall', _443 => _443()]);
22413
22409
  },
22414
- "aria-label": _optionalChain([config, 'access', _448 => _448.mobile, 'optionalAccess', _449 => _449.isOpen]) ? "Close menu" : "Open menu",
22415
- leftIcon: _optionalChain([config, 'access', _450 => _450.mobile, 'optionalAccess', _451 => _451.menuIcon]) || /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkC6ASEPZLcjs.Menu01Icon, {})
22410
+ "aria-label": _optionalChain([config, 'access', _444 => _444.mobile, 'optionalAccess', _445 => _445.isOpen]) ? "Close menu" : "Open menu",
22411
+ leftIcon: _optionalChain([config, 'access', _446 => _446.mobile, 'optionalAccess', _447 => _447.menuIcon]) || /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkC6ASEPZLcjs.Menu01Icon, {})
22416
22412
  }
22417
22413
  )
22418
22414
  ] })
@@ -22429,10 +22425,10 @@ function Header2({ config, platform }) {
22429
22425
  // src/components/navigation/header-skeleton.tsx
22430
22426
 
22431
22427
  function HeaderSkeleton({ config }) {
22432
- const showNavigation = _optionalChain([config, 'optionalAccess', _452 => _452.navigation]) && config.navigation.items.length > 0;
22433
- const showActions = _optionalChain([config, 'optionalAccess', _453 => _453.actions, 'optionalAccess', _454 => _454.right]) && config.actions.right.length > 0;
22434
- const showMobileMenu = _optionalChain([config, 'optionalAccess', _455 => _455.mobile, 'optionalAccess', _456 => _456.enabled]);
22435
- const isAdminHeader = _optionalChain([config, 'optionalAccess', _457 => _457.className, 'optionalAccess', _458 => _458.includes, 'call', _459 => _459("admin")]);
22428
+ const showNavigation = _optionalChain([config, 'optionalAccess', _448 => _448.navigation]) && config.navigation.items.length > 0;
22429
+ const showActions = _optionalChain([config, 'optionalAccess', _449 => _449.actions, 'optionalAccess', _450 => _450.right]) && config.actions.right.length > 0;
22430
+ const showMobileMenu = _optionalChain([config, 'optionalAccess', _451 => _451.mobile, 'optionalAccess', _452 => _452.enabled]);
22431
+ const isAdminHeader = _optionalChain([config, 'optionalAccess', _453 => _453.className, 'optionalAccess', _454 => _454.includes, 'call', _455 => _455("admin")]);
22436
22432
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "sticky top-0 z-40 w-full", children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
22437
22433
  "header",
22438
22434
  {
@@ -22441,11 +22437,11 @@ function HeaderSkeleton({ config }) {
22441
22437
  "bg-ods-card border-b border-ods-border backdrop-blur-sm",
22442
22438
  "px-6 py-3",
22443
22439
  "transition-opacity duration-300 ease-in-out",
22444
- _optionalChain([config, 'optionalAccess', _460 => _460.className])
22440
+ _optionalChain([config, 'optionalAccess', _456 => _456.className])
22445
22441
  ),
22446
22442
  children: [
22447
22443
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex items-center justify-start flex-shrink-0", children: [
22448
- isAdminHeader && _optionalChain([config, 'optionalAccess', _461 => _461.actions, 'optionalAccess', _462 => _462.left]) && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "mr-4", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "h-10 w-10 bg-ods-border rounded animate-pulse" }) }),
22444
+ isAdminHeader && _optionalChain([config, 'optionalAccess', _457 => _457.actions, 'optionalAccess', _458 => _458.left]) && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "mr-4", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "h-10 w-10 bg-ods-border rounded animate-pulse" }) }),
22449
22445
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex items-center gap-2", children: [
22450
22446
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "h-8 w-8 bg-ods-border rounded animate-pulse" }),
22451
22447
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "h-6 w-24 bg-ods-border rounded animate-pulse" })
@@ -22453,8 +22449,8 @@ function HeaderSkeleton({ config }) {
22453
22449
  ] }),
22454
22450
  showNavigation && /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "nav", { className: _chunkFIG2RKZFcjs.cn.call(void 0,
22455
22451
  "hidden md:flex items-center gap-2",
22456
- _optionalChain([config, 'optionalAccess', _463 => _463.navigation, 'optionalAccess', _464 => _464.position]) === "center" && "absolute left-1/2 transform -translate-x-1/2",
22457
- _optionalChain([config, 'optionalAccess', _465 => _465.navigation, 'optionalAccess', _466 => _466.position]) === "right" && "ml-auto mr-4"
22452
+ _optionalChain([config, 'optionalAccess', _459 => _459.navigation, 'optionalAccess', _460 => _460.position]) === "center" && "absolute left-1/2 transform -translate-x-1/2",
22453
+ _optionalChain([config, 'optionalAccess', _461 => _461.navigation, 'optionalAccess', _462 => _462.position]) === "right" && "ml-auto mr-4"
22458
22454
  ), children: [
22459
22455
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "h-10 w-20 bg-ods-border rounded animate-pulse" }),
22460
22456
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "h-10 w-28 bg-ods-border rounded animate-pulse" }),
@@ -22502,7 +22498,7 @@ function MobileNavPanel({ isOpen, config }) {
22502
22498
  _react.useEffect.call(void 0, () => {
22503
22499
  const handleKeyDown = (e) => {
22504
22500
  if (e.key === "Escape" && isOpen) {
22505
- _optionalChain([config, 'access', _467 => _467.onClose, 'optionalCall', _468 => _468()]);
22501
+ _optionalChain([config, 'access', _463 => _463.onClose, 'optionalCall', _464 => _464()]);
22506
22502
  }
22507
22503
  };
22508
22504
  if (isOpen) {
@@ -22519,7 +22515,7 @@ function MobileNavPanel({ isOpen, config }) {
22519
22515
  if (item.onClick) {
22520
22516
  item.onClick();
22521
22517
  }
22522
- _optionalChain([config, 'access', _469 => _469.onClose, 'optionalCall', _470 => _470()]);
22518
+ _optionalChain([config, 'access', _465 => _465.onClose, 'optionalCall', _466 => _466()]);
22523
22519
  };
22524
22520
  if (item.href) {
22525
22521
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
@@ -22737,7 +22733,7 @@ function SlidingSidebar({ config }) {
22737
22733
  variant: "transparent",
22738
22734
  size: "default",
22739
22735
  onClick: () => {
22740
- _optionalChain([item, 'access', _471 => _471.onClick, 'optionalCall', _472 => _472()]);
22736
+ _optionalChain([item, 'access', _467 => _467.onClick, 'optionalCall', _468 => _468()]);
22741
22737
  config.onClose();
22742
22738
  },
22743
22739
  leftIcon: item.icon,
@@ -22760,7 +22756,7 @@ function SlidingSidebar({ config }) {
22760
22756
  variant: "transparent",
22761
22757
  size: "default",
22762
22758
  onClick: () => {
22763
- _optionalChain([item, 'access', _473 => _473.onClick, 'optionalCall', _474 => _474()]);
22759
+ _optionalChain([item, 'access', _469 => _469.onClick, 'optionalCall', _470 => _470()]);
22764
22760
  config.onClose();
22765
22761
  },
22766
22762
  leftIcon: item.icon,
@@ -22887,7 +22883,7 @@ function StickySectionNav({
22887
22883
  ] });
22888
22884
  }
22889
22885
  function useSectionNavigation(sections, options) {
22890
- const [activeSection, setActiveSection] = _react.useState.call(void 0, _optionalChain([sections, 'access', _475 => _475[0], 'optionalAccess', _476 => _476.id]) || "");
22886
+ const [activeSection, setActiveSection] = _react.useState.call(void 0, _optionalChain([sections, 'access', _471 => _471[0], 'optionalAccess', _472 => _472.id]) || "");
22891
22887
  const isScrollingFromClick = _react.useRef.call(void 0, false);
22892
22888
  const { offset: offset2 = 100 } = options || {};
22893
22889
  const handleSectionClick = _react.useCallback.call(void 0, (sectionId) => {
@@ -22911,7 +22907,7 @@ function useSectionNavigation(sections, options) {
22911
22907
  const handleScroll = () => {
22912
22908
  if (isScrollingFromClick.current) return;
22913
22909
  const scrollPosition = window.scrollY + offset2 + 50;
22914
- let currentSection = _optionalChain([sections, 'access', _477 => _477[0], 'optionalAccess', _478 => _478.id]) || "";
22910
+ let currentSection = _optionalChain([sections, 'access', _473 => _473[0], 'optionalAccess', _474 => _474.id]) || "";
22915
22911
  for (let i = sections.length - 1; i >= 0; i--) {
22916
22912
  const element = document.getElementById(sections[i].id);
22917
22913
  if (element && scrollPosition >= element.offsetTop) {
@@ -23106,7 +23102,7 @@ function NavigationSidebar({ config, disabled = false }) {
23106
23102
  } else {
23107
23103
  setDesktopMinimized((prev) => !prev);
23108
23104
  }
23109
- _optionalChain([config, 'access', _479 => _479.onToggleMinimized, 'optionalCall', _480 => _480()]);
23105
+ _optionalChain([config, 'access', _475 => _475.onToggleMinimized, 'optionalCall', _476 => _476()]);
23110
23106
  }, [isTablet, setDesktopMinimized, config]);
23111
23107
  const closeOverlay = _react.useCallback.call(void 0, () => {
23112
23108
  setTabletMinimized(true);
@@ -23120,11 +23116,11 @@ function NavigationSidebar({ config, disabled = false }) {
23120
23116
  return () => document.removeEventListener("keydown", handleKeyDown);
23121
23117
  }, [isOverlayOpen, closeOverlay]);
23122
23118
  const handleItemClick = _react.useCallback.call(void 0, (item, event) => {
23123
- _optionalChain([event, 'optionalAccess', _481 => _481.stopPropagation, 'call', _482 => _482()]);
23119
+ _optionalChain([event, 'optionalAccess', _477 => _477.stopPropagation, 'call', _478 => _478()]);
23124
23120
  if (item.onClick) {
23125
23121
  item.onClick();
23126
23122
  } else if (item.path) {
23127
- _optionalChain([config, 'access', _483 => _483.onNavigate, 'optionalCall', _484 => _484(item.path)]);
23123
+ _optionalChain([config, 'access', _479 => _479.onNavigate, 'optionalCall', _480 => _480(item.path)]);
23128
23124
  }
23129
23125
  if (isTablet) setTabletMinimized(true);
23130
23126
  }, [config, isTablet]);
@@ -23269,11 +23265,11 @@ function HeaderGlobalSearch({
23269
23265
  };
23270
23266
  const handleSubmit = (e) => {
23271
23267
  e.preventDefault();
23272
- _optionalChain([onSubmit, 'optionalCall', _485 => _485(currentValue)]);
23268
+ _optionalChain([onSubmit, 'optionalCall', _481 => _481(currentValue)]);
23273
23269
  };
23274
23270
  const handleKeyDown = (e) => {
23275
23271
  if (e.key === "Enter") {
23276
- _optionalChain([onSubmit, 'optionalCall', _486 => _486(currentValue)]);
23272
+ _optionalChain([onSubmit, 'optionalCall', _482 => _482(currentValue)]);
23277
23273
  }
23278
23274
  };
23279
23275
  return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
@@ -23367,8 +23363,8 @@ function HeaderOrganizationFilter({
23367
23363
  className
23368
23364
  }) {
23369
23365
  const selectedOrg = organizations.find((o) => o.id === selectedOrgId);
23370
- const displayName = _optionalChain([selectedOrg, 'optionalAccess', _487 => _487.name]) || "All Organizations";
23371
- const deviceCount = _nullishCoalesce(_optionalChain([selectedOrg, 'optionalAccess', _488 => _488.deviceCount]), () => ( totalDeviceCount));
23366
+ const displayName = _optionalChain([selectedOrg, 'optionalAccess', _483 => _483.name]) || "All Organizations";
23367
+ const deviceCount = _nullishCoalesce(_optionalChain([selectedOrg, 'optionalAccess', _484 => _484.deviceCount]), () => ( totalDeviceCount));
23372
23368
  return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkTU26IZPOcjs.DropdownMenu, { children: [
23373
23369
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkTU26IZPOcjs.DropdownMenuTrigger, { asChild: true, children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
23374
23370
  "button",
@@ -23393,11 +23389,11 @@ function HeaderOrganizationFilter({
23393
23389
  }
23394
23390
  ) }),
23395
23391
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkTU26IZPOcjs.DropdownMenuContent, { align: "end", className: "min-w-[240px]", children: [
23396
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkTU26IZPOcjs.DropdownMenuItem, { onClick: () => _optionalChain([onOrgChange, 'optionalCall', _489 => _489("")]), children: "All Organizations" }),
23392
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkTU26IZPOcjs.DropdownMenuItem, { onClick: () => _optionalChain([onOrgChange, 'optionalCall', _485 => _485("")]), children: "All Organizations" }),
23397
23393
  organizations.map((org) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
23398
23394
  _chunkTU26IZPOcjs.DropdownMenuItem,
23399
23395
  {
23400
- onClick: () => _optionalChain([onOrgChange, 'optionalCall', _490 => _490(org.id)]),
23396
+ onClick: () => _optionalChain([onOrgChange, 'optionalCall', _486 => _486(org.id)]),
23401
23397
  children: org.name
23402
23398
  },
23403
23399
  org.id
@@ -23582,9 +23578,9 @@ function NotificationsHeaderButton({
23582
23578
  dimmedClass
23583
23579
  }) {
23584
23580
  const ctx = useOptionalNotifications();
23585
- const hasUnread = (_nullishCoalesce(_optionalChain([ctx, 'optionalAccess', _491 => _491.unreadCount]), () => ( fallbackUnreadCount))) > 0;
23586
- const isActive = _nullishCoalesce(_optionalChain([ctx, 'optionalAccess', _492 => _492.isOpen]), () => ( false));
23587
- const onClick = _optionalChain([ctx, 'optionalAccess', _493 => _493.toggle]);
23581
+ const hasUnread = (_nullishCoalesce(_optionalChain([ctx, 'optionalAccess', _487 => _487.unreadCount]), () => ( fallbackUnreadCount))) > 0;
23582
+ const isActive = _nullishCoalesce(_optionalChain([ctx, 'optionalAccess', _488 => _488.isOpen]), () => ( false));
23583
+ const onClick = _optionalChain([ctx, 'optionalAccess', _489 => _489.toggle]);
23588
23584
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
23589
23585
  HeaderButton,
23590
23586
  {
@@ -23648,7 +23644,7 @@ var MobileBurgerMenu = React89.default.memo(function MobileBurgerMenu2({
23648
23644
  if (item.onClick) {
23649
23645
  item.onClick();
23650
23646
  } else if (item.path) {
23651
- _optionalChain([config, 'access', _494 => _494.onNavigate, 'optionalCall', _495 => _495(item.path)]);
23647
+ _optionalChain([config, 'access', _490 => _490.onNavigate, 'optionalCall', _491 => _491(item.path)]);
23652
23648
  }
23653
23649
  onClose();
23654
23650
  }, [config, onClose]);
@@ -23891,7 +23887,7 @@ var AppLayoutDrawerRoot = ({
23891
23887
  const handleOpenChange = React82.useCallback(
23892
23888
  (next) => {
23893
23889
  if (!isControlled) setInternalOpen(next);
23894
- _optionalChain([onOpenChange, 'optionalCall', _496 => _496(next)]);
23890
+ _optionalChain([onOpenChange, 'optionalCall', _492 => _492(next)]);
23895
23891
  },
23896
23892
  [isControlled, onOpenChange]
23897
23893
  );
@@ -24272,10 +24268,10 @@ var AppLayoutDrawerContent = React82.forwardRef(
24272
24268
  ),
24273
24269
  style,
24274
24270
  onInteractOutside: (event) => {
24275
- _optionalChain([onInteractOutside, 'optionalCall', _497 => _497(event)]);
24271
+ _optionalChain([onInteractOutside, 'optionalCall', _493 => _493(event)]);
24276
24272
  if (event.defaultPrevented) return;
24277
24273
  const target = event.target;
24278
- const isInsideContainer = !!target && !!_optionalChain([portalContainer, 'optionalAccess', _498 => _498.contains, 'call', _499 => _499(target)]);
24274
+ const isInsideContainer = !!target && !!_optionalChain([portalContainer, 'optionalAccess', _494 => _494.contains, 'call', _495 => _495(target)]);
24279
24275
  if (!isInsideContainer) {
24280
24276
  event.preventDefault();
24281
24277
  return;
@@ -24464,7 +24460,7 @@ var ShellTypeBadge = ({
24464
24460
  className,
24465
24461
  iconClassName
24466
24462
  }) => {
24467
- const normalizedType = _optionalChain([shellType, 'optionalAccess', _500 => _500.toUpperCase, 'call', _501 => _501()]);
24463
+ const normalizedType = _optionalChain([shellType, 'optionalAccess', _496 => _496.toUpperCase, 'call', _497 => _497()]);
24468
24464
  const label = getShellLabel(normalizedType);
24469
24465
  const { icon: IconComponent, props: iconProps } = _nullishCoalesce(shellIconMap[normalizedType], () => ( defaultIconConfig));
24470
24466
  const defaultIconClassName = "className" in iconProps ? iconProps.className : void 0;
@@ -24851,12 +24847,12 @@ function OnboardingWalkthrough({
24851
24847
  }
24852
24848
  }, [state.completedSteps, markComplete]);
24853
24849
  const handleStepSkip = (step) => {
24854
- _optionalChain([step, 'access', _502 => _502.onSkip, 'optionalCall', _503 => _503()]);
24850
+ _optionalChain([step, 'access', _498 => _498.onSkip, 'optionalCall', _499 => _499()]);
24855
24851
  markSkipped(step.id);
24856
24852
  };
24857
24853
  const handleDismiss = () => {
24858
24854
  dismissOnboarding();
24859
- _optionalChain([onDismiss, 'optionalCall', _504 => _504()]);
24855
+ _optionalChain([onDismiss, 'optionalCall', _500 => _500()]);
24860
24856
  };
24861
24857
  if (state.dismissed) {
24862
24858
  return null;
@@ -24986,7 +24982,7 @@ var LogCard = ({ log, isLast, showConnector, onClick }) => {
24986
24982
  onKeyDown: (e) => {
24987
24983
  if (e.key === "Enter" || e.key === " ") {
24988
24984
  e.preventDefault();
24989
- _optionalChain([onClick, 'optionalCall', _505 => _505()]);
24985
+ _optionalChain([onClick, 'optionalCall', _501 => _501()]);
24990
24986
  }
24991
24987
  },
24992
24988
  children: [
@@ -25087,7 +25083,7 @@ var LogsList = React86.forwardRef(({
25087
25083
  log,
25088
25084
  isLast: index === logs.length - 1,
25089
25085
  showConnector,
25090
- onClick: () => _optionalChain([onLogClick, 'optionalCall', _506 => _506(log)])
25086
+ onClick: () => _optionalChain([onLogClick, 'optionalCall', _502 => _502(log)])
25091
25087
  },
25092
25088
  log.id
25093
25089
  ))
@@ -25188,7 +25184,7 @@ var Slider = React88.forwardRef(
25188
25184
  ({ className, value = [0], onValueChange, min = 0, max = 100, step = 1, ...props }, ref) => {
25189
25185
  const handleChange = (e) => {
25190
25186
  const newValue = [Number(e.target.value)];
25191
- _optionalChain([onValueChange, 'optionalCall', _507 => _507(newValue)]);
25187
+ _optionalChain([onValueChange, 'optionalCall', _503 => _503(newValue)]);
25192
25188
  };
25193
25189
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
25194
25190
  "input",
@@ -25500,7 +25496,7 @@ function CursorPaginationSimple({
25500
25496
  {
25501
25497
  variant: "transparent",
25502
25498
  size: "icon",
25503
- onClick: () => _optionalChain([onPrevious, 'optionalCall', _508 => _508("")]),
25499
+ onClick: () => _optionalChain([onPrevious, 'optionalCall', _504 => _504("")]),
25504
25500
  disabled: !hasPreviousPage || loading,
25505
25501
  className: "h-8 w-8",
25506
25502
  leftIcon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _lucidereact.ChevronLeft, { className: "h-4 w-4" }),
@@ -25512,7 +25508,7 @@ function CursorPaginationSimple({
25512
25508
  {
25513
25509
  variant: "transparent",
25514
25510
  size: "icon",
25515
- onClick: () => _optionalChain([onNext, 'optionalCall', _509 => _509("")]),
25511
+ onClick: () => _optionalChain([onNext, 'optionalCall', _505 => _505("")]),
25516
25512
  disabled: !hasNextPage || loading,
25517
25513
  className: "h-8 w-8",
25518
25514
  rightIcon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _lucidereact.ChevronRight, { className: "h-4 w-4" }),
@@ -25572,7 +25568,7 @@ function TableColumnFilterDropdown({
25572
25568
  placement = "bottom-start",
25573
25569
  dropdownClassName = "min-w-[240px]"
25574
25570
  }) {
25575
- const activeCount = _optionalChain([filters, 'optionalAccess', _510 => _510[columnKey], 'optionalAccess', _511 => _511.length]) || 0;
25571
+ const activeCount = _optionalChain([filters, 'optionalAccess', _506 => _506[columnKey], 'optionalAccess', _507 => _507.length]) || 0;
25576
25572
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
25577
25573
  FiltersDropdown,
25578
25574
  {
@@ -25615,7 +25611,7 @@ function TableColumnFilterDropdown({
25615
25611
  delete newFilters[columnKey];
25616
25612
  onFilterChange(newFilters);
25617
25613
  },
25618
- currentFilters: { [columnKey]: _optionalChain([filters, 'optionalAccess', _512 => _512[columnKey]]) || [] },
25614
+ currentFilters: { [columnKey]: _optionalChain([filters, 'optionalAccess', _508 => _508[columnKey]]) || [] },
25619
25615
  placement,
25620
25616
  dropdownClassName
25621
25617
  }
@@ -25912,7 +25908,7 @@ function TableRow({
25912
25908
  const keys = column.key.split(".");
25913
25909
  let value = item;
25914
25910
  for (const key of keys) {
25915
- value = _optionalChain([value, 'optionalAccess', _513 => _513[key]]);
25911
+ value = _optionalChain([value, 'optionalAccess', _509 => _509[key]]);
25916
25912
  }
25917
25913
  if (value === null || value === void 0) {
25918
25914
  return "-";
@@ -25982,7 +25978,7 @@ function TableRow({
25982
25978
  // src/components/ui/table/table.tsx
25983
25979
 
25984
25980
  function injectSyntheticColumns(columns, rowActions, renderRowActions, rowHref) {
25985
- const hasActions = Boolean(_optionalChain([rowActions, 'optionalAccess', _514 => _514.length])) || Boolean(renderRowActions);
25981
+ const hasActions = Boolean(_optionalChain([rowActions, 'optionalAccess', _510 => _510.length])) || Boolean(renderRowActions);
25986
25982
  const result = [...columns];
25987
25983
  if (hasActions) {
25988
25984
  const actionsColumn = {
@@ -26076,7 +26072,7 @@ function Table({
26076
26072
  return rowKey(item);
26077
26073
  }
26078
26074
  const key = item[rowKey];
26079
- return _optionalChain([key, 'optionalAccess', _515 => _515.toString, 'call', _516 => _516()]) || index.toString();
26075
+ return _optionalChain([key, 'optionalAccess', _511 => _511.toString, 'call', _512 => _512()]) || index.toString();
26080
26076
  };
26081
26077
  const getRowClassName = (item, index) => {
26082
26078
  if (typeof rowClassName === "function") {
@@ -26110,23 +26106,23 @@ function Table({
26110
26106
  const allSelected = selectedRows.length > 0 && selectedRows.length === data.length;
26111
26107
  const someSelected = selectedRows.length > 0 && selectedRows.length < data.length;
26112
26108
  const sentinelRef = _react.useRef.call(void 0, null);
26113
- const onLoadMoreRef = _react.useRef.call(void 0, _optionalChain([infiniteScroll, 'optionalAccess', _517 => _517.onLoadMore]));
26114
- onLoadMoreRef.current = _optionalChain([infiniteScroll, 'optionalAccess', _518 => _518.onLoadMore]);
26109
+ const onLoadMoreRef = _react.useRef.call(void 0, _optionalChain([infiniteScroll, 'optionalAccess', _513 => _513.onLoadMore]));
26110
+ onLoadMoreRef.current = _optionalChain([infiniteScroll, 'optionalAccess', _514 => _514.onLoadMore]);
26115
26111
  _react.useEffect.call(void 0, () => {
26116
- if (!_optionalChain([infiniteScroll, 'optionalAccess', _519 => _519.hasNextPage]) || infiniteScroll.isFetchingNextPage) return;
26112
+ if (!_optionalChain([infiniteScroll, 'optionalAccess', _515 => _515.hasNextPage]) || infiniteScroll.isFetchingNextPage) return;
26117
26113
  const sentinel = sentinelRef.current;
26118
26114
  if (!sentinel) return;
26119
26115
  const observer = new IntersectionObserver(
26120
26116
  (entries) => {
26121
- if (_optionalChain([entries, 'access', _520 => _520[0], 'optionalAccess', _521 => _521.isIntersecting])) {
26122
- _optionalChain([onLoadMoreRef, 'access', _522 => _522.current, 'optionalCall', _523 => _523()]);
26117
+ if (_optionalChain([entries, 'access', _516 => _516[0], 'optionalAccess', _517 => _517.isIntersecting])) {
26118
+ _optionalChain([onLoadMoreRef, 'access', _518 => _518.current, 'optionalCall', _519 => _519()]);
26123
26119
  }
26124
26120
  },
26125
26121
  { rootMargin: "200px" }
26126
26122
  );
26127
26123
  observer.observe(sentinel);
26128
26124
  return () => observer.disconnect();
26129
- }, [_optionalChain([infiniteScroll, 'optionalAccess', _524 => _524.hasNextPage]), _optionalChain([infiniteScroll, 'optionalAccess', _525 => _525.isFetchingNextPage])]);
26125
+ }, [_optionalChain([infiniteScroll, 'optionalAccess', _520 => _520.hasNextPage]), _optionalChain([infiniteScroll, 'optionalAccess', _521 => _521.isFetchingNextPage])]);
26130
26126
  return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: _chunkFIG2RKZFcjs.cn.call(void 0, "flex flex-col gap-1 w-full", containerClassName), children: [
26131
26127
  showToolbar && bulkActions && selectedRows.length > 0 && /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex items-center justify-between bg-ods-card border border-ods-border rounded-[6px] p-3 mb-2", children: [
26132
26128
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: "text-ods-text-secondary text-sm", children: [
@@ -26197,7 +26193,7 @@ function Table({
26197
26193
  },
26198
26194
  getRowKey(item, index)
26199
26195
  )),
26200
- _optionalChain([infiniteScroll, 'optionalAccess', _526 => _526.isFetchingNextPage]) && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
26196
+ _optionalChain([infiniteScroll, 'optionalAccess', _522 => _522.isFetchingNextPage]) && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
26201
26197
  TableCardSkeleton,
26202
26198
  {
26203
26199
  columns,
@@ -26206,7 +26202,7 @@ function Table({
26206
26202
  hasChevron: Boolean(rowHref)
26207
26203
  }
26208
26204
  ),
26209
- _optionalChain([infiniteScroll, 'optionalAccess', _527 => _527.hasNextPage]) && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { ref: sentinelRef, className: "h-1", "aria-hidden": "true" }),
26205
+ _optionalChain([infiniteScroll, 'optionalAccess', _523 => _523.hasNextPage]) && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { ref: sentinelRef, className: "h-1", "aria-hidden": "true" }),
26210
26206
  !infiniteScroll && Array.from({ length: Math.max(0, skeletonRows - data.length) }).map((_, index) => /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
26211
26207
  "div",
26212
26208
  {
@@ -26564,7 +26560,7 @@ function QueryReportTable({
26564
26560
  );
26565
26561
  const handleExport = () => {
26566
26562
  exportToCSV(data, columns, exportFilename);
26567
- _optionalChain([onExport, 'optionalCall', _528 => _528()]);
26563
+ _optionalChain([onExport, 'optionalCall', _524 => _524()]);
26568
26564
  };
26569
26565
  const tableMinWidth = columns.length * (columnWidth + 16);
26570
26566
  const {
@@ -26737,7 +26733,7 @@ function DataTableColumnFilter({
26737
26733
  align = "left"
26738
26734
  }) {
26739
26735
  const currentValue = column.getFilterValue();
26740
- const activeCount = _nullishCoalesce(_optionalChain([currentValue, 'optionalAccess', _529 => _529.length]), () => ( 0));
26736
+ const activeCount = _nullishCoalesce(_optionalChain([currentValue, 'optionalAccess', _525 => _525.length]), () => ( 0));
26741
26737
  const sections = _react.useMemo.call(void 0,
26742
26738
  () => [
26743
26739
  {
@@ -26817,7 +26813,7 @@ function DataTableHeader({
26817
26813
  const hasVisibleHeaderCell = headerGroup.headers.some((header) => {
26818
26814
  if (header.isPlaceholder) return false;
26819
26815
  if (isLgUp) return true;
26820
- return Boolean(_optionalChain([header, 'access', _530 => _530.column, 'access', _531 => _531.columnDef, 'access', _532 => _532.meta, 'optionalAccess', _533 => _533.filter]));
26816
+ return Boolean(_optionalChain([header, 'access', _526 => _526.column, 'access', _527 => _527.columnDef, 'access', _528 => _528.meta, 'optionalAccess', _529 => _529.filter]));
26821
26817
  });
26822
26818
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
26823
26819
  "div",
@@ -26847,20 +26843,20 @@ function HeaderCell({ header, isLgUp, sort, onSortChange }) {
26847
26843
  if (header.isPlaceholder) return null;
26848
26844
  const column = header.column;
26849
26845
  const meta = column.columnDef.meta;
26850
- const hasFilter = Boolean(_optionalChain([meta, 'optionalAccess', _534 => _534.filter]));
26851
- const align = _nullishCoalesce(_optionalChain([meta, 'optionalAccess', _535 => _535.align]), () => ( "left"));
26852
- const canSort = _optionalChain([meta, 'optionalAccess', _536 => _536.sortable]) === true;
26853
- const sortDir = _optionalChain([sort, 'optionalAccess', _537 => _537.id]) === column.id ? sort.desc ? "desc" : "asc" : false;
26846
+ const hasFilter = Boolean(_optionalChain([meta, 'optionalAccess', _530 => _530.filter]));
26847
+ const align = _nullishCoalesce(_optionalChain([meta, 'optionalAccess', _531 => _531.align]), () => ( "left"));
26848
+ const canSort = _optionalChain([meta, 'optionalAccess', _532 => _532.sortable]) === true;
26849
+ const sortDir = _optionalChain([sort, 'optionalAccess', _533 => _533.id]) === column.id ? sort.desc ? "desc" : "asc" : false;
26854
26850
  if (!isLgUp && !hasFilter) return null;
26855
26851
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
26856
26852
  "div",
26857
26853
  {
26858
26854
  className: _chunkFIG2RKZFcjs.cn.call(void 0,
26859
26855
  "flex items-stretch",
26860
- isLgUp && (_optionalChain([meta, 'optionalAccess', _538 => _538.width]) || "flex-1 min-w-0"),
26861
- _optionalChain([meta, 'optionalAccess', _539 => _539.headerClassName]),
26856
+ isLgUp && (_optionalChain([meta, 'optionalAccess', _534 => _534.width]) || "flex-1 min-w-0"),
26857
+ _optionalChain([meta, 'optionalAccess', _535 => _535.headerClassName]),
26862
26858
  // Don't apply hide classes if column is filterable on tablet (keep filter accessible)
26863
- !(hasFilter && !isLgUp) && getHideClasses2(_optionalChain([meta, 'optionalAccess', _540 => _540.hideAt]))
26859
+ !(hasFilter && !isLgUp) && getHideClasses2(_optionalChain([meta, 'optionalAccess', _536 => _536.hideAt]))
26864
26860
  ),
26865
26861
  children: hasFilter ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
26866
26862
  DataTableColumnFilter,
@@ -26879,7 +26875,7 @@ function HeaderCell({ header, isLgUp, sort, onSortChange }) {
26879
26875
  isLgUp && alignJustify(align),
26880
26876
  canSort && "group cursor-pointer"
26881
26877
  ),
26882
- onClick: canSort ? () => _optionalChain([onSortChange, 'optionalCall', _541 => _541(column.id)]) : void 0,
26878
+ onClick: canSort ? () => _optionalChain([onSortChange, 'optionalCall', _537 => _537(column.id)]) : void 0,
26883
26879
  children: [
26884
26880
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, HeaderLabel, { header }),
26885
26881
  canSort && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, SortIcon, { sorted: sortDir })
@@ -26963,7 +26959,7 @@ function DataTableSkeleton({
26963
26959
  }) {
26964
26960
  const table = useDataTableContext();
26965
26961
  const columns = table.getVisibleFlatColumns();
26966
- const firstColumnId = _optionalChain([columns, 'access', _542 => _542[0], 'optionalAccess', _543 => _543.id]);
26962
+ const firstColumnId = _optionalChain([columns, 'access', _538 => _538[0], 'optionalAccess', _539 => _539.id]);
26967
26963
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _jsxruntime.Fragment, { children: Array.from({ length: rows }).map((_, index) => /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
26968
26964
  "div",
26969
26965
  {
@@ -26987,7 +26983,7 @@ function DataTableSkeleton({
26987
26983
  {
26988
26984
  className: _chunkFIG2RKZFcjs.cn.call(void 0,
26989
26985
  "flex flex-col justify-center shrink-0",
26990
- _optionalChain([meta, 'optionalAccess', _544 => _544.width]) || "flex-1"
26986
+ _optionalChain([meta, 'optionalAccess', _540 => _540.width]) || "flex-1"
26991
26987
  ),
26992
26988
  children: [
26993
26989
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "h-5 bg-ods-bg-surface rounded-sm w-3/4 mb-[var(--spacing-system-xxs)]" }),
@@ -27036,7 +27032,7 @@ function DataTableRowImpl({
27036
27032
  const handleClick = _react.useCallback.call(void 0,
27037
27033
  (e) => {
27038
27034
  const target = e.target;
27039
- if (!_optionalChain([containerRef, 'access', _545 => _545.current, 'optionalAccess', _546 => _546.contains, 'call', _547 => _547(target)])) {
27035
+ if (!_optionalChain([containerRef, 'access', _541 => _541.current, 'optionalAccess', _542 => _542.contains, 'call', _543 => _543(target)])) {
27040
27036
  if (isLinkMode) e.preventDefault();
27041
27037
  return;
27042
27038
  }
@@ -27044,7 +27040,7 @@ function DataTableRowImpl({
27044
27040
  if (isLinkMode) e.preventDefault();
27045
27041
  return;
27046
27042
  }
27047
- _optionalChain([onClick, 'optionalCall', _548 => _548(row.original)]);
27043
+ _optionalChain([onClick, 'optionalCall', _544 => _544(row.original)]);
27048
27044
  },
27049
27045
  [onClick, row.original, isLinkMode]
27050
27046
  );
@@ -27069,10 +27065,10 @@ function DataTableRowImpl({
27069
27065
  {
27070
27066
  className: _chunkFIG2RKZFcjs.cn.call(void 0,
27071
27067
  "flex flex-col overflow-hidden",
27072
- alignJustify(_optionalChain([meta, 'optionalAccess', _549 => _549.align])),
27073
- _optionalChain([meta, 'optionalAccess', _550 => _550.width]) || "flex-1 min-w-0",
27074
- _optionalChain([meta, 'optionalAccess', _551 => _551.cellClassName]),
27075
- getHideClasses2(_optionalChain([meta, 'optionalAccess', _552 => _552.hideAt]))
27068
+ alignJustify(_optionalChain([meta, 'optionalAccess', _545 => _545.align])),
27069
+ _optionalChain([meta, 'optionalAccess', _546 => _546.width]) || "flex-1 min-w-0",
27070
+ _optionalChain([meta, 'optionalAccess', _547 => _547.cellClassName]),
27071
+ getHideClasses2(_optionalChain([meta, 'optionalAccess', _548 => _548.hideAt]))
27076
27072
  ),
27077
27073
  children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, CellContent, { children: _reacttable.flexRender.call(void 0, cell.column.columnDef.cell, cell.getContext()) })
27078
27074
  },
@@ -27150,7 +27146,7 @@ function DataTableBody({
27150
27146
  return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: _chunkFIG2RKZFcjs.cn.call(void 0, "flex flex-col gap-[var(--spacing-system-xsf)] w-full", className), children: [
27151
27147
  rows.map((row, index) => {
27152
27148
  const item = row.original;
27153
- const href = _nullishCoalesce(_optionalChain([rowHref, 'optionalCall', _553 => _553(item)]), () => ( void 0));
27149
+ const href = _nullishCoalesce(_optionalChain([rowHref, 'optionalCall', _549 => _549(item)]), () => ( void 0));
27154
27150
  const cls = typeof rowClassName === "function" ? rowClassName(item, index) : rowClassName;
27155
27151
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
27156
27152
  DataTableRow,
@@ -27160,7 +27156,7 @@ function DataTableBody({
27160
27156
  href,
27161
27157
  compact,
27162
27158
  className: cls,
27163
- subRow: _optionalChain([renderSubRow, 'optionalCall', _554 => _554(item)])
27159
+ subRow: _optionalChain([renderSubRow, 'optionalCall', _550 => _550(item)])
27164
27160
  },
27165
27161
  row.id
27166
27162
  );
@@ -27215,7 +27211,7 @@ function DataTableInfiniteFooter({
27215
27211
  if (!sentinel) return;
27216
27212
  const observer = new IntersectionObserver(
27217
27213
  (entries) => {
27218
- if (_optionalChain([entries, 'access', _555 => _555[0], 'optionalAccess', _556 => _556.isIntersecting])) onLoadMoreRef.current();
27214
+ if (_optionalChain([entries, 'access', _551 => _551[0], 'optionalAccess', _552 => _552.isIntersecting])) onLoadMoreRef.current();
27219
27215
  },
27220
27216
  { rootMargin }
27221
27217
  );
@@ -27263,7 +27259,7 @@ function DataTableRowCount({
27263
27259
  const table = useDataTableContext();
27264
27260
  const count = _nullishCoalesce(totalCount, () => ( table.getRowModel().rows.length));
27265
27261
  if (hideWhenEmpty && count === 0) return null;
27266
- const label = _nullishCoalesce(_optionalChain([pluralize, 'optionalCall', _557 => _557(count, itemName)]), () => ( (count === 1 ? itemName : `${itemName}s`)));
27262
+ const label = _nullishCoalesce(_optionalChain([pluralize, 'optionalCall', _553 => _553(count, itemName)]), () => ( (count === 1 ? itemName : `${itemName}s`)));
27267
27263
  return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
27268
27264
  "span",
27269
27265
  {
@@ -27348,7 +27344,7 @@ function FilterListItem({
27348
27344
  }) {
27349
27345
  const handleToggle = () => {
27350
27346
  if (disabled) return;
27351
- _optionalChain([onToggle, 'optionalCall', _558 => _558(!selected)]);
27347
+ _optionalChain([onToggle, 'optionalCall', _554 => _554(!selected)]);
27352
27348
  };
27353
27349
  return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
27354
27350
  "div",
@@ -27395,7 +27391,7 @@ function FilterListItem({
27395
27391
  CheckboxPrimitive4.Root,
27396
27392
  {
27397
27393
  checked: selected,
27398
- onCheckedChange: (c) => _optionalChain([onToggle, 'optionalCall', _559 => _559(c === true)]),
27394
+ onCheckedChange: (c) => _optionalChain([onToggle, 'optionalCall', _555 => _555(c === true)]),
27399
27395
  onClick: (e) => e.stopPropagation(),
27400
27396
  disabled,
27401
27397
  "aria-label": title,
@@ -27494,7 +27490,7 @@ function TagSearchInput({
27494
27490
  if (!showHiddenTags) return;
27495
27491
  const handleClick = (e) => {
27496
27492
  const target = e.target;
27497
- if (!_optionalChain([hiddenTagsRef, 'access', _560 => _560.current, 'optionalAccess', _561 => _561.contains, 'call', _562 => _562(target)]) && !_optionalChain([hiddenTagsPopupRef, 'access', _563 => _563.current, 'optionalAccess', _564 => _564.contains, 'call', _565 => _565(target)])) {
27493
+ if (!_optionalChain([hiddenTagsRef, 'access', _556 => _556.current, 'optionalAccess', _557 => _557.contains, 'call', _558 => _558(target)]) && !_optionalChain([hiddenTagsPopupRef, 'access', _559 => _559.current, 'optionalAccess', _560 => _560.contains, 'call', _561 => _561(target)])) {
27498
27494
  setShowHiddenTags(false);
27499
27495
  }
27500
27496
  };
@@ -27510,13 +27506,13 @@ function TagSearchInput({
27510
27506
  e.preventDefault();
27511
27507
  onSubmit(searchValue);
27512
27508
  }
27513
- _optionalChain([onKeyDown, 'optionalCall', _566 => _566(e)]);
27509
+ _optionalChain([onKeyDown, 'optionalCall', _562 => _562(e)]);
27514
27510
  };
27515
27511
  const handleClearAll = (e) => {
27516
27512
  e.stopPropagation();
27517
27513
  e.preventDefault();
27518
- _optionalChain([onClearAll, 'optionalCall', _567 => _567()]);
27519
- _optionalChain([inputRef, 'access', _568 => _568.current, 'optionalAccess', _569 => _569.focus, 'call', _570 => _570()]);
27514
+ _optionalChain([onClearAll, 'optionalCall', _563 => _563()]);
27515
+ _optionalChain([inputRef, 'access', _564 => _564.current, 'optionalAccess', _565 => _565.focus, 'call', _566 => _566()]);
27520
27516
  };
27521
27517
  return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { ref: wrapperRef, className: "relative", children: [
27522
27518
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
@@ -27533,7 +27529,7 @@ function TagSearchInput({
27533
27529
  className
27534
27530
  ),
27535
27531
  onClick: () => {
27536
- if (!disabled) _optionalChain([inputRef, 'access', _571 => _571.current, 'optionalAccess', _572 => _572.focus, 'call', _573 => _573()]);
27532
+ if (!disabled) _optionalChain([inputRef, 'access', _567 => _567.current, 'optionalAccess', _568 => _568.focus, 'call', _569 => _569()]);
27537
27533
  },
27538
27534
  children: [
27539
27535
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "shrink-0 flex items-center pl-3", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkWZW7C7TFcjs.SearchIcon, { className: "text-ods-text-secondary size-4 md:size-6" }) }),
@@ -27605,7 +27601,7 @@ function TagSearchInput({
27605
27601
  items: hiddenTags,
27606
27602
  disabled,
27607
27603
  style: {
27608
- left: badgeRef.current ? badgeRef.current.getBoundingClientRect().left - (_nullishCoalesce(_optionalChain([wrapperRef, 'access', _574 => _574.current, 'optionalAccess', _575 => _575.getBoundingClientRect, 'call', _576 => _576(), 'access', _577 => _577.left]), () => ( 0))) : 0
27604
+ left: badgeRef.current ? badgeRef.current.getBoundingClientRect().left - (_nullishCoalesce(_optionalChain([wrapperRef, 'access', _570 => _570.current, 'optionalAccess', _571 => _571.getBoundingClientRect, 'call', _572 => _572(), 'access', _573 => _573.left]), () => ( 0))) : 0
27609
27605
  },
27610
27606
  onRemove: (value) => {
27611
27607
  onTagRemove(value);
@@ -27706,7 +27702,7 @@ function MarkdownEditor({
27706
27702
  const [defaultExtraCommands, setDefaultExtraCommands] = _react.useState.call(void 0, []);
27707
27703
  _react.useEffect.call(void 0, () => {
27708
27704
  Promise.resolve().then(() => _interopRequireWildcard(require("@uiw/react-md-editor"))).then((mod) => {
27709
- if (_optionalChain([mod, 'access', _578 => _578.commands, 'optionalAccess', _579 => _579.getExtraCommands])) {
27705
+ if (_optionalChain([mod, 'access', _574 => _574.commands, 'optionalAccess', _575 => _575.getExtraCommands])) {
27710
27706
  setDefaultExtraCommands(mod.commands.getExtraCommands());
27711
27707
  }
27712
27708
  });
@@ -27740,7 +27736,7 @@ function MarkdownEditor({
27740
27736
  const isImage = file.type.startsWith("image/");
27741
27737
  const markdown = isImage ? `![${file.name}](${url})` : `[${file.name}](${url})`;
27742
27738
  insertTextAtCursor(markdown);
27743
- _optionalChain([onFileUploaded, 'optionalCall', _580 => _580(url, file.name)]);
27739
+ _optionalChain([onFileUploaded, 'optionalCall', _576 => _576(url, file.name)]);
27744
27740
  } catch (error) {
27745
27741
  console.error("File upload failed:", error);
27746
27742
  setUploadProgress("Upload failed. Please try again.");
@@ -27753,7 +27749,7 @@ function MarkdownEditor({
27753
27749
  );
27754
27750
  const handleFileInputChange = _react.useCallback.call(void 0,
27755
27751
  (e) => {
27756
- const file = _optionalChain([e, 'access', _581 => _581.target, 'access', _582 => _582.files, 'optionalAccess', _583 => _583[0]]);
27752
+ const file = _optionalChain([e, 'access', _577 => _577.target, 'access', _578 => _578.files, 'optionalAccess', _579 => _579[0]]);
27757
27753
  if (file) {
27758
27754
  handleFileUpload(file);
27759
27755
  e.target.value = "";
@@ -27764,7 +27760,7 @@ function MarkdownEditor({
27764
27760
  const handlePaste = _react.useCallback.call(void 0,
27765
27761
  (e) => {
27766
27762
  if (!onUploadFile) return;
27767
- const items = _optionalChain([e, 'access', _584 => _584.clipboardData, 'optionalAccess', _585 => _585.items]);
27763
+ const items = _optionalChain([e, 'access', _580 => _580.clipboardData, 'optionalAccess', _581 => _581.items]);
27768
27764
  if (!items) return;
27769
27765
  for (const item of items) {
27770
27766
  if (item.type.startsWith("image/")) {
@@ -27789,7 +27785,7 @@ function MarkdownEditor({
27789
27785
  buttonProps: { "aria-label": "Upload file", title: "Upload file" },
27790
27786
  icon: isUploading ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _lucidereact.Loader2, { className: "w-3 h-3 animate-spin" }) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _lucidereact.Upload, { className: "w-3 h-3" }),
27791
27787
  execute: () => {
27792
- _optionalChain([fileInputRef, 'access', _586 => _586.current, 'optionalAccess', _587 => _587.click, 'call', _588 => _588()]);
27788
+ _optionalChain([fileInputRef, 'access', _582 => _582.current, 'optionalAccess', _583 => _583.click, 'call', _584 => _584()]);
27793
27789
  }
27794
27790
  } : null;
27795
27791
  const extraCommands = uploadCommand ? [...defaultExtraCommands, uploadCommand] : defaultExtraCommands;
@@ -27801,7 +27797,7 @@ function MarkdownEditor({
27801
27797
  const EDGE_ZONE = 60;
27802
27798
  const MAX_SCROLL_SPEED = 15;
27803
27799
  const findScrollParent = _react.useCallback.call(void 0, (el) => {
27804
- let node = _optionalChain([el, 'optionalAccess', _589 => _589.parentElement]);
27800
+ let node = _optionalChain([el, 'optionalAccess', _585 => _585.parentElement]);
27805
27801
  while (node && node !== document.documentElement) {
27806
27802
  const { overflowY } = window.getComputedStyle(node);
27807
27803
  if ((overflowY === "auto" || overflowY === "scroll") && node.scrollHeight > node.clientHeight) {
@@ -27944,7 +27940,7 @@ function matchesAccept(file, accept) {
27944
27940
  });
27945
27941
  }
27946
27942
  function dragHasFiles(e) {
27947
- const types = _optionalChain([e, 'access', _590 => _590.dataTransfer, 'optionalAccess', _591 => _591.types]);
27943
+ const types = _optionalChain([e, 'access', _586 => _586.dataTransfer, 'optionalAccess', _587 => _587.types]);
27948
27944
  if (!types) return false;
27949
27945
  for (let i = 0; i < types.length; i++) {
27950
27946
  if (types[i] === "Files") return true;
@@ -28039,7 +28035,7 @@ function FileUpload({
28039
28035
  e.stopPropagation();
28040
28036
  setDragActive(false);
28041
28037
  if (disabled) return;
28042
- if (_optionalChain([e, 'access', _592 => _592.dataTransfer, 'access', _593 => _593.files, 'optionalAccess', _594 => _594.length])) {
28038
+ if (_optionalChain([e, 'access', _588 => _588.dataTransfer, 'access', _589 => _589.files, 'optionalAccess', _590 => _590.length])) {
28043
28039
  handleFiles(e.dataTransfer.files);
28044
28040
  }
28045
28041
  };
@@ -28067,7 +28063,7 @@ function FileUpload({
28067
28063
  e.preventDefault();
28068
28064
  dragCounter = 0;
28069
28065
  setDragActive(false);
28070
- if (_optionalChain([e, 'access', _595 => _595.dataTransfer, 'optionalAccess', _596 => _596.files, 'optionalAccess', _597 => _597.length])) {
28066
+ if (_optionalChain([e, 'access', _591 => _591.dataTransfer, 'optionalAccess', _592 => _592.files, 'optionalAccess', _593 => _593.length])) {
28071
28067
  handleFilesRef.current(e.dataTransfer.files);
28072
28068
  }
28073
28069
  };
@@ -28089,7 +28085,7 @@ function FileUpload({
28089
28085
  };
28090
28086
  }, [acceptWindowDrops, disabled]);
28091
28087
  const handleFileSelect = (e) => {
28092
- if (_optionalChain([e, 'access', _598 => _598.target, 'access', _599 => _599.files, 'optionalAccess', _600 => _600.length])) {
28088
+ if (_optionalChain([e, 'access', _594 => _594.target, 'access', _595 => _595.files, 'optionalAccess', _596 => _596.length])) {
28093
28089
  handleFiles(e.target.files);
28094
28090
  }
28095
28091
  };
@@ -28106,7 +28102,7 @@ function FileUpload({
28106
28102
  };
28107
28103
  const openDialog = async () => {
28108
28104
  if (disabled) return;
28109
- _optionalChain([fileInputRef, 'access', _601 => _601.current, 'optionalAccess', _602 => _602.click, 'call', _603 => _603()]);
28105
+ _optionalChain([fileInputRef, 'access', _597 => _597.current, 'optionalAccess', _598 => _598.click, 'call', _599 => _599()]);
28110
28106
  };
28111
28107
  const displayError = error || validationError || void 0;
28112
28108
  const hasFiles = isManaged ? managedFiles.length > 0 : files.length > 0;
@@ -28184,7 +28180,7 @@ function FileUpload({
28184
28180
  "button",
28185
28181
  {
28186
28182
  type: "button",
28187
- onClick: () => _optionalChain([onRemoveManagedFile, 'optionalCall', _604 => _604(entry.id)]),
28183
+ onClick: () => _optionalChain([onRemoveManagedFile, 'optionalCall', _600 => _600(entry.id)]),
28188
28184
  className: "shrink-0 p-1 rounded hover:bg-ods-bg transition-colors",
28189
28185
  "aria-label": `Remove ${entry.fileName}`,
28190
28186
  children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _lucidereact.X, { className: "size-4 text-ods-text-secondary" })
@@ -28307,7 +28303,7 @@ function ImageUploader({
28307
28303
  onChange(file);
28308
28304
  };
28309
28305
  const handleFileSelect = (e) => {
28310
- validateAndEmit(_optionalChain([e, 'access', _605 => _605.target, 'access', _606 => _606.files, 'optionalAccess', _607 => _607[0]]));
28306
+ validateAndEmit(_optionalChain([e, 'access', _601 => _601.target, 'access', _602 => _602.files, 'optionalAccess', _603 => _603[0]]));
28311
28307
  if (inputRef.current) inputRef.current.value = "";
28312
28308
  };
28313
28309
  const handleDrag = (e) => {
@@ -28322,11 +28318,11 @@ function ImageUploader({
28322
28318
  e.stopPropagation();
28323
28319
  setDragActive(false);
28324
28320
  if (!interactive) return;
28325
- validateAndEmit(_optionalChain([e, 'access', _608 => _608.dataTransfer, 'access', _609 => _609.files, 'optionalAccess', _610 => _610[0]]));
28321
+ validateAndEmit(_optionalChain([e, 'access', _604 => _604.dataTransfer, 'access', _605 => _605.files, 'optionalAccess', _606 => _606[0]]));
28326
28322
  };
28327
28323
  const openDialog = () => {
28328
28324
  if (!interactive) return;
28329
- _optionalChain([inputRef, 'access', _611 => _611.current, 'optionalAccess', _612 => _612.click, 'call', _613 => _613()]);
28325
+ _optionalChain([inputRef, 'access', _607 => _607.current, 'optionalAccess', _608 => _608.click, 'call', _609 => _609()]);
28330
28326
  };
28331
28327
  const handleRootKeyDown = (e) => {
28332
28328
  if (hasImage || !interactive) return;
@@ -28516,8 +28512,8 @@ function ColorPresetSelect({
28516
28512
  }) {
28517
28513
  const selectedPreset = presets.find((p) => p.key === presetKey);
28518
28514
  const isCustom = !selectedPreset;
28519
- const displayLabel = _nullishCoalesce(_optionalChain([selectedPreset, 'optionalAccess', _614 => _614.label]), () => ( "Custom"));
28520
- const displayColor = _nullishCoalesce(_optionalChain([selectedPreset, 'optionalAccess', _615 => _615.color]), () => ( value));
28515
+ const displayLabel = _nullishCoalesce(_optionalChain([selectedPreset, 'optionalAccess', _610 => _610.label]), () => ( "Custom"));
28516
+ const displayColor = _nullishCoalesce(_optionalChain([selectedPreset, 'optionalAccess', _611 => _611.color]), () => ( value));
28521
28517
  const groups = [
28522
28518
  {
28523
28519
  items: [
@@ -28807,7 +28803,7 @@ function TicketStatusConfigRow({
28807
28803
  _chunk6JINAOI7cjs.Input,
28808
28804
  {
28809
28805
  value: name,
28810
- onChange: (e) => _optionalChain([onNameChange, 'optionalCall', _616 => _616(e.target.value)]),
28806
+ onChange: (e) => _optionalChain([onNameChange, 'optionalCall', _612 => _612(e.target.value)]),
28811
28807
  disabled: isSystem,
28812
28808
  readOnly: isSystem,
28813
28809
  "aria-label": "Status name",
@@ -28890,7 +28886,7 @@ function CompactAssigneeDropdown({
28890
28886
  return [current, ...filtered.filter((o) => o.value !== currentAssignee.id)];
28891
28887
  }, [filtered, currentAssignee]);
28892
28888
  const handleSelect = (userId) => {
28893
- const next = _optionalChain([currentAssignee, 'optionalAccess', _617 => _617.id]) === userId ? null : userId;
28889
+ const next = _optionalChain([currentAssignee, 'optionalAccess', _613 => _613.id]) === userId ? null : userId;
28894
28890
  onAssign(next);
28895
28891
  setIsOpen(false);
28896
28892
  };
@@ -28955,7 +28951,7 @@ function CompactAssigneeDropdown({
28955
28951
  }
28956
28952
  ) }),
28957
28953
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "max-h-80 overflow-y-auto py-[var(--spacing-system-xs)]", role: "listbox", children: isLoading ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "px-[var(--spacing-system-sf)] py-[var(--spacing-system-s)] text-h5 text-ods-text-secondary", children: "Loading\u2026" }) : orderedOptions.length === 0 ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "px-[var(--spacing-system-sf)] py-[var(--spacing-system-s)] text-h5 text-ods-text-secondary", children: "No users found" }) : orderedOptions.map((opt) => {
28958
- const isCurrent = _optionalChain([currentAssignee, 'optionalAccess', _618 => _618.id]) === opt.value;
28954
+ const isCurrent = _optionalChain([currentAssignee, 'optionalAccess', _614 => _614.id]) === opt.value;
28959
28955
  return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
28960
28956
  "button",
28961
28957
  {
@@ -29024,7 +29020,7 @@ function DefaultAssigneeDropdown({
29024
29020
  Autocomplete,
29025
29021
  {
29026
29022
  options,
29027
- value: _nullishCoalesce(_optionalChain([currentAssignee, 'optionalAccess', _619 => _619.id]), () => ( null)),
29023
+ value: _nullishCoalesce(_optionalChain([currentAssignee, 'optionalAccess', _615 => _615.id]), () => ( null)),
29028
29024
  onChange: (val) => {
29029
29025
  onAssign(val);
29030
29026
  setIsEditing(false);
@@ -29413,14 +29409,14 @@ function TicketInfoSection({
29413
29409
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
29414
29410
  _chunk6LK4VEXEcjs.SquareAvatar,
29415
29411
  {
29416
- src: _optionalChain([organization, 'optionalAccess', _620 => _620.imageSrc]),
29417
- alt: _optionalChain([organization, 'optionalAccess', _621 => _621.name]),
29418
- fallback: _optionalChain([organization, 'optionalAccess', _622 => _622.name]) || "Org",
29412
+ src: _optionalChain([organization, 'optionalAccess', _616 => _616.imageSrc]),
29413
+ alt: _optionalChain([organization, 'optionalAccess', _617 => _617.name]),
29414
+ fallback: _optionalChain([organization, 'optionalAccess', _618 => _618.name]) || "Org",
29419
29415
  size: "md",
29420
29416
  className: "shrink-0"
29421
29417
  }
29422
29418
  ),
29423
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, InfoCell2, { value: _optionalChain([organization, 'optionalAccess', _623 => _623.name]) || "Unassigned", label: "Organization" })
29419
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, InfoCell2, { value: _optionalChain([organization, 'optionalAccess', _619 => _619.name]) || "Unassigned", label: "Organization" })
29424
29420
  ] }),
29425
29421
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "min-w-0", children: assigned ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
29426
29422
  AssigneeDropdown,
@@ -29441,10 +29437,10 @@ function TicketInfoSection({
29441
29437
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
29442
29438
  InfoCell2,
29443
29439
  {
29444
- value: _optionalChain([device, 'optionalAccess', _624 => _624.name]) || "Unassigned",
29440
+ value: _optionalChain([device, 'optionalAccess', _620 => _620.name]) || "Unassigned",
29445
29441
  label: "Device",
29446
- icon: _optionalChain([device, 'optionalAccess', _625 => _625.icon]),
29447
- onClick: _optionalChain([device, 'optionalAccess', _626 => _626.onClick])
29442
+ icon: _optionalChain([device, 'optionalAccess', _621 => _621.icon]),
29443
+ onClick: _optionalChain([device, 'optionalAccess', _622 => _622.onClick])
29448
29444
  }
29449
29445
  ),
29450
29446
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex items-center gap-4 min-w-0", children: [
@@ -29740,7 +29736,7 @@ function RoadmapCard({
29740
29736
  const compactHref = _chunk6LK4VEXEcjs.safeHref.call(void 0, _nullishCoalesce(href, () => ( null)));
29741
29737
  const hasVotes = (_nullishCoalesce(item.upvotes, () => ( 0))) > 0 || (_nullishCoalesce(item.downvotes, () => ( 0))) > 0;
29742
29738
  const hasFigma = !!item.figmaUrl;
29743
- const hasScreenshots = (_nullishCoalesce(_optionalChain([item, 'access', _627 => _627.screenshots, 'optionalAccess', _628 => _628.length]), () => ( 0))) > 0;
29739
+ const hasScreenshots = (_nullishCoalesce(_optionalChain([item, 'access', _623 => _623.screenshots, 'optionalAccess', _624 => _624.length]), () => ( 0))) > 0;
29744
29740
  const typeLabel = getTaskTypeLabel(item.customItemId);
29745
29741
  const useTypeIcon = cardType === "internal_task" || !iconSrc && item.customItemId != null;
29746
29742
  const body = /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _jsxruntime.Fragment, { children: [
@@ -29759,7 +29755,7 @@ function RoadmapCard({
29759
29755
  unoptimized: true,
29760
29756
  className: "h-8 w-8 object-contain"
29761
29757
  }
29762
- ) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "text-[10px] font-medium uppercase text-ods-text-secondary", children: _optionalChain([item, 'access', _629 => _629.title, 'optionalAccess', _630 => _630.substring, 'call', _631 => _631(0, 2)]) || "??" })
29758
+ ) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "text-[10px] font-medium uppercase text-ods-text-secondary", children: _optionalChain([item, 'access', _625 => _625.title, 'optionalAccess', _626 => _626.substring, 'call', _627 => _627(0, 2)]) || "??" })
29763
29759
  }
29764
29760
  ),
29765
29761
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: _chunk6LK4VEXEcjs.COMPACT_CARD_TEXT_COL, children: [
@@ -29834,7 +29830,7 @@ function RoadmapCard({
29834
29830
  unoptimized: true,
29835
29831
  className: "object-contain p-1"
29836
29832
  }
29837
- ) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "text-xs font-medium uppercase text-ods-text-secondary", children: _optionalChain([item, 'access', _632 => _632.title, 'optionalAccess', _633 => _633.substring, 'call', _634 => _634(0, 2)]) || "??" }) }),
29833
+ ) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "text-xs font-medium uppercase text-ods-text-secondary", children: _optionalChain([item, 'access', _628 => _628.title, 'optionalAccess', _629 => _629.substring, 'call', _630 => _630(0, 2)]) || "??" }) }),
29838
29834
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex-1 min-w-0 flex flex-col", children: [
29839
29835
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "min-h-[48px] flex items-center", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "h3", { className: "text-h3 text-ods-text-primary tracking-[-0.36px] flex-1 line-clamp-2", children: item.title }) }),
29840
29836
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "min-h-[20px] flex items-center", children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "p", { className: "text-h5 text-ods-text-secondary uppercase tracking-[-0.28px] truncate", children: [
@@ -30344,7 +30340,7 @@ function DataRoomDocCard({ item, className, badgeText, anchorProps }) {
30344
30340
  ] }) : null,
30345
30341
  item.preview ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "flex min-w-0", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "line-clamp-2 whitespace-pre-wrap break-words text-[13px] leading-5 text-ods-text-secondary", children: item.preview }) }) : null
30346
30342
  ] }),
30347
- _optionalChain([anchorProps, 'optionalAccess', _635 => _635.href]) ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "flex shrink-0 items-center self-start h-5 text-ods-text-secondary", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _lucidereact.ExternalLink, { className: "w-3.5 h-3.5" }) }) : null
30343
+ _optionalChain([anchorProps, 'optionalAccess', _631 => _631.href]) ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "flex shrink-0 items-center self-start h-5 text-ods-text-secondary", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _lucidereact.ExternalLink, { className: "w-3.5 h-3.5" }) }) : null
30348
30344
  ] });
30349
30345
  if (!anchorProps) {
30350
30346
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: `${_chunk6LK4VEXEcjs.COMPACT_CARD_OUTER_STATIC} ${_nullishCoalesce(className, () => ( ""))}`, "aria-label": "No link available", children: body });
@@ -30414,7 +30410,7 @@ function getDefaultOptions() {
30414
30410
  // node_modules/date-fns/startOfWeek.mjs
30415
30411
  function startOfWeek(date, options) {
30416
30412
  const defaultOptions2 = getDefaultOptions();
30417
- const weekStartsOn = _nullishCoalesce(_nullishCoalesce(_nullishCoalesce(_nullishCoalesce(_optionalChain([options, 'optionalAccess', _636 => _636.weekStartsOn]), () => ( _optionalChain([options, 'optionalAccess', _637 => _637.locale, 'optionalAccess', _638 => _638.options, 'optionalAccess', _639 => _639.weekStartsOn]))), () => ( defaultOptions2.weekStartsOn)), () => ( _optionalChain([defaultOptions2, 'access', _640 => _640.locale, 'optionalAccess', _641 => _641.options, 'optionalAccess', _642 => _642.weekStartsOn]))), () => ( 0));
30413
+ const weekStartsOn = _nullishCoalesce(_nullishCoalesce(_nullishCoalesce(_nullishCoalesce(_optionalChain([options, 'optionalAccess', _632 => _632.weekStartsOn]), () => ( _optionalChain([options, 'optionalAccess', _633 => _633.locale, 'optionalAccess', _634 => _634.options, 'optionalAccess', _635 => _635.weekStartsOn]))), () => ( defaultOptions2.weekStartsOn)), () => ( _optionalChain([defaultOptions2, 'access', _636 => _636.locale, 'optionalAccess', _637 => _637.options, 'optionalAccess', _638 => _638.weekStartsOn]))), () => ( 0));
30418
30414
  const _date = toDate(date);
30419
30415
  const day = _date.getDay();
30420
30416
  const diff = (day < weekStartsOn ? 7 : 0) + day - weekStartsOn;
@@ -30589,7 +30585,7 @@ var formatDistance = (token, count, options) => {
30589
30585
  } else {
30590
30586
  result = tokenValue.other.replace("{{count}}", count.toString());
30591
30587
  }
30592
- if (_optionalChain([options, 'optionalAccess', _643 => _643.addSuffix])) {
30588
+ if (_optionalChain([options, 'optionalAccess', _639 => _639.addSuffix])) {
30593
30589
  if (options.comparison && options.comparison > 0) {
30594
30590
  return "in " + result;
30595
30591
  } else {
@@ -30656,15 +30652,15 @@ var formatRelative = (token, _date, _baseDate, _options) => formatRelativeLocale
30656
30652
  // node_modules/date-fns/locale/_lib/buildLocalizeFn.mjs
30657
30653
  function buildLocalizeFn(args) {
30658
30654
  return (value, options) => {
30659
- const context = _optionalChain([options, 'optionalAccess', _644 => _644.context]) ? String(options.context) : "standalone";
30655
+ const context = _optionalChain([options, 'optionalAccess', _640 => _640.context]) ? String(options.context) : "standalone";
30660
30656
  let valuesArray;
30661
30657
  if (context === "formatting" && args.formattingValues) {
30662
30658
  const defaultWidth = args.defaultFormattingWidth || args.defaultWidth;
30663
- const width = _optionalChain([options, 'optionalAccess', _645 => _645.width]) ? String(options.width) : defaultWidth;
30659
+ const width = _optionalChain([options, 'optionalAccess', _641 => _641.width]) ? String(options.width) : defaultWidth;
30664
30660
  valuesArray = args.formattingValues[width] || args.formattingValues[defaultWidth];
30665
30661
  } else {
30666
30662
  const defaultWidth = args.defaultWidth;
30667
- const width = _optionalChain([options, 'optionalAccess', _646 => _646.width]) ? String(options.width) : args.defaultWidth;
30663
+ const width = _optionalChain([options, 'optionalAccess', _642 => _642.width]) ? String(options.width) : args.defaultWidth;
30668
30664
  valuesArray = args.values[width] || args.values[defaultWidth];
30669
30665
  }
30670
30666
  const index = args.argumentCallback ? args.argumentCallback(value) : value;
@@ -31044,7 +31040,7 @@ function getWeekYear(date, options) {
31044
31040
  const _date = toDate(date);
31045
31041
  const year = _date.getFullYear();
31046
31042
  const defaultOptions2 = getDefaultOptions();
31047
- const firstWeekContainsDate = _nullishCoalesce(_nullishCoalesce(_nullishCoalesce(_nullishCoalesce(_optionalChain([options, 'optionalAccess', _647 => _647.firstWeekContainsDate]), () => ( _optionalChain([options, 'optionalAccess', _648 => _648.locale, 'optionalAccess', _649 => _649.options, 'optionalAccess', _650 => _650.firstWeekContainsDate]))), () => ( defaultOptions2.firstWeekContainsDate)), () => ( _optionalChain([defaultOptions2, 'access', _651 => _651.locale, 'optionalAccess', _652 => _652.options, 'optionalAccess', _653 => _653.firstWeekContainsDate]))), () => ( 1));
31043
+ const firstWeekContainsDate = _nullishCoalesce(_nullishCoalesce(_nullishCoalesce(_nullishCoalesce(_optionalChain([options, 'optionalAccess', _643 => _643.firstWeekContainsDate]), () => ( _optionalChain([options, 'optionalAccess', _644 => _644.locale, 'optionalAccess', _645 => _645.options, 'optionalAccess', _646 => _646.firstWeekContainsDate]))), () => ( defaultOptions2.firstWeekContainsDate)), () => ( _optionalChain([defaultOptions2, 'access', _647 => _647.locale, 'optionalAccess', _648 => _648.options, 'optionalAccess', _649 => _649.firstWeekContainsDate]))), () => ( 1));
31048
31044
  const firstWeekOfNextYear = constructFrom(date, 0);
31049
31045
  firstWeekOfNextYear.setFullYear(year + 1, 0, firstWeekContainsDate);
31050
31046
  firstWeekOfNextYear.setHours(0, 0, 0, 0);
@@ -31065,7 +31061,7 @@ function getWeekYear(date, options) {
31065
31061
  // node_modules/date-fns/startOfWeekYear.mjs
31066
31062
  function startOfWeekYear(date, options) {
31067
31063
  const defaultOptions2 = getDefaultOptions();
31068
- const firstWeekContainsDate = _nullishCoalesce(_nullishCoalesce(_nullishCoalesce(_nullishCoalesce(_optionalChain([options, 'optionalAccess', _654 => _654.firstWeekContainsDate]), () => ( _optionalChain([options, 'optionalAccess', _655 => _655.locale, 'optionalAccess', _656 => _656.options, 'optionalAccess', _657 => _657.firstWeekContainsDate]))), () => ( defaultOptions2.firstWeekContainsDate)), () => ( _optionalChain([defaultOptions2, 'access', _658 => _658.locale, 'optionalAccess', _659 => _659.options, 'optionalAccess', _660 => _660.firstWeekContainsDate]))), () => ( 1));
31064
+ const firstWeekContainsDate = _nullishCoalesce(_nullishCoalesce(_nullishCoalesce(_nullishCoalesce(_optionalChain([options, 'optionalAccess', _650 => _650.firstWeekContainsDate]), () => ( _optionalChain([options, 'optionalAccess', _651 => _651.locale, 'optionalAccess', _652 => _652.options, 'optionalAccess', _653 => _653.firstWeekContainsDate]))), () => ( defaultOptions2.firstWeekContainsDate)), () => ( _optionalChain([defaultOptions2, 'access', _654 => _654.locale, 'optionalAccess', _655 => _655.options, 'optionalAccess', _656 => _656.firstWeekContainsDate]))), () => ( 1));
31069
31065
  const year = getWeekYear(date, options);
31070
31066
  const firstWeek = constructFrom(date, 0);
31071
31067
  firstWeek.setFullYear(year, 0, firstWeekContainsDate);
@@ -31880,9 +31876,9 @@ var doubleQuoteRegExp = /''/g;
31880
31876
  var unescapedLatinCharacterRegExp = /[a-zA-Z]/;
31881
31877
  function format(date, formatStr, options) {
31882
31878
  const defaultOptions2 = getDefaultOptions();
31883
- const locale = _nullishCoalesce(_nullishCoalesce(_optionalChain([options, 'optionalAccess', _661 => _661.locale]), () => ( defaultOptions2.locale)), () => ( enUS));
31884
- const firstWeekContainsDate = _nullishCoalesce(_nullishCoalesce(_nullishCoalesce(_nullishCoalesce(_optionalChain([options, 'optionalAccess', _662 => _662.firstWeekContainsDate]), () => ( _optionalChain([options, 'optionalAccess', _663 => _663.locale, 'optionalAccess', _664 => _664.options, 'optionalAccess', _665 => _665.firstWeekContainsDate]))), () => ( defaultOptions2.firstWeekContainsDate)), () => ( _optionalChain([defaultOptions2, 'access', _666 => _666.locale, 'optionalAccess', _667 => _667.options, 'optionalAccess', _668 => _668.firstWeekContainsDate]))), () => ( 1));
31885
- const weekStartsOn = _nullishCoalesce(_nullishCoalesce(_nullishCoalesce(_nullishCoalesce(_optionalChain([options, 'optionalAccess', _669 => _669.weekStartsOn]), () => ( _optionalChain([options, 'optionalAccess', _670 => _670.locale, 'optionalAccess', _671 => _671.options, 'optionalAccess', _672 => _672.weekStartsOn]))), () => ( defaultOptions2.weekStartsOn)), () => ( _optionalChain([defaultOptions2, 'access', _673 => _673.locale, 'optionalAccess', _674 => _674.options, 'optionalAccess', _675 => _675.weekStartsOn]))), () => ( 0));
31879
+ const locale = _nullishCoalesce(_nullishCoalesce(_optionalChain([options, 'optionalAccess', _657 => _657.locale]), () => ( defaultOptions2.locale)), () => ( enUS));
31880
+ const firstWeekContainsDate = _nullishCoalesce(_nullishCoalesce(_nullishCoalesce(_nullishCoalesce(_optionalChain([options, 'optionalAccess', _658 => _658.firstWeekContainsDate]), () => ( _optionalChain([options, 'optionalAccess', _659 => _659.locale, 'optionalAccess', _660 => _660.options, 'optionalAccess', _661 => _661.firstWeekContainsDate]))), () => ( defaultOptions2.firstWeekContainsDate)), () => ( _optionalChain([defaultOptions2, 'access', _662 => _662.locale, 'optionalAccess', _663 => _663.options, 'optionalAccess', _664 => _664.firstWeekContainsDate]))), () => ( 1));
31881
+ const weekStartsOn = _nullishCoalesce(_nullishCoalesce(_nullishCoalesce(_nullishCoalesce(_optionalChain([options, 'optionalAccess', _665 => _665.weekStartsOn]), () => ( _optionalChain([options, 'optionalAccess', _666 => _666.locale, 'optionalAccess', _667 => _667.options, 'optionalAccess', _668 => _668.weekStartsOn]))), () => ( defaultOptions2.weekStartsOn)), () => ( _optionalChain([defaultOptions2, 'access', _669 => _669.locale, 'optionalAccess', _670 => _670.options, 'optionalAccess', _671 => _671.weekStartsOn]))), () => ( 0));
31886
31882
  const originalDate = toDate(date);
31887
31883
  if (!isValid(originalDate)) {
31888
31884
  throw new RangeError("Invalid time value");
@@ -31923,7 +31919,7 @@ function format(date, formatStr, options) {
31923
31919
  return parts.map((part) => {
31924
31920
  if (!part.isToken) return part.value;
31925
31921
  const token = part.value;
31926
- if (!_optionalChain([options, 'optionalAccess', _676 => _676.useAdditionalWeekYearTokens]) && isProtectedWeekYearToken(token) || !_optionalChain([options, 'optionalAccess', _677 => _677.useAdditionalDayOfYearTokens]) && isProtectedDayOfYearToken(token)) {
31922
+ if (!_optionalChain([options, 'optionalAccess', _672 => _672.useAdditionalWeekYearTokens]) && isProtectedWeekYearToken(token) || !_optionalChain([options, 'optionalAccess', _673 => _673.useAdditionalDayOfYearTokens]) && isProtectedDayOfYearToken(token)) {
31927
31923
  warnOrThrowProtectedError(token, formatStr, String(date));
31928
31924
  }
31929
31925
  const formatter = formatters[token[0]];
@@ -32101,7 +32097,7 @@ function ProgramCard({
32101
32097
  const dur = _chunk6LK4VEXEcjs.formatDurationFromRange.call(void 0, w.start_at, w.end_at);
32102
32098
  typeMeta = dur ? `${time} \xB7 ${dur}` : time;
32103
32099
  }
32104
- const subtitleParts = [itemDate2, typeMeta, _optionalChain([config, 'access', _678 => _678.labels, 'optionalAccess', _679 => _679.singular])].filter(
32100
+ const subtitleParts = [itemDate2, typeMeta, _optionalChain([config, 'access', _674 => _674.labels, 'optionalAccess', _675 => _675.singular])].filter(
32105
32101
  (s) => typeof s === "string" && s.length > 0
32106
32102
  );
32107
32103
  return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "a", { href, target, rel, className: _chunkFIG2RKZFcjs.cn.call(void 0, _chunk6LK4VEXEcjs.COMPACT_CARD_OUTER, className), children: [
@@ -32258,7 +32254,7 @@ function ProgramCard({
32258
32254
 
32259
32255
 
32260
32256
  function CampaignCardAdmin({ campaign, className, anchorProps }) {
32261
- const goalsCount = _optionalChain([campaign, 'access', _680 => _680.goals, 'optionalAccess', _681 => _681.length]) || 0;
32257
+ const goalsCount = _optionalChain([campaign, 'access', _676 => _676.goals, 'optionalAccess', _677 => _677.length]) || 0;
32262
32258
  const innerChildren = /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _jsxruntime.Fragment, { children: [
32263
32259
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: _chunk6LK4VEXEcjs.COMPACT_CARD_ICON_SLOT, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _lucidereact.Megaphone, { className: "h-5 w-5" }) }),
32264
32260
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: _chunk6LK4VEXEcjs.COMPACT_CARD_TEXT_COL, children: [
@@ -32545,8 +32541,8 @@ function cardMenuGroups(href, discuss, openDetails) {
32545
32541
  if (href) {
32546
32542
  items.push({
32547
32543
  id: "open-details",
32548
- label: _nullishCoalesce(_optionalChain([openDetails, 'optionalAccess', _682 => _682.label]), () => ( "Open Details")),
32549
- icon: _nullishCoalesce(_optionalChain([openDetails, 'optionalAccess', _683 => _683.icon]), () => ( /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkC6ASEPZLcjs.EyeIcon, { size: 20 }))),
32544
+ label: _nullishCoalesce(_optionalChain([openDetails, 'optionalAccess', _678 => _678.label]), () => ( "Open Details")),
32545
+ icon: _nullishCoalesce(_optionalChain([openDetails, 'optionalAccess', _679 => _679.icon]), () => ( /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkC6ASEPZLcjs.EyeIcon, { size: 20 }))),
32550
32546
  // Main row → open the entity (same tab, soft Link nav).
32551
32547
  href,
32552
32548
  // Trailing 40px ↗ side-button → open in a new tab.
@@ -32576,8 +32572,8 @@ function HubspotTicketChatCard({
32576
32572
  isNewTab,
32577
32573
  discuss
32578
32574
  }) {
32579
- const status = typeof _optionalChain([chatRef, 'access', _684 => _684.metadata, 'optionalAccess', _685 => _685.status]) === "string" ? chatRef.metadata.status : void 0;
32580
- const statusLabel = typeof _optionalChain([chatRef, 'access', _686 => _686.metadata, 'optionalAccess', _687 => _687.statusLabel]) === "string" ? chatRef.metadata.statusLabel : void 0;
32575
+ const status = typeof _optionalChain([chatRef, 'access', _680 => _680.metadata, 'optionalAccess', _681 => _681.status]) === "string" ? chatRef.metadata.status : void 0;
32576
+ const statusLabel = typeof _optionalChain([chatRef, 'access', _682 => _682.metadata, 'optionalAccess', _683 => _683.statusLabel]) === "string" ? chatRef.metadata.statusLabel : void 0;
32581
32577
  const statusText = _nullishCoalesce(statusLabel, () => ( formatStatusToken(status)));
32582
32578
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
32583
32579
  MingoInfoCard,
@@ -32600,7 +32596,7 @@ function SlackChatCard({
32600
32596
  isNewTab,
32601
32597
  discuss
32602
32598
  }) {
32603
- const channelName = typeof _optionalChain([chatRef, 'access', _688 => _688.metadata, 'optionalAccess', _689 => _689.channelName]) === "string" ? chatRef.metadata.channelName.trim() : void 0;
32599
+ const channelName = typeof _optionalChain([chatRef, 'access', _684 => _684.metadata, 'optionalAccess', _685 => _685.channelName]) === "string" ? chatRef.metadata.channelName.trim() : void 0;
32604
32600
  const channelPretty = channelName ? channelName.startsWith("#") ? channelName : `#${channelName}` : void 0;
32605
32601
  const title = channelPretty ? `${chatRef.title} \xB7 ${channelPretty}` : chatRef.title;
32606
32602
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
@@ -32640,7 +32636,7 @@ function GenericFinancialChatCard({
32640
32636
  isNewTab,
32641
32637
  discuss
32642
32638
  }) {
32643
- const subtitle = typeof _optionalChain([chatRef, 'access', _690 => _690.metadata, 'optionalAccess', _691 => _691.subtitle]) === "string" ? chatRef.metadata.subtitle : void 0;
32639
+ const subtitle = typeof _optionalChain([chatRef, 'access', _686 => _686.metadata, 'optionalAccess', _687 => _687.subtitle]) === "string" ? chatRef.metadata.subtitle : void 0;
32644
32640
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
32645
32641
  MingoInfoCard,
32646
32642
  {
@@ -32709,12 +32705,12 @@ function ProductReleaseChatCard({
32709
32705
  discuss
32710
32706
  }) {
32711
32707
  const releaseProps = buildProps(item);
32712
- const status = _optionalChain([item, 'optionalAccess', _692 => _692.version]) ? { label: String(item.version), variant: "grey" } : { label: "Release", variant: "grey" };
32708
+ const status = _optionalChain([item, 'optionalAccess', _688 => _688.version]) ? { label: String(item.version), variant: "grey" } : { label: "Release", variant: "grey" };
32713
32709
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
32714
32710
  EntityMingoCard,
32715
32711
  {
32716
- title: _nullishCoalesce(_optionalChain([item, 'optionalAccess', _693 => _693.title]), () => ( "")),
32717
- description: _optionalChain([item, 'optionalAccess', _694 => _694.summary]) || releaseProps.formattedDate || void 0,
32712
+ title: _nullishCoalesce(_optionalChain([item, 'optionalAccess', _689 => _689.title]), () => ( "")),
32713
+ description: _optionalChain([item, 'optionalAccess', _690 => _690.summary]) || releaseProps.formattedDate || void 0,
32718
32714
  cover: releaseProps.coverImage || void 0,
32719
32715
  fallbackIcon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkC6ASEPZLcjs.Rocket02Icon, { size: 24 }),
32720
32716
  status,
@@ -32731,17 +32727,17 @@ function CampaignChatCard({
32731
32727
  isNewTab,
32732
32728
  discuss
32733
32729
  }) {
32734
- const goalsCount = Array.isArray(_optionalChain([item, 'optionalAccess', _695 => _695.goals])) ? item.goals.length : 0;
32730
+ const goalsCount = Array.isArray(_optionalChain([item, 'optionalAccess', _691 => _691.goals])) ? item.goals.length : 0;
32735
32731
  const meta = [
32736
- _optionalChain([item, 'optionalAccess', _696 => _696.start_date]) ? formatDateShort(item.start_date) : null,
32732
+ _optionalChain([item, 'optionalAccess', _692 => _692.start_date]) ? formatDateShort(item.start_date) : null,
32737
32733
  goalsCount > 0 ? `${goalsCount} goal${goalsCount !== 1 ? "s" : ""}` : null,
32738
32734
  "Marketing campaign"
32739
32735
  ].filter(Boolean).join(" \xB7 ");
32740
32736
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
32741
32737
  EntityMingoCard,
32742
32738
  {
32743
- title: _nullishCoalesce(_optionalChain([item, 'optionalAccess', _697 => _697.name]), () => ( "")),
32744
- description: meta || _optionalChain([item, 'optionalAccess', _698 => _698.description]) || void 0,
32739
+ title: _nullishCoalesce(_optionalChain([item, 'optionalAccess', _693 => _693.name]), () => ( "")),
32740
+ description: meta || _optionalChain([item, 'optionalAccess', _694 => _694.description]) || void 0,
32745
32741
  fallbackIcon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkC6ASEPZLcjs.Megaphone01Icon, { size: 24 }),
32746
32742
  chatRef,
32747
32743
  isNewTab,
@@ -32794,14 +32790,14 @@ function BlogChatCard({
32794
32790
  hasEmbeddedVideo,
32795
32791
  discuss
32796
32792
  }) {
32797
- const category = Array.isArray(_optionalChain([item, 'optionalAccess', _699 => _699.categories])) ? _optionalChain([item, 'access', _700 => _700.categories, 'access', _701 => _701.find, 'call', _702 => _702((c) => c && c.name), 'optionalAccess', _703 => _703.name]) : void 0;
32793
+ const category = Array.isArray(_optionalChain([item, 'optionalAccess', _695 => _695.categories])) ? _optionalChain([item, 'access', _696 => _696.categories, 'access', _697 => _697.find, 'call', _698 => _698((c) => c && c.name), 'optionalAccess', _699 => _699.name]) : void 0;
32798
32794
  const status = hasEmbeddedVideo ? { label: "Video", variant: "primary" } : category ? { label: category, variant: "grey" } : void 0;
32799
32795
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
32800
32796
  EntityMingoCard,
32801
32797
  {
32802
- title: _nullishCoalesce(_optionalChain([item, 'optionalAccess', _704 => _704.title]), () => ( "")),
32803
- description: _nullishCoalesce(_optionalChain([item, 'optionalAccess', _705 => _705.summary]), () => ( void 0)),
32804
- cover: entityCover(_optionalChain([item, 'optionalAccess', _706 => _706.featured_image]), ogPlaceholder),
32798
+ title: _nullishCoalesce(_optionalChain([item, 'optionalAccess', _700 => _700.title]), () => ( "")),
32799
+ description: _nullishCoalesce(_optionalChain([item, 'optionalAccess', _701 => _701.summary]), () => ( void 0)),
32800
+ cover: entityCover(_optionalChain([item, 'optionalAccess', _702 => _702.featured_image]), ogPlaceholder),
32805
32801
  fallbackIcon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkC6ASEPZLcjs.NewspaperIcon, { size: 24 }),
32806
32802
  status,
32807
32803
  chatRef,
@@ -32818,13 +32814,13 @@ function CaseStudyChatCard({
32818
32814
  ogPlaceholder,
32819
32815
  discuss
32820
32816
  }) {
32821
- const meta = [_optionalChain([item, 'optionalAccess', _707 => _707.msp, 'optionalAccess', _708 => _708.name]), _optionalChain([item, 'optionalAccess', _709 => _709.user, 'optionalAccess', _710 => _710.full_name])].filter(Boolean).join(" \xB7 ");
32817
+ const meta = [_optionalChain([item, 'optionalAccess', _703 => _703.msp, 'optionalAccess', _704 => _704.name]), _optionalChain([item, 'optionalAccess', _705 => _705.user, 'optionalAccess', _706 => _706.full_name])].filter(Boolean).join(" \xB7 ");
32822
32818
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
32823
32819
  EntityMingoCard,
32824
32820
  {
32825
- title: _nullishCoalesce(_optionalChain([item, 'optionalAccess', _711 => _711.title]), () => ( "")),
32826
- description: _optionalChain([item, 'optionalAccess', _712 => _712.summary]) || meta || void 0,
32827
- cover: entityCover(_optionalChain([item, 'optionalAccess', _713 => _713.featured_image]), ogPlaceholder),
32821
+ title: _nullishCoalesce(_optionalChain([item, 'optionalAccess', _707 => _707.title]), () => ( "")),
32822
+ description: _optionalChain([item, 'optionalAccess', _708 => _708.summary]) || meta || void 0,
32823
+ cover: entityCover(_optionalChain([item, 'optionalAccess', _709 => _709.featured_image]), ogPlaceholder),
32828
32824
  fallbackIcon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkC6ASEPZLcjs.TrophyIcon, { size: 24 }),
32829
32825
  status: { label: "Case study", variant: "grey" },
32830
32826
  chatRef,
@@ -32841,13 +32837,13 @@ function CustomerInterviewChatCard({
32841
32837
  ogPlaceholder,
32842
32838
  discuss
32843
32839
  }) {
32844
- const meta = [_optionalChain([item, 'optionalAccess', _714 => _714.user, 'optionalAccess', _715 => _715.full_name]), _optionalChain([item, 'optionalAccess', _716 => _716.msp, 'optionalAccess', _717 => _717.name])].filter(Boolean).join(" \xB7 ");
32840
+ const meta = [_optionalChain([item, 'optionalAccess', _710 => _710.user, 'optionalAccess', _711 => _711.full_name]), _optionalChain([item, 'optionalAccess', _712 => _712.msp, 'optionalAccess', _713 => _713.name])].filter(Boolean).join(" \xB7 ");
32845
32841
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
32846
32842
  EntityMingoCard,
32847
32843
  {
32848
- title: _nullishCoalesce(_optionalChain([item, 'optionalAccess', _718 => _718.title]), () => ( "")),
32849
- description: _optionalChain([item, 'optionalAccess', _719 => _719.video_summary]) || meta || void 0,
32850
- cover: entityCover(_optionalChain([item, 'optionalAccess', _720 => _720.featured_image]), ogPlaceholder),
32844
+ title: _nullishCoalesce(_optionalChain([item, 'optionalAccess', _714 => _714.title]), () => ( "")),
32845
+ description: _optionalChain([item, 'optionalAccess', _715 => _715.video_summary]) || meta || void 0,
32846
+ cover: entityCover(_optionalChain([item, 'optionalAccess', _716 => _716.featured_image]), ogPlaceholder),
32851
32847
  fallbackIcon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkC6ASEPZLcjs.MicrophoneIcon, { size: 24 }),
32852
32848
  status: { label: "Interview", variant: "grey" },
32853
32849
  chatRef,
@@ -32864,13 +32860,13 @@ function InvestorUpdateChatCard({
32864
32860
  ogPlaceholder,
32865
32861
  discuss
32866
32862
  }) {
32867
- const title = _optionalChain([item, 'optionalAccess', _721 => _721.title]) || `Update #${_nullishCoalesce(_optionalChain([item, 'optionalAccess', _722 => _722.update_number]), () => ( "?"))}`;
32863
+ const title = _optionalChain([item, 'optionalAccess', _717 => _717.title]) || `Update #${_nullishCoalesce(_optionalChain([item, 'optionalAccess', _718 => _718.update_number]), () => ( "?"))}`;
32868
32864
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
32869
32865
  EntityMingoCard,
32870
32866
  {
32871
32867
  title,
32872
- description: _optionalChain([item, 'optionalAccess', _723 => _723.strategic_update]) || _optionalChain([item, 'optionalAccess', _724 => _724.content]) || formatInvestorUpdatePeriod(_optionalChain([item, 'optionalAccess', _725 => _725.period_start]), _optionalChain([item, 'optionalAccess', _726 => _726.period_end])) || void 0,
32873
- cover: entityCover(_optionalChain([item, 'optionalAccess', _727 => _727.featured_image]), ogPlaceholder),
32868
+ description: _optionalChain([item, 'optionalAccess', _719 => _719.strategic_update]) || _optionalChain([item, 'optionalAccess', _720 => _720.content]) || formatInvestorUpdatePeriod(_optionalChain([item, 'optionalAccess', _721 => _721.period_start]), _optionalChain([item, 'optionalAccess', _722 => _722.period_end])) || void 0,
32869
+ cover: entityCover(_optionalChain([item, 'optionalAccess', _723 => _723.featured_image]), ogPlaceholder),
32874
32870
  fallbackIcon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkC6ASEPZLcjs.PresentationLineIcon, { size: 24 }),
32875
32871
  status: { label: "Investor update", variant: "grey" },
32876
32872
  chatRef,
@@ -32887,12 +32883,12 @@ function OnboardingGuideChatCard({
32887
32883
  ogPlaceholder,
32888
32884
  discuss
32889
32885
  }) {
32890
- const cover = _nullishCoalesce(_nullishCoalesce(entityCover(_optionalChain([item, 'optionalAccess', _728 => _728.featured_image])), () => ( entityCover(_optionalChain([item, 'optionalAccess', _729 => _729.main_video_thumbnail])))), () => ( entityCover(_optionalChain([item, 'optionalAccess', _730 => _730.og_image_url]), ogPlaceholder)));
32886
+ const cover = _nullishCoalesce(_nullishCoalesce(entityCover(_optionalChain([item, 'optionalAccess', _724 => _724.featured_image])), () => ( entityCover(_optionalChain([item, 'optionalAccess', _725 => _725.main_video_thumbnail])))), () => ( entityCover(_optionalChain([item, 'optionalAccess', _726 => _726.og_image_url]), ogPlaceholder)));
32891
32887
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
32892
32888
  EntityMingoCard,
32893
32889
  {
32894
- title: _nullishCoalesce(_optionalChain([item, 'optionalAccess', _731 => _731.title]), () => ( "")),
32895
- description: _nullishCoalesce(_nullishCoalesce(_optionalChain([item, 'optionalAccess', _732 => _732.summary]), () => ( _optionalChain([item, 'optionalAccess', _733 => _733.description]))), () => ( void 0)),
32890
+ title: _nullishCoalesce(_optionalChain([item, 'optionalAccess', _727 => _727.title]), () => ( "")),
32891
+ description: _nullishCoalesce(_nullishCoalesce(_optionalChain([item, 'optionalAccess', _728 => _728.summary]), () => ( _optionalChain([item, 'optionalAccess', _729 => _729.description]))), () => ( void 0)),
32896
32892
  cover,
32897
32893
  fallbackIcon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkC6ASEPZLcjs.CompassIcon, { size: 24 }),
32898
32894
  status: { label: "Guide", variant: "grey" },
@@ -32913,25 +32909,25 @@ function ProgramChatCard({
32913
32909
  discuss
32914
32910
  }) {
32915
32911
  const icon = configKey === "webinar" ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkC6ASEPZLcjs.PresentationBarIcon, { size: 24 }) : configKey === "event" ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkC6ASEPZLcjs.CalendarIcon, { size: 24 }) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkC6ASEPZLcjs.MicrophoneIcon, { size: 24 });
32916
- const isScheduled = _optionalChain([item, 'optionalAccess', _734 => _734.status]) === "scheduled";
32912
+ const isScheduled = _optionalChain([item, 'optionalAccess', _730 => _730.status]) === "scheduled";
32917
32913
  let typeMeta;
32918
- if (configKey === "podcast" && typeof _optionalChain([item, 'optionalAccess', _735 => _735.duration_seconds]) === "number" && item.duration_seconds > 0 && !isScheduled) {
32914
+ if (configKey === "podcast" && typeof _optionalChain([item, 'optionalAccess', _731 => _731.duration_seconds]) === "number" && item.duration_seconds > 0 && !isScheduled) {
32919
32915
  typeMeta = _chunk6LK4VEXEcjs.formatDurationCompact.call(void 0, item.duration_seconds);
32920
- } else if (configKey === "event" && typeof _optionalChain([item, 'optionalAccess', _736 => _736.location_name]) === "string" && item.location_name.trim().length > 0) {
32916
+ } else if (configKey === "event" && typeof _optionalChain([item, 'optionalAccess', _732 => _732.location_name]) === "string" && item.location_name.trim().length > 0) {
32921
32917
  typeMeta = item.location_name;
32922
- } else if (configKey === "webinar" && _optionalChain([item, 'optionalAccess', _737 => _737.start_at])) {
32918
+ } else if (configKey === "webinar" && _optionalChain([item, 'optionalAccess', _733 => _733.start_at])) {
32923
32919
  const time = _chunk6LK4VEXEcjs.formatTimeWithTimezone.call(void 0, item.start_at, null);
32924
32920
  const dur = _chunk6LK4VEXEcjs.formatDurationFromRange.call(void 0, item.start_at, item.end_at);
32925
32921
  typeMeta = dur ? `${time} \xB7 ${dur}` : time;
32926
32922
  }
32927
- const itemDate = _chunk6LK4VEXEcjs.formatDateUTC.call(void 0, _nullishCoalesce(_optionalChain([item, 'optionalAccess', _738 => _738.date]), () => ( null)), { fallback: "", timezone: "local" });
32923
+ const itemDate = _chunk6LK4VEXEcjs.formatDateUTC.call(void 0, _nullishCoalesce(_optionalChain([item, 'optionalAccess', _734 => _734.date]), () => ( null)), { fallback: "", timezone: "local" });
32928
32924
  const meta = [itemDate, typeMeta].filter(Boolean).join(" \xB7 ");
32929
32925
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
32930
32926
  EntityMingoCard,
32931
32927
  {
32932
- title: _nullishCoalesce(_optionalChain([item, 'optionalAccess', _739 => _739.title]), () => ( "")),
32933
- description: meta || _optionalChain([item, 'optionalAccess', _740 => _740.description]) || void 0,
32934
- cover: entityCover(_optionalChain([item, 'optionalAccess', _741 => _741.cover_url]), ogPlaceholder),
32928
+ title: _nullishCoalesce(_optionalChain([item, 'optionalAccess', _735 => _735.title]), () => ( "")),
32929
+ description: meta || _optionalChain([item, 'optionalAccess', _736 => _736.description]) || void 0,
32930
+ cover: entityCover(_optionalChain([item, 'optionalAccess', _737 => _737.cover_url]), ogPlaceholder),
32935
32931
  fallbackIcon: icon,
32936
32932
  status: { label, variant: "grey" },
32937
32933
  chatRef,
@@ -32948,10 +32944,10 @@ function RoadmapChatCard({
32948
32944
  cardType,
32949
32945
  discuss
32950
32946
  }) {
32951
- const logoUrl = typeof _optionalChain([item, 'optionalAccess', _742 => _742.icon]) === "string" && item.icon.startsWith("http") ? item.icon : void 0;
32952
- const useTypeIcon = cardType === "internal_task" || !logoUrl && _optionalChain([item, 'optionalAccess', _743 => _743.customItemId]) != null;
32947
+ const logoUrl = typeof _optionalChain([item, 'optionalAccess', _738 => _738.icon]) === "string" && item.icon.startsWith("http") ? item.icon : void 0;
32948
+ const useTypeIcon = cardType === "internal_task" || !logoUrl && _optionalChain([item, 'optionalAccess', _739 => _739.customItemId]) != null;
32953
32949
  const defaultIcon = cardType === "delivery_item" ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkC6ASEPZLcjs.TruckFastIcon, { size: 24 }) : cardType === "internal_task" ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkC6ASEPZLcjs.CheckSquareIcon, { size: 24 }) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkC6ASEPZLcjs.MapIcon, { size: 24 });
32954
- const icon = useTypeIcon ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, TaskTypeIcon, { customItemId: _optionalChain([item, 'optionalAccess', _744 => _744.customItemId]), className: "size-6" }) : logoUrl ? (
32950
+ const icon = useTypeIcon ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, TaskTypeIcon, { customItemId: _optionalChain([item, 'optionalAccess', _740 => _740.customItemId]), className: "size-6" }) : logoUrl ? (
32955
32951
  // Contained (not full-bleed) so the integration logo keeps its aspect
32956
32952
  // ratio inside the bordered icon box — matches RoadmapCard.
32957
32953
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "img", { src: logoUrl, alt: "", className: "size-6 object-contain" })
@@ -32959,10 +32955,10 @@ function RoadmapChatCard({
32959
32955
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
32960
32956
  EntityMingoCard,
32961
32957
  {
32962
- title: _nullishCoalesce(_optionalChain([item, 'optionalAccess', _745 => _745.title]), () => ( "")),
32963
- description: _nullishCoalesce(_optionalChain([item, 'optionalAccess', _746 => _746.description]), () => ( void 0)),
32958
+ title: _nullishCoalesce(_optionalChain([item, 'optionalAccess', _741 => _741.title]), () => ( "")),
32959
+ description: _nullishCoalesce(_optionalChain([item, 'optionalAccess', _742 => _742.description]), () => ( void 0)),
32964
32960
  fallbackIcon: icon,
32965
- status: statusPill(_optionalChain([item, 'optionalAccess', _747 => _747.status])),
32961
+ status: statusPill(_optionalChain([item, 'optionalAccess', _743 => _743.status])),
32966
32962
  chatRef,
32967
32963
  isNewTab,
32968
32964
  discuss,
@@ -33048,7 +33044,7 @@ function programRegistryEntries() {
33048
33044
  discuss: opts.discuss,
33049
33045
  configKey: cfg.configKey,
33050
33046
  label: cfg.configKey.charAt(0).toUpperCase() + cfg.configKey.slice(1),
33051
- ogPlaceholder: _nullishCoalesce(_optionalChain([opts, 'optionalAccess', _748 => _748.extras, 'optionalAccess', _749 => _749.buildOgPlaceholderUrl, 'optionalCall', _750 => _750(_nullishCoalesce(_optionalChain([item, 'optionalAccess', _751 => _751.title]), () => ( "")))]), () => ( null))
33047
+ ogPlaceholder: _nullishCoalesce(_optionalChain([opts, 'optionalAccess', _744 => _744.extras, 'optionalAccess', _745 => _745.buildOgPlaceholderUrl, 'optionalCall', _746 => _746(_nullishCoalesce(_optionalChain([item, 'optionalAccess', _747 => _747.title]), () => ( "")))]), () => ( null))
33052
33048
  }
33053
33049
  )
33054
33050
  };
@@ -33194,8 +33190,8 @@ var CHAT_CARD_REGISTRY = {
33194
33190
  chatRef,
33195
33191
  isNewTab: opts.isNewTab,
33196
33192
  discuss: opts.discuss,
33197
- ogPlaceholder: _nullishCoalesce(_optionalChain([opts, 'optionalAccess', _752 => _752.extras, 'optionalAccess', _753 => _753.buildOgPlaceholderUrl, 'optionalCall', _754 => _754(_nullishCoalesce(_optionalChain([item, 'optionalAccess', _755 => _755.title]), () => ( "")))]), () => ( null)),
33198
- hasEmbeddedVideo: _optionalChain([chatRef, 'access', _756 => _756.metadata, 'optionalAccess', _757 => _757.hasEmbeddedVideo]) === true
33193
+ ogPlaceholder: _nullishCoalesce(_optionalChain([opts, 'optionalAccess', _748 => _748.extras, 'optionalAccess', _749 => _749.buildOgPlaceholderUrl, 'optionalCall', _750 => _750(_nullishCoalesce(_optionalChain([item, 'optionalAccess', _751 => _751.title]), () => ( "")))]), () => ( null)),
33194
+ hasEmbeddedVideo: _optionalChain([chatRef, 'access', _752 => _752.metadata, 'optionalAccess', _753 => _753.hasEmbeddedVideo]) === true
33199
33195
  }
33200
33196
  )
33201
33197
  },
@@ -33212,7 +33208,7 @@ var CHAT_CARD_REGISTRY = {
33212
33208
  chatRef,
33213
33209
  isNewTab: opts.isNewTab,
33214
33210
  discuss: opts.discuss,
33215
- ogPlaceholder: _nullishCoalesce(_optionalChain([opts, 'optionalAccess', _758 => _758.extras, 'optionalAccess', _759 => _759.buildOgPlaceholderUrl, 'optionalCall', _760 => _760(_nullishCoalesce(_optionalChain([item, 'optionalAccess', _761 => _761.title]), () => ( "")))]), () => ( null))
33211
+ ogPlaceholder: _nullishCoalesce(_optionalChain([opts, 'optionalAccess', _754 => _754.extras, 'optionalAccess', _755 => _755.buildOgPlaceholderUrl, 'optionalCall', _756 => _756(_nullishCoalesce(_optionalChain([item, 'optionalAccess', _757 => _757.title]), () => ( "")))]), () => ( null))
33216
33212
  }
33217
33213
  )
33218
33214
  },
@@ -33229,7 +33225,7 @@ var CHAT_CARD_REGISTRY = {
33229
33225
  chatRef,
33230
33226
  isNewTab: opts.isNewTab,
33231
33227
  discuss: opts.discuss,
33232
- ogPlaceholder: _nullishCoalesce(_optionalChain([opts, 'optionalAccess', _762 => _762.extras, 'optionalAccess', _763 => _763.buildOgPlaceholderUrl, 'optionalCall', _764 => _764(_nullishCoalesce(_optionalChain([item, 'optionalAccess', _765 => _765.title]), () => ( "")))]), () => ( null))
33228
+ ogPlaceholder: _nullishCoalesce(_optionalChain([opts, 'optionalAccess', _758 => _758.extras, 'optionalAccess', _759 => _759.buildOgPlaceholderUrl, 'optionalCall', _760 => _760(_nullishCoalesce(_optionalChain([item, 'optionalAccess', _761 => _761.title]), () => ( "")))]), () => ( null))
33233
33229
  }
33234
33230
  )
33235
33231
  },
@@ -33240,7 +33236,7 @@ var CHAT_CARD_REGISTRY = {
33240
33236
  bareInline: true,
33241
33237
  skeleton: () => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, ProductReleaseCardSkeleton, { size: "sm" }),
33242
33238
  render: (item, chatRef, opts) => {
33243
- const builder = _nullishCoalesce(_optionalChain([opts, 'optionalAccess', _766 => _766.extras, 'optionalAccess', _767 => _767.buildProductReleaseCardProps]), () => ( defaultBuildProductReleaseCardProps));
33239
+ const builder = _nullishCoalesce(_optionalChain([opts, 'optionalAccess', _762 => _762.extras, 'optionalAccess', _763 => _763.buildProductReleaseCardProps]), () => ( defaultBuildProductReleaseCardProps));
33244
33240
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
33245
33241
  ProductReleaseChatCard,
33246
33242
  {
@@ -33267,7 +33263,7 @@ var CHAT_CARD_REGISTRY = {
33267
33263
  chatRef,
33268
33264
  isNewTab: opts.isNewTab,
33269
33265
  discuss: opts.discuss,
33270
- ogPlaceholder: _nullishCoalesce(_optionalChain([opts, 'optionalAccess', _768 => _768.extras, 'optionalAccess', _769 => _769.buildOgPlaceholderUrl, 'optionalCall', _770 => _770(_nullishCoalesce(_optionalChain([item, 'optionalAccess', _771 => _771.title]), () => ( "")))]), () => ( null))
33266
+ ogPlaceholder: _nullishCoalesce(_optionalChain([opts, 'optionalAccess', _764 => _764.extras, 'optionalAccess', _765 => _765.buildOgPlaceholderUrl, 'optionalCall', _766 => _766(_nullishCoalesce(_optionalChain([item, 'optionalAccess', _767 => _767.title]), () => ( "")))]), () => ( null))
33271
33267
  }
33272
33268
  )
33273
33269
  },
@@ -33286,7 +33282,7 @@ var CHAT_CARD_REGISTRY = {
33286
33282
  chatRef,
33287
33283
  isNewTab: opts.isNewTab,
33288
33284
  discuss: opts.discuss,
33289
- ogPlaceholder: _nullishCoalesce(_optionalChain([opts, 'optionalAccess', _772 => _772.extras, 'optionalAccess', _773 => _773.buildOgPlaceholderUrl, 'optionalCall', _774 => _774(_nullishCoalesce(_optionalChain([item, 'optionalAccess', _775 => _775.title]), () => ( "")))]), () => ( null))
33285
+ ogPlaceholder: _nullishCoalesce(_optionalChain([opts, 'optionalAccess', _768 => _768.extras, 'optionalAccess', _769 => _769.buildOgPlaceholderUrl, 'optionalCall', _770 => _770(_nullishCoalesce(_optionalChain([item, 'optionalAccess', _771 => _771.title]), () => ( "")))]), () => ( null))
33290
33286
  }
33291
33287
  )
33292
33288
  },
@@ -33298,7 +33294,7 @@ var CHAT_CARD_REGISTRY = {
33298
33294
  skeleton: () => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, CampaignCardAdminSkeleton, {}),
33299
33295
  // No public viewer — synthesize the hub-internal admin URL post-fetch
33300
33296
  // so the wrapper + isNewTab computation see the actual destination.
33301
- fallbackHref: (item) => _optionalChain([item, 'optionalAccess', _776 => _776.id]) ? `/admin/campaigns/${encodeURIComponent(item.id)}` : null,
33297
+ fallbackHref: (item) => _optionalChain([item, 'optionalAccess', _772 => _772.id]) ? `/admin/campaigns/${encodeURIComponent(item.id)}` : null,
33302
33298
  render: (item, chatRef, opts) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
33303
33299
  CampaignChatCard,
33304
33300
  {
@@ -33324,12 +33320,12 @@ function ChatCardNavWrap({
33324
33320
  const onClickCapture = (e) => {
33325
33321
  if (!href) return;
33326
33322
  const targetEl = e.target;
33327
- if (_optionalChain([targetEl, 'optionalAccess', _777 => _777.closest, 'optionalCall', _778 => _778("button")])) return;
33328
- if (!_optionalChain([targetEl, 'optionalAccess', _779 => _779.closest, 'optionalCall', _780 => _780("a")])) return;
33323
+ if (_optionalChain([targetEl, 'optionalAccess', _773 => _773.closest, 'optionalCall', _774 => _774("button")])) return;
33324
+ if (!_optionalChain([targetEl, 'optionalAccess', _775 => _775.closest, 'optionalCall', _776 => _776("a")])) return;
33329
33325
  const handled = handleChatNavClick(e, runtime, { href, path, targetPlatform }, router.push);
33330
33326
  if (!handled) return;
33331
33327
  e.stopPropagation();
33332
- if (!isNewTab && _optionalChain([panel, 'optionalAccess', _781 => _781.closeChat])) panel.closeChat();
33328
+ if (!isNewTab && _optionalChain([panel, 'optionalAccess', _777 => _777.closeChat])) panel.closeChat();
33333
33329
  };
33334
33330
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "contents", onClickCapture, children });
33335
33331
  }
@@ -33351,7 +33347,7 @@ function ChatCardLoader({
33351
33347
  title: chatRef.title,
33352
33348
  externalUrl: chatRef.url,
33353
33349
  targetPlatform: chatRef.targetPlatform,
33354
- path: typeof _optionalChain([chatRef, 'access', _782 => _782.metadata, 'optionalAccess', _783 => _783.path]) === "string" ? chatRef.metadata.path : null
33350
+ path: typeof _optionalChain([chatRef, 'access', _778 => _778.metadata, 'optionalAccess', _779 => _779.path]) === "string" ? chatRef.metadata.path : null
33355
33351
  },
33356
33352
  _chunk6LK4VEXEcjs.sourceRowCtxFromRuntime.call(void 0, runtime, { baseRoute, chipBasePlatform })
33357
33353
  );
@@ -33365,7 +33361,7 @@ function ChatCardLoader({
33365
33361
  const entry = CHAT_CARD_REGISTRY[resolvedChatRef.type];
33366
33362
  const fetchEntry = entry && entry.mode === "fetch" ? entry : null;
33367
33363
  const { item, isLoading } = useChatCardItem(
33368
- _nullishCoalesce(_optionalChain([fetchEntry, 'optionalAccess', _784 => _784.contentRefType]), () => ( "")),
33364
+ _nullishCoalesce(_optionalChain([fetchEntry, 'optionalAccess', _780 => _780.contentRefType]), () => ( "")),
33369
33365
  fetchEntry ? resolvedChatRef.id : ""
33370
33366
  );
33371
33367
  if (!entry) return null;
@@ -33396,7 +33392,7 @@ function ChatCardLoader({
33396
33392
  isNewTab,
33397
33393
  discuss
33398
33394
  };
33399
- const path = typeof _optionalChain([finalChatRef, 'access', _785 => _785.metadata, 'optionalAccess', _786 => _786.path]) === "string" ? finalChatRef.metadata.path : null;
33395
+ const path = typeof _optionalChain([finalChatRef, 'access', _781 => _781.metadata, 'optionalAccess', _782 => _782.path]) === "string" ? finalChatRef.metadata.path : null;
33400
33396
  const navWrap = (children) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
33401
33397
  ChatCardNavWrap,
33402
33398
  {
@@ -33922,7 +33918,7 @@ function useJetStreamDialogSubscription({
33922
33918
  const lifecycle = _chunkOZ3GH6OQcjs.startConnectionLifecycle.call(void 0, {
33923
33919
  conn: sharedConn,
33924
33920
  wsUrl,
33925
- onBeforeReconnect: () => _optionalChain([onBeforeReconnectRef, 'access', _787 => _787.current, 'optionalCall', _788 => _788()]),
33921
+ onBeforeReconnect: () => _optionalChain([onBeforeReconnectRef, 'access', _783 => _783.current, 'optionalCall', _784 => _784()]),
33926
33922
  backoff: reconnectionBackoffRef.current,
33927
33923
  getFreshUrl: () => getNatsWsUrlRef.current(),
33928
33924
  // JetStream emits 'error' for protocol-level failures (e.g. -ERR Permissions
@@ -33937,7 +33933,7 @@ function useJetStreamDialogSubscription({
33937
33933
  setReconnectionCount((c) => c + 1);
33938
33934
  }
33939
33935
  hadConnectionBeforeRef.current = true;
33940
- _optionalChain([onConnectRef, 'access', _789 => _789.current, 'optionalCall', _790 => _790()]);
33936
+ _optionalChain([onConnectRef, 'access', _785 => _785.current, 'optionalCall', _786 => _786()]);
33941
33937
  }
33942
33938
  if (status === "error") {
33943
33939
  console.warn("[JetStream] NATS protocol error:", evt.data);
@@ -33947,7 +33943,7 @@ function useJetStreamDialogSubscription({
33947
33943
  setIsConnected(false);
33948
33944
  setIsSubscribed(false);
33949
33945
  tearDownSubscription();
33950
- _optionalChain([onDisconnectRef, 'access', _791 => _791.current, 'optionalCall', _792 => _792()]);
33946
+ _optionalChain([onDisconnectRef, 'access', _787 => _787.current, 'optionalCall', _788 => _788()]);
33951
33947
  }
33952
33948
  }
33953
33949
  });
@@ -34026,7 +34022,7 @@ function useJetStreamDialogSubscription({
34026
34022
  }
34027
34023
  subscriptionRef.current = handle;
34028
34024
  setIsSubscribed(true);
34029
- _optionalChain([onSubscribedRef, 'access', _793 => _793.current, 'optionalCall', _794 => _794()]);
34025
+ _optionalChain([onSubscribedRef, 'access', _789 => _789.current, 'optionalCall', _790 => _790()]);
34030
34026
  } catch (e28) {
34031
34027
  if (!cancelled) {
34032
34028
  setIsSubscribed(false);
@@ -34139,20 +34135,20 @@ function useNatsDialogSubscription({
34139
34135
  const tearDownSubscriptions = () => {
34140
34136
  subscriptionRefs.current.forEach((sub) => {
34141
34137
  try {
34142
- _optionalChain([sub, 'optionalAccess', _795 => _795.unsubscribe, 'call', _796 => _796()]);
34138
+ _optionalChain([sub, 'optionalAccess', _791 => _791.unsubscribe, 'call', _792 => _792()]);
34143
34139
  } catch (e30) {
34144
34140
  }
34145
34141
  });
34146
34142
  subscriptionRefs.current.clear();
34147
34143
  lastSubscribedDialogIdRef.current = null;
34148
- _optionalChain([abortControllerRef, 'access', _797 => _797.current, 'optionalAccess', _798 => _798.abort, 'call', _799 => _799()]);
34144
+ _optionalChain([abortControllerRef, 'access', _793 => _793.current, 'optionalAccess', _794 => _794.abort, 'call', _795 => _795()]);
34149
34145
  abortControllerRef.current = null;
34150
34146
  };
34151
34147
  const isDisconnectStatus = (status) => status === "closed" || status === "disconnected" || status === "error";
34152
34148
  const lifecycle = _chunkOZ3GH6OQcjs.startConnectionLifecycle.call(void 0, {
34153
34149
  conn: sharedConn,
34154
34150
  wsUrl,
34155
- onBeforeReconnect: () => _optionalChain([onBeforeReconnectRef, 'access', _800 => _800.current, 'optionalCall', _801 => _801()]),
34151
+ onBeforeReconnect: () => _optionalChain([onBeforeReconnectRef, 'access', _796 => _796.current, 'optionalCall', _797 => _797()]),
34156
34152
  backoff: reconnectionBackoffRef.current,
34157
34153
  getFreshUrl: () => getNatsWsUrlRef.current(),
34158
34154
  shouldRetryOn: isDisconnectStatus,
@@ -34163,13 +34159,13 @@ function useNatsDialogSubscription({
34163
34159
  setReconnectionCount((c) => c + 1);
34164
34160
  }
34165
34161
  hadConnectionBeforeRef.current = true;
34166
- _optionalChain([onConnectRef, 'access', _802 => _802.current, 'optionalCall', _803 => _803()]);
34162
+ _optionalChain([onConnectRef, 'access', _798 => _798.current, 'optionalCall', _799 => _799()]);
34167
34163
  }
34168
34164
  if (isDisconnectStatus(status)) {
34169
34165
  setIsConnected(false);
34170
34166
  setIsSubscribed(false);
34171
34167
  tearDownSubscriptions();
34172
- _optionalChain([onDisconnectRef, 'access', _804 => _804.current, 'optionalCall', _805 => _805()]);
34168
+ _optionalChain([onDisconnectRef, 'access', _800 => _800.current, 'optionalCall', _801 => _801()]);
34173
34169
  }
34174
34170
  }
34175
34171
  });
@@ -34200,13 +34196,13 @@ function useNatsDialogSubscription({
34200
34196
  setIsSubscribed(false);
34201
34197
  subscriptionRefs.current.forEach((sub) => {
34202
34198
  try {
34203
- _optionalChain([sub, 'optionalAccess', _806 => _806.unsubscribe, 'call', _807 => _807()]);
34199
+ _optionalChain([sub, 'optionalAccess', _802 => _802.unsubscribe, 'call', _803 => _803()]);
34204
34200
  } catch (e31) {
34205
34201
  }
34206
34202
  });
34207
34203
  subscriptionRefs.current.clear();
34208
34204
  lastSubscribedDialogIdRef.current = null;
34209
- _optionalChain([abortControllerRef, 'access', _808 => _808.current, 'optionalAccess', _809 => _809.abort, 'call', _810 => _810()]);
34205
+ _optionalChain([abortControllerRef, 'access', _804 => _804.current, 'optionalAccess', _805 => _805.abort, 'call', _806 => _806()]);
34210
34206
  abortControllerRef.current = null;
34211
34207
  }
34212
34208
  return;
@@ -34218,12 +34214,12 @@ function useNatsDialogSubscription({
34218
34214
  if (subscriptionRefs.current.size > 0) {
34219
34215
  subscriptionRefs.current.forEach((sub) => {
34220
34216
  try {
34221
- _optionalChain([sub, 'optionalAccess', _811 => _811.unsubscribe, 'call', _812 => _812()]);
34217
+ _optionalChain([sub, 'optionalAccess', _807 => _807.unsubscribe, 'call', _808 => _808()]);
34222
34218
  } catch (e32) {
34223
34219
  }
34224
34220
  });
34225
34221
  subscriptionRefs.current.clear();
34226
- _optionalChain([abortControllerRef, 'access', _813 => _813.current, 'optionalAccess', _814 => _814.abort, 'call', _815 => _815()]);
34222
+ _optionalChain([abortControllerRef, 'access', _809 => _809.current, 'optionalAccess', _810 => _810.abort, 'call', _811 => _811()]);
34227
34223
  }
34228
34224
  abortControllerRef.current = new AbortController();
34229
34225
  const abort = abortControllerRef.current;
@@ -34255,7 +34251,7 @@ function useNatsDialogSubscription({
34255
34251
  });
34256
34252
  lastSubscribedDialogIdRef.current = dialogId;
34257
34253
  setIsSubscribed(true);
34258
- _optionalChain([onSubscribedRef, 'access', _816 => _816.current, 'optionalCall', _817 => _817()]);
34254
+ _optionalChain([onSubscribedRef, 'access', _812 => _812.current, 'optionalCall', _813 => _813()]);
34259
34255
  };
34260
34256
  if (isConnectedRef.current) {
34261
34257
  createSubscriptions();
@@ -34265,7 +34261,7 @@ function useNatsDialogSubscription({
34265
34261
  abort.abort();
34266
34262
  subscriptionRefs.current.forEach((sub) => {
34267
34263
  try {
34268
- _optionalChain([sub, 'optionalAccess', _818 => _818.unsubscribe, 'call', _819 => _819()]);
34264
+ _optionalChain([sub, 'optionalAccess', _814 => _814.unsubscribe, 'call', _815 => _815()]);
34269
34265
  } catch (e34) {
34270
34266
  }
34271
34267
  });
@@ -34306,7 +34302,7 @@ function useNatsDialogSubscription({
34306
34302
  });
34307
34303
  lastSubscribedDialogIdRef.current = dialogId2;
34308
34304
  setIsSubscribed(true);
34309
- _optionalChain([onSubscribedRef, 'access', _820 => _820.current, 'optionalCall', _821 => _821()]);
34305
+ _optionalChain([onSubscribedRef, 'access', _816 => _816.current, 'optionalCall', _817 => _817()]);
34310
34306
  } else if (subscriptionRefs.current.size > 0) {
34311
34307
  setIsSubscribed(true);
34312
34308
  }
@@ -34314,10 +34310,10 @@ function useNatsDialogSubscription({
34314
34310
  return { isConnected, isSubscribed, reconnectionCount };
34315
34311
  }
34316
34312
  function buildNatsWsUrl(apiBaseUrl, options) {
34317
- const path = _optionalChain([options, 'optionalAccess', _822 => _822.source]) === "dashboard" ? "/ws/nats-api" : "/ws/nats";
34313
+ const path = _optionalChain([options, 'optionalAccess', _818 => _818.source]) === "dashboard" ? "/ws/nats-api" : "/ws/nats";
34318
34314
  const u = new URL(path, apiBaseUrl);
34319
34315
  u.protocol = u.protocol === "https:" ? "wss:" : "ws:";
34320
- if (_optionalChain([options, 'optionalAccess', _823 => _823.includeAuthParam]) && _optionalChain([options, 'optionalAccess', _824 => _824.token])) {
34316
+ if (_optionalChain([options, 'optionalAccess', _819 => _819.includeAuthParam]) && _optionalChain([options, 'optionalAccess', _820 => _820.token])) {
34321
34317
  u.searchParams.set("authorization", options.token);
34322
34318
  }
34323
34319
  return u.toString();
@@ -34635,8 +34631,8 @@ var MessageSegmentAccumulator = class {
34635
34631
  type: "tool_execution",
34636
34632
  data: {
34637
34633
  ...toolData,
34638
- toolTitle: _nullishCoalesce(_nullishCoalesce(toolData.toolTitle, () => ( _optionalChain([existingExecuting, 'optionalAccess', _825 => _825.data, 'access', _826 => _826.toolTitle]))), () => ( _optionalChain([executingTool, 'optionalAccess', _827 => _827.toolTitle]))),
34639
- parameters: toolData.parameters || _optionalChain([executingTool, 'optionalAccess', _828 => _828.parameters])
34634
+ toolTitle: _nullishCoalesce(_nullishCoalesce(toolData.toolTitle, () => ( _optionalChain([existingExecuting, 'optionalAccess', _821 => _821.data, 'access', _822 => _822.toolTitle]))), () => ( _optionalChain([executingTool, 'optionalAccess', _823 => _823.toolTitle]))),
34635
+ parameters: toolData.parameters || _optionalChain([executingTool, 'optionalAccess', _824 => _824.parameters])
34640
34636
  }
34641
34637
  };
34642
34638
  if (existingIndex !== -1) {
@@ -34660,8 +34656,8 @@ var MessageSegmentAccumulator = class {
34660
34656
  if (seg.type !== "approval_batch") return seg;
34661
34657
  const hasCall = seg.data.toolCalls.some((c) => c.toolExecutionRequestId === execId);
34662
34658
  if (!hasCall) return seg;
34663
- const prev = _optionalChain([seg, 'access', _829 => _829.data, 'access', _830 => _830.executions, 'optionalAccess', _831 => _831[execId]]);
34664
- const next = toolData.type === "EXECUTED_TOOL" ? { status: "done", result: toolData.result, success: toolData.success } : { status: "executing", result: _optionalChain([prev, 'optionalAccess', _832 => _832.result]), success: _optionalChain([prev, 'optionalAccess', _833 => _833.success]) };
34659
+ const prev = _optionalChain([seg, 'access', _825 => _825.data, 'access', _826 => _826.executions, 'optionalAccess', _827 => _827[execId]]);
34660
+ const next = toolData.type === "EXECUTED_TOOL" ? { status: "done", result: toolData.result, success: toolData.success } : { status: "executing", result: _optionalChain([prev, 'optionalAccess', _828 => _828.result]), success: _optionalChain([prev, 'optionalAccess', _829 => _829.success]) };
34665
34661
  matched = true;
34666
34662
  return {
34667
34663
  ...seg,
@@ -34781,10 +34777,10 @@ var MessageSegmentAccumulator = class {
34781
34777
  const segment = {
34782
34778
  type: "approval_request",
34783
34779
  data: {
34784
- command: _optionalChain([pendingApproval, 'optionalAccess', _834 => _834.command]) || "",
34785
- explanation: _optionalChain([pendingApproval, 'optionalAccess', _835 => _835.explanation]),
34780
+ command: _optionalChain([pendingApproval, 'optionalAccess', _830 => _830.command]) || "",
34781
+ explanation: _optionalChain([pendingApproval, 'optionalAccess', _831 => _831.explanation]),
34786
34782
  requestId,
34787
- approvalType: _optionalChain([pendingApproval, 'optionalAccess', _836 => _836.approvalType]) || approvalType
34783
+ approvalType: _optionalChain([pendingApproval, 'optionalAccess', _832 => _832.approvalType]) || approvalType
34788
34784
  },
34789
34785
  status,
34790
34786
  onApprove: this.callbacks.onApprove,
@@ -34974,7 +34970,7 @@ function useRealtimeChunkProcessor(options) {
34974
34970
  if (initialState.escalatedApprovals) {
34975
34971
  pendingEscalatedRef.current = new Map(initialState.escalatedApprovals);
34976
34972
  initialState.escalatedApprovals.forEach((data, requestId) => {
34977
- _optionalChain([callbacks, 'access', _837 => _837.onEscalatedApproval, 'optionalCall', _838 => _838(requestId, data)]);
34973
+ _optionalChain([callbacks, 'access', _833 => _833.onEscalatedApproval, 'optionalCall', _834 => _834(requestId, data)]);
34978
34974
  });
34979
34975
  }
34980
34976
  hasEverStreamedRef.current = true;
@@ -35001,7 +34997,7 @@ function useRealtimeChunkProcessor(options) {
35001
34997
  if ((directModeFlagRef.current || sawDirectMessageRef.current) && !DIRECT_MODE_ALLOWED.has(action.action)) {
35002
34998
  if (isInStreamRef.current) {
35003
34999
  isInStreamRef.current = false;
35004
- _optionalChain([callbacks, 'access', _839 => _839.onStreamEnd, 'optionalCall', _840 => _840()]);
35000
+ _optionalChain([callbacks, 'access', _835 => _835.onStreamEnd, 'optionalCall', _836 => _836()]);
35005
35001
  accumulator.resetSegments();
35006
35002
  }
35007
35003
  return;
@@ -35010,32 +35006,32 @@ function useRealtimeChunkProcessor(options) {
35010
35006
  case "message_start":
35011
35007
  isInStreamRef.current = true;
35012
35008
  hasEverStreamedRef.current = true;
35013
- _optionalChain([callbacks, 'access', _841 => _841.onStreamStart, 'optionalCall', _842 => _842()]);
35009
+ _optionalChain([callbacks, 'access', _837 => _837.onStreamStart, 'optionalCall', _838 => _838()]);
35014
35010
  accumulator.resetSegments();
35015
35011
  break;
35016
35012
  case "message_end":
35017
35013
  isInStreamRef.current = false;
35018
- _optionalChain([callbacks, 'access', _843 => _843.onStreamEnd, 'optionalCall', _844 => _844()]);
35014
+ _optionalChain([callbacks, 'access', _839 => _839.onStreamEnd, 'optionalCall', _840 => _840()]);
35019
35015
  accumulator.resetSegments();
35020
35016
  break;
35021
35017
  case "metadata":
35022
- _optionalChain([callbacks, 'access', _845 => _845.onMetadata, 'optionalCall', _846 => _846(action)]);
35018
+ _optionalChain([callbacks, 'access', _841 => _841.onMetadata, 'optionalCall', _842 => _842(action)]);
35023
35019
  break;
35024
35020
  case "text": {
35025
35021
  const segments = accumulator.appendText(action.text);
35026
35022
  if (isInStreamRef.current || !hasEverStreamedRef.current) {
35027
- _optionalChain([callbacks, 'access', _847 => _847.onSegmentsUpdate, 'optionalCall', _848 => _848(segments)]);
35023
+ _optionalChain([callbacks, 'access', _843 => _843.onSegmentsUpdate, 'optionalCall', _844 => _844(segments)]);
35028
35024
  } else {
35029
- _optionalChain([callbacks, 'access', _849 => _849.onSegmentsUpdate, 'optionalCall', _850 => _850([{ type: "text", text: action.text }], { append: true })]);
35025
+ _optionalChain([callbacks, 'access', _845 => _845.onSegmentsUpdate, 'optionalCall', _846 => _846([{ type: "text", text: action.text }], { append: true })]);
35030
35026
  }
35031
35027
  break;
35032
35028
  }
35033
35029
  case "thinking": {
35034
35030
  const segments = accumulator.appendThinking(action.text);
35035
35031
  if (isInStreamRef.current || !hasEverStreamedRef.current) {
35036
- _optionalChain([callbacks, 'access', _851 => _851.onSegmentsUpdate, 'optionalCall', _852 => _852(segments)]);
35032
+ _optionalChain([callbacks, 'access', _847 => _847.onSegmentsUpdate, 'optionalCall', _848 => _848(segments)]);
35037
35033
  } else {
35038
- _optionalChain([callbacks, 'access', _853 => _853.onSegmentsUpdate, 'optionalCall', _854 => _854([{ type: "thinking", text: action.text }], { append: true })]);
35034
+ _optionalChain([callbacks, 'access', _849 => _849.onSegmentsUpdate, 'optionalCall', _850 => _850([{ type: "thinking", text: action.text }], { append: true })]);
35039
35035
  }
35040
35036
  break;
35041
35037
  }
@@ -35045,7 +35041,7 @@ function useRealtimeChunkProcessor(options) {
35045
35041
  break;
35046
35042
  }
35047
35043
  const segments = accumulator.addToolExecution(action.segment);
35048
- _optionalChain([callbacks, 'access', _855 => _855.onSegmentsUpdate, 'optionalCall', _856 => _856(segments)]);
35044
+ _optionalChain([callbacks, 'access', _851 => _851.onSegmentsUpdate, 'optionalCall', _852 => _852(segments)]);
35049
35045
  break;
35050
35046
  }
35051
35047
  case "approval_request": {
@@ -35059,10 +35055,10 @@ function useRealtimeChunkProcessor(options) {
35059
35055
  approvalType,
35060
35056
  status
35061
35057
  );
35062
- _optionalChain([callbacks, 'access', _857 => _857.onSegmentsUpdate, 'optionalCall', _858 => _858(segments)]);
35058
+ _optionalChain([callbacks, 'access', _853 => _853.onSegmentsUpdate, 'optionalCall', _854 => _854(segments)]);
35063
35059
  } else {
35064
35060
  pendingEscalatedRef.current.set(requestId, { command, explanation, approvalType });
35065
- _optionalChain([callbacks, 'access', _859 => _859.onEscalatedApproval, 'optionalCall', _860 => _860(requestId, { command, explanation, approvalType })]);
35061
+ _optionalChain([callbacks, 'access', _855 => _855.onEscalatedApproval, 'optionalCall', _856 => _856(requestId, { command, explanation, approvalType })]);
35066
35062
  }
35067
35063
  break;
35068
35064
  }
@@ -35074,20 +35070,20 @@ function useRealtimeChunkProcessor(options) {
35074
35070
  const summary = required ? getCommandText(required) : `Batch of ${toolCalls.length} tool calls`;
35075
35071
  pendingEscalatedRef.current.set(requestId, {
35076
35072
  command: summary,
35077
- explanation: _optionalChain([required, 'optionalAccess', _861 => _861.toolExplanation]),
35073
+ explanation: _optionalChain([required, 'optionalAccess', _857 => _857.toolExplanation]),
35078
35074
  approvalType,
35079
35075
  toolCalls
35080
35076
  });
35081
- _optionalChain([callbacks, 'access', _862 => _862.onEscalatedApproval, 'optionalCall', _863 => _863(requestId, {
35077
+ _optionalChain([callbacks, 'access', _858 => _858.onEscalatedApproval, 'optionalCall', _859 => _859(requestId, {
35082
35078
  command: summary,
35083
- explanation: _optionalChain([required, 'optionalAccess', _864 => _864.toolExplanation]),
35079
+ explanation: _optionalChain([required, 'optionalAccess', _860 => _860.toolExplanation]),
35084
35080
  approvalType
35085
35081
  })]);
35086
35082
  break;
35087
35083
  }
35088
35084
  if (batchApprovalsEnabled) {
35089
35085
  const segments2 = accumulator.addApprovalBatch(requestId, approvalType, toolCalls, status);
35090
- _optionalChain([callbacks, 'access', _865 => _865.onSegmentsUpdate, 'optionalCall', _866 => _866(segments2)]);
35086
+ _optionalChain([callbacks, 'access', _861 => _861.onSegmentsUpdate, 'optionalCall', _862 => _862(segments2)]);
35091
35087
  break;
35092
35088
  }
35093
35089
  let segments = accumulator.getSegments();
@@ -35101,7 +35097,7 @@ function useRealtimeChunkProcessor(options) {
35101
35097
  status
35102
35098
  );
35103
35099
  }
35104
- _optionalChain([callbacks, 'access', _867 => _867.onSegmentsUpdate, 'optionalCall', _868 => _868(segments)]);
35100
+ _optionalChain([callbacks, 'access', _863 => _863.onSegmentsUpdate, 'optionalCall', _864 => _864(segments)]);
35105
35101
  break;
35106
35102
  }
35107
35103
  case "approval_result": {
@@ -35110,7 +35106,7 @@ function useRealtimeChunkProcessor(options) {
35110
35106
  const status = approved ? "approved" : "rejected";
35111
35107
  if (escalatedData) {
35112
35108
  pendingEscalatedRef.current.delete(requestId);
35113
- _optionalChain([callbacks, 'access', _869 => _869.onEscalatedApprovalResult, 'optionalCall', _870 => _870(requestId, approved, {
35109
+ _optionalChain([callbacks, 'access', _865 => _865.onEscalatedApprovalResult, 'optionalCall', _866 => _866(requestId, approved, {
35114
35110
  command: escalatedData.command,
35115
35111
  explanation: escalatedData.explanation,
35116
35112
  approvalType: escalatedData.approvalType
@@ -35123,7 +35119,7 @@ function useRealtimeChunkProcessor(options) {
35123
35119
  escalatedData.toolCalls,
35124
35120
  status
35125
35121
  );
35126
- _optionalChain([callbacks, 'access', _871 => _871.onSegmentsUpdate, 'optionalCall', _872 => _872(segments)]);
35122
+ _optionalChain([callbacks, 'access', _867 => _867.onSegmentsUpdate, 'optionalCall', _868 => _868(segments)]);
35127
35123
  } else {
35128
35124
  let segments = accumulator.getSegments();
35129
35125
  for (const call of escalatedData.toolCalls) {
@@ -35136,7 +35132,7 @@ function useRealtimeChunkProcessor(options) {
35136
35132
  status
35137
35133
  );
35138
35134
  }
35139
- _optionalChain([callbacks, 'access', _873 => _873.onSegmentsUpdate, 'optionalCall', _874 => _874(segments)]);
35135
+ _optionalChain([callbacks, 'access', _869 => _869.onSegmentsUpdate, 'optionalCall', _870 => _870(segments)]);
35140
35136
  }
35141
35137
  } else {
35142
35138
  const segments = accumulator.addApprovalRequest(
@@ -35146,37 +35142,37 @@ function useRealtimeChunkProcessor(options) {
35146
35142
  escalatedData.approvalType,
35147
35143
  status
35148
35144
  );
35149
- _optionalChain([callbacks, 'access', _875 => _875.onSegmentsUpdate, 'optionalCall', _876 => _876(segments)]);
35145
+ _optionalChain([callbacks, 'access', _871 => _871.onSegmentsUpdate, 'optionalCall', _872 => _872(segments)]);
35150
35146
  }
35151
35147
  } else {
35152
35148
  accumulator.updateApprovalStatus(requestId, status);
35153
35149
  if (!callbacks.onApprovalResolved) {
35154
- _optionalChain([callbacks, 'access', _877 => _877.onSegmentsUpdate, 'optionalCall', _878 => _878(accumulator.getSegments())]);
35150
+ _optionalChain([callbacks, 'access', _873 => _873.onSegmentsUpdate, 'optionalCall', _874 => _874(accumulator.getSegments())]);
35155
35151
  }
35156
35152
  }
35157
- _optionalChain([callbacks, 'access', _879 => _879.onApprovalResolved, 'optionalCall', _880 => _880(requestId, status, approvalType)]);
35153
+ _optionalChain([callbacks, 'access', _875 => _875.onApprovalResolved, 'optionalCall', _876 => _876(requestId, status, approvalType)]);
35158
35154
  break;
35159
35155
  }
35160
35156
  case "error": {
35161
35157
  let message2;
35162
- if ("details" in action && _optionalChain([action, 'optionalAccess', _881 => _881.details])) {
35158
+ if ("details" in action && _optionalChain([action, 'optionalAccess', _877 => _877.details])) {
35163
35159
  try {
35164
- message2 = _optionalChain([JSON, 'access', _882 => _882.parse, 'call', _883 => _883(action.details), 'optionalAccess', _884 => _884.error, 'optionalAccess', _885 => _885.message]);
35160
+ message2 = _optionalChain([JSON, 'access', _878 => _878.parse, 'call', _879 => _879(action.details), 'optionalAccess', _880 => _880.error, 'optionalAccess', _881 => _881.message]);
35165
35161
  } catch (e36) {
35166
35162
  message2 = action.details;
35167
35163
  }
35168
35164
  }
35169
35165
  const segments = accumulator.addError(action.error, message2);
35170
- _optionalChain([callbacks, 'access', _886 => _886.onSegmentsUpdate, 'optionalCall', _887 => _887(segments)]);
35171
- _optionalChain([callbacks, 'access', _888 => _888.onError, 'optionalCall', _889 => _889(action.error, message2)]);
35166
+ _optionalChain([callbacks, 'access', _882 => _882.onSegmentsUpdate, 'optionalCall', _883 => _883(segments)]);
35167
+ _optionalChain([callbacks, 'access', _884 => _884.onError, 'optionalCall', _885 => _885(action.error, message2)]);
35172
35168
  break;
35173
35169
  }
35174
35170
  case "system": {
35175
- _optionalChain([callbacks, 'access', _890 => _890.onSystemMessage, 'optionalCall', _891 => _891(action.text)]);
35171
+ _optionalChain([callbacks, 'access', _886 => _886.onSystemMessage, 'optionalCall', _887 => _887(action.text)]);
35176
35172
  break;
35177
35173
  }
35178
35174
  case "direct_message": {
35179
- _optionalChain([callbacks, 'access', _892 => _892.onDirectMessage, 'optionalCall', _893 => _893(action.text, {
35175
+ _optionalChain([callbacks, 'access', _888 => _888.onDirectMessage, 'optionalCall', _889 => _889(action.text, {
35180
35176
  ownerType: action.ownerType,
35181
35177
  displayName: action.displayName,
35182
35178
  userId: action.userId
@@ -35184,29 +35180,29 @@ function useRealtimeChunkProcessor(options) {
35184
35180
  break;
35185
35181
  }
35186
35182
  case "message_request":
35187
- _optionalChain([callbacks, 'access', _894 => _894.onUserMessage, 'optionalCall', _895 => _895(action.text, {
35183
+ _optionalChain([callbacks, 'access', _890 => _890.onUserMessage, 'optionalCall', _891 => _891(action.text, {
35188
35184
  ownerType: action.ownerType,
35189
35185
  displayName: action.displayName,
35190
35186
  userId: action.userId
35191
35187
  })]);
35192
35188
  break;
35193
35189
  case "token_usage":
35194
- _optionalChain([callbacks, 'access', _896 => _896.onTokenUsage, 'optionalCall', _897 => _897(action.data)]);
35190
+ _optionalChain([callbacks, 'access', _892 => _892.onTokenUsage, 'optionalCall', _893 => _893(action.data)]);
35195
35191
  break;
35196
35192
  case "context_compaction_start": {
35197
35193
  const standalone = !isInStreamRef.current;
35198
35194
  const segments = accumulator.addContextCompaction();
35199
- _optionalChain([callbacks, 'access', _898 => _898.onSegmentsUpdate, 'optionalCall', _899 => _899(segments, standalone ? { append: true, isCompacting: true } : void 0)]);
35195
+ _optionalChain([callbacks, 'access', _894 => _894.onSegmentsUpdate, 'optionalCall', _895 => _895(segments, standalone ? { append: true, isCompacting: true } : void 0)]);
35200
35196
  break;
35201
35197
  }
35202
35198
  case "context_compaction_end": {
35203
35199
  const standalone = !isInStreamRef.current;
35204
35200
  const segments = accumulator.completeContextCompaction(action.summary);
35205
- _optionalChain([callbacks, 'access', _900 => _900.onSegmentsUpdate, 'optionalCall', _901 => _901(segments, standalone ? { append: true, isCompacting: true } : void 0)]);
35201
+ _optionalChain([callbacks, 'access', _896 => _896.onSegmentsUpdate, 'optionalCall', _897 => _897(segments, standalone ? { append: true, isCompacting: true } : void 0)]);
35206
35202
  break;
35207
35203
  }
35208
35204
  case "dialog_closed":
35209
- _optionalChain([callbacks, 'access', _902 => _902.onDialogClosed, 'optionalCall', _903 => _903()]);
35205
+ _optionalChain([callbacks, 'access', _898 => _898.onDialogClosed, 'optionalCall', _899 => _899()]);
35210
35206
  break;
35211
35207
  default:
35212
35208
  break;
@@ -35268,7 +35264,7 @@ function useSlashCommands(prefix, commandsUrl) {
35268
35264
  const next = await fetchSlashCommands(prefix, ctrl.signal, commandsUrl);
35269
35265
  if (!cancelled) setCommands(next);
35270
35266
  } catch (err) {
35271
- if (!cancelled && _optionalChain([err, 'optionalAccess', _904 => _904.name]) !== "AbortError") {
35267
+ if (!cancelled && _optionalChain([err, 'optionalAccess', _900 => _900.name]) !== "AbortError") {
35272
35268
  console.warn("[use-slash-commands] fetch failed:", err);
35273
35269
  }
35274
35270
  } finally {
@@ -35287,7 +35283,7 @@ function useSlashCommandRegistry(commandsUrl, options) {
35287
35283
  const query = _reactquery.useQuery.call(void 0, {
35288
35284
  queryKey: ["chat-slash-commands", commandsUrl],
35289
35285
  queryFn: ({ signal }) => fetchSlashCommands("", signal, commandsUrl),
35290
- enabled: _nullishCoalesce(_optionalChain([options, 'optionalAccess', _905 => _905.enabled]), () => ( true)),
35286
+ enabled: _nullishCoalesce(_optionalChain([options, 'optionalAccess', _901 => _901.enabled]), () => ( true)),
35291
35287
  staleTime: Infinity,
35292
35288
  gcTime: Infinity
35293
35289
  });
@@ -35308,7 +35304,7 @@ var CHAT_ATTACHMENT_MAX_SIZE_BYTES = 25 * 1024 * 1024;
35308
35304
  var STORAGE_CACHE_CONTROL_IMMUTABLE = "public, max-age=31536000, immutable";
35309
35305
  function uploadWithProgress(url, file, token, onProgress, signal) {
35310
35306
  return new Promise((resolve, reject) => {
35311
- if (_optionalChain([signal, 'optionalAccess', _906 => _906.aborted])) {
35307
+ if (_optionalChain([signal, 'optionalAccess', _902 => _902.aborted])) {
35312
35308
  reject(new Error("Upload cancelled"));
35313
35309
  return;
35314
35310
  }
@@ -35322,7 +35318,7 @@ function uploadWithProgress(url, file, token, onProgress, signal) {
35322
35318
  xhr.removeEventListener("error", handleError);
35323
35319
  xhr.removeEventListener("abort", handleAbort);
35324
35320
  xhr.removeEventListener("timeout", handleTimeout);
35325
- _optionalChain([signal, 'optionalAccess', _907 => _907.removeEventListener, 'call', _908 => _908("abort", handleSignalAbort)]);
35321
+ _optionalChain([signal, 'optionalAccess', _903 => _903.removeEventListener, 'call', _904 => _904("abort", handleSignalAbort)]);
35326
35322
  if (xhr.readyState !== XMLHttpRequest.DONE) xhr.abort();
35327
35323
  };
35328
35324
  const handleProgress = (event) => {
@@ -35358,7 +35354,7 @@ function uploadWithProgress(url, file, token, onProgress, signal) {
35358
35354
  const handleSignalAbort = () => {
35359
35355
  xhr.abort();
35360
35356
  };
35361
- _optionalChain([signal, 'optionalAccess', _909 => _909.addEventListener, 'call', _910 => _910("abort", handleSignalAbort, { once: true })]);
35357
+ _optionalChain([signal, 'optionalAccess', _905 => _905.addEventListener, 'call', _906 => _906("abort", handleSignalAbort, { once: true })]);
35362
35358
  xhr.upload.addEventListener("progress", handleProgress);
35363
35359
  xhr.addEventListener("load", handleLoad);
35364
35360
  xhr.addEventListener("error", handleError);
@@ -35402,12 +35398,12 @@ function useChatAttachments() {
35402
35398
  try {
35403
35399
  sniffed = await _filetype.fileTypeFromBlob.call(void 0, att.file);
35404
35400
  } catch (err) {
35405
- if (_optionalChain([ctrl, 'optionalAccess', _911 => _911.signal, 'access', _912 => _912.aborted])) return;
35401
+ if (_optionalChain([ctrl, 'optionalAccess', _907 => _907.signal, 'access', _908 => _908.aborted])) return;
35406
35402
  throw new Error(
35407
35403
  `Could not read file content: ${err instanceof Error ? err.message : String(err)}`
35408
35404
  );
35409
35405
  }
35410
- if (_optionalChain([ctrl, 'optionalAccess', _913 => _913.signal, 'access', _914 => _914.aborted])) return;
35406
+ if (_optionalChain([ctrl, 'optionalAccess', _909 => _909.signal, 'access', _910 => _910.aborted])) return;
35411
35407
  if (!sniffed) {
35412
35408
  throw new Error("Unrecognized file format");
35413
35409
  }
@@ -35421,7 +35417,7 @@ function useChatAttachments() {
35421
35417
  const urlResp = await embedAuthedFetch(uploadUrlEndpoint, {
35422
35418
  method: "POST",
35423
35419
  headers: { "Content-Type": "application/json" },
35424
- signal: _optionalChain([ctrl, 'optionalAccess', _915 => _915.signal]),
35420
+ signal: _optionalChain([ctrl, 'optionalAccess', _911 => _911.signal]),
35425
35421
  body: JSON.stringify({
35426
35422
  fileName: att.file.name,
35427
35423
  // Pass the SNIFFED MIME (not `file.type`, which can be a
@@ -35447,9 +35443,9 @@ function useChatAttachments() {
35447
35443
  (pct) => {
35448
35444
  updateOne(att.id, { progress: pct });
35449
35445
  },
35450
- _optionalChain([ctrl, 'optionalAccess', _916 => _916.signal])
35446
+ _optionalChain([ctrl, 'optionalAccess', _912 => _912.signal])
35451
35447
  );
35452
- if (_optionalChain([ctrl, 'optionalAccess', _917 => _917.signal, 'access', _918 => _918.aborted])) return;
35448
+ if (_optionalChain([ctrl, 'optionalAccess', _913 => _913.signal, 'access', _914 => _914.aborted])) return;
35453
35449
  updateOne(att.id, {
35454
35450
  status: "ready",
35455
35451
  progress: 100,
@@ -35457,7 +35453,7 @@ function useChatAttachments() {
35457
35453
  viewToken: mintData.viewToken
35458
35454
  });
35459
35455
  } catch (err) {
35460
- if (_optionalChain([ctrl, 'optionalAccess', _919 => _919.signal, 'access', _920 => _920.aborted])) return;
35456
+ if (_optionalChain([ctrl, 'optionalAccess', _915 => _915.signal, 'access', _916 => _916.aborted])) return;
35461
35457
  const message2 = err instanceof Error ? err.message : String(err);
35462
35458
  updateOne(att.id, { status: "error", progress: 0, errorMessage: message2 });
35463
35459
  } finally {
@@ -35608,7 +35604,7 @@ var ANON_DEFAULTS = {
35608
35604
  function useResolveChatIdentity(enabled) {
35609
35605
  const runtime = _chunkMEAR2WHScjs.useRequiredChatRuntime.call(void 0, );
35610
35606
  const url = runtime.endpoints.identityUrl;
35611
- const proxyEmail = _nullishCoalesce(_optionalChain([getEmbedProxyAuth, 'call', _921 => _921(), 'optionalAccess', _922 => _922.email]), () => ( null));
35607
+ const proxyEmail = _nullishCoalesce(_optionalChain([getEmbedProxyAuth, 'call', _917 => _917(), 'optionalAccess', _918 => _918.email]), () => ( null));
35612
35608
  const [data, setData] = _react.useState.call(void 0, ANON_DEFAULTS);
35613
35609
  const [isLoading, setIsLoading] = _react.useState.call(void 0, enabled);
35614
35610
  _react.useEffect.call(void 0, () => {
@@ -35696,7 +35692,7 @@ function useSSE({ useMock = true, debugMode = false, streamFn } = {}) {
35696
35692
  yield chunk;
35697
35693
  }
35698
35694
  } catch (err) {
35699
- if (_optionalChain([err, 'optionalAccess', _923 => _923.name]) === "AbortError" || ctrl.signal.aborted) {
35695
+ if (_optionalChain([err, 'optionalAccess', _919 => _919.name]) === "AbortError" || ctrl.signal.aborted) {
35700
35696
  return;
35701
35697
  }
35702
35698
  const errorMessage = err instanceof Error ? err.message : "An error occurred";
@@ -35747,7 +35743,7 @@ function useChat({
35747
35743
  const onMessagesChangeRef = _react.useRef.call(void 0, onMessagesChange);
35748
35744
  onMessagesChangeRef.current = onMessagesChange;
35749
35745
  _react.useEffect.call(void 0, () => {
35750
- _optionalChain([onMessagesChangeRef, 'access', _924 => _924.current, 'optionalCall', _925 => _925(messages)]);
35746
+ _optionalChain([onMessagesChangeRef, 'access', _920 => _920.current, 'optionalCall', _921 => _921(messages)]);
35751
35747
  }, [messages]);
35752
35748
  const {
35753
35749
  streamMessage,
@@ -35784,7 +35780,7 @@ function useChat({
35784
35780
  name: "You",
35785
35781
  content: text,
35786
35782
  timestamp: /* @__PURE__ */ new Date(),
35787
- ..._optionalChain([options, 'optionalAccess', _926 => _926.hidden]) ? { hidden: true } : {}
35783
+ ..._optionalChain([options, 'optionalAccess', _922 => _922.hidden]) ? { hidden: true } : {}
35788
35784
  };
35789
35785
  addMessage(userMessage);
35790
35786
  setIsTyping(true);
@@ -35846,7 +35842,7 @@ function useChat({
35846
35842
  currentTextSegment = "";
35847
35843
  }
35848
35844
  const seg = segment;
35849
- const proposalId = _optionalChain([seg, 'access', _927 => _927.data, 'optionalAccess', _928 => _928.requestId]);
35845
+ const proposalId = _optionalChain([seg, 'access', _923 => _923.data, 'optionalAccess', _924 => _924.requestId]);
35850
35846
  const updateApprovalMessage = (transform) => {
35851
35847
  setMessages((prev) => {
35852
35848
  for (let i = prev.length - 1; i >= 0; i--) {
@@ -35855,7 +35851,7 @@ function useChat({
35855
35851
  if (!Array.isArray(m.content)) continue;
35856
35852
  const segments = m.content;
35857
35853
  const hasMatch = segments.some(
35858
- (s) => s.type === "approval_request" && _optionalChain([s, 'access', _929 => _929.data, 'optionalAccess', _930 => _930.requestId]) === proposalId
35854
+ (s) => s.type === "approval_request" && _optionalChain([s, 'access', _925 => _925.data, 'optionalAccess', _926 => _926.requestId]) === proposalId
35859
35855
  );
35860
35856
  if (!hasMatch) continue;
35861
35857
  const next = [...prev];
@@ -35897,11 +35893,11 @@ function useChat({
35897
35893
  if (!Array.isArray(m.content)) continue;
35898
35894
  const segments = m.content;
35899
35895
  const hasMatch = segments.some(
35900
- (s) => s.type === "approval_request" && _optionalChain([s, 'access', _931 => _931.data, 'optionalAccess', _932 => _932.requestId]) === decision.proposalId
35896
+ (s) => s.type === "approval_request" && _optionalChain([s, 'access', _927 => _927.data, 'optionalAccess', _928 => _928.requestId]) === decision.proposalId
35901
35897
  );
35902
35898
  if (!hasMatch) continue;
35903
35899
  const flipped = segments.map(
35904
- (s) => s.type === "approval_request" && _optionalChain([s, 'access', _933 => _933.data, 'optionalAccess', _934 => _934.requestId]) === decision.proposalId ? { ...s, status: decision.action } : s
35900
+ (s) => s.type === "approval_request" && _optionalChain([s, 'access', _929 => _929.data, 'optionalAccess', _930 => _930.requestId]) === decision.proposalId ? { ...s, status: decision.action } : s
35905
35901
  );
35906
35902
  const next = [...prev];
35907
35903
  next[i] = { ...m, content: flipped };
@@ -36063,8 +36059,8 @@ function createDocStreamFn(source, endpoints, messagesRef, sourcesMapRef, refsMa
36063
36059
  })),
36064
36060
  { role: "user", content: message2 }
36065
36061
  ];
36066
- const targetPath = _optionalChain([extra, 'optionalAccess', _935 => _935.approvalAction]) ? endpoints.approvalToolUrl : endpoints.chatStreamUrl;
36067
- const requestBody = _optionalChain([extra, 'optionalAccess', _936 => _936.approvalAction]) ? {
36062
+ const targetPath = _optionalChain([extra, 'optionalAccess', _931 => _931.approvalAction]) ? endpoints.approvalToolUrl : endpoints.chatStreamUrl;
36063
+ const requestBody = _optionalChain([extra, 'optionalAccess', _932 => _932.approvalAction]) ? {
36068
36064
  proposal_id: extra.approvalAction.proposalId,
36069
36065
  action: extra.approvalAction.action,
36070
36066
  messages: currentMessages.filter((m) => (m.role === "user" || m.role === "assistant") && !m.hidden).map((m) => ({
@@ -36073,8 +36069,8 @@ function createDocStreamFn(source, endpoints, messagesRef, sourcesMapRef, refsMa
36073
36069
  }))
36074
36070
  } : {
36075
36071
  messages: apiMessages,
36076
- ..._optionalChain([extra, 'optionalAccess', _937 => _937.commandOverride]) ? { commandOverride: extra.commandOverride } : {},
36077
- ..._optionalChain([extra, 'optionalAccess', _938 => _938.pendingAttachments]) && extra.pendingAttachments.length > 0 ? { pendingAttachments: extra.pendingAttachments } : {}
36072
+ ..._optionalChain([extra, 'optionalAccess', _933 => _933.commandOverride]) ? { commandOverride: extra.commandOverride } : {},
36073
+ ..._optionalChain([extra, 'optionalAccess', _934 => _934.pendingAttachments]) && extra.pendingAttachments.length > 0 ? { pendingAttachments: extra.pendingAttachments } : {}
36078
36074
  };
36079
36075
  const response = await embedAuthedFetch(targetPath, {
36080
36076
  method: "POST",
@@ -36084,7 +36080,7 @@ function createDocStreamFn(source, endpoints, messagesRef, sourcesMapRef, refsMa
36084
36080
  if (!response.ok) {
36085
36081
  throw new Error(`Chat request failed: ${response.status}`);
36086
36082
  }
36087
- const reader = _optionalChain([response, 'access', _939 => _939.body, 'optionalAccess', _940 => _940.getReader, 'call', _941 => _941()]);
36083
+ const reader = _optionalChain([response, 'access', _935 => _935.body, 'optionalAccess', _936 => _936.getReader, 'call', _937 => _937()]);
36088
36084
  if (!reader) throw new Error("No response body");
36089
36085
  const decoder = new TextDecoder();
36090
36086
  let buffer = "";
@@ -36167,7 +36163,7 @@ function createDocStreamFn(source, endpoints, messagesRef, sourcesMapRef, refsMa
36167
36163
  const toolName = typeof meta.tool_name === "string" ? meta.tool_name : void 0;
36168
36164
  const result = _nullishCoalesce(meta.result, () => ( null));
36169
36165
  const card = _nullishCoalesce(meta.card, () => ( null));
36170
- if (_optionalChain([card, 'optionalAccess', _942 => _942.ref, 'optionalAccess', _943 => _943.id]) && _optionalChain([card, 'optionalAccess', _944 => _944.type])) {
36166
+ if (_optionalChain([card, 'optionalAccess', _938 => _938.ref, 'optionalAccess', _939 => _939.id]) && _optionalChain([card, 'optionalAccess', _940 => _940.type])) {
36171
36167
  const existing = _nullishCoalesce(refsMapRef.current.get(sendIdx), () => ( {}));
36172
36168
  const key = buildChatRefKey(card.type, card.ref.id);
36173
36169
  refsMapRef.current.set(sendIdx, { ...existing, [key]: card.ref });
@@ -36180,8 +36176,8 @@ function createDocStreamFn(source, endpoints, messagesRef, sourcesMapRef, refsMa
36180
36176
  willAutoContinue: meta.willAutoContinue === true,
36181
36177
  ...toolName ? { toolName } : {},
36182
36178
  ...result ? { result } : {},
36183
- ..._optionalChain([card, 'optionalAccess', _945 => _945.marker]) ? { marker: card.marker } : {},
36184
- ..._optionalChain([card, 'optionalAccess', _946 => _946.ref]) ? { cardRef: card.ref } : {},
36179
+ ..._optionalChain([card, 'optionalAccess', _941 => _941.marker]) ? { marker: card.marker } : {},
36180
+ ..._optionalChain([card, 'optionalAccess', _942 => _942.ref]) ? { cardRef: card.ref } : {},
36185
36181
  ...typeof meta.receiptText === "string" ? { receiptText: meta.receiptText } : {},
36186
36182
  proposalId: typeof meta.proposalId === "string" ? meta.proposalId : void 0
36187
36183
  };
@@ -36300,7 +36296,7 @@ var DEFAULT_CHAT_SOURCE = "embed";
36300
36296
  var chatStorageKey = (source) => {
36301
36297
  const base = `mingo-chat-${source}-v${CHAT_STORAGE_VERSION}`;
36302
36298
  const auth = getEmbedProxyAuth();
36303
- if (_optionalChain([auth, 'optionalAccess', _947 => _947.email])) {
36299
+ if (_optionalChain([auth, 'optionalAccess', _943 => _943.email])) {
36304
36300
  return `${base}-u-${encodeURIComponent(auth.email.toLowerCase())}`;
36305
36301
  }
36306
36302
  return base;
@@ -36355,7 +36351,7 @@ function useSseChatAdapter(options, runtimeOptions = {}) {
36355
36351
  const { active = true } = runtimeOptions;
36356
36352
  const runtime = _chunkMEAR2WHScjs.useRequiredChatRuntime.call(void 0, );
36357
36353
  const source = runtime.source || DEFAULT_CHAT_SOURCE;
36358
- const tableIdForDocumentType = _nullishCoalesce(_optionalChain([options, 'optionalAccess', _948 => _948.tableIdForDocumentType]), () => ( _chunk6LK4VEXEcjs.defaultTableIdForDocumentType));
36354
+ const tableIdForDocumentType = _nullishCoalesce(_optionalChain([options, 'optionalAccess', _944 => _944.tableIdForDocumentType]), () => ( _chunk6LK4VEXEcjs.defaultTableIdForDocumentType));
36359
36355
  const persistedRef = _react.useRef.call(void 0, null);
36360
36356
  if (persistedRef.current === null) {
36361
36357
  pruneStaleChatStorage(source);
@@ -36460,7 +36456,7 @@ function useSseChatAdapter(options, runtimeOptions = {}) {
36460
36456
  const lookupIdx = sendIdx >= 0 ? sendIdx : 0;
36461
36457
  sources = sourcesMapRef.current.get(lookupIdx);
36462
36458
  chatRefs = _nullishCoalesce(m.chatRefs, () => ( refsMapRef.current.get(lookupIdx)));
36463
- scrollAnchor = _nullishCoalesce(_optionalChain([metaMapRef, 'access', _949 => _949.current, 'access', _950 => _950.get, 'call', _951 => _951(lookupIdx), 'optionalAccess', _952 => _952.scrollAnchor]), () => ( void 0));
36459
+ scrollAnchor = _nullishCoalesce(_optionalChain([metaMapRef, 'access', _945 => _945.current, 'access', _946 => _946.get, 'call', _947 => _947(lookupIdx), 'optionalAccess', _948 => _948.scrollAnchor]), () => ( void 0));
36464
36460
  }
36465
36461
  return {
36466
36462
  id: m.id,
@@ -36508,7 +36504,7 @@ function useSseChatAdapter(options, runtimeOptions = {}) {
36508
36504
  );
36509
36505
  return;
36510
36506
  }
36511
- const refSlug = typeof _optionalChain([reference, 'access', _953 => _953.metadata, 'optionalAccess', _954 => _954.slug]) === "string" && reference.metadata.slug.length > 0 ? reference.metadata.slug : "";
36507
+ const refSlug = typeof _optionalChain([reference, 'access', _949 => _949.metadata, 'optionalAccess', _950 => _950.slug]) === "string" && reference.metadata.slug.length > 0 ? reference.metadata.slug : "";
36512
36508
  const queryValue = refSlug || sanitizeTitleForChat(reference.title) || reference.id;
36513
36509
  const escaped = queryValue.replace(/\\/g, "\\\\").replace(/"/g, '\\"');
36514
36510
  const text = `/${cmdId} display "${escaped}"`;
@@ -36580,18 +36576,18 @@ function useSseChatAdapter(options, runtimeOptions = {}) {
36580
36576
  clearMessages,
36581
36577
  streamingPhase,
36582
36578
  /** Provider key for the lib's `<ModelDisplay>` icon. */
36583
- currentProvider: _nullishCoalesce(_optionalChain([latestMeta, 'optionalAccess', _955 => _955.provider]), () => ( null)),
36584
- currentModelLabel: _nullishCoalesce(_optionalChain([latestMeta, 'optionalAccess', _956 => _956.modelLabel]), () => ( null)),
36585
- currentContextWindowMaxTokens: _nullishCoalesce(_optionalChain([latestMeta, 'optionalAccess', _957 => _957.contextWindowMaxTokens]), () => ( null)),
36579
+ currentProvider: _nullishCoalesce(_optionalChain([latestMeta, 'optionalAccess', _951 => _951.provider]), () => ( null)),
36580
+ currentModelLabel: _nullishCoalesce(_optionalChain([latestMeta, 'optionalAccess', _952 => _952.modelLabel]), () => ( null)),
36581
+ currentContextWindowMaxTokens: _nullishCoalesce(_optionalChain([latestMeta, 'optionalAccess', _953 => _953.contextWindowMaxTokens]), () => ( null)),
36586
36582
  /** Input tokens (known after server's message_start frame; null until). */
36587
- currentInputTokens: _nullishCoalesce(_optionalChain([latestMeta, 'optionalAccess', _958 => _958.inputTokens]), () => ( null)),
36583
+ currentInputTokens: _nullishCoalesce(_optionalChain([latestMeta, 'optionalAccess', _954 => _954.inputTokens]), () => ( null)),
36588
36584
  /** Output tokens (known only after server's trailing usage frame). */
36589
- currentOutputTokens: _nullishCoalesce(_optionalChain([latestMeta, 'optionalAccess', _959 => _959.outputTokens]), () => ( null)),
36585
+ currentOutputTokens: _nullishCoalesce(_optionalChain([latestMeta, 'optionalAccess', _955 => _955.outputTokens]), () => ( null)),
36590
36586
  /** Cache hit % (read / total-input × 100). null during streaming. */
36591
- currentCacheHitRatePct: _nullishCoalesce(_optionalChain([latestMeta, 'optionalAccess', _960 => _960.cacheHitRatePct]), () => ( null)),
36587
+ currentCacheHitRatePct: _nullishCoalesce(_optionalChain([latestMeta, 'optionalAccess', _956 => _956.cacheHitRatePct]), () => ( null)),
36592
36588
  /** Cross-call usage breakdown (Haiku rewriter/classifier/summarizer
36593
36589
  * token counts). null until the trailing usage frame lands. */
36594
- currentUsageBreakdown: _nullishCoalesce(_optionalChain([latestMeta, 'optionalAccess', _961 => _961.breakdown]), () => ( null)),
36590
+ currentUsageBreakdown: _nullishCoalesce(_optionalChain([latestMeta, 'optionalAccess', _957 => _957.breakdown]), () => ( null)),
36595
36591
  // ─── Dialog management — stubs for v1 ────────────────────────────────
36596
36592
  // Guide mode currently keeps its history in `localStorage` opaquely
36597
36593
  // under the hood (`runtime.source` namespaced key). Surfacing that
@@ -36649,15 +36645,15 @@ var noopRejectRequest = async (_id, _reason) => {
36649
36645
 
36650
36646
  // src/components/chat/utils/process-historical-messages.ts
36651
36647
  function getOwnerDisplayName(owner) {
36652
- if (_optionalChain([owner, 'optionalAccess', _962 => _962.type]) === OWNER_TYPE.ADMIN && owner.user) {
36648
+ if (_optionalChain([owner, 'optionalAccess', _958 => _958.type]) === OWNER_TYPE.ADMIN && owner.user) {
36653
36649
  const { firstName, lastName } = owner.user;
36654
36650
  const name = [firstName, lastName].filter(Boolean).join(" ");
36655
36651
  if (name) return name;
36656
36652
  }
36657
- return _optionalChain([owner, 'optionalAccess', _963 => _963.type]) === OWNER_TYPE.ADMIN ? "Admin" : "You";
36653
+ return _optionalChain([owner, 'optionalAccess', _959 => _959.type]) === OWNER_TYPE.ADMIN ? "Admin" : "You";
36658
36654
  }
36659
36655
  function getOwnerAvatar(owner) {
36660
- return _nullishCoalesce(_optionalChain([owner, 'optionalAccess', _964 => _964.user, 'optionalAccess', _965 => _965.image, 'optionalAccess', _966 => _966.imageUrl]), () => ( void 0));
36656
+ return _nullishCoalesce(_optionalChain([owner, 'optionalAccess', _960 => _960.user, 'optionalAccess', _961 => _961.image, 'optionalAccess', _962 => _962.imageUrl]), () => ( void 0));
36661
36657
  }
36662
36658
  function pushStandaloneMessages(processedMessages, msg, messageDataArray) {
36663
36659
  messageDataArray.forEach((data) => {
@@ -36720,10 +36716,10 @@ function processHistoricalMessages(messages, options = {}) {
36720
36716
  pushStandaloneMessages(processedMessages, msg, messageDataArray);
36721
36717
  return;
36722
36718
  }
36723
- const isUserMessage = _optionalChain([msg, 'access', _967 => _967.owner, 'optionalAccess', _968 => _968.type]) === OWNER_TYPE.CLIENT || _optionalChain([msg, 'access', _969 => _969.owner, 'optionalAccess', _970 => _970.type]) === OWNER_TYPE.ADMIN;
36719
+ const isUserMessage = _optionalChain([msg, 'access', _963 => _963.owner, 'optionalAccess', _964 => _964.type]) === OWNER_TYPE.CLIENT || _optionalChain([msg, 'access', _965 => _965.owner, 'optionalAccess', _966 => _966.type]) === OWNER_TYPE.ADMIN;
36724
36720
  if (isUserMessage) {
36725
36721
  flushAssistantMessage();
36726
- const userAuthorType = _optionalChain([msg, 'access', _971 => _971.owner, 'optionalAccess', _972 => _972.type]) === OWNER_TYPE.ADMIN ? "admin" : "user";
36722
+ const userAuthorType = _optionalChain([msg, 'access', _967 => _967.owner, 'optionalAccess', _968 => _968.type]) === OWNER_TYPE.ADMIN ? "admin" : "user";
36727
36723
  messageDataArray.forEach((data) => {
36728
36724
  if (data.type === MESSAGE_TYPE.TEXT && "text" in data && data.text) {
36729
36725
  processedMessages.push({
@@ -36748,7 +36744,7 @@ function processHistoricalMessages(messages, options = {}) {
36748
36744
  });
36749
36745
  const nextMsg = messages[index + 1];
36750
36746
  const isLastMessage = index === messages.length - 1;
36751
- const nextIsFromUser = nextMsg && (_optionalChain([nextMsg, 'access', _973 => _973.owner, 'optionalAccess', _974 => _974.type]) === OWNER_TYPE.CLIENT || _optionalChain([nextMsg, 'access', _975 => _975.owner, 'optionalAccess', _976 => _976.type]) === OWNER_TYPE.ADMIN);
36747
+ const nextIsFromUser = nextMsg && (_optionalChain([nextMsg, 'access', _969 => _969.owner, 'optionalAccess', _970 => _970.type]) === OWNER_TYPE.CLIENT || _optionalChain([nextMsg, 'access', _971 => _971.owner, 'optionalAccess', _972 => _972.type]) === OWNER_TYPE.ADMIN);
36752
36748
  if (isLastMessage || nextIsFromUser) {
36753
36749
  flushAssistantMessage();
36754
36750
  }
@@ -36858,7 +36854,7 @@ function processMessageData(data, accumulator, approvalStatuses, options = {}, e
36858
36854
  }
36859
36855
  }
36860
36856
  } else {
36861
- _optionalChain([escalatedApprovals, 'optionalAccess', _977 => _977.set, 'call', _978 => _978(data.approvalRequestId, {
36857
+ _optionalChain([escalatedApprovals, 'optionalAccess', _973 => _973.set, 'call', _974 => _974(data.approvalRequestId, {
36862
36858
  command: data.command || "",
36863
36859
  explanation: data.explanation,
36864
36860
  approvalType,
@@ -36871,8 +36867,8 @@ function processMessageData(data, accumulator, approvalStatuses, options = {}, e
36871
36867
  if ("approvalRequestId" in data && data.approvalRequestId) {
36872
36868
  const existingStatus = approvalStatuses[data.approvalRequestId];
36873
36869
  const status = existingStatus || (data.approved ? "approved" : "rejected");
36874
- const escalatedData = _optionalChain([escalatedApprovals, 'optionalAccess', _979 => _979.get, 'call', _980 => _980(data.approvalRequestId)]);
36875
- if (_optionalChain([escalatedData, 'optionalAccess', _981 => _981.toolCalls]) && escalatedData.toolCalls.length > 0) {
36870
+ const escalatedData = _optionalChain([escalatedApprovals, 'optionalAccess', _975 => _975.get, 'call', _976 => _976(data.approvalRequestId)]);
36871
+ if (_optionalChain([escalatedData, 'optionalAccess', _977 => _977.toolCalls]) && escalatedData.toolCalls.length > 0) {
36876
36872
  if (batchApprovalsEnabled) {
36877
36873
  accumulator.addApprovalBatch(
36878
36874
  data.approvalRequestId,
@@ -36892,7 +36888,7 @@ function processMessageData(data, accumulator, approvalStatuses, options = {}, e
36892
36888
  );
36893
36889
  }
36894
36890
  }
36895
- _optionalChain([escalatedApprovals, 'optionalAccess', _982 => _982.delete, 'call', _983 => _983(data.approvalRequestId)]);
36891
+ _optionalChain([escalatedApprovals, 'optionalAccess', _978 => _978.delete, 'call', _979 => _979(data.approvalRequestId)]);
36896
36892
  break;
36897
36893
  }
36898
36894
  if (escalatedData) {
@@ -36901,7 +36897,7 @@ function processMessageData(data, accumulator, approvalStatuses, options = {}, e
36901
36897
  explanation: escalatedData.explanation,
36902
36898
  approvalType: escalatedData.approvalType
36903
36899
  });
36904
- _optionalChain([escalatedApprovals, 'optionalAccess', _984 => _984.delete, 'call', _985 => _985(data.approvalRequestId)]);
36900
+ _optionalChain([escalatedApprovals, 'optionalAccess', _980 => _980.delete, 'call', _981 => _981(data.approvalRequestId)]);
36905
36901
  }
36906
36902
  const before = accumulator.getSegments();
36907
36903
  const after = accumulator.updateApprovalStatus(data.approvalRequestId, status);
@@ -36917,9 +36913,9 @@ function processMessageData(data, accumulator, approvalStatuses, options = {}, e
36917
36913
  case MESSAGE_TYPE.ERROR:
36918
36914
  if ("error" in data) {
36919
36915
  let message2;
36920
- if ("details" in data && _optionalChain([data, 'optionalAccess', _986 => _986.details])) {
36916
+ if ("details" in data && _optionalChain([data, 'optionalAccess', _982 => _982.details])) {
36921
36917
  try {
36922
- message2 = _optionalChain([JSON, 'access', _987 => _987.parse, 'call', _988 => _988(data.details), 'optionalAccess', _989 => _989.error, 'optionalAccess', _990 => _990.message]);
36918
+ message2 = _optionalChain([JSON, 'access', _983 => _983.parse, 'call', _984 => _984(data.details), 'optionalAccess', _985 => _985.error, 'optionalAccess', _986 => _986.message]);
36923
36919
  } catch (e43) {
36924
36920
  message2 = data.details;
36925
36921
  }
@@ -37002,10 +36998,10 @@ function processHistoricalMessagesWithErrors(messages, options = {}) {
37002
36998
  pushStandaloneMessages(processedMessages, msg, messageDataArray);
37003
36999
  return;
37004
37000
  }
37005
- const isUserMessage = _optionalChain([msg, 'access', _991 => _991.owner, 'optionalAccess', _992 => _992.type]) === OWNER_TYPE.CLIENT || _optionalChain([msg, 'access', _993 => _993.owner, 'optionalAccess', _994 => _994.type]) === OWNER_TYPE.ADMIN;
37001
+ const isUserMessage = _optionalChain([msg, 'access', _987 => _987.owner, 'optionalAccess', _988 => _988.type]) === OWNER_TYPE.CLIENT || _optionalChain([msg, 'access', _989 => _989.owner, 'optionalAccess', _990 => _990.type]) === OWNER_TYPE.ADMIN;
37006
37002
  if (isUserMessage) {
37007
37003
  flushAssistantMessage();
37008
- const userAuthorType = _optionalChain([msg, 'access', _995 => _995.owner, 'optionalAccess', _996 => _996.type]) === OWNER_TYPE.ADMIN ? "admin" : "user";
37004
+ const userAuthorType = _optionalChain([msg, 'access', _991 => _991.owner, 'optionalAccess', _992 => _992.type]) === OWNER_TYPE.ADMIN ? "admin" : "user";
37009
37005
  messageDataArray.forEach((data) => {
37010
37006
  if (data.type === MESSAGE_TYPE.TEXT && "text" in data && data.text) {
37011
37007
  processedMessages.push({
@@ -37030,7 +37026,7 @@ function processHistoricalMessagesWithErrors(messages, options = {}) {
37030
37026
  });
37031
37027
  const nextMsg = messages[index + 1];
37032
37028
  const isLastMessage = index === messages.length - 1;
37033
- const nextIsFromUser = nextMsg && (_optionalChain([nextMsg, 'access', _997 => _997.owner, 'optionalAccess', _998 => _998.type]) === OWNER_TYPE.CLIENT || _optionalChain([nextMsg, 'access', _999 => _999.owner, 'optionalAccess', _1000 => _1000.type]) === OWNER_TYPE.ADMIN);
37029
+ const nextIsFromUser = nextMsg && (_optionalChain([nextMsg, 'access', _993 => _993.owner, 'optionalAccess', _994 => _994.type]) === OWNER_TYPE.CLIENT || _optionalChain([nextMsg, 'access', _995 => _995.owner, 'optionalAccess', _996 => _996.type]) === OWNER_TYPE.ADMIN);
37034
37030
  if (isLastMessage || nextIsFromUser) {
37035
37031
  flushAssistantMessage();
37036
37032
  }
@@ -37368,7 +37364,7 @@ function useNatsChatAdapter(config, options = {}) {
37368
37364
  }, [active, fetchDialogs, loadDialogsPage]);
37369
37365
  const sendMessage = _react.useCallback.call(void 0,
37370
37366
  async (text, sendOptions) => {
37371
- const hidden = _nullishCoalesce(_optionalChain([sendOptions, 'optionalAccess', _1001 => _1001.hidden]), () => ( false));
37367
+ const hidden = _nullishCoalesce(_optionalChain([sendOptions, 'optionalAccess', _997 => _997.hidden]), () => ( false));
37372
37368
  setMessages((prev) => [
37373
37369
  ...prev,
37374
37370
  {
@@ -37532,11 +37528,11 @@ function useNatsChatAdapter(config, options = {}) {
37532
37528
  // Tokens: live `token_usage` frame / dialog snapshot (`dialogTokenUsage`).
37533
37529
  // contextWindow uses the dialog's `contextSize` (the "X / Y" denominator,
37534
37530
  // matching the /mingo page). cacheHitRate/breakdown are SSE-only → null.
37535
- currentProvider: _nullishCoalesce(_nullishCoalesce(_optionalChain([liveModel, 'optionalAccess', _1002 => _1002.provider]), () => ( modelProvider)), () => ( null)),
37536
- currentModelLabel: _nullishCoalesce(_nullishCoalesce(_optionalChain([liveModel, 'optionalAccess', _1003 => _1003.modelLabel]), () => ( modelLabel)), () => ( null)),
37537
- currentContextWindowMaxTokens: _nullishCoalesce(_nullishCoalesce(_optionalChain([dialogTokenUsage, 'optionalAccess', _1004 => _1004.contextSize]), () => ( _optionalChain([liveModel, 'optionalAccess', _1005 => _1005.contextWindowMaxTokens]))), () => ( null)),
37538
- currentInputTokens: _nullishCoalesce(_optionalChain([dialogTokenUsage, 'optionalAccess', _1006 => _1006.inputTokensSize]), () => ( null)),
37539
- currentOutputTokens: _nullishCoalesce(_optionalChain([dialogTokenUsage, 'optionalAccess', _1007 => _1007.outputTokensSize]), () => ( null)),
37531
+ currentProvider: _nullishCoalesce(_nullishCoalesce(_optionalChain([liveModel, 'optionalAccess', _998 => _998.provider]), () => ( modelProvider)), () => ( null)),
37532
+ currentModelLabel: _nullishCoalesce(_nullishCoalesce(_optionalChain([liveModel, 'optionalAccess', _999 => _999.modelLabel]), () => ( modelLabel)), () => ( null)),
37533
+ currentContextWindowMaxTokens: _nullishCoalesce(_nullishCoalesce(_optionalChain([dialogTokenUsage, 'optionalAccess', _1000 => _1000.contextSize]), () => ( _optionalChain([liveModel, 'optionalAccess', _1001 => _1001.contextWindowMaxTokens]))), () => ( null)),
37534
+ currentInputTokens: _nullishCoalesce(_optionalChain([dialogTokenUsage, 'optionalAccess', _1002 => _1002.inputTokensSize]), () => ( null)),
37535
+ currentOutputTokens: _nullishCoalesce(_optionalChain([dialogTokenUsage, 'optionalAccess', _1003 => _1003.outputTokensSize]), () => ( null)),
37540
37536
  currentCacheHitRatePct: null,
37541
37537
  currentUsageBreakdown: null,
37542
37538
  // Dialog management
@@ -37784,7 +37780,7 @@ function extractIncompleteMessageState(lastMessage) {
37784
37780
  break;
37785
37781
  case "approval_batch": {
37786
37782
  const allDone = !!segment.data.executions && segment.data.toolCalls.every(
37787
- (c) => _optionalChain([segment, 'access', _1008 => _1008.data, 'access', _1009 => _1009.executions, 'optionalAccess', _1010 => _1010[c.toolExecutionRequestId], 'optionalAccess', _1011 => _1011.status]) === "done"
37783
+ (c) => _optionalChain([segment, 'access', _1004 => _1004.data, 'access', _1005 => _1005.executions, 'optionalAccess', _1006 => _1006[c.toolExecutionRequestId], 'optionalAccess', _1007 => _1007.status]) === "done"
37788
37784
  );
37789
37785
  if (segment.status !== "rejected" && !allDone) {
37790
37786
  hasIncompleteState = true;
@@ -37808,6 +37804,110 @@ function extractIncompleteMessageState(lastMessage) {
37808
37804
  };
37809
37805
  }
37810
37806
 
37807
+ // src/components/chat/utils/history-merge.ts
37808
+ var SYNTHETIC_REALTIME_ID_PREFIXES = ["assistant-", "user-", "error-"];
37809
+ function isSyntheticRealtimeId(id) {
37810
+ return SYNTHETIC_REALTIME_ID_PREFIXES.some((prefix) => id.startsWith(prefix));
37811
+ }
37812
+ function flattenMessagePagesChronological(pages) {
37813
+ if (!pages) return [];
37814
+ return [...pages].reverse().flatMap((page) => [...page.messages].reverse());
37815
+ }
37816
+ function maxPersistedStreamSeq(pages) {
37817
+ let max = 0;
37818
+ if (!pages) return max;
37819
+ for (const page of pages) {
37820
+ for (const msg of page.messages) {
37821
+ const seq = msg.lastChunkStreamSeq;
37822
+ if (typeof seq === "number" && seq > max) max = seq;
37823
+ }
37824
+ }
37825
+ return max;
37826
+ }
37827
+ function mergeHistoryWithRealtime(input) {
37828
+ const {
37829
+ processedHistory,
37830
+ rawHistoryIds,
37831
+ existingMessages,
37832
+ streamingMessageId,
37833
+ historyFetchedAt,
37834
+ historyMaxStreamSeq = 0,
37835
+ realtimeSeenStreamSeq = 0
37836
+ } = input;
37837
+ if (processedHistory.length === 0) return existingMessages;
37838
+ const processedIds = new Set(processedHistory.map((m) => m.id));
37839
+ const seqCoverageKnown = realtimeSeenStreamSeq > 0 && historyMaxStreamSeq > 0;
37840
+ const historyCoversRealtime = seqCoverageKnown ? historyMaxStreamSeq >= realtimeSeenStreamSeq : null;
37841
+ const trailing = processedHistory[processedHistory.length - 1];
37842
+ const historyTrailingAssistant = _optionalChain([trailing, 'optionalAccess', _1008 => _1008.role]) === "assistant" ? trailing : null;
37843
+ const historyBatchId = historyTrailingAssistant && Array.isArray(historyTrailingAssistant.content) ? _nullishCoalesce(_optionalChain([historyTrailingAssistant, 'access', _1009 => _1009.content, 'access', _1010 => _1010.find, 'call', _1011 => _1011((s) => s.type === "approval_batch"), 'optionalAccess', _1012 => _1012.data, 'optionalAccess', _1013 => _1013.approvalRequestId]), () => ( null)) : null;
37844
+ let processedToUse = processedHistory;
37845
+ const pinnedSyntheticIds = /* @__PURE__ */ new Set();
37846
+ const droppedSyntheticIds = /* @__PURE__ */ new Set();
37847
+ if (historyBatchId) {
37848
+ const batchTwins = existingMessages.filter(
37849
+ (m) => m.role === "assistant" && Array.isArray(m.content) && m.content.some(
37850
+ (s) => s.type === "approval_batch" && _optionalChain([s, 'access', _1014 => _1014.data, 'optionalAccess', _1015 => _1015.approvalRequestId]) === historyBatchId
37851
+ )
37852
+ );
37853
+ const existingWithSameBatch = _nullishCoalesce(batchTwins.find((m) => m.id === streamingMessageId), () => ( batchTwins[batchTwins.length - 1]));
37854
+ if (existingWithSameBatch && Array.isArray(existingWithSameBatch.content)) {
37855
+ const histSize = Array.isArray(_optionalChain([historyTrailingAssistant, 'optionalAccess', _1016 => _1016.content])) ? historyTrailingAssistant.content.length : 0;
37856
+ const realtimeSize = existingWithSameBatch.content.length;
37857
+ if (existingWithSameBatch.id === streamingMessageId || realtimeSize > histSize) {
37858
+ processedToUse = processedHistory.slice(0, -1);
37859
+ pinnedSyntheticIds.add(existingWithSameBatch.id);
37860
+ } else {
37861
+ droppedSyntheticIds.add(existingWithSameBatch.id);
37862
+ }
37863
+ }
37864
+ }
37865
+ const realtimeMessages = existingMessages.filter((m) => {
37866
+ if (pinnedSyntheticIds.has(m.id)) return true;
37867
+ if (droppedSyntheticIds.has(m.id)) return false;
37868
+ if (processedIds.has(m.id)) return false;
37869
+ if (_optionalChain([rawHistoryIds, 'optionalAccess', _1017 => _1017.has, 'call', _1018 => _1018(m.id)])) return false;
37870
+ if (m.role === "user" && m.id.startsWith("optimistic-") && typeof m.content === "string") {
37871
+ const canBeInSnapshot = (_nullishCoalesce(_optionalChain([m, 'access', _1019 => _1019.timestamp, 'optionalAccess', _1020 => _1020.getTime, 'call', _1021 => _1021()]), () => ( 0))) <= historyFetchedAt;
37872
+ return !(canBeInSnapshot && processedToUse.some((pm) => pm.role === "user" && pm.content === m.content));
37873
+ }
37874
+ if (isSyntheticRealtimeId(m.id) && m.id !== streamingMessageId) {
37875
+ const covered = historyCoversRealtime !== null ? historyCoversRealtime : (_nullishCoalesce(_optionalChain([m, 'access', _1022 => _1022.timestamp, 'optionalAccess', _1023 => _1023.getTime, 'call', _1024 => _1024()]), () => ( 0))) <= historyFetchedAt;
37876
+ if (covered) return false;
37877
+ }
37878
+ return true;
37879
+ });
37880
+ return [...processedToUse, ...realtimeMessages];
37881
+ }
37882
+ function computeHistoryPrepend(processedHistory, existingMessages) {
37883
+ const existingIds = new Set(existingMessages.map((m) => m.id));
37884
+ const newMessages = [];
37885
+ let boundaryMessageIndex = -1;
37886
+ for (let i = 0; i < processedHistory.length; i++) {
37887
+ if (existingIds.has(processedHistory[i].id)) {
37888
+ boundaryMessageIndex = i;
37889
+ break;
37890
+ }
37891
+ newMessages.push(processedHistory[i]);
37892
+ }
37893
+ let boundaryMessageId;
37894
+ let boundaryUpdates;
37895
+ if (boundaryMessageIndex >= 0) {
37896
+ const boundaryMessage = processedHistory[boundaryMessageIndex];
37897
+ const existingBoundary = existingMessages.find((m) => m.id === boundaryMessage.id);
37898
+ if (existingBoundary) {
37899
+ const existingContent = JSON.stringify(existingBoundary.content);
37900
+ const newContent = JSON.stringify(boundaryMessage.content);
37901
+ if (existingContent !== newContent) {
37902
+ boundaryMessageId = boundaryMessage.id;
37903
+ boundaryUpdates = { content: boundaryMessage.content };
37904
+ }
37905
+ }
37906
+ }
37907
+ if (newMessages.length === 0 && !boundaryUpdates) return null;
37908
+ return { newMessages, boundaryMessageId, boundaryUpdates };
37909
+ }
37910
+
37811
37911
  // src/components/chat/utils/chip-action-class.ts
37812
37912
  var CHIP_ACTION_BUTTON_CLASS = "text-[11px] font-medium text-ods-text-secondary hover:text-ods-text-primary bg-transparent hover:bg-ods-card-hover border border-ods-border rounded-md px-2 py-1 transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ods-focus";
37813
37913
 
@@ -37992,7 +38092,7 @@ function useChatDialogManager({
37992
38092
  const handleConfirmRestore = _react.useCallback.call(void 0, async () => {
37993
38093
  if (restoreTarget) {
37994
38094
  try {
37995
- await _optionalChain([unarchiveDialog, 'optionalCall', _1012 => _1012(restoreTarget.id)]);
38095
+ await _optionalChain([unarchiveDialog, 'optionalCall', _1025 => _1025(restoreTarget.id)]);
37996
38096
  } catch (err) {
37997
38097
  console.error("[useChatDialogManager] unarchive failed:", err);
37998
38098
  return;
@@ -38391,7 +38491,7 @@ function EmbeddableChatInner({
38391
38491
  }),
38392
38492
  [commandsUrl]
38393
38493
  );
38394
- const userName = _optionalChain([identityUser, 'optionalAccess', _1013 => _1013.firstName, 'optionalAccess', _1014 => _1014.trim, 'call', _1015 => _1015()]) || _optionalChain([identityUser, 'optionalAccess', _1016 => _1016.name, 'optionalAccess', _1017 => _1017.split, 'call', _1018 => _1018(" "), 'access', _1019 => _1019[0], 'optionalAccess', _1020 => _1020.trim, 'call', _1021 => _1021()]) || void 0;
38494
+ const userName = _optionalChain([identityUser, 'optionalAccess', _1026 => _1026.firstName, 'optionalAccess', _1027 => _1027.trim, 'call', _1028 => _1028()]) || _optionalChain([identityUser, 'optionalAccess', _1029 => _1029.name, 'optionalAccess', _1030 => _1030.split, 'call', _1031 => _1031(" "), 'access', _1032 => _1032[0], 'optionalAccess', _1033 => _1033.trim, 'call', _1034 => _1034()]) || void 0;
38395
38495
  const effectiveModes = _react.useMemo.call(void 0, () => {
38396
38496
  if (modes) return modes;
38397
38497
  const guideOptions = tableIdForDocumentType ? { tableIdForDocumentType } : {};
@@ -38400,17 +38500,17 @@ function EmbeddableChatInner({
38400
38500
  const mingoCaps = _react.useMemo.call(void 0, () => {
38401
38501
  if (mingoState) {
38402
38502
  return {
38403
- canRename: _nullishCoalesce(_optionalChain([mingoDialogCapabilities, 'optionalAccess', _1022 => _1022.canRename]), () => ( false)),
38404
- canArchive: _nullishCoalesce(_optionalChain([mingoDialogCapabilities, 'optionalAccess', _1023 => _1023.canArchive]), () => ( false)),
38405
- fetchArchivedDialogs: _optionalChain([mingoDialogCapabilities, 'optionalAccess', _1024 => _1024.fetchArchivedDialogs]),
38406
- unarchiveDialog: _optionalChain([mingoDialogCapabilities, 'optionalAccess', _1025 => _1025.unarchiveDialog])
38503
+ canRename: _nullishCoalesce(_optionalChain([mingoDialogCapabilities, 'optionalAccess', _1035 => _1035.canRename]), () => ( false)),
38504
+ canArchive: _nullishCoalesce(_optionalChain([mingoDialogCapabilities, 'optionalAccess', _1036 => _1036.canArchive]), () => ( false)),
38505
+ fetchArchivedDialogs: _optionalChain([mingoDialogCapabilities, 'optionalAccess', _1037 => _1037.fetchArchivedDialogs]),
38506
+ unarchiveDialog: _optionalChain([mingoDialogCapabilities, 'optionalAccess', _1038 => _1038.unarchiveDialog])
38407
38507
  };
38408
38508
  }
38409
38509
  return {
38410
- canRename: !!_optionalChain([effectiveModes, 'access', _1026 => _1026.mingo, 'optionalAccess', _1027 => _1027.renameDialog]),
38411
- canArchive: !!_optionalChain([effectiveModes, 'access', _1028 => _1028.mingo, 'optionalAccess', _1029 => _1029.archiveDialog]),
38412
- fetchArchivedDialogs: _optionalChain([effectiveModes, 'access', _1030 => _1030.mingo, 'optionalAccess', _1031 => _1031.fetchArchivedDialogs]),
38413
- unarchiveDialog: _optionalChain([effectiveModes, 'access', _1032 => _1032.mingo, 'optionalAccess', _1033 => _1033.unarchiveDialog])
38510
+ canRename: !!_optionalChain([effectiveModes, 'access', _1039 => _1039.mingo, 'optionalAccess', _1040 => _1040.renameDialog]),
38511
+ canArchive: !!_optionalChain([effectiveModes, 'access', _1041 => _1041.mingo, 'optionalAccess', _1042 => _1042.archiveDialog]),
38512
+ fetchArchivedDialogs: _optionalChain([effectiveModes, 'access', _1043 => _1043.mingo, 'optionalAccess', _1044 => _1044.fetchArchivedDialogs]),
38513
+ unarchiveDialog: _optionalChain([effectiveModes, 'access', _1045 => _1045.mingo, 'optionalAccess', _1046 => _1046.unarchiveDialog])
38414
38514
  };
38415
38515
  }, [mingoState, mingoDialogCapabilities, effectiveModes]);
38416
38516
  const hasMingoMode = !!effectiveModes.mingo || !!mingoState;
@@ -38422,7 +38522,7 @@ function EmbeddableChatInner({
38422
38522
  if (controlledActiveMode === void 0) {
38423
38523
  setUncontrolledActiveMode(next);
38424
38524
  }
38425
- _optionalChain([onActiveModeChange, 'optionalCall', _1034 => _1034(next)]);
38525
+ _optionalChain([onActiveModeChange, 'optionalCall', _1047 => _1047(next)]);
38426
38526
  },
38427
38527
  [controlledActiveMode, onActiveModeChange]
38428
38528
  );
@@ -38629,9 +38729,9 @@ function EmbeddableChatInner({
38629
38729
  const lastAssistantMsg = [...rawMessages].reverse().find((m) => m.role === "assistant");
38630
38730
  const lastSources = _react.useMemo.call(void 0, () => {
38631
38731
  if (chatLoading) return void 0;
38632
- const sources = _optionalChain([lastAssistantMsg, 'optionalAccess', _1035 => _1035.sources]);
38732
+ const sources = _optionalChain([lastAssistantMsg, 'optionalAccess', _1048 => _1048.sources]);
38633
38733
  if (!sources || sources.length === 0) return void 0;
38634
- const content = _optionalChain([lastAssistantMsg, 'optionalAccess', _1036 => _1036.content]) || "";
38734
+ const content = _optionalChain([lastAssistantMsg, 'optionalAccess', _1049 => _1049.content]) || "";
38635
38735
  const citationOrder = [...content.matchAll(/\[(\d+)\]/g)].map(
38636
38736
  (m) => parseInt(m[1], 10)
38637
38737
  );
@@ -38678,7 +38778,7 @@ function EmbeddableChatInner({
38678
38778
  ChatPanelHeader,
38679
38779
  {
38680
38780
  showBack: hasConversation || guideCanReturnToMingo,
38681
- title: hasConversation ? _optionalChain([activeDialog, 'optionalAccess', _1037 => _1037.title]) || "New Chat" : isGuideEmpty ? "Mingo Guide" : "Current Chats",
38781
+ title: hasConversation ? _optionalChain([activeDialog, 'optionalAccess', _1050 => _1050.title]) || "New Chat" : isGuideEmpty ? "Mingo Guide" : "Current Chats",
38682
38782
  backAriaLabel: hasConversation ? isViewingArchived ? "Back to archive" : "Back" : "Back to Mingo",
38683
38783
  isArchivedView: isViewingArchived,
38684
38784
  onBack: hasConversation ? handleBack : () => handleActiveModeChange("mingo"),
@@ -38783,10 +38883,10 @@ function EmbeddableChatInner({
38783
38883
  subtitle: _nullishCoalesce(emptyStateGreeting, () => ( void 0)),
38784
38884
  ...guideWelcome,
38785
38885
  onQuickAction: (action) => {
38786
- _optionalChain([chatInputRef, 'access', _1038 => _1038.current, 'optionalAccess', _1039 => _1039.setValue, 'call', _1040 => _1040(
38886
+ _optionalChain([chatInputRef, 'access', _1051 => _1051.current, 'optionalAccess', _1052 => _1052.setValue, 'call', _1053 => _1053(
38787
38887
  _nullishCoalesce(action.prompt, () => ( action.label))
38788
38888
  )]);
38789
- _optionalChain([chatInputRef, 'access', _1041 => _1041.current, 'optionalAccess', _1042 => _1042.focus, 'call', _1043 => _1043()]);
38889
+ _optionalChain([chatInputRef, 'access', _1054 => _1054.current, 'optionalAccess', _1055 => _1055.focus, 'call', _1056 => _1056()]);
38790
38890
  },
38791
38891
  children: (chipCommands.length > 0 || !commandsLoaded) && /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "shrink-0 overflow-hidden rounded-md border border-ods-border", children: [
38792
38892
  !commandsLoaded && chipCommands.length === 0 && SKELETON_ROW_VARIANTS.map((variant, i) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
@@ -39609,5 +39709,10 @@ function EmbeddableChatInner({
39609
39709
 
39610
39710
 
39611
39711
 
39612
- exports.Label = Label; exports.AllowedDomainsInput = AllowedDomainsInput; exports.Autocomplete = Autocomplete; 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.HoneypotField = HoneypotField; exports.ProgressBar = ProgressBar; exports.InfoCard = InfoCard; exports.InfoRow = InfoRow; exports.InputTrigger = InputTrigger; exports.InteractiveCard = InteractiveCard; exports.MediaTypeSelector = MediaTypeSelector; exports.PageLoader = PageLoader; exports.CompactPageLoader = CompactPageLoader; exports.RadioGroup = RadioGroup; exports.RadioGroupItem = RadioGroupItem; exports.RadioGroupBlock = RadioGroupBlock; exports.Switch = Switch; exports.badgeVariants = badgeVariants; exports.Badge = Badge; exports.TagsInput = TagsInput; exports.TagsManager = TagsManager; exports.Textarea = Textarea; exports.AlertDialog = AlertDialog; exports.AlertDialogTrigger = AlertDialogTrigger; exports.AlertDialogPortal = AlertDialogPortal; exports.AlertDialogOverlay = AlertDialogOverlay; exports.AlertDialogContent = AlertDialogContent; exports.AlertDialogHeader = AlertDialogHeader; exports.AlertDialogFooter = AlertDialogFooter; exports.AlertDialogTitle = AlertDialogTitle; exports.AlertDialogDescription = AlertDialogDescription; exports.AlertDialogAction = AlertDialogAction; exports.AlertDialogCancel = AlertDialogCancel; exports.AspectRatio = AspectRatio; exports.Dialog = Dialog; exports.DialogTrigger = DialogTrigger; exports.DialogPortal = DialogPortal; exports.DialogClose = DialogClose; exports.DialogOverlay = DialogOverlay; exports.DialogContent = DialogContent; exports.DialogHeader = DialogHeader; exports.DialogFooter = DialogFooter; exports.DialogTitle = DialogTitle; exports.DialogDescription = DialogDescription; exports.ImageGalleryModal = ImageGalleryModal; exports.Modal = Modal2; exports.ModalContent = ModalContent2; exports.ModalHeader = ModalHeader2; exports.ModalTitle = ModalTitle2; exports.ModalFooter = ModalFooter2; exports.Modal2 = Modal; exports.ModalContent2 = ModalContent; exports.ModalHeader2 = ModalHeader; exports.ModalTitle2 = ModalTitle; exports.ModalFooter2 = ModalFooter; exports.Separator = Separator2; exports.Sheet = Sheet; exports.SheetTrigger = SheetTrigger; exports.SheetClose = SheetClose; exports.SheetPortal = SheetPortal; exports.SheetOverlay = SheetOverlay; exports.SheetContent = SheetContent; exports.SheetHeader = SheetHeader; exports.SheetFooter = SheetFooter; exports.SheetTitle = SheetTitle; exports.SheetDescription = SheetDescription; exports.Drawer = Drawer; exports.DrawerTrigger = DrawerTrigger; exports.DrawerClose = DrawerClose; exports.DrawerPortal = DrawerPortal; exports.DrawerOverlay = DrawerOverlay; exports.DrawerContent = DrawerContent; exports.DrawerHeader = DrawerHeader; exports.DrawerTitle = DrawerTitle; exports.DrawerDescription = DrawerDescription; exports.DrawerBody = DrawerBody; exports.DrawerFooter = DrawerFooter; exports.Accordion = Accordion; exports.AccordionItem = AccordionItem; exports.AccordionTrigger = AccordionTrigger; exports.AccordionContent = AccordionContent; exports.Breadcrumb = Breadcrumb; exports.BreadcrumbList = BreadcrumbList; exports.BreadcrumbItem = BreadcrumbItem; exports.BreadcrumbLink = BreadcrumbLink; exports.BreadcrumbPage = BreadcrumbPage; exports.BreadcrumbSeparator = BreadcrumbSeparator; exports.BreadcrumbEllipsis = BreadcrumbEllipsis; exports.MenubarMenu = MenubarMenu; exports.MenubarGroup = MenubarGroup; exports.MenubarPortal = MenubarPortal; exports.MenubarSub = MenubarSub; exports.MenubarRadioGroup = MenubarRadioGroup; exports.Menubar = Menubar; exports.MenubarTrigger = MenubarTrigger; exports.MenubarSubTrigger = MenubarSubTrigger; exports.MenubarSubContent = MenubarSubContent; exports.MenubarContent = MenubarContent; exports.MenubarItem = MenubarItem; exports.MenubarCheckboxItem = MenubarCheckboxItem; exports.MenubarRadioItem = MenubarRadioItem; exports.MenubarLabel = MenubarLabel; exports.MenubarSeparator = MenubarSeparator; exports.MenubarShortcut = MenubarShortcut; exports.NavigationMenu = NavigationMenu; exports.NavigationMenuList = NavigationMenuList; exports.NavigationMenuItem = NavigationMenuItem; exports.navigationMenuTriggerStyle = navigationMenuTriggerStyle; exports.NavigationMenuTrigger = NavigationMenuTrigger; exports.NavigationMenuContent = NavigationMenuContent; exports.NavigationMenuLink = NavigationMenuLink; exports.NavigationMenuViewport = NavigationMenuViewport; exports.NavigationMenuIndicator = NavigationMenuIndicator; exports.TabContent = TabContent; exports.TabNavigation = TabNavigation; exports.getTabById = getTabById; exports.getTabComponent = getTabComponent; exports.Alert = Alert; exports.AlertTitle = AlertTitle; exports.AlertDescription = AlertDescription; exports.Progress = Progress; exports.ReleaseChangelogSection = ReleaseChangelogSection; exports.StatusIndicator = StatusIndicator; exports.HoverDropdown = HoverDropdown; exports.ApprovalRequestMessage = ApprovalRequestMessage; exports.ExpandChevron = ExpandChevron; exports.useCollapsible = useCollapsible; exports.getCommandText = getCommandText; exports.ArgRow = ArgRow; exports.ResultBlock = ResultBlock; exports.ApprovalBatchMessage = ApprovalBatchMessage; exports.ContextCompactionDisplay = ContextCompactionDisplay; exports.ThinkingDisplay = ThinkingDisplay; exports.ErrorMessageDisplay = ErrorMessageDisplay; exports.ColorSwatch = ColorSwatch; exports.getPlatformAccentColor = getPlatformAccentColor; exports.getCurrentPlatform = getCurrentPlatform; exports.HEX_PATTERN = HEX_PATTERN; exports.resolveTicketStatus = resolveTicketStatus; exports.getTicketStatusConfig = getTicketStatusConfig; exports.getTicketStatusTag = getTicketStatusTag; exports.kindToCanonicalStatus = kindToCanonicalStatus; exports.usesCanonicalStatusStyle = usesCanonicalStatusStyle; exports.resolveStatusTagProps = resolveStatusTagProps; exports.TicketStatusTag = TicketStatusTag; exports.ChatContainer = ChatContainer; exports.ChatHeader = ChatHeader; exports.ChatContent = ChatContent; exports.ChatFooter = ChatFooter; exports.ChatTypingIndicator = ChatTypingIndicator; exports.MingoOnboardingCard = MingoOnboardingCard; exports.SlashCommandSuggestions = SlashCommandSuggestions; exports.ChatInput = ChatInput; exports.ToolExecutionDisplay = ToolExecutionDisplay; exports.remarkCardLinks = remarkCardLinks; exports.BlockCard = BlockCard; exports.MemoizedChatMessageEnhanced = MemoizedChatMessageEnhanced; exports.ChatMessageSkeleton = ChatMessageSkeleton; exports.ChatMessageListSkeleton = ChatMessageListSkeleton; exports.MESSAGE_TYPE = MESSAGE_TYPE; exports.SCROLL_ANCHOR = SCROLL_ANCHOR; exports.ChatMessageList = ChatMessageList; exports.getProxiedImageUrl = getProxiedImageUrl; exports.urlPathLooksLikeSvg = urlPathLooksLikeSvg; exports.shouldProxyImage = shouldProxyImage; exports.generateImageSizes = generateImageSizes; exports.useProxiedImageUrl = useProxiedImageUrl; exports.ChatMessageRow = ChatMessageRow; exports.ChatMessageRowSkeleton = ChatMessageRowSkeleton; exports.ChatQuickAction = ChatQuickAction; exports.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.RenameChatModal = RenameChatModal; exports.ArchiveChatModal = ArchiveChatModal; exports.UnarchiveChatModal = UnarchiveChatModal; exports.ChatDialogModals = ChatDialogModals; exports.ChatHeaderIconButton = ChatHeaderIconButton; exports.COMPACT_HEADER_BUTTON = COMPACT_HEADER_BUTTON; exports.ChatPanelHeader = ChatPanelHeader; exports.CHAT_ATTACHMENT_VIEW_URL_PREFIX = CHAT_ATTACHMENT_VIEW_URL_PREFIX; exports.CHAT_ATTACHMENT_VIEW_TOKEN_QUERY_PARAM = CHAT_ATTACHMENT_VIEW_TOKEN_QUERY_PARAM; exports.ANTHROPIC_SUPPORTED_IMAGE_MIME = ANTHROPIC_SUPPORTED_IMAGE_MIME; exports.buildChatAttachmentViewUrl = buildChatAttachmentViewUrl; exports.escapeMarkdownInline = escapeMarkdownInline; exports.formatChatAttachmentMarkdownForBubble = formatChatAttachmentMarkdownForBubble; exports.CHAT_ATTACHMENT_VIEW_URL_PREFIX_REGEX_ESCAPED = CHAT_ATTACHMENT_VIEW_URL_PREFIX_REGEX_ESCAPED; exports.CHAT_ATTACHMENT_MARKDOWN_PATTERN = CHAT_ATTACHMENT_MARKDOWN_PATTERN; exports.stripChatAttachmentMarkdown = stripChatAttachmentMarkdown; exports.CHAT_ATTACHMENT_MIME_TYPES = CHAT_ATTACHMENT_MIME_TYPES; exports.CHAT_ATTACHMENT_CONCURRENT_UPLOADS_PER_USER = CHAT_ATTACHMENT_CONCURRENT_UPLOADS_PER_USER; exports.ChatAttachmentAddButton = ChatAttachmentAddButton; exports.ChatAttachmentChipStrip = ChatAttachmentChipStrip; exports.HoverCard = HoverCard; exports.HoverCardTrigger = HoverCardTrigger; exports.HoverCardContent = HoverCardContent; exports.ModelDisplay = ModelDisplay; exports.ChatComposer = ChatComposer; exports.ChatArchivePage = ChatArchivePage; exports.DialogListItem = DialogListItem; exports.ChatSidebar = ChatSidebar; exports.executeNavigation = executeNavigation; exports.executeNavigationImperative = executeNavigationImperative; exports.handleChatNavClick = handleChatNavClick; exports.NavLinkAnchorViaRuntime = NavLinkAnchorViaRuntime; exports.SourceActionButton = SourceActionButton; exports.FlamingoLogo = FlamingoLogo; exports.OpenmspLogo = OpenmspLogo; exports.PlatformBadge = PlatformBadge; exports.AdminContentCard = AdminContentCard; 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.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.RoadmapVoteButton = RoadmapVoteButton; exports.getStatusColorScheme = getStatusColorScheme; exports.CUSTOM_ITEM_ID = CUSTOM_ITEM_ID; exports.getTaskTypeLabel = getTaskTypeLabel; exports.TaskTypeIcon = TaskTypeIcon; exports.RoadmapCardSkeleton = RoadmapCardSkeleton; exports.RoadmapCard = RoadmapCard; exports.GitHubActivityCard = GitHubActivityCard; exports.GitHubActivityCardSkeleton = GitHubActivityCardSkeleton; exports.SlackMessageCard = SlackMessageCard; exports.SlackMessageCardSkeleton = SlackMessageCardSkeleton; exports.HubspotTicketCard = HubspotTicketCard; exports.HubspotTicketCardSkeleton = HubspotTicketCardSkeleton; exports.DataRoomDocCard = DataRoomDocCard; exports.DataRoomDocCardSkeleton = DataRoomDocCardSkeleton; exports.ProgramCardSkeleton = ProgramCardSkeleton; exports.ProgramCard = ProgramCard; exports.CampaignCardAdmin = CampaignCardAdmin; exports.CampaignCardAdminSkeleton = CampaignCardAdminSkeleton; exports.GenericEntityCard = GenericEntityCard; exports.GenericEntityCardSkeleton = GenericEntityCardSkeleton; exports.getAppType = getAppType; exports.getEmbedProxyAuth = getEmbedProxyAuth; exports.getPersistedProxyEmail = getPersistedProxyEmail; exports.setEmbedProxyAuth = setEmbedProxyAuth; exports.clearEmbedProxyAuth = clearEmbedProxyAuth; exports.applyProxyAuth = applyProxyAuth; exports.setEmbedAuthAdapter = setEmbedAuthAdapter; exports.embedAuthedFetch = embedAuthedFetch; exports.extractItems = extractItems; exports.extractItemId = extractItemId; exports.useChatCardItem = useChatCardItem; exports.ChatCardLoader = ChatCardLoader; exports.renderChatInlineEntityCard = renderChatInlineEntityCard; exports.CHAT_TYPE = CHAT_TYPE; exports.OWNER_TYPE = OWNER_TYPE; exports.MESSAGE_ROLE = MESSAGE_ROLE; exports.ASSISTANT_TYPE = ASSISTANT_TYPE; exports.AUTHOR_TYPE = AUTHOR_TYPE; exports.APPROVAL_STATUS = APPROVAL_STATUS; exports.CONNECTION_STATUS = CONNECTION_STATUS; exports.buildChatRefKey = buildChatRefKey; exports.isStructuredContent = isStructuredContent; exports.normalizeContent = normalizeContent2; exports.NETWORK_CONFIG = NETWORK_CONFIG; exports.transformEventToProgram = transformEventToProgram; exports.transformPodcastToProgram = transformPodcastToProgram; exports.transformWebinarToProgram = transformWebinarToProgram; exports.useChunkCatchup = useChunkCatchup; exports.useJetStreamDialogSubscription = useJetStreamDialogSubscription; exports.useNatsDialogSubscription = useNatsDialogSubscription; exports.buildNatsWsUrl = buildNatsWsUrl; exports.parseChunkToAction = parseChunkToAction; exports.isControlChunk = isControlChunk; exports.isErrorChunk = isErrorChunk; exports.isMetadataChunk = isMetadataChunk; exports.extractTextFromChunk = extractTextFromChunk; exports.MessageSegmentAccumulator = MessageSegmentAccumulator; exports.createMessageSegmentAccumulator = createMessageSegmentAccumulator; exports.useRealtimeChunkProcessor = useRealtimeChunkProcessor; exports.fetchSlashCommands = fetchSlashCommands; exports.useSlashCommands = useSlashCommands; exports.useSlashCommandRegistry = useSlashCommandRegistry; exports.useChatAttachments = useChatAttachments; exports.useChatAttachmentImageGallery = useChatAttachmentImageGallery; exports.ChatIdentityProvider = ChatIdentityProvider; exports.useChatIdentity = useChatIdentity; exports.useCloseOnNavigation = useCloseOnNavigation; exports.useSSE = useSSE; exports.useChat = useChat; exports.SCROLL_ANCHOR_WIRE_KEY = SCROLL_ANCHOR_WIRE_KEY; exports.parseScrollAnchor = parseScrollAnchor; exports.AUTO_CONTINUATION_DIRECTIVE_PREFIX = AUTO_CONTINUATION_DIRECTIVE_PREFIX; exports.buildAutoContinuationDirective = buildAutoContinuationDirective; exports.flattenAssistantContent = flattenAssistantContent; exports.parseWireCommandOverride = parseWireCommandOverride; exports.sanitizeTitleForChat = sanitizeTitleForChat; exports.formatSingularLookupInvocation = formatSingularLookupInvocation; exports.extractEntityIdFilter = extractEntityIdFilter; exports.buildDiscussAddendum = buildDiscussAddendum; exports.useSseChatAdapter = useSseChatAdapter; exports.processHistoricalMessages = processHistoricalMessages; exports.extractErrorMessages = extractErrorMessages; exports.processHistoricalMessagesWithErrors = processHistoricalMessagesWithErrors; exports.useNatsChatAdapter = useNatsChatAdapter; exports.useUnifiedChat = useUnifiedChat; exports.extractIncompleteMessageState = extractIncompleteMessageState; exports.CHIP_ACTION_BUTTON_CLASS = CHIP_ACTION_BUTTON_CLASS; exports.chatChipClass = chatChipClass; exports.clickupTaskUrl = clickupTaskUrl; exports.EmbeddableChat = EmbeddableChat; exports.FilterCheckboxItem = FilterCheckboxItem; exports.TagKeyValueFilter = TagKeyValueFilter; exports.FilterModal = FilterModal; exports.ListPageLayout = ListPageLayout; exports.PAGE_HEADING_CLASS = PAGE_HEADING_CLASS; exports.PageHeading = PageHeading; exports.EntityImage = EntityImage; exports.TitleBlock = TitleBlock; exports.PageLayout = PageLayout; exports.toggleVariants = toggleVariants; exports.Toggle = Toggle; exports.ToggleGroup = ToggleGroup; exports.ToggleGroupItem = ToggleGroupItem; exports.delay = delay; exports.generateRandomString = generateRandomString; exports.truncateString = truncateString; exports.deepClone = deepClone; exports.getSlackCommunityJoinUrl = getSlackCommunityJoinUrl; 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.normalizeToolType = normalizeToolType; exports.normalizeToolTypeWithFallback = normalizeToolTypeWithFallback; exports.toToolLabel = toToolLabel; exports.isValidToolType = isValidToolType; exports.getToolTypeAliases = getToolTypeAliases; exports.getToolLabel = getToolLabel; exports.ShellTypeValues = ShellTypeValues; exports.SHELL_TYPES = SHELL_TYPES; exports.shellLabels = shellLabels; exports.getShellLabel = getShellLabel; exports.getShellIcon = getShellIcon; exports.OSTypeValues = OSTypeValues; exports.OS_TYPES = OS_TYPES; exports.osLabels = osLabels; exports.normalizeOSType = normalizeOSType; exports.getOSLabel = getOSLabel; exports.getOSIcon = getOSIcon; exports.getOSTypeDefinition = getOSTypeDefinition; exports.getOSPlatformId = getOSPlatformId; exports.isOSPlatform = isOSPlatform; exports.getCountryPhoneData = getCountryPhoneData; exports.getCountryByCode = getCountryByCode; exports.validatePhoneNumber = validatePhoneNumber; exports.formatPhoneE164 = formatPhoneE164; exports.GENERIC_EMAIL_DOMAINS = GENERIC_EMAIL_DOMAINS; exports.extractDomainFromEmail = extractDomainFromEmail; exports.normalizeDomain = normalizeDomain; exports.isGenericDomain = isGenericDomain; exports.hasGenericEmailDomain = hasGenericEmailDomain; exports.isGenericWebsiteDomain = isGenericWebsiteDomain; exports.DESIGN_PALETTE = DESIGN_PALETTE; exports.hexToRgb = hexToRgb2; exports.getContrastRatio = getContrastRatio; exports.extractDominantColor = extractDominantColor; exports.getBestContrastColor = getBestContrastColor; exports.analyzeImageColor = analyzeImageColor; exports.extractImageEdgeColorAsync = extractImageEdgeColorAsync; exports.formatRelativeTime = formatRelativeTime; exports.formatAbsoluteDate = formatAbsoluteDate; exports.formatDateTime = formatDateTime; exports.getDetailedTimeDifference = getDetailedTimeDifference; exports.isToday = isToday; exports.isWithinMinutes = isWithinMinutes; exports.createUTCTimestamp = createUTCTimestamp; exports.readLeadingDecisionFrame = readLeadingDecisionFrame; exports.AVAILABLE_SVG_ICONS = AVAILABLE_SVG_ICONS; exports.releaseTypeOptions = releaseTypeOptions; exports.releaseStatusOptions = releaseStatusOptions; exports.changelogLabels = changelogLabels; exports.SEMVER_REGEX = SEMVER_REGEX; exports.TASK_TYPE_LABELS = TASK_TYPE_LABELS; exports.TASK_TYPE_TEXT_COLORS = TASK_TYPE_TEXT_COLORS; exports.TMCG_ROLES = TMCG_ROLES; exports.TMCG_ROLE_DISPLAY_NAMES = TMCG_ROLE_DISPLAY_NAMES; exports.TMCG_SOCIAL_PLATFORMS = TMCG_SOCIAL_PLATFORMS; exports.ROADMAP_STATUS_OPTIONS = ROADMAP_STATUS_OPTIONS; exports.DELIVERY_TASK_TYPE_OPTIONS = DELIVERY_TASK_TYPE_OPTIONS; exports.TICKET_STATUS_OPTIONS = TICKET_STATUS_OPTIONS; exports.OPENFRAME_DEV_SECTIONS = OPENFRAME_DEV_SECTIONS; exports.scrollElementIntoView = scrollElementIntoView; exports.canonicalContentRefType = canonicalContentRefType; exports.buildListUrl = buildListUrl; exports.CONTENT_REF_GROUPS = CONTENT_REF_GROUPS; exports.getContentRefLabel = getContentRefLabel; exports.getContentRefLabelOrTitleCase = getContentRefLabelOrTitleCase; exports.orderContentRefTypes = orderContentRefTypes; exports.BenefitCard = BenefitCard; exports.BenefitCardGrid = BenefitCardGrid; exports.BrandAssociationCard = BrandAssociationCard; exports.BrandAssociationGrid = BrandAssociationGrid; exports.BulletList = BulletList; exports.CircularProgress = CircularProgress; exports.CheckIcon = CheckIcon2; exports.XIcon = XIcon; exports.MinusIcon = MinusIcon; exports.CheckCircleIcon = CheckCircleIcon2; exports.XCircleIcon = XCircleIcon; exports.FloatingTooltip = FloatingTooltip; exports.DashboardInfoCard = DashboardInfoCard; exports.OSTypeBadge = OSTypeBadge; exports.OSTypeIcon = OSTypeIcon; exports.OSTypeLabel = OSTypeLabel; exports.DeviceCard = DeviceCard; exports.DeviceCardCompact = DeviceCardCompact; exports.FeatureCardGrid = FeatureCardGrid; exports.FeatureList = FeatureList; exports.TruncateText = TruncateText; exports.HighlightCard = HighlightCard; exports.HighlightCardGrid = HighlightCardGrid; exports.IconsBlock = IconsBlock; exports.DropdownButton = DropdownButton; exports.MoreActionsMenu = MoreActionsMenu; exports.OrganizationCard = OrganizationCard; exports.ServiceCard = ServiceCard; exports.Slider = Slider; exports.TabSelector = TabSelector; exports.TitleContentBlock = TitleContentBlock; exports.ContentLoader = ContentLoader; exports.CardLoader = CardLoader; exports.FormLoader = FormLoader; exports.DetailLoader = DetailLoader; exports.ListLoader = ListLoader; exports.Pagination = Pagination; exports.PaginationContent = PaginationContent; exports.PaginationItem = PaginationItem; exports.PaginationLink = PaginationLink; exports.PaginationEllipsis = PaginationEllipsis; exports.PaginationPrevious = PaginationPrevious; exports.PaginationNext = PaginationNext; exports.init_pagination = init_pagination; exports.CursorPagination = CursorPagination; exports.CursorPaginationSimple = CursorPaginationSimple; exports.TableEmptyState = TableEmptyState; exports.DynamicThemeProvider = DynamicThemeProvider; exports.useDynamicTheme = useDynamicTheme; exports.THEME_STORAGE_KEY = THEME_STORAGE_KEY; exports.THEME_ATTRIBUTE = THEME_ATTRIBUTE; exports.DEFAULT_THEME = DEFAULT_THEME; exports.ThemeProvider = ThemeProvider; exports.useTheme = useTheme; exports.useThemeToggle = useThemeToggle; exports.ArrayEntryManager = ArrayEntryManager; exports.ProviderButton = ProviderButton; exports.AuthProvidersList = AuthProvidersList; exports.ChangelogManager = ChangelogManager; exports.ChangelogSectionsManager = ChangelogSectionsManager; exports.ClickUpTasksManager = ClickUpTasksManager; exports.CommandBox = CommandBox; exports.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.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.VideoSourceSelector = VideoSourceSelector; exports.ConfidenceBadge = ConfidenceBadge; exports.TranscriptSummaryEditor = TranscriptSummaryEditor; exports.AIEnrichButton = AIEnrichButton; exports.AIWarningsSection = AIWarningsSection; exports.AIEnrichSection = AIEnrichSection; exports.HighlightVideoSection = HighlightVideoSection; exports.HighlightConfigSection = HighlightConfigSection; exports.EntitySummaryEditor = EntitySummaryEditor; exports.AIStatusIndicator = AIStatusIndicator; exports.AIRequiredBadge = AIRequiredBadge; exports.TranscribeSummarizeSection = TranscribeSummarizeSection; exports.VideoClipsSection = VideoClipsSection; exports.HighlightGenerationSection = HighlightGenerationSection; exports.HighlightVideoPreview = HighlightVideoPreview; exports.TranscribeAndSummarizeCombinedSection = TranscribeAndSummarizeCombinedSection; exports.HighlightVideoCombinedSection = HighlightVideoCombinedSection; exports.ViewToggle = ViewToggle; exports.PolicyConfigurationPanel = PolicyConfigurationPanel; exports.PhoneInput = PhoneInput; exports.WaitlistForm = WaitlistForm; exports.NotificationsProvider = NotificationsProvider; exports.useNotifications = useNotifications; exports.useOptionalNotifications = useOptionalNotifications; exports.NotificationTile = NotificationTile; exports.NotificationDrawer = NotificationDrawer; exports.NotificationPopups = NotificationPopups; exports.ADMIN_APPROVAL_REQUEST_CONTEXT_TYPE = ADMIN_APPROVAL_REQUEST_CONTEXT_TYPE; exports.isApprovalNotification = isApprovalNotification; exports.getApprovalMeta = getApprovalMeta; exports.ApprovalRequestNotificationTile = ApprovalRequestNotificationTile; exports.BoardColumnHeader = BoardColumnHeader; exports.tintOnDark = tintOnDark; exports.TicketCard = TicketCard; exports.TicketCardSkeleton = TicketCardSkeleton; exports.BoardColumn = BoardColumn; exports.useBoardCollapse = useBoardCollapse; exports.Board = Board; exports.columnFromTicketStatus = columnFromTicketStatus; exports.groupTicketsByStatus = groupTicketsByStatus; exports.TicketStatusConfigList = TicketStatusConfigList; exports.TableHeader = TableHeader; exports.TableCell = TableCell; exports.TableCardSkeleton = TableCardSkeleton; exports.TableRow = TableRow; exports.Table = Table; exports.TableDescriptionCell = TableDescriptionCell; exports.TableTimestampCell = TableTimestampCell; exports.QueryReportTableHeader = QueryReportTableHeader; exports.QueryReportTableRow = QueryReportTableRow; exports.QueryReportTableSkeleton = QueryReportTableSkeleton; exports.deriveColumns = deriveColumns; exports.exportToCSV = exportToCSV; exports.QueryReportTable = QueryReportTable; exports.useDataTableContext = useDataTableContext; exports.DataTableRoot = DataTableRoot; exports.getHideClasses = getHideClasses2; exports.alignJustify = alignJustify; exports.multiSelectFilterFn = multiSelectFilterFn; exports.DataTableHeader = DataTableHeader; exports.DataTableEmpty = DataTableEmpty; exports.ROW_HEIGHT_DESKTOP = ROW_HEIGHT_DESKTOP2; exports.ROW_HEIGHT_MOBILE = ROW_HEIGHT_MOBILE2; exports.DataTableSkeleton = DataTableSkeleton; exports.DataTableRow = DataTableRow; exports.DataTableBody = DataTableBody; exports.DataTableInfiniteFooter = DataTableInfiniteFooter; exports.DataTableCursorFooter = DataTableCursorFooter; exports.DataTableRowCount = DataTableRowCount; exports.useDataTable = useDataTable; exports.DataTable = DataTable; exports.flexRender = _reacttable.flexRender; exports.createColumnHelper = _reacttable.createColumnHelper; exports.getCoreRowModel = _reacttable.getCoreRowModel; exports.getExpandedRowModel = _reacttable.getExpandedRowModel; exports.getFacetedRowModel = _reacttable.getFacetedRowModel; exports.getFacetedUniqueValues = _reacttable.getFacetedUniqueValues; exports.getFilteredRowModel = _reacttable.getFilteredRowModel; exports.getGroupedRowModel = _reacttable.getGroupedRowModel; exports.getPaginationRowModel = _reacttable.getPaginationRowModel; exports.getSortedRowModel = _reacttable.getSortedRowModel; exports.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.AssigneeDropdown = AssigneeDropdown; exports.TicketDetailSection = TicketDetailSection; exports.TicketAttachmentsList = TicketAttachmentsList; exports.TicketNoteCard = TicketNoteCard; exports.TicketNotesSection = TicketNotesSection; exports.TicketInfoSection = TicketInfoSection; exports.Header = Header2; exports.HeaderSkeleton = HeaderSkeleton; exports.ClientOnlyHeader = ClientOnlyHeader; exports.MobileNavPanel = MobileNavPanel; exports.SlidingSidebar = SlidingSidebar; exports.StickySectionNav = StickySectionNav; exports.useSectionNavigation = useSectionNavigation; exports.NavigationSidebar = NavigationSidebar; exports.HeaderButton = HeaderButton; exports.HeaderGlobalSearch = HeaderGlobalSearch; exports.HeaderMingoButton = HeaderMingoButton; exports.HeaderOrganizationFilter = HeaderOrganizationFilter; exports.AppHeader = AppHeader; exports.MobileBurgerMenu = MobileBurgerMenu; exports.useAppLayoutDrawerContainer = useAppLayoutDrawerContainer; exports.AppLayout = AppLayout; exports.AppLayoutDrawerRoot = AppLayoutDrawerRoot; exports.AppLayoutDrawerTrigger = AppLayoutDrawerTrigger; exports.AppLayoutDrawerClose = AppLayoutDrawerClose; exports.AppLayoutDrawerContent = AppLayoutDrawerContent; exports.AppLayoutDrawerHeader = AppLayoutDrawerHeader; exports.AppLayoutDrawerTitle = AppLayoutDrawerTitle; exports.AppLayoutDrawerDescription = AppLayoutDrawerDescription; exports.AppLayoutDrawerBody = AppLayoutDrawerBody; exports.AppLayoutDrawerFooter = AppLayoutDrawerFooter; exports.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;
39613
- //# sourceMappingURL=chunk-4EED3YEI.cjs.map
39712
+
39713
+
39714
+
39715
+
39716
+
39717
+ exports.Label = Label; exports.AllowedDomainsInput = AllowedDomainsInput; exports.Autocomplete = Autocomplete; 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.HoneypotField = HoneypotField; exports.ProgressBar = ProgressBar; exports.InfoCard = InfoCard; exports.InfoRow = InfoRow; exports.InputTrigger = InputTrigger; exports.InteractiveCard = InteractiveCard; exports.MediaTypeSelector = MediaTypeSelector; exports.PageLoader = PageLoader; exports.CompactPageLoader = CompactPageLoader; exports.RadioGroup = RadioGroup; exports.RadioGroupItem = RadioGroupItem; exports.RadioGroupBlock = RadioGroupBlock; exports.Switch = Switch; exports.badgeVariants = badgeVariants; exports.Badge = Badge; exports.TagsInput = TagsInput; exports.TagsManager = TagsManager; exports.Textarea = Textarea; exports.AlertDialog = AlertDialog; exports.AlertDialogTrigger = AlertDialogTrigger; exports.AlertDialogPortal = AlertDialogPortal; exports.AlertDialogOverlay = AlertDialogOverlay; exports.AlertDialogContent = AlertDialogContent; exports.AlertDialogHeader = AlertDialogHeader; exports.AlertDialogFooter = AlertDialogFooter; exports.AlertDialogTitle = AlertDialogTitle; exports.AlertDialogDescription = AlertDialogDescription; exports.AlertDialogAction = AlertDialogAction; exports.AlertDialogCancel = AlertDialogCancel; exports.AspectRatio = AspectRatio; exports.Dialog = Dialog; exports.DialogTrigger = DialogTrigger; exports.DialogPortal = DialogPortal; exports.DialogClose = DialogClose; exports.DialogOverlay = DialogOverlay; exports.DialogContent = DialogContent; exports.DialogHeader = DialogHeader; exports.DialogFooter = DialogFooter; exports.DialogTitle = DialogTitle; exports.DialogDescription = DialogDescription; exports.ImageGalleryModal = ImageGalleryModal; exports.Modal = Modal2; exports.ModalContent = ModalContent2; exports.ModalHeader = ModalHeader2; exports.ModalTitle = ModalTitle2; exports.ModalFooter = ModalFooter2; exports.Modal2 = Modal; exports.ModalContent2 = ModalContent; exports.ModalHeader2 = ModalHeader; exports.ModalTitle2 = ModalTitle; exports.ModalFooter2 = ModalFooter; exports.Separator = Separator2; exports.Sheet = Sheet; exports.SheetTrigger = SheetTrigger; exports.SheetClose = SheetClose; exports.SheetPortal = SheetPortal; exports.SheetOverlay = SheetOverlay; exports.SheetContent = SheetContent; exports.SheetHeader = SheetHeader; exports.SheetFooter = SheetFooter; exports.SheetTitle = SheetTitle; exports.SheetDescription = SheetDescription; exports.Drawer = Drawer; exports.DrawerTrigger = DrawerTrigger; exports.DrawerClose = DrawerClose; exports.DrawerPortal = DrawerPortal; exports.DrawerOverlay = DrawerOverlay; exports.DrawerContent = DrawerContent; exports.DrawerHeader = DrawerHeader; exports.DrawerTitle = DrawerTitle; exports.DrawerDescription = DrawerDescription; exports.DrawerBody = DrawerBody; exports.DrawerFooter = DrawerFooter; exports.Accordion = Accordion; exports.AccordionItem = AccordionItem; exports.AccordionTrigger = AccordionTrigger; exports.AccordionContent = AccordionContent; exports.Breadcrumb = Breadcrumb; exports.BreadcrumbList = BreadcrumbList; exports.BreadcrumbItem = BreadcrumbItem; exports.BreadcrumbLink = BreadcrumbLink; exports.BreadcrumbPage = BreadcrumbPage; exports.BreadcrumbSeparator = BreadcrumbSeparator; exports.BreadcrumbEllipsis = BreadcrumbEllipsis; exports.MenubarMenu = MenubarMenu; exports.MenubarGroup = MenubarGroup; exports.MenubarPortal = MenubarPortal; exports.MenubarSub = MenubarSub; exports.MenubarRadioGroup = MenubarRadioGroup; exports.Menubar = Menubar; exports.MenubarTrigger = MenubarTrigger; exports.MenubarSubTrigger = MenubarSubTrigger; exports.MenubarSubContent = MenubarSubContent; exports.MenubarContent = MenubarContent; exports.MenubarItem = MenubarItem; exports.MenubarCheckboxItem = MenubarCheckboxItem; exports.MenubarRadioItem = MenubarRadioItem; exports.MenubarLabel = MenubarLabel; exports.MenubarSeparator = MenubarSeparator; exports.MenubarShortcut = MenubarShortcut; exports.NavigationMenu = NavigationMenu; exports.NavigationMenuList = NavigationMenuList; exports.NavigationMenuItem = NavigationMenuItem; exports.navigationMenuTriggerStyle = navigationMenuTriggerStyle; exports.NavigationMenuTrigger = NavigationMenuTrigger; exports.NavigationMenuContent = NavigationMenuContent; exports.NavigationMenuLink = NavigationMenuLink; exports.NavigationMenuViewport = NavigationMenuViewport; exports.NavigationMenuIndicator = NavigationMenuIndicator; exports.TabContent = TabContent; exports.TabNavigation = TabNavigation; exports.getTabById = getTabById; exports.getTabComponent = getTabComponent; exports.Alert = Alert; exports.AlertTitle = AlertTitle; exports.AlertDescription = AlertDescription; exports.Progress = Progress; exports.ReleaseChangelogSection = ReleaseChangelogSection; exports.StatusIndicator = StatusIndicator; exports.HoverDropdown = HoverDropdown; exports.ApprovalRequestMessage = ApprovalRequestMessage; exports.ExpandChevron = ExpandChevron; exports.useCollapsible = useCollapsible; exports.getCommandText = getCommandText; exports.ArgRow = ArgRow; exports.ResultBlock = ResultBlock; exports.ApprovalBatchMessage = ApprovalBatchMessage; exports.ContextCompactionDisplay = ContextCompactionDisplay; exports.ThinkingDisplay = ThinkingDisplay; exports.ErrorMessageDisplay = ErrorMessageDisplay; exports.ColorSwatch = ColorSwatch; exports.getPlatformAccentColor = getPlatformAccentColor; exports.getCurrentPlatform = getCurrentPlatform; exports.HEX_PATTERN = HEX_PATTERN; exports.resolveTicketStatus = resolveTicketStatus; exports.getTicketStatusConfig = getTicketStatusConfig; exports.getTicketStatusTag = getTicketStatusTag; exports.kindToCanonicalStatus = kindToCanonicalStatus; exports.usesCanonicalStatusStyle = usesCanonicalStatusStyle; exports.resolveStatusTagProps = resolveStatusTagProps; exports.TicketStatusTag = TicketStatusTag; exports.ChatContainer = ChatContainer; exports.ChatHeader = ChatHeader; exports.ChatContent = ChatContent; exports.ChatFooter = ChatFooter; exports.ChatTypingIndicator = ChatTypingIndicator; exports.MingoOnboardingCard = MingoOnboardingCard; exports.SlashCommandSuggestions = SlashCommandSuggestions; exports.ChatInput = ChatInput; exports.ToolExecutionDisplay = ToolExecutionDisplay; exports.remarkCardLinks = remarkCardLinks; exports.BlockCard = BlockCard; exports.MemoizedChatMessageEnhanced = MemoizedChatMessageEnhanced; exports.ChatMessageSkeleton = ChatMessageSkeleton; exports.ChatMessageListSkeleton = ChatMessageListSkeleton; exports.MESSAGE_TYPE = MESSAGE_TYPE; exports.SCROLL_ANCHOR = SCROLL_ANCHOR; exports.ChatMessageList = ChatMessageList; exports.getProxiedImageUrl = getProxiedImageUrl; exports.urlPathLooksLikeSvg = urlPathLooksLikeSvg; exports.shouldProxyImage = shouldProxyImage; exports.generateImageSizes = generateImageSizes; exports.useProxiedImageUrl = useProxiedImageUrl; exports.ChatMessageRow = ChatMessageRow; exports.ChatMessageRowSkeleton = ChatMessageRowSkeleton; exports.ChatQuickAction = ChatQuickAction; exports.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.RenameChatModal = RenameChatModal; exports.ArchiveChatModal = ArchiveChatModal; exports.UnarchiveChatModal = UnarchiveChatModal; exports.ChatDialogModals = ChatDialogModals; exports.ChatHeaderIconButton = ChatHeaderIconButton; exports.COMPACT_HEADER_BUTTON = COMPACT_HEADER_BUTTON; exports.ChatPanelHeader = ChatPanelHeader; exports.CHAT_ATTACHMENT_VIEW_URL_PREFIX = CHAT_ATTACHMENT_VIEW_URL_PREFIX; exports.CHAT_ATTACHMENT_VIEW_TOKEN_QUERY_PARAM = CHAT_ATTACHMENT_VIEW_TOKEN_QUERY_PARAM; exports.ANTHROPIC_SUPPORTED_IMAGE_MIME = ANTHROPIC_SUPPORTED_IMAGE_MIME; exports.buildChatAttachmentViewUrl = buildChatAttachmentViewUrl; exports.escapeMarkdownInline = escapeMarkdownInline; exports.formatChatAttachmentMarkdownForBubble = formatChatAttachmentMarkdownForBubble; exports.CHAT_ATTACHMENT_VIEW_URL_PREFIX_REGEX_ESCAPED = CHAT_ATTACHMENT_VIEW_URL_PREFIX_REGEX_ESCAPED; exports.CHAT_ATTACHMENT_MARKDOWN_PATTERN = CHAT_ATTACHMENT_MARKDOWN_PATTERN; exports.stripChatAttachmentMarkdown = stripChatAttachmentMarkdown; exports.CHAT_ATTACHMENT_MIME_TYPES = CHAT_ATTACHMENT_MIME_TYPES; exports.CHAT_ATTACHMENT_CONCURRENT_UPLOADS_PER_USER = CHAT_ATTACHMENT_CONCURRENT_UPLOADS_PER_USER; exports.ChatAttachmentAddButton = ChatAttachmentAddButton; exports.ChatAttachmentChipStrip = ChatAttachmentChipStrip; exports.HoverCard = HoverCard; exports.HoverCardTrigger = HoverCardTrigger; exports.HoverCardContent = HoverCardContent; exports.ModelDisplay = ModelDisplay; exports.ChatComposer = ChatComposer; exports.ChatArchivePage = ChatArchivePage; exports.DialogListItem = DialogListItem; exports.ChatSidebar = ChatSidebar; exports.executeNavigation = executeNavigation; exports.executeNavigationImperative = executeNavigationImperative; exports.handleChatNavClick = handleChatNavClick; exports.NavLinkAnchorViaRuntime = NavLinkAnchorViaRuntime; exports.SourceActionButton = SourceActionButton; exports.FlamingoLogo = FlamingoLogo; exports.OpenmspLogo = OpenmspLogo; exports.PlatformBadge = PlatformBadge; exports.AdminContentCard = AdminContentCard; 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.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.RoadmapVoteButton = RoadmapVoteButton; exports.getStatusColorScheme = getStatusColorScheme; exports.CUSTOM_ITEM_ID = CUSTOM_ITEM_ID; exports.getTaskTypeLabel = getTaskTypeLabel; exports.TaskTypeIcon = TaskTypeIcon; exports.RoadmapCardSkeleton = RoadmapCardSkeleton; exports.RoadmapCard = RoadmapCard; exports.GitHubActivityCard = GitHubActivityCard; exports.GitHubActivityCardSkeleton = GitHubActivityCardSkeleton; exports.SlackMessageCard = SlackMessageCard; exports.SlackMessageCardSkeleton = SlackMessageCardSkeleton; exports.HubspotTicketCard = HubspotTicketCard; exports.HubspotTicketCardSkeleton = HubspotTicketCardSkeleton; exports.DataRoomDocCard = DataRoomDocCard; exports.DataRoomDocCardSkeleton = DataRoomDocCardSkeleton; exports.ProgramCardSkeleton = ProgramCardSkeleton; exports.ProgramCard = ProgramCard; exports.CampaignCardAdmin = CampaignCardAdmin; exports.CampaignCardAdminSkeleton = CampaignCardAdminSkeleton; exports.GenericEntityCard = GenericEntityCard; exports.GenericEntityCardSkeleton = GenericEntityCardSkeleton; exports.getAppType = getAppType; exports.getEmbedProxyAuth = getEmbedProxyAuth; exports.getPersistedProxyEmail = getPersistedProxyEmail; exports.setEmbedProxyAuth = setEmbedProxyAuth; exports.clearEmbedProxyAuth = clearEmbedProxyAuth; exports.applyProxyAuth = applyProxyAuth; exports.setEmbedAuthAdapter = setEmbedAuthAdapter; exports.embedAuthedFetch = embedAuthedFetch; exports.extractItems = extractItems; exports.extractItemId = extractItemId; exports.useChatCardItem = useChatCardItem; exports.ChatCardLoader = ChatCardLoader; exports.renderChatInlineEntityCard = renderChatInlineEntityCard; exports.CHAT_TYPE = CHAT_TYPE; exports.OWNER_TYPE = OWNER_TYPE; exports.MESSAGE_ROLE = MESSAGE_ROLE; exports.ASSISTANT_TYPE = ASSISTANT_TYPE; exports.AUTHOR_TYPE = AUTHOR_TYPE; exports.APPROVAL_STATUS = APPROVAL_STATUS; exports.CONNECTION_STATUS = CONNECTION_STATUS; exports.buildChatRefKey = buildChatRefKey; exports.isStructuredContent = isStructuredContent; exports.normalizeContent = normalizeContent2; exports.NETWORK_CONFIG = NETWORK_CONFIG; exports.transformEventToProgram = transformEventToProgram; exports.transformPodcastToProgram = transformPodcastToProgram; exports.transformWebinarToProgram = transformWebinarToProgram; exports.useChunkCatchup = useChunkCatchup; exports.useJetStreamDialogSubscription = useJetStreamDialogSubscription; exports.useNatsDialogSubscription = useNatsDialogSubscription; exports.buildNatsWsUrl = buildNatsWsUrl; exports.parseChunkToAction = parseChunkToAction; exports.isControlChunk = isControlChunk; exports.isErrorChunk = isErrorChunk; exports.isMetadataChunk = isMetadataChunk; exports.extractTextFromChunk = extractTextFromChunk; exports.MessageSegmentAccumulator = MessageSegmentAccumulator; exports.createMessageSegmentAccumulator = createMessageSegmentAccumulator; exports.useRealtimeChunkProcessor = useRealtimeChunkProcessor; exports.fetchSlashCommands = fetchSlashCommands; exports.useSlashCommands = useSlashCommands; exports.useSlashCommandRegistry = useSlashCommandRegistry; exports.useChatAttachments = useChatAttachments; exports.useChatAttachmentImageGallery = useChatAttachmentImageGallery; exports.ChatIdentityProvider = ChatIdentityProvider; exports.useChatIdentity = useChatIdentity; exports.useCloseOnNavigation = useCloseOnNavigation; exports.useSSE = useSSE; exports.useChat = useChat; exports.SCROLL_ANCHOR_WIRE_KEY = SCROLL_ANCHOR_WIRE_KEY; exports.parseScrollAnchor = parseScrollAnchor; exports.AUTO_CONTINUATION_DIRECTIVE_PREFIX = AUTO_CONTINUATION_DIRECTIVE_PREFIX; exports.buildAutoContinuationDirective = buildAutoContinuationDirective; exports.flattenAssistantContent = flattenAssistantContent; exports.parseWireCommandOverride = parseWireCommandOverride; exports.sanitizeTitleForChat = sanitizeTitleForChat; exports.formatSingularLookupInvocation = formatSingularLookupInvocation; exports.extractEntityIdFilter = extractEntityIdFilter; exports.buildDiscussAddendum = buildDiscussAddendum; exports.useSseChatAdapter = useSseChatAdapter; exports.processHistoricalMessages = processHistoricalMessages; exports.extractErrorMessages = extractErrorMessages; exports.processHistoricalMessagesWithErrors = processHistoricalMessagesWithErrors; exports.useNatsChatAdapter = useNatsChatAdapter; exports.useUnifiedChat = useUnifiedChat; exports.extractIncompleteMessageState = extractIncompleteMessageState; exports.SYNTHETIC_REALTIME_ID_PREFIXES = SYNTHETIC_REALTIME_ID_PREFIXES; exports.flattenMessagePagesChronological = flattenMessagePagesChronological; exports.maxPersistedStreamSeq = maxPersistedStreamSeq; exports.mergeHistoryWithRealtime = mergeHistoryWithRealtime; exports.computeHistoryPrepend = computeHistoryPrepend; exports.CHIP_ACTION_BUTTON_CLASS = CHIP_ACTION_BUTTON_CLASS; exports.chatChipClass = chatChipClass; exports.clickupTaskUrl = clickupTaskUrl; exports.EmbeddableChat = EmbeddableChat; exports.FilterCheckboxItem = FilterCheckboxItem; exports.TagKeyValueFilter = TagKeyValueFilter; exports.FilterModal = FilterModal; exports.ListPageLayout = ListPageLayout; exports.PAGE_HEADING_CLASS = PAGE_HEADING_CLASS; exports.PageHeading = PageHeading; exports.EntityImage = EntityImage; exports.TitleBlock = TitleBlock; exports.PageLayout = PageLayout; exports.toggleVariants = toggleVariants; exports.Toggle = Toggle; exports.ToggleGroup = ToggleGroup; exports.ToggleGroupItem = ToggleGroupItem; exports.delay = delay; exports.generateRandomString = generateRandomString; exports.truncateString = truncateString; exports.deepClone = deepClone; exports.getSlackCommunityJoinUrl = getSlackCommunityJoinUrl; 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.normalizeToolType = normalizeToolType; exports.normalizeToolTypeWithFallback = normalizeToolTypeWithFallback; exports.toToolLabel = toToolLabel; exports.isValidToolType = isValidToolType; exports.getToolTypeAliases = getToolTypeAliases; exports.getToolLabel = getToolLabel; exports.ShellTypeValues = ShellTypeValues; exports.SHELL_TYPES = SHELL_TYPES; exports.shellLabels = shellLabels; exports.getShellLabel = getShellLabel; exports.getShellIcon = getShellIcon; exports.OSTypeValues = OSTypeValues; exports.OS_TYPES = OS_TYPES; exports.osLabels = osLabels; exports.normalizeOSType = normalizeOSType; exports.getOSLabel = getOSLabel; exports.getOSIcon = getOSIcon; exports.getOSTypeDefinition = getOSTypeDefinition; exports.getOSPlatformId = getOSPlatformId; exports.isOSPlatform = isOSPlatform; exports.getCountryPhoneData = getCountryPhoneData; exports.getCountryByCode = getCountryByCode; exports.validatePhoneNumber = validatePhoneNumber; exports.formatPhoneE164 = formatPhoneE164; exports.GENERIC_EMAIL_DOMAINS = GENERIC_EMAIL_DOMAINS; exports.extractDomainFromEmail = extractDomainFromEmail; exports.normalizeDomain = normalizeDomain; exports.isGenericDomain = isGenericDomain; exports.hasGenericEmailDomain = hasGenericEmailDomain; exports.isGenericWebsiteDomain = isGenericWebsiteDomain; exports.DESIGN_PALETTE = DESIGN_PALETTE; exports.hexToRgb = hexToRgb2; exports.getContrastRatio = getContrastRatio; exports.extractDominantColor = extractDominantColor; exports.getBestContrastColor = getBestContrastColor; exports.analyzeImageColor = analyzeImageColor; exports.extractImageEdgeColorAsync = extractImageEdgeColorAsync; exports.formatRelativeTime = formatRelativeTime; exports.formatAbsoluteDate = formatAbsoluteDate; exports.formatDateTime = formatDateTime; exports.getDetailedTimeDifference = getDetailedTimeDifference; exports.isToday = isToday; exports.isWithinMinutes = isWithinMinutes; exports.createUTCTimestamp = createUTCTimestamp; exports.readLeadingDecisionFrame = readLeadingDecisionFrame; exports.AVAILABLE_SVG_ICONS = AVAILABLE_SVG_ICONS; exports.releaseTypeOptions = releaseTypeOptions; exports.releaseStatusOptions = releaseStatusOptions; exports.changelogLabels = changelogLabels; exports.SEMVER_REGEX = SEMVER_REGEX; exports.TASK_TYPE_LABELS = TASK_TYPE_LABELS; exports.TASK_TYPE_TEXT_COLORS = TASK_TYPE_TEXT_COLORS; exports.TMCG_ROLES = TMCG_ROLES; exports.TMCG_ROLE_DISPLAY_NAMES = TMCG_ROLE_DISPLAY_NAMES; exports.TMCG_SOCIAL_PLATFORMS = TMCG_SOCIAL_PLATFORMS; exports.ROADMAP_STATUS_OPTIONS = ROADMAP_STATUS_OPTIONS; exports.DELIVERY_TASK_TYPE_OPTIONS = DELIVERY_TASK_TYPE_OPTIONS; exports.TICKET_STATUS_OPTIONS = TICKET_STATUS_OPTIONS; exports.OPENFRAME_DEV_SECTIONS = OPENFRAME_DEV_SECTIONS; exports.scrollElementIntoView = scrollElementIntoView; exports.canonicalContentRefType = canonicalContentRefType; exports.buildListUrl = buildListUrl; exports.CONTENT_REF_GROUPS = CONTENT_REF_GROUPS; exports.getContentRefLabel = getContentRefLabel; exports.getContentRefLabelOrTitleCase = getContentRefLabelOrTitleCase; exports.orderContentRefTypes = orderContentRefTypes; exports.BenefitCard = BenefitCard; exports.BenefitCardGrid = BenefitCardGrid; exports.BrandAssociationCard = BrandAssociationCard; exports.BrandAssociationGrid = BrandAssociationGrid; exports.BulletList = BulletList; exports.CircularProgress = CircularProgress; exports.CheckIcon = CheckIcon2; exports.XIcon = XIcon; exports.MinusIcon = MinusIcon; exports.CheckCircleIcon = CheckCircleIcon2; exports.XCircleIcon = XCircleIcon; exports.FloatingTooltip = FloatingTooltip; exports.DashboardInfoCard = DashboardInfoCard; exports.OSTypeBadge = OSTypeBadge; exports.OSTypeIcon = OSTypeIcon; exports.OSTypeLabel = OSTypeLabel; exports.DeviceCard = DeviceCard; exports.DeviceCardCompact = DeviceCardCompact; exports.FeatureCardGrid = FeatureCardGrid; exports.FeatureList = FeatureList; exports.TruncateText = TruncateText; exports.HighlightCard = HighlightCard; exports.HighlightCardGrid = HighlightCardGrid; exports.IconsBlock = IconsBlock; exports.DropdownButton = DropdownButton; exports.MoreActionsMenu = MoreActionsMenu; exports.OrganizationCard = OrganizationCard; exports.ServiceCard = ServiceCard; exports.Slider = Slider; exports.TabSelector = TabSelector; exports.TitleContentBlock = TitleContentBlock; exports.ContentLoader = ContentLoader; exports.CardLoader = CardLoader; exports.FormLoader = FormLoader; exports.DetailLoader = DetailLoader; exports.ListLoader = ListLoader; exports.Pagination = Pagination; exports.PaginationContent = PaginationContent; exports.PaginationItem = PaginationItem; exports.PaginationLink = PaginationLink; exports.PaginationEllipsis = PaginationEllipsis; exports.PaginationPrevious = PaginationPrevious; exports.PaginationNext = PaginationNext; exports.init_pagination = init_pagination; exports.CursorPagination = CursorPagination; exports.CursorPaginationSimple = CursorPaginationSimple; exports.TableEmptyState = TableEmptyState; exports.DynamicThemeProvider = DynamicThemeProvider; exports.useDynamicTheme = useDynamicTheme; exports.THEME_STORAGE_KEY = THEME_STORAGE_KEY; exports.THEME_ATTRIBUTE = THEME_ATTRIBUTE; exports.DEFAULT_THEME = DEFAULT_THEME; exports.ThemeProvider = ThemeProvider; exports.useTheme = useTheme; exports.useThemeToggle = useThemeToggle; exports.ArrayEntryManager = ArrayEntryManager; exports.ProviderButton = ProviderButton; exports.AuthProvidersList = AuthProvidersList; exports.ChangelogManager = ChangelogManager; exports.ChangelogSectionsManager = ChangelogSectionsManager; exports.ClickUpTasksManager = ClickUpTasksManager; exports.CommandBox = CommandBox; exports.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.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.VideoSourceSelector = VideoSourceSelector; exports.ConfidenceBadge = ConfidenceBadge; exports.TranscriptSummaryEditor = TranscriptSummaryEditor; exports.AIEnrichButton = AIEnrichButton; exports.AIWarningsSection = AIWarningsSection; exports.AIEnrichSection = AIEnrichSection; exports.HighlightVideoSection = HighlightVideoSection; exports.HighlightConfigSection = HighlightConfigSection; exports.EntitySummaryEditor = EntitySummaryEditor; exports.AIStatusIndicator = AIStatusIndicator; exports.AIRequiredBadge = AIRequiredBadge; exports.TranscribeSummarizeSection = TranscribeSummarizeSection; exports.VideoClipsSection = VideoClipsSection; exports.HighlightGenerationSection = HighlightGenerationSection; exports.HighlightVideoPreview = HighlightVideoPreview; exports.TranscribeAndSummarizeCombinedSection = TranscribeAndSummarizeCombinedSection; exports.HighlightVideoCombinedSection = HighlightVideoCombinedSection; exports.ViewToggle = ViewToggle; exports.PolicyConfigurationPanel = PolicyConfigurationPanel; exports.PhoneInput = PhoneInput; exports.WaitlistForm = WaitlistForm; exports.NotificationsProvider = NotificationsProvider; exports.useNotifications = useNotifications; exports.useOptionalNotifications = useOptionalNotifications; exports.NotificationTile = NotificationTile; exports.NotificationDrawer = NotificationDrawer; exports.NotificationPopups = NotificationPopups; exports.ADMIN_APPROVAL_REQUEST_CONTEXT_TYPE = ADMIN_APPROVAL_REQUEST_CONTEXT_TYPE; exports.isApprovalNotification = isApprovalNotification; exports.getApprovalMeta = getApprovalMeta; exports.ApprovalRequestNotificationTile = ApprovalRequestNotificationTile; exports.BoardColumnHeader = BoardColumnHeader; exports.tintOnDark = tintOnDark; exports.TicketCard = TicketCard; exports.TicketCardSkeleton = TicketCardSkeleton; exports.BoardColumn = BoardColumn; exports.useBoardCollapse = useBoardCollapse; exports.Board = Board; exports.columnFromTicketStatus = columnFromTicketStatus; exports.groupTicketsByStatus = groupTicketsByStatus; exports.TicketStatusConfigList = TicketStatusConfigList; exports.TableHeader = TableHeader; exports.TableCell = TableCell; exports.TableCardSkeleton = TableCardSkeleton; exports.TableRow = TableRow; exports.Table = Table; exports.TableDescriptionCell = TableDescriptionCell; exports.TableTimestampCell = TableTimestampCell; exports.QueryReportTableHeader = QueryReportTableHeader; exports.QueryReportTableRow = QueryReportTableRow; exports.QueryReportTableSkeleton = QueryReportTableSkeleton; exports.deriveColumns = deriveColumns; exports.exportToCSV = exportToCSV; exports.QueryReportTable = QueryReportTable; exports.useDataTableContext = useDataTableContext; exports.DataTableRoot = DataTableRoot; exports.getHideClasses = getHideClasses2; exports.alignJustify = alignJustify; exports.multiSelectFilterFn = multiSelectFilterFn; exports.DataTableHeader = DataTableHeader; exports.DataTableEmpty = DataTableEmpty; exports.ROW_HEIGHT_DESKTOP = ROW_HEIGHT_DESKTOP2; exports.ROW_HEIGHT_MOBILE = ROW_HEIGHT_MOBILE2; exports.DataTableSkeleton = DataTableSkeleton; exports.DataTableRow = DataTableRow; exports.DataTableBody = DataTableBody; exports.DataTableInfiniteFooter = DataTableInfiniteFooter; exports.DataTableCursorFooter = DataTableCursorFooter; exports.DataTableRowCount = DataTableRowCount; exports.useDataTable = useDataTable; exports.DataTable = DataTable; exports.flexRender = _reacttable.flexRender; exports.createColumnHelper = _reacttable.createColumnHelper; exports.getCoreRowModel = _reacttable.getCoreRowModel; exports.getExpandedRowModel = _reacttable.getExpandedRowModel; exports.getFacetedRowModel = _reacttable.getFacetedRowModel; exports.getFacetedUniqueValues = _reacttable.getFacetedUniqueValues; exports.getFilteredRowModel = _reacttable.getFilteredRowModel; exports.getGroupedRowModel = _reacttable.getGroupedRowModel; exports.getPaginationRowModel = _reacttable.getPaginationRowModel; exports.getSortedRowModel = _reacttable.getSortedRowModel; exports.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.AssigneeDropdown = AssigneeDropdown; exports.TicketDetailSection = TicketDetailSection; exports.TicketAttachmentsList = TicketAttachmentsList; exports.TicketNoteCard = TicketNoteCard; exports.TicketNotesSection = TicketNotesSection; exports.TicketInfoSection = TicketInfoSection; exports.Header = Header2; exports.HeaderSkeleton = HeaderSkeleton; exports.ClientOnlyHeader = ClientOnlyHeader; exports.MobileNavPanel = MobileNavPanel; exports.SlidingSidebar = SlidingSidebar; exports.StickySectionNav = StickySectionNav; exports.useSectionNavigation = useSectionNavigation; exports.NavigationSidebar = NavigationSidebar; exports.HeaderButton = HeaderButton; exports.HeaderGlobalSearch = HeaderGlobalSearch; exports.HeaderMingoButton = HeaderMingoButton; exports.HeaderOrganizationFilter = HeaderOrganizationFilter; exports.AppHeader = AppHeader; exports.MobileBurgerMenu = MobileBurgerMenu; exports.useAppLayoutDrawerContainer = useAppLayoutDrawerContainer; exports.AppLayout = AppLayout; exports.AppLayoutDrawerRoot = AppLayoutDrawerRoot; exports.AppLayoutDrawerTrigger = AppLayoutDrawerTrigger; exports.AppLayoutDrawerClose = AppLayoutDrawerClose; exports.AppLayoutDrawerContent = AppLayoutDrawerContent; exports.AppLayoutDrawerHeader = AppLayoutDrawerHeader; exports.AppLayoutDrawerTitle = AppLayoutDrawerTitle; exports.AppLayoutDrawerDescription = AppLayoutDrawerDescription; exports.AppLayoutDrawerBody = AppLayoutDrawerBody; exports.AppLayoutDrawerFooter = AppLayoutDrawerFooter; exports.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;
39718
+ //# sourceMappingURL=chunk-NCXHTQH2.cjs.map