@flamingo-stack/openframe-frontend-core 0.0.244 → 0.0.246

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 (133) hide show
  1. package/dist/{chunk-STKMIMLP.cjs → chunk-3JRA55FZ.cjs} +12 -12
  2. package/dist/{chunk-STKMIMLP.cjs.map → chunk-3JRA55FZ.cjs.map} +1 -1
  3. package/dist/{chunk-DV3YZWGN.cjs → chunk-3TDLFCCS.cjs} +33 -20
  4. package/dist/chunk-3TDLFCCS.cjs.map +1 -0
  5. package/dist/{chunk-ORJREQ2W.js → chunk-4XLJWX2N.js} +4 -4
  6. package/dist/{chunk-P5C732SC.js → chunk-DB4HW42V.js} +6 -6
  7. package/dist/{chunk-EPXROXYC.cjs → chunk-ESADULCN.cjs} +651 -716
  8. package/dist/chunk-ESADULCN.cjs.map +1 -0
  9. package/dist/{chunk-EJ7J4QAD.cjs → chunk-GMFDA36U.cjs} +12 -12
  10. package/dist/{chunk-EJ7J4QAD.cjs.map → chunk-GMFDA36U.cjs.map} +1 -1
  11. package/dist/{chunk-PTSAF7T2.js → chunk-LXDA67PW.js} +2 -2
  12. package/dist/{chunk-APGMNHPY.js → chunk-MKVKVJQQ.js} +32 -19
  13. package/dist/chunk-MKVKVJQQ.js.map +1 -0
  14. package/dist/{chunk-M7DPUWAL.js → chunk-NZST65RV.js} +126 -191
  15. package/dist/chunk-NZST65RV.js.map +1 -0
  16. package/dist/{chunk-Z6GGYZDR.cjs → chunk-P2G5X6AW.cjs} +27 -27
  17. package/dist/{chunk-Z6GGYZDR.cjs.map → chunk-P2G5X6AW.cjs.map} +1 -1
  18. package/dist/chunk-PINAV6VJ.cjs +287 -0
  19. package/dist/chunk-PINAV6VJ.cjs.map +1 -0
  20. package/dist/{chunk-NKGNRFSS.js → chunk-QRGODKEG.js} +8 -8
  21. package/dist/{chunk-FSS2MIEA.cjs → chunk-SGJBUL2Y.cjs} +20 -3
  22. package/dist/chunk-SGJBUL2Y.cjs.map +1 -0
  23. package/dist/{chunk-LJGBFD52.js → chunk-VAUI3CND.js} +18 -1
  24. package/dist/chunk-VAUI3CND.js.map +1 -0
  25. package/dist/{chunk-OB45JHDY.cjs → chunk-VFKQMAUF.cjs} +3 -3
  26. package/dist/{chunk-OB45JHDY.cjs.map → chunk-VFKQMAUF.cjs.map} +1 -1
  27. package/dist/chunk-VI7GW7PE.js +287 -0
  28. package/dist/chunk-VI7GW7PE.js.map +1 -0
  29. package/dist/{chunk-RJC3L5DT.cjs → chunk-YJVDQZ5Y.cjs} +7 -7
  30. package/dist/{chunk-RJC3L5DT.cjs.map → chunk-YJVDQZ5Y.cjs.map} +1 -1
  31. package/dist/{chunk-WD2MZVJI.js → chunk-ZXECERJ4.js} +5 -5
  32. package/dist/components/chat/chat-message-list.d.ts.map +1 -1
  33. package/dist/components/chat/entity-cards/onboarding-guide-card.d.ts.map +1 -1
  34. package/dist/components/chat/hooks/use-chat-card-item.d.ts.map +1 -1
  35. package/dist/components/chat/index.cjs +6 -16
  36. package/dist/components/chat/index.cjs.map +1 -1
  37. package/dist/components/chat/index.js +5 -15
  38. package/dist/components/chat/types/entities/content-ref.d.ts +5 -20
  39. package/dist/components/chat/types/entities/content-ref.d.ts.map +1 -1
  40. package/dist/components/chat/utils/index.d.ts +0 -1
  41. package/dist/components/chat/utils/index.d.ts.map +1 -1
  42. package/dist/components/contact/index.cjs +7 -7
  43. package/dist/components/contact/index.js +6 -6
  44. package/dist/components/faq/faq-section.d.ts +7 -1
  45. package/dist/components/faq/faq-section.d.ts.map +1 -1
  46. package/dist/components/faq/index.cjs +3 -3
  47. package/dist/components/faq/index.js +2 -2
  48. package/dist/components/features/index.cjs +6 -6
  49. package/dist/components/features/index.js +5 -5
  50. package/dist/components/features/policy-configuration-panel.d.ts.map +1 -1
  51. package/dist/components/index.cjs +87 -93
  52. package/dist/components/index.cjs.map +1 -1
  53. package/dist/components/index.d.ts +1 -0
  54. package/dist/components/index.d.ts.map +1 -1
  55. package/dist/components/index.js +31 -37
  56. package/dist/components/index.js.map +1 -1
  57. package/dist/components/navigation/index.cjs +6 -6
  58. package/dist/components/navigation/index.js +5 -5
  59. package/dist/components/onboarding-guides/index.cjs +30 -30
  60. package/dist/components/onboarding-guides/index.cjs.map +1 -1
  61. package/dist/components/onboarding-guides/index.js +11 -11
  62. package/dist/components/related-content/index.cjs +26 -0
  63. package/dist/components/related-content/index.cjs.map +1 -0
  64. package/dist/components/related-content/index.d.ts +2 -0
  65. package/dist/components/related-content/index.d.ts.map +1 -0
  66. package/dist/components/related-content/index.js +26 -0
  67. package/dist/components/related-content/index.js.map +1 -0
  68. package/dist/components/related-content/related-content-section.d.ts +149 -0
  69. package/dist/components/related-content/related-content-section.d.ts.map +1 -0
  70. package/dist/components/tickets/index.cjs +73 -73
  71. package/dist/components/tickets/index.cjs.map +1 -1
  72. package/dist/components/tickets/index.js +15 -15
  73. package/dist/components/ui/index.cjs +9 -19
  74. package/dist/components/ui/index.cjs.map +1 -1
  75. package/dist/components/ui/index.js +13 -23
  76. package/dist/embed-shims/index.cjs +3 -3
  77. package/dist/embed-shims/index.cjs.map +1 -1
  78. package/dist/embed-shims/index.js +5 -5
  79. package/dist/index.cjs +17 -11
  80. package/dist/index.cjs.map +1 -1
  81. package/dist/index.js +55 -49
  82. package/dist/types/content-ref.d.ts +35 -0
  83. package/dist/types/content-ref.d.ts.map +1 -0
  84. package/dist/types/index.d.ts +1 -0
  85. package/dist/types/index.d.ts.map +1 -1
  86. package/dist/utils/content-ref-groups.d.ts +58 -0
  87. package/dist/utils/content-ref-groups.d.ts.map +1 -0
  88. package/dist/utils/extract-items.d.ts +18 -0
  89. package/dist/utils/extract-items.d.ts.map +1 -0
  90. package/dist/utils/index.cjs +81 -0
  91. package/dist/utils/index.cjs.map +1 -1
  92. package/dist/utils/index.d.ts +4 -1
  93. package/dist/utils/index.d.ts.map +1 -1
  94. package/dist/utils/index.js +74 -1
  95. package/dist/utils/index.js.map +1 -1
  96. package/dist/utils/list-url.d.ts +6 -0
  97. package/dist/utils/list-url.d.ts.map +1 -1
  98. package/dist/utils/suggestion-url.d.ts +26 -0
  99. package/dist/utils/suggestion-url.d.ts.map +1 -0
  100. package/package.json +7 -1
  101. package/src/components/chat/chat-message-list.tsx +49 -74
  102. package/src/components/chat/entity-cards/onboarding-guide-card.tsx +18 -3
  103. package/src/components/chat/hooks/use-chat-card-item.ts +3 -38
  104. package/src/components/chat/types/entities/content-ref.ts +5 -21
  105. package/src/components/chat/utils/index.ts +0 -12
  106. package/src/components/faq/faq-section.tsx +69 -24
  107. package/src/components/features/policy-configuration-panel.tsx +0 -1
  108. package/src/components/index.ts +1 -0
  109. package/src/components/related-content/index.ts +9 -0
  110. package/src/components/related-content/related-content-section.tsx +630 -0
  111. package/src/types/content-ref.ts +34 -0
  112. package/src/types/index.ts +1 -0
  113. package/src/utils/content-ref-groups.ts +89 -0
  114. package/src/utils/extract-items.ts +48 -0
  115. package/src/utils/index.ts +16 -1
  116. package/src/utils/list-url.ts +9 -0
  117. package/src/utils/suggestion-url.ts +39 -0
  118. package/dist/chunk-APGMNHPY.js.map +0 -1
  119. package/dist/chunk-DV3YZWGN.cjs.map +0 -1
  120. package/dist/chunk-EPXROXYC.cjs.map +0 -1
  121. package/dist/chunk-FSS2MIEA.cjs.map +0 -1
  122. package/dist/chunk-LJGBFD52.js.map +0 -1
  123. package/dist/chunk-M7DPUWAL.js.map +0 -1
  124. package/dist/components/chat/utils/history-merge.d.ts +0 -92
  125. package/dist/components/chat/utils/history-merge.d.ts.map +0 -1
  126. package/src/components/chat/__tests__/chat-message-list.test.tsx +0 -92
  127. package/src/components/chat/utils/__tests__/history-merge.test.ts +0 -339
  128. package/src/components/chat/utils/history-merge.ts +0 -255
  129. /package/dist/{chunk-ORJREQ2W.js.map → chunk-4XLJWX2N.js.map} +0 -0
  130. /package/dist/{chunk-P5C732SC.js.map → chunk-DB4HW42V.js.map} +0 -0
  131. /package/dist/{chunk-PTSAF7T2.js.map → chunk-LXDA67PW.js.map} +0 -0
  132. /package/dist/{chunk-NKGNRFSS.js.map → chunk-QRGODKEG.js.map} +0 -0
  133. /package/dist/{chunk-WD2MZVJI.js.map → chunk-ZXECERJ4.js.map} +0 -0
@@ -2,13 +2,10 @@
2
2
 
3
3
 
4
4
 
5
- var _chunkMEAR2WHScjs = require('./chunk-MEAR2WHS.cjs');
6
5
 
7
6
 
8
- var _chunkXL4V2PYGcjs = require('./chunk-XL4V2PYG.cjs');
9
7
 
10
8
 
11
- var _chunkBZFW3FOFcjs = require('./chunk-BZFW3FOF.cjs');
12
9
 
13
10
 
14
11
 
@@ -21,20 +18,23 @@ var _chunkBZFW3FOFcjs = require('./chunk-BZFW3FOF.cjs');
21
18
 
22
19
 
23
20
 
21
+ var _chunk27VVOBDBcjs = require('./chunk-27VVOBDB.cjs');
24
22
 
25
23
 
26
24
 
25
+ var _chunkMEAR2WHScjs = require('./chunk-MEAR2WHS.cjs');
27
26
 
28
- var _chunkGRTZ23GLcjs = require('./chunk-GRTZ23GL.cjs');
29
27
 
28
+ var _chunkXL4V2PYGcjs = require('./chunk-XL4V2PYG.cjs');
30
29
 
31
30
 
32
- var _chunkWBR7H6E3cjs = require('./chunk-WBR7H6E3.cjs');
31
+ var _chunkBZFW3FOFcjs = require('./chunk-BZFW3FOF.cjs');
33
32
 
34
33
 
35
34
 
36
35
 
37
36
 
37
+ var _chunkG7UE6RKVcjs = require('./chunk-G7UE6RKV.cjs');
38
38
 
39
39
 
40
40
 
@@ -49,13 +49,13 @@ var _chunkWBR7H6E3cjs = require('./chunk-WBR7H6E3.cjs');
49
49
 
50
50
 
51
51
 
52
- var _chunk27VVOBDBcjs = require('./chunk-27VVOBDB.cjs');
53
52
 
54
53
 
54
+ var _chunkGRTZ23GLcjs = require('./chunk-GRTZ23GL.cjs');
55
55
 
56
56
 
57
57
 
58
- var _chunkG7UE6RKVcjs = require('./chunk-G7UE6RKV.cjs');
58
+ var _chunkWBR7H6E3cjs = require('./chunk-WBR7H6E3.cjs');
59
59
 
60
60
 
61
61
 
@@ -4397,15 +4397,12 @@ var ChatMessageList = _react.forwardRef.call(void 0,
4397
4397
  onLoadMoreRef.current = onLoadMore;
4398
4398
  const isFetchingRef = _react.useRef.call(void 0, isFetchingNextPage);
4399
4399
  isFetchingRef.current = isFetchingNextPage;
4400
- const dialogIdRef = _react.useRef.call(void 0, dialogId);
4401
- dialogIdRef.current = dialogId;
4402
4400
  const prevRenderRef = _react.useRef.call(void 0, { dialogId: void 0, messageCount: 0, lastMessageId: void 0 });
4403
- const loadOlderAnchorRef = _react.useRef.call(void 0, null);
4401
+ const prependRef = _react.useRef.call(void 0, { firstMessageId: void 0, firstMessageContent: void 0, scrollHeight: 0 });
4404
4402
  _react.useEffect.call(void 0, () => {
4405
4403
  if (!autoScroll) return;
4406
4404
  const dialogChanged = dialogId !== prevRenderRef.current.dialogId;
4407
4405
  const prevCount = prevRenderRef.current.messageCount;
4408
- const prevLastId = prevRenderRef.current.lastMessageId;
4409
4406
  const newCount = messages.length;
4410
4407
  const currentLastId = _optionalChain([messages, 'access', _63 => _63[messages.length - 1], 'optionalAccess', _64 => _64.id]);
4411
4408
  prevRenderRef.current = { dialogId, messageCount: newCount, lastMessageId: currentLastId };
@@ -4418,8 +4415,7 @@ var ChatMessageList = _react.forwardRef.call(void 0,
4418
4415
  return;
4419
4416
  }
4420
4417
  if (newCount > prevCount) {
4421
- const prevLastIdx = prevLastId ? messages.findIndex((m) => m.id === prevLastId) : -1;
4422
- const newSlice = prevLastIdx >= 0 ? messages.slice(prevLastIdx + 1) : messages.slice(prevCount);
4418
+ const newSlice = messages.slice(prevCount);
4423
4419
  const hasNewUser = newSlice.some((m) => m.role === "user");
4424
4420
  if (hasNewUser) {
4425
4421
  void scrollToBottom({ animation: "instant", ignoreEscapes: true });
@@ -4443,17 +4439,34 @@ var ChatMessageList = _react.forwardRef.call(void 0,
4443
4439
  }, [autoScroll, messages, dialogId, scrollToBottom, contentRef]);
4444
4440
  _react.useLayoutEffect.call(void 0, () => {
4445
4441
  const el = scrollRef.current;
4446
- const anchor = loadOlderAnchorRef.current;
4447
- if (!el || !anchor) return;
4448
- if (anchor.dialogId !== dialogId) {
4449
- loadOlderAnchorRef.current = null;
4442
+ if (!el) {
4443
+ prependRef.current = { firstMessageId: void 0, firstMessageContent: void 0, scrollHeight: 0 };
4450
4444
  return;
4451
4445
  }
4452
- const addedHeight = el.scrollHeight - anchor.scrollHeight;
4453
- if (addedHeight <= 0) return;
4454
- loadOlderAnchorRef.current = null;
4455
- el.scrollTop = anchor.scrollTop + addedHeight;
4456
- }, [messages, dialogId, scrollRef]);
4446
+ const currentFirstId = _optionalChain([messages, 'access', _65 => _65[0], 'optionalAccess', _66 => _66.id]);
4447
+ const currentFirstContent = _optionalChain([messages, 'access', _67 => _67[0], 'optionalAccess', _68 => _68.content]);
4448
+ const prevFirstId = prependRef.current.firstMessageId;
4449
+ const prevHeight = prependRef.current.scrollHeight;
4450
+ if (currentFirstId !== prevFirstId) {
4451
+ if (prevFirstId && prevHeight > 0) {
4452
+ const prevIdx = messages.findIndex((m) => m.id === prevFirstId);
4453
+ if (prevIdx > 0) {
4454
+ const addedHeight = el.scrollHeight - prevHeight;
4455
+ if (addedHeight > 0) el.scrollTop += addedHeight;
4456
+ }
4457
+ }
4458
+ prependRef.current = {
4459
+ firstMessageId: currentFirstId,
4460
+ firstMessageContent: currentFirstContent,
4461
+ scrollHeight: el.scrollHeight
4462
+ };
4463
+ return;
4464
+ }
4465
+ prependRef.current.scrollHeight = el.scrollHeight;
4466
+ if (currentFirstContent !== prependRef.current.firstMessageContent) {
4467
+ prependRef.current.firstMessageContent = currentFirstContent;
4468
+ }
4469
+ }, [messages, scrollRef]);
4457
4470
  const messageElsRef = _react.useRef.call(void 0, /* @__PURE__ */ new Map());
4458
4471
  const refCallbacksRef = _react.useRef.call(void 0, /* @__PURE__ */ new Map());
4459
4472
  const getRegisterMessageEl = (id) => {
@@ -4506,7 +4519,7 @@ var ChatMessageList = _react.forwardRef.call(void 0,
4506
4519
  ro.observe(node);
4507
4520
  const timer = setTimeout(() => {
4508
4521
  ro.disconnect();
4509
- if (_optionalChain([anchorWatcherRef, 'access', _65 => _65.current, 'optionalAccess', _66 => _66.id]) === last.id) {
4522
+ if (_optionalChain([anchorWatcherRef, 'access', _69 => _69.current, 'optionalAccess', _70 => _70.id]) === last.id) {
4510
4523
  anchorWatcherRef.current = null;
4511
4524
  }
4512
4525
  }, 2e3);
@@ -4525,22 +4538,14 @@ var ChatMessageList = _react.forwardRef.call(void 0,
4525
4538
  const entry = entries[0];
4526
4539
  if (!entry) return;
4527
4540
  if (entry.isIntersecting && !isFetchingRef.current) {
4528
- const el = scrollRef.current;
4529
- if (el) {
4530
- loadOlderAnchorRef.current = {
4531
- dialogId: dialogIdRef.current,
4532
- scrollHeight: el.scrollHeight,
4533
- scrollTop: el.scrollTop
4534
- };
4535
- }
4536
- _optionalChain([onLoadMoreRef, 'access', _67 => _67.current, 'optionalCall', _68 => _68()]);
4541
+ _optionalChain([onLoadMoreRef, 'access', _71 => _71.current, 'optionalCall', _72 => _72()]);
4537
4542
  }
4538
4543
  },
4539
4544
  { root: scrollContainer, rootMargin: "200px", threshold: 0.1 }
4540
4545
  );
4541
4546
  observer.observe(sentinelElement);
4542
4547
  return () => observer.disconnect();
4543
- }, [hasNextPage, isFetchingNextPage, scrollRef]);
4548
+ }, [hasNextPage, scrollRef]);
4544
4549
  _react.useImperativeHandle.call(void 0, ref, () => scrollRef.current, [scrollRef]);
4545
4550
  if (isLoading) {
4546
4551
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
@@ -4561,8 +4566,8 @@ var ChatMessageList = _react.forwardRef.call(void 0,
4561
4566
  contentRef(el);
4562
4567
  };
4563
4568
  const lastMessage = messages[messages.length - 1];
4564
- const lastSegments = Array.isArray(_optionalChain([lastMessage, 'optionalAccess', _69 => _69.content])) ? lastMessage.content : null;
4565
- const lastSegment = _optionalChain([lastSegments, 'optionalAccess', _70 => _70[lastSegments.length - 1]]);
4569
+ const lastSegments = Array.isArray(_optionalChain([lastMessage, 'optionalAccess', _73 => _73.content])) ? lastMessage.content : null;
4570
+ const lastSegment = _optionalChain([lastSegments, 'optionalAccess', _74 => _74[lastSegments.length - 1]]);
4566
4571
  const isPausedOnApproval = !!lastSegment && (lastSegment.type === "approval_request" || lastSegment.type === "approval_batch") && (lastSegment.status === void 0 || lastSegment.status === "pending");
4567
4572
  const showStreamingLoader = isTyping && !isPausedOnApproval && !(pendingApprovals && pendingApprovals.length > 0);
4568
4573
  return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "relative flex-1 min-h-0 flex flex-col", children: [
@@ -4661,9 +4666,9 @@ ChatMessageList.displayName = "ChatMessageList";
4661
4666
  // src/utils/image-proxy.ts
4662
4667
  function getProxiedImageUrl(imageUrl, options) {
4663
4668
  if (!imageUrl) return null;
4664
- const proxyPrefix = _optionalChain([options, 'optionalAccess', _71 => _71.proxyPrefix]);
4665
- const skipDomains = _nullishCoalesce(_optionalChain([options, 'optionalAccess', _72 => _72.skipDomains]), () => ( []));
4666
- const directHttps = _nullishCoalesce(_optionalChain([options, 'optionalAccess', _73 => _73.directHttps]), () => ( false));
4669
+ const proxyPrefix = _optionalChain([options, 'optionalAccess', _75 => _75.proxyPrefix]);
4670
+ const skipDomains = _nullishCoalesce(_optionalChain([options, 'optionalAccess', _76 => _76.skipDomains]), () => ( []));
4671
+ const directHttps = _nullishCoalesce(_optionalChain([options, 'optionalAccess', _77 => _77.directHttps]), () => ( false));
4667
4672
  if (proxyPrefix && imageUrl.includes(proxyPrefix)) {
4668
4673
  return imageUrl;
4669
4674
  }
@@ -4829,7 +4834,7 @@ var ChatTicketItem = React11.forwardRef(
4829
4834
  {
4830
4835
  ref,
4831
4836
  type: "button",
4832
- onClick: () => _optionalChain([onClick, 'optionalCall', _74 => _74(ticket.id)]),
4837
+ onClick: () => _optionalChain([onClick, 'optionalCall', _78 => _78(ticket.id)]),
4833
4838
  className: _chunkFIG2RKZFcjs.cn.call(void 0,
4834
4839
  "flex items-center gap-4 w-full h-20 px-4",
4835
4840
  "bg-ods-card border-b border-ods-border",
@@ -5082,11 +5087,11 @@ function MingoChatHistoryRow({
5082
5087
  {
5083
5088
  role: "button",
5084
5089
  tabIndex: 0,
5085
- onClick: () => _optionalChain([onSelect, 'optionalCall', _75 => _75(dialog.id)]),
5090
+ onClick: () => _optionalChain([onSelect, 'optionalCall', _79 => _79(dialog.id)]),
5086
5091
  onKeyDown: (e) => {
5087
5092
  if (e.key === "Enter" || e.key === " ") {
5088
5093
  e.preventDefault();
5089
- _optionalChain([onSelect, 'optionalCall', _76 => _76(dialog.id)]);
5094
+ _optionalChain([onSelect, 'optionalCall', _80 => _80(dialog.id)]);
5090
5095
  }
5091
5096
  },
5092
5097
  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",
@@ -5219,7 +5224,7 @@ function MingoChatHistory({
5219
5224
  const io = new IntersectionObserver(
5220
5225
  ([entry]) => {
5221
5226
  if (entry.isIntersecting && !isLoadingMoreRef.current) {
5222
- _optionalChain([onLoadMoreRef, 'access', _77 => _77.current, 'optionalCall', _78 => _78()]);
5227
+ _optionalChain([onLoadMoreRef, 'access', _81 => _81.current, 'optionalCall', _82 => _82()]);
5223
5228
  }
5224
5229
  },
5225
5230
  { root, rootMargin: "120px", threshold: 0.1 }
@@ -5721,7 +5726,7 @@ function GuideWelcome({
5721
5726
  "button",
5722
5727
  {
5723
5728
  type: "button",
5724
- onClick: () => _optionalChain([onQuickAction, 'optionalCall', _79 => _79(action)]),
5729
+ onClick: () => _optionalChain([onQuickAction, 'optionalCall', _83 => _83(action)]),
5725
5730
  className: "rounded-md focus:outline-none focus-visible:ring-2 focus-visible:ring-ods-accent",
5726
5731
  children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, Tag, { variant: "outline", label: action.label })
5727
5732
  },
@@ -5736,7 +5741,7 @@ function GuideWelcome({
5736
5741
  items: overflowActions.map((action) => ({
5737
5742
  id: action.id,
5738
5743
  label: action.label,
5739
- onClick: () => _optionalChain([onQuickAction, 'optionalCall', _80 => _80(action)])
5744
+ onClick: () => _optionalChain([onQuickAction, 'optionalCall', _84 => _84(action)])
5740
5745
  }))
5741
5746
  }],
5742
5747
  customTrigger: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
@@ -6066,7 +6071,7 @@ function ChatDialogModals({
6066
6071
  RenameChatModal,
6067
6072
  {
6068
6073
  isOpen: renameTarget != null,
6069
- initialName: _nullishCoalesce(_optionalChain([renameTarget, 'optionalAccess', _81 => _81.title]), () => ( "")),
6074
+ initialName: _nullishCoalesce(_optionalChain([renameTarget, 'optionalAccess', _85 => _85.title]), () => ( "")),
6070
6075
  onClose: () => setRenameTarget(null),
6071
6076
  onSave: onConfirmRename
6072
6077
  }
@@ -6327,7 +6332,7 @@ function ChatAttachmentAddButton({
6327
6332
  const canAddMore = slotsAvailable > 0 && !disabled;
6328
6333
  const handlePick = () => {
6329
6334
  if (!canAddMore) return;
6330
- _optionalChain([fileInputRef, 'access', _82 => _82.current, 'optionalAccess', _83 => _83.click, 'call', _84 => _84()]);
6335
+ _optionalChain([fileInputRef, 'access', _86 => _86.current, 'optionalAccess', _87 => _87.click, 'call', _88 => _88()]);
6331
6336
  };
6332
6337
  return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _jsxruntime.Fragment, { children: [
6333
6338
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
@@ -6865,8 +6870,8 @@ ChatSidebarSkeleton.displayName = "ChatSidebarSkeleton";
6865
6870
  var DialogListItem = _react.forwardRef.call(void 0,
6866
6871
  ({ className, dialog, isActive, onDialogSelect, onClick, ...props }, ref) => {
6867
6872
  const handleClick = (e) => {
6868
- _optionalChain([onDialogSelect, 'optionalCall', _85 => _85(dialog.id)]);
6869
- _optionalChain([onClick, 'optionalCall', _86 => _86(e)]);
6873
+ _optionalChain([onDialogSelect, 'optionalCall', _89 => _89(dialog.id)]);
6874
+ _optionalChain([onClick, 'optionalCall', _90 => _90(e)]);
6870
6875
  };
6871
6876
  const formatTimestamp2 = (timestamp) => {
6872
6877
  if (!timestamp) return "";
@@ -6925,7 +6930,7 @@ var ChatSidebar = _react.forwardRef.call(void 0,
6925
6930
  (entries) => {
6926
6931
  const [entry] = entries;
6927
6932
  if (entry.isIntersecting && !isFetchingRef.current) {
6928
- _optionalChain([onLoadMoreRef, 'access', _87 => _87.current, 'optionalCall', _88 => _88()]);
6933
+ _optionalChain([onLoadMoreRef, 'access', _91 => _91.current, 'optionalCall', _92 => _92()]);
6929
6934
  }
6930
6935
  },
6931
6936
  { root: scrollContainer, rootMargin: "100px", threshold: 0.1 }
@@ -7032,7 +7037,7 @@ function decideNewTab(input) {
7032
7037
  function computeIsNewTab(runtime, href, targetPlatform) {
7033
7038
  if (!href) return false;
7034
7039
  if (runtime.navigation.mode === "embed") return true;
7035
- return _nullishCoalesce(_optionalChain([runtime, 'access', _89 => _89.navigation, 'access', _90 => _90.decideNewTab, 'optionalCall', _91 => _91({ href, targetPlatform })]), () => ( decideNewTab({
7040
+ return _nullishCoalesce(_optionalChain([runtime, 'access', _93 => _93.navigation, 'access', _94 => _94.decideNewTab, 'optionalCall', _95 => _95({ href, targetPlatform })]), () => ( decideNewTab({
7036
7041
  href,
7037
7042
  targetPlatform,
7038
7043
  currentSource: _nullishCoalesce(runtime.source, () => ( ""))
@@ -7096,11 +7101,11 @@ function resolveExternalNavigation(args) {
7096
7101
  function runNavigation(runtime, href, path, targetPlatform, fallbackNavigate) {
7097
7102
  const isNewTab = runtime ? computeIsNewTab(runtime, href, _nullishCoalesce(targetPlatform, () => ( null))) : false;
7098
7103
  if (isNewTab) {
7099
- if (_optionalChain([runtime, 'optionalAccess', _92 => _92.navigation, 'access', _93 => _93.openExternal])) runtime.navigation.openExternal(href);
7104
+ if (_optionalChain([runtime, 'optionalAccess', _96 => _96.navigation, 'access', _97 => _97.openExternal])) runtime.navigation.openExternal(href);
7100
7105
  else window.open(href, "_blank", NEW_TAB_FEATURES);
7101
7106
  return;
7102
7107
  }
7103
- const handled = _nullishCoalesce(_optionalChain([runtime, 'optionalAccess', _94 => _94.navigation, 'access', _95 => _95.navigate, 'optionalCall', _96 => _96({ href, path, targetPlatform })]), () => ( false));
7108
+ const handled = _nullishCoalesce(_optionalChain([runtime, 'optionalAccess', _98 => _98.navigation, 'access', _99 => _99.navigate, 'optionalCall', _100 => _100({ href, path, targetPlatform })]), () => ( false));
7104
7109
  if (!handled) {
7105
7110
  const target = stripSameOriginToPath(href);
7106
7111
  if (fallbackNavigate) fallbackNavigate(target);
@@ -7166,7 +7171,7 @@ function NavLinkAnchorViaRuntime({
7166
7171
  path,
7167
7172
  targetPlatform
7168
7173
  }, router.push);
7169
- if (handled && !isNewTab && _optionalChain([panel, 'optionalAccess', _97 => _97.closeChat])) panel.closeChat();
7174
+ if (handled && !isNewTab && _optionalChain([panel, 'optionalAccess', _101 => _101.closeChat])) panel.closeChat();
7170
7175
  };
7171
7176
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
7172
7177
  "a",
@@ -7287,7 +7292,7 @@ function EntityAuthorCard({
7287
7292
  renderEmptyAuthor = false,
7288
7293
  className
7289
7294
  }) {
7290
- const hasAuthor = !!_optionalChain([author, 'optionalAccess', _98 => _98.full_name]);
7295
+ const hasAuthor = !!_optionalChain([author, 'optionalAccess', _102 => _102.full_name]);
7291
7296
  if (!hasAuthor && !renderEmptyAuthor) return null;
7292
7297
  const effectiveAuthor = hasAuthor ? author : EMPTY_AUTHOR_PLACEHOLDER;
7293
7298
  const formatted = publishedAt ? formatDate(publishedAt) : "";
@@ -7623,8 +7628,8 @@ function AdminContentCard({
7623
7628
  /* @__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 }),
7624
7629
  subtitle && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { className: "font-['DM_Sans'] text-[14px] text-ods-text-secondary truncate", children: subtitle }),
7625
7630
  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 }),
7626
- (Number(_optionalChain([platforms, 'optionalAccess', _99 => _99.length])) > 0 || badges) && /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex items-center gap-2 flex-wrap", children: [
7627
- _optionalChain([platforms, 'optionalAccess', _100 => _100.map, 'call', _101 => _101((p) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
7631
+ (Number(_optionalChain([platforms, 'optionalAccess', _103 => _103.length])) > 0 || badges) && /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex items-center gap-2 flex-wrap", children: [
7632
+ _optionalChain([platforms, 'optionalAccess', _104 => _104.map, 'call', _105 => _105((p) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
7628
7633
  PlatformBadge,
7629
7634
  {
7630
7635
  platform: { id: p.id || p.platform_id || "", name: p.name, display_name: p.display_name || p.name },
@@ -7700,7 +7705,7 @@ function fetchPriorityProp(priority) {
7700
7705
 
7701
7706
  if (typeof window !== "undefined") {
7702
7707
  const w = window;
7703
- if (!_optionalChain([w, 'access', _102 => _102.chrome, 'optionalAccess', _103 => _103.cast])) {
7708
+ if (!_optionalChain([w, 'access', _106 => _106.chrome, 'optionalAccess', _107 => _107.cast])) {
7704
7709
  w.chrome = { ..._nullishCoalesce(w.chrome, () => ( {})), cast: { isAvailable: false } };
7705
7710
  }
7706
7711
  }
@@ -7890,7 +7895,7 @@ function YouTubeFacadeInner({
7890
7895
  const iframe = iframeRef.current;
7891
7896
  if (!iframe) return;
7892
7897
  function subscribe() {
7893
- _optionalChain([iframe, 'optionalAccess', _104 => _104.contentWindow, 'optionalAccess', _105 => _105.postMessage, 'call', _106 => _106(
7898
+ _optionalChain([iframe, 'optionalAccess', _108 => _108.contentWindow, 'optionalAccess', _109 => _109.postMessage, 'call', _110 => _110(
7894
7899
  '{"event":"listening"}',
7895
7900
  YT_NOCOOKIE_ORIGIN
7896
7901
  )]);
@@ -7908,13 +7913,13 @@ function YouTubeFacadeInner({
7908
7913
  return;
7909
7914
  }
7910
7915
  if (!payload || payload.event !== "infoDelivery") return;
7911
- const state = _optionalChain([payload, 'access', _107 => _107.info, 'optionalAccess', _108 => _108.playerState]);
7916
+ const state = _optionalChain([payload, 'access', _111 => _111.info, 'optionalAccess', _112 => _112.playerState]);
7912
7917
  if (typeof state !== "number") return;
7913
7918
  if (state === YT_STATE_PLAYING) {
7914
7919
  if (blurTimer !== null) return;
7915
7920
  blurTimer = setTimeout(() => {
7916
7921
  blurTimer = null;
7917
- _optionalChain([iframeRef, 'access', _109 => _109.current, 'optionalAccess', _110 => _110.blur, 'call', _111 => _111()]);
7922
+ _optionalChain([iframeRef, 'access', _113 => _113.current, 'optionalAccess', _114 => _114.blur, 'call', _115 => _115()]);
7918
7923
  }, YT_PLAYING_BLUR_DELAY_MS);
7919
7924
  return;
7920
7925
  }
@@ -8499,7 +8504,7 @@ function ProductReleaseCard({
8499
8504
  changelogCounts
8500
8505
  }) {
8501
8506
  if (size === "lg") {
8502
- const totalChangelog = (_nullishCoalesce(_optionalChain([changelogCounts, 'optionalAccess', _112 => _112.features]), () => ( 0))) + (_nullishCoalesce(_optionalChain([changelogCounts, 'optionalAccess', _113 => _113.fixes]), () => ( 0))) + (_nullishCoalesce(_optionalChain([changelogCounts, 'optionalAccess', _114 => _114.improvements]), () => ( 0))) + (_nullishCoalesce(_optionalChain([changelogCounts, 'optionalAccess', _115 => _115.breaking]), () => ( 0)));
8507
+ const totalChangelog = (_nullishCoalesce(_optionalChain([changelogCounts, 'optionalAccess', _116 => _116.features]), () => ( 0))) + (_nullishCoalesce(_optionalChain([changelogCounts, 'optionalAccess', _117 => _117.fixes]), () => ( 0))) + (_nullishCoalesce(_optionalChain([changelogCounts, 'optionalAccess', _118 => _118.improvements]), () => ( 0))) + (_nullishCoalesce(_optionalChain([changelogCounts, 'optionalAccess', _119 => _119.breaking]), () => ( 0)));
8503
8508
  const valueCells = [
8504
8509
  releaseType && releaseTypeBadgeColor ? {
8505
8510
  value: releaseType.toUpperCase(),
@@ -8518,7 +8523,7 @@ function ProductReleaseCard({
8518
8523
  uppercase: false
8519
8524
  } : { value: "\u2014", label: "Released", uppercase: false }
8520
8525
  ];
8521
- const effectiveAuthor = _optionalChain([author, 'optionalAccess', _116 => _116.full_name]) ? author : { full_name: "\u2014", avatar_url: null, job_title: "Unknown" };
8526
+ const effectiveAuthor = _optionalChain([author, 'optionalAccess', _120 => _120.full_name]) ? author : { full_name: "\u2014", avatar_url: null, job_title: "Unknown" };
8522
8527
  const gridColsClass = "md:grid-cols-4";
8523
8528
  const dividerClass = "border-b md:border-b-0 md:border-r border-ods-border";
8524
8529
  const frameClass = _chunkFIG2RKZFcjs.cn.call(void 0,
@@ -8931,10 +8936,10 @@ function buildProductReleaseCardProps(item) {
8931
8936
  job_title: release.author.job_title
8932
8937
  } : void 0,
8933
8938
  changelogCounts: {
8934
- features: _nullishCoalesce(_optionalChain([release, 'access', _117 => _117.features_added, 'optionalAccess', _118 => _118.length]), () => ( 0)),
8935
- fixes: _nullishCoalesce(_optionalChain([release, 'access', _119 => _119.bugs_fixed, 'optionalAccess', _120 => _120.length]), () => ( 0)),
8936
- improvements: _nullishCoalesce(_optionalChain([release, 'access', _121 => _121.improvements, 'optionalAccess', _122 => _122.length]), () => ( 0)),
8937
- breaking: _nullishCoalesce(_optionalChain([release, 'access', _123 => _123.breaking_changes, 'optionalAccess', _124 => _124.length]), () => ( 0))
8939
+ features: _nullishCoalesce(_optionalChain([release, 'access', _121 => _121.features_added, 'optionalAccess', _122 => _122.length]), () => ( 0)),
8940
+ fixes: _nullishCoalesce(_optionalChain([release, 'access', _123 => _123.bugs_fixed, 'optionalAccess', _124 => _124.length]), () => ( 0)),
8941
+ improvements: _nullishCoalesce(_optionalChain([release, 'access', _125 => _125.improvements, 'optionalAccess', _126 => _126.length]), () => ( 0)),
8942
+ breaking: _nullishCoalesce(_optionalChain([release, 'access', _127 => _127.breaking_changes, 'optionalAccess', _128 => _128.length]), () => ( 0))
8938
8943
  }
8939
8944
  };
8940
8945
  }
@@ -8972,8 +8977,8 @@ function useEntityCardPlaceholder({
8972
8977
  aspect = "wide"
8973
8978
  }) {
8974
8979
  const runtime = _chunkMEAR2WHScjs.useChatRuntime.call(void 0, );
8975
- const builder = _nullishCoalesce(_optionalChain([runtime, 'optionalAccess', _125 => _125.resolvePlaceholderUrl]), () => ( NO_OP_BUILDER));
8976
- const enabled = placeholderUrl === void 0 && !!_optionalChain([runtime, 'optionalAccess', _126 => _126.resolvePlaceholderUrl]);
8980
+ const builder = _nullishCoalesce(_optionalChain([runtime, 'optionalAccess', _129 => _129.resolvePlaceholderUrl]), () => ( NO_OP_BUILDER));
8981
+ const enabled = placeholderUrl === void 0 && !!_optionalChain([runtime, 'optionalAccess', _130 => _130.resolvePlaceholderUrl]);
8977
8982
  const derived = _chunk27VVOBDBcjs.useOgPlaceholder.call(void 0, builder, title, siteName, enabled, aspect);
8978
8983
  return placeholderUrl !== void 0 ? placeholderUrl : derived;
8979
8984
  }
@@ -9066,7 +9071,7 @@ function BlogCard({
9066
9071
  const displayImage = post.featured_image && !imageError ? post.featured_image : placeholderUrl;
9067
9072
  if (size === "sm") {
9068
9073
  const dateStr2 = post.published_at ? new Date(post.published_at).toLocaleDateString("en-US", { year: "numeric", month: "short", day: "numeric" }) : "";
9069
- const firstCategory = _optionalChain([post, 'access', _127 => _127.categories, 'optionalAccess', _128 => _128.find, 'call', _129 => _129((c) => c && c.name), 'optionalAccess', _130 => _130.name]);
9074
+ const firstCategory = _optionalChain([post, 'access', _131 => _131.categories, 'optionalAccess', _132 => _132.find, 'call', _133 => _133((c) => c && c.name), 'optionalAccess', _134 => _134.name]);
9070
9075
  return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
9071
9076
  "a",
9072
9077
  {
@@ -9272,14 +9277,14 @@ function CaseStudyCard({
9272
9277
  "img",
9273
9278
  {
9274
9279
  src: coverImage,
9275
- alt: `${_optionalChain([study, 'access', _131 => _131.msp, 'optionalAccess', _132 => _132.name]) || study.title} cover`,
9280
+ alt: `${_optionalChain([study, 'access', _135 => _135.msp, 'optionalAccess', _136 => _136.name]) || study.title} cover`,
9276
9281
  className: "absolute inset-0 block w-full h-full object-contain",
9277
9282
  onError: hideOnError
9278
9283
  }
9279
9284
  ) : null }),
9280
9285
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: COMPACT_CARD_TEXT_COL, children: [
9281
9286
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: COMPACT_CARD_TITLE_ROW, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: COMPACT_CARD_TITLE, children: study.title }) }),
9282
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: COMPACT_CARD_META_ROW_BOX, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: COMPACT_CARD_SUBTITLE, children: [_optionalChain([study, 'access', _133 => _133.msp, 'optionalAccess', _134 => _134.name]), _optionalChain([study, 'access', _135 => _135.user, 'optionalAccess', _136 => _136.full_name])].filter(Boolean).join(" \xB7 ") || "Case study" }) }),
9287
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: COMPACT_CARD_META_ROW_BOX, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: COMPACT_CARD_SUBTITLE, children: [_optionalChain([study, 'access', _137 => _137.msp, 'optionalAccess', _138 => _138.name]), _optionalChain([study, 'access', _139 => _139.user, 'optionalAccess', _140 => _140.full_name])].filter(Boolean).join(" \xB7 ") || "Case study" }) }),
9283
9288
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: COMPACT_CARD_META_ROW_BOX, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: COMPACT_CARD_SUMMARY, children: study.summary || COMPACT_CARD_ROW_FILLER }) })
9284
9289
  ] })
9285
9290
  ] });
@@ -9289,7 +9294,7 @@ function CaseStudyCard({
9289
9294
  _chunkXL4V2PYGcjs.next_image_default,
9290
9295
  {
9291
9296
  src: coverImage,
9292
- alt: _optionalChain([study, 'access', _137 => _137.msp, 'optionalAccess', _138 => _138.name]) || study.title,
9297
+ alt: _optionalChain([study, 'access', _141 => _141.msp, 'optionalAccess', _142 => _142.name]) || study.title,
9293
9298
  className: "w-full h-full object-cover",
9294
9299
  sizes: "(min-width: 1545px) 515px, (min-width: 1280px) 33vw, (min-width: 800px) 50vw, 100vw",
9295
9300
  fill: true,
@@ -9300,18 +9305,18 @@ function CaseStudyCard({
9300
9305
  /* @__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 }) }),
9301
9306
  /* @__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: [
9302
9307
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "relative shrink-0 w-12 h-12", children: [
9303
- _optionalChain([study, 'access', _139 => _139.user, 'optionalAccess', _140 => _140.avatar_url]) ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
9308
+ _optionalChain([study, 'access', _143 => _143.user, 'optionalAccess', _144 => _144.avatar_url]) ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
9304
9309
  _chunkXL4V2PYGcjs.next_image_default,
9305
9310
  {
9306
9311
  src: study.user.avatar_url,
9307
- alt: _optionalChain([study, 'access', _141 => _141.user, 'optionalAccess', _142 => _142.full_name]) || "User",
9312
+ alt: _optionalChain([study, 'access', _145 => _145.user, 'optionalAccess', _146 => _146.full_name]) || "User",
9308
9313
  className: "w-12 h-12 rounded-full object-cover bg-ods-background border border-ods-border",
9309
9314
  width: 48,
9310
9315
  height: 48,
9311
9316
  unoptimized: true
9312
9317
  }
9313
- ) : /* @__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', _143 => _143.user, 'optionalAccess', _144 => _144.full_name]) || "A").charAt(0).toUpperCase() }) }),
9314
- _optionalChain([study, 'access', _145 => _145.msp, 'optionalAccess', _146 => _146.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,
9318
+ ) : /* @__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', _147 => _147.user, 'optionalAccess', _148 => _148.full_name]) || "A").charAt(0).toUpperCase() }) }),
9319
+ _optionalChain([study, 'access', _149 => _149.msp, 'optionalAccess', _150 => _150.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,
9315
9320
  _chunkXL4V2PYGcjs.next_image_default,
9316
9321
  {
9317
9322
  src: study.msp.icon_url,
@@ -9325,13 +9330,13 @@ function CaseStudyCard({
9325
9330
  ] }),
9326
9331
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "min-w-0 flex-1", children: [
9327
9332
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "p", { className: "font-['DM_Sans'] text-[16px] leading-[1.3] text-ods-text-primary truncate", children: [
9328
- _optionalChain([study, 'access', _147 => _147.user, 'optionalAccess', _148 => _148.full_name]) || "Anonymous",
9329
- _optionalChain([study, 'access', _149 => _149.msp, 'optionalAccess', _150 => _150.name]) && /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: "text-ods-text-secondary", children: [
9333
+ _optionalChain([study, 'access', _151 => _151.user, 'optionalAccess', _152 => _152.full_name]) || "Anonymous",
9334
+ _optionalChain([study, 'access', _153 => _153.msp, 'optionalAccess', _154 => _154.name]) && /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: "text-ods-text-secondary", children: [
9330
9335
  " \u2022 ",
9331
9336
  study.msp.name
9332
9337
  ] })
9333
9338
  ] }),
9334
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { className: "font-['DM_Sans'] text-[14px] leading-none text-ods-text-secondary truncate", children: _optionalChain([study, 'access', _151 => _151.user, 'optionalAccess', _152 => _152.job_title]) || "\xA0" })
9339
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { className: "font-['DM_Sans'] text-[14px] leading-none text-ods-text-secondary truncate", children: _optionalChain([study, 'access', _155 => _155.user, 'optionalAccess', _156 => _156.job_title]) || "\xA0" })
9335
9340
  ] })
9336
9341
  ] }) })
9337
9342
  ] }) });
@@ -9414,7 +9419,7 @@ function CustomerInterviewCard({
9414
9419
  ] }),
9415
9420
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: COMPACT_CARD_TEXT_COL, children: [
9416
9421
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: COMPACT_CARD_TITLE_ROW, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: COMPACT_CARD_TITLE, children: interview.title }) }),
9417
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: COMPACT_CARD_META_ROW_BOX, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: COMPACT_CARD_SUBTITLE, children: [_optionalChain([interview, 'access', _153 => _153.user, 'optionalAccess', _154 => _154.full_name]), _optionalChain([interview, 'access', _155 => _155.msp, 'optionalAccess', _156 => _156.name])].filter(Boolean).join(" \xB7 ") || "Customer interview" }) }),
9422
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: COMPACT_CARD_META_ROW_BOX, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: COMPACT_CARD_SUBTITLE, children: [_optionalChain([interview, 'access', _157 => _157.user, 'optionalAccess', _158 => _158.full_name]), _optionalChain([interview, 'access', _159 => _159.msp, 'optionalAccess', _160 => _160.name])].filter(Boolean).join(" \xB7 ") || "Customer interview" }) }),
9418
9423
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: COMPACT_CARD_META_ROW_BOX, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: COMPACT_CARD_SUMMARY, children: interview.video_summary || COMPACT_CARD_ROW_FILLER }) })
9419
9424
  ] })
9420
9425
  ] });
@@ -9436,15 +9441,15 @@ function CustomerInterviewCard({
9436
9441
  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 }) }),
9437
9442
  /* @__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: [
9438
9443
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "relative shrink-0 w-12 h-12", children: [
9439
- _optionalChain([interview, 'access', _157 => _157.user, 'optionalAccess', _158 => _158.avatar_url]) ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
9444
+ _optionalChain([interview, 'access', _161 => _161.user, 'optionalAccess', _162 => _162.avatar_url]) ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
9440
9445
  "img",
9441
9446
  {
9442
9447
  src: interview.user.avatar_url,
9443
- alt: _optionalChain([interview, 'access', _159 => _159.user, 'optionalAccess', _160 => _160.full_name]) || "Customer",
9448
+ alt: _optionalChain([interview, 'access', _163 => _163.user, 'optionalAccess', _164 => _164.full_name]) || "Customer",
9444
9449
  className: "w-12 h-12 rounded-full object-cover bg-ods-background border border-ods-border"
9445
9450
  }
9446
- ) : /* @__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', _161 => _161.user, 'optionalAccess', _162 => _162.full_name]) || "A").charAt(0).toUpperCase() }) }),
9447
- _optionalChain([interview, 'access', _163 => _163.msp, 'optionalAccess', _164 => _164.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,
9451
+ ) : /* @__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', _165 => _165.user, 'optionalAccess', _166 => _166.full_name]) || "A").charAt(0).toUpperCase() }) }),
9452
+ _optionalChain([interview, 'access', _167 => _167.msp, 'optionalAccess', _168 => _168.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,
9448
9453
  "img",
9449
9454
  {
9450
9455
  src: interview.msp.icon_url,
@@ -9455,13 +9460,13 @@ function CustomerInterviewCard({
9455
9460
  ] }),
9456
9461
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "min-w-0 flex-1", children: [
9457
9462
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "p", { className: "font-['DM_Sans'] text-[16px] leading-[1.3] text-ods-text-primary truncate", children: [
9458
- _optionalChain([interview, 'access', _165 => _165.user, 'optionalAccess', _166 => _166.full_name]) || "Anonymous",
9459
- _optionalChain([interview, 'access', _167 => _167.msp, 'optionalAccess', _168 => _168.name]) && /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: "text-ods-text-secondary", children: [
9463
+ _optionalChain([interview, 'access', _169 => _169.user, 'optionalAccess', _170 => _170.full_name]) || "Anonymous",
9464
+ _optionalChain([interview, 'access', _171 => _171.msp, 'optionalAccess', _172 => _172.name]) && /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: "text-ods-text-secondary", children: [
9460
9465
  " \u2022 ",
9461
9466
  interview.msp.name
9462
9467
  ] })
9463
9468
  ] }),
9464
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { className: "font-['DM_Sans'] text-[14px] leading-none text-ods-text-secondary truncate", children: _optionalChain([interview, 'access', _169 => _169.user, 'optionalAccess', _170 => _170.job_title]) || " " })
9469
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { className: "font-['DM_Sans'] text-[14px] leading-none text-ods-text-secondary truncate", children: _optionalChain([interview, 'access', _173 => _173.user, 'optionalAccess', _174 => _174.job_title]) || " " })
9465
9470
  ] })
9466
9471
  ] }) })
9467
9472
  ] }) });
@@ -9474,7 +9479,7 @@ function CustomerInterviewCard({
9474
9479
  function formatInvestorUpdatePeriod(start, end, options) {
9475
9480
  if (!start && !end) return "";
9476
9481
  const fmt = (d) => new Date(d).toLocaleDateString("en-US", {
9477
- month: _optionalChain([options, 'optionalAccess', _171 => _171.monthFormat]) || "short",
9482
+ month: _optionalChain([options, 'optionalAccess', _175 => _175.monthFormat]) || "short",
9478
9483
  year: "numeric"
9479
9484
  });
9480
9485
  const s = start ? fmt(start) : "?";
@@ -9564,7 +9569,7 @@ function InvestorUpdateCard({
9564
9569
  imageUrl: update.featured_image,
9565
9570
  placeholderUrl,
9566
9571
  title: update.title || `Update #${update.update_number || "?"}`,
9567
- summary: _optionalChain([update, 'access', _172 => _172.strategic_update, 'optionalAccess', _173 => _173.slice, 'call', _174 => _174(0, 120)]) || _optionalChain([update, 'access', _175 => _175.content, 'optionalAccess', _176 => _176.slice, 'call', _177 => _177(0, 120)]) || "No description",
9572
+ summary: _optionalChain([update, 'access', _176 => _176.strategic_update, 'optionalAccess', _177 => _177.slice, 'call', _178 => _178(0, 120)]) || _optionalChain([update, 'access', _179 => _179.content, 'optionalAccess', _180 => _180.slice, 'call', _181 => _181(0, 120)]) || "No description",
9568
9573
  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: [
9569
9574
  "#",
9570
9575
  update.update_number
@@ -9582,6 +9587,9 @@ _chunkWBR7H6E3cjs.init_next_link.call(void 0, );
9582
9587
  _chunkFIG2RKZFcjs.init_cn.call(void 0, );
9583
9588
 
9584
9589
 
9590
+ function stripMarkdownPreview(text) {
9591
+ return text.replace(/```[\s\S]*?```/g, " ").replace(/^#{1,6}\s+/gm, "").replace(/!?\[([^\]]*)\]\([^)]*\)/g, "$1").replace(/[*_~`>]/g, "").replace(/^\s*[-+]\s+/gm, "").replace(/-{3,}/g, " ").replace(/\s+/g, " ").trim();
9592
+ }
9585
9593
  var HORIZONTAL_SIZE_TOKENS = {
9586
9594
  default: {
9587
9595
  padding: "p-4",
@@ -9726,7 +9734,7 @@ function OnboardingGuideCard({
9726
9734
  ] }) }),
9727
9735
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex-1 min-w-0 flex flex-col", children: [
9728
9736
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "min-h-[60px] md:min-h-[72px] flex items-start mb-3", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "h3", { className: "font-['Azeret_Mono'] font-semibold text-xl md:text-2xl text-ods-text-primary leading-tight line-clamp-2", children: guide.title }) }),
9729
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "min-h-[46px] md:min-h-[52px]", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { className: "font-['DM_Sans'] text-sm md:text-base text-ods-text-secondary leading-relaxed line-clamp-2", children: (guide.video_summary || guide.content || "").trim() }) })
9737
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "min-h-[46px] md:min-h-[52px]", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { className: "font-['DM_Sans'] text-sm md:text-base text-ods-text-secondary leading-relaxed line-clamp-2", children: stripMarkdownPreview(guide.video_summary || guide.content || "") }) })
9730
9738
  ] })
9731
9739
  ] }),
9732
9740
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
@@ -9752,8 +9760,8 @@ function OnboardingGuideCard({
9752
9760
  const coverImage = guide.featured_image || guide.main_video_thumbnail || guide.og_image_url || null;
9753
9761
  const compactCover = coverImage || placeholderUrl || null;
9754
9762
  const hasVideoCover = !guide.featured_image && !!guide.main_video_thumbnail;
9755
- const summary2 = (guide.video_summary || guide.content || "").trim();
9756
- const author = _optionalChain([guide, 'access', _178 => _178.author, 'optionalAccess', _179 => _179.full_name, 'optionalAccess', _180 => _180.trim, 'call', _181 => _181()]) || "";
9763
+ const summary2 = stripMarkdownPreview(guide.video_summary || guide.content || "");
9764
+ const author = _optionalChain([guide, 'access', _182 => _182.author, 'optionalAccess', _183 => _183.full_name, 'optionalAccess', _184 => _184.trim, 'call', _185 => _185()]) || "";
9757
9765
  const subtitleParts = [
9758
9766
  `Step ${guide.step_order}`,
9759
9767
  guide.section,
@@ -9783,7 +9791,7 @@ function OnboardingGuideCard({
9783
9791
  ] });
9784
9792
  }
9785
9793
  const t = HORIZONTAL_SIZE_TOKENS.default;
9786
- const summary = (guide.video_summary || guide.content || "").trim();
9794
+ const summary = stripMarkdownPreview(guide.video_summary || guide.content || "");
9787
9795
  return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
9788
9796
  _chunkWBR7H6E3cjs.next_link_default,
9789
9797
  {
@@ -10124,7 +10132,7 @@ function AutocompleteInner(props, ref) {
10124
10132
  if (!isInputControlled) {
10125
10133
  setInternalInputValue(value);
10126
10134
  }
10127
- _optionalChain([onInputChange, 'optionalCall', _182 => _182(value, reason)]);
10135
+ _optionalChain([onInputChange, 'optionalCall', _186 => _186(value, reason)]);
10128
10136
  };
10129
10137
  const [isOpen, setIsOpen] = _react.useState.call(void 0, false);
10130
10138
  const [highlightedIndex, setHighlightedIndex] = _react.useState.call(void 0, -1);
@@ -10152,8 +10160,8 @@ function AutocompleteInner(props, ref) {
10152
10160
  if (!showHiddenTags) return;
10153
10161
  const handleClick = (e) => {
10154
10162
  const target = e.target;
10155
- const inButton = _optionalChain([hiddenTagsRef, 'access', _183 => _183.current, 'optionalAccess', _184 => _184.contains, 'call', _185 => _185(target)]);
10156
- const inPopup = _optionalChain([hiddenTagsPopupRef, 'access', _186 => _186.current, 'optionalAccess', _187 => _187.contains, 'call', _188 => _188(target)]);
10163
+ const inButton = _optionalChain([hiddenTagsRef, 'access', _187 => _187.current, 'optionalAccess', _188 => _188.contains, 'call', _189 => _189(target)]);
10164
+ const inPopup = _optionalChain([hiddenTagsPopupRef, 'access', _190 => _190.current, 'optionalAccess', _191 => _191.contains, 'call', _192 => _192(target)]);
10157
10165
  if (!inButton && !inPopup) {
10158
10166
  setShowHiddenTags(false);
10159
10167
  }
@@ -10197,7 +10205,7 @@ function AutocompleteInner(props, ref) {
10197
10205
  }
10198
10206
  updateInputValue("", "reset");
10199
10207
  setIsOpen(false);
10200
- _optionalChain([onCreateOption, 'optionalCall', _189 => _189(trimmed)]);
10208
+ _optionalChain([onCreateOption, 'optionalCall', _193 => _193(trimmed)]);
10201
10209
  };
10202
10210
  _react.useEffect.call(void 0, () => {
10203
10211
  setHighlightedIndex(-1);
@@ -10221,7 +10229,7 @@ function AutocompleteInner(props, ref) {
10221
10229
  props.onChange([...valueArray, option.value]);
10222
10230
  }
10223
10231
  updateInputValue("", "reset");
10224
- _optionalChain([autoLimitTags, 'access', _190 => _190.inputRef, 'access', _191 => _191.current, 'optionalAccess', _192 => _192.focus, 'call', _193 => _193()]);
10232
+ _optionalChain([autoLimitTags, 'access', _194 => _194.inputRef, 'access', _195 => _195.current, 'optionalAccess', _196 => _196.focus, 'call', _197 => _197()]);
10225
10233
  } else {
10226
10234
  ;
10227
10235
  props.onChange(option.value);
@@ -10242,7 +10250,7 @@ function AutocompleteInner(props, ref) {
10242
10250
  if (!isInputControlled) {
10243
10251
  setInternalInputValue("");
10244
10252
  }
10245
- _optionalChain([onInputChange, 'optionalCall', _194 => _194("", "clear")]);
10253
+ _optionalChain([onInputChange, 'optionalCall', _198 => _198("", "clear")]);
10246
10254
  setIsOpen(false);
10247
10255
  };
10248
10256
  const handleKeyDown = (e) => {
@@ -10316,7 +10324,7 @@ function AutocompleteInner(props, ref) {
10316
10324
  ),
10317
10325
  onClick: () => {
10318
10326
  if (!disabled) {
10319
- _optionalChain([autoLimitTags, 'access', _195 => _195.inputRef, 'access', _196 => _196.current, 'optionalAccess', _197 => _197.focus, 'call', _198 => _198()]);
10327
+ _optionalChain([autoLimitTags, 'access', _199 => _199.inputRef, 'access', _200 => _200.current, 'optionalAccess', _201 => _201.focus, 'call', _202 => _202()]);
10320
10328
  openDropdown();
10321
10329
  }
10322
10330
  },
@@ -10432,10 +10440,10 @@ function AutocompleteInner(props, ref) {
10432
10440
  align: "start",
10433
10441
  onOpenAutoFocus: (e) => {
10434
10442
  e.preventDefault();
10435
- _optionalChain([autoLimitTags, 'access', _199 => _199.inputRef, 'access', _200 => _200.current, 'optionalAccess', _201 => _201.focus, 'call', _202 => _202()]);
10443
+ _optionalChain([autoLimitTags, 'access', _203 => _203.inputRef, 'access', _204 => _204.current, 'optionalAccess', _205 => _205.focus, 'call', _206 => _206()]);
10436
10444
  },
10437
10445
  onInteractOutside: (e) => {
10438
- if (_optionalChain([containerRef, 'access', _203 => _203.current, 'optionalAccess', _204 => _204.contains, 'call', _205 => _205(e.target)])) {
10446
+ if (_optionalChain([containerRef, 'access', _207 => _207.current, 'optionalAccess', _208 => _208.contains, 'call', _209 => _209(e.target)])) {
10439
10447
  e.preventDefault();
10440
10448
  }
10441
10449
  },
@@ -10507,7 +10515,7 @@ function AutocompleteInner(props, ref) {
10507
10515
  items: hiddenTags,
10508
10516
  disabled,
10509
10517
  style: {
10510
- left: autoLimitTags.badgeRef.current ? autoLimitTags.badgeRef.current.getBoundingClientRect().left - (_nullishCoalesce(_optionalChain([containerRef, 'access', _206 => _206.current, 'optionalAccess', _207 => _207.getBoundingClientRect, 'call', _208 => _208(), 'access', _209 => _209.left]), () => ( 0))) : 0
10518
+ left: autoLimitTags.badgeRef.current ? autoLimitTags.badgeRef.current.getBoundingClientRect().left - (_nullishCoalesce(_optionalChain([containerRef, 'access', _210 => _210.current, 'optionalAccess', _211 => _211.getBoundingClientRect, 'call', _212 => _212(), 'access', _213 => _213.left]), () => ( 0))) : 0
10511
10519
  },
10512
10520
  onRemove: (value) => {
10513
10521
  const newValue = valueArray.filter((v) => v !== value);
@@ -10830,7 +10838,7 @@ var defaultFormatDate = (date) => {
10830
10838
  });
10831
10839
  };
10832
10840
  var formatDateRange2 = (range, formatFn) => {
10833
- if (!_optionalChain([range, 'optionalAccess', _210 => _210.from])) return "";
10841
+ if (!_optionalChain([range, 'optionalAccess', _214 => _214.from])) return "";
10834
10842
  if (!range.to) return formatFn(range.from);
10835
10843
  return `${formatFn(range.from)} - ${formatFn(range.to)}`;
10836
10844
  };
@@ -10858,7 +10866,7 @@ function DatePickerCalendar({
10858
10866
  }) {
10859
10867
  const today = /* @__PURE__ */ new Date();
10860
10868
  const rangeSelected = selected;
10861
- const hasCompleteRange = mode === "range" && _optionalChain([rangeSelected, 'optionalAccess', _211 => _211.from]) && _optionalChain([rangeSelected, 'optionalAccess', _212 => _212.to]) && rangeSelected.from.getTime() !== rangeSelected.to.getTime();
10869
+ const hasCompleteRange = mode === "range" && _optionalChain([rangeSelected, 'optionalAccess', _215 => _215.from]) && _optionalChain([rangeSelected, 'optionalAccess', _216 => _216.to]) && rangeSelected.from.getTime() !== rangeSelected.to.getTime();
10862
10870
  const classNames = {
10863
10871
  root: "p-4 date-picker-calendar",
10864
10872
  months: "flex gap-8",
@@ -10909,7 +10917,7 @@ function DatePickerCalendar({
10909
10917
  range_middle: "range-middle !bg-[var(--ods-open-yellow-light)] !text-ods-card !font-medium !rounded-none hover:!bg-[var(--ods-open-yellow-light)]"
10910
10918
  };
10911
10919
  const [month, setMonth] = React37.useState(
10912
- mode === "single" ? selected || today : _optionalChain([selected, 'optionalAccess', _213 => _213.from]) || today
10920
+ mode === "single" ? selected || today : _optionalChain([selected, 'optionalAccess', _217 => _217.from]) || today
10913
10921
  );
10914
10922
  const handlePreviousMonth = () => {
10915
10923
  setMonth((prev) => {
@@ -11128,14 +11136,14 @@ function DatePicker(props) {
11128
11136
  }, [props.mode, props.value, formatDate2]);
11129
11137
  const handleSelect = (value) => {
11130
11138
  if (props.mode === "single") {
11131
- _optionalChain([props, 'access', _214 => _214.onChange, 'optionalCall', _215 => _215(value)]);
11139
+ _optionalChain([props, 'access', _218 => _218.onChange, 'optionalCall', _219 => _219(value)]);
11132
11140
  if (value) {
11133
11141
  setOpen(false);
11134
11142
  }
11135
11143
  } else {
11136
11144
  const range = value;
11137
- _optionalChain([props, 'access', _216 => _216.onChange, 'optionalCall', _217 => _217(range)]);
11138
- if (_optionalChain([range, 'optionalAccess', _218 => _218.from]) && _optionalChain([range, 'optionalAccess', _219 => _219.to]) && range.from.getTime() !== range.to.getTime()) {
11145
+ _optionalChain([props, 'access', _220 => _220.onChange, 'optionalCall', _221 => _221(range)]);
11146
+ if (_optionalChain([range, 'optionalAccess', _222 => _222.from]) && _optionalChain([range, 'optionalAccess', _223 => _223.to]) && range.from.getTime() !== range.to.getTime()) {
11139
11147
  setOpen(false);
11140
11148
  }
11141
11149
  }
@@ -11242,7 +11250,7 @@ function DatePickerInput({
11242
11250
  if (newDate && value) {
11243
11251
  newDate.setHours(value.getHours(), value.getMinutes(), 0, 0);
11244
11252
  }
11245
- _optionalChain([onChange, 'optionalCall', _220 => _220(newDate)]);
11253
+ _optionalChain([onChange, 'optionalCall', _224 => _224(newDate)]);
11246
11254
  if (newDate) {
11247
11255
  setOpen(false);
11248
11256
  }
@@ -11259,12 +11267,12 @@ function DatePickerInput({
11259
11267
  }
11260
11268
  }
11261
11269
  date.setHours(hours);
11262
- _optionalChain([onChange, 'optionalCall', _221 => _221(date)]);
11270
+ _optionalChain([onChange, 'optionalCall', _225 => _225(date)]);
11263
11271
  };
11264
11272
  const handleMinuteChange = (newMinute) => {
11265
11273
  const date = value ? new Date(value) : /* @__PURE__ */ new Date();
11266
11274
  date.setMinutes(parseInt(newMinute, 10));
11267
- _optionalChain([onChange, 'optionalCall', _222 => _222(date)]);
11275
+ _optionalChain([onChange, 'optionalCall', _226 => _226(date)]);
11268
11276
  };
11269
11277
  const handlePeriodChange = (newPeriod) => {
11270
11278
  const date = value ? new Date(value) : /* @__PURE__ */ new Date();
@@ -11275,7 +11283,7 @@ function DatePickerInput({
11275
11283
  hours += 12;
11276
11284
  }
11277
11285
  date.setHours(hours);
11278
- _optionalChain([onChange, 'optionalCall', _223 => _223(date)]);
11286
+ _optionalChain([onChange, 'optionalCall', _227 => _227(date)]);
11279
11287
  };
11280
11288
  const hourOptions = React37.useMemo(() => generateHourOptions(use24HourFormat), [use24HourFormat]);
11281
11289
  const minuteOptions = React37.useMemo(() => generateMinuteOptions(), []);
@@ -11436,7 +11444,7 @@ function DatePickerInputSimple({
11436
11444
  if (newDate && value) {
11437
11445
  newDate.setHours(value.getHours(), value.getMinutes(), 0, 0);
11438
11446
  }
11439
- _optionalChain([onChange, 'optionalCall', _224 => _224(newDate)]);
11447
+ _optionalChain([onChange, 'optionalCall', _228 => _228(newDate)]);
11440
11448
  if (newDate) {
11441
11449
  setOpen(false);
11442
11450
  }
@@ -11445,7 +11453,7 @@ function DatePickerInputSimple({
11445
11453
  const [hours, minutes] = newTime.split(":").map(Number);
11446
11454
  const date = value ? new Date(value) : /* @__PURE__ */ new Date();
11447
11455
  date.setHours(hours, minutes, 0, 0);
11448
- _optionalChain([onChange, 'optionalCall', _225 => _225(date)]);
11456
+ _optionalChain([onChange, 'optionalCall', _229 => _229(date)]);
11449
11457
  };
11450
11458
  const timeOptions = React37.useMemo(
11451
11459
  () => generateTimeOptions(timeInterval, use24HourFormat),
@@ -11994,7 +12002,7 @@ var Switch = React43.forwardRef(({ className, checked, onCheckedChange, ...props
11994
12002
  }, [checked]);
11995
12003
  const handleCheckedChange = (newChecked) => {
11996
12004
  setIsChecked(newChecked);
11997
- _optionalChain([onCheckedChange, 'optionalCall', _226 => _226(newChecked)]);
12005
+ _optionalChain([onCheckedChange, 'optionalCall', _230 => _230(newChecked)]);
11998
12006
  };
11999
12007
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
12000
12008
  SwitchPrimitives.Root,
@@ -12203,7 +12211,7 @@ function TagsManager({
12203
12211
  const name = search.trim();
12204
12212
  if (!name) return;
12205
12213
  const result = await onCreateTag(name);
12206
- if (_optionalChain([result, 'optionalAccess', _227 => _227.id])) {
12214
+ if (_optionalChain([result, 'optionalAccess', _231 => _231.id])) {
12207
12215
  onChange([...selectedIds, result.id]);
12208
12216
  setSearch("");
12209
12217
  }
@@ -12211,7 +12219,7 @@ function TagsManager({
12211
12219
  const startEdit = React45.useCallback((id, name) => {
12212
12220
  setEditingId(id);
12213
12221
  setEditingName(name);
12214
- setTimeout(() => _optionalChain([editInputRef, 'access', _228 => _228.current, 'optionalAccess', _229 => _229.focus, 'call', _230 => _230()]), 0);
12222
+ setTimeout(() => _optionalChain([editInputRef, 'access', _232 => _232.current, 'optionalAccess', _233 => _233.focus, 'call', _234 => _234()]), 0);
12215
12223
  }, []);
12216
12224
  const confirmEdit = React45.useCallback(async () => {
12217
12225
  if (!onUpdateTag || !editingId || !editingName.trim()) return;
@@ -12238,7 +12246,7 @@ function TagsManager({
12238
12246
  e.stopPropagation();
12239
12247
  onChange([]);
12240
12248
  setSearch("");
12241
- _optionalChain([inputRef, 'access', _231 => _231.current, 'optionalAccess', _232 => _232.focus, 'call', _233 => _233()]);
12249
+ _optionalChain([inputRef, 'access', _235 => _235.current, 'optionalAccess', _236 => _236.focus, 'call', _237 => _237()]);
12242
12250
  },
12243
12251
  [onChange]
12244
12252
  );
@@ -12337,10 +12345,10 @@ function TagsManager({
12337
12345
  align: "start",
12338
12346
  onOpenAutoFocus: (e) => {
12339
12347
  e.preventDefault();
12340
- _optionalChain([inputRef, 'access', _234 => _234.current, 'optionalAccess', _235 => _235.focus, 'call', _236 => _236()]);
12348
+ _optionalChain([inputRef, 'access', _238 => _238.current, 'optionalAccess', _239 => _239.focus, 'call', _240 => _240()]);
12341
12349
  },
12342
12350
  onInteractOutside: (e) => {
12343
- if (_optionalChain([containerRef, 'access', _237 => _237.current, 'optionalAccess', _238 => _238.contains, 'call', _239 => _239(e.target)])) {
12351
+ if (_optionalChain([containerRef, 'access', _241 => _241.current, 'optionalAccess', _242 => _242.contains, 'call', _243 => _243(e.target)])) {
12344
12352
  e.preventDefault();
12345
12353
  }
12346
12354
  },
@@ -13735,19 +13743,19 @@ function TabNavigation({
13735
13743
  const validTabIds = _react.useMemo.call(void 0, () => new Set(tabs.map((t) => t.id)), [tabs]);
13736
13744
  const getInitialTab = () => {
13737
13745
  if (isUrlSyncEnabled) {
13738
- const fromUrl = _optionalChain([searchParams, 'optionalAccess', _240 => _240.get, 'call', _241 => _241(paramName)]) || "";
13746
+ const fromUrl = _optionalChain([searchParams, 'optionalAccess', _244 => _244.get, 'call', _245 => _245(paramName)]) || "";
13739
13747
  if (validTabIds.has(fromUrl)) {
13740
13748
  return fromUrl;
13741
13749
  }
13742
13750
  }
13743
- return defaultTab || _optionalChain([tabs, 'access', _242 => _242[0], 'optionalAccess', _243 => _243.id]) || "";
13751
+ return defaultTab || _optionalChain([tabs, 'access', _246 => _246[0], 'optionalAccess', _247 => _247.id]) || "";
13744
13752
  };
13745
13753
  const [internalActiveTab, setInternalActiveTab] = _react.useState.call(void 0, getInitialTab);
13746
13754
  const activeTab = isUrlSyncEnabled ? internalActiveTab : controlledActiveTab || "";
13747
13755
  _react.useEffect.call(void 0, () => {
13748
13756
  if (!isUrlSyncEnabled) return;
13749
- const fromUrl = _optionalChain([searchParams, 'optionalAccess', _244 => _244.get, 'call', _245 => _245(paramName)]) || "";
13750
- const nextTab = validTabIds.has(fromUrl) ? fromUrl : defaultTab || _optionalChain([tabs, 'access', _246 => _246[0], 'optionalAccess', _247 => _247.id]) || "";
13757
+ const fromUrl = _optionalChain([searchParams, 'optionalAccess', _248 => _248.get, 'call', _249 => _249(paramName)]) || "";
13758
+ const nextTab = validTabIds.has(fromUrl) ? fromUrl : defaultTab || _optionalChain([tabs, 'access', _250 => _250[0], 'optionalAccess', _251 => _251.id]) || "";
13751
13759
  if (nextTab !== internalActiveTab) {
13752
13760
  setInternalActiveTab(nextTab);
13753
13761
  }
@@ -13755,13 +13763,13 @@ function TabNavigation({
13755
13763
  const handleTabChange = (tabId) => {
13756
13764
  if (isUrlSyncEnabled) {
13757
13765
  setInternalActiveTab(tabId);
13758
- const params = new URLSearchParams(_optionalChain([searchParams, 'optionalAccess', _248 => _248.toString, 'call', _249 => _249()]));
13766
+ const params = new URLSearchParams(_optionalChain([searchParams, 'optionalAccess', _252 => _252.toString, 'call', _253 => _253()]));
13759
13767
  params.set(paramName, tabId);
13760
13768
  const method = replaceState ? "replace" : "push";
13761
13769
  router[method](`${pathname}?${params.toString()}`);
13762
- _optionalChain([controlledOnTabChange, 'optionalCall', _250 => _250(tabId)]);
13770
+ _optionalChain([controlledOnTabChange, 'optionalCall', _254 => _254(tabId)]);
13763
13771
  } else {
13764
- _optionalChain([controlledOnTabChange, 'optionalCall', _251 => _251(tabId)]);
13772
+ _optionalChain([controlledOnTabChange, 'optionalCall', _255 => _255(tabId)]);
13765
13773
  }
13766
13774
  };
13767
13775
  const scrollRef = _react.useRef.call(void 0, null);
@@ -13849,7 +13857,7 @@ function TabNavigation({
13849
13857
  var getTabById = (tabs, tabId) => tabs.find((tab) => tab.id === tabId);
13850
13858
  var getTabComponent = (tabs, tabId) => {
13851
13859
  const tab = getTabById(tabs, tabId);
13852
- return _optionalChain([tab, 'optionalAccess', _252 => _252.component]) || null;
13860
+ return _optionalChain([tab, 'optionalAccess', _256 => _256.component]) || null;
13853
13861
  };
13854
13862
 
13855
13863
  // src/components/ui/alert.tsx
@@ -13989,7 +13997,7 @@ function ReleaseChangelogSection({
13989
13997
  className: "overflow-hidden transition-[max-height] duration-500",
13990
13998
  style: {
13991
13999
  transitionTimingFunction: "cubic-bezier(0.33, 1, 0.68, 1)",
13992
- maxHeight: previewExpanded || !previewNeedsFade ? _nullishCoalesce(_optionalChain([previewContentRef, 'access', _253 => _253.current, 'optionalAccess', _254 => _254.scrollHeight]), () => ( 2e3)) : PREVIEW_COLLAPSED_HEIGHT,
14000
+ maxHeight: previewExpanded || !previewNeedsFade ? _nullishCoalesce(_optionalChain([previewContentRef, 'access', _257 => _257.current, 'optionalAccess', _258 => _258.scrollHeight]), () => ( 2e3)) : PREVIEW_COLLAPSED_HEIGHT,
13993
14001
  ...previewNeedsFade && !previewExpanded ? {
13994
14002
  maskImage: "linear-gradient(to bottom, black 30%, transparent 100%)",
13995
14003
  WebkitMaskImage: "linear-gradient(to bottom, black 30%, transparent 100%)"
@@ -14426,16 +14434,16 @@ function FilterModal({
14426
14434
  };
14427
14435
  const handleReset = () => {
14428
14436
  onFilterChange({});
14429
- _optionalChain([onTagsChange, 'optionalCall', _255 => _255([])]);
14437
+ _optionalChain([onTagsChange, 'optionalCall', _259 => _259([])]);
14430
14438
  onClose();
14431
14439
  };
14432
14440
  const handleApply = () => {
14433
14441
  onFilterChange(selectedFilters);
14434
- _optionalChain([onTagsChange, 'optionalCall', _256 => _256(pendingTags)]);
14442
+ _optionalChain([onTagsChange, 'optionalCall', _260 => _260(pendingTags)]);
14435
14443
  onClose();
14436
14444
  };
14437
14445
  const getColumnDirection = (columnKey) => {
14438
- return _optionalChain([sortConfig, 'optionalAccess', _257 => _257.sortBy]) === columnKey ? sortConfig.sortDirection : void 0;
14446
+ return _optionalChain([sortConfig, 'optionalAccess', _261 => _261.sortBy]) === columnKey ? sortConfig.sortDirection : void 0;
14439
14447
  };
14440
14448
  const hasSort = !!sortConfig && sortConfig.columns.length > 0;
14441
14449
  const hasFilterGroups = filterGroups.length > 0;
@@ -14484,7 +14492,7 @@ function FilterModal({
14484
14492
  {
14485
14493
  column,
14486
14494
  currentDirection: getColumnDirection(column.key),
14487
- onSort: (direction) => _optionalChain([onSort, 'optionalCall', _258 => _258(column.key, direction)]),
14495
+ onSort: (direction) => _optionalChain([onSort, 'optionalCall', _262 => _262(column.key, direction)]),
14488
14496
  onClear: onSortClear ? () => onSortClear(column.key) : void 0
14489
14497
  },
14490
14498
  column.key
@@ -14662,7 +14670,7 @@ function IconButtonsVariant({
14662
14670
  }) {
14663
14671
  const desktopActions = actions.filter((a) => !a.showOnlyMobile);
14664
14672
  const hasMenuActions = !!menuActions && menuActions.some((g) => g.items.length > 0);
14665
- const isSingleAction = actions.length === 1 && !_optionalChain([actions, 'access', _259 => _259[0], 'access', _260 => _260.submenu, 'optionalAccess', _261 => _261.length]);
14673
+ const isSingleAction = actions.length === 1 && !_optionalChain([actions, 'access', _263 => _263[0], 'access', _264 => _264.submenu, 'optionalAccess', _265 => _265.length]);
14666
14674
  const singleAction = isSingleAction ? actions[0] : null;
14667
14675
  const useSingleActionMobile = isSingleAction && !hasMenuActions;
14668
14676
  return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _jsxruntime.Fragment, { children: [
@@ -15813,7 +15821,7 @@ function getShellIcon(shellType) {
15813
15821
  if (!shellType) return void 0;
15814
15822
  const normalized = shellType.toUpperCase();
15815
15823
  const shellDef = SHELL_TYPES.find((s) => s.id === normalized);
15816
- return _optionalChain([shellDef, 'optionalAccess', _262 => _262.icon]);
15824
+ return _optionalChain([shellDef, 'optionalAccess', _266 => _266.icon]);
15817
15825
  }
15818
15826
 
15819
15827
  // src/types/os.types.ts
@@ -15886,7 +15894,7 @@ function getOSIcon(osType) {
15886
15894
  const normalized = normalizeOSType(osType);
15887
15895
  if (!normalized) return void 0;
15888
15896
  const osTypeDef = OS_TYPES.find((t) => t.id === normalized);
15889
- return _optionalChain([osTypeDef, 'optionalAccess', _263 => _263.icon]);
15897
+ return _optionalChain([osTypeDef, 'optionalAccess', _267 => _267.icon]);
15890
15898
  }
15891
15899
  function getOSTypeDefinition(osType) {
15892
15900
  if (!osType) return void 0;
@@ -15896,7 +15904,7 @@ function getOSTypeDefinition(osType) {
15896
15904
  }
15897
15905
  function getOSPlatformId(osType) {
15898
15906
  const osTypeDef = getOSTypeDefinition(osType);
15899
- return _optionalChain([osTypeDef, 'optionalAccess', _264 => _264.platformId]);
15907
+ return _optionalChain([osTypeDef, 'optionalAccess', _268 => _268.platformId]);
15900
15908
  }
15901
15909
  function isOSPlatform(deviceOS, targetPlatform) {
15902
15910
  if (!deviceOS || !targetPlatform) return false;
@@ -15989,10 +15997,10 @@ var GENERIC_EMAIL_DOMAINS = [
15989
15997
  ];
15990
15998
  function extractDomainFromEmail(email) {
15991
15999
  if (!email || !email.includes("@")) return null;
15992
- return _optionalChain([email, 'access', _265 => _265.split, 'call', _266 => _266("@"), 'access', _267 => _267[1], 'optionalAccess', _268 => _268.toLowerCase, 'call', _269 => _269()]) || null;
16000
+ return _optionalChain([email, 'access', _269 => _269.split, 'call', _270 => _270("@"), 'access', _271 => _271[1], 'optionalAccess', _272 => _272.toLowerCase, 'call', _273 => _273()]) || null;
15993
16001
  }
15994
16002
  function normalizeDomain(domain) {
15995
- return _optionalChain([domain, 'optionalAccess', _270 => _270.toLowerCase, 'call', _271 => _271(), 'access', _272 => _272.replace, 'call', _273 => _273(/^https?:\/\//, ""), 'access', _274 => _274.replace, 'call', _275 => _275(/^www\./, ""), 'access', _276 => _276.split, 'call', _277 => _277("/"), 'access', _278 => _278[0], 'access', _279 => _279.trim, 'call', _280 => _280()]) || "";
16003
+ return _optionalChain([domain, 'optionalAccess', _274 => _274.toLowerCase, 'call', _275 => _275(), 'access', _276 => _276.replace, 'call', _277 => _277(/^https?:\/\//, ""), 'access', _278 => _278.replace, 'call', _279 => _279(/^www\./, ""), 'access', _280 => _280.split, 'call', _281 => _281("/"), 'access', _282 => _282[0], 'access', _283 => _283.trim, 'call', _284 => _284()]) || "";
15996
16004
  }
15997
16005
  function isGenericDomain(domain) {
15998
16006
  const normalized = normalizeDomain(domain);
@@ -16401,7 +16409,7 @@ function createLocalStorageAdapter(options) {
16401
16409
  const tag = _nullishCoalesce(options.logTag, () => ( "[local-storage]"));
16402
16410
  const backend = _nullishCoalesce(options.backend, () => ( "local"));
16403
16411
  const resolveKey = () => {
16404
- const ns = _optionalChain([options, 'access', _281 => _281.namespace, 'optionalCall', _282 => _282()]);
16412
+ const ns = _optionalChain([options, 'access', _285 => _285.namespace, 'optionalCall', _286 => _286()]);
16405
16413
  return ns ? `${ns}.${options.key}` : options.key;
16406
16414
  };
16407
16415
  return {
@@ -16488,7 +16496,7 @@ function getEmbedProxyAuth() {
16488
16496
  }
16489
16497
  function getPersistedProxyEmail() {
16490
16498
  const persisted = adapter.load();
16491
- return _nullishCoalesce(_optionalChain([persisted, 'optionalAccess', _283 => _283.email, 'access', _284 => _284.trim, 'call', _285 => _285(), 'access', _286 => _286.toLowerCase, 'call', _287 => _287()]), () => ( null));
16499
+ return _nullishCoalesce(_optionalChain([persisted, 'optionalAccess', _287 => _287.email, 'access', _288 => _288.trim, 'call', _289 => _289(), 'access', _290 => _290.toLowerCase, 'call', _291 => _291()]), () => ( null));
16492
16500
  }
16493
16501
  function setEmbedProxyAuth(value) {
16494
16502
  adapter.save({
@@ -16505,15 +16513,15 @@ function clearEmbedProxyAuth() {
16505
16513
  function applyProxyAuth(url, baseHeaders = { "Content-Type": "application/json" }) {
16506
16514
  const auth = getEmbedProxyAuth();
16507
16515
  const headers = { ...baseHeaders };
16508
- if (_optionalChain([auth, 'optionalAccess', _288 => _288.secret])) {
16516
+ if (_optionalChain([auth, 'optionalAccess', _292 => _292.secret])) {
16509
16517
  headers.Authorization = `Bearer ${auth.secret}`;
16510
16518
  }
16511
- if (_optionalChain([auth, 'optionalAccess', _289 => _289.email])) {
16519
+ if (_optionalChain([auth, 'optionalAccess', _293 => _293.email])) {
16512
16520
  headers["X-Chat-Act-As"] = auth.email;
16513
16521
  }
16514
- if (_optionalChain([auth, 'optionalAccess', _290 => _290.firstName])) headers["X-Chat-First-Name"] = auth.firstName;
16515
- if (_optionalChain([auth, 'optionalAccess', _291 => _291.lastName])) headers["X-Chat-Last-Name"] = auth.lastName;
16516
- if (_optionalChain([auth, 'optionalAccess', _292 => _292.avatarUrl])) headers["X-Chat-Avatar-Url"] = auth.avatarUrl;
16522
+ if (_optionalChain([auth, 'optionalAccess', _294 => _294.firstName])) headers["X-Chat-First-Name"] = auth.firstName;
16523
+ if (_optionalChain([auth, 'optionalAccess', _295 => _295.lastName])) headers["X-Chat-Last-Name"] = auth.lastName;
16524
+ if (_optionalChain([auth, 'optionalAccess', _296 => _296.avatarUrl])) headers["X-Chat-Avatar-Url"] = auth.avatarUrl;
16517
16525
  return { url, headers };
16518
16526
  }
16519
16527
 
@@ -16565,7 +16573,7 @@ function setInFlightRefresh(refresh) {
16565
16573
  }
16566
16574
  function dedupedRefresh() {
16567
16575
  const adapter2 = getRegisteredAuthAdapter();
16568
- if (!_optionalChain([adapter2, 'optionalAccess', _293 => _293.refresh])) return Promise.resolve(false);
16576
+ if (!_optionalChain([adapter2, 'optionalAccess', _297 => _297.refresh])) return Promise.resolve(false);
16569
16577
  let inFlightRefresh = getInFlightRefresh();
16570
16578
  if (!inFlightRefresh) {
16571
16579
  inFlightRefresh = Promise.resolve().then(() => adapter2.refresh()).catch(() => false).finally(() => {
@@ -16578,12 +16586,12 @@ function dedupedRefresh() {
16578
16586
  async function fetchWithRefresh(url, init, baseHeaders, isRetry) {
16579
16587
  const { url: authedUrl, headers } = applyProxyAuth(url, { ...baseHeaders });
16580
16588
  const adapter2 = getRegisteredAuthAdapter();
16581
- if (_optionalChain([adapter2, 'optionalAccess', _294 => _294.getHeaders])) {
16589
+ if (_optionalChain([adapter2, 'optionalAccess', _298 => _298.getHeaders])) {
16582
16590
  for (const [k, v] of Object.entries(adapter2.getHeaders())) {
16583
16591
  if (v !== void 0) headers[k] = v;
16584
16592
  }
16585
16593
  }
16586
- const credentials = _nullishCoalesce(_nullishCoalesce(_optionalChain([adapter2, 'optionalAccess', _295 => _295.credentials]), () => ( init.credentials)), () => ( "same-origin"));
16594
+ const credentials = _nullishCoalesce(_nullishCoalesce(_optionalChain([adapter2, 'optionalAccess', _299 => _299.credentials]), () => ( init.credentials)), () => ( "same-origin"));
16587
16595
  const response = await fetch(authedUrl, {
16588
16596
  ...init,
16589
16597
  headers,
@@ -16594,7 +16602,7 @@ async function fetchWithRefresh(url, init, baseHeaders, isRetry) {
16594
16602
  // `SameSite=None` must be configured server-side for that to work).
16595
16603
  credentials
16596
16604
  });
16597
- if (response.status === 401 && !isRetry && _optionalChain([adapter2, 'optionalAccess', _296 => _296.refresh])) {
16605
+ if (response.status === 401 && !isRetry && _optionalChain([adapter2, 'optionalAccess', _300 => _300.refresh])) {
16598
16606
  const refreshed = await dedupedRefresh();
16599
16607
  if (refreshed) {
16600
16608
  return fetchWithRefresh(url, init, baseHeaders, true);
@@ -16632,7 +16640,7 @@ function assertSameOrigin(url) {
16632
16640
 
16633
16641
  // src/utils/sse-decision-frame.ts
16634
16642
  async function readLeadingDecisionFrame(response) {
16635
- const reader = _optionalChain([response, 'access', _297 => _297.body, 'optionalAccess', _298 => _298.getReader, 'call', _299 => _299()]);
16643
+ const reader = _optionalChain([response, 'access', _301 => _301.body, 'optionalAccess', _302 => _302.getReader, 'call', _303 => _303()]);
16636
16644
  if (!reader) throw new Error("readLeadingDecisionFrame: response has no body");
16637
16645
  const decoder = new TextDecoder();
16638
16646
  let buffer = "";
@@ -16661,9 +16669,9 @@ async function readLeadingDecisionFrame(response) {
16661
16669
  );
16662
16670
  }
16663
16671
  const obj = parsed;
16664
- if (_optionalChain([obj, 'optionalAccess', _300 => _300.kind]) !== "decision_resolved") {
16672
+ if (_optionalChain([obj, 'optionalAccess', _304 => _304.kind]) !== "decision_resolved") {
16665
16673
  throw new Error(
16666
- `readLeadingDecisionFrame: expected decision_resolved, got kind=${String(_optionalChain([obj, 'optionalAccess', _301 => _301.kind]))}`
16674
+ `readLeadingDecisionFrame: expected decision_resolved, got kind=${String(_optionalChain([obj, 'optionalAccess', _305 => _305.kind]))}`
16667
16675
  );
16668
16676
  }
16669
16677
  frame = normalizeDecisionFrame(obj);
@@ -16704,7 +16712,7 @@ var AUTO_CONTINUATION_DIRECTIVE_PREFIX = "[internal-auto-continuation]";
16704
16712
  function buildAutoContinuationDirective(toolName, opts = {}) {
16705
16713
  const ticketRef = opts.ticketId ? ` (ticket #${opts.ticketId})` : "";
16706
16714
  const ticketHash = opts.ticketId ? ` #${opts.ticketId}` : "";
16707
- const isClose = toolName === "update_ticket" && _optionalChain([opts, 'access', _302 => _302.status, 'optionalAccess', _303 => _303.toUpperCase, 'call', _304 => _304()]) === "CLOSED";
16715
+ const isClose = toolName === "update_ticket" && _optionalChain([opts, 'access', _306 => _306.status, 'optionalAccess', _307 => _307.toUpperCase, 'call', _308 => _308()]) === "CLOSED";
16708
16716
  if (toolName === "create_ticket") {
16709
16717
  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.`;
16710
16718
  }
@@ -16766,7 +16774,7 @@ function formatSingularLookupInvocation(cmdId, value) {
16766
16774
  return safe ? `/${cmdId} "${safe}"` : `/${cmdId}`;
16767
16775
  }
16768
16776
  function extractEntityIdFilter(override, expectedTableId) {
16769
- const f = _optionalChain([override, 'optionalAccess', _305 => _305.entityIdFilter]);
16777
+ const f = _optionalChain([override, 'optionalAccess', _309 => _309.entityIdFilter]);
16770
16778
  if (!f) return null;
16771
16779
  const tableId = typeof f.tableId === "string" ? f.tableId : "";
16772
16780
  const id = typeof f.id === "string" ? f.id : "";
@@ -16841,7 +16849,7 @@ function getTaskTypeLabel(customItemId) {
16841
16849
 
16842
16850
  // src/components/chat/utils/agent-status-message.ts
16843
16851
  function getStatusColorScheme(status) {
16844
- const s = _optionalChain([status, 'optionalAccess', _306 => _306.toLowerCase, 'call', _307 => _307()]) || "";
16852
+ const s = _optionalChain([status, 'optionalAccess', _310 => _310.toLowerCase, 'call', _311 => _311()]) || "";
16845
16853
  switch (status) {
16846
16854
  case "completed":
16847
16855
  case "success":
@@ -17127,6 +17135,9 @@ function scrollElementIntoView(target, options = {}) {
17127
17135
 
17128
17136
  // src/utils/list-url.ts
17129
17137
  var ALIASES = { blog_post_existing: "blog_post" };
17138
+ function canonicalContentRefType(contentRefType) {
17139
+ return _nullishCoalesce(ALIASES[contentRefType], () => ( contentRefType));
17140
+ }
17130
17141
  var BUILDERS = {
17131
17142
  roadmap_item: (ids, b) => `${b}/api/roadmap?task_ids=${ids.join(",")}`,
17132
17143
  delivery_item: (ids, b) => `${b}/api/delivery?task_ids=${ids.join(",")}`,
@@ -17151,6 +17162,60 @@ function buildListUrl(contentRefType, ids, base = "") {
17151
17162
  return fn ? fn(ids, base) : null;
17152
17163
  }
17153
17164
 
17165
+ // src/utils/content-ref-groups.ts
17166
+ var CONTENT_REF_GROUPS = {
17167
+ investor_update: { label: "Investor Updates", order: 1, layout: "grid", gridSize: "default" },
17168
+ product_release: { label: "Product Releases", order: 2, layout: "list", gridSize: "lg" },
17169
+ podcast: { label: "Podcasts", order: 3, layout: "list", gridSize: "default" },
17170
+ webinar: { label: "Webinars", order: 4, layout: "list", gridSize: "default" },
17171
+ case_study: { label: "Case Studies", order: 5, layout: "grid", gridSize: "default" },
17172
+ event: { label: "Events", order: 6, layout: "list", gridSize: "default" },
17173
+ blog_post_existing: { label: "Blog Posts", order: 7, layout: "grid", gridSize: "default" },
17174
+ customer_interview: { label: "Customer Interviews", order: 8, layout: "grid", gridSize: "default" },
17175
+ onboarding_guide: { label: "Onboarding Guides", order: 9, layout: "list", gridSize: "default" }
17176
+ };
17177
+ function getContentRefLabel(type) {
17178
+ return _nullishCoalesce(_optionalChain([CONTENT_REF_GROUPS, 'access', _312 => _312[type], 'optionalAccess', _313 => _313.label]), () => ( null));
17179
+ }
17180
+ function getContentRefLabelOrTitleCase(type) {
17181
+ return _nullishCoalesce(_optionalChain([CONTENT_REF_GROUPS, 'access', _314 => _314[type], 'optionalAccess', _315 => _315.label]), () => ( type.replace(/_/g, " ").replace(/\b\w/g, (ch) => ch.toUpperCase())));
17182
+ }
17183
+ function orderContentRefTypes(present) {
17184
+ const presentSet = new Set(present);
17185
+ const registeredInOrder = Object.entries(CONTENT_REF_GROUPS).sort(([, a], [, b]) => a.order - b.order).map(([type]) => type).filter((type) => presentSet.has(type));
17186
+ const unregistered = [...presentSet].filter((type) => !CONTENT_REF_GROUPS[type]);
17187
+ return [...registeredInOrder, ...unregistered];
17188
+ }
17189
+
17190
+ // src/utils/extract-items.ts
17191
+ function extractItems(data) {
17192
+ if (!data || typeof data !== "object") return [];
17193
+ const obj = data;
17194
+ if (Array.isArray(obj.items)) return obj.items;
17195
+ if (Array.isArray(obj.posts)) return obj.posts;
17196
+ if (Array.isArray(obj.campaigns)) return obj.campaigns;
17197
+ if (Array.isArray(obj.completed) || Array.isArray(obj.inProgress)) {
17198
+ const completed = Array.isArray(obj.completed) ? obj.completed : [];
17199
+ const inProgress = Array.isArray(obj.inProgress) ? obj.inProgress : [];
17200
+ return [...completed, ...inProgress];
17201
+ }
17202
+ if (Array.isArray(obj.data)) return obj.data;
17203
+ if (Array.isArray(data)) return data;
17204
+ return [];
17205
+ }
17206
+ function extractItemId(type, item) {
17207
+ if (!item || typeof item !== "object") return null;
17208
+ const obj = item;
17209
+ if (type === "roadmap_item" || type === "delivery_item" || type === "internal_task") {
17210
+ const ext = obj.external_id;
17211
+ if (typeof ext === "string") return ext;
17212
+ }
17213
+ const id = obj.id;
17214
+ if (typeof id === "string") return id;
17215
+ if (typeof id === "number") return String(id);
17216
+ return null;
17217
+ }
17218
+
17154
17219
  // src/utils/content-href.ts
17155
17220
  var DEFAULT_CONTENT_SUFFIXES = {
17156
17221
  onboarding_guide: "onboarding-guides",
@@ -17827,26 +17892,26 @@ function DeviceCard({
17827
17892
  ] }),
17828
17893
  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 })
17829
17894
  ] }),
17830
- _optionalChain([actions, 'access', _308 => _308.moreButton, 'optionalAccess', _309 => _309.visible]) !== false && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
17895
+ _optionalChain([actions, 'access', _316 => _316.moreButton, 'optionalAccess', _317 => _317.visible]) !== false && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
17831
17896
  "div",
17832
17897
  {
17833
17898
  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",
17834
17899
  onClick: (e) => {
17835
17900
  e.stopPropagation();
17836
- _optionalChain([actions, 'access', _310 => _310.moreButton, 'optionalAccess', _311 => _311.onClick, 'optionalCall', _312 => _312()]);
17901
+ _optionalChain([actions, 'access', _318 => _318.moreButton, 'optionalAccess', _319 => _319.onClick, 'optionalCall', _320 => _320()]);
17837
17902
  },
17838
17903
  children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkC6ASEPZLcjs.Ellipsis01Icon, { className: "text-ods-text-primary" })
17839
17904
  }
17840
17905
  ),
17841
- _optionalChain([actions, 'access', _313 => _313.detailsButton, 'optionalAccess', _314 => _314.visible]) !== false && _optionalChain([actions, 'access', _315 => _315.detailsButton, 'optionalAccess', _316 => _316.component]) && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "shrink-0", onClick: (e) => e.stopPropagation(), children: actions.detailsButton.component }),
17842
- _optionalChain([actions, 'access', _317 => _317.customActions, 'optionalAccess', _318 => _318.map, 'call', _319 => _319(
17906
+ _optionalChain([actions, 'access', _321 => _321.detailsButton, 'optionalAccess', _322 => _322.visible]) !== false && _optionalChain([actions, 'access', _323 => _323.detailsButton, 'optionalAccess', _324 => _324.component]) && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "shrink-0", onClick: (e) => e.stopPropagation(), children: actions.detailsButton.component }),
17907
+ _optionalChain([actions, 'access', _325 => _325.customActions, 'optionalAccess', _326 => _326.map, 'call', _327 => _327(
17843
17908
  (action, index) => action.visible !== false && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
17844
17909
  "div",
17845
17910
  {
17846
17911
  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",
17847
17912
  onClick: (e) => {
17848
17913
  e.stopPropagation();
17849
- _optionalChain([action, 'access', _320 => _320.onClick, 'optionalCall', _321 => _321()]);
17914
+ _optionalChain([action, 'access', _328 => _328.onClick, 'optionalCall', _329 => _329()]);
17850
17915
  },
17851
17916
  children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "text-h3 text-ods-text-primary text-nowrap tracking-[-0.36px]", children: action.label })
17852
17917
  },
@@ -18346,7 +18411,7 @@ function MoreActionsMenu({
18346
18411
  ] });
18347
18412
  const handleActivate = (e) => {
18348
18413
  e.stopPropagation();
18349
- if (!item.disabled) _optionalChain([item, 'access', _322 => _322.onClick, 'optionalCall', _323 => _323()]);
18414
+ if (!item.disabled) _optionalChain([item, 'access', _330 => _330.onClick, 'optionalCall', _331 => _331()]);
18350
18415
  };
18351
18416
  if (item.href) {
18352
18417
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
@@ -18413,7 +18478,7 @@ function OrganizationCard({
18413
18478
  const handleActionClick = (e) => {
18414
18479
  e.preventDefault();
18415
18480
  e.stopPropagation();
18416
- _optionalChain([actionButton, 'optionalAccess', _324 => _324.onClick, 'call', _325 => _325(organization, e)]);
18481
+ _optionalChain([actionButton, 'optionalAccess', _332 => _332.onClick, 'call', _333 => _333(organization, e)]);
18417
18482
  };
18418
18483
  const card = /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
18419
18484
  "div",
@@ -19318,10 +19383,10 @@ var getContentDimensions = (config) => {
19318
19383
  const envMobileHeight = process.env.NEXT_PUBLIC_FIGMA_MOBILE_HEIGHT ? parseInt(process.env.NEXT_PUBLIC_FIGMA_MOBILE_HEIGHT) : null;
19319
19384
  const envDesktopWidth = process.env.NEXT_PUBLIC_FIGMA_DESKTOP_WIDTH ? parseInt(process.env.NEXT_PUBLIC_FIGMA_DESKTOP_WIDTH) : null;
19320
19385
  const envDesktopHeight = process.env.NEXT_PUBLIC_FIGMA_DESKTOP_HEIGHT ? parseInt(process.env.NEXT_PUBLIC_FIGMA_DESKTOP_HEIGHT) : null;
19321
- const mobileWidth = _nullishCoalesce(_nullishCoalesce(envMobileWidth, () => ( _optionalChain([config, 'optionalAccess', _326 => _326.mobileContentDimensions, 'optionalAccess', _327 => _327.width]))), () => ( defaultMobile.width));
19322
- const mobileHeight = _nullishCoalesce(_nullishCoalesce(envMobileHeight, () => ( _optionalChain([config, 'optionalAccess', _328 => _328.mobileContentDimensions, 'optionalAccess', _329 => _329.height]))), () => ( defaultMobile.height));
19323
- const desktopWidth = _nullishCoalesce(_nullishCoalesce(envDesktopWidth, () => ( _optionalChain([config, 'optionalAccess', _330 => _330.desktopContentDimensions, 'optionalAccess', _331 => _331.width]))), () => ( defaultDesktop.width));
19324
- const desktopHeight = _nullishCoalesce(_nullishCoalesce(envDesktopHeight, () => ( _optionalChain([config, 'optionalAccess', _332 => _332.desktopContentDimensions, 'optionalAccess', _333 => _333.height]))), () => ( defaultDesktop.height));
19386
+ const mobileWidth = _nullishCoalesce(_nullishCoalesce(envMobileWidth, () => ( _optionalChain([config, 'optionalAccess', _334 => _334.mobileContentDimensions, 'optionalAccess', _335 => _335.width]))), () => ( defaultMobile.width));
19387
+ const mobileHeight = _nullishCoalesce(_nullishCoalesce(envMobileHeight, () => ( _optionalChain([config, 'optionalAccess', _336 => _336.mobileContentDimensions, 'optionalAccess', _337 => _337.height]))), () => ( defaultMobile.height));
19388
+ const desktopWidth = _nullishCoalesce(_nullishCoalesce(envDesktopWidth, () => ( _optionalChain([config, 'optionalAccess', _338 => _338.desktopContentDimensions, 'optionalAccess', _339 => _339.width]))), () => ( defaultDesktop.width));
19389
+ const desktopHeight = _nullishCoalesce(_nullishCoalesce(envDesktopHeight, () => ( _optionalChain([config, 'optionalAccess', _340 => _340.desktopContentDimensions, 'optionalAccess', _341 => _341.height]))), () => ( defaultDesktop.height));
19325
19390
  return {
19326
19391
  mobile: { width: mobileWidth, height: mobileHeight },
19327
19392
  desktop: { width: desktopWidth, height: desktopHeight }
@@ -19455,7 +19520,7 @@ function renderUnifiedUI(state, handlers, config, iframeRef) {
19455
19520
  const contentDimensions = getContentDimensions(config);
19456
19521
  const mobileHeight = contentDimensions.mobile.height;
19457
19522
  const calculatedHeight = Math.max(mobileHeight + 100, 400);
19458
- return `${Math.min(calculatedHeight, _optionalChain([window, 'optionalAccess', _334 => _334.innerHeight]) * 0.85 || 650)}px`;
19523
+ return `${Math.min(calculatedHeight, _optionalChain([window, 'optionalAccess', _342 => _342.innerHeight]) * 0.85 || 650)}px`;
19459
19524
  })(),
19460
19525
  minHeight: viewMode === "DESKTOP" ? "auto" : (() => {
19461
19526
  const contentDimensions = getContentDimensions(config);
@@ -19560,7 +19625,7 @@ var FigmaPrototypeViewer = ({
19560
19625
  const [isInitialized, setIsInitialized] = _react.useState.call(void 0, false);
19561
19626
  const [currentNodeId, setCurrentNodeId] = _react.useState.call(void 0, null);
19562
19627
  const [internalActiveSection, setInternalActiveSection] = _react.useState.call(void 0,
19563
- config.defaultSectionId || _optionalChain([config, 'access', _335 => _335.sections, 'access', _336 => _336[0], 'optionalAccess', _337 => _337.id]) || ""
19628
+ config.defaultSectionId || _optionalChain([config, 'access', _343 => _343.sections, 'access', _344 => _344[0], 'optionalAccess', _345 => _345.id]) || ""
19564
19629
  );
19565
19630
  const activeSection = externalActiveSection || internalActiveSection;
19566
19631
  const [isNavigating, setIsNavigating] = _react.useState.call(void 0, false);
@@ -19650,7 +19715,7 @@ var FigmaPrototypeViewer = ({
19650
19715
  const handleMessage = (event) => {
19651
19716
  if (event.origin !== "https://www.figma.com") return;
19652
19717
  const validEvents = ["INITIAL_LOAD", "NEW_STATE", "PRESENTED_NODE_CHANGED"];
19653
- if (_optionalChain([event, 'access', _338 => _338.data, 'optionalAccess', _339 => _339.type]) && validEvents.includes(event.data.type)) {
19718
+ if (_optionalChain([event, 'access', _346 => _346.data, 'optionalAccess', _347 => _347.type]) && validEvents.includes(event.data.type)) {
19654
19719
  const figmaEvent = event.data;
19655
19720
  console.log("[Figma Event]", figmaEvent.type, viewMode);
19656
19721
  switch (figmaEvent.type) {
@@ -19660,19 +19725,19 @@ var FigmaPrototypeViewer = ({
19660
19725
  setIframeState("READY");
19661
19726
  break;
19662
19727
  case "PRESENTED_NODE_CHANGED":
19663
- if (_optionalChain([figmaEvent, 'access', _340 => _340.data, 'optionalAccess', _341 => _341.presentedNodeId])) {
19728
+ if (_optionalChain([figmaEvent, 'access', _348 => _348.data, 'optionalAccess', _349 => _349.presentedNodeId])) {
19664
19729
  setCurrentNodeId(figmaEvent.data.presentedNodeId);
19665
19730
  if (!isNavigating) {
19666
19731
  const matchingSection = config.sections.find((s) => {
19667
- const desktopMatch = s.startingNodeId === _optionalChain([figmaEvent, 'access', _342 => _342.data, 'optionalAccess', _343 => _343.presentedNodeId]) || s.startingNodeId.replace(":", "-") === _optionalChain([figmaEvent, 'access', _344 => _344.data, 'optionalAccess', _345 => _345.presentedNodeId]);
19668
- const mobileMatch = s.mobileStartingNodeId === _optionalChain([figmaEvent, 'access', _346 => _346.data, 'optionalAccess', _347 => _347.presentedNodeId]) || _optionalChain([s, 'access', _348 => _348.mobileStartingNodeId, 'optionalAccess', _349 => _349.replace, 'call', _350 => _350(":", "-")]) === _optionalChain([figmaEvent, 'access', _351 => _351.data, 'optionalAccess', _352 => _352.presentedNodeId]);
19732
+ const desktopMatch = s.startingNodeId === _optionalChain([figmaEvent, 'access', _350 => _350.data, 'optionalAccess', _351 => _351.presentedNodeId]) || s.startingNodeId.replace(":", "-") === _optionalChain([figmaEvent, 'access', _352 => _352.data, 'optionalAccess', _353 => _353.presentedNodeId]);
19733
+ const mobileMatch = s.mobileStartingNodeId === _optionalChain([figmaEvent, 'access', _354 => _354.data, 'optionalAccess', _355 => _355.presentedNodeId]) || _optionalChain([s, 'access', _356 => _356.mobileStartingNodeId, 'optionalAccess', _357 => _357.replace, 'call', _358 => _358(":", "-")]) === _optionalChain([figmaEvent, 'access', _359 => _359.data, 'optionalAccess', _360 => _360.presentedNodeId]);
19669
19734
  return desktopMatch || mobileMatch;
19670
19735
  });
19671
19736
  if (matchingSection && matchingSection.id !== activeSection) {
19672
19737
  if (!externalActiveSection) {
19673
19738
  setInternalActiveSection(matchingSection.id);
19674
19739
  }
19675
- _optionalChain([config, 'access', _353 => _353.onSectionChange, 'optionalCall', _354 => _354(matchingSection.id)]);
19740
+ _optionalChain([config, 'access', _361 => _361.onSectionChange, 'optionalCall', _362 => _362(matchingSection.id)]);
19676
19741
  }
19677
19742
  }
19678
19743
  }
@@ -19685,7 +19750,7 @@ var FigmaPrototypeViewer = ({
19685
19750
  }, [config.sections, activeSection, isNavigating, externalActiveSection, config.onSectionChange, viewMode]);
19686
19751
  const navigateToSection = _react.useCallback.call(void 0, (sectionId) => {
19687
19752
  const section = config.sections.find((s) => s.id === sectionId);
19688
- if (!section || !_optionalChain([iframeRef, 'access', _355 => _355.current, 'optionalAccess', _356 => _356.contentWindow]) || !isInitialized) {
19753
+ if (!section || !_optionalChain([iframeRef, 'access', _363 => _363.current, 'optionalAccess', _364 => _364.contentWindow]) || !isInitialized) {
19689
19754
  return;
19690
19755
  }
19691
19756
  setIsNavigating(true);
@@ -19693,7 +19758,7 @@ var FigmaPrototypeViewer = ({
19693
19758
  if (!externalActiveSection) {
19694
19759
  setInternalActiveSection(sectionId);
19695
19760
  }
19696
- _optionalChain([config, 'access', _357 => _357.onSectionChange, 'optionalCall', _358 => _358(sectionId)]);
19761
+ _optionalChain([config, 'access', _365 => _365.onSectionChange, 'optionalCall', _366 => _366(sectionId)]);
19697
19762
  const command = {
19698
19763
  type: "NAVIGATE_TO_FRAME_AND_CLOSE_OVERLAYS",
19699
19764
  data: { nodeId }
@@ -20013,7 +20078,7 @@ var FiltersDropdown = ({
20013
20078
  defaults[section.id] = section.defaultSelected || [];
20014
20079
  });
20015
20080
  setSelectedFilters(defaults);
20016
- _optionalChain([onReset, 'optionalCall', _359 => _359()]);
20081
+ _optionalChain([onReset, 'optionalCall', _367 => _367()]);
20017
20082
  setIsOpen(false);
20018
20083
  };
20019
20084
  const handleApply = () => {
@@ -20306,7 +20371,7 @@ function MediaGalleryManager({
20306
20371
  const [deletingIndex, setDeletingIndex] = _react.useState.call(void 0, null);
20307
20372
  const [draggedIndex, setDraggedIndex] = _react.useState.call(void 0, null);
20308
20373
  const handleFileSelect = _react.useCallback.call(void 0, async (event) => {
20309
- const file = _optionalChain([event, 'access', _360 => _360.target, 'access', _361 => _361.files, 'optionalAccess', _362 => _362[0]]);
20374
+ const file = _optionalChain([event, 'access', _368 => _368.target, 'access', _369 => _369.files, 'optionalAccess', _370 => _370[0]]);
20310
20375
  if (!file) return;
20311
20376
  let mediaType;
20312
20377
  if (file.type.startsWith("image/")) {
@@ -20421,7 +20486,7 @@ function MediaGalleryManager({
20421
20486
  {
20422
20487
  type: "button",
20423
20488
  variant: "outline",
20424
- onClick: () => _optionalChain([fileInputRef, 'access', _363 => _363.current, 'optionalAccess', _364 => _364.click, 'call', _365 => _365()]),
20489
+ onClick: () => _optionalChain([fileInputRef, 'access', _371 => _371.current, 'optionalAccess', _372 => _372.click, 'call', _373 => _373()]),
20425
20490
  disabled: isUploading,
20426
20491
  leftIcon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _lucidereact.Plus, { className: "h-4 w-4" }),
20427
20492
  className: "font-['DM_Sans'] text-[16px] font-bold",
@@ -21072,7 +21137,7 @@ function ReleaseMediaManager({
21072
21137
  const fileInputRef = _react.useRef.call(void 0, null);
21073
21138
  const [uploadingIndex, setUploadingIndex] = _react.useState.call(void 0, null);
21074
21139
  const handleFileSelect = async (event) => {
21075
- const file = _optionalChain([event, 'access', _366 => _366.target, 'access', _367 => _367.files, 'optionalAccess', _368 => _368[0]]);
21140
+ const file = _optionalChain([event, 'access', _374 => _374.target, 'access', _375 => _375.files, 'optionalAccess', _376 => _376[0]]);
21076
21141
  if (!file) return;
21077
21142
  let mediaType;
21078
21143
  if (file.type.startsWith("image/")) {
@@ -21152,7 +21217,7 @@ function ReleaseMediaManager({
21152
21217
  {
21153
21218
  type: "button",
21154
21219
  variant: "outline",
21155
- onClick: () => _optionalChain([fileInputRef, 'access', _369 => _369.current, 'optionalAccess', _370 => _370.click, 'call', _371 => _371()]),
21220
+ onClick: () => _optionalChain([fileInputRef, 'access', _377 => _377.current, 'optionalAccess', _378 => _378.click, 'call', _379 => _379()]),
21156
21221
  disabled: uploadingIndex !== null,
21157
21222
  leftIcon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _lucidereact.Plus, { className: "h-4 w-4" }),
21158
21223
  className: "font-['DM_Sans'] text-[16px] font-bold",
@@ -21365,7 +21430,7 @@ function SEOEditorPreview({
21365
21430
  const displayImage = hasOgImage || hasFeaturedImage;
21366
21431
  const handleImageUpload = async (event) => {
21367
21432
  if (!onOgImageUpload) return;
21368
- const file = _optionalChain([event, 'access', _372 => _372.target, 'access', _373 => _373.files, 'optionalAccess', _374 => _374[0]]);
21433
+ const file = _optionalChain([event, 'access', _380 => _380.target, 'access', _381 => _381.files, 'optionalAccess', _382 => _382[0]]);
21369
21434
  if (!file) return;
21370
21435
  setIsUploading(true);
21371
21436
  try {
@@ -21496,7 +21561,7 @@ function SEOEditorPreview({
21496
21561
  type: "button",
21497
21562
  variant: "outline",
21498
21563
  size: "icon",
21499
- onClick: () => _optionalChain([fileInputRef, 'optionalAccess', _375 => _375.click, 'call', _376 => _376()]),
21564
+ onClick: () => _optionalChain([fileInputRef, 'optionalAccess', _383 => _383.click, 'call', _384 => _384()]),
21500
21565
  disabled: disabled || isUploading,
21501
21566
  className: "bg-white text-black hover:bg-gray-100 rounded-full opacity-0 group-hover:opacity-100",
21502
21567
  children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _lucidereact.Upload, { className: "h-4 w-4" })
@@ -21519,7 +21584,7 @@ function SEOEditorPreview({
21519
21584
  "div",
21520
21585
  {
21521
21586
  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",
21522
- onClick: () => onOgImageUpload && _optionalChain([fileInputRef, 'optionalAccess', _377 => _377.click, 'call', _378 => _378()]),
21587
+ onClick: () => onOgImageUpload && _optionalChain([fileInputRef, 'optionalAccess', _385 => _385.click, 'call', _386 => _386()]),
21523
21588
  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: [
21524
21589
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _lucidereact.Upload, { className: "h-8 w-8 text-ods-text-secondary mb-2" }),
21525
21590
  /* @__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" })
@@ -21604,7 +21669,7 @@ function SocialLinksManager({
21604
21669
  className = ""
21605
21670
  }) {
21606
21671
  const addLink = () => {
21607
- const firstPlatform = _optionalChain([platforms, 'access', _379 => _379[0], 'optionalAccess', _380 => _380.name]) || "website";
21672
+ const firstPlatform = _optionalChain([platforms, 'access', _387 => _387[0], 'optionalAccess', _388 => _388.name]) || "website";
21608
21673
  onChange([...links, { platform: firstPlatform, url: "" }]);
21609
21674
  };
21610
21675
  const removeLink = (index) => {
@@ -21616,7 +21681,7 @@ function SocialLinksManager({
21616
21681
  onChange(updated);
21617
21682
  };
21618
21683
  const getIcon = (link, platform) => {
21619
- const iconKey = _optionalChain([platform, 'optionalAccess', _381 => _381.icon_name]) || link.platform;
21684
+ const iconKey = _optionalChain([platform, 'optionalAccess', _389 => _389.icon_name]) || link.platform;
21620
21685
  const IconComponent = iconMap[iconKey];
21621
21686
  return IconComponent ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, IconComponent, { className: "w-5 h-5 text-ods-text-secondary" }) : null;
21622
21687
  };
@@ -21641,7 +21706,7 @@ function SocialLinksManager({
21641
21706
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
21642
21707
  _chunkGRTZ23GLcjs.Input,
21643
21708
  {
21644
- placeholder: _optionalChain([platform, 'optionalAccess', _382 => _382.placeholder]) || "Profile URL",
21709
+ placeholder: _optionalChain([platform, 'optionalAccess', _390 => _390.placeholder]) || "Profile URL",
21645
21710
  value: link.url,
21646
21711
  onChange: (e) => updateLink(index, "url", e.target.value),
21647
21712
  onKeyDown: (e) => {
@@ -21993,7 +22058,7 @@ function useVideoOriginPreconnect({
21993
22058
  supabaseStorageOrigin
21994
22059
  } = {}) {
21995
22060
  const runtime = _chunkMEAR2WHScjs.useChatRuntime.call(void 0, );
21996
- const resolvedOrigin = _nullishCoalesce(supabaseStorageOrigin, () => ( _optionalChain([runtime, 'optionalAccess', _383 => _383.endpoints, 'access', _384 => _384.supabaseStorageOrigin])));
22061
+ const resolvedOrigin = _nullishCoalesce(supabaseStorageOrigin, () => ( _optionalChain([runtime, 'optionalAccess', _391 => _391.endpoints, 'access', _392 => _392.supabaseStorageOrigin])));
21997
22062
  try {
21998
22063
  ReactDOM2.default.preconnect(MUX_STREAM_ORIGIN, { crossOrigin: "anonymous" });
21999
22064
  ReactDOM2.default.preconnect(MUX_IMAGE_ORIGIN, { crossOrigin: "anonymous" });
@@ -22012,13 +22077,13 @@ function useVideoWarmup({
22012
22077
  nearMargin = "1000px"
22013
22078
  } = {}) {
22014
22079
  const runtime = _chunkMEAR2WHScjs.useChatRuntime.call(void 0, );
22015
- const resolvedOrigin = _nullishCoalesce(supabaseStorageOrigin, () => ( _optionalChain([runtime, 'optionalAccess', _385 => _385.endpoints, 'access', _386 => _386.supabaseStorageOrigin])));
22080
+ const resolvedOrigin = _nullishCoalesce(supabaseStorageOrigin, () => ( _optionalChain([runtime, 'optionalAccess', _393 => _393.endpoints, 'access', _394 => _394.supabaseStorageOrigin])));
22016
22081
  useVideoOriginPreconnect({ supabaseStorageOrigin: resolvedOrigin });
22017
22082
  const { ref, isNear } = _chunk27VVOBDBcjs.useNearViewport.call(void 0, nearMargin);
22018
22083
  _react.useEffect.call(void 0, () => {
22019
22084
  if (!isNear || !videoUrl || !resolvedOrigin) return;
22020
22085
  const conn = navigator.connection;
22021
- if (_optionalChain([conn, 'optionalAccess', _387 => _387.saveData]) === true) return;
22086
+ if (_optionalChain([conn, 'optionalAccess', _395 => _395.saveData]) === true) return;
22022
22087
  let videoOrigin;
22023
22088
  try {
22024
22089
  videoOrigin = new URL(videoUrl, "http://placeholder.local").origin;
@@ -22087,7 +22152,7 @@ function VideoSourceSelector({
22087
22152
  input.accept = "video/*";
22088
22153
  input.onchange = async (e) => {
22089
22154
  const target = e.target;
22090
- const file = _optionalChain([target, 'access', _388 => _388.files, 'optionalAccess', _389 => _389[0]]);
22155
+ const file = _optionalChain([target, 'access', _396 => _396.files, 'optionalAccess', _397 => _397[0]]);
22091
22156
  if (!file) return;
22092
22157
  setIsUploading(true);
22093
22158
  setUploadProgress(0);
@@ -22417,7 +22482,7 @@ function TranscriptSummaryEditor({
22417
22482
  {
22418
22483
  id: "subtitles",
22419
22484
  value: subtitles || "",
22420
- onChange: (e) => _optionalChain([onSubtitlesChange, 'optionalCall', _390 => _390(e.target.value)]),
22485
+ onChange: (e) => _optionalChain([onSubtitlesChange, 'optionalCall', _398 => _398(e.target.value)]),
22421
22486
  placeholder: subtitlesPlaceholder,
22422
22487
  disabled: disabled || !onSubtitlesChange,
22423
22488
  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",
@@ -22570,7 +22635,7 @@ var AIEnrichSection = ({
22570
22635
  }) => {
22571
22636
  const hasResults = status === "success" || status === "error";
22572
22637
  const shouldDisable = disabled || !canEnrich;
22573
- const unfilledFields = _optionalChain([requiredFields, 'optionalAccess', _391 => _391.filter, 'call', _392 => _392((f) => !f.isFilled)]) || [];
22638
+ const unfilledFields = _optionalChain([requiredFields, 'optionalAccess', _399 => _399.filter, 'call', _400 => _400((f) => !f.isFilled)]) || [];
22574
22639
  return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
22575
22640
  "div",
22576
22641
  {
@@ -22608,7 +22673,7 @@ var AIEnrichSection = ({
22608
22673
  {
22609
22674
  id: "ai-enrich-custom-instructions",
22610
22675
  value: _nullishCoalesce(customInstructions, () => ( "")),
22611
- onChange: (e) => _optionalChain([onCustomInstructionsChange, 'optionalCall', _393 => _393(e.target.value)]),
22676
+ onChange: (e) => _optionalChain([onCustomInstructionsChange, 'optionalCall', _401 => _401(e.target.value)]),
22612
22677
  placeholder: customInstructionsPlaceholder,
22613
22678
  disabled: loading,
22614
22679
  maxLength: customInstructionsMaxLength,
@@ -22737,7 +22802,7 @@ function HighlightVideoSection({
22737
22802
  input.accept = "video/*";
22738
22803
  input.onchange = async (e) => {
22739
22804
  const target = e.target;
22740
- const file = _optionalChain([target, 'access', _394 => _394.files, 'optionalAccess', _395 => _395[0]]);
22805
+ const file = _optionalChain([target, 'access', _402 => _402.files, 'optionalAccess', _403 => _403[0]]);
22741
22806
  if (!file) return;
22742
22807
  setUploadError(null);
22743
22808
  try {
@@ -23239,7 +23304,7 @@ function HighlightVideoPreview({
23239
23304
  input.accept = "video/*";
23240
23305
  input.onchange = async (e) => {
23241
23306
  const target = e.target;
23242
- const file = _optionalChain([target, 'access', _396 => _396.files, 'optionalAccess', _397 => _397[0]]);
23307
+ const file = _optionalChain([target, 'access', _404 => _404.files, 'optionalAccess', _405 => _405[0]]);
23243
23308
  if (!file) return;
23244
23309
  await onUpload(file);
23245
23310
  };
@@ -23426,7 +23491,7 @@ function HighlightVideoCombinedSection({
23426
23491
  input.accept = "video/*";
23427
23492
  input.onchange = async (e) => {
23428
23493
  const target = e.target;
23429
- const file = _optionalChain([target, 'access', _398 => _398.files, 'optionalAccess', _399 => _399[0]]);
23494
+ const file = _optionalChain([target, 'access', _406 => _406.files, 'optionalAccess', _407 => _407[0]]);
23430
23495
  if (!file) return;
23431
23496
  await onUpload(file);
23432
23497
  };
@@ -23723,7 +23788,7 @@ var getApprovalLevelLabel = (level, editMode = false) => {
23723
23788
  return editMode ? "Set Global Permission" : "";
23724
23789
  }
23725
23790
  const option = approvalLevelOptions.find((opt) => opt.value === level);
23726
- return _optionalChain([option, 'optionalAccess', _400 => _400.label]) || level;
23791
+ return _optionalChain([option, 'optionalAccess', _408 => _408.label]) || level;
23727
23792
  };
23728
23793
  var PolicyRow = ({ policy, categoryId, editMode, onPermissionChange }) => {
23729
23794
  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: [
@@ -23837,7 +23902,6 @@ var CategorySection = ({
23837
23902
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
23838
23903
  _chunkGRTZ23GLcjs.Button,
23839
23904
  {
23840
- type: "button",
23841
23905
  variant: "transparent",
23842
23906
  onClick: (e) => {
23843
23907
  e.stopPropagation();
@@ -23937,12 +24001,12 @@ function PhoneInput({
23937
24001
  const runValidation = _react.useCallback.call(void 0, (phone) => {
23938
24002
  if (!phone || digitCount(phone) === 0) {
23939
24003
  setIsInvalid(false);
23940
- _optionalChain([onValidationChange, 'optionalCall', _401 => _401(false)]);
24004
+ _optionalChain([onValidationChange, 'optionalCall', _409 => _409(false)]);
23941
24005
  return;
23942
24006
  }
23943
24007
  const invalid = !validatePhoneNumber(phone, countryCode);
23944
24008
  setIsInvalid(invalid);
23945
- _optionalChain([onValidationChange, 'optionalCall', _402 => _402(invalid)]);
24009
+ _optionalChain([onValidationChange, 'optionalCall', _410 => _410(invalid)]);
23946
24010
  }, [countryCode, digitCount, onValidationChange]);
23947
24011
  const debouncedValidation = _react.useCallback.call(void 0, (phone) => {
23948
24012
  if (debounceRef.current) clearTimeout(debounceRef.current);
@@ -23991,7 +24055,7 @@ function PhoneInput({
23991
24055
  debouncedValidation(val);
23992
24056
  } else if (digitCount(val) === 0) {
23993
24057
  setIsInvalid(false);
23994
- _optionalChain([onValidationChange, 'optionalCall', _403 => _403(false)]);
24058
+ _optionalChain([onValidationChange, 'optionalCall', _411 => _411(false)]);
23995
24059
  }
23996
24060
  }
23997
24061
  },
@@ -24327,19 +24391,19 @@ function NotificationsProvider({
24327
24391
  }, []);
24328
24392
  const markRead = React81.useCallback((id) => {
24329
24393
  dispatch({ type: "markRead", id });
24330
- void _optionalChain([actionsRef, 'access', _404 => _404.current, 'optionalAccess', _405 => _405.onMarkRead, 'optionalCall', _406 => _406(id)]);
24394
+ void _optionalChain([actionsRef, 'access', _412 => _412.current, 'optionalAccess', _413 => _413.onMarkRead, 'optionalCall', _414 => _414(id)]);
24331
24395
  }, []);
24332
24396
  const markAllRead = React81.useCallback(() => {
24333
24397
  dispatch({ type: "markAllRead" });
24334
- void _optionalChain([actionsRef, 'access', _407 => _407.current, 'optionalAccess', _408 => _408.onMarkAllRead, 'optionalCall', _409 => _409()]);
24398
+ void _optionalChain([actionsRef, 'access', _415 => _415.current, 'optionalAccess', _416 => _416.onMarkAllRead, 'optionalCall', _417 => _417()]);
24335
24399
  }, []);
24336
24400
  const markSettled = React81.useCallback((id) => {
24337
24401
  dispatch({ type: "markSettled", id });
24338
- void _optionalChain([actionsRef, 'access', _410 => _410.current, 'optionalAccess', _411 => _411.onMarkSettled, 'optionalCall', _412 => _412(id)]);
24402
+ void _optionalChain([actionsRef, 'access', _418 => _418.current, 'optionalAccess', _419 => _419.onMarkSettled, 'optionalCall', _420 => _420(id)]);
24339
24403
  }, []);
24340
24404
  const remove = React81.useCallback((id) => {
24341
24405
  dispatch({ type: "remove", id });
24342
- void _optionalChain([actionsRef, 'access', _413 => _413.current, 'optionalAccess', _414 => _414.onRemove, 'optionalCall', _415 => _415(id)]);
24406
+ void _optionalChain([actionsRef, 'access', _421 => _421.current, 'optionalAccess', _422 => _422.onRemove, 'optionalCall', _423 => _423(id)]);
24343
24407
  }, []);
24344
24408
  const clear = React81.useCallback(() => dispatch({ type: "clear" }), []);
24345
24409
  const open = React81.useCallback(() => setIsOpen(true), []);
@@ -24348,7 +24412,7 @@ function NotificationsProvider({
24348
24412
  const setShowPopups = React81.useCallback(
24349
24413
  (value2) => {
24350
24414
  setShowPopupsState(value2);
24351
- _optionalChain([onShowPopupsChange, 'optionalCall', _416 => _416(value2)]);
24415
+ _optionalChain([onShowPopupsChange, 'optionalCall', _424 => _424(value2)]);
24352
24416
  },
24353
24417
  [onShowPopupsChange]
24354
24418
  );
@@ -24445,7 +24509,7 @@ function NotificationTile({
24445
24509
  if (!counting) return;
24446
24510
  const remaining = Math.max(0, liveDurationMs - initialElapsed);
24447
24511
  const timer = window.setTimeout(() => {
24448
- _optionalChain([onSettle, 'optionalCall', _417 => _417(id)]);
24512
+ _optionalChain([onSettle, 'optionalCall', _425 => _425(id)]);
24449
24513
  }, remaining);
24450
24514
  return () => window.clearTimeout(timer);
24451
24515
  }, [id, counting, initialElapsed, liveDurationMs, onSettle]);
@@ -24507,7 +24571,7 @@ function NotificationTile({
24507
24571
  "button",
24508
24572
  {
24509
24573
  type: "button",
24510
- onClick: () => _optionalChain([onSettle, 'optionalCall', _418 => _418(id)]),
24574
+ onClick: () => _optionalChain([onSettle, 'optionalCall', _426 => _426(id)]),
24511
24575
  "aria-label": "Dismiss notification",
24512
24576
  tabIndex: isLive ? 0 : -1,
24513
24577
  className: _chunkFIG2RKZFcjs.cn.call(void 0,
@@ -24626,7 +24690,7 @@ function DrawerScrollList({
24626
24690
  if (!sentinel || !root) return;
24627
24691
  const observer = new IntersectionObserver(
24628
24692
  (entries) => {
24629
- if (_optionalChain([entries, 'access', _419 => _419[0], 'optionalAccess', _420 => _420.isIntersecting])) _optionalChain([loadMoreRef, 'access', _421 => _421.current, 'optionalCall', _422 => _422()]);
24693
+ if (_optionalChain([entries, 'access', _427 => _427[0], 'optionalAccess', _428 => _428.isIntersecting])) _optionalChain([loadMoreRef, 'access', _429 => _429.current, 'optionalCall', _430 => _430()]);
24630
24694
  },
24631
24695
  { root, rootMargin: loadMoreRootMargin }
24632
24696
  );
@@ -24641,7 +24705,7 @@ function DrawerScrollList({
24641
24705
  className: "flex flex-1 flex-col gap-[var(--spacing-system-xs)] overflow-y-auto px-[var(--spacing-system-m)]",
24642
24706
  children: isEmpty && !isLoadingMore ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, EmptyState, {}) : /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _jsxruntime.Fragment, { children: [
24643
24707
  unreadNotifications.map((n) => {
24644
- const custom = _optionalChain([renderTile, 'optionalCall', _423 => _423(n, { onComplete, onSettle, liveDurationMs })]);
24708
+ const custom = _optionalChain([renderTile, 'optionalCall', _431 => _431(n, { onComplete, onSettle, liveDurationMs })]);
24645
24709
  if (custom) return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { children: custom }, n.id);
24646
24710
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
24647
24711
  NotificationTile,
@@ -24770,7 +24834,7 @@ function NotificationPopups({
24770
24834
  className
24771
24835
  ),
24772
24836
  children: live.map((n) => {
24773
- const custom = _optionalChain([renderTile, 'optionalCall', _424 => _424(n, { onComplete: markRead, onSettle: markSettled, liveDurationMs })]);
24837
+ const custom = _optionalChain([renderTile, 'optionalCall', _432 => _432(n, { onComplete: markRead, onSettle: markSettled, liveDurationMs })]);
24774
24838
  if (custom) {
24775
24839
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "pointer-events-auto", children: custom }, n.id);
24776
24840
  }
@@ -24809,19 +24873,19 @@ _chunkFIG2RKZFcjs.init_cn.call(void 0, );
24809
24873
  // src/components/features/notifications/types.ts
24810
24874
  var ADMIN_APPROVAL_REQUEST_CONTEXT_TYPE = "ADMIN_APPROVAL_REQUEST";
24811
24875
  function isApprovalNotification(notification) {
24812
- return _optionalChain([notification, 'access', _425 => _425.meta, 'optionalAccess', _426 => _426.contextType]) === ADMIN_APPROVAL_REQUEST_CONTEXT_TYPE;
24876
+ return _optionalChain([notification, 'access', _433 => _433.meta, 'optionalAccess', _434 => _434.contextType]) === ADMIN_APPROVAL_REQUEST_CONTEXT_TYPE;
24813
24877
  }
24814
24878
  function getApprovalMeta(notification) {
24815
24879
  if (!isApprovalNotification(notification)) return null;
24816
24880
  const meta = notification.meta;
24817
- const approvalRequestId = _optionalChain([meta, 'optionalAccess', _427 => _427.approvalRequestId]);
24818
- const toolCalls = _optionalChain([meta, 'optionalAccess', _428 => _428.toolCalls]);
24881
+ const approvalRequestId = _optionalChain([meta, 'optionalAccess', _435 => _435.approvalRequestId]);
24882
+ const toolCalls = _optionalChain([meta, 'optionalAccess', _436 => _436.toolCalls]);
24819
24883
  if (typeof approvalRequestId !== "string" || !Array.isArray(toolCalls)) return null;
24820
24884
  return {
24821
24885
  approvalRequestId,
24822
- dialogId: _nullishCoalesce(_optionalChain([meta, 'optionalAccess', _429 => _429.dialogId]), () => ( null)),
24823
- ticketId: _nullishCoalesce(_optionalChain([meta, 'optionalAccess', _430 => _430.ticketId]), () => ( null)),
24824
- approvalType: _nullishCoalesce(_optionalChain([meta, 'optionalAccess', _431 => _431.approvalType]), () => ( null)),
24886
+ dialogId: _nullishCoalesce(_optionalChain([meta, 'optionalAccess', _437 => _437.dialogId]), () => ( null)),
24887
+ ticketId: _nullishCoalesce(_optionalChain([meta, 'optionalAccess', _438 => _438.ticketId]), () => ( null)),
24888
+ approvalType: _nullishCoalesce(_optionalChain([meta, 'optionalAccess', _439 => _439.approvalType]), () => ( null)),
24825
24889
  toolCalls
24826
24890
  };
24827
24891
  }
@@ -25082,15 +25146,15 @@ function TicketCard({
25082
25146
  transform: _utilities.CSS.Transform.toString(sortable.transform),
25083
25147
  transition: sortable.transition
25084
25148
  };
25085
- const showDeviceRow = !!(_optionalChain([ticket, 'access', _432 => _432.deviceHostnames, 'optionalAccess', _433 => _433.length]) || ticket.organizationName);
25149
+ const showDeviceRow = !!(_optionalChain([ticket, 'access', _440 => _440.deviceHostnames, 'optionalAccess', _441 => _441.length]) || ticket.organizationName);
25086
25150
  const deviceText = [
25087
- _optionalChain([ticket, 'access', _434 => _434.deviceHostnames, 'optionalAccess', _435 => _435.join, 'call', _436 => _436(", ")]),
25151
+ _optionalChain([ticket, 'access', _442 => _442.deviceHostnames, 'optionalAccess', _443 => _443.join, 'call', _444 => _444(", ")]),
25088
25152
  ticket.organizationName
25089
25153
  ].filter(Boolean).join(", ");
25090
25154
  const handleClick = (e) => {
25091
25155
  if (sortable.isDragging) e.preventDefault();
25092
25156
  };
25093
- const hasRightSection = !!(ticket.priority || _optionalChain([ticket, 'access', _437 => _437.assignees, 'optionalAccess', _438 => _438.length]) || renderAssignSlot);
25157
+ const hasRightSection = !!(ticket.priority || _optionalChain([ticket, 'access', _445 => _445.assignees, 'optionalAccess', _446 => _446.length]) || renderAssignSlot);
25094
25158
  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: [
25095
25159
  ticket.priority && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
25096
25160
  _chunkC6ASEPZLcjs.Flag02Icon,
@@ -25099,7 +25163,7 @@ function TicketCard({
25099
25163
  "aria-label": `Priority: ${ticket.priority}`
25100
25164
  }
25101
25165
  ),
25102
- renderAssignSlot ? renderAssignSlot(ticket) : _optionalChain([ticket, 'access', _439 => _439.assignees, 'optionalAccess', _440 => _440.length]) ? /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex -space-x-2", children: [
25166
+ renderAssignSlot ? renderAssignSlot(ticket) : _optionalChain([ticket, 'access', _447 => _447.assignees, 'optionalAccess', _448 => _448.length]) ? /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex -space-x-2", children: [
25103
25167
  ticket.assignees.slice(0, MAX_VISIBLE_ASSIGNEES).map((a) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
25104
25168
  SquareAvatar,
25105
25169
  {
@@ -25128,7 +25192,7 @@ function TicketCard({
25128
25192
  ] }),
25129
25193
  rightSection
25130
25194
  ] }),
25131
- _optionalChain([ticket, 'access', _441 => _441.tags, 'optionalAccess', _442 => _442.length]) ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, TicketTagRow, { tags: ticket.tags }) : null
25195
+ _optionalChain([ticket, 'access', _449 => _449.tags, 'optionalAccess', _450 => _450.length]) ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, TicketTagRow, { tags: ticket.tags }) : null
25132
25196
  ] });
25133
25197
  const cardClasses = _chunkFIG2RKZFcjs.cn.call(void 0,
25134
25198
  "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",
@@ -25303,7 +25367,7 @@ function ColumnBody({ column, getTicketHref, renderAssignSlot, onLoadMore, loadM
25303
25367
  const observer = new IntersectionObserver(
25304
25368
  (entries) => {
25305
25369
  if (entries.some((e) => e.isIntersecting)) {
25306
- _optionalChain([loadMoreRef, 'access', _443 => _443.current, 'optionalCall', _444 => _444(columnIdRef.current)]);
25370
+ _optionalChain([loadMoreRef, 'access', _451 => _451.current, 'optionalCall', _452 => _452(columnIdRef.current)]);
25307
25371
  }
25308
25372
  },
25309
25373
  { root, rootMargin: loadMoreRootMargin }
@@ -25332,7 +25396,7 @@ function ColumnBody({ column, getTicketHref, renderAssignSlot, onLoadMore, loadM
25332
25396
  {
25333
25397
  ticket: t,
25334
25398
  columnId: column.id,
25335
- href: _optionalChain([getTicketHref, 'optionalCall', _445 => _445(t.id)]),
25399
+ href: _optionalChain([getTicketHref, 'optionalCall', _453 => _453(t.id)]),
25336
25400
  renderAssignSlot,
25337
25401
  dragDisabled: column.dragDisabled
25338
25402
  },
@@ -25428,17 +25492,17 @@ function Board({
25428
25492
  const pointer = _core.pointerWithin.call(void 0, args);
25429
25493
  const intersections = pointer.length > 0 ? pointer : _core.rectIntersection.call(void 0, args);
25430
25494
  const ticketHit = intersections.find(
25431
- (c) => _optionalChain([c, 'access', _446 => _446.data, 'optionalAccess', _447 => _447.droppableContainer, 'optionalAccess', _448 => _448.data, 'optionalAccess', _449 => _449.current, 'optionalAccess', _450 => _450.type]) === "ticket"
25495
+ (c) => _optionalChain([c, 'access', _454 => _454.data, 'optionalAccess', _455 => _455.droppableContainer, 'optionalAccess', _456 => _456.data, 'optionalAccess', _457 => _457.current, 'optionalAccess', _458 => _458.type]) === "ticket"
25432
25496
  );
25433
25497
  if (ticketHit) return [ticketHit];
25434
25498
  const columnHit = intersections.find(
25435
- (c) => _optionalChain([c, 'access', _451 => _451.data, 'optionalAccess', _452 => _452.droppableContainer, 'optionalAccess', _453 => _453.data, 'optionalAccess', _454 => _454.current, 'optionalAccess', _455 => _455.type]) === "column"
25499
+ (c) => _optionalChain([c, 'access', _459 => _459.data, 'optionalAccess', _460 => _460.droppableContainer, 'optionalAccess', _461 => _461.data, 'optionalAccess', _462 => _462.current, 'optionalAccess', _463 => _463.type]) === "column"
25436
25500
  );
25437
25501
  if (columnHit) {
25438
- const columnId = _optionalChain([columnHit, 'access', _456 => _456.data, 'optionalAccess', _457 => _457.droppableContainer, 'optionalAccess', _458 => _458.data, 'optionalAccess', _459 => _459.current, 'optionalAccess', _460 => _460.columnId]);
25502
+ const columnId = _optionalChain([columnHit, 'access', _464 => _464.data, 'optionalAccess', _465 => _465.droppableContainer, 'optionalAccess', _466 => _466.data, 'optionalAccess', _467 => _467.current, 'optionalAccess', _468 => _468.columnId]);
25439
25503
  const ticketsInColumn = args.droppableContainers.filter((c) => {
25440
25504
  const d = c.data.current;
25441
- return _optionalChain([d, 'optionalAccess', _461 => _461.type]) === "ticket" && d.columnId === columnId;
25505
+ return _optionalChain([d, 'optionalAccess', _469 => _469.type]) === "ticket" && d.columnId === columnId;
25442
25506
  });
25443
25507
  if (ticketsInColumn.length > 0) {
25444
25508
  const closest = _core.closestCorners.call(void 0, { ...args, droppableContainers: ticketsInColumn });
@@ -25463,20 +25527,20 @@ function Board({
25463
25527
  const overId = String(over.id);
25464
25528
  if (activeId === overId) return;
25465
25529
  const overData = over.data.current;
25466
- const fromColumnId = _optionalChain([locate, 'call', _462 => _462(items, activeId), 'optionalAccess', _463 => _463.columnId]);
25467
- const toColumnId = _optionalChain([overData, 'optionalAccess', _464 => _464.columnId]);
25530
+ const fromColumnId = _optionalChain([locate, 'call', _470 => _470(items, activeId), 'optionalAccess', _471 => _471.columnId]);
25531
+ const toColumnId = _optionalChain([overData, 'optionalAccess', _472 => _472.columnId]);
25468
25532
  if (!fromColumnId || !toColumnId || fromColumnId === toColumnId) return;
25469
25533
  const origin = dragOriginRef.current;
25470
- const isReturnToOrigin = _optionalChain([origin, 'optionalAccess', _465 => _465.fromColumnId]) === toColumnId;
25534
+ const isReturnToOrigin = _optionalChain([origin, 'optionalAccess', _473 => _473.fromColumnId]) === toColumnId;
25471
25535
  const targetCol = items.find((c) => c.id === toColumnId);
25472
- const blockedBySource = !isReturnToOrigin && !!_optionalChain([targetCol, 'optionalAccess', _466 => _466.allowedFromColumns]) && !!origin && !targetCol.allowedFromColumns.includes(origin.fromColumnId);
25473
- if (_optionalChain([targetCol, 'optionalAccess', _467 => _467.dropDisabled]) && !isReturnToOrigin || blockedBySource) return;
25536
+ const blockedBySource = !isReturnToOrigin && !!_optionalChain([targetCol, 'optionalAccess', _474 => _474.allowedFromColumns]) && !!origin && !targetCol.allowedFromColumns.includes(origin.fromColumnId);
25537
+ if (_optionalChain([targetCol, 'optionalAccess', _475 => _475.dropDisabled]) && !isReturnToOrigin || blockedBySource) return;
25474
25538
  setItems((prev) => {
25475
25539
  const fromIndex = findIndexInColumn(prev, fromColumnId, activeId);
25476
25540
  const toCol = prev.find((c) => c.id === toColumnId);
25477
25541
  if (fromIndex < 0 || !toCol) return prev;
25478
25542
  let toIndex;
25479
- if (_optionalChain([overData, 'optionalAccess', _468 => _468.type]) === "column") {
25543
+ if (_optionalChain([overData, 'optionalAccess', _476 => _476.type]) === "column") {
25480
25544
  toIndex = toCol.tickets.length;
25481
25545
  } else {
25482
25546
  const overIndex = toCol.tickets.findIndex((t) => t.id === overId);
@@ -25518,14 +25582,14 @@ function Board({
25518
25582
  const toColumnId = located.columnId;
25519
25583
  const isCrossColumn = origin.fromColumnId !== toColumnId;
25520
25584
  const targetCol = items.find((c) => c.id === toColumnId);
25521
- if (isCrossColumn && (_optionalChain([targetCol, 'optionalAccess', _469 => _469.dropDisabled]) || _optionalChain([targetCol, 'optionalAccess', _470 => _470.allowedFromColumns]) && !targetCol.allowedFromColumns.includes(origin.fromColumnId))) {
25585
+ if (isCrossColumn && (_optionalChain([targetCol, 'optionalAccess', _477 => _477.dropDisabled]) || _optionalChain([targetCol, 'optionalAccess', _478 => _478.allowedFromColumns]) && !targetCol.allowedFromColumns.includes(origin.fromColumnId))) {
25522
25586
  setItems(columns);
25523
25587
  return;
25524
25588
  }
25525
25589
  let finalIndex = located.index;
25526
- let finalColumnTickets = _nullishCoalesce(_optionalChain([items, 'access', _471 => _471.find, 'call', _472 => _472((c) => c.id === toColumnId), 'optionalAccess', _473 => _473.tickets]), () => ( []));
25590
+ let finalColumnTickets = _nullishCoalesce(_optionalChain([items, 'access', _479 => _479.find, 'call', _480 => _480((c) => c.id === toColumnId), 'optionalAccess', _481 => _481.tickets]), () => ( []));
25527
25591
  const overData = over.data.current;
25528
- if (_optionalChain([overData, 'optionalAccess', _474 => _474.type]) === "ticket") {
25592
+ if (_optionalChain([overData, 'optionalAccess', _482 => _482.type]) === "ticket") {
25529
25593
  const overIndex = findIndexInColumn(items, toColumnId, String(over.id));
25530
25594
  if (overIndex >= 0 && overIndex !== located.index) {
25531
25595
  finalColumnTickets = _sortable.arrayMove.call(void 0, finalColumnTickets, located.index, overIndex);
@@ -25545,8 +25609,8 @@ function Board({
25545
25609
  ticketId: origin.ticketId,
25546
25610
  fromColumnId: origin.fromColumnId,
25547
25611
  toColumnId,
25548
- afterTicketId: _nullishCoalesce(_optionalChain([finalColumnTickets, 'access', _475 => _475[finalIndex - 1], 'optionalAccess', _476 => _476.id]), () => ( null)),
25549
- beforeTicketId: _nullishCoalesce(_optionalChain([finalColumnTickets, 'access', _477 => _477[finalIndex + 1], 'optionalAccess', _478 => _478.id]), () => ( null))
25612
+ afterTicketId: _nullishCoalesce(_optionalChain([finalColumnTickets, 'access', _483 => _483[finalIndex - 1], 'optionalAccess', _484 => _484.id]), () => ( null)),
25613
+ beforeTicketId: _nullishCoalesce(_optionalChain([finalColumnTickets, 'access', _485 => _485[finalIndex + 1], 'optionalAccess', _486 => _486.id]), () => ( null))
25550
25614
  });
25551
25615
  };
25552
25616
  const handleDragCancel = () => {
@@ -25575,8 +25639,8 @@ function Board({
25575
25639
  children: items.map((column, i) => {
25576
25640
  const prev = items[i - 1];
25577
25641
  const next = items[i + 1];
25578
- const joinLeft = !!(column.system && _optionalChain([prev, 'optionalAccess', _479 => _479.system]));
25579
- const joinRight = !!(column.system && _optionalChain([next, 'optionalAccess', _480 => _480.system]));
25642
+ const joinLeft = !!(column.system && _optionalChain([prev, 'optionalAccess', _487 => _487.system]));
25643
+ const joinRight = !!(column.system && _optionalChain([next, 'optionalAccess', _488 => _488.system]));
25580
25644
  const showGap = i > 0 && !joinLeft;
25581
25645
  return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, React85.Fragment, { children: [
25582
25646
  showGap && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { "aria-hidden": true, className: "w-[var(--spacing-system-mf)] shrink-0" }),
@@ -25635,7 +25699,7 @@ function locate(cols, ticketId) {
25635
25699
  return null;
25636
25700
  }
25637
25701
  function findIndexInColumn(cols, columnId, ticketId) {
25638
- return _nullishCoalesce(_optionalChain([cols, 'access', _481 => _481.find, 'call', _482 => _482((c) => c.id === columnId), 'optionalAccess', _483 => _483.tickets, 'access', _484 => _484.findIndex, 'call', _485 => _485((t) => t.id === ticketId)]), () => ( -1));
25702
+ return _nullishCoalesce(_optionalChain([cols, 'access', _489 => _489.find, 'call', _490 => _490((c) => c.id === columnId), 'optionalAccess', _491 => _491.tickets, 'access', _492 => _492.findIndex, 'call', _493 => _493((t) => t.id === ticketId)]), () => ( -1));
25639
25703
  }
25640
25704
 
25641
25705
  // src/components/features/board/types.ts
@@ -25883,7 +25947,7 @@ function Header2({ config, platform }) {
25883
25947
  className: _chunkFIG2RKZFcjs.cn.call(void 0,
25884
25948
  "flex justify-start w-full",
25885
25949
  "font-bold text-[16px] leading-none tracking-[-0.32px]",
25886
- index < (_nullishCoalesce(_optionalChain([item, 'access', _486 => _486.children, 'optionalAccess', _487 => _487.length]), () => ( 0))) - 1 && "mb-1",
25950
+ index < (_nullishCoalesce(_optionalChain([item, 'access', _494 => _494.children, 'optionalAccess', _495 => _495.length]), () => ( 0))) - 1 && "mb-1",
25887
25951
  "text-ods-text-primary",
25888
25952
  // All dropdown items use primary text color
25889
25953
  child.isActive && "bg-ods-bg-hover"
@@ -25975,7 +26039,7 @@ function Header2({ config, platform }) {
25975
26039
  style: config.style,
25976
26040
  children: [
25977
26041
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex items-center justify-start flex-shrink-0", children: [
25978
- _optionalChain([config, 'access', _488 => _488.actions, 'optionalAccess', _489 => _489.left]) && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "flex items-center", children: config.actions.left }),
26042
+ _optionalChain([config, 'access', _496 => _496.actions, 'optionalAccess', _497 => _497.left]) && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "flex items-center", children: config.actions.left }),
25979
26043
  /* @__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 })
25980
26044
  ] }),
25981
26045
  config.navigation && config.navigation.items.length > 0 && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
@@ -25992,7 +26056,7 @@ function Header2({ config, platform }) {
25992
26056
  }
25993
26057
  ),
25994
26058
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex items-center justify-end gap-4 flex-shrink-0", children: [
25995
- _optionalChain([config, 'access', _490 => _490.actions, 'optionalAccess', _491 => _491.right]) && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "hidden md:flex items-center gap-4", children: config.actions.right }),
26059
+ _optionalChain([config, 'access', _498 => _498.actions, 'optionalAccess', _499 => _499.right]) && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "hidden md:flex items-center gap-4", children: config.actions.right }),
25996
26060
  config.mobile && config.mobile.enabled && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
25997
26061
  _chunkGRTZ23GLcjs.Button,
25998
26062
  {
@@ -26000,10 +26064,10 @@ function Header2({ config, platform }) {
26000
26064
  size: "icon",
26001
26065
  className: "flex md:hidden",
26002
26066
  onClick: () => {
26003
- _optionalChain([config, 'access', _492 => _492.mobile, 'optionalAccess', _493 => _493.onToggle, 'optionalCall', _494 => _494()]);
26067
+ _optionalChain([config, 'access', _500 => _500.mobile, 'optionalAccess', _501 => _501.onToggle, 'optionalCall', _502 => _502()]);
26004
26068
  },
26005
- "aria-label": _optionalChain([config, 'access', _495 => _495.mobile, 'optionalAccess', _496 => _496.isOpen]) ? "Close menu" : "Open menu",
26006
- leftIcon: _optionalChain([config, 'access', _497 => _497.mobile, 'optionalAccess', _498 => _498.menuIcon]) || /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkC6ASEPZLcjs.Menu01Icon, {})
26069
+ "aria-label": _optionalChain([config, 'access', _503 => _503.mobile, 'optionalAccess', _504 => _504.isOpen]) ? "Close menu" : "Open menu",
26070
+ leftIcon: _optionalChain([config, 'access', _505 => _505.mobile, 'optionalAccess', _506 => _506.menuIcon]) || /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkC6ASEPZLcjs.Menu01Icon, {})
26007
26071
  }
26008
26072
  )
26009
26073
  ] })
@@ -26020,10 +26084,10 @@ function Header2({ config, platform }) {
26020
26084
  // src/components/navigation/header-skeleton.tsx
26021
26085
 
26022
26086
  function HeaderSkeleton({ config }) {
26023
- const showNavigation = _optionalChain([config, 'optionalAccess', _499 => _499.navigation]) && config.navigation.items.length > 0;
26024
- const showActions = _optionalChain([config, 'optionalAccess', _500 => _500.actions, 'optionalAccess', _501 => _501.right]) && config.actions.right.length > 0;
26025
- const showMobileMenu = _optionalChain([config, 'optionalAccess', _502 => _502.mobile, 'optionalAccess', _503 => _503.enabled]);
26026
- const isAdminHeader = _optionalChain([config, 'optionalAccess', _504 => _504.className, 'optionalAccess', _505 => _505.includes, 'call', _506 => _506("admin")]);
26087
+ const showNavigation = _optionalChain([config, 'optionalAccess', _507 => _507.navigation]) && config.navigation.items.length > 0;
26088
+ const showActions = _optionalChain([config, 'optionalAccess', _508 => _508.actions, 'optionalAccess', _509 => _509.right]) && config.actions.right.length > 0;
26089
+ const showMobileMenu = _optionalChain([config, 'optionalAccess', _510 => _510.mobile, 'optionalAccess', _511 => _511.enabled]);
26090
+ const isAdminHeader = _optionalChain([config, 'optionalAccess', _512 => _512.className, 'optionalAccess', _513 => _513.includes, 'call', _514 => _514("admin")]);
26027
26091
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "sticky top-0 z-40 w-full", children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
26028
26092
  "header",
26029
26093
  {
@@ -26032,11 +26096,11 @@ function HeaderSkeleton({ config }) {
26032
26096
  "bg-ods-card border-b border-ods-border backdrop-blur-sm",
26033
26097
  "px-6 py-3",
26034
26098
  "transition-opacity duration-300 ease-in-out",
26035
- _optionalChain([config, 'optionalAccess', _507 => _507.className])
26099
+ _optionalChain([config, 'optionalAccess', _515 => _515.className])
26036
26100
  ),
26037
26101
  children: [
26038
26102
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex items-center justify-start flex-shrink-0", children: [
26039
- isAdminHeader && _optionalChain([config, 'optionalAccess', _508 => _508.actions, 'optionalAccess', _509 => _509.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" }) }),
26103
+ isAdminHeader && _optionalChain([config, 'optionalAccess', _516 => _516.actions, 'optionalAccess', _517 => _517.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" }) }),
26040
26104
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex items-center gap-2", children: [
26041
26105
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "h-8 w-8 bg-ods-border rounded animate-pulse" }),
26042
26106
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "h-6 w-24 bg-ods-border rounded animate-pulse" })
@@ -26044,8 +26108,8 @@ function HeaderSkeleton({ config }) {
26044
26108
  ] }),
26045
26109
  showNavigation && /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "nav", { className: _chunkFIG2RKZFcjs.cn.call(void 0,
26046
26110
  "hidden md:flex items-center gap-2",
26047
- _optionalChain([config, 'optionalAccess', _510 => _510.navigation, 'optionalAccess', _511 => _511.position]) === "center" && "absolute left-1/2 transform -translate-x-1/2",
26048
- _optionalChain([config, 'optionalAccess', _512 => _512.navigation, 'optionalAccess', _513 => _513.position]) === "right" && "ml-auto mr-4"
26111
+ _optionalChain([config, 'optionalAccess', _518 => _518.navigation, 'optionalAccess', _519 => _519.position]) === "center" && "absolute left-1/2 transform -translate-x-1/2",
26112
+ _optionalChain([config, 'optionalAccess', _520 => _520.navigation, 'optionalAccess', _521 => _521.position]) === "right" && "ml-auto mr-4"
26049
26113
  ), children: [
26050
26114
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "h-10 w-20 bg-ods-border rounded animate-pulse" }),
26051
26115
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "h-10 w-28 bg-ods-border rounded animate-pulse" }),
@@ -26093,7 +26157,7 @@ function MobileNavPanel({ isOpen, config }) {
26093
26157
  _react.useEffect.call(void 0, () => {
26094
26158
  const handleKeyDown = (e) => {
26095
26159
  if (e.key === "Escape" && isOpen) {
26096
- _optionalChain([config, 'access', _514 => _514.onClose, 'optionalCall', _515 => _515()]);
26160
+ _optionalChain([config, 'access', _522 => _522.onClose, 'optionalCall', _523 => _523()]);
26097
26161
  }
26098
26162
  };
26099
26163
  if (isOpen) {
@@ -26110,7 +26174,7 @@ function MobileNavPanel({ isOpen, config }) {
26110
26174
  if (item.onClick) {
26111
26175
  item.onClick();
26112
26176
  }
26113
- _optionalChain([config, 'access', _516 => _516.onClose, 'optionalCall', _517 => _517()]);
26177
+ _optionalChain([config, 'access', _524 => _524.onClose, 'optionalCall', _525 => _525()]);
26114
26178
  };
26115
26179
  if (item.href) {
26116
26180
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
@@ -26328,7 +26392,7 @@ function SlidingSidebar({ config }) {
26328
26392
  variant: "transparent",
26329
26393
  size: "default",
26330
26394
  onClick: () => {
26331
- _optionalChain([item, 'access', _518 => _518.onClick, 'optionalCall', _519 => _519()]);
26395
+ _optionalChain([item, 'access', _526 => _526.onClick, 'optionalCall', _527 => _527()]);
26332
26396
  config.onClose();
26333
26397
  },
26334
26398
  leftIcon: item.icon,
@@ -26351,7 +26415,7 @@ function SlidingSidebar({ config }) {
26351
26415
  variant: "transparent",
26352
26416
  size: "default",
26353
26417
  onClick: () => {
26354
- _optionalChain([item, 'access', _520 => _520.onClick, 'optionalCall', _521 => _521()]);
26418
+ _optionalChain([item, 'access', _528 => _528.onClick, 'optionalCall', _529 => _529()]);
26355
26419
  config.onClose();
26356
26420
  },
26357
26421
  leftIcon: item.icon,
@@ -26478,7 +26542,7 @@ function StickySectionNav({
26478
26542
  ] });
26479
26543
  }
26480
26544
  function useSectionNavigation(sections, options) {
26481
- const [activeSection, setActiveSection] = _react.useState.call(void 0, _optionalChain([sections, 'access', _522 => _522[0], 'optionalAccess', _523 => _523.id]) || "");
26545
+ const [activeSection, setActiveSection] = _react.useState.call(void 0, _optionalChain([sections, 'access', _530 => _530[0], 'optionalAccess', _531 => _531.id]) || "");
26482
26546
  const isScrollingFromClick = _react.useRef.call(void 0, false);
26483
26547
  const { offset: offset2 = 100 } = options || {};
26484
26548
  const handleSectionClick = _react.useCallback.call(void 0, (sectionId) => {
@@ -26502,7 +26566,7 @@ function useSectionNavigation(sections, options) {
26502
26566
  const handleScroll = () => {
26503
26567
  if (isScrollingFromClick.current) return;
26504
26568
  const scrollPosition = window.scrollY + offset2 + 50;
26505
- let currentSection = _optionalChain([sections, 'access', _524 => _524[0], 'optionalAccess', _525 => _525.id]) || "";
26569
+ let currentSection = _optionalChain([sections, 'access', _532 => _532[0], 'optionalAccess', _533 => _533.id]) || "";
26506
26570
  for (let i = sections.length - 1; i >= 0; i--) {
26507
26571
  const element = document.getElementById(sections[i].id);
26508
26572
  if (element && scrollPosition >= element.offsetTop) {
@@ -26697,7 +26761,7 @@ function NavigationSidebar({ config, disabled = false }) {
26697
26761
  } else {
26698
26762
  setDesktopMinimized((prev) => !prev);
26699
26763
  }
26700
- _optionalChain([config, 'access', _526 => _526.onToggleMinimized, 'optionalCall', _527 => _527()]);
26764
+ _optionalChain([config, 'access', _534 => _534.onToggleMinimized, 'optionalCall', _535 => _535()]);
26701
26765
  }, [isTablet, setDesktopMinimized, config]);
26702
26766
  const closeOverlay = _react.useCallback.call(void 0, () => {
26703
26767
  setTabletMinimized(true);
@@ -26711,11 +26775,11 @@ function NavigationSidebar({ config, disabled = false }) {
26711
26775
  return () => document.removeEventListener("keydown", handleKeyDown);
26712
26776
  }, [isOverlayOpen, closeOverlay]);
26713
26777
  const handleItemClick = _react.useCallback.call(void 0, (item, event) => {
26714
- _optionalChain([event, 'optionalAccess', _528 => _528.stopPropagation, 'call', _529 => _529()]);
26778
+ _optionalChain([event, 'optionalAccess', _536 => _536.stopPropagation, 'call', _537 => _537()]);
26715
26779
  if (item.onClick) {
26716
26780
  item.onClick();
26717
26781
  } else if (item.path) {
26718
- _optionalChain([config, 'access', _530 => _530.onNavigate, 'optionalCall', _531 => _531(item.path)]);
26782
+ _optionalChain([config, 'access', _538 => _538.onNavigate, 'optionalCall', _539 => _539(item.path)]);
26719
26783
  }
26720
26784
  if (isTablet) setTabletMinimized(true);
26721
26785
  }, [config, isTablet]);
@@ -26860,11 +26924,11 @@ function HeaderGlobalSearch({
26860
26924
  };
26861
26925
  const handleSubmit = (e) => {
26862
26926
  e.preventDefault();
26863
- _optionalChain([onSubmit, 'optionalCall', _532 => _532(currentValue)]);
26927
+ _optionalChain([onSubmit, 'optionalCall', _540 => _540(currentValue)]);
26864
26928
  };
26865
26929
  const handleKeyDown = (e) => {
26866
26930
  if (e.key === "Enter") {
26867
- _optionalChain([onSubmit, 'optionalCall', _533 => _533(currentValue)]);
26931
+ _optionalChain([onSubmit, 'optionalCall', _541 => _541(currentValue)]);
26868
26932
  }
26869
26933
  };
26870
26934
  return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
@@ -26958,8 +27022,8 @@ function HeaderOrganizationFilter({
26958
27022
  className
26959
27023
  }) {
26960
27024
  const selectedOrg = organizations.find((o) => o.id === selectedOrgId);
26961
- const displayName = _optionalChain([selectedOrg, 'optionalAccess', _534 => _534.name]) || "All Organizations";
26962
- const deviceCount = _nullishCoalesce(_optionalChain([selectedOrg, 'optionalAccess', _535 => _535.deviceCount]), () => ( totalDeviceCount));
27025
+ const displayName = _optionalChain([selectedOrg, 'optionalAccess', _542 => _542.name]) || "All Organizations";
27026
+ const deviceCount = _nullishCoalesce(_optionalChain([selectedOrg, 'optionalAccess', _543 => _543.deviceCount]), () => ( totalDeviceCount));
26963
27027
  return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkGRTZ23GLcjs.DropdownMenu, { children: [
26964
27028
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkGRTZ23GLcjs.DropdownMenuTrigger, { asChild: true, children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
26965
27029
  "button",
@@ -26984,11 +27048,11 @@ function HeaderOrganizationFilter({
26984
27048
  }
26985
27049
  ) }),
26986
27050
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkGRTZ23GLcjs.DropdownMenuContent, { align: "end", className: "min-w-[240px]", children: [
26987
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkGRTZ23GLcjs.DropdownMenuItem, { onClick: () => _optionalChain([onOrgChange, 'optionalCall', _536 => _536("")]), children: "All Organizations" }),
27051
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkGRTZ23GLcjs.DropdownMenuItem, { onClick: () => _optionalChain([onOrgChange, 'optionalCall', _544 => _544("")]), children: "All Organizations" }),
26988
27052
  organizations.map((org) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
26989
27053
  _chunkGRTZ23GLcjs.DropdownMenuItem,
26990
27054
  {
26991
- onClick: () => _optionalChain([onOrgChange, 'optionalCall', _537 => _537(org.id)]),
27055
+ onClick: () => _optionalChain([onOrgChange, 'optionalCall', _545 => _545(org.id)]),
26992
27056
  children: org.name
26993
27057
  },
26994
27058
  org.id
@@ -27173,9 +27237,9 @@ function NotificationsHeaderButton({
27173
27237
  dimmedClass
27174
27238
  }) {
27175
27239
  const ctx = useOptionalNotifications();
27176
- const hasUnread = (_nullishCoalesce(_optionalChain([ctx, 'optionalAccess', _538 => _538.unreadCount]), () => ( fallbackUnreadCount))) > 0;
27177
- const isActive = _nullishCoalesce(_optionalChain([ctx, 'optionalAccess', _539 => _539.isOpen]), () => ( false));
27178
- const onClick = _optionalChain([ctx, 'optionalAccess', _540 => _540.toggle]);
27240
+ const hasUnread = (_nullishCoalesce(_optionalChain([ctx, 'optionalAccess', _546 => _546.unreadCount]), () => ( fallbackUnreadCount))) > 0;
27241
+ const isActive = _nullishCoalesce(_optionalChain([ctx, 'optionalAccess', _547 => _547.isOpen]), () => ( false));
27242
+ const onClick = _optionalChain([ctx, 'optionalAccess', _548 => _548.toggle]);
27179
27243
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
27180
27244
  HeaderButton,
27181
27245
  {
@@ -27239,7 +27303,7 @@ var MobileBurgerMenu = React101.default.memo(function MobileBurgerMenu2({
27239
27303
  if (item.onClick) {
27240
27304
  item.onClick();
27241
27305
  } else if (item.path) {
27242
- _optionalChain([config, 'access', _541 => _541.onNavigate, 'optionalCall', _542 => _542(item.path)]);
27306
+ _optionalChain([config, 'access', _549 => _549.onNavigate, 'optionalCall', _550 => _550(item.path)]);
27243
27307
  }
27244
27308
  onClose();
27245
27309
  }, [config, onClose]);
@@ -27482,7 +27546,7 @@ var AppLayoutDrawerRoot = ({
27482
27546
  const handleOpenChange = React94.useCallback(
27483
27547
  (next) => {
27484
27548
  if (!isControlled) setInternalOpen(next);
27485
- _optionalChain([onOpenChange, 'optionalCall', _543 => _543(next)]);
27549
+ _optionalChain([onOpenChange, 'optionalCall', _551 => _551(next)]);
27486
27550
  },
27487
27551
  [isControlled, onOpenChange]
27488
27552
  );
@@ -27863,10 +27927,10 @@ var AppLayoutDrawerContent = React94.forwardRef(
27863
27927
  ),
27864
27928
  style,
27865
27929
  onInteractOutside: (event) => {
27866
- _optionalChain([onInteractOutside, 'optionalCall', _544 => _544(event)]);
27930
+ _optionalChain([onInteractOutside, 'optionalCall', _552 => _552(event)]);
27867
27931
  if (event.defaultPrevented) return;
27868
27932
  const target = event.target;
27869
- const isInsideContainer = !!target && !!_optionalChain([portalContainer, 'optionalAccess', _545 => _545.contains, 'call', _546 => _546(target)]);
27933
+ const isInsideContainer = !!target && !!_optionalChain([portalContainer, 'optionalAccess', _553 => _553.contains, 'call', _554 => _554(target)]);
27870
27934
  if (!isInsideContainer) {
27871
27935
  event.preventDefault();
27872
27936
  return;
@@ -28055,7 +28119,7 @@ var ShellTypeBadge = ({
28055
28119
  className,
28056
28120
  iconClassName
28057
28121
  }) => {
28058
- const normalizedType = _optionalChain([shellType, 'optionalAccess', _547 => _547.toUpperCase, 'call', _548 => _548()]);
28122
+ const normalizedType = _optionalChain([shellType, 'optionalAccess', _555 => _555.toUpperCase, 'call', _556 => _556()]);
28059
28123
  const label = getShellLabel(normalizedType);
28060
28124
  const { icon: IconComponent, props: iconProps } = _nullishCoalesce(shellIconMap[normalizedType], () => ( defaultIconConfig));
28061
28125
  const defaultIconClassName = "className" in iconProps ? iconProps.className : void 0;
@@ -28442,12 +28506,12 @@ function OnboardingWalkthrough({
28442
28506
  }
28443
28507
  }, [state.completedSteps, markComplete]);
28444
28508
  const handleStepSkip = (step) => {
28445
- _optionalChain([step, 'access', _549 => _549.onSkip, 'optionalCall', _550 => _550()]);
28509
+ _optionalChain([step, 'access', _557 => _557.onSkip, 'optionalCall', _558 => _558()]);
28446
28510
  markSkipped(step.id);
28447
28511
  };
28448
28512
  const handleDismiss = () => {
28449
28513
  dismissOnboarding();
28450
- _optionalChain([onDismiss, 'optionalCall', _551 => _551()]);
28514
+ _optionalChain([onDismiss, 'optionalCall', _559 => _559()]);
28451
28515
  };
28452
28516
  if (state.dismissed) {
28453
28517
  return null;
@@ -28577,7 +28641,7 @@ var LogCard = ({ log, isLast, showConnector, onClick }) => {
28577
28641
  onKeyDown: (e) => {
28578
28642
  if (e.key === "Enter" || e.key === " ") {
28579
28643
  e.preventDefault();
28580
- _optionalChain([onClick, 'optionalCall', _552 => _552()]);
28644
+ _optionalChain([onClick, 'optionalCall', _560 => _560()]);
28581
28645
  }
28582
28646
  },
28583
28647
  children: [
@@ -28678,7 +28742,7 @@ var LogsList = React98.forwardRef(({
28678
28742
  log,
28679
28743
  isLast: index === logs.length - 1,
28680
28744
  showConnector,
28681
- onClick: () => _optionalChain([onLogClick, 'optionalCall', _553 => _553(log)])
28745
+ onClick: () => _optionalChain([onLogClick, 'optionalCall', _561 => _561(log)])
28682
28746
  },
28683
28747
  log.id
28684
28748
  ))
@@ -28779,7 +28843,7 @@ var Slider = React100.forwardRef(
28779
28843
  ({ className, value = [0], onValueChange, min = 0, max = 100, step = 1, ...props }, ref) => {
28780
28844
  const handleChange = (e) => {
28781
28845
  const newValue = [Number(e.target.value)];
28782
- _optionalChain([onValueChange, 'optionalCall', _554 => _554(newValue)]);
28846
+ _optionalChain([onValueChange, 'optionalCall', _562 => _562(newValue)]);
28783
28847
  };
28784
28848
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
28785
28849
  "input",
@@ -29210,7 +29274,7 @@ function CursorPaginationSimple({
29210
29274
  {
29211
29275
  variant: "transparent",
29212
29276
  size: "icon",
29213
- onClick: () => _optionalChain([onPrevious, 'optionalCall', _555 => _555("")]),
29277
+ onClick: () => _optionalChain([onPrevious, 'optionalCall', _563 => _563("")]),
29214
29278
  disabled: !hasPreviousPage || loading,
29215
29279
  className: "h-8 w-8",
29216
29280
  leftIcon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _lucidereact.ChevronLeft, { className: "h-4 w-4" }),
@@ -29222,7 +29286,7 @@ function CursorPaginationSimple({
29222
29286
  {
29223
29287
  variant: "transparent",
29224
29288
  size: "icon",
29225
- onClick: () => _optionalChain([onNext, 'optionalCall', _556 => _556("")]),
29289
+ onClick: () => _optionalChain([onNext, 'optionalCall', _564 => _564("")]),
29226
29290
  disabled: !hasNextPage || loading,
29227
29291
  className: "h-8 w-8",
29228
29292
  rightIcon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _lucidereact.ChevronRight, { className: "h-4 w-4" }),
@@ -29282,7 +29346,7 @@ function TableColumnFilterDropdown({
29282
29346
  placement = "bottom-start",
29283
29347
  dropdownClassName = "min-w-[240px]"
29284
29348
  }) {
29285
- const activeCount = _optionalChain([filters, 'optionalAccess', _557 => _557[columnKey], 'optionalAccess', _558 => _558.length]) || 0;
29349
+ const activeCount = _optionalChain([filters, 'optionalAccess', _565 => _565[columnKey], 'optionalAccess', _566 => _566.length]) || 0;
29286
29350
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
29287
29351
  FiltersDropdown,
29288
29352
  {
@@ -29325,7 +29389,7 @@ function TableColumnFilterDropdown({
29325
29389
  delete newFilters[columnKey];
29326
29390
  onFilterChange(newFilters);
29327
29391
  },
29328
- currentFilters: { [columnKey]: _optionalChain([filters, 'optionalAccess', _559 => _559[columnKey]]) || [] },
29392
+ currentFilters: { [columnKey]: _optionalChain([filters, 'optionalAccess', _567 => _567[columnKey]]) || [] },
29329
29393
  placement,
29330
29394
  dropdownClassName
29331
29395
  }
@@ -29622,7 +29686,7 @@ function TableRow({
29622
29686
  const keys = column.key.split(".");
29623
29687
  let value = item;
29624
29688
  for (const key of keys) {
29625
- value = _optionalChain([value, 'optionalAccess', _560 => _560[key]]);
29689
+ value = _optionalChain([value, 'optionalAccess', _568 => _568[key]]);
29626
29690
  }
29627
29691
  if (value === null || value === void 0) {
29628
29692
  return "-";
@@ -29692,7 +29756,7 @@ function TableRow({
29692
29756
  // src/components/ui/table/table.tsx
29693
29757
 
29694
29758
  function injectSyntheticColumns(columns, rowActions, renderRowActions, rowHref) {
29695
- const hasActions = Boolean(_optionalChain([rowActions, 'optionalAccess', _561 => _561.length])) || Boolean(renderRowActions);
29759
+ const hasActions = Boolean(_optionalChain([rowActions, 'optionalAccess', _569 => _569.length])) || Boolean(renderRowActions);
29696
29760
  const result = [...columns];
29697
29761
  if (hasActions) {
29698
29762
  const actionsColumn = {
@@ -29786,7 +29850,7 @@ function Table({
29786
29850
  return rowKey(item);
29787
29851
  }
29788
29852
  const key = item[rowKey];
29789
- return _optionalChain([key, 'optionalAccess', _562 => _562.toString, 'call', _563 => _563()]) || index.toString();
29853
+ return _optionalChain([key, 'optionalAccess', _570 => _570.toString, 'call', _571 => _571()]) || index.toString();
29790
29854
  };
29791
29855
  const getRowClassName = (item, index) => {
29792
29856
  if (typeof rowClassName === "function") {
@@ -29820,23 +29884,23 @@ function Table({
29820
29884
  const allSelected = selectedRows.length > 0 && selectedRows.length === data.length;
29821
29885
  const someSelected = selectedRows.length > 0 && selectedRows.length < data.length;
29822
29886
  const sentinelRef = _react.useRef.call(void 0, null);
29823
- const onLoadMoreRef = _react.useRef.call(void 0, _optionalChain([infiniteScroll, 'optionalAccess', _564 => _564.onLoadMore]));
29824
- onLoadMoreRef.current = _optionalChain([infiniteScroll, 'optionalAccess', _565 => _565.onLoadMore]);
29887
+ const onLoadMoreRef = _react.useRef.call(void 0, _optionalChain([infiniteScroll, 'optionalAccess', _572 => _572.onLoadMore]));
29888
+ onLoadMoreRef.current = _optionalChain([infiniteScroll, 'optionalAccess', _573 => _573.onLoadMore]);
29825
29889
  _react.useEffect.call(void 0, () => {
29826
- if (!_optionalChain([infiniteScroll, 'optionalAccess', _566 => _566.hasNextPage]) || infiniteScroll.isFetchingNextPage) return;
29890
+ if (!_optionalChain([infiniteScroll, 'optionalAccess', _574 => _574.hasNextPage]) || infiniteScroll.isFetchingNextPage) return;
29827
29891
  const sentinel = sentinelRef.current;
29828
29892
  if (!sentinel) return;
29829
29893
  const observer = new IntersectionObserver(
29830
29894
  (entries) => {
29831
- if (_optionalChain([entries, 'access', _567 => _567[0], 'optionalAccess', _568 => _568.isIntersecting])) {
29832
- _optionalChain([onLoadMoreRef, 'access', _569 => _569.current, 'optionalCall', _570 => _570()]);
29895
+ if (_optionalChain([entries, 'access', _575 => _575[0], 'optionalAccess', _576 => _576.isIntersecting])) {
29896
+ _optionalChain([onLoadMoreRef, 'access', _577 => _577.current, 'optionalCall', _578 => _578()]);
29833
29897
  }
29834
29898
  },
29835
29899
  { rootMargin: "200px" }
29836
29900
  );
29837
29901
  observer.observe(sentinel);
29838
29902
  return () => observer.disconnect();
29839
- }, [_optionalChain([infiniteScroll, 'optionalAccess', _571 => _571.hasNextPage]), _optionalChain([infiniteScroll, 'optionalAccess', _572 => _572.isFetchingNextPage])]);
29903
+ }, [_optionalChain([infiniteScroll, 'optionalAccess', _579 => _579.hasNextPage]), _optionalChain([infiniteScroll, 'optionalAccess', _580 => _580.isFetchingNextPage])]);
29840
29904
  return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: _chunkFIG2RKZFcjs.cn.call(void 0, "flex flex-col gap-1 w-full", containerClassName), children: [
29841
29905
  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: [
29842
29906
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: "text-ods-text-secondary text-sm", children: [
@@ -29907,7 +29971,7 @@ function Table({
29907
29971
  },
29908
29972
  getRowKey(item, index)
29909
29973
  )),
29910
- _optionalChain([infiniteScroll, 'optionalAccess', _573 => _573.isFetchingNextPage]) && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
29974
+ _optionalChain([infiniteScroll, 'optionalAccess', _581 => _581.isFetchingNextPage]) && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
29911
29975
  TableCardSkeleton,
29912
29976
  {
29913
29977
  columns,
@@ -29916,7 +29980,7 @@ function Table({
29916
29980
  hasChevron: Boolean(rowHref)
29917
29981
  }
29918
29982
  ),
29919
- _optionalChain([infiniteScroll, 'optionalAccess', _574 => _574.hasNextPage]) && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { ref: sentinelRef, className: "h-1", "aria-hidden": "true" }),
29983
+ _optionalChain([infiniteScroll, 'optionalAccess', _582 => _582.hasNextPage]) && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { ref: sentinelRef, className: "h-1", "aria-hidden": "true" }),
29920
29984
  !infiniteScroll && Array.from({ length: Math.max(0, skeletonRows - data.length) }).map((_, index) => /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
29921
29985
  "div",
29922
29986
  {
@@ -30274,7 +30338,7 @@ function QueryReportTable({
30274
30338
  );
30275
30339
  const handleExport = () => {
30276
30340
  exportToCSV(data, columns, exportFilename);
30277
- _optionalChain([onExport, 'optionalCall', _575 => _575()]);
30341
+ _optionalChain([onExport, 'optionalCall', _583 => _583()]);
30278
30342
  };
30279
30343
  const tableMinWidth = columns.length * (columnWidth + 16);
30280
30344
  const {
@@ -30447,7 +30511,7 @@ function DataTableColumnFilter({
30447
30511
  align = "left"
30448
30512
  }) {
30449
30513
  const currentValue = column.getFilterValue();
30450
- const activeCount = _nullishCoalesce(_optionalChain([currentValue, 'optionalAccess', _576 => _576.length]), () => ( 0));
30514
+ const activeCount = _nullishCoalesce(_optionalChain([currentValue, 'optionalAccess', _584 => _584.length]), () => ( 0));
30451
30515
  const sections = _react.useMemo.call(void 0,
30452
30516
  () => [
30453
30517
  {
@@ -30527,7 +30591,7 @@ function DataTableHeader({
30527
30591
  const hasVisibleHeaderCell = headerGroup.headers.some((header) => {
30528
30592
  if (header.isPlaceholder) return false;
30529
30593
  if (isLgUp) return true;
30530
- return Boolean(_optionalChain([header, 'access', _577 => _577.column, 'access', _578 => _578.columnDef, 'access', _579 => _579.meta, 'optionalAccess', _580 => _580.filter]));
30594
+ return Boolean(_optionalChain([header, 'access', _585 => _585.column, 'access', _586 => _586.columnDef, 'access', _587 => _587.meta, 'optionalAccess', _588 => _588.filter]));
30531
30595
  });
30532
30596
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
30533
30597
  "div",
@@ -30557,20 +30621,20 @@ function HeaderCell({ header, isLgUp, sort, onSortChange }) {
30557
30621
  if (header.isPlaceholder) return null;
30558
30622
  const column = header.column;
30559
30623
  const meta = column.columnDef.meta;
30560
- const hasFilter = Boolean(_optionalChain([meta, 'optionalAccess', _581 => _581.filter]));
30561
- const align = _nullishCoalesce(_optionalChain([meta, 'optionalAccess', _582 => _582.align]), () => ( "left"));
30562
- const canSort = _optionalChain([meta, 'optionalAccess', _583 => _583.sortable]) === true;
30563
- const sortDir = _optionalChain([sort, 'optionalAccess', _584 => _584.id]) === column.id ? sort.desc ? "desc" : "asc" : false;
30624
+ const hasFilter = Boolean(_optionalChain([meta, 'optionalAccess', _589 => _589.filter]));
30625
+ const align = _nullishCoalesce(_optionalChain([meta, 'optionalAccess', _590 => _590.align]), () => ( "left"));
30626
+ const canSort = _optionalChain([meta, 'optionalAccess', _591 => _591.sortable]) === true;
30627
+ const sortDir = _optionalChain([sort, 'optionalAccess', _592 => _592.id]) === column.id ? sort.desc ? "desc" : "asc" : false;
30564
30628
  if (!isLgUp && !hasFilter) return null;
30565
30629
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
30566
30630
  "div",
30567
30631
  {
30568
30632
  className: _chunkFIG2RKZFcjs.cn.call(void 0,
30569
30633
  "flex items-stretch",
30570
- isLgUp && (_optionalChain([meta, 'optionalAccess', _585 => _585.width]) || "flex-1 min-w-0"),
30571
- _optionalChain([meta, 'optionalAccess', _586 => _586.headerClassName]),
30634
+ isLgUp && (_optionalChain([meta, 'optionalAccess', _593 => _593.width]) || "flex-1 min-w-0"),
30635
+ _optionalChain([meta, 'optionalAccess', _594 => _594.headerClassName]),
30572
30636
  // Don't apply hide classes if column is filterable on tablet (keep filter accessible)
30573
- !(hasFilter && !isLgUp) && getHideClasses2(_optionalChain([meta, 'optionalAccess', _587 => _587.hideAt]))
30637
+ !(hasFilter && !isLgUp) && getHideClasses2(_optionalChain([meta, 'optionalAccess', _595 => _595.hideAt]))
30574
30638
  ),
30575
30639
  children: hasFilter ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
30576
30640
  DataTableColumnFilter,
@@ -30589,7 +30653,7 @@ function HeaderCell({ header, isLgUp, sort, onSortChange }) {
30589
30653
  isLgUp && alignJustify(align),
30590
30654
  canSort && "group cursor-pointer"
30591
30655
  ),
30592
- onClick: canSort ? () => _optionalChain([onSortChange, 'optionalCall', _588 => _588(column.id)]) : void 0,
30656
+ onClick: canSort ? () => _optionalChain([onSortChange, 'optionalCall', _596 => _596(column.id)]) : void 0,
30593
30657
  children: [
30594
30658
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, HeaderLabel, { header }),
30595
30659
  canSort && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, SortIcon, { sorted: sortDir })
@@ -30673,7 +30737,7 @@ function DataTableSkeleton({
30673
30737
  }) {
30674
30738
  const table = useDataTableContext();
30675
30739
  const columns = table.getVisibleFlatColumns();
30676
- const firstColumnId = _optionalChain([columns, 'access', _589 => _589[0], 'optionalAccess', _590 => _590.id]);
30740
+ const firstColumnId = _optionalChain([columns, 'access', _597 => _597[0], 'optionalAccess', _598 => _598.id]);
30677
30741
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _jsxruntime.Fragment, { children: Array.from({ length: rows }).map((_, index) => /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
30678
30742
  "div",
30679
30743
  {
@@ -30697,7 +30761,7 @@ function DataTableSkeleton({
30697
30761
  {
30698
30762
  className: _chunkFIG2RKZFcjs.cn.call(void 0,
30699
30763
  "flex flex-col justify-center shrink-0",
30700
- _optionalChain([meta, 'optionalAccess', _591 => _591.width]) || "flex-1"
30764
+ _optionalChain([meta, 'optionalAccess', _599 => _599.width]) || "flex-1"
30701
30765
  ),
30702
30766
  children: [
30703
30767
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "h-5 bg-ods-bg-surface rounded-sm w-3/4 mb-[var(--spacing-system-xxs)]" }),
@@ -30746,7 +30810,7 @@ function DataTableRowImpl({
30746
30810
  const handleClick = _react.useCallback.call(void 0,
30747
30811
  (e) => {
30748
30812
  const target = e.target;
30749
- if (!_optionalChain([containerRef, 'access', _592 => _592.current, 'optionalAccess', _593 => _593.contains, 'call', _594 => _594(target)])) {
30813
+ if (!_optionalChain([containerRef, 'access', _600 => _600.current, 'optionalAccess', _601 => _601.contains, 'call', _602 => _602(target)])) {
30750
30814
  if (isLinkMode) e.preventDefault();
30751
30815
  return;
30752
30816
  }
@@ -30754,7 +30818,7 @@ function DataTableRowImpl({
30754
30818
  if (isLinkMode) e.preventDefault();
30755
30819
  return;
30756
30820
  }
30757
- _optionalChain([onClick, 'optionalCall', _595 => _595(row.original)]);
30821
+ _optionalChain([onClick, 'optionalCall', _603 => _603(row.original)]);
30758
30822
  },
30759
30823
  [onClick, row.original, isLinkMode]
30760
30824
  );
@@ -30779,10 +30843,10 @@ function DataTableRowImpl({
30779
30843
  {
30780
30844
  className: _chunkFIG2RKZFcjs.cn.call(void 0,
30781
30845
  "flex flex-col overflow-hidden",
30782
- alignJustify(_optionalChain([meta, 'optionalAccess', _596 => _596.align])),
30783
- _optionalChain([meta, 'optionalAccess', _597 => _597.width]) || "flex-1 min-w-0",
30784
- _optionalChain([meta, 'optionalAccess', _598 => _598.cellClassName]),
30785
- getHideClasses2(_optionalChain([meta, 'optionalAccess', _599 => _599.hideAt]))
30846
+ alignJustify(_optionalChain([meta, 'optionalAccess', _604 => _604.align])),
30847
+ _optionalChain([meta, 'optionalAccess', _605 => _605.width]) || "flex-1 min-w-0",
30848
+ _optionalChain([meta, 'optionalAccess', _606 => _606.cellClassName]),
30849
+ getHideClasses2(_optionalChain([meta, 'optionalAccess', _607 => _607.hideAt]))
30786
30850
  ),
30787
30851
  children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, CellContent, { children: _reacttable.flexRender.call(void 0, cell.column.columnDef.cell, cell.getContext()) })
30788
30852
  },
@@ -30860,7 +30924,7 @@ function DataTableBody({
30860
30924
  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: [
30861
30925
  rows.map((row, index) => {
30862
30926
  const item = row.original;
30863
- const href = _nullishCoalesce(_optionalChain([rowHref, 'optionalCall', _600 => _600(item)]), () => ( void 0));
30927
+ const href = _nullishCoalesce(_optionalChain([rowHref, 'optionalCall', _608 => _608(item)]), () => ( void 0));
30864
30928
  const cls = typeof rowClassName === "function" ? rowClassName(item, index) : rowClassName;
30865
30929
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
30866
30930
  DataTableRow,
@@ -30870,7 +30934,7 @@ function DataTableBody({
30870
30934
  href,
30871
30935
  compact,
30872
30936
  className: cls,
30873
- subRow: _optionalChain([renderSubRow, 'optionalCall', _601 => _601(item)])
30937
+ subRow: _optionalChain([renderSubRow, 'optionalCall', _609 => _609(item)])
30874
30938
  },
30875
30939
  row.id
30876
30940
  );
@@ -30925,7 +30989,7 @@ function DataTableInfiniteFooter({
30925
30989
  if (!sentinel) return;
30926
30990
  const observer = new IntersectionObserver(
30927
30991
  (entries) => {
30928
- if (_optionalChain([entries, 'access', _602 => _602[0], 'optionalAccess', _603 => _603.isIntersecting])) onLoadMoreRef.current();
30992
+ if (_optionalChain([entries, 'access', _610 => _610[0], 'optionalAccess', _611 => _611.isIntersecting])) onLoadMoreRef.current();
30929
30993
  },
30930
30994
  { rootMargin }
30931
30995
  );
@@ -30973,7 +31037,7 @@ function DataTableRowCount({
30973
31037
  const table = useDataTableContext();
30974
31038
  const count = _nullishCoalesce(totalCount, () => ( table.getRowModel().rows.length));
30975
31039
  if (hideWhenEmpty && count === 0) return null;
30976
- const label = _nullishCoalesce(_optionalChain([pluralize, 'optionalCall', _604 => _604(count, itemName)]), () => ( (count === 1 ? itemName : `${itemName}s`)));
31040
+ const label = _nullishCoalesce(_optionalChain([pluralize, 'optionalCall', _612 => _612(count, itemName)]), () => ( (count === 1 ? itemName : `${itemName}s`)));
30977
31041
  return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
30978
31042
  "span",
30979
31043
  {
@@ -31132,7 +31196,7 @@ function SearchInput({
31132
31196
  if (!showHiddenTags) return;
31133
31197
  const handleClick = (e) => {
31134
31198
  const target = e.target;
31135
- if (!_optionalChain([hiddenTagsRef, 'access', _605 => _605.current, 'optionalAccess', _606 => _606.contains, 'call', _607 => _607(target)]) && !_optionalChain([hiddenTagsPopupRef, 'access', _608 => _608.current, 'optionalAccess', _609 => _609.contains, 'call', _610 => _610(target)])) {
31199
+ if (!_optionalChain([hiddenTagsRef, 'access', _613 => _613.current, 'optionalAccess', _614 => _614.contains, 'call', _615 => _615(target)]) && !_optionalChain([hiddenTagsPopupRef, 'access', _616 => _616.current, 'optionalAccess', _617 => _617.contains, 'call', _618 => _618(target)])) {
31136
31200
  setShowHiddenTags(false);
31137
31201
  }
31138
31202
  };
@@ -31180,10 +31244,10 @@ function SearchInput({
31180
31244
  } else {
31181
31245
  setInternalValue("");
31182
31246
  }
31183
- _optionalChain([inputRef, 'access', _611 => _611.current, 'optionalAccess', _612 => _612.focus, 'call', _613 => _613()]);
31247
+ _optionalChain([inputRef, 'access', _619 => _619.current, 'optionalAccess', _620 => _620.focus, 'call', _621 => _621()]);
31184
31248
  };
31185
31249
  const handleResultClick = (result, e) => {
31186
- _optionalChain([onResultSelect, 'optionalCall', _614 => _614(
31250
+ _optionalChain([onResultSelect, 'optionalCall', _622 => _622(
31187
31251
  result,
31188
31252
  e ? {
31189
31253
  metaKey: e.metaKey,
@@ -31215,7 +31279,7 @@ function SearchInput({
31215
31279
  if (highlightedIndex >= 0 && flatResults[highlightedIndex]) {
31216
31280
  handleResultClick(flatResults[highlightedIndex]);
31217
31281
  } else {
31218
- _optionalChain([onSubmit, 'optionalCall', _615 => _615(currentValue)]);
31282
+ _optionalChain([onSubmit, 'optionalCall', _623 => _623(currentValue)]);
31219
31283
  }
31220
31284
  break;
31221
31285
  case "Escape":
@@ -31293,7 +31357,7 @@ function SearchInput({
31293
31357
  dropdownVisible && "!border-ods-accent"
31294
31358
  ),
31295
31359
  onClick: () => {
31296
- _optionalChain([inputRef, 'access', _616 => _616.current, 'optionalAccess', _617 => _617.focus, 'call', _618 => _618()]);
31360
+ _optionalChain([inputRef, 'access', _624 => _624.current, 'optionalAccess', _625 => _625.focus, 'call', _626 => _626()]);
31297
31361
  setIsOpen(true);
31298
31362
  },
31299
31363
  children: [
@@ -31377,10 +31441,10 @@ function SearchInput({
31377
31441
  align: "start",
31378
31442
  onOpenAutoFocus: (e) => {
31379
31443
  e.preventDefault();
31380
- _optionalChain([inputRef, 'access', _619 => _619.current, 'optionalAccess', _620 => _620.focus, 'call', _621 => _621()]);
31444
+ _optionalChain([inputRef, 'access', _627 => _627.current, 'optionalAccess', _628 => _628.focus, 'call', _629 => _629()]);
31381
31445
  },
31382
31446
  onInteractOutside: (e) => {
31383
- if (_optionalChain([containerRef, 'access', _622 => _622.current, 'optionalAccess', _623 => _623.contains, 'call', _624 => _624(e.target)])) {
31447
+ if (_optionalChain([containerRef, 'access', _630 => _630.current, 'optionalAccess', _631 => _631.contains, 'call', _632 => _632(e.target)])) {
31384
31448
  e.preventDefault();
31385
31449
  }
31386
31450
  },
@@ -31397,10 +31461,10 @@ function SearchInput({
31397
31461
  ref: hiddenTagsPopupRef,
31398
31462
  items: hiddenChips.map((chip) => ({ label: chip.label, value: chip.id })),
31399
31463
  style: {
31400
- left: badgeRef.current ? badgeRef.current.getBoundingClientRect().left - (_nullishCoalesce(_optionalChain([containerRef, 'access', _625 => _625.current, 'optionalAccess', _626 => _626.getBoundingClientRect, 'call', _627 => _627(), 'access', _628 => _628.left]), () => ( 0))) : 0
31464
+ left: badgeRef.current ? badgeRef.current.getBoundingClientRect().left - (_nullishCoalesce(_optionalChain([containerRef, 'access', _633 => _633.current, 'optionalAccess', _634 => _634.getBoundingClientRect, 'call', _635 => _635(), 'access', _636 => _636.left]), () => ( 0))) : 0
31401
31465
  },
31402
31466
  onRemove: (value2) => {
31403
- _optionalChain([onFilterRemove, 'optionalCall', _629 => _629(value2)]);
31467
+ _optionalChain([onFilterRemove, 'optionalCall', _637 => _637(value2)]);
31404
31468
  if (hiddenCount <= 1) setShowHiddenTags(false);
31405
31469
  }
31406
31470
  }
@@ -31451,7 +31515,7 @@ function FilterListItem({
31451
31515
  }) {
31452
31516
  const handleToggle = () => {
31453
31517
  if (disabled) return;
31454
- _optionalChain([onToggle, 'optionalCall', _630 => _630(!selected)]);
31518
+ _optionalChain([onToggle, 'optionalCall', _638 => _638(!selected)]);
31455
31519
  };
31456
31520
  return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
31457
31521
  "div",
@@ -31498,7 +31562,7 @@ function FilterListItem({
31498
31562
  CheckboxPrimitive4.Root,
31499
31563
  {
31500
31564
  checked: selected,
31501
- onCheckedChange: (c) => _optionalChain([onToggle, 'optionalCall', _631 => _631(c === true)]),
31565
+ onCheckedChange: (c) => _optionalChain([onToggle, 'optionalCall', _639 => _639(c === true)]),
31502
31566
  onClick: (e) => e.stopPropagation(),
31503
31567
  disabled,
31504
31568
  "aria-label": title,
@@ -31597,7 +31661,7 @@ function TagSearchInput({
31597
31661
  if (!showHiddenTags) return;
31598
31662
  const handleClick = (e) => {
31599
31663
  const target = e.target;
31600
- if (!_optionalChain([hiddenTagsRef, 'access', _632 => _632.current, 'optionalAccess', _633 => _633.contains, 'call', _634 => _634(target)]) && !_optionalChain([hiddenTagsPopupRef, 'access', _635 => _635.current, 'optionalAccess', _636 => _636.contains, 'call', _637 => _637(target)])) {
31664
+ if (!_optionalChain([hiddenTagsRef, 'access', _640 => _640.current, 'optionalAccess', _641 => _641.contains, 'call', _642 => _642(target)]) && !_optionalChain([hiddenTagsPopupRef, 'access', _643 => _643.current, 'optionalAccess', _644 => _644.contains, 'call', _645 => _645(target)])) {
31601
31665
  setShowHiddenTags(false);
31602
31666
  }
31603
31667
  };
@@ -31613,13 +31677,13 @@ function TagSearchInput({
31613
31677
  e.preventDefault();
31614
31678
  onSubmit(searchValue);
31615
31679
  }
31616
- _optionalChain([onKeyDown, 'optionalCall', _638 => _638(e)]);
31680
+ _optionalChain([onKeyDown, 'optionalCall', _646 => _646(e)]);
31617
31681
  };
31618
31682
  const handleClearAll = (e) => {
31619
31683
  e.stopPropagation();
31620
31684
  e.preventDefault();
31621
- _optionalChain([onClearAll, 'optionalCall', _639 => _639()]);
31622
- _optionalChain([inputRef, 'access', _640 => _640.current, 'optionalAccess', _641 => _641.focus, 'call', _642 => _642()]);
31685
+ _optionalChain([onClearAll, 'optionalCall', _647 => _647()]);
31686
+ _optionalChain([inputRef, 'access', _648 => _648.current, 'optionalAccess', _649 => _649.focus, 'call', _650 => _650()]);
31623
31687
  };
31624
31688
  return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { ref: wrapperRef, className: "relative", children: [
31625
31689
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
@@ -31636,7 +31700,7 @@ function TagSearchInput({
31636
31700
  className
31637
31701
  ),
31638
31702
  onClick: () => {
31639
- if (!disabled) _optionalChain([inputRef, 'access', _643 => _643.current, 'optionalAccess', _644 => _644.focus, 'call', _645 => _645()]);
31703
+ if (!disabled) _optionalChain([inputRef, 'access', _651 => _651.current, 'optionalAccess', _652 => _652.focus, 'call', _653 => _653()]);
31640
31704
  },
31641
31705
  children: [
31642
31706
  /* @__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" }) }),
@@ -31708,7 +31772,7 @@ function TagSearchInput({
31708
31772
  items: hiddenTags,
31709
31773
  disabled,
31710
31774
  style: {
31711
- left: badgeRef.current ? badgeRef.current.getBoundingClientRect().left - (_nullishCoalesce(_optionalChain([wrapperRef, 'access', _646 => _646.current, 'optionalAccess', _647 => _647.getBoundingClientRect, 'call', _648 => _648(), 'access', _649 => _649.left]), () => ( 0))) : 0
31775
+ left: badgeRef.current ? badgeRef.current.getBoundingClientRect().left - (_nullishCoalesce(_optionalChain([wrapperRef, 'access', _654 => _654.current, 'optionalAccess', _655 => _655.getBoundingClientRect, 'call', _656 => _656(), 'access', _657 => _657.left]), () => ( 0))) : 0
31712
31776
  },
31713
31777
  onRemove: (value) => {
31714
31778
  onTagRemove(value);
@@ -31809,7 +31873,7 @@ function MarkdownEditor({
31809
31873
  const [defaultExtraCommands, setDefaultExtraCommands] = _react.useState.call(void 0, []);
31810
31874
  _react.useEffect.call(void 0, () => {
31811
31875
  Promise.resolve().then(() => _interopRequireWildcard(require("@uiw/react-md-editor"))).then((mod) => {
31812
- if (_optionalChain([mod, 'access', _650 => _650.commands, 'optionalAccess', _651 => _651.getExtraCommands])) {
31876
+ if (_optionalChain([mod, 'access', _658 => _658.commands, 'optionalAccess', _659 => _659.getExtraCommands])) {
31813
31877
  setDefaultExtraCommands(mod.commands.getExtraCommands());
31814
31878
  }
31815
31879
  });
@@ -31843,7 +31907,7 @@ function MarkdownEditor({
31843
31907
  const isImage = file.type.startsWith("image/");
31844
31908
  const markdown = isImage ? `![${file.name}](${url})` : `[${file.name}](${url})`;
31845
31909
  insertTextAtCursor(markdown);
31846
- _optionalChain([onFileUploaded, 'optionalCall', _652 => _652(url, file.name)]);
31910
+ _optionalChain([onFileUploaded, 'optionalCall', _660 => _660(url, file.name)]);
31847
31911
  } catch (error) {
31848
31912
  console.error("File upload failed:", error);
31849
31913
  setUploadProgress("Upload failed. Please try again.");
@@ -31856,7 +31920,7 @@ function MarkdownEditor({
31856
31920
  );
31857
31921
  const handleFileInputChange = _react.useCallback.call(void 0,
31858
31922
  (e) => {
31859
- const file = _optionalChain([e, 'access', _653 => _653.target, 'access', _654 => _654.files, 'optionalAccess', _655 => _655[0]]);
31923
+ const file = _optionalChain([e, 'access', _661 => _661.target, 'access', _662 => _662.files, 'optionalAccess', _663 => _663[0]]);
31860
31924
  if (file) {
31861
31925
  handleFileUpload(file);
31862
31926
  e.target.value = "";
@@ -31867,7 +31931,7 @@ function MarkdownEditor({
31867
31931
  const handlePaste = _react.useCallback.call(void 0,
31868
31932
  (e) => {
31869
31933
  if (!onUploadFile) return;
31870
- const items = _optionalChain([e, 'access', _656 => _656.clipboardData, 'optionalAccess', _657 => _657.items]);
31934
+ const items = _optionalChain([e, 'access', _664 => _664.clipboardData, 'optionalAccess', _665 => _665.items]);
31871
31935
  if (!items) return;
31872
31936
  for (const item of items) {
31873
31937
  if (item.type.startsWith("image/")) {
@@ -31892,7 +31956,7 @@ function MarkdownEditor({
31892
31956
  buttonProps: { "aria-label": "Upload file", title: "Upload file" },
31893
31957
  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" }),
31894
31958
  execute: () => {
31895
- _optionalChain([fileInputRef, 'access', _658 => _658.current, 'optionalAccess', _659 => _659.click, 'call', _660 => _660()]);
31959
+ _optionalChain([fileInputRef, 'access', _666 => _666.current, 'optionalAccess', _667 => _667.click, 'call', _668 => _668()]);
31896
31960
  }
31897
31961
  } : null;
31898
31962
  const extraCommands = uploadCommand ? [...defaultExtraCommands, uploadCommand] : defaultExtraCommands;
@@ -31904,7 +31968,7 @@ function MarkdownEditor({
31904
31968
  const EDGE_ZONE = 60;
31905
31969
  const MAX_SCROLL_SPEED = 15;
31906
31970
  const findScrollParent = _react.useCallback.call(void 0, (el) => {
31907
- let node = _optionalChain([el, 'optionalAccess', _661 => _661.parentElement]);
31971
+ let node = _optionalChain([el, 'optionalAccess', _669 => _669.parentElement]);
31908
31972
  while (node && node !== document.documentElement) {
31909
31973
  const { overflowY } = window.getComputedStyle(node);
31910
31974
  if ((overflowY === "auto" || overflowY === "scroll") && node.scrollHeight > node.clientHeight) {
@@ -32047,7 +32111,7 @@ function matchesAccept(file, accept) {
32047
32111
  });
32048
32112
  }
32049
32113
  function dragHasFiles(e) {
32050
- const types = _optionalChain([e, 'access', _662 => _662.dataTransfer, 'optionalAccess', _663 => _663.types]);
32114
+ const types = _optionalChain([e, 'access', _670 => _670.dataTransfer, 'optionalAccess', _671 => _671.types]);
32051
32115
  if (!types) return false;
32052
32116
  for (let i = 0; i < types.length; i++) {
32053
32117
  if (types[i] === "Files") return true;
@@ -32142,7 +32206,7 @@ function FileUpload({
32142
32206
  e.stopPropagation();
32143
32207
  setDragActive(false);
32144
32208
  if (disabled) return;
32145
- if (_optionalChain([e, 'access', _664 => _664.dataTransfer, 'access', _665 => _665.files, 'optionalAccess', _666 => _666.length])) {
32209
+ if (_optionalChain([e, 'access', _672 => _672.dataTransfer, 'access', _673 => _673.files, 'optionalAccess', _674 => _674.length])) {
32146
32210
  handleFiles(e.dataTransfer.files);
32147
32211
  }
32148
32212
  };
@@ -32170,7 +32234,7 @@ function FileUpload({
32170
32234
  e.preventDefault();
32171
32235
  dragCounter = 0;
32172
32236
  setDragActive(false);
32173
- if (_optionalChain([e, 'access', _667 => _667.dataTransfer, 'optionalAccess', _668 => _668.files, 'optionalAccess', _669 => _669.length])) {
32237
+ if (_optionalChain([e, 'access', _675 => _675.dataTransfer, 'optionalAccess', _676 => _676.files, 'optionalAccess', _677 => _677.length])) {
32174
32238
  handleFilesRef.current(e.dataTransfer.files);
32175
32239
  }
32176
32240
  };
@@ -32192,7 +32256,7 @@ function FileUpload({
32192
32256
  };
32193
32257
  }, [acceptWindowDrops, disabled]);
32194
32258
  const handleFileSelect = (e) => {
32195
- if (_optionalChain([e, 'access', _670 => _670.target, 'access', _671 => _671.files, 'optionalAccess', _672 => _672.length])) {
32259
+ if (_optionalChain([e, 'access', _678 => _678.target, 'access', _679 => _679.files, 'optionalAccess', _680 => _680.length])) {
32196
32260
  handleFiles(e.target.files);
32197
32261
  }
32198
32262
  };
@@ -32209,7 +32273,7 @@ function FileUpload({
32209
32273
  };
32210
32274
  const openDialog = async () => {
32211
32275
  if (disabled) return;
32212
- _optionalChain([fileInputRef, 'access', _673 => _673.current, 'optionalAccess', _674 => _674.click, 'call', _675 => _675()]);
32276
+ _optionalChain([fileInputRef, 'access', _681 => _681.current, 'optionalAccess', _682 => _682.click, 'call', _683 => _683()]);
32213
32277
  };
32214
32278
  const displayError = error || validationError || void 0;
32215
32279
  const hasFiles = isManaged ? managedFiles.length > 0 : files.length > 0;
@@ -32287,7 +32351,7 @@ function FileUpload({
32287
32351
  "button",
32288
32352
  {
32289
32353
  type: "button",
32290
- onClick: () => _optionalChain([onRemoveManagedFile, 'optionalCall', _676 => _676(entry.id)]),
32354
+ onClick: () => _optionalChain([onRemoveManagedFile, 'optionalCall', _684 => _684(entry.id)]),
32291
32355
  className: "shrink-0 p-1 rounded hover:bg-ods-bg transition-colors",
32292
32356
  "aria-label": `Remove ${entry.fileName}`,
32293
32357
  children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _lucidereact.X, { className: "size-4 text-ods-text-secondary" })
@@ -32410,7 +32474,7 @@ function ImageUploader({
32410
32474
  onChange(file);
32411
32475
  };
32412
32476
  const handleFileSelect = (e) => {
32413
- validateAndEmit(_optionalChain([e, 'access', _677 => _677.target, 'access', _678 => _678.files, 'optionalAccess', _679 => _679[0]]));
32477
+ validateAndEmit(_optionalChain([e, 'access', _685 => _685.target, 'access', _686 => _686.files, 'optionalAccess', _687 => _687[0]]));
32414
32478
  if (inputRef.current) inputRef.current.value = "";
32415
32479
  };
32416
32480
  const handleDrag = (e) => {
@@ -32425,11 +32489,11 @@ function ImageUploader({
32425
32489
  e.stopPropagation();
32426
32490
  setDragActive(false);
32427
32491
  if (!interactive) return;
32428
- validateAndEmit(_optionalChain([e, 'access', _680 => _680.dataTransfer, 'access', _681 => _681.files, 'optionalAccess', _682 => _682[0]]));
32492
+ validateAndEmit(_optionalChain([e, 'access', _688 => _688.dataTransfer, 'access', _689 => _689.files, 'optionalAccess', _690 => _690[0]]));
32429
32493
  };
32430
32494
  const openDialog = () => {
32431
32495
  if (!interactive) return;
32432
- _optionalChain([inputRef, 'access', _683 => _683.current, 'optionalAccess', _684 => _684.click, 'call', _685 => _685()]);
32496
+ _optionalChain([inputRef, 'access', _691 => _691.current, 'optionalAccess', _692 => _692.click, 'call', _693 => _693()]);
32433
32497
  };
32434
32498
  const handleRootKeyDown = (e) => {
32435
32499
  if (hasImage || !interactive) return;
@@ -32619,8 +32683,8 @@ function ColorPresetSelect({
32619
32683
  }) {
32620
32684
  const selectedPreset = presets.find((p) => p.key === presetKey);
32621
32685
  const isCustom = !selectedPreset;
32622
- const displayLabel = _nullishCoalesce(_optionalChain([selectedPreset, 'optionalAccess', _686 => _686.label]), () => ( "Custom"));
32623
- const displayColor = _nullishCoalesce(_optionalChain([selectedPreset, 'optionalAccess', _687 => _687.color]), () => ( value));
32686
+ const displayLabel = _nullishCoalesce(_optionalChain([selectedPreset, 'optionalAccess', _694 => _694.label]), () => ( "Custom"));
32687
+ const displayColor = _nullishCoalesce(_optionalChain([selectedPreset, 'optionalAccess', _695 => _695.color]), () => ( value));
32624
32688
  const groups = [
32625
32689
  {
32626
32690
  items: [
@@ -32910,7 +32974,7 @@ function TicketStatusConfigRow({
32910
32974
  _chunkGRTZ23GLcjs.Input,
32911
32975
  {
32912
32976
  value: name,
32913
- onChange: (e) => _optionalChain([onNameChange, 'optionalCall', _688 => _688(e.target.value)]),
32977
+ onChange: (e) => _optionalChain([onNameChange, 'optionalCall', _696 => _696(e.target.value)]),
32914
32978
  disabled: isSystem,
32915
32979
  readOnly: isSystem,
32916
32980
  "aria-label": "Status name",
@@ -32993,7 +33057,7 @@ function CompactAssigneeDropdown({
32993
33057
  return [current, ...filtered.filter((o) => o.value !== currentAssignee.id)];
32994
33058
  }, [filtered, currentAssignee]);
32995
33059
  const handleSelect = (userId) => {
32996
- const next = _optionalChain([currentAssignee, 'optionalAccess', _689 => _689.id]) === userId ? null : userId;
33060
+ const next = _optionalChain([currentAssignee, 'optionalAccess', _697 => _697.id]) === userId ? null : userId;
32997
33061
  onAssign(next);
32998
33062
  setIsOpen(false);
32999
33063
  };
@@ -33058,7 +33122,7 @@ function CompactAssigneeDropdown({
33058
33122
  }
33059
33123
  ) }),
33060
33124
  /* @__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) => {
33061
- const isCurrent = _optionalChain([currentAssignee, 'optionalAccess', _690 => _690.id]) === opt.value;
33125
+ const isCurrent = _optionalChain([currentAssignee, 'optionalAccess', _698 => _698.id]) === opt.value;
33062
33126
  return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
33063
33127
  "button",
33064
33128
  {
@@ -33127,7 +33191,7 @@ function DefaultAssigneeDropdown({
33127
33191
  Autocomplete,
33128
33192
  {
33129
33193
  options,
33130
- value: _nullishCoalesce(_optionalChain([currentAssignee, 'optionalAccess', _691 => _691.id]), () => ( null)),
33194
+ value: _nullishCoalesce(_optionalChain([currentAssignee, 'optionalAccess', _699 => _699.id]), () => ( null)),
33131
33195
  onChange: (val) => {
33132
33196
  onAssign(val);
33133
33197
  setIsEditing(false);
@@ -33516,14 +33580,14 @@ function TicketInfoSection({
33516
33580
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
33517
33581
  SquareAvatar,
33518
33582
  {
33519
- src: _optionalChain([organization, 'optionalAccess', _692 => _692.imageSrc]),
33520
- alt: _optionalChain([organization, 'optionalAccess', _693 => _693.name]),
33521
- fallback: _optionalChain([organization, 'optionalAccess', _694 => _694.name]) || "Org",
33583
+ src: _optionalChain([organization, 'optionalAccess', _700 => _700.imageSrc]),
33584
+ alt: _optionalChain([organization, 'optionalAccess', _701 => _701.name]),
33585
+ fallback: _optionalChain([organization, 'optionalAccess', _702 => _702.name]) || "Org",
33522
33586
  size: "md",
33523
33587
  className: "shrink-0"
33524
33588
  }
33525
33589
  ),
33526
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, InfoCell2, { value: _optionalChain([organization, 'optionalAccess', _695 => _695.name]) || "Unassigned", label: "Organization" })
33590
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, InfoCell2, { value: _optionalChain([organization, 'optionalAccess', _703 => _703.name]) || "Unassigned", label: "Organization" })
33527
33591
  ] }),
33528
33592
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "min-w-0", children: assigned ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
33529
33593
  AssigneeDropdown,
@@ -33544,10 +33608,10 @@ function TicketInfoSection({
33544
33608
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
33545
33609
  InfoCell2,
33546
33610
  {
33547
- value: _optionalChain([device, 'optionalAccess', _696 => _696.name]) || "Unassigned",
33611
+ value: _optionalChain([device, 'optionalAccess', _704 => _704.name]) || "Unassigned",
33548
33612
  label: "Device",
33549
- icon: _optionalChain([device, 'optionalAccess', _697 => _697.icon]),
33550
- onClick: _optionalChain([device, 'optionalAccess', _698 => _698.onClick])
33613
+ icon: _optionalChain([device, 'optionalAccess', _705 => _705.icon]),
33614
+ onClick: _optionalChain([device, 'optionalAccess', _706 => _706.onClick])
33551
33615
  }
33552
33616
  ),
33553
33617
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex items-center gap-4 min-w-0", children: [
@@ -33876,7 +33940,7 @@ function RoadmapCard({
33876
33940
  const compactHref = safeHref(_nullishCoalesce(href, () => ( null)));
33877
33941
  const hasVotes = (_nullishCoalesce(item.upvotes, () => ( 0))) > 0 || (_nullishCoalesce(item.downvotes, () => ( 0))) > 0;
33878
33942
  const hasFigma = !!item.figmaUrl;
33879
- const hasScreenshots = (_nullishCoalesce(_optionalChain([item, 'access', _699 => _699.screenshots, 'optionalAccess', _700 => _700.length]), () => ( 0))) > 0;
33943
+ const hasScreenshots = (_nullishCoalesce(_optionalChain([item, 'access', _707 => _707.screenshots, 'optionalAccess', _708 => _708.length]), () => ( 0))) > 0;
33880
33944
  const typeLabel = getTaskTypeLabel(item.customItemId);
33881
33945
  const useTypeIcon = cardType === "internal_task" || !iconSrc && item.customItemId != null;
33882
33946
  const body = /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _jsxruntime.Fragment, { children: [
@@ -33895,7 +33959,7 @@ function RoadmapCard({
33895
33959
  unoptimized: true,
33896
33960
  className: "h-8 w-8 object-contain"
33897
33961
  }
33898
- ) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "text-[10px] font-medium uppercase text-ods-text-secondary", children: _optionalChain([item, 'access', _701 => _701.title, 'optionalAccess', _702 => _702.substring, 'call', _703 => _703(0, 2)]) || "??" })
33962
+ ) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "text-[10px] font-medium uppercase text-ods-text-secondary", children: _optionalChain([item, 'access', _709 => _709.title, 'optionalAccess', _710 => _710.substring, 'call', _711 => _711(0, 2)]) || "??" })
33899
33963
  }
33900
33964
  ),
33901
33965
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: COMPACT_CARD_TEXT_COL, children: [
@@ -33970,7 +34034,7 @@ function RoadmapCard({
33970
34034
  unoptimized: true,
33971
34035
  className: "object-contain p-1"
33972
34036
  }
33973
- ) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "text-xs font-medium uppercase text-ods-text-secondary", children: _optionalChain([item, 'access', _704 => _704.title, 'optionalAccess', _705 => _705.substring, 'call', _706 => _706(0, 2)]) || "??" }) }),
34037
+ ) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "text-xs font-medium uppercase text-ods-text-secondary", children: _optionalChain([item, 'access', _712 => _712.title, 'optionalAccess', _713 => _713.substring, 'call', _714 => _714(0, 2)]) || "??" }) }),
33974
34038
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex-1 min-w-0 flex flex-col", children: [
33975
34039
  /* @__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 }) }),
33976
34040
  /* @__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: [
@@ -34480,7 +34544,7 @@ function DataRoomDocCard({ item, className, badgeText, anchorProps }) {
34480
34544
  ] }) : null,
34481
34545
  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
34482
34546
  ] }),
34483
- _optionalChain([anchorProps, 'optionalAccess', _707 => _707.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
34547
+ _optionalChain([anchorProps, 'optionalAccess', _715 => _715.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
34484
34548
  ] });
34485
34549
  if (!anchorProps) {
34486
34550
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: `${COMPACT_CARD_OUTER_STATIC} ${_nullishCoalesce(className, () => ( ""))}`, "aria-label": "No link available", children: body });
@@ -34550,7 +34614,7 @@ function getDefaultOptions() {
34550
34614
  // node_modules/date-fns/startOfWeek.mjs
34551
34615
  function startOfWeek(date, options) {
34552
34616
  const defaultOptions2 = getDefaultOptions();
34553
- const weekStartsOn = _nullishCoalesce(_nullishCoalesce(_nullishCoalesce(_nullishCoalesce(_optionalChain([options, 'optionalAccess', _708 => _708.weekStartsOn]), () => ( _optionalChain([options, 'optionalAccess', _709 => _709.locale, 'optionalAccess', _710 => _710.options, 'optionalAccess', _711 => _711.weekStartsOn]))), () => ( defaultOptions2.weekStartsOn)), () => ( _optionalChain([defaultOptions2, 'access', _712 => _712.locale, 'optionalAccess', _713 => _713.options, 'optionalAccess', _714 => _714.weekStartsOn]))), () => ( 0));
34617
+ const weekStartsOn = _nullishCoalesce(_nullishCoalesce(_nullishCoalesce(_nullishCoalesce(_optionalChain([options, 'optionalAccess', _716 => _716.weekStartsOn]), () => ( _optionalChain([options, 'optionalAccess', _717 => _717.locale, 'optionalAccess', _718 => _718.options, 'optionalAccess', _719 => _719.weekStartsOn]))), () => ( defaultOptions2.weekStartsOn)), () => ( _optionalChain([defaultOptions2, 'access', _720 => _720.locale, 'optionalAccess', _721 => _721.options, 'optionalAccess', _722 => _722.weekStartsOn]))), () => ( 0));
34554
34618
  const _date = toDate(date);
34555
34619
  const day = _date.getDay();
34556
34620
  const diff = (day < weekStartsOn ? 7 : 0) + day - weekStartsOn;
@@ -34725,7 +34789,7 @@ var formatDistance = (token, count, options) => {
34725
34789
  } else {
34726
34790
  result = tokenValue.other.replace("{{count}}", count.toString());
34727
34791
  }
34728
- if (_optionalChain([options, 'optionalAccess', _715 => _715.addSuffix])) {
34792
+ if (_optionalChain([options, 'optionalAccess', _723 => _723.addSuffix])) {
34729
34793
  if (options.comparison && options.comparison > 0) {
34730
34794
  return "in " + result;
34731
34795
  } else {
@@ -34792,15 +34856,15 @@ var formatRelative = (token, _date, _baseDate, _options) => formatRelativeLocale
34792
34856
  // node_modules/date-fns/locale/_lib/buildLocalizeFn.mjs
34793
34857
  function buildLocalizeFn(args) {
34794
34858
  return (value, options) => {
34795
- const context = _optionalChain([options, 'optionalAccess', _716 => _716.context]) ? String(options.context) : "standalone";
34859
+ const context = _optionalChain([options, 'optionalAccess', _724 => _724.context]) ? String(options.context) : "standalone";
34796
34860
  let valuesArray;
34797
34861
  if (context === "formatting" && args.formattingValues) {
34798
34862
  const defaultWidth = args.defaultFormattingWidth || args.defaultWidth;
34799
- const width = _optionalChain([options, 'optionalAccess', _717 => _717.width]) ? String(options.width) : defaultWidth;
34863
+ const width = _optionalChain([options, 'optionalAccess', _725 => _725.width]) ? String(options.width) : defaultWidth;
34800
34864
  valuesArray = args.formattingValues[width] || args.formattingValues[defaultWidth];
34801
34865
  } else {
34802
34866
  const defaultWidth = args.defaultWidth;
34803
- const width = _optionalChain([options, 'optionalAccess', _718 => _718.width]) ? String(options.width) : args.defaultWidth;
34867
+ const width = _optionalChain([options, 'optionalAccess', _726 => _726.width]) ? String(options.width) : args.defaultWidth;
34804
34868
  valuesArray = args.values[width] || args.values[defaultWidth];
34805
34869
  }
34806
34870
  const index = args.argumentCallback ? args.argumentCallback(value) : value;
@@ -35180,7 +35244,7 @@ function getWeekYear(date, options) {
35180
35244
  const _date = toDate(date);
35181
35245
  const year = _date.getFullYear();
35182
35246
  const defaultOptions2 = getDefaultOptions();
35183
- const firstWeekContainsDate = _nullishCoalesce(_nullishCoalesce(_nullishCoalesce(_nullishCoalesce(_optionalChain([options, 'optionalAccess', _719 => _719.firstWeekContainsDate]), () => ( _optionalChain([options, 'optionalAccess', _720 => _720.locale, 'optionalAccess', _721 => _721.options, 'optionalAccess', _722 => _722.firstWeekContainsDate]))), () => ( defaultOptions2.firstWeekContainsDate)), () => ( _optionalChain([defaultOptions2, 'access', _723 => _723.locale, 'optionalAccess', _724 => _724.options, 'optionalAccess', _725 => _725.firstWeekContainsDate]))), () => ( 1));
35247
+ const firstWeekContainsDate = _nullishCoalesce(_nullishCoalesce(_nullishCoalesce(_nullishCoalesce(_optionalChain([options, 'optionalAccess', _727 => _727.firstWeekContainsDate]), () => ( _optionalChain([options, 'optionalAccess', _728 => _728.locale, 'optionalAccess', _729 => _729.options, 'optionalAccess', _730 => _730.firstWeekContainsDate]))), () => ( defaultOptions2.firstWeekContainsDate)), () => ( _optionalChain([defaultOptions2, 'access', _731 => _731.locale, 'optionalAccess', _732 => _732.options, 'optionalAccess', _733 => _733.firstWeekContainsDate]))), () => ( 1));
35184
35248
  const firstWeekOfNextYear = constructFrom(date, 0);
35185
35249
  firstWeekOfNextYear.setFullYear(year + 1, 0, firstWeekContainsDate);
35186
35250
  firstWeekOfNextYear.setHours(0, 0, 0, 0);
@@ -35201,7 +35265,7 @@ function getWeekYear(date, options) {
35201
35265
  // node_modules/date-fns/startOfWeekYear.mjs
35202
35266
  function startOfWeekYear(date, options) {
35203
35267
  const defaultOptions2 = getDefaultOptions();
35204
- const firstWeekContainsDate = _nullishCoalesce(_nullishCoalesce(_nullishCoalesce(_nullishCoalesce(_optionalChain([options, 'optionalAccess', _726 => _726.firstWeekContainsDate]), () => ( _optionalChain([options, 'optionalAccess', _727 => _727.locale, 'optionalAccess', _728 => _728.options, 'optionalAccess', _729 => _729.firstWeekContainsDate]))), () => ( defaultOptions2.firstWeekContainsDate)), () => ( _optionalChain([defaultOptions2, 'access', _730 => _730.locale, 'optionalAccess', _731 => _731.options, 'optionalAccess', _732 => _732.firstWeekContainsDate]))), () => ( 1));
35268
+ const firstWeekContainsDate = _nullishCoalesce(_nullishCoalesce(_nullishCoalesce(_nullishCoalesce(_optionalChain([options, 'optionalAccess', _734 => _734.firstWeekContainsDate]), () => ( _optionalChain([options, 'optionalAccess', _735 => _735.locale, 'optionalAccess', _736 => _736.options, 'optionalAccess', _737 => _737.firstWeekContainsDate]))), () => ( defaultOptions2.firstWeekContainsDate)), () => ( _optionalChain([defaultOptions2, 'access', _738 => _738.locale, 'optionalAccess', _739 => _739.options, 'optionalAccess', _740 => _740.firstWeekContainsDate]))), () => ( 1));
35205
35269
  const year = getWeekYear(date, options);
35206
35270
  const firstWeek = constructFrom(date, 0);
35207
35271
  firstWeek.setFullYear(year, 0, firstWeekContainsDate);
@@ -36016,9 +36080,9 @@ var doubleQuoteRegExp = /''/g;
36016
36080
  var unescapedLatinCharacterRegExp = /[a-zA-Z]/;
36017
36081
  function format(date, formatStr, options) {
36018
36082
  const defaultOptions2 = getDefaultOptions();
36019
- const locale = _nullishCoalesce(_nullishCoalesce(_optionalChain([options, 'optionalAccess', _733 => _733.locale]), () => ( defaultOptions2.locale)), () => ( enUS));
36020
- const firstWeekContainsDate = _nullishCoalesce(_nullishCoalesce(_nullishCoalesce(_nullishCoalesce(_optionalChain([options, 'optionalAccess', _734 => _734.firstWeekContainsDate]), () => ( _optionalChain([options, 'optionalAccess', _735 => _735.locale, 'optionalAccess', _736 => _736.options, 'optionalAccess', _737 => _737.firstWeekContainsDate]))), () => ( defaultOptions2.firstWeekContainsDate)), () => ( _optionalChain([defaultOptions2, 'access', _738 => _738.locale, 'optionalAccess', _739 => _739.options, 'optionalAccess', _740 => _740.firstWeekContainsDate]))), () => ( 1));
36021
- const weekStartsOn = _nullishCoalesce(_nullishCoalesce(_nullishCoalesce(_nullishCoalesce(_optionalChain([options, 'optionalAccess', _741 => _741.weekStartsOn]), () => ( _optionalChain([options, 'optionalAccess', _742 => _742.locale, 'optionalAccess', _743 => _743.options, 'optionalAccess', _744 => _744.weekStartsOn]))), () => ( defaultOptions2.weekStartsOn)), () => ( _optionalChain([defaultOptions2, 'access', _745 => _745.locale, 'optionalAccess', _746 => _746.options, 'optionalAccess', _747 => _747.weekStartsOn]))), () => ( 0));
36083
+ const locale = _nullishCoalesce(_nullishCoalesce(_optionalChain([options, 'optionalAccess', _741 => _741.locale]), () => ( defaultOptions2.locale)), () => ( enUS));
36084
+ const firstWeekContainsDate = _nullishCoalesce(_nullishCoalesce(_nullishCoalesce(_nullishCoalesce(_optionalChain([options, 'optionalAccess', _742 => _742.firstWeekContainsDate]), () => ( _optionalChain([options, 'optionalAccess', _743 => _743.locale, 'optionalAccess', _744 => _744.options, 'optionalAccess', _745 => _745.firstWeekContainsDate]))), () => ( defaultOptions2.firstWeekContainsDate)), () => ( _optionalChain([defaultOptions2, 'access', _746 => _746.locale, 'optionalAccess', _747 => _747.options, 'optionalAccess', _748 => _748.firstWeekContainsDate]))), () => ( 1));
36085
+ const weekStartsOn = _nullishCoalesce(_nullishCoalesce(_nullishCoalesce(_nullishCoalesce(_optionalChain([options, 'optionalAccess', _749 => _749.weekStartsOn]), () => ( _optionalChain([options, 'optionalAccess', _750 => _750.locale, 'optionalAccess', _751 => _751.options, 'optionalAccess', _752 => _752.weekStartsOn]))), () => ( defaultOptions2.weekStartsOn)), () => ( _optionalChain([defaultOptions2, 'access', _753 => _753.locale, 'optionalAccess', _754 => _754.options, 'optionalAccess', _755 => _755.weekStartsOn]))), () => ( 0));
36022
36086
  const originalDate = toDate(date);
36023
36087
  if (!isValid(originalDate)) {
36024
36088
  throw new RangeError("Invalid time value");
@@ -36059,7 +36123,7 @@ function format(date, formatStr, options) {
36059
36123
  return parts.map((part) => {
36060
36124
  if (!part.isToken) return part.value;
36061
36125
  const token = part.value;
36062
- if (!_optionalChain([options, 'optionalAccess', _748 => _748.useAdditionalWeekYearTokens]) && isProtectedWeekYearToken(token) || !_optionalChain([options, 'optionalAccess', _749 => _749.useAdditionalDayOfYearTokens]) && isProtectedDayOfYearToken(token)) {
36126
+ if (!_optionalChain([options, 'optionalAccess', _756 => _756.useAdditionalWeekYearTokens]) && isProtectedWeekYearToken(token) || !_optionalChain([options, 'optionalAccess', _757 => _757.useAdditionalDayOfYearTokens]) && isProtectedDayOfYearToken(token)) {
36063
36127
  warnOrThrowProtectedError(token, formatStr, String(date));
36064
36128
  }
36065
36129
  const formatter = formatters[token[0]];
@@ -36237,7 +36301,7 @@ function ProgramCard({
36237
36301
  const dur = formatDurationFromRange(w.start_at, w.end_at);
36238
36302
  typeMeta = dur ? `${time} \xB7 ${dur}` : time;
36239
36303
  }
36240
- const subtitleParts = [itemDate2, typeMeta, _optionalChain([config, 'access', _750 => _750.labels, 'optionalAccess', _751 => _751.singular])].filter(
36304
+ const subtitleParts = [itemDate2, typeMeta, _optionalChain([config, 'access', _758 => _758.labels, 'optionalAccess', _759 => _759.singular])].filter(
36241
36305
  (s) => typeof s === "string" && s.length > 0
36242
36306
  );
36243
36307
  return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "a", { href, target, rel, className: _chunkFIG2RKZFcjs.cn.call(void 0, COMPACT_CARD_OUTER, className), children: [
@@ -36394,7 +36458,7 @@ function ProgramCard({
36394
36458
 
36395
36459
 
36396
36460
  function CampaignCardAdmin({ campaign, className, anchorProps }) {
36397
- const goalsCount = _optionalChain([campaign, 'access', _752 => _752.goals, 'optionalAccess', _753 => _753.length]) || 0;
36461
+ const goalsCount = _optionalChain([campaign, 'access', _760 => _760.goals, 'optionalAccess', _761 => _761.length]) || 0;
36398
36462
  const innerChildren = /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _jsxruntime.Fragment, { children: [
36399
36463
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: COMPACT_CARD_ICON_SLOT, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _lucidereact.Megaphone, { className: "h-5 w-5" }) }),
36400
36464
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: COMPACT_CARD_TEXT_COL, children: [
@@ -36485,33 +36549,6 @@ _chunkG7UE6RKVcjs.init_next_navigation.call(void 0, );
36485
36549
 
36486
36550
  // src/components/chat/hooks/use-chat-card-item.ts
36487
36551
  var _reactquery = require('@tanstack/react-query');
36488
- function extractItems(data) {
36489
- if (!data || typeof data !== "object") return [];
36490
- const obj = data;
36491
- if (Array.isArray(obj.items)) return obj.items;
36492
- if (Array.isArray(obj.posts)) return obj.posts;
36493
- if (Array.isArray(obj.campaigns)) return obj.campaigns;
36494
- if (Array.isArray(obj.completed) || Array.isArray(obj.inProgress)) {
36495
- const completed = Array.isArray(obj.completed) ? obj.completed : [];
36496
- const inProgress = Array.isArray(obj.inProgress) ? obj.inProgress : [];
36497
- return [...completed, ...inProgress];
36498
- }
36499
- if (Array.isArray(obj.data)) return obj.data;
36500
- if (Array.isArray(data)) return data;
36501
- return [];
36502
- }
36503
- function extractItemId(type, item) {
36504
- if (!item || typeof item !== "object") return null;
36505
- const obj = item;
36506
- if (type === "roadmap_item" || type === "delivery_item" || type === "internal_task") {
36507
- const ext = obj.external_id;
36508
- if (typeof ext === "string") return ext;
36509
- }
36510
- const id = obj.id;
36511
- if (typeof id === "string") return id;
36512
- if (typeof id === "number") return String(id);
36513
- return null;
36514
- }
36515
36552
  function useChatCardItem(type, id) {
36516
36553
  const runtime = _chunkMEAR2WHScjs.useRequiredChatRuntime.call(void 0, );
36517
36554
  const url = runtime.endpoints.buildListUrl(type, [id]);
@@ -36583,7 +36620,7 @@ function resolveSourceRowCTA(row, ctx = {}) {
36583
36620
  if (row.path && shouldFallbackToPathNav(row) && !row.externalUrl) {
36584
36621
  const safePath = sanitizePath(row.path);
36585
36622
  if (safePath) {
36586
- const docTarget = row.documentType ? _optionalChain([ctx, 'access', _754 => _754.docPlatformTargets, 'optionalAccess', _755 => _755[row.documentType]]) : void 0;
36623
+ const docTarget = row.documentType ? _optionalChain([ctx, 'access', _762 => _762.docPlatformTargets, 'optionalAccess', _763 => _763[row.documentType]]) : void 0;
36587
36624
  if (docTarget) {
36588
36625
  const seg = docTarget.basePath.split("/").filter(Boolean).join("/");
36589
36626
  const base = `${_chunkFIG2RKZFcjs.getBaseUrl.call(void 0, docTarget.platform)}${seg ? `/${seg}` : ""}/`;
@@ -36798,8 +36835,8 @@ function cardMenuGroups(href, discuss, openDetails) {
36798
36835
  if (href) {
36799
36836
  items.push({
36800
36837
  id: "open-details",
36801
- label: _nullishCoalesce(_optionalChain([openDetails, 'optionalAccess', _756 => _756.label]), () => ( "Open Details")),
36802
- icon: _nullishCoalesce(_optionalChain([openDetails, 'optionalAccess', _757 => _757.icon]), () => ( /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkC6ASEPZLcjs.EyeIcon, { size: 20 }))),
36838
+ label: _nullishCoalesce(_optionalChain([openDetails, 'optionalAccess', _764 => _764.label]), () => ( "Open Details")),
36839
+ icon: _nullishCoalesce(_optionalChain([openDetails, 'optionalAccess', _765 => _765.icon]), () => ( /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkC6ASEPZLcjs.EyeIcon, { size: 20 }))),
36803
36840
  // Main row → open the entity (same tab, soft Link nav).
36804
36841
  href,
36805
36842
  // Trailing 40px ↗ side-button → open in a new tab.
@@ -36829,8 +36866,8 @@ function HubspotTicketChatCard({
36829
36866
  isNewTab,
36830
36867
  discuss
36831
36868
  }) {
36832
- const status = typeof _optionalChain([chatRef, 'access', _758 => _758.metadata, 'optionalAccess', _759 => _759.status]) === "string" ? chatRef.metadata.status : void 0;
36833
- const statusLabel = typeof _optionalChain([chatRef, 'access', _760 => _760.metadata, 'optionalAccess', _761 => _761.statusLabel]) === "string" ? chatRef.metadata.statusLabel : void 0;
36869
+ const status = typeof _optionalChain([chatRef, 'access', _766 => _766.metadata, 'optionalAccess', _767 => _767.status]) === "string" ? chatRef.metadata.status : void 0;
36870
+ const statusLabel = typeof _optionalChain([chatRef, 'access', _768 => _768.metadata, 'optionalAccess', _769 => _769.statusLabel]) === "string" ? chatRef.metadata.statusLabel : void 0;
36834
36871
  const statusText = _nullishCoalesce(statusLabel, () => ( formatStatusToken(status)));
36835
36872
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
36836
36873
  MingoInfoCard,
@@ -36853,7 +36890,7 @@ function SlackChatCard({
36853
36890
  isNewTab,
36854
36891
  discuss
36855
36892
  }) {
36856
- const channelName = typeof _optionalChain([chatRef, 'access', _762 => _762.metadata, 'optionalAccess', _763 => _763.channelName]) === "string" ? chatRef.metadata.channelName.trim() : void 0;
36893
+ const channelName = typeof _optionalChain([chatRef, 'access', _770 => _770.metadata, 'optionalAccess', _771 => _771.channelName]) === "string" ? chatRef.metadata.channelName.trim() : void 0;
36857
36894
  const channelPretty = channelName ? channelName.startsWith("#") ? channelName : `#${channelName}` : void 0;
36858
36895
  const title = channelPretty ? `${chatRef.title} \xB7 ${channelPretty}` : chatRef.title;
36859
36896
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
@@ -36893,7 +36930,7 @@ function GenericFinancialChatCard({
36893
36930
  isNewTab,
36894
36931
  discuss
36895
36932
  }) {
36896
- const subtitle = typeof _optionalChain([chatRef, 'access', _764 => _764.metadata, 'optionalAccess', _765 => _765.subtitle]) === "string" ? chatRef.metadata.subtitle : void 0;
36933
+ const subtitle = typeof _optionalChain([chatRef, 'access', _772 => _772.metadata, 'optionalAccess', _773 => _773.subtitle]) === "string" ? chatRef.metadata.subtitle : void 0;
36897
36934
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
36898
36935
  MingoInfoCard,
36899
36936
  {
@@ -36962,12 +36999,12 @@ function ProductReleaseChatCard({
36962
36999
  discuss
36963
37000
  }) {
36964
37001
  const releaseProps = buildProps(item);
36965
- const status = _optionalChain([item, 'optionalAccess', _766 => _766.version]) ? { label: String(item.version), variant: "grey" } : { label: "Release", variant: "grey" };
37002
+ const status = _optionalChain([item, 'optionalAccess', _774 => _774.version]) ? { label: String(item.version), variant: "grey" } : { label: "Release", variant: "grey" };
36966
37003
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
36967
37004
  EntityMingoCard,
36968
37005
  {
36969
- title: _nullishCoalesce(_optionalChain([item, 'optionalAccess', _767 => _767.title]), () => ( "")),
36970
- description: _optionalChain([item, 'optionalAccess', _768 => _768.summary]) || releaseProps.formattedDate || void 0,
37006
+ title: _nullishCoalesce(_optionalChain([item, 'optionalAccess', _775 => _775.title]), () => ( "")),
37007
+ description: _optionalChain([item, 'optionalAccess', _776 => _776.summary]) || releaseProps.formattedDate || void 0,
36971
37008
  cover: releaseProps.coverImage || void 0,
36972
37009
  fallbackIcon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkC6ASEPZLcjs.Rocket02Icon, { size: 24 }),
36973
37010
  status,
@@ -36984,17 +37021,17 @@ function CampaignChatCard({
36984
37021
  isNewTab,
36985
37022
  discuss
36986
37023
  }) {
36987
- const goalsCount = Array.isArray(_optionalChain([item, 'optionalAccess', _769 => _769.goals])) ? item.goals.length : 0;
37024
+ const goalsCount = Array.isArray(_optionalChain([item, 'optionalAccess', _777 => _777.goals])) ? item.goals.length : 0;
36988
37025
  const meta = [
36989
- _optionalChain([item, 'optionalAccess', _770 => _770.start_date]) ? formatDateShort(item.start_date) : null,
37026
+ _optionalChain([item, 'optionalAccess', _778 => _778.start_date]) ? formatDateShort(item.start_date) : null,
36990
37027
  goalsCount > 0 ? `${goalsCount} goal${goalsCount !== 1 ? "s" : ""}` : null,
36991
37028
  "Marketing campaign"
36992
37029
  ].filter(Boolean).join(" \xB7 ");
36993
37030
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
36994
37031
  EntityMingoCard,
36995
37032
  {
36996
- title: _nullishCoalesce(_optionalChain([item, 'optionalAccess', _771 => _771.name]), () => ( "")),
36997
- description: meta || _optionalChain([item, 'optionalAccess', _772 => _772.description]) || void 0,
37033
+ title: _nullishCoalesce(_optionalChain([item, 'optionalAccess', _779 => _779.name]), () => ( "")),
37034
+ description: meta || _optionalChain([item, 'optionalAccess', _780 => _780.description]) || void 0,
36998
37035
  fallbackIcon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkC6ASEPZLcjs.Megaphone01Icon, { size: 24 }),
36999
37036
  chatRef,
37000
37037
  isNewTab,
@@ -37047,14 +37084,14 @@ function BlogChatCard({
37047
37084
  hasEmbeddedVideo,
37048
37085
  discuss
37049
37086
  }) {
37050
- const category = Array.isArray(_optionalChain([item, 'optionalAccess', _773 => _773.categories])) ? _optionalChain([item, 'access', _774 => _774.categories, 'access', _775 => _775.find, 'call', _776 => _776((c) => c && c.name), 'optionalAccess', _777 => _777.name]) : void 0;
37087
+ const category = Array.isArray(_optionalChain([item, 'optionalAccess', _781 => _781.categories])) ? _optionalChain([item, 'access', _782 => _782.categories, 'access', _783 => _783.find, 'call', _784 => _784((c) => c && c.name), 'optionalAccess', _785 => _785.name]) : void 0;
37051
37088
  const status = hasEmbeddedVideo ? { label: "Video", variant: "primary" } : category ? { label: category, variant: "grey" } : void 0;
37052
37089
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
37053
37090
  EntityMingoCard,
37054
37091
  {
37055
- title: _nullishCoalesce(_optionalChain([item, 'optionalAccess', _778 => _778.title]), () => ( "")),
37056
- description: _nullishCoalesce(_optionalChain([item, 'optionalAccess', _779 => _779.summary]), () => ( void 0)),
37057
- cover: entityCover(_optionalChain([item, 'optionalAccess', _780 => _780.featured_image]), ogPlaceholder),
37092
+ title: _nullishCoalesce(_optionalChain([item, 'optionalAccess', _786 => _786.title]), () => ( "")),
37093
+ description: _nullishCoalesce(_optionalChain([item, 'optionalAccess', _787 => _787.summary]), () => ( void 0)),
37094
+ cover: entityCover(_optionalChain([item, 'optionalAccess', _788 => _788.featured_image]), ogPlaceholder),
37058
37095
  fallbackIcon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkC6ASEPZLcjs.NewspaperIcon, { size: 24 }),
37059
37096
  status,
37060
37097
  chatRef,
@@ -37071,13 +37108,13 @@ function CaseStudyChatCard({
37071
37108
  ogPlaceholder,
37072
37109
  discuss
37073
37110
  }) {
37074
- const meta = [_optionalChain([item, 'optionalAccess', _781 => _781.msp, 'optionalAccess', _782 => _782.name]), _optionalChain([item, 'optionalAccess', _783 => _783.user, 'optionalAccess', _784 => _784.full_name])].filter(Boolean).join(" \xB7 ");
37111
+ const meta = [_optionalChain([item, 'optionalAccess', _789 => _789.msp, 'optionalAccess', _790 => _790.name]), _optionalChain([item, 'optionalAccess', _791 => _791.user, 'optionalAccess', _792 => _792.full_name])].filter(Boolean).join(" \xB7 ");
37075
37112
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
37076
37113
  EntityMingoCard,
37077
37114
  {
37078
- title: _nullishCoalesce(_optionalChain([item, 'optionalAccess', _785 => _785.title]), () => ( "")),
37079
- description: _optionalChain([item, 'optionalAccess', _786 => _786.summary]) || meta || void 0,
37080
- cover: entityCover(_optionalChain([item, 'optionalAccess', _787 => _787.featured_image]), ogPlaceholder),
37115
+ title: _nullishCoalesce(_optionalChain([item, 'optionalAccess', _793 => _793.title]), () => ( "")),
37116
+ description: _optionalChain([item, 'optionalAccess', _794 => _794.summary]) || meta || void 0,
37117
+ cover: entityCover(_optionalChain([item, 'optionalAccess', _795 => _795.featured_image]), ogPlaceholder),
37081
37118
  fallbackIcon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkC6ASEPZLcjs.TrophyIcon, { size: 24 }),
37082
37119
  status: { label: "Case study", variant: "grey" },
37083
37120
  chatRef,
@@ -37094,13 +37131,13 @@ function CustomerInterviewChatCard({
37094
37131
  ogPlaceholder,
37095
37132
  discuss
37096
37133
  }) {
37097
- const meta = [_optionalChain([item, 'optionalAccess', _788 => _788.user, 'optionalAccess', _789 => _789.full_name]), _optionalChain([item, 'optionalAccess', _790 => _790.msp, 'optionalAccess', _791 => _791.name])].filter(Boolean).join(" \xB7 ");
37134
+ const meta = [_optionalChain([item, 'optionalAccess', _796 => _796.user, 'optionalAccess', _797 => _797.full_name]), _optionalChain([item, 'optionalAccess', _798 => _798.msp, 'optionalAccess', _799 => _799.name])].filter(Boolean).join(" \xB7 ");
37098
37135
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
37099
37136
  EntityMingoCard,
37100
37137
  {
37101
- title: _nullishCoalesce(_optionalChain([item, 'optionalAccess', _792 => _792.title]), () => ( "")),
37102
- description: _optionalChain([item, 'optionalAccess', _793 => _793.video_summary]) || meta || void 0,
37103
- cover: entityCover(_optionalChain([item, 'optionalAccess', _794 => _794.featured_image]), ogPlaceholder),
37138
+ title: _nullishCoalesce(_optionalChain([item, 'optionalAccess', _800 => _800.title]), () => ( "")),
37139
+ description: _optionalChain([item, 'optionalAccess', _801 => _801.video_summary]) || meta || void 0,
37140
+ cover: entityCover(_optionalChain([item, 'optionalAccess', _802 => _802.featured_image]), ogPlaceholder),
37104
37141
  fallbackIcon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkC6ASEPZLcjs.MicrophoneIcon, { size: 24 }),
37105
37142
  status: { label: "Interview", variant: "grey" },
37106
37143
  chatRef,
@@ -37117,13 +37154,13 @@ function InvestorUpdateChatCard({
37117
37154
  ogPlaceholder,
37118
37155
  discuss
37119
37156
  }) {
37120
- const title = _optionalChain([item, 'optionalAccess', _795 => _795.title]) || `Update #${_nullishCoalesce(_optionalChain([item, 'optionalAccess', _796 => _796.update_number]), () => ( "?"))}`;
37157
+ const title = _optionalChain([item, 'optionalAccess', _803 => _803.title]) || `Update #${_nullishCoalesce(_optionalChain([item, 'optionalAccess', _804 => _804.update_number]), () => ( "?"))}`;
37121
37158
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
37122
37159
  EntityMingoCard,
37123
37160
  {
37124
37161
  title,
37125
- description: _optionalChain([item, 'optionalAccess', _797 => _797.strategic_update]) || _optionalChain([item, 'optionalAccess', _798 => _798.content]) || formatInvestorUpdatePeriod(_optionalChain([item, 'optionalAccess', _799 => _799.period_start]), _optionalChain([item, 'optionalAccess', _800 => _800.period_end])) || void 0,
37126
- cover: entityCover(_optionalChain([item, 'optionalAccess', _801 => _801.featured_image]), ogPlaceholder),
37162
+ description: _optionalChain([item, 'optionalAccess', _805 => _805.strategic_update]) || _optionalChain([item, 'optionalAccess', _806 => _806.content]) || formatInvestorUpdatePeriod(_optionalChain([item, 'optionalAccess', _807 => _807.period_start]), _optionalChain([item, 'optionalAccess', _808 => _808.period_end])) || void 0,
37163
+ cover: entityCover(_optionalChain([item, 'optionalAccess', _809 => _809.featured_image]), ogPlaceholder),
37127
37164
  fallbackIcon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkC6ASEPZLcjs.PresentationLineIcon, { size: 24 }),
37128
37165
  status: { label: "Investor update", variant: "grey" },
37129
37166
  chatRef,
@@ -37140,12 +37177,12 @@ function OnboardingGuideChatCard({
37140
37177
  ogPlaceholder,
37141
37178
  discuss
37142
37179
  }) {
37143
- const cover = _nullishCoalesce(_nullishCoalesce(entityCover(_optionalChain([item, 'optionalAccess', _802 => _802.featured_image])), () => ( entityCover(_optionalChain([item, 'optionalAccess', _803 => _803.main_video_thumbnail])))), () => ( entityCover(_optionalChain([item, 'optionalAccess', _804 => _804.og_image_url]), ogPlaceholder)));
37180
+ const cover = _nullishCoalesce(_nullishCoalesce(entityCover(_optionalChain([item, 'optionalAccess', _810 => _810.featured_image])), () => ( entityCover(_optionalChain([item, 'optionalAccess', _811 => _811.main_video_thumbnail])))), () => ( entityCover(_optionalChain([item, 'optionalAccess', _812 => _812.og_image_url]), ogPlaceholder)));
37144
37181
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
37145
37182
  EntityMingoCard,
37146
37183
  {
37147
- title: _nullishCoalesce(_optionalChain([item, 'optionalAccess', _805 => _805.title]), () => ( "")),
37148
- description: _nullishCoalesce(_nullishCoalesce(_optionalChain([item, 'optionalAccess', _806 => _806.summary]), () => ( _optionalChain([item, 'optionalAccess', _807 => _807.description]))), () => ( void 0)),
37184
+ title: _nullishCoalesce(_optionalChain([item, 'optionalAccess', _813 => _813.title]), () => ( "")),
37185
+ description: _nullishCoalesce(_nullishCoalesce(_optionalChain([item, 'optionalAccess', _814 => _814.summary]), () => ( _optionalChain([item, 'optionalAccess', _815 => _815.description]))), () => ( void 0)),
37149
37186
  cover,
37150
37187
  fallbackIcon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkC6ASEPZLcjs.CompassIcon, { size: 24 }),
37151
37188
  status: { label: "Guide", variant: "grey" },
@@ -37166,25 +37203,25 @@ function ProgramChatCard({
37166
37203
  discuss
37167
37204
  }) {
37168
37205
  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 });
37169
- const isScheduled = _optionalChain([item, 'optionalAccess', _808 => _808.status]) === "scheduled";
37206
+ const isScheduled = _optionalChain([item, 'optionalAccess', _816 => _816.status]) === "scheduled";
37170
37207
  let typeMeta;
37171
- if (configKey === "podcast" && typeof _optionalChain([item, 'optionalAccess', _809 => _809.duration_seconds]) === "number" && item.duration_seconds > 0 && !isScheduled) {
37208
+ if (configKey === "podcast" && typeof _optionalChain([item, 'optionalAccess', _817 => _817.duration_seconds]) === "number" && item.duration_seconds > 0 && !isScheduled) {
37172
37209
  typeMeta = formatDurationCompact(item.duration_seconds);
37173
- } else if (configKey === "event" && typeof _optionalChain([item, 'optionalAccess', _810 => _810.location_name]) === "string" && item.location_name.trim().length > 0) {
37210
+ } else if (configKey === "event" && typeof _optionalChain([item, 'optionalAccess', _818 => _818.location_name]) === "string" && item.location_name.trim().length > 0) {
37174
37211
  typeMeta = item.location_name;
37175
- } else if (configKey === "webinar" && _optionalChain([item, 'optionalAccess', _811 => _811.start_at])) {
37212
+ } else if (configKey === "webinar" && _optionalChain([item, 'optionalAccess', _819 => _819.start_at])) {
37176
37213
  const time = formatTimeWithTimezone(item.start_at, null);
37177
37214
  const dur = formatDurationFromRange(item.start_at, item.end_at);
37178
37215
  typeMeta = dur ? `${time} \xB7 ${dur}` : time;
37179
37216
  }
37180
- const itemDate = formatDateUTC(_nullishCoalesce(_optionalChain([item, 'optionalAccess', _812 => _812.date]), () => ( null)), { fallback: "", timezone: "local" });
37217
+ const itemDate = formatDateUTC(_nullishCoalesce(_optionalChain([item, 'optionalAccess', _820 => _820.date]), () => ( null)), { fallback: "", timezone: "local" });
37181
37218
  const meta = [itemDate, typeMeta].filter(Boolean).join(" \xB7 ");
37182
37219
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
37183
37220
  EntityMingoCard,
37184
37221
  {
37185
- title: _nullishCoalesce(_optionalChain([item, 'optionalAccess', _813 => _813.title]), () => ( "")),
37186
- description: meta || _optionalChain([item, 'optionalAccess', _814 => _814.description]) || void 0,
37187
- cover: entityCover(_optionalChain([item, 'optionalAccess', _815 => _815.cover_url]), ogPlaceholder),
37222
+ title: _nullishCoalesce(_optionalChain([item, 'optionalAccess', _821 => _821.title]), () => ( "")),
37223
+ description: meta || _optionalChain([item, 'optionalAccess', _822 => _822.description]) || void 0,
37224
+ cover: entityCover(_optionalChain([item, 'optionalAccess', _823 => _823.cover_url]), ogPlaceholder),
37188
37225
  fallbackIcon: icon,
37189
37226
  status: { label, variant: "grey" },
37190
37227
  chatRef,
@@ -37201,10 +37238,10 @@ function RoadmapChatCard({
37201
37238
  cardType,
37202
37239
  discuss
37203
37240
  }) {
37204
- const logoUrl = typeof _optionalChain([item, 'optionalAccess', _816 => _816.icon]) === "string" && item.icon.startsWith("http") ? item.icon : void 0;
37205
- const useTypeIcon = cardType === "internal_task" || !logoUrl && _optionalChain([item, 'optionalAccess', _817 => _817.customItemId]) != null;
37241
+ const logoUrl = typeof _optionalChain([item, 'optionalAccess', _824 => _824.icon]) === "string" && item.icon.startsWith("http") ? item.icon : void 0;
37242
+ const useTypeIcon = cardType === "internal_task" || !logoUrl && _optionalChain([item, 'optionalAccess', _825 => _825.customItemId]) != null;
37206
37243
  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 });
37207
- const icon = useTypeIcon ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, TaskTypeIcon, { customItemId: _optionalChain([item, 'optionalAccess', _818 => _818.customItemId]), className: "size-6" }) : logoUrl ? (
37244
+ const icon = useTypeIcon ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, TaskTypeIcon, { customItemId: _optionalChain([item, 'optionalAccess', _826 => _826.customItemId]), className: "size-6" }) : logoUrl ? (
37208
37245
  // Contained (not full-bleed) so the integration logo keeps its aspect
37209
37246
  // ratio inside the bordered icon box — matches RoadmapCard.
37210
37247
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "img", { src: logoUrl, alt: "", className: "size-6 object-contain" })
@@ -37212,10 +37249,10 @@ function RoadmapChatCard({
37212
37249
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
37213
37250
  EntityMingoCard,
37214
37251
  {
37215
- title: _nullishCoalesce(_optionalChain([item, 'optionalAccess', _819 => _819.title]), () => ( "")),
37216
- description: _nullishCoalesce(_optionalChain([item, 'optionalAccess', _820 => _820.description]), () => ( void 0)),
37252
+ title: _nullishCoalesce(_optionalChain([item, 'optionalAccess', _827 => _827.title]), () => ( "")),
37253
+ description: _nullishCoalesce(_optionalChain([item, 'optionalAccess', _828 => _828.description]), () => ( void 0)),
37217
37254
  fallbackIcon: icon,
37218
- status: statusPill(_optionalChain([item, 'optionalAccess', _821 => _821.status])),
37255
+ status: statusPill(_optionalChain([item, 'optionalAccess', _829 => _829.status])),
37219
37256
  chatRef,
37220
37257
  isNewTab,
37221
37258
  discuss,
@@ -37301,7 +37338,7 @@ function programRegistryEntries() {
37301
37338
  discuss: opts.discuss,
37302
37339
  configKey: cfg.configKey,
37303
37340
  label: cfg.configKey.charAt(0).toUpperCase() + cfg.configKey.slice(1),
37304
- ogPlaceholder: _nullishCoalesce(_optionalChain([opts, 'optionalAccess', _822 => _822.extras, 'optionalAccess', _823 => _823.buildOgPlaceholderUrl, 'optionalCall', _824 => _824(_nullishCoalesce(_optionalChain([item, 'optionalAccess', _825 => _825.title]), () => ( "")))]), () => ( null))
37341
+ ogPlaceholder: _nullishCoalesce(_optionalChain([opts, 'optionalAccess', _830 => _830.extras, 'optionalAccess', _831 => _831.buildOgPlaceholderUrl, 'optionalCall', _832 => _832(_nullishCoalesce(_optionalChain([item, 'optionalAccess', _833 => _833.title]), () => ( "")))]), () => ( null))
37305
37342
  }
37306
37343
  )
37307
37344
  };
@@ -37447,8 +37484,8 @@ var CHAT_CARD_REGISTRY = {
37447
37484
  chatRef,
37448
37485
  isNewTab: opts.isNewTab,
37449
37486
  discuss: opts.discuss,
37450
- ogPlaceholder: _nullishCoalesce(_optionalChain([opts, 'optionalAccess', _826 => _826.extras, 'optionalAccess', _827 => _827.buildOgPlaceholderUrl, 'optionalCall', _828 => _828(_nullishCoalesce(_optionalChain([item, 'optionalAccess', _829 => _829.title]), () => ( "")))]), () => ( null)),
37451
- hasEmbeddedVideo: _optionalChain([chatRef, 'access', _830 => _830.metadata, 'optionalAccess', _831 => _831.hasEmbeddedVideo]) === true
37487
+ ogPlaceholder: _nullishCoalesce(_optionalChain([opts, 'optionalAccess', _834 => _834.extras, 'optionalAccess', _835 => _835.buildOgPlaceholderUrl, 'optionalCall', _836 => _836(_nullishCoalesce(_optionalChain([item, 'optionalAccess', _837 => _837.title]), () => ( "")))]), () => ( null)),
37488
+ hasEmbeddedVideo: _optionalChain([chatRef, 'access', _838 => _838.metadata, 'optionalAccess', _839 => _839.hasEmbeddedVideo]) === true
37452
37489
  }
37453
37490
  )
37454
37491
  },
@@ -37465,7 +37502,7 @@ var CHAT_CARD_REGISTRY = {
37465
37502
  chatRef,
37466
37503
  isNewTab: opts.isNewTab,
37467
37504
  discuss: opts.discuss,
37468
- ogPlaceholder: _nullishCoalesce(_optionalChain([opts, 'optionalAccess', _832 => _832.extras, 'optionalAccess', _833 => _833.buildOgPlaceholderUrl, 'optionalCall', _834 => _834(_nullishCoalesce(_optionalChain([item, 'optionalAccess', _835 => _835.title]), () => ( "")))]), () => ( null))
37505
+ ogPlaceholder: _nullishCoalesce(_optionalChain([opts, 'optionalAccess', _840 => _840.extras, 'optionalAccess', _841 => _841.buildOgPlaceholderUrl, 'optionalCall', _842 => _842(_nullishCoalesce(_optionalChain([item, 'optionalAccess', _843 => _843.title]), () => ( "")))]), () => ( null))
37469
37506
  }
37470
37507
  )
37471
37508
  },
@@ -37482,7 +37519,7 @@ var CHAT_CARD_REGISTRY = {
37482
37519
  chatRef,
37483
37520
  isNewTab: opts.isNewTab,
37484
37521
  discuss: opts.discuss,
37485
- ogPlaceholder: _nullishCoalesce(_optionalChain([opts, 'optionalAccess', _836 => _836.extras, 'optionalAccess', _837 => _837.buildOgPlaceholderUrl, 'optionalCall', _838 => _838(_nullishCoalesce(_optionalChain([item, 'optionalAccess', _839 => _839.title]), () => ( "")))]), () => ( null))
37522
+ ogPlaceholder: _nullishCoalesce(_optionalChain([opts, 'optionalAccess', _844 => _844.extras, 'optionalAccess', _845 => _845.buildOgPlaceholderUrl, 'optionalCall', _846 => _846(_nullishCoalesce(_optionalChain([item, 'optionalAccess', _847 => _847.title]), () => ( "")))]), () => ( null))
37486
37523
  }
37487
37524
  )
37488
37525
  },
@@ -37493,7 +37530,7 @@ var CHAT_CARD_REGISTRY = {
37493
37530
  bareInline: true,
37494
37531
  skeleton: () => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, ProductReleaseCardSkeleton, { size: "sm" }),
37495
37532
  render: (item, chatRef, opts) => {
37496
- const builder = _nullishCoalesce(_optionalChain([opts, 'optionalAccess', _840 => _840.extras, 'optionalAccess', _841 => _841.buildProductReleaseCardProps]), () => ( defaultBuildProductReleaseCardProps));
37533
+ const builder = _nullishCoalesce(_optionalChain([opts, 'optionalAccess', _848 => _848.extras, 'optionalAccess', _849 => _849.buildProductReleaseCardProps]), () => ( defaultBuildProductReleaseCardProps));
37497
37534
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
37498
37535
  ProductReleaseChatCard,
37499
37536
  {
@@ -37520,7 +37557,7 @@ var CHAT_CARD_REGISTRY = {
37520
37557
  chatRef,
37521
37558
  isNewTab: opts.isNewTab,
37522
37559
  discuss: opts.discuss,
37523
- ogPlaceholder: _nullishCoalesce(_optionalChain([opts, 'optionalAccess', _842 => _842.extras, 'optionalAccess', _843 => _843.buildOgPlaceholderUrl, 'optionalCall', _844 => _844(_nullishCoalesce(_optionalChain([item, 'optionalAccess', _845 => _845.title]), () => ( "")))]), () => ( null))
37560
+ ogPlaceholder: _nullishCoalesce(_optionalChain([opts, 'optionalAccess', _850 => _850.extras, 'optionalAccess', _851 => _851.buildOgPlaceholderUrl, 'optionalCall', _852 => _852(_nullishCoalesce(_optionalChain([item, 'optionalAccess', _853 => _853.title]), () => ( "")))]), () => ( null))
37524
37561
  }
37525
37562
  )
37526
37563
  },
@@ -37539,7 +37576,7 @@ var CHAT_CARD_REGISTRY = {
37539
37576
  chatRef,
37540
37577
  isNewTab: opts.isNewTab,
37541
37578
  discuss: opts.discuss,
37542
- ogPlaceholder: _nullishCoalesce(_optionalChain([opts, 'optionalAccess', _846 => _846.extras, 'optionalAccess', _847 => _847.buildOgPlaceholderUrl, 'optionalCall', _848 => _848(_nullishCoalesce(_optionalChain([item, 'optionalAccess', _849 => _849.title]), () => ( "")))]), () => ( null))
37579
+ ogPlaceholder: _nullishCoalesce(_optionalChain([opts, 'optionalAccess', _854 => _854.extras, 'optionalAccess', _855 => _855.buildOgPlaceholderUrl, 'optionalCall', _856 => _856(_nullishCoalesce(_optionalChain([item, 'optionalAccess', _857 => _857.title]), () => ( "")))]), () => ( null))
37543
37580
  }
37544
37581
  )
37545
37582
  },
@@ -37551,7 +37588,7 @@ var CHAT_CARD_REGISTRY = {
37551
37588
  skeleton: () => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, CampaignCardAdminSkeleton, {}),
37552
37589
  // No public viewer — synthesize the hub-internal admin URL post-fetch
37553
37590
  // so the wrapper + isNewTab computation see the actual destination.
37554
- fallbackHref: (item) => _optionalChain([item, 'optionalAccess', _850 => _850.id]) ? `/admin/campaigns/${encodeURIComponent(item.id)}` : null,
37591
+ fallbackHref: (item) => _optionalChain([item, 'optionalAccess', _858 => _858.id]) ? `/admin/campaigns/${encodeURIComponent(item.id)}` : null,
37555
37592
  render: (item, chatRef, opts) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
37556
37593
  CampaignChatCard,
37557
37594
  {
@@ -37577,12 +37614,12 @@ function ChatCardNavWrap({
37577
37614
  const onClickCapture = (e) => {
37578
37615
  if (!href) return;
37579
37616
  const targetEl = e.target;
37580
- if (_optionalChain([targetEl, 'optionalAccess', _851 => _851.closest, 'optionalCall', _852 => _852("button")])) return;
37581
- if (!_optionalChain([targetEl, 'optionalAccess', _853 => _853.closest, 'optionalCall', _854 => _854("a")])) return;
37617
+ if (_optionalChain([targetEl, 'optionalAccess', _859 => _859.closest, 'optionalCall', _860 => _860("button")])) return;
37618
+ if (!_optionalChain([targetEl, 'optionalAccess', _861 => _861.closest, 'optionalCall', _862 => _862("a")])) return;
37582
37619
  const handled = handleChatNavClick(e, runtime, { href, path, targetPlatform }, router.push);
37583
37620
  if (!handled) return;
37584
37621
  e.stopPropagation();
37585
- if (!isNewTab && _optionalChain([panel, 'optionalAccess', _855 => _855.closeChat])) panel.closeChat();
37622
+ if (!isNewTab && _optionalChain([panel, 'optionalAccess', _863 => _863.closeChat])) panel.closeChat();
37586
37623
  };
37587
37624
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "contents", onClickCapture, children });
37588
37625
  }
@@ -37604,7 +37641,7 @@ function ChatCardLoader({
37604
37641
  title: chatRef.title,
37605
37642
  externalUrl: chatRef.url,
37606
37643
  targetPlatform: chatRef.targetPlatform,
37607
- path: typeof _optionalChain([chatRef, 'access', _856 => _856.metadata, 'optionalAccess', _857 => _857.path]) === "string" ? chatRef.metadata.path : null
37644
+ path: typeof _optionalChain([chatRef, 'access', _864 => _864.metadata, 'optionalAccess', _865 => _865.path]) === "string" ? chatRef.metadata.path : null
37608
37645
  },
37609
37646
  sourceRowCtxFromRuntime(runtime, { baseRoute, chipBasePlatform })
37610
37647
  );
@@ -37618,7 +37655,7 @@ function ChatCardLoader({
37618
37655
  const entry = CHAT_CARD_REGISTRY[resolvedChatRef.type];
37619
37656
  const fetchEntry = entry && entry.mode === "fetch" ? entry : null;
37620
37657
  const { item, isLoading } = useChatCardItem(
37621
- _nullishCoalesce(_optionalChain([fetchEntry, 'optionalAccess', _858 => _858.contentRefType]), () => ( "")),
37658
+ _nullishCoalesce(_optionalChain([fetchEntry, 'optionalAccess', _866 => _866.contentRefType]), () => ( "")),
37622
37659
  fetchEntry ? resolvedChatRef.id : ""
37623
37660
  );
37624
37661
  if (!entry) return null;
@@ -37649,7 +37686,7 @@ function ChatCardLoader({
37649
37686
  isNewTab,
37650
37687
  discuss
37651
37688
  };
37652
- const path = typeof _optionalChain([finalChatRef, 'access', _859 => _859.metadata, 'optionalAccess', _860 => _860.path]) === "string" ? finalChatRef.metadata.path : null;
37689
+ const path = typeof _optionalChain([finalChatRef, 'access', _867 => _867.metadata, 'optionalAccess', _868 => _868.path]) === "string" ? finalChatRef.metadata.path : null;
37653
37690
  const navWrap = (children) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
37654
37691
  ChatCardNavWrap,
37655
37692
  {
@@ -38175,7 +38212,7 @@ function useJetStreamDialogSubscription({
38175
38212
  const lifecycle = _chunkOZ3GH6OQcjs.startConnectionLifecycle.call(void 0, {
38176
38213
  conn: sharedConn,
38177
38214
  wsUrl,
38178
- onBeforeReconnect: () => _optionalChain([onBeforeReconnectRef, 'access', _861 => _861.current, 'optionalCall', _862 => _862()]),
38215
+ onBeforeReconnect: () => _optionalChain([onBeforeReconnectRef, 'access', _869 => _869.current, 'optionalCall', _870 => _870()]),
38179
38216
  backoff: reconnectionBackoffRef.current,
38180
38217
  getFreshUrl: () => getNatsWsUrlRef.current(),
38181
38218
  // JetStream emits 'error' for protocol-level failures (e.g. -ERR Permissions
@@ -38190,7 +38227,7 @@ function useJetStreamDialogSubscription({
38190
38227
  setReconnectionCount((c) => c + 1);
38191
38228
  }
38192
38229
  hadConnectionBeforeRef.current = true;
38193
- _optionalChain([onConnectRef, 'access', _863 => _863.current, 'optionalCall', _864 => _864()]);
38230
+ _optionalChain([onConnectRef, 'access', _871 => _871.current, 'optionalCall', _872 => _872()]);
38194
38231
  }
38195
38232
  if (status === "error") {
38196
38233
  console.warn("[JetStream] NATS protocol error:", evt.data);
@@ -38200,7 +38237,7 @@ function useJetStreamDialogSubscription({
38200
38237
  setIsConnected(false);
38201
38238
  setIsSubscribed(false);
38202
38239
  tearDownSubscription();
38203
- _optionalChain([onDisconnectRef, 'access', _865 => _865.current, 'optionalCall', _866 => _866()]);
38240
+ _optionalChain([onDisconnectRef, 'access', _873 => _873.current, 'optionalCall', _874 => _874()]);
38204
38241
  }
38205
38242
  }
38206
38243
  });
@@ -38279,7 +38316,7 @@ function useJetStreamDialogSubscription({
38279
38316
  }
38280
38317
  subscriptionRef.current = handle;
38281
38318
  setIsSubscribed(true);
38282
- _optionalChain([onSubscribedRef, 'access', _867 => _867.current, 'optionalCall', _868 => _868()]);
38319
+ _optionalChain([onSubscribedRef, 'access', _875 => _875.current, 'optionalCall', _876 => _876()]);
38283
38320
  } catch (e35) {
38284
38321
  if (!cancelled) {
38285
38322
  setIsSubscribed(false);
@@ -38392,20 +38429,20 @@ function useNatsDialogSubscription({
38392
38429
  const tearDownSubscriptions = () => {
38393
38430
  subscriptionRefs.current.forEach((sub) => {
38394
38431
  try {
38395
- _optionalChain([sub, 'optionalAccess', _869 => _869.unsubscribe, 'call', _870 => _870()]);
38432
+ _optionalChain([sub, 'optionalAccess', _877 => _877.unsubscribe, 'call', _878 => _878()]);
38396
38433
  } catch (e37) {
38397
38434
  }
38398
38435
  });
38399
38436
  subscriptionRefs.current.clear();
38400
38437
  lastSubscribedDialogIdRef.current = null;
38401
- _optionalChain([abortControllerRef, 'access', _871 => _871.current, 'optionalAccess', _872 => _872.abort, 'call', _873 => _873()]);
38438
+ _optionalChain([abortControllerRef, 'access', _879 => _879.current, 'optionalAccess', _880 => _880.abort, 'call', _881 => _881()]);
38402
38439
  abortControllerRef.current = null;
38403
38440
  };
38404
38441
  const isDisconnectStatus = (status) => status === "closed" || status === "disconnected" || status === "error";
38405
38442
  const lifecycle = _chunkOZ3GH6OQcjs.startConnectionLifecycle.call(void 0, {
38406
38443
  conn: sharedConn,
38407
38444
  wsUrl,
38408
- onBeforeReconnect: () => _optionalChain([onBeforeReconnectRef, 'access', _874 => _874.current, 'optionalCall', _875 => _875()]),
38445
+ onBeforeReconnect: () => _optionalChain([onBeforeReconnectRef, 'access', _882 => _882.current, 'optionalCall', _883 => _883()]),
38409
38446
  backoff: reconnectionBackoffRef.current,
38410
38447
  getFreshUrl: () => getNatsWsUrlRef.current(),
38411
38448
  shouldRetryOn: isDisconnectStatus,
@@ -38416,13 +38453,13 @@ function useNatsDialogSubscription({
38416
38453
  setReconnectionCount((c) => c + 1);
38417
38454
  }
38418
38455
  hadConnectionBeforeRef.current = true;
38419
- _optionalChain([onConnectRef, 'access', _876 => _876.current, 'optionalCall', _877 => _877()]);
38456
+ _optionalChain([onConnectRef, 'access', _884 => _884.current, 'optionalCall', _885 => _885()]);
38420
38457
  }
38421
38458
  if (isDisconnectStatus(status)) {
38422
38459
  setIsConnected(false);
38423
38460
  setIsSubscribed(false);
38424
38461
  tearDownSubscriptions();
38425
- _optionalChain([onDisconnectRef, 'access', _878 => _878.current, 'optionalCall', _879 => _879()]);
38462
+ _optionalChain([onDisconnectRef, 'access', _886 => _886.current, 'optionalCall', _887 => _887()]);
38426
38463
  }
38427
38464
  }
38428
38465
  });
@@ -38453,13 +38490,13 @@ function useNatsDialogSubscription({
38453
38490
  setIsSubscribed(false);
38454
38491
  subscriptionRefs.current.forEach((sub) => {
38455
38492
  try {
38456
- _optionalChain([sub, 'optionalAccess', _880 => _880.unsubscribe, 'call', _881 => _881()]);
38493
+ _optionalChain([sub, 'optionalAccess', _888 => _888.unsubscribe, 'call', _889 => _889()]);
38457
38494
  } catch (e38) {
38458
38495
  }
38459
38496
  });
38460
38497
  subscriptionRefs.current.clear();
38461
38498
  lastSubscribedDialogIdRef.current = null;
38462
- _optionalChain([abortControllerRef, 'access', _882 => _882.current, 'optionalAccess', _883 => _883.abort, 'call', _884 => _884()]);
38499
+ _optionalChain([abortControllerRef, 'access', _890 => _890.current, 'optionalAccess', _891 => _891.abort, 'call', _892 => _892()]);
38463
38500
  abortControllerRef.current = null;
38464
38501
  }
38465
38502
  return;
@@ -38471,12 +38508,12 @@ function useNatsDialogSubscription({
38471
38508
  if (subscriptionRefs.current.size > 0) {
38472
38509
  subscriptionRefs.current.forEach((sub) => {
38473
38510
  try {
38474
- _optionalChain([sub, 'optionalAccess', _885 => _885.unsubscribe, 'call', _886 => _886()]);
38511
+ _optionalChain([sub, 'optionalAccess', _893 => _893.unsubscribe, 'call', _894 => _894()]);
38475
38512
  } catch (e39) {
38476
38513
  }
38477
38514
  });
38478
38515
  subscriptionRefs.current.clear();
38479
- _optionalChain([abortControllerRef, 'access', _887 => _887.current, 'optionalAccess', _888 => _888.abort, 'call', _889 => _889()]);
38516
+ _optionalChain([abortControllerRef, 'access', _895 => _895.current, 'optionalAccess', _896 => _896.abort, 'call', _897 => _897()]);
38480
38517
  }
38481
38518
  abortControllerRef.current = new AbortController();
38482
38519
  const abort = abortControllerRef.current;
@@ -38508,7 +38545,7 @@ function useNatsDialogSubscription({
38508
38545
  });
38509
38546
  lastSubscribedDialogIdRef.current = dialogId;
38510
38547
  setIsSubscribed(true);
38511
- _optionalChain([onSubscribedRef, 'access', _890 => _890.current, 'optionalCall', _891 => _891()]);
38548
+ _optionalChain([onSubscribedRef, 'access', _898 => _898.current, 'optionalCall', _899 => _899()]);
38512
38549
  };
38513
38550
  if (isConnectedRef.current) {
38514
38551
  createSubscriptions();
@@ -38518,7 +38555,7 @@ function useNatsDialogSubscription({
38518
38555
  abort.abort();
38519
38556
  subscriptionRefs.current.forEach((sub) => {
38520
38557
  try {
38521
- _optionalChain([sub, 'optionalAccess', _892 => _892.unsubscribe, 'call', _893 => _893()]);
38558
+ _optionalChain([sub, 'optionalAccess', _900 => _900.unsubscribe, 'call', _901 => _901()]);
38522
38559
  } catch (e41) {
38523
38560
  }
38524
38561
  });
@@ -38559,7 +38596,7 @@ function useNatsDialogSubscription({
38559
38596
  });
38560
38597
  lastSubscribedDialogIdRef.current = dialogId2;
38561
38598
  setIsSubscribed(true);
38562
- _optionalChain([onSubscribedRef, 'access', _894 => _894.current, 'optionalCall', _895 => _895()]);
38599
+ _optionalChain([onSubscribedRef, 'access', _902 => _902.current, 'optionalCall', _903 => _903()]);
38563
38600
  } else if (subscriptionRefs.current.size > 0) {
38564
38601
  setIsSubscribed(true);
38565
38602
  }
@@ -38567,10 +38604,10 @@ function useNatsDialogSubscription({
38567
38604
  return { isConnected, isSubscribed, reconnectionCount };
38568
38605
  }
38569
38606
  function buildNatsWsUrl(apiBaseUrl, options) {
38570
- const path = _optionalChain([options, 'optionalAccess', _896 => _896.source]) === "dashboard" ? "/ws/nats-api" : "/ws/nats";
38607
+ const path = _optionalChain([options, 'optionalAccess', _904 => _904.source]) === "dashboard" ? "/ws/nats-api" : "/ws/nats";
38571
38608
  const u = new URL(path, apiBaseUrl);
38572
38609
  u.protocol = u.protocol === "https:" ? "wss:" : "ws:";
38573
- if (_optionalChain([options, 'optionalAccess', _897 => _897.includeAuthParam]) && _optionalChain([options, 'optionalAccess', _898 => _898.token])) {
38610
+ if (_optionalChain([options, 'optionalAccess', _905 => _905.includeAuthParam]) && _optionalChain([options, 'optionalAccess', _906 => _906.token])) {
38574
38611
  u.searchParams.set("authorization", options.token);
38575
38612
  }
38576
38613
  return u.toString();
@@ -38888,8 +38925,8 @@ var MessageSegmentAccumulator = class {
38888
38925
  type: "tool_execution",
38889
38926
  data: {
38890
38927
  ...toolData,
38891
- toolTitle: _nullishCoalesce(_nullishCoalesce(toolData.toolTitle, () => ( _optionalChain([existingExecuting, 'optionalAccess', _899 => _899.data, 'access', _900 => _900.toolTitle]))), () => ( _optionalChain([executingTool, 'optionalAccess', _901 => _901.toolTitle]))),
38892
- parameters: toolData.parameters || _optionalChain([executingTool, 'optionalAccess', _902 => _902.parameters])
38928
+ toolTitle: _nullishCoalesce(_nullishCoalesce(toolData.toolTitle, () => ( _optionalChain([existingExecuting, 'optionalAccess', _907 => _907.data, 'access', _908 => _908.toolTitle]))), () => ( _optionalChain([executingTool, 'optionalAccess', _909 => _909.toolTitle]))),
38929
+ parameters: toolData.parameters || _optionalChain([executingTool, 'optionalAccess', _910 => _910.parameters])
38893
38930
  }
38894
38931
  };
38895
38932
  if (existingIndex !== -1) {
@@ -38913,8 +38950,8 @@ var MessageSegmentAccumulator = class {
38913
38950
  if (seg.type !== "approval_batch") return seg;
38914
38951
  const hasCall = seg.data.toolCalls.some((c) => c.toolExecutionRequestId === execId);
38915
38952
  if (!hasCall) return seg;
38916
- const prev = _optionalChain([seg, 'access', _903 => _903.data, 'access', _904 => _904.executions, 'optionalAccess', _905 => _905[execId]]);
38917
- const next = toolData.type === "EXECUTED_TOOL" ? { status: "done", result: toolData.result, success: toolData.success } : { status: "executing", result: _optionalChain([prev, 'optionalAccess', _906 => _906.result]), success: _optionalChain([prev, 'optionalAccess', _907 => _907.success]) };
38953
+ const prev = _optionalChain([seg, 'access', _911 => _911.data, 'access', _912 => _912.executions, 'optionalAccess', _913 => _913[execId]]);
38954
+ const next = toolData.type === "EXECUTED_TOOL" ? { status: "done", result: toolData.result, success: toolData.success } : { status: "executing", result: _optionalChain([prev, 'optionalAccess', _914 => _914.result]), success: _optionalChain([prev, 'optionalAccess', _915 => _915.success]) };
38918
38955
  matched = true;
38919
38956
  return {
38920
38957
  ...seg,
@@ -39034,10 +39071,10 @@ var MessageSegmentAccumulator = class {
39034
39071
  const segment = {
39035
39072
  type: "approval_request",
39036
39073
  data: {
39037
- command: _optionalChain([pendingApproval, 'optionalAccess', _908 => _908.command]) || "",
39038
- explanation: _optionalChain([pendingApproval, 'optionalAccess', _909 => _909.explanation]),
39074
+ command: _optionalChain([pendingApproval, 'optionalAccess', _916 => _916.command]) || "",
39075
+ explanation: _optionalChain([pendingApproval, 'optionalAccess', _917 => _917.explanation]),
39039
39076
  requestId,
39040
- approvalType: _optionalChain([pendingApproval, 'optionalAccess', _910 => _910.approvalType]) || approvalType
39077
+ approvalType: _optionalChain([pendingApproval, 'optionalAccess', _918 => _918.approvalType]) || approvalType
39041
39078
  },
39042
39079
  status,
39043
39080
  onApprove: this.callbacks.onApprove,
@@ -39227,7 +39264,7 @@ function useRealtimeChunkProcessor(options) {
39227
39264
  if (initialState.escalatedApprovals) {
39228
39265
  pendingEscalatedRef.current = new Map(initialState.escalatedApprovals);
39229
39266
  initialState.escalatedApprovals.forEach((data, requestId) => {
39230
- _optionalChain([callbacks, 'access', _911 => _911.onEscalatedApproval, 'optionalCall', _912 => _912(requestId, data)]);
39267
+ _optionalChain([callbacks, 'access', _919 => _919.onEscalatedApproval, 'optionalCall', _920 => _920(requestId, data)]);
39231
39268
  });
39232
39269
  }
39233
39270
  hasEverStreamedRef.current = true;
@@ -39254,7 +39291,7 @@ function useRealtimeChunkProcessor(options) {
39254
39291
  if ((directModeFlagRef.current || sawDirectMessageRef.current) && !DIRECT_MODE_ALLOWED.has(action.action)) {
39255
39292
  if (isInStreamRef.current) {
39256
39293
  isInStreamRef.current = false;
39257
- _optionalChain([callbacks, 'access', _913 => _913.onStreamEnd, 'optionalCall', _914 => _914()]);
39294
+ _optionalChain([callbacks, 'access', _921 => _921.onStreamEnd, 'optionalCall', _922 => _922()]);
39258
39295
  accumulator.resetSegments();
39259
39296
  }
39260
39297
  return;
@@ -39263,32 +39300,32 @@ function useRealtimeChunkProcessor(options) {
39263
39300
  case "message_start":
39264
39301
  isInStreamRef.current = true;
39265
39302
  hasEverStreamedRef.current = true;
39266
- _optionalChain([callbacks, 'access', _915 => _915.onStreamStart, 'optionalCall', _916 => _916()]);
39303
+ _optionalChain([callbacks, 'access', _923 => _923.onStreamStart, 'optionalCall', _924 => _924()]);
39267
39304
  accumulator.resetSegments();
39268
39305
  break;
39269
39306
  case "message_end":
39270
39307
  isInStreamRef.current = false;
39271
- _optionalChain([callbacks, 'access', _917 => _917.onStreamEnd, 'optionalCall', _918 => _918()]);
39308
+ _optionalChain([callbacks, 'access', _925 => _925.onStreamEnd, 'optionalCall', _926 => _926()]);
39272
39309
  accumulator.resetSegments();
39273
39310
  break;
39274
39311
  case "metadata":
39275
- _optionalChain([callbacks, 'access', _919 => _919.onMetadata, 'optionalCall', _920 => _920(action)]);
39312
+ _optionalChain([callbacks, 'access', _927 => _927.onMetadata, 'optionalCall', _928 => _928(action)]);
39276
39313
  break;
39277
39314
  case "text": {
39278
39315
  const segments = accumulator.appendText(action.text);
39279
39316
  if (isInStreamRef.current || !hasEverStreamedRef.current) {
39280
- _optionalChain([callbacks, 'access', _921 => _921.onSegmentsUpdate, 'optionalCall', _922 => _922(segments)]);
39317
+ _optionalChain([callbacks, 'access', _929 => _929.onSegmentsUpdate, 'optionalCall', _930 => _930(segments)]);
39281
39318
  } else {
39282
- _optionalChain([callbacks, 'access', _923 => _923.onSegmentsUpdate, 'optionalCall', _924 => _924([{ type: "text", text: action.text }], { append: true })]);
39319
+ _optionalChain([callbacks, 'access', _931 => _931.onSegmentsUpdate, 'optionalCall', _932 => _932([{ type: "text", text: action.text }], { append: true })]);
39283
39320
  }
39284
39321
  break;
39285
39322
  }
39286
39323
  case "thinking": {
39287
39324
  const segments = accumulator.appendThinking(action.text);
39288
39325
  if (isInStreamRef.current || !hasEverStreamedRef.current) {
39289
- _optionalChain([callbacks, 'access', _925 => _925.onSegmentsUpdate, 'optionalCall', _926 => _926(segments)]);
39326
+ _optionalChain([callbacks, 'access', _933 => _933.onSegmentsUpdate, 'optionalCall', _934 => _934(segments)]);
39290
39327
  } else {
39291
- _optionalChain([callbacks, 'access', _927 => _927.onSegmentsUpdate, 'optionalCall', _928 => _928([{ type: "thinking", text: action.text }], { append: true })]);
39328
+ _optionalChain([callbacks, 'access', _935 => _935.onSegmentsUpdate, 'optionalCall', _936 => _936([{ type: "thinking", text: action.text }], { append: true })]);
39292
39329
  }
39293
39330
  break;
39294
39331
  }
@@ -39298,7 +39335,7 @@ function useRealtimeChunkProcessor(options) {
39298
39335
  break;
39299
39336
  }
39300
39337
  const segments = accumulator.addToolExecution(action.segment);
39301
- _optionalChain([callbacks, 'access', _929 => _929.onSegmentsUpdate, 'optionalCall', _930 => _930(segments)]);
39338
+ _optionalChain([callbacks, 'access', _937 => _937.onSegmentsUpdate, 'optionalCall', _938 => _938(segments)]);
39302
39339
  break;
39303
39340
  }
39304
39341
  case "approval_request": {
@@ -39312,10 +39349,10 @@ function useRealtimeChunkProcessor(options) {
39312
39349
  approvalType,
39313
39350
  status
39314
39351
  );
39315
- _optionalChain([callbacks, 'access', _931 => _931.onSegmentsUpdate, 'optionalCall', _932 => _932(segments)]);
39352
+ _optionalChain([callbacks, 'access', _939 => _939.onSegmentsUpdate, 'optionalCall', _940 => _940(segments)]);
39316
39353
  } else {
39317
39354
  pendingEscalatedRef.current.set(requestId, { command, explanation, approvalType });
39318
- _optionalChain([callbacks, 'access', _933 => _933.onEscalatedApproval, 'optionalCall', _934 => _934(requestId, { command, explanation, approvalType })]);
39355
+ _optionalChain([callbacks, 'access', _941 => _941.onEscalatedApproval, 'optionalCall', _942 => _942(requestId, { command, explanation, approvalType })]);
39319
39356
  }
39320
39357
  break;
39321
39358
  }
@@ -39327,20 +39364,20 @@ function useRealtimeChunkProcessor(options) {
39327
39364
  const summary = required ? getCommandText(required) : `Batch of ${toolCalls.length} tool calls`;
39328
39365
  pendingEscalatedRef.current.set(requestId, {
39329
39366
  command: summary,
39330
- explanation: _optionalChain([required, 'optionalAccess', _935 => _935.toolExplanation]),
39367
+ explanation: _optionalChain([required, 'optionalAccess', _943 => _943.toolExplanation]),
39331
39368
  approvalType,
39332
39369
  toolCalls
39333
39370
  });
39334
- _optionalChain([callbacks, 'access', _936 => _936.onEscalatedApproval, 'optionalCall', _937 => _937(requestId, {
39371
+ _optionalChain([callbacks, 'access', _944 => _944.onEscalatedApproval, 'optionalCall', _945 => _945(requestId, {
39335
39372
  command: summary,
39336
- explanation: _optionalChain([required, 'optionalAccess', _938 => _938.toolExplanation]),
39373
+ explanation: _optionalChain([required, 'optionalAccess', _946 => _946.toolExplanation]),
39337
39374
  approvalType
39338
39375
  })]);
39339
39376
  break;
39340
39377
  }
39341
39378
  if (batchApprovalsEnabled) {
39342
39379
  const segments2 = accumulator.addApprovalBatch(requestId, approvalType, toolCalls, status);
39343
- _optionalChain([callbacks, 'access', _939 => _939.onSegmentsUpdate, 'optionalCall', _940 => _940(segments2)]);
39380
+ _optionalChain([callbacks, 'access', _947 => _947.onSegmentsUpdate, 'optionalCall', _948 => _948(segments2)]);
39344
39381
  break;
39345
39382
  }
39346
39383
  let segments = accumulator.getSegments();
@@ -39354,7 +39391,7 @@ function useRealtimeChunkProcessor(options) {
39354
39391
  status
39355
39392
  );
39356
39393
  }
39357
- _optionalChain([callbacks, 'access', _941 => _941.onSegmentsUpdate, 'optionalCall', _942 => _942(segments)]);
39394
+ _optionalChain([callbacks, 'access', _949 => _949.onSegmentsUpdate, 'optionalCall', _950 => _950(segments)]);
39358
39395
  break;
39359
39396
  }
39360
39397
  case "approval_result": {
@@ -39363,7 +39400,7 @@ function useRealtimeChunkProcessor(options) {
39363
39400
  const status = approved ? "approved" : "rejected";
39364
39401
  if (escalatedData) {
39365
39402
  pendingEscalatedRef.current.delete(requestId);
39366
- _optionalChain([callbacks, 'access', _943 => _943.onEscalatedApprovalResult, 'optionalCall', _944 => _944(requestId, approved, {
39403
+ _optionalChain([callbacks, 'access', _951 => _951.onEscalatedApprovalResult, 'optionalCall', _952 => _952(requestId, approved, {
39367
39404
  command: escalatedData.command,
39368
39405
  explanation: escalatedData.explanation,
39369
39406
  approvalType: escalatedData.approvalType
@@ -39376,7 +39413,7 @@ function useRealtimeChunkProcessor(options) {
39376
39413
  escalatedData.toolCalls,
39377
39414
  status
39378
39415
  );
39379
- _optionalChain([callbacks, 'access', _945 => _945.onSegmentsUpdate, 'optionalCall', _946 => _946(segments)]);
39416
+ _optionalChain([callbacks, 'access', _953 => _953.onSegmentsUpdate, 'optionalCall', _954 => _954(segments)]);
39380
39417
  } else {
39381
39418
  let segments = accumulator.getSegments();
39382
39419
  for (const call of escalatedData.toolCalls) {
@@ -39389,7 +39426,7 @@ function useRealtimeChunkProcessor(options) {
39389
39426
  status
39390
39427
  );
39391
39428
  }
39392
- _optionalChain([callbacks, 'access', _947 => _947.onSegmentsUpdate, 'optionalCall', _948 => _948(segments)]);
39429
+ _optionalChain([callbacks, 'access', _955 => _955.onSegmentsUpdate, 'optionalCall', _956 => _956(segments)]);
39393
39430
  }
39394
39431
  } else {
39395
39432
  const segments = accumulator.addApprovalRequest(
@@ -39399,37 +39436,37 @@ function useRealtimeChunkProcessor(options) {
39399
39436
  escalatedData.approvalType,
39400
39437
  status
39401
39438
  );
39402
- _optionalChain([callbacks, 'access', _949 => _949.onSegmentsUpdate, 'optionalCall', _950 => _950(segments)]);
39439
+ _optionalChain([callbacks, 'access', _957 => _957.onSegmentsUpdate, 'optionalCall', _958 => _958(segments)]);
39403
39440
  }
39404
39441
  } else {
39405
39442
  accumulator.updateApprovalStatus(requestId, status);
39406
39443
  if (!callbacks.onApprovalResolved) {
39407
- _optionalChain([callbacks, 'access', _951 => _951.onSegmentsUpdate, 'optionalCall', _952 => _952(accumulator.getSegments())]);
39444
+ _optionalChain([callbacks, 'access', _959 => _959.onSegmentsUpdate, 'optionalCall', _960 => _960(accumulator.getSegments())]);
39408
39445
  }
39409
39446
  }
39410
- _optionalChain([callbacks, 'access', _953 => _953.onApprovalResolved, 'optionalCall', _954 => _954(requestId, status, approvalType)]);
39447
+ _optionalChain([callbacks, 'access', _961 => _961.onApprovalResolved, 'optionalCall', _962 => _962(requestId, status, approvalType)]);
39411
39448
  break;
39412
39449
  }
39413
39450
  case "error": {
39414
39451
  let message2;
39415
- if ("details" in action && _optionalChain([action, 'optionalAccess', _955 => _955.details])) {
39452
+ if ("details" in action && _optionalChain([action, 'optionalAccess', _963 => _963.details])) {
39416
39453
  try {
39417
- message2 = _optionalChain([JSON, 'access', _956 => _956.parse, 'call', _957 => _957(action.details), 'optionalAccess', _958 => _958.error, 'optionalAccess', _959 => _959.message]);
39454
+ message2 = _optionalChain([JSON, 'access', _964 => _964.parse, 'call', _965 => _965(action.details), 'optionalAccess', _966 => _966.error, 'optionalAccess', _967 => _967.message]);
39418
39455
  } catch (e43) {
39419
39456
  message2 = action.details;
39420
39457
  }
39421
39458
  }
39422
39459
  const segments = accumulator.addError(action.error, message2);
39423
- _optionalChain([callbacks, 'access', _960 => _960.onSegmentsUpdate, 'optionalCall', _961 => _961(segments)]);
39424
- _optionalChain([callbacks, 'access', _962 => _962.onError, 'optionalCall', _963 => _963(action.error, message2)]);
39460
+ _optionalChain([callbacks, 'access', _968 => _968.onSegmentsUpdate, 'optionalCall', _969 => _969(segments)]);
39461
+ _optionalChain([callbacks, 'access', _970 => _970.onError, 'optionalCall', _971 => _971(action.error, message2)]);
39425
39462
  break;
39426
39463
  }
39427
39464
  case "system": {
39428
- _optionalChain([callbacks, 'access', _964 => _964.onSystemMessage, 'optionalCall', _965 => _965(action.text)]);
39465
+ _optionalChain([callbacks, 'access', _972 => _972.onSystemMessage, 'optionalCall', _973 => _973(action.text)]);
39429
39466
  break;
39430
39467
  }
39431
39468
  case "direct_message": {
39432
- _optionalChain([callbacks, 'access', _966 => _966.onDirectMessage, 'optionalCall', _967 => _967(action.text, {
39469
+ _optionalChain([callbacks, 'access', _974 => _974.onDirectMessage, 'optionalCall', _975 => _975(action.text, {
39433
39470
  ownerType: action.ownerType,
39434
39471
  displayName: action.displayName,
39435
39472
  userId: action.userId
@@ -39437,29 +39474,29 @@ function useRealtimeChunkProcessor(options) {
39437
39474
  break;
39438
39475
  }
39439
39476
  case "message_request":
39440
- _optionalChain([callbacks, 'access', _968 => _968.onUserMessage, 'optionalCall', _969 => _969(action.text, {
39477
+ _optionalChain([callbacks, 'access', _976 => _976.onUserMessage, 'optionalCall', _977 => _977(action.text, {
39441
39478
  ownerType: action.ownerType,
39442
39479
  displayName: action.displayName,
39443
39480
  userId: action.userId
39444
39481
  })]);
39445
39482
  break;
39446
39483
  case "token_usage":
39447
- _optionalChain([callbacks, 'access', _970 => _970.onTokenUsage, 'optionalCall', _971 => _971(action.data)]);
39484
+ _optionalChain([callbacks, 'access', _978 => _978.onTokenUsage, 'optionalCall', _979 => _979(action.data)]);
39448
39485
  break;
39449
39486
  case "context_compaction_start": {
39450
39487
  const standalone = !isInStreamRef.current;
39451
39488
  const segments = accumulator.addContextCompaction();
39452
- _optionalChain([callbacks, 'access', _972 => _972.onSegmentsUpdate, 'optionalCall', _973 => _973(segments, standalone ? { append: true, isCompacting: true } : void 0)]);
39489
+ _optionalChain([callbacks, 'access', _980 => _980.onSegmentsUpdate, 'optionalCall', _981 => _981(segments, standalone ? { append: true, isCompacting: true } : void 0)]);
39453
39490
  break;
39454
39491
  }
39455
39492
  case "context_compaction_end": {
39456
39493
  const standalone = !isInStreamRef.current;
39457
39494
  const segments = accumulator.completeContextCompaction(action.summary);
39458
- _optionalChain([callbacks, 'access', _974 => _974.onSegmentsUpdate, 'optionalCall', _975 => _975(segments, standalone ? { append: true, isCompacting: true } : void 0)]);
39495
+ _optionalChain([callbacks, 'access', _982 => _982.onSegmentsUpdate, 'optionalCall', _983 => _983(segments, standalone ? { append: true, isCompacting: true } : void 0)]);
39459
39496
  break;
39460
39497
  }
39461
39498
  case "dialog_closed":
39462
- _optionalChain([callbacks, 'access', _976 => _976.onDialogClosed, 'optionalCall', _977 => _977()]);
39499
+ _optionalChain([callbacks, 'access', _984 => _984.onDialogClosed, 'optionalCall', _985 => _985()]);
39463
39500
  break;
39464
39501
  default:
39465
39502
  break;
@@ -39521,7 +39558,7 @@ function useSlashCommands(prefix, commandsUrl) {
39521
39558
  const next = await fetchSlashCommands(prefix, ctrl.signal, commandsUrl);
39522
39559
  if (!cancelled) setCommands(next);
39523
39560
  } catch (err) {
39524
- if (!cancelled && _optionalChain([err, 'optionalAccess', _978 => _978.name]) !== "AbortError") {
39561
+ if (!cancelled && _optionalChain([err, 'optionalAccess', _986 => _986.name]) !== "AbortError") {
39525
39562
  console.warn("[use-slash-commands] fetch failed:", err);
39526
39563
  }
39527
39564
  } finally {
@@ -39540,7 +39577,7 @@ function useSlashCommandRegistry(commandsUrl, options) {
39540
39577
  const query = _reactquery.useQuery.call(void 0, {
39541
39578
  queryKey: ["chat-slash-commands", commandsUrl],
39542
39579
  queryFn: ({ signal }) => fetchSlashCommands("", signal, commandsUrl),
39543
- enabled: _nullishCoalesce(_optionalChain([options, 'optionalAccess', _979 => _979.enabled]), () => ( true)),
39580
+ enabled: _nullishCoalesce(_optionalChain([options, 'optionalAccess', _987 => _987.enabled]), () => ( true)),
39544
39581
  staleTime: Infinity,
39545
39582
  gcTime: Infinity
39546
39583
  });
@@ -39561,7 +39598,7 @@ var CHAT_ATTACHMENT_MAX_SIZE_BYTES = 25 * 1024 * 1024;
39561
39598
  var STORAGE_CACHE_CONTROL_IMMUTABLE = "public, max-age=31536000, immutable";
39562
39599
  function uploadWithProgress(url, file, token, onProgress, signal) {
39563
39600
  return new Promise((resolve, reject) => {
39564
- if (_optionalChain([signal, 'optionalAccess', _980 => _980.aborted])) {
39601
+ if (_optionalChain([signal, 'optionalAccess', _988 => _988.aborted])) {
39565
39602
  reject(new Error("Upload cancelled"));
39566
39603
  return;
39567
39604
  }
@@ -39575,7 +39612,7 @@ function uploadWithProgress(url, file, token, onProgress, signal) {
39575
39612
  xhr.removeEventListener("error", handleError);
39576
39613
  xhr.removeEventListener("abort", handleAbort);
39577
39614
  xhr.removeEventListener("timeout", handleTimeout);
39578
- _optionalChain([signal, 'optionalAccess', _981 => _981.removeEventListener, 'call', _982 => _982("abort", handleSignalAbort)]);
39615
+ _optionalChain([signal, 'optionalAccess', _989 => _989.removeEventListener, 'call', _990 => _990("abort", handleSignalAbort)]);
39579
39616
  if (xhr.readyState !== XMLHttpRequest.DONE) xhr.abort();
39580
39617
  };
39581
39618
  const handleProgress = (event) => {
@@ -39611,7 +39648,7 @@ function uploadWithProgress(url, file, token, onProgress, signal) {
39611
39648
  const handleSignalAbort = () => {
39612
39649
  xhr.abort();
39613
39650
  };
39614
- _optionalChain([signal, 'optionalAccess', _983 => _983.addEventListener, 'call', _984 => _984("abort", handleSignalAbort, { once: true })]);
39651
+ _optionalChain([signal, 'optionalAccess', _991 => _991.addEventListener, 'call', _992 => _992("abort", handleSignalAbort, { once: true })]);
39615
39652
  xhr.upload.addEventListener("progress", handleProgress);
39616
39653
  xhr.addEventListener("load", handleLoad);
39617
39654
  xhr.addEventListener("error", handleError);
@@ -39655,12 +39692,12 @@ function useChatAttachments() {
39655
39692
  try {
39656
39693
  sniffed = await _filetype.fileTypeFromBlob.call(void 0, att.file);
39657
39694
  } catch (err) {
39658
- if (_optionalChain([ctrl, 'optionalAccess', _985 => _985.signal, 'access', _986 => _986.aborted])) return;
39695
+ if (_optionalChain([ctrl, 'optionalAccess', _993 => _993.signal, 'access', _994 => _994.aborted])) return;
39659
39696
  throw new Error(
39660
39697
  `Could not read file content: ${err instanceof Error ? err.message : String(err)}`
39661
39698
  );
39662
39699
  }
39663
- if (_optionalChain([ctrl, 'optionalAccess', _987 => _987.signal, 'access', _988 => _988.aborted])) return;
39700
+ if (_optionalChain([ctrl, 'optionalAccess', _995 => _995.signal, 'access', _996 => _996.aborted])) return;
39664
39701
  if (!sniffed) {
39665
39702
  throw new Error("Unrecognized file format");
39666
39703
  }
@@ -39674,7 +39711,7 @@ function useChatAttachments() {
39674
39711
  const urlResp = await embedAuthedFetch(uploadUrlEndpoint, {
39675
39712
  method: "POST",
39676
39713
  headers: { "Content-Type": "application/json" },
39677
- signal: _optionalChain([ctrl, 'optionalAccess', _989 => _989.signal]),
39714
+ signal: _optionalChain([ctrl, 'optionalAccess', _997 => _997.signal]),
39678
39715
  body: JSON.stringify({
39679
39716
  fileName: att.file.name,
39680
39717
  // Pass the SNIFFED MIME (not `file.type`, which can be a
@@ -39700,9 +39737,9 @@ function useChatAttachments() {
39700
39737
  (pct) => {
39701
39738
  updateOne(att.id, { progress: pct });
39702
39739
  },
39703
- _optionalChain([ctrl, 'optionalAccess', _990 => _990.signal])
39740
+ _optionalChain([ctrl, 'optionalAccess', _998 => _998.signal])
39704
39741
  );
39705
- if (_optionalChain([ctrl, 'optionalAccess', _991 => _991.signal, 'access', _992 => _992.aborted])) return;
39742
+ if (_optionalChain([ctrl, 'optionalAccess', _999 => _999.signal, 'access', _1000 => _1000.aborted])) return;
39706
39743
  updateOne(att.id, {
39707
39744
  status: "ready",
39708
39745
  progress: 100,
@@ -39710,7 +39747,7 @@ function useChatAttachments() {
39710
39747
  viewToken: mintData.viewToken
39711
39748
  });
39712
39749
  } catch (err) {
39713
- if (_optionalChain([ctrl, 'optionalAccess', _993 => _993.signal, 'access', _994 => _994.aborted])) return;
39750
+ if (_optionalChain([ctrl, 'optionalAccess', _1001 => _1001.signal, 'access', _1002 => _1002.aborted])) return;
39714
39751
  const message2 = err instanceof Error ? err.message : String(err);
39715
39752
  updateOne(att.id, { status: "error", progress: 0, errorMessage: message2 });
39716
39753
  } finally {
@@ -39861,7 +39898,7 @@ var ANON_DEFAULTS = {
39861
39898
  function useResolveChatIdentity(enabled) {
39862
39899
  const runtime = _chunkMEAR2WHScjs.useRequiredChatRuntime.call(void 0, );
39863
39900
  const url = runtime.endpoints.identityUrl;
39864
- const proxyEmail = _nullishCoalesce(_optionalChain([getEmbedProxyAuth, 'call', _995 => _995(), 'optionalAccess', _996 => _996.email]), () => ( null));
39901
+ const proxyEmail = _nullishCoalesce(_optionalChain([getEmbedProxyAuth, 'call', _1003 => _1003(), 'optionalAccess', _1004 => _1004.email]), () => ( null));
39865
39902
  const [data, setData] = _react.useState.call(void 0, ANON_DEFAULTS);
39866
39903
  const [isLoading, setIsLoading] = _react.useState.call(void 0, enabled);
39867
39904
  _react.useEffect.call(void 0, () => {
@@ -39949,7 +39986,7 @@ function useSSE({ useMock = true, debugMode = false, streamFn } = {}) {
39949
39986
  yield chunk;
39950
39987
  }
39951
39988
  } catch (err) {
39952
- if (_optionalChain([err, 'optionalAccess', _997 => _997.name]) === "AbortError" || ctrl.signal.aborted) {
39989
+ if (_optionalChain([err, 'optionalAccess', _1005 => _1005.name]) === "AbortError" || ctrl.signal.aborted) {
39953
39990
  return;
39954
39991
  }
39955
39992
  const errorMessage = err instanceof Error ? err.message : "An error occurred";
@@ -40000,7 +40037,7 @@ function useChat({
40000
40037
  const onMessagesChangeRef = _react.useRef.call(void 0, onMessagesChange);
40001
40038
  onMessagesChangeRef.current = onMessagesChange;
40002
40039
  _react.useEffect.call(void 0, () => {
40003
- _optionalChain([onMessagesChangeRef, 'access', _998 => _998.current, 'optionalCall', _999 => _999(messages)]);
40040
+ _optionalChain([onMessagesChangeRef, 'access', _1006 => _1006.current, 'optionalCall', _1007 => _1007(messages)]);
40004
40041
  }, [messages]);
40005
40042
  const {
40006
40043
  streamMessage,
@@ -40037,7 +40074,7 @@ function useChat({
40037
40074
  name: "You",
40038
40075
  content: text,
40039
40076
  timestamp: /* @__PURE__ */ new Date(),
40040
- ..._optionalChain([options, 'optionalAccess', _1000 => _1000.hidden]) ? { hidden: true } : {}
40077
+ ..._optionalChain([options, 'optionalAccess', _1008 => _1008.hidden]) ? { hidden: true } : {}
40041
40078
  };
40042
40079
  addMessage(userMessage);
40043
40080
  setIsTyping(true);
@@ -40099,7 +40136,7 @@ function useChat({
40099
40136
  currentTextSegment = "";
40100
40137
  }
40101
40138
  const seg = segment;
40102
- const proposalId = _optionalChain([seg, 'access', _1001 => _1001.data, 'optionalAccess', _1002 => _1002.requestId]);
40139
+ const proposalId = _optionalChain([seg, 'access', _1009 => _1009.data, 'optionalAccess', _1010 => _1010.requestId]);
40103
40140
  const updateApprovalMessage = (transform) => {
40104
40141
  setMessages((prev) => {
40105
40142
  for (let i = prev.length - 1; i >= 0; i--) {
@@ -40108,7 +40145,7 @@ function useChat({
40108
40145
  if (!Array.isArray(m.content)) continue;
40109
40146
  const segments = m.content;
40110
40147
  const hasMatch = segments.some(
40111
- (s) => s.type === "approval_request" && _optionalChain([s, 'access', _1003 => _1003.data, 'optionalAccess', _1004 => _1004.requestId]) === proposalId
40148
+ (s) => s.type === "approval_request" && _optionalChain([s, 'access', _1011 => _1011.data, 'optionalAccess', _1012 => _1012.requestId]) === proposalId
40112
40149
  );
40113
40150
  if (!hasMatch) continue;
40114
40151
  const next = [...prev];
@@ -40150,11 +40187,11 @@ function useChat({
40150
40187
  if (!Array.isArray(m.content)) continue;
40151
40188
  const segments = m.content;
40152
40189
  const hasMatch = segments.some(
40153
- (s) => s.type === "approval_request" && _optionalChain([s, 'access', _1005 => _1005.data, 'optionalAccess', _1006 => _1006.requestId]) === decision.proposalId
40190
+ (s) => s.type === "approval_request" && _optionalChain([s, 'access', _1013 => _1013.data, 'optionalAccess', _1014 => _1014.requestId]) === decision.proposalId
40154
40191
  );
40155
40192
  if (!hasMatch) continue;
40156
40193
  const flipped = segments.map(
40157
- (s) => s.type === "approval_request" && _optionalChain([s, 'access', _1007 => _1007.data, 'optionalAccess', _1008 => _1008.requestId]) === decision.proposalId ? { ...s, status: decision.action } : s
40194
+ (s) => s.type === "approval_request" && _optionalChain([s, 'access', _1015 => _1015.data, 'optionalAccess', _1016 => _1016.requestId]) === decision.proposalId ? { ...s, status: decision.action } : s
40158
40195
  );
40159
40196
  const next = [...prev];
40160
40197
  next[i] = { ...m, content: flipped };
@@ -40316,8 +40353,8 @@ function createDocStreamFn(source, endpoints, messagesRef, sourcesMapRef, refsMa
40316
40353
  })),
40317
40354
  { role: "user", content: message2 }
40318
40355
  ];
40319
- const targetPath = _optionalChain([extra, 'optionalAccess', _1009 => _1009.approvalAction]) ? endpoints.approvalToolUrl : endpoints.chatStreamUrl;
40320
- const requestBody = _optionalChain([extra, 'optionalAccess', _1010 => _1010.approvalAction]) ? {
40356
+ const targetPath = _optionalChain([extra, 'optionalAccess', _1017 => _1017.approvalAction]) ? endpoints.approvalToolUrl : endpoints.chatStreamUrl;
40357
+ const requestBody = _optionalChain([extra, 'optionalAccess', _1018 => _1018.approvalAction]) ? {
40321
40358
  proposal_id: extra.approvalAction.proposalId,
40322
40359
  action: extra.approvalAction.action,
40323
40360
  messages: currentMessages.filter((m) => (m.role === "user" || m.role === "assistant") && !m.hidden).map((m) => ({
@@ -40326,8 +40363,8 @@ function createDocStreamFn(source, endpoints, messagesRef, sourcesMapRef, refsMa
40326
40363
  }))
40327
40364
  } : {
40328
40365
  messages: apiMessages,
40329
- ..._optionalChain([extra, 'optionalAccess', _1011 => _1011.commandOverride]) ? { commandOverride: extra.commandOverride } : {},
40330
- ..._optionalChain([extra, 'optionalAccess', _1012 => _1012.pendingAttachments]) && extra.pendingAttachments.length > 0 ? { pendingAttachments: extra.pendingAttachments } : {}
40366
+ ..._optionalChain([extra, 'optionalAccess', _1019 => _1019.commandOverride]) ? { commandOverride: extra.commandOverride } : {},
40367
+ ..._optionalChain([extra, 'optionalAccess', _1020 => _1020.pendingAttachments]) && extra.pendingAttachments.length > 0 ? { pendingAttachments: extra.pendingAttachments } : {}
40331
40368
  };
40332
40369
  const response = await embedAuthedFetch(targetPath, {
40333
40370
  method: "POST",
@@ -40337,7 +40374,7 @@ function createDocStreamFn(source, endpoints, messagesRef, sourcesMapRef, refsMa
40337
40374
  if (!response.ok) {
40338
40375
  throw new Error(`Chat request failed: ${response.status}`);
40339
40376
  }
40340
- const reader = _optionalChain([response, 'access', _1013 => _1013.body, 'optionalAccess', _1014 => _1014.getReader, 'call', _1015 => _1015()]);
40377
+ const reader = _optionalChain([response, 'access', _1021 => _1021.body, 'optionalAccess', _1022 => _1022.getReader, 'call', _1023 => _1023()]);
40341
40378
  if (!reader) throw new Error("No response body");
40342
40379
  const decoder = new TextDecoder();
40343
40380
  let buffer = "";
@@ -40420,7 +40457,7 @@ function createDocStreamFn(source, endpoints, messagesRef, sourcesMapRef, refsMa
40420
40457
  const toolName = typeof meta.tool_name === "string" ? meta.tool_name : void 0;
40421
40458
  const result = _nullishCoalesce(meta.result, () => ( null));
40422
40459
  const card = _nullishCoalesce(meta.card, () => ( null));
40423
- if (_optionalChain([card, 'optionalAccess', _1016 => _1016.ref, 'optionalAccess', _1017 => _1017.id]) && _optionalChain([card, 'optionalAccess', _1018 => _1018.type])) {
40460
+ if (_optionalChain([card, 'optionalAccess', _1024 => _1024.ref, 'optionalAccess', _1025 => _1025.id]) && _optionalChain([card, 'optionalAccess', _1026 => _1026.type])) {
40424
40461
  const existing = _nullishCoalesce(refsMapRef.current.get(sendIdx), () => ( {}));
40425
40462
  const key = buildChatRefKey(card.type, card.ref.id);
40426
40463
  refsMapRef.current.set(sendIdx, { ...existing, [key]: card.ref });
@@ -40433,8 +40470,8 @@ function createDocStreamFn(source, endpoints, messagesRef, sourcesMapRef, refsMa
40433
40470
  willAutoContinue: meta.willAutoContinue === true,
40434
40471
  ...toolName ? { toolName } : {},
40435
40472
  ...result ? { result } : {},
40436
- ..._optionalChain([card, 'optionalAccess', _1019 => _1019.marker]) ? { marker: card.marker } : {},
40437
- ..._optionalChain([card, 'optionalAccess', _1020 => _1020.ref]) ? { cardRef: card.ref } : {},
40473
+ ..._optionalChain([card, 'optionalAccess', _1027 => _1027.marker]) ? { marker: card.marker } : {},
40474
+ ..._optionalChain([card, 'optionalAccess', _1028 => _1028.ref]) ? { cardRef: card.ref } : {},
40438
40475
  ...typeof meta.receiptText === "string" ? { receiptText: meta.receiptText } : {},
40439
40476
  proposalId: typeof meta.proposalId === "string" ? meta.proposalId : void 0
40440
40477
  };
@@ -40553,7 +40590,7 @@ var DEFAULT_CHAT_SOURCE = "embed";
40553
40590
  var chatStorageKey = (source) => {
40554
40591
  const base = `mingo-chat-${source}-v${CHAT_STORAGE_VERSION}`;
40555
40592
  const auth = getEmbedProxyAuth();
40556
- if (_optionalChain([auth, 'optionalAccess', _1021 => _1021.email])) {
40593
+ if (_optionalChain([auth, 'optionalAccess', _1029 => _1029.email])) {
40557
40594
  return `${base}-u-${encodeURIComponent(auth.email.toLowerCase())}`;
40558
40595
  }
40559
40596
  return base;
@@ -40608,7 +40645,7 @@ function useSseChatAdapter(options, runtimeOptions = {}) {
40608
40645
  const { active = true } = runtimeOptions;
40609
40646
  const runtime = _chunkMEAR2WHScjs.useRequiredChatRuntime.call(void 0, );
40610
40647
  const source = runtime.source || DEFAULT_CHAT_SOURCE;
40611
- const tableIdForDocumentType = _nullishCoalesce(_optionalChain([options, 'optionalAccess', _1022 => _1022.tableIdForDocumentType]), () => ( defaultTableIdForDocumentType));
40648
+ const tableIdForDocumentType = _nullishCoalesce(_optionalChain([options, 'optionalAccess', _1030 => _1030.tableIdForDocumentType]), () => ( defaultTableIdForDocumentType));
40612
40649
  const persistedRef = _react.useRef.call(void 0, null);
40613
40650
  if (persistedRef.current === null) {
40614
40651
  pruneStaleChatStorage(source);
@@ -40713,7 +40750,7 @@ function useSseChatAdapter(options, runtimeOptions = {}) {
40713
40750
  const lookupIdx = sendIdx >= 0 ? sendIdx : 0;
40714
40751
  sources = sourcesMapRef.current.get(lookupIdx);
40715
40752
  chatRefs = _nullishCoalesce(m.chatRefs, () => ( refsMapRef.current.get(lookupIdx)));
40716
- scrollAnchor = _nullishCoalesce(_optionalChain([metaMapRef, 'access', _1023 => _1023.current, 'access', _1024 => _1024.get, 'call', _1025 => _1025(lookupIdx), 'optionalAccess', _1026 => _1026.scrollAnchor]), () => ( void 0));
40753
+ scrollAnchor = _nullishCoalesce(_optionalChain([metaMapRef, 'access', _1031 => _1031.current, 'access', _1032 => _1032.get, 'call', _1033 => _1033(lookupIdx), 'optionalAccess', _1034 => _1034.scrollAnchor]), () => ( void 0));
40717
40754
  }
40718
40755
  return {
40719
40756
  id: m.id,
@@ -40761,7 +40798,7 @@ function useSseChatAdapter(options, runtimeOptions = {}) {
40761
40798
  );
40762
40799
  return;
40763
40800
  }
40764
- const refSlug = typeof _optionalChain([reference, 'access', _1027 => _1027.metadata, 'optionalAccess', _1028 => _1028.slug]) === "string" && reference.metadata.slug.length > 0 ? reference.metadata.slug : "";
40801
+ const refSlug = typeof _optionalChain([reference, 'access', _1035 => _1035.metadata, 'optionalAccess', _1036 => _1036.slug]) === "string" && reference.metadata.slug.length > 0 ? reference.metadata.slug : "";
40765
40802
  const queryValue = refSlug || sanitizeTitleForChat(reference.title) || reference.id;
40766
40803
  const escaped = queryValue.replace(/\\/g, "\\\\").replace(/"/g, '\\"');
40767
40804
  const text = `/${cmdId} display "${escaped}"`;
@@ -40833,18 +40870,18 @@ function useSseChatAdapter(options, runtimeOptions = {}) {
40833
40870
  clearMessages,
40834
40871
  streamingPhase,
40835
40872
  /** Provider key for the lib's `<ModelDisplay>` icon. */
40836
- currentProvider: _nullishCoalesce(_optionalChain([latestMeta, 'optionalAccess', _1029 => _1029.provider]), () => ( null)),
40837
- currentModelLabel: _nullishCoalesce(_optionalChain([latestMeta, 'optionalAccess', _1030 => _1030.modelLabel]), () => ( null)),
40838
- currentContextWindowMaxTokens: _nullishCoalesce(_optionalChain([latestMeta, 'optionalAccess', _1031 => _1031.contextWindowMaxTokens]), () => ( null)),
40873
+ currentProvider: _nullishCoalesce(_optionalChain([latestMeta, 'optionalAccess', _1037 => _1037.provider]), () => ( null)),
40874
+ currentModelLabel: _nullishCoalesce(_optionalChain([latestMeta, 'optionalAccess', _1038 => _1038.modelLabel]), () => ( null)),
40875
+ currentContextWindowMaxTokens: _nullishCoalesce(_optionalChain([latestMeta, 'optionalAccess', _1039 => _1039.contextWindowMaxTokens]), () => ( null)),
40839
40876
  /** Input tokens (known after server's message_start frame; null until). */
40840
- currentInputTokens: _nullishCoalesce(_optionalChain([latestMeta, 'optionalAccess', _1032 => _1032.inputTokens]), () => ( null)),
40877
+ currentInputTokens: _nullishCoalesce(_optionalChain([latestMeta, 'optionalAccess', _1040 => _1040.inputTokens]), () => ( null)),
40841
40878
  /** Output tokens (known only after server's trailing usage frame). */
40842
- currentOutputTokens: _nullishCoalesce(_optionalChain([latestMeta, 'optionalAccess', _1033 => _1033.outputTokens]), () => ( null)),
40879
+ currentOutputTokens: _nullishCoalesce(_optionalChain([latestMeta, 'optionalAccess', _1041 => _1041.outputTokens]), () => ( null)),
40843
40880
  /** Cache hit % (read / total-input × 100). null during streaming. */
40844
- currentCacheHitRatePct: _nullishCoalesce(_optionalChain([latestMeta, 'optionalAccess', _1034 => _1034.cacheHitRatePct]), () => ( null)),
40881
+ currentCacheHitRatePct: _nullishCoalesce(_optionalChain([latestMeta, 'optionalAccess', _1042 => _1042.cacheHitRatePct]), () => ( null)),
40845
40882
  /** Cross-call usage breakdown (Haiku rewriter/classifier/summarizer
40846
40883
  * token counts). null until the trailing usage frame lands. */
40847
- currentUsageBreakdown: _nullishCoalesce(_optionalChain([latestMeta, 'optionalAccess', _1035 => _1035.breakdown]), () => ( null)),
40884
+ currentUsageBreakdown: _nullishCoalesce(_optionalChain([latestMeta, 'optionalAccess', _1043 => _1043.breakdown]), () => ( null)),
40848
40885
  // ─── Dialog management — stubs for v1 ────────────────────────────────
40849
40886
  // Guide mode currently keeps its history in `localStorage` opaquely
40850
40887
  // under the hood (`runtime.source` namespaced key). Surfacing that
@@ -40902,15 +40939,15 @@ var noopRejectRequest = async (_id, _reason) => {
40902
40939
 
40903
40940
  // src/components/chat/utils/process-historical-messages.ts
40904
40941
  function getOwnerDisplayName(owner) {
40905
- if (_optionalChain([owner, 'optionalAccess', _1036 => _1036.type]) === OWNER_TYPE.ADMIN && owner.user) {
40942
+ if (_optionalChain([owner, 'optionalAccess', _1044 => _1044.type]) === OWNER_TYPE.ADMIN && owner.user) {
40906
40943
  const { firstName, lastName } = owner.user;
40907
40944
  const name = [firstName, lastName].filter(Boolean).join(" ");
40908
40945
  if (name) return name;
40909
40946
  }
40910
- return _optionalChain([owner, 'optionalAccess', _1037 => _1037.type]) === OWNER_TYPE.ADMIN ? "Admin" : "You";
40947
+ return _optionalChain([owner, 'optionalAccess', _1045 => _1045.type]) === OWNER_TYPE.ADMIN ? "Admin" : "You";
40911
40948
  }
40912
40949
  function getOwnerAvatar(owner) {
40913
- return _nullishCoalesce(_optionalChain([owner, 'optionalAccess', _1038 => _1038.user, 'optionalAccess', _1039 => _1039.image, 'optionalAccess', _1040 => _1040.imageUrl]), () => ( void 0));
40950
+ return _nullishCoalesce(_optionalChain([owner, 'optionalAccess', _1046 => _1046.user, 'optionalAccess', _1047 => _1047.image, 'optionalAccess', _1048 => _1048.imageUrl]), () => ( void 0));
40914
40951
  }
40915
40952
  function pushStandaloneMessages(processedMessages, msg, messageDataArray) {
40916
40953
  messageDataArray.forEach((data) => {
@@ -40973,10 +41010,10 @@ function processHistoricalMessages(messages, options = {}) {
40973
41010
  pushStandaloneMessages(processedMessages, msg, messageDataArray);
40974
41011
  return;
40975
41012
  }
40976
- const isUserMessage = _optionalChain([msg, 'access', _1041 => _1041.owner, 'optionalAccess', _1042 => _1042.type]) === OWNER_TYPE.CLIENT || _optionalChain([msg, 'access', _1043 => _1043.owner, 'optionalAccess', _1044 => _1044.type]) === OWNER_TYPE.ADMIN;
41013
+ const isUserMessage = _optionalChain([msg, 'access', _1049 => _1049.owner, 'optionalAccess', _1050 => _1050.type]) === OWNER_TYPE.CLIENT || _optionalChain([msg, 'access', _1051 => _1051.owner, 'optionalAccess', _1052 => _1052.type]) === OWNER_TYPE.ADMIN;
40977
41014
  if (isUserMessage) {
40978
41015
  flushAssistantMessage();
40979
- const userAuthorType = _optionalChain([msg, 'access', _1045 => _1045.owner, 'optionalAccess', _1046 => _1046.type]) === OWNER_TYPE.ADMIN ? "admin" : "user";
41016
+ const userAuthorType = _optionalChain([msg, 'access', _1053 => _1053.owner, 'optionalAccess', _1054 => _1054.type]) === OWNER_TYPE.ADMIN ? "admin" : "user";
40980
41017
  messageDataArray.forEach((data) => {
40981
41018
  if (data.type === MESSAGE_TYPE.TEXT && "text" in data && data.text) {
40982
41019
  processedMessages.push({
@@ -41001,7 +41038,7 @@ function processHistoricalMessages(messages, options = {}) {
41001
41038
  });
41002
41039
  const nextMsg = messages[index + 1];
41003
41040
  const isLastMessage = index === messages.length - 1;
41004
- const nextIsFromUser = nextMsg && (_optionalChain([nextMsg, 'access', _1047 => _1047.owner, 'optionalAccess', _1048 => _1048.type]) === OWNER_TYPE.CLIENT || _optionalChain([nextMsg, 'access', _1049 => _1049.owner, 'optionalAccess', _1050 => _1050.type]) === OWNER_TYPE.ADMIN);
41041
+ const nextIsFromUser = nextMsg && (_optionalChain([nextMsg, 'access', _1055 => _1055.owner, 'optionalAccess', _1056 => _1056.type]) === OWNER_TYPE.CLIENT || _optionalChain([nextMsg, 'access', _1057 => _1057.owner, 'optionalAccess', _1058 => _1058.type]) === OWNER_TYPE.ADMIN);
41005
41042
  if (isLastMessage || nextIsFromUser) {
41006
41043
  flushAssistantMessage();
41007
41044
  }
@@ -41111,7 +41148,7 @@ function processMessageData(data, accumulator, approvalStatuses, options = {}, e
41111
41148
  }
41112
41149
  }
41113
41150
  } else {
41114
- _optionalChain([escalatedApprovals, 'optionalAccess', _1051 => _1051.set, 'call', _1052 => _1052(data.approvalRequestId, {
41151
+ _optionalChain([escalatedApprovals, 'optionalAccess', _1059 => _1059.set, 'call', _1060 => _1060(data.approvalRequestId, {
41115
41152
  command: data.command || "",
41116
41153
  explanation: data.explanation,
41117
41154
  approvalType,
@@ -41124,8 +41161,8 @@ function processMessageData(data, accumulator, approvalStatuses, options = {}, e
41124
41161
  if ("approvalRequestId" in data && data.approvalRequestId) {
41125
41162
  const existingStatus = approvalStatuses[data.approvalRequestId];
41126
41163
  const status = existingStatus || (data.approved ? "approved" : "rejected");
41127
- const escalatedData = _optionalChain([escalatedApprovals, 'optionalAccess', _1053 => _1053.get, 'call', _1054 => _1054(data.approvalRequestId)]);
41128
- if (_optionalChain([escalatedData, 'optionalAccess', _1055 => _1055.toolCalls]) && escalatedData.toolCalls.length > 0) {
41164
+ const escalatedData = _optionalChain([escalatedApprovals, 'optionalAccess', _1061 => _1061.get, 'call', _1062 => _1062(data.approvalRequestId)]);
41165
+ if (_optionalChain([escalatedData, 'optionalAccess', _1063 => _1063.toolCalls]) && escalatedData.toolCalls.length > 0) {
41129
41166
  if (batchApprovalsEnabled) {
41130
41167
  accumulator.addApprovalBatch(
41131
41168
  data.approvalRequestId,
@@ -41145,7 +41182,7 @@ function processMessageData(data, accumulator, approvalStatuses, options = {}, e
41145
41182
  );
41146
41183
  }
41147
41184
  }
41148
- _optionalChain([escalatedApprovals, 'optionalAccess', _1056 => _1056.delete, 'call', _1057 => _1057(data.approvalRequestId)]);
41185
+ _optionalChain([escalatedApprovals, 'optionalAccess', _1064 => _1064.delete, 'call', _1065 => _1065(data.approvalRequestId)]);
41149
41186
  break;
41150
41187
  }
41151
41188
  if (escalatedData) {
@@ -41154,7 +41191,7 @@ function processMessageData(data, accumulator, approvalStatuses, options = {}, e
41154
41191
  explanation: escalatedData.explanation,
41155
41192
  approvalType: escalatedData.approvalType
41156
41193
  });
41157
- _optionalChain([escalatedApprovals, 'optionalAccess', _1058 => _1058.delete, 'call', _1059 => _1059(data.approvalRequestId)]);
41194
+ _optionalChain([escalatedApprovals, 'optionalAccess', _1066 => _1066.delete, 'call', _1067 => _1067(data.approvalRequestId)]);
41158
41195
  }
41159
41196
  const before = accumulator.getSegments();
41160
41197
  const after = accumulator.updateApprovalStatus(data.approvalRequestId, status);
@@ -41170,9 +41207,9 @@ function processMessageData(data, accumulator, approvalStatuses, options = {}, e
41170
41207
  case MESSAGE_TYPE.ERROR:
41171
41208
  if ("error" in data) {
41172
41209
  let message2;
41173
- if ("details" in data && _optionalChain([data, 'optionalAccess', _1060 => _1060.details])) {
41210
+ if ("details" in data && _optionalChain([data, 'optionalAccess', _1068 => _1068.details])) {
41174
41211
  try {
41175
- message2 = _optionalChain([JSON, 'access', _1061 => _1061.parse, 'call', _1062 => _1062(data.details), 'optionalAccess', _1063 => _1063.error, 'optionalAccess', _1064 => _1064.message]);
41212
+ message2 = _optionalChain([JSON, 'access', _1069 => _1069.parse, 'call', _1070 => _1070(data.details), 'optionalAccess', _1071 => _1071.error, 'optionalAccess', _1072 => _1072.message]);
41176
41213
  } catch (e50) {
41177
41214
  message2 = data.details;
41178
41215
  }
@@ -41255,10 +41292,10 @@ function processHistoricalMessagesWithErrors(messages, options = {}) {
41255
41292
  pushStandaloneMessages(processedMessages, msg, messageDataArray);
41256
41293
  return;
41257
41294
  }
41258
- const isUserMessage = _optionalChain([msg, 'access', _1065 => _1065.owner, 'optionalAccess', _1066 => _1066.type]) === OWNER_TYPE.CLIENT || _optionalChain([msg, 'access', _1067 => _1067.owner, 'optionalAccess', _1068 => _1068.type]) === OWNER_TYPE.ADMIN;
41295
+ const isUserMessage = _optionalChain([msg, 'access', _1073 => _1073.owner, 'optionalAccess', _1074 => _1074.type]) === OWNER_TYPE.CLIENT || _optionalChain([msg, 'access', _1075 => _1075.owner, 'optionalAccess', _1076 => _1076.type]) === OWNER_TYPE.ADMIN;
41259
41296
  if (isUserMessage) {
41260
41297
  flushAssistantMessage();
41261
- const userAuthorType = _optionalChain([msg, 'access', _1069 => _1069.owner, 'optionalAccess', _1070 => _1070.type]) === OWNER_TYPE.ADMIN ? "admin" : "user";
41298
+ const userAuthorType = _optionalChain([msg, 'access', _1077 => _1077.owner, 'optionalAccess', _1078 => _1078.type]) === OWNER_TYPE.ADMIN ? "admin" : "user";
41262
41299
  messageDataArray.forEach((data) => {
41263
41300
  if (data.type === MESSAGE_TYPE.TEXT && "text" in data && data.text) {
41264
41301
  processedMessages.push({
@@ -41283,7 +41320,7 @@ function processHistoricalMessagesWithErrors(messages, options = {}) {
41283
41320
  });
41284
41321
  const nextMsg = messages[index + 1];
41285
41322
  const isLastMessage = index === messages.length - 1;
41286
- const nextIsFromUser = nextMsg && (_optionalChain([nextMsg, 'access', _1071 => _1071.owner, 'optionalAccess', _1072 => _1072.type]) === OWNER_TYPE.CLIENT || _optionalChain([nextMsg, 'access', _1073 => _1073.owner, 'optionalAccess', _1074 => _1074.type]) === OWNER_TYPE.ADMIN);
41323
+ const nextIsFromUser = nextMsg && (_optionalChain([nextMsg, 'access', _1079 => _1079.owner, 'optionalAccess', _1080 => _1080.type]) === OWNER_TYPE.CLIENT || _optionalChain([nextMsg, 'access', _1081 => _1081.owner, 'optionalAccess', _1082 => _1082.type]) === OWNER_TYPE.ADMIN);
41287
41324
  if (isLastMessage || nextIsFromUser) {
41288
41325
  flushAssistantMessage();
41289
41326
  }
@@ -41621,7 +41658,7 @@ function useNatsChatAdapter(config, options = {}) {
41621
41658
  }, [active, fetchDialogs, loadDialogsPage]);
41622
41659
  const sendMessage = _react.useCallback.call(void 0,
41623
41660
  async (text, sendOptions) => {
41624
- const hidden = _nullishCoalesce(_optionalChain([sendOptions, 'optionalAccess', _1075 => _1075.hidden]), () => ( false));
41661
+ const hidden = _nullishCoalesce(_optionalChain([sendOptions, 'optionalAccess', _1083 => _1083.hidden]), () => ( false));
41625
41662
  setMessages((prev) => [
41626
41663
  ...prev,
41627
41664
  {
@@ -41785,11 +41822,11 @@ function useNatsChatAdapter(config, options = {}) {
41785
41822
  // Tokens: live `token_usage` frame / dialog snapshot (`dialogTokenUsage`).
41786
41823
  // contextWindow uses the dialog's `contextSize` (the "X / Y" denominator,
41787
41824
  // matching the /mingo page). cacheHitRate/breakdown are SSE-only → null.
41788
- currentProvider: _nullishCoalesce(_nullishCoalesce(_optionalChain([liveModel, 'optionalAccess', _1076 => _1076.provider]), () => ( modelProvider)), () => ( null)),
41789
- currentModelLabel: _nullishCoalesce(_nullishCoalesce(_optionalChain([liveModel, 'optionalAccess', _1077 => _1077.modelLabel]), () => ( modelLabel)), () => ( null)),
41790
- currentContextWindowMaxTokens: _nullishCoalesce(_nullishCoalesce(_optionalChain([dialogTokenUsage, 'optionalAccess', _1078 => _1078.contextSize]), () => ( _optionalChain([liveModel, 'optionalAccess', _1079 => _1079.contextWindowMaxTokens]))), () => ( null)),
41791
- currentInputTokens: _nullishCoalesce(_optionalChain([dialogTokenUsage, 'optionalAccess', _1080 => _1080.inputTokensSize]), () => ( null)),
41792
- currentOutputTokens: _nullishCoalesce(_optionalChain([dialogTokenUsage, 'optionalAccess', _1081 => _1081.outputTokensSize]), () => ( null)),
41825
+ currentProvider: _nullishCoalesce(_nullishCoalesce(_optionalChain([liveModel, 'optionalAccess', _1084 => _1084.provider]), () => ( modelProvider)), () => ( null)),
41826
+ currentModelLabel: _nullishCoalesce(_nullishCoalesce(_optionalChain([liveModel, 'optionalAccess', _1085 => _1085.modelLabel]), () => ( modelLabel)), () => ( null)),
41827
+ currentContextWindowMaxTokens: _nullishCoalesce(_nullishCoalesce(_optionalChain([dialogTokenUsage, 'optionalAccess', _1086 => _1086.contextSize]), () => ( _optionalChain([liveModel, 'optionalAccess', _1087 => _1087.contextWindowMaxTokens]))), () => ( null)),
41828
+ currentInputTokens: _nullishCoalesce(_optionalChain([dialogTokenUsage, 'optionalAccess', _1088 => _1088.inputTokensSize]), () => ( null)),
41829
+ currentOutputTokens: _nullishCoalesce(_optionalChain([dialogTokenUsage, 'optionalAccess', _1089 => _1089.outputTokensSize]), () => ( null)),
41793
41830
  currentCacheHitRatePct: null,
41794
41831
  currentUsageBreakdown: null,
41795
41832
  // Dialog management
@@ -42037,7 +42074,7 @@ function extractIncompleteMessageState(lastMessage) {
42037
42074
  break;
42038
42075
  case "approval_batch": {
42039
42076
  const allDone = !!segment.data.executions && segment.data.toolCalls.every(
42040
- (c) => _optionalChain([segment, 'access', _1082 => _1082.data, 'access', _1083 => _1083.executions, 'optionalAccess', _1084 => _1084[c.toolExecutionRequestId], 'optionalAccess', _1085 => _1085.status]) === "done"
42077
+ (c) => _optionalChain([segment, 'access', _1090 => _1090.data, 'access', _1091 => _1091.executions, 'optionalAccess', _1092 => _1092[c.toolExecutionRequestId], 'optionalAccess', _1093 => _1093.status]) === "done"
42041
42078
  );
42042
42079
  if (segment.status !== "rejected" && !allDone) {
42043
42080
  hasIncompleteState = true;
@@ -42061,110 +42098,6 @@ function extractIncompleteMessageState(lastMessage) {
42061
42098
  };
42062
42099
  }
42063
42100
 
42064
- // src/components/chat/utils/history-merge.ts
42065
- var SYNTHETIC_REALTIME_ID_PREFIXES = ["assistant-", "user-", "error-"];
42066
- function isSyntheticRealtimeId(id) {
42067
- return SYNTHETIC_REALTIME_ID_PREFIXES.some((prefix) => id.startsWith(prefix));
42068
- }
42069
- function flattenMessagePagesChronological(pages) {
42070
- if (!pages) return [];
42071
- return [...pages].reverse().flatMap((page) => [...page.messages].reverse());
42072
- }
42073
- function maxPersistedStreamSeq(pages) {
42074
- let max = 0;
42075
- if (!pages) return max;
42076
- for (const page of pages) {
42077
- for (const msg of page.messages) {
42078
- const seq = msg.lastChunkStreamSeq;
42079
- if (typeof seq === "number" && seq > max) max = seq;
42080
- }
42081
- }
42082
- return max;
42083
- }
42084
- function mergeHistoryWithRealtime(input) {
42085
- const {
42086
- processedHistory,
42087
- rawHistoryIds,
42088
- existingMessages,
42089
- streamingMessageId,
42090
- historyFetchedAt,
42091
- historyMaxStreamSeq = 0,
42092
- realtimeSeenStreamSeq = 0
42093
- } = input;
42094
- if (processedHistory.length === 0) return existingMessages;
42095
- const processedIds = new Set(processedHistory.map((m) => m.id));
42096
- const seqCoverageKnown = realtimeSeenStreamSeq > 0 && historyMaxStreamSeq > 0;
42097
- const historyCoversRealtime = seqCoverageKnown ? historyMaxStreamSeq >= realtimeSeenStreamSeq : null;
42098
- const trailing = processedHistory[processedHistory.length - 1];
42099
- const historyTrailingAssistant = _optionalChain([trailing, 'optionalAccess', _1086 => _1086.role]) === "assistant" ? trailing : null;
42100
- const historyBatchId = historyTrailingAssistant && Array.isArray(historyTrailingAssistant.content) ? _nullishCoalesce(_optionalChain([historyTrailingAssistant, 'access', _1087 => _1087.content, 'access', _1088 => _1088.find, 'call', _1089 => _1089((s) => s.type === "approval_batch"), 'optionalAccess', _1090 => _1090.data, 'optionalAccess', _1091 => _1091.approvalRequestId]), () => ( null)) : null;
42101
- let processedToUse = processedHistory;
42102
- const pinnedSyntheticIds = /* @__PURE__ */ new Set();
42103
- const droppedSyntheticIds = /* @__PURE__ */ new Set();
42104
- if (historyBatchId) {
42105
- const batchTwins = existingMessages.filter(
42106
- (m) => m.role === "assistant" && Array.isArray(m.content) && m.content.some(
42107
- (s) => s.type === "approval_batch" && _optionalChain([s, 'access', _1092 => _1092.data, 'optionalAccess', _1093 => _1093.approvalRequestId]) === historyBatchId
42108
- )
42109
- );
42110
- const existingWithSameBatch = _nullishCoalesce(batchTwins.find((m) => m.id === streamingMessageId), () => ( batchTwins[batchTwins.length - 1]));
42111
- if (existingWithSameBatch && Array.isArray(existingWithSameBatch.content)) {
42112
- const histSize = Array.isArray(_optionalChain([historyTrailingAssistant, 'optionalAccess', _1094 => _1094.content])) ? historyTrailingAssistant.content.length : 0;
42113
- const realtimeSize = existingWithSameBatch.content.length;
42114
- if (existingWithSameBatch.id === streamingMessageId || realtimeSize > histSize) {
42115
- processedToUse = processedHistory.slice(0, -1);
42116
- pinnedSyntheticIds.add(existingWithSameBatch.id);
42117
- } else {
42118
- droppedSyntheticIds.add(existingWithSameBatch.id);
42119
- }
42120
- }
42121
- }
42122
- const realtimeMessages = existingMessages.filter((m) => {
42123
- if (pinnedSyntheticIds.has(m.id)) return true;
42124
- if (droppedSyntheticIds.has(m.id)) return false;
42125
- if (processedIds.has(m.id)) return false;
42126
- if (_optionalChain([rawHistoryIds, 'optionalAccess', _1095 => _1095.has, 'call', _1096 => _1096(m.id)])) return false;
42127
- if (m.role === "user" && m.id.startsWith("optimistic-") && typeof m.content === "string") {
42128
- const canBeInSnapshot = (_nullishCoalesce(_optionalChain([m, 'access', _1097 => _1097.timestamp, 'optionalAccess', _1098 => _1098.getTime, 'call', _1099 => _1099()]), () => ( 0))) <= historyFetchedAt;
42129
- return !(canBeInSnapshot && processedToUse.some((pm) => pm.role === "user" && pm.content === m.content));
42130
- }
42131
- if (isSyntheticRealtimeId(m.id) && m.id !== streamingMessageId) {
42132
- const covered = historyCoversRealtime !== null ? historyCoversRealtime : (_nullishCoalesce(_optionalChain([m, 'access', _1100 => _1100.timestamp, 'optionalAccess', _1101 => _1101.getTime, 'call', _1102 => _1102()]), () => ( 0))) <= historyFetchedAt;
42133
- if (covered) return false;
42134
- }
42135
- return true;
42136
- });
42137
- return [...processedToUse, ...realtimeMessages];
42138
- }
42139
- function computeHistoryPrepend(processedHistory, existingMessages) {
42140
- const existingIds = new Set(existingMessages.map((m) => m.id));
42141
- const newMessages = [];
42142
- let boundaryMessageIndex = -1;
42143
- for (let i = 0; i < processedHistory.length; i++) {
42144
- if (existingIds.has(processedHistory[i].id)) {
42145
- boundaryMessageIndex = i;
42146
- break;
42147
- }
42148
- newMessages.push(processedHistory[i]);
42149
- }
42150
- let boundaryMessageId;
42151
- let boundaryUpdates;
42152
- if (boundaryMessageIndex >= 0) {
42153
- const boundaryMessage = processedHistory[boundaryMessageIndex];
42154
- const existingBoundary = existingMessages.find((m) => m.id === boundaryMessage.id);
42155
- if (existingBoundary) {
42156
- const existingContent = JSON.stringify(existingBoundary.content);
42157
- const newContent = JSON.stringify(boundaryMessage.content);
42158
- if (existingContent !== newContent) {
42159
- boundaryMessageId = boundaryMessage.id;
42160
- boundaryUpdates = { content: boundaryMessage.content };
42161
- }
42162
- }
42163
- }
42164
- if (newMessages.length === 0 && !boundaryUpdates) return null;
42165
- return { newMessages, boundaryMessageId, boundaryUpdates };
42166
- }
42167
-
42168
42101
  // src/components/chat/utils/chip-action-class.ts
42169
42102
  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";
42170
42103
 
@@ -42349,7 +42282,7 @@ function useChatDialogManager({
42349
42282
  const handleConfirmRestore = _react.useCallback.call(void 0, async () => {
42350
42283
  if (restoreTarget) {
42351
42284
  try {
42352
- await _optionalChain([unarchiveDialog, 'optionalCall', _1103 => _1103(restoreTarget.id)]);
42285
+ await _optionalChain([unarchiveDialog, 'optionalCall', _1094 => _1094(restoreTarget.id)]);
42353
42286
  } catch (err) {
42354
42287
  console.error("[useChatDialogManager] unarchive failed:", err);
42355
42288
  return;
@@ -42748,7 +42681,7 @@ function EmbeddableChatInner({
42748
42681
  }),
42749
42682
  [commandsUrl]
42750
42683
  );
42751
- const userName = _optionalChain([identityUser, 'optionalAccess', _1104 => _1104.firstName, 'optionalAccess', _1105 => _1105.trim, 'call', _1106 => _1106()]) || _optionalChain([identityUser, 'optionalAccess', _1107 => _1107.name, 'optionalAccess', _1108 => _1108.split, 'call', _1109 => _1109(" "), 'access', _1110 => _1110[0], 'optionalAccess', _1111 => _1111.trim, 'call', _1112 => _1112()]) || void 0;
42684
+ const userName = _optionalChain([identityUser, 'optionalAccess', _1095 => _1095.firstName, 'optionalAccess', _1096 => _1096.trim, 'call', _1097 => _1097()]) || _optionalChain([identityUser, 'optionalAccess', _1098 => _1098.name, 'optionalAccess', _1099 => _1099.split, 'call', _1100 => _1100(" "), 'access', _1101 => _1101[0], 'optionalAccess', _1102 => _1102.trim, 'call', _1103 => _1103()]) || void 0;
42752
42685
  const effectiveModes = _react.useMemo.call(void 0, () => {
42753
42686
  if (modes) return modes;
42754
42687
  const guideOptions = tableIdForDocumentType ? { tableIdForDocumentType } : {};
@@ -42757,17 +42690,17 @@ function EmbeddableChatInner({
42757
42690
  const mingoCaps = _react.useMemo.call(void 0, () => {
42758
42691
  if (mingoState) {
42759
42692
  return {
42760
- canRename: _nullishCoalesce(_optionalChain([mingoDialogCapabilities, 'optionalAccess', _1113 => _1113.canRename]), () => ( false)),
42761
- canArchive: _nullishCoalesce(_optionalChain([mingoDialogCapabilities, 'optionalAccess', _1114 => _1114.canArchive]), () => ( false)),
42762
- fetchArchivedDialogs: _optionalChain([mingoDialogCapabilities, 'optionalAccess', _1115 => _1115.fetchArchivedDialogs]),
42763
- unarchiveDialog: _optionalChain([mingoDialogCapabilities, 'optionalAccess', _1116 => _1116.unarchiveDialog])
42693
+ canRename: _nullishCoalesce(_optionalChain([mingoDialogCapabilities, 'optionalAccess', _1104 => _1104.canRename]), () => ( false)),
42694
+ canArchive: _nullishCoalesce(_optionalChain([mingoDialogCapabilities, 'optionalAccess', _1105 => _1105.canArchive]), () => ( false)),
42695
+ fetchArchivedDialogs: _optionalChain([mingoDialogCapabilities, 'optionalAccess', _1106 => _1106.fetchArchivedDialogs]),
42696
+ unarchiveDialog: _optionalChain([mingoDialogCapabilities, 'optionalAccess', _1107 => _1107.unarchiveDialog])
42764
42697
  };
42765
42698
  }
42766
42699
  return {
42767
- canRename: !!_optionalChain([effectiveModes, 'access', _1117 => _1117.mingo, 'optionalAccess', _1118 => _1118.renameDialog]),
42768
- canArchive: !!_optionalChain([effectiveModes, 'access', _1119 => _1119.mingo, 'optionalAccess', _1120 => _1120.archiveDialog]),
42769
- fetchArchivedDialogs: _optionalChain([effectiveModes, 'access', _1121 => _1121.mingo, 'optionalAccess', _1122 => _1122.fetchArchivedDialogs]),
42770
- unarchiveDialog: _optionalChain([effectiveModes, 'access', _1123 => _1123.mingo, 'optionalAccess', _1124 => _1124.unarchiveDialog])
42700
+ canRename: !!_optionalChain([effectiveModes, 'access', _1108 => _1108.mingo, 'optionalAccess', _1109 => _1109.renameDialog]),
42701
+ canArchive: !!_optionalChain([effectiveModes, 'access', _1110 => _1110.mingo, 'optionalAccess', _1111 => _1111.archiveDialog]),
42702
+ fetchArchivedDialogs: _optionalChain([effectiveModes, 'access', _1112 => _1112.mingo, 'optionalAccess', _1113 => _1113.fetchArchivedDialogs]),
42703
+ unarchiveDialog: _optionalChain([effectiveModes, 'access', _1114 => _1114.mingo, 'optionalAccess', _1115 => _1115.unarchiveDialog])
42771
42704
  };
42772
42705
  }, [mingoState, mingoDialogCapabilities, effectiveModes]);
42773
42706
  const hasMingoMode = !!effectiveModes.mingo || !!mingoState;
@@ -42779,7 +42712,7 @@ function EmbeddableChatInner({
42779
42712
  if (controlledActiveMode === void 0) {
42780
42713
  setUncontrolledActiveMode(next);
42781
42714
  }
42782
- _optionalChain([onActiveModeChange, 'optionalCall', _1125 => _1125(next)]);
42715
+ _optionalChain([onActiveModeChange, 'optionalCall', _1116 => _1116(next)]);
42783
42716
  },
42784
42717
  [controlledActiveMode, onActiveModeChange]
42785
42718
  );
@@ -42986,9 +42919,9 @@ function EmbeddableChatInner({
42986
42919
  const lastAssistantMsg = [...rawMessages].reverse().find((m) => m.role === "assistant");
42987
42920
  const lastSources = _react.useMemo.call(void 0, () => {
42988
42921
  if (chatLoading) return void 0;
42989
- const sources = _optionalChain([lastAssistantMsg, 'optionalAccess', _1126 => _1126.sources]);
42922
+ const sources = _optionalChain([lastAssistantMsg, 'optionalAccess', _1117 => _1117.sources]);
42990
42923
  if (!sources || sources.length === 0) return void 0;
42991
- const content = _optionalChain([lastAssistantMsg, 'optionalAccess', _1127 => _1127.content]) || "";
42924
+ const content = _optionalChain([lastAssistantMsg, 'optionalAccess', _1118 => _1118.content]) || "";
42992
42925
  const citationOrder = [...content.matchAll(/\[(\d+)\]/g)].map(
42993
42926
  (m) => parseInt(m[1], 10)
42994
42927
  );
@@ -43035,7 +42968,7 @@ function EmbeddableChatInner({
43035
42968
  ChatPanelHeader,
43036
42969
  {
43037
42970
  showBack: hasConversation || guideCanReturnToMingo,
43038
- title: hasConversation ? _optionalChain([activeDialog, 'optionalAccess', _1128 => _1128.title]) || "New Chat" : isGuideEmpty ? "Mingo Guide" : "Current Chats",
42971
+ title: hasConversation ? _optionalChain([activeDialog, 'optionalAccess', _1119 => _1119.title]) || "New Chat" : isGuideEmpty ? "Mingo Guide" : "Current Chats",
43039
42972
  backAriaLabel: hasConversation ? isViewingArchived ? "Back to archive" : "Back" : "Back to Mingo",
43040
42973
  isArchivedView: isViewingArchived,
43041
42974
  onBack: hasConversation ? handleBack : () => handleActiveModeChange("mingo"),
@@ -43140,10 +43073,10 @@ function EmbeddableChatInner({
43140
43073
  subtitle: _nullishCoalesce(emptyStateGreeting, () => ( void 0)),
43141
43074
  ...guideWelcome,
43142
43075
  onQuickAction: (action) => {
43143
- _optionalChain([chatInputRef, 'access', _1129 => _1129.current, 'optionalAccess', _1130 => _1130.setValue, 'call', _1131 => _1131(
43076
+ _optionalChain([chatInputRef, 'access', _1120 => _1120.current, 'optionalAccess', _1121 => _1121.setValue, 'call', _1122 => _1122(
43144
43077
  _nullishCoalesce(action.prompt, () => ( action.label))
43145
43078
  )]);
43146
- _optionalChain([chatInputRef, 'access', _1132 => _1132.current, 'optionalAccess', _1133 => _1133.focus, 'call', _1134 => _1134()]);
43079
+ _optionalChain([chatInputRef, 'access', _1123 => _1123.current, 'optionalAccess', _1124 => _1124.focus, 'call', _1125 => _1125()]);
43147
43080
  },
43148
43081
  children: (chipCommands.length > 0 || !commandsLoaded) && /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "shrink-0 overflow-hidden rounded-md border border-ods-border", children: [
43149
43082
  !commandsLoaded && chipCommands.length === 0 && SKELETON_ROW_VARIANTS.map((variant, i) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
@@ -44095,5 +44028,7 @@ function EmbeddableChatInner({
44095
44028
 
44096
44029
 
44097
44030
 
44098
- exports.Label = Label; exports.AllowedDomainsInput = AllowedDomainsInput; exports.HiddenTagsPopup = HiddenTagsPopup; exports.tagVariants = tagVariants; exports.Tag = Tag; exports.Autocomplete = Autocomplete; exports.Card = Card; exports.CardHeader = CardHeader; exports.CardTitle = CardTitle; exports.CardDescription = CardDescription; exports.CardContent = CardContent; exports.CardFooter = CardFooter; exports.CardHorizontal = CardHorizontal; exports.CheckboxBlock = CheckboxBlock; exports.CheckboxWithDescription = CheckboxWithDescription; exports.Select = Select; exports.SelectGroup = SelectGroup; exports.SelectValue = SelectValue; exports.SelectTrigger = SelectTrigger; exports.SelectScrollUpButton = SelectScrollUpButton; exports.SelectScrollDownButton = SelectScrollDownButton; exports.SelectContent = SelectContent; exports.SelectLabel = SelectLabel; exports.SelectItem = SelectItem; exports.SelectSeparator = SelectSeparator; exports.DatePicker = DatePicker; exports.DatePickerInput = DatePickerInput; exports.DatePickerInputSimple = DatePickerInputSimple; exports.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.Tabs = Tabs; exports.TabsList = TabsList; exports.TabsTrigger = TabsTrigger; exports.TabsContent = TabsContent; exports.Accordion = Accordion; exports.AccordionItem = AccordionItem; exports.AccordionTrigger = AccordionTrigger; exports.AccordionContent = AccordionContent; exports.Breadcrumb = Breadcrumb; exports.BreadcrumbList = BreadcrumbList; exports.BreadcrumbItem = BreadcrumbItem; exports.BreadcrumbLink = BreadcrumbLink; exports.BreadcrumbPage = BreadcrumbPage; exports.BreadcrumbSeparator = BreadcrumbSeparator; exports.BreadcrumbEllipsis = BreadcrumbEllipsis; exports.MenubarMenu = MenubarMenu; exports.MenubarGroup = MenubarGroup; exports.MenubarPortal = MenubarPortal; exports.MenubarSub = MenubarSub; exports.MenubarRadioGroup = MenubarRadioGroup; exports.Menubar = Menubar; exports.MenubarTrigger = MenubarTrigger; exports.MenubarSubTrigger = MenubarSubTrigger; exports.MenubarSubContent = MenubarSubContent; exports.MenubarContent = MenubarContent; exports.MenubarItem = MenubarItem; exports.MenubarCheckboxItem = MenubarCheckboxItem; exports.MenubarRadioItem = MenubarRadioItem; exports.MenubarLabel = MenubarLabel; exports.MenubarSeparator = MenubarSeparator; exports.MenubarShortcut = MenubarShortcut; exports.NavigationMenu = NavigationMenu; exports.NavigationMenuList = NavigationMenuList; exports.NavigationMenuItem = NavigationMenuItem; exports.navigationMenuTriggerStyle = navigationMenuTriggerStyle; exports.NavigationMenuTrigger = NavigationMenuTrigger; exports.NavigationMenuContent = NavigationMenuContent; exports.NavigationMenuLink = NavigationMenuLink; exports.NavigationMenuViewport = NavigationMenuViewport; exports.NavigationMenuIndicator = NavigationMenuIndicator; exports.TabContent = TabContent; exports.TabNavigation = TabNavigation; exports.getTabById = getTabById; exports.getTabComponent = getTabComponent; exports.Alert = Alert; exports.AlertTitle = AlertTitle; exports.AlertDescription = AlertDescription; exports.Progress = Progress; exports.ReleaseChangelogSection = ReleaseChangelogSection; exports.statusBadgeVariants = statusBadgeVariants; exports.StatusBadge = StatusBadge; exports.StatusIndicator = StatusIndicator; exports.HoverDropdown = HoverDropdown; exports.ApprovalRequestMessage = ApprovalRequestMessage; exports.ExpandChevron = ExpandChevron; exports.useCollapsible = useCollapsible; exports.getCommandText = getCommandText; exports.ArgRow = ArgRow; exports.ResultBlock = ResultBlock; exports.ApprovalBatchMessage = ApprovalBatchMessage; exports.ContextCompactionDisplay = ContextCompactionDisplay; exports.SimpleMarkdownRenderer = SimpleMarkdownRenderer; exports.ThinkingDisplay = ThinkingDisplay; exports.ErrorMessageDisplay = ErrorMessageDisplay; exports.formatDate = formatDate; exports.formatNumber = formatNumber; exports.formatPrice = formatPrice; exports.formatBytes = formatBytes; exports.formatBytesShort = formatBytesShort; exports.formatLargeNumber = formatLargeNumber; exports.formatAbbreviatedNumber = formatAbbreviatedNumber; exports.getFirstLastInitials = getFirstLastInitials; exports.nameInitials = nameInitials; exports.formatDurationMMSS = formatDurationMMSS; exports.formatDurationCompact = formatDurationCompact; exports.formatTimeWithTimezone = formatTimeWithTimezone; exports.formatDurationFromRange = formatDurationFromRange; exports.formatDateUTC = formatDateUTC; exports.formatLegalDate = formatLegalDate; exports.formatCurrency = formatCurrency; exports.formatPercent = formatPercent; exports.formatWholeDollars = formatWholeDollars; exports.formatCompactMetric = formatCompactMetric; exports.getTrendColors = getTrendColors; exports.formatDateRange = formatDateRange; exports.formatDateTimeAt = formatDateTimeAt; exports.formatDurationFromMs = formatDurationFromMs; exports.formatDuration = formatDuration; exports.formatUnderscoreText = formatUnderscoreText; exports.stripHtml = stripHtml; exports.formatClassification = formatClassification; exports.formatPricingModel = formatPricingModel; exports.formatBioText = formatBioText; exports.SquareAvatar = SquareAvatar; exports.ActionsMenu = ActionsMenu; exports.ActionsMenuDropdown = ActionsMenuDropdown; 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.isCrossOriginUrl = isCrossOriginUrl; exports.decideNewTab = decideNewTab; exports.computeIsNewTab = computeIsNewTab; exports.newTabAnchorAttrs = newTabAnchorAttrs; exports.buildAnchorProps = buildAnchorProps; exports.NEW_TAB_FEATURES = NEW_TAB_FEATURES; exports.isModifierClick = isModifierClick; exports.stripSameOriginToPath = stripSameOriginToPath; exports.resolveExternalNavigation = resolveExternalNavigation; exports.executeNavigation = executeNavigation; exports.executeNavigationImperative = executeNavigationImperative; exports.handleChatNavClick = handleChatNavClick; exports.NavLinkAnchorViaRuntime = NavLinkAnchorViaRuntime; exports.SourceActionButton = SourceActionButton; exports.EMPTY_AUTHOR_PLACEHOLDER = EMPTY_AUTHOR_PLACEHOLDER; exports.EntityMetadataValueCell = EntityMetadataValueCell; exports.EntityMetadataAuthorCell = EntityMetadataAuthorCell; exports.EntityAuthorCard = EntityAuthorCard; exports.BlogImagePlaceholder = BlogImagePlaceholder; exports.FlamingoLogo = FlamingoLogo; exports.OpenmspLogo = OpenmspLogo; exports.PlatformBadge = PlatformBadge; exports.AdminContentCard = AdminContentCard; exports.fetchPriorityProp = fetchPriorityProp; exports.extractYouTubeId = extractYouTubeId; exports.Video = Video; exports.RATIO_GRID_CLASS = RATIO_GRID_CLASS; exports.RATIO_DISPLAY_GRID_CLASS = RATIO_DISPLAY_GRID_CLASS; exports.RatioTabs = RatioTabs; exports.detectAspectRatio = detectAspectRatio; exports.ratioToCategory = ratioToCategory; exports.groupByAspectRatio = groupByAspectRatio; exports.VideoBitesDisplay = VideoBitesDisplay; exports.VideoBiteCard = VideoBiteCard; exports.EntityVideoSection = EntityVideoSection; exports.ChatVideoEntityCard = ChatVideoEntityCard; exports.ProductReleaseCard = ProductReleaseCard; exports.ProductReleaseCardSkeleton = ProductReleaseCardSkeleton; exports.formatReleaseDate = formatReleaseDate; exports.formatDateShort = formatDateShort; exports.formatDateSlashUTC = formatDateSlashUTC; exports.resolveReleaseCover = resolveReleaseCover; exports.releaseTypeToBadgeColor = releaseTypeToBadgeColor; exports.defaultBuildProductReleaseCardProps = defaultBuildProductReleaseCardProps; exports.buildProductReleaseCardProps = buildProductReleaseCardProps; exports.useEntityCardLink = useEntityCardLink; exports.COMPACT_CARD_OUTER = COMPACT_CARD_OUTER; exports.COMPACT_CARD_OUTER_STATIC = COMPACT_CARD_OUTER_STATIC; exports.COMPACT_CARD_SKELETON_OUTER = COMPACT_CARD_SKELETON_OUTER; exports.COMPACT_CARD_IMAGE_SLOT = COMPACT_CARD_IMAGE_SLOT; exports.COMPACT_CARD_SKELETON_IMAGE_SLOT = COMPACT_CARD_SKELETON_IMAGE_SLOT; exports.COMPACT_CARD_ICON_SLOT = COMPACT_CARD_ICON_SLOT; exports.COMPACT_CARD_TEXT_COL = COMPACT_CARD_TEXT_COL; exports.COMPACT_CARD_TITLE_ROW = COMPACT_CARD_TITLE_ROW; exports.COMPACT_CARD_META_ROW_BOX = COMPACT_CARD_META_ROW_BOX; exports.COMPACT_CARD_TITLE = COMPACT_CARD_TITLE; exports.COMPACT_CARD_SUBTITLE = COMPACT_CARD_SUBTITLE; exports.COMPACT_CARD_SUMMARY = COMPACT_CARD_SUMMARY; exports.COMPACT_CARD_META_ROW = COMPACT_CARD_META_ROW; exports.COMPACT_CARD_ROW_FILLER = COMPACT_CARD_ROW_FILLER; exports.safeHref = safeHref; exports.BlogCardSkeleton = BlogCardSkeleton; exports.BlogCard = BlogCard; exports.CaseStudyCardSkeleton = CaseStudyCardSkeleton; exports.CaseStudyCard = CaseStudyCard; exports.CustomerInterviewCardSkeleton = CustomerInterviewCardSkeleton; exports.CustomerInterviewCard = CustomerInterviewCard; exports.formatInvestorUpdatePeriod = formatInvestorUpdatePeriod; exports.InvestorUpdateCardSkeleton = InvestorUpdateCardSkeleton; exports.InvestorUpdateCard = InvestorUpdateCard; exports.OnboardingGuideCardSkeleton = OnboardingGuideCardSkeleton; exports.OnboardingGuideCard = OnboardingGuideCard; exports.RoadmapVoteButton = RoadmapVoteButton; exports.getStatusColorScheme = getStatusColorScheme; exports.CUSTOM_ITEM_ID = CUSTOM_ITEM_ID; exports.getTaskTypeLabel = getTaskTypeLabel; exports.TaskTypeIcon = TaskTypeIcon; exports.RoadmapCardSkeleton = RoadmapCardSkeleton; exports.RoadmapCard = RoadmapCard; exports.GitHubActivityCard = GitHubActivityCard; exports.GitHubActivityCardSkeleton = GitHubActivityCardSkeleton; exports.SlackMessageCard = SlackMessageCard; exports.SlackMessageCardSkeleton = SlackMessageCardSkeleton; exports.HubspotTicketCard = HubspotTicketCard; exports.HubspotTicketCardSkeleton = HubspotTicketCardSkeleton; exports.DataRoomDocCard = DataRoomDocCard; exports.DataRoomDocCardSkeleton = DataRoomDocCardSkeleton; exports.ProgramCardSkeleton = ProgramCardSkeleton; exports.ProgramCard = ProgramCard; exports.CampaignCardAdmin = CampaignCardAdmin; exports.CampaignCardAdminSkeleton = CampaignCardAdminSkeleton; exports.GenericEntityCard = GenericEntityCard; exports.GenericEntityCardSkeleton = GenericEntityCardSkeleton; exports.getAppType = getAppType; exports.getEmbedProxyAuth = getEmbedProxyAuth; exports.getPersistedProxyEmail = getPersistedProxyEmail; exports.setEmbedProxyAuth = setEmbedProxyAuth; exports.clearEmbedProxyAuth = clearEmbedProxyAuth; exports.applyProxyAuth = applyProxyAuth; exports.setEmbedAuthAdapter = setEmbedAuthAdapter; exports.embedAuthedFetch = embedAuthedFetch; exports.useChatCardItem = useChatCardItem; exports.SOURCE_ICON_NAMES = SOURCE_ICON_NAMES; exports.getSourceIconName = getSourceIconName; exports.SOURCE_LABELS_BY_TABLE = SOURCE_LABELS_BY_TABLE; exports.getSourceLabel = getSourceLabel; exports.DEFAULT_DOCUMENT_TYPE_TO_TABLE_ID = DEFAULT_DOCUMENT_TYPE_TO_TABLE_ID; exports.defaultTableIdForDocumentType = defaultTableIdForDocumentType; exports.ICON_REGISTRY = ICON_REGISTRY; exports.normalizeIconKey = normalizeIconKey; exports.getIconComponent = getIconComponent; exports.getDynamicIcon = getDynamicIcon; exports.resolveSourceRowCTA = resolveSourceRowCTA; exports.resolveSourceIcon = resolveSourceIcon; exports.ChatCardLoader = ChatCardLoader; exports.renderChatInlineEntityCard = renderChatInlineEntityCard; exports.CHAT_TYPE = CHAT_TYPE; exports.OWNER_TYPE = OWNER_TYPE; exports.MESSAGE_ROLE = MESSAGE_ROLE; exports.ASSISTANT_TYPE = ASSISTANT_TYPE; exports.AUTHOR_TYPE = AUTHOR_TYPE; exports.APPROVAL_STATUS = APPROVAL_STATUS; exports.CONNECTION_STATUS = CONNECTION_STATUS; exports.buildChatRefKey = buildChatRefKey; exports.isStructuredContent = isStructuredContent; exports.normalizeContent = normalizeContent2; exports.NETWORK_CONFIG = NETWORK_CONFIG; exports.transformEventToProgram = transformEventToProgram; exports.transformPodcastToProgram = transformPodcastToProgram; exports.transformWebinarToProgram = transformWebinarToProgram; exports.useChunkCatchup = useChunkCatchup; exports.useJetStreamDialogSubscription = useJetStreamDialogSubscription; exports.useNatsDialogSubscription = useNatsDialogSubscription; exports.buildNatsWsUrl = buildNatsWsUrl; exports.parseChunkToAction = parseChunkToAction; exports.isControlChunk = isControlChunk; exports.isErrorChunk = isErrorChunk; exports.isMetadataChunk = isMetadataChunk; exports.extractTextFromChunk = extractTextFromChunk; exports.MessageSegmentAccumulator = MessageSegmentAccumulator; exports.createMessageSegmentAccumulator = createMessageSegmentAccumulator; exports.useRealtimeChunkProcessor = useRealtimeChunkProcessor; exports.fetchSlashCommands = fetchSlashCommands; exports.useSlashCommands = useSlashCommands; exports.useSlashCommandRegistry = useSlashCommandRegistry; exports.useChatAttachments = useChatAttachments; exports.useChatAttachmentImageGallery = useChatAttachmentImageGallery; exports.ChatIdentityProvider = ChatIdentityProvider; exports.useChatIdentity = useChatIdentity; exports.useCloseOnNavigation = useCloseOnNavigation; exports.useSSE = useSSE; exports.useChat = useChat; exports.SCROLL_ANCHOR_WIRE_KEY = SCROLL_ANCHOR_WIRE_KEY; exports.parseScrollAnchor = parseScrollAnchor; exports.AUTO_CONTINUATION_DIRECTIVE_PREFIX = AUTO_CONTINUATION_DIRECTIVE_PREFIX; exports.buildAutoContinuationDirective = buildAutoContinuationDirective; exports.flattenAssistantContent = flattenAssistantContent; exports.parseWireCommandOverride = parseWireCommandOverride; exports.sanitizeTitleForChat = sanitizeTitleForChat; exports.formatSingularLookupInvocation = formatSingularLookupInvocation; exports.extractEntityIdFilter = extractEntityIdFilter; exports.buildDiscussAddendum = buildDiscussAddendum; exports.useSseChatAdapter = useSseChatAdapter; exports.processHistoricalMessages = processHistoricalMessages; exports.extractErrorMessages = extractErrorMessages; exports.processHistoricalMessagesWithErrors = processHistoricalMessagesWithErrors; exports.useNatsChatAdapter = useNatsChatAdapter; exports.useUnifiedChat = useUnifiedChat; exports.extractIncompleteMessageState = extractIncompleteMessageState; exports.SYNTHETIC_REALTIME_ID_PREFIXES = SYNTHETIC_REALTIME_ID_PREFIXES; exports.flattenMessagePagesChronological = flattenMessagePagesChronological; exports.maxPersistedStreamSeq = maxPersistedStreamSeq; exports.mergeHistoryWithRealtime = mergeHistoryWithRealtime; exports.computeHistoryPrepend = computeHistoryPrepend; exports.CHIP_ACTION_BUTTON_CLASS = CHIP_ACTION_BUTTON_CLASS; exports.chatChipClass = chatChipClass; exports.clickupTaskUrl = clickupTaskUrl; exports.EmbeddableChat = EmbeddableChat; exports.FilterCheckboxItem = FilterCheckboxItem; exports.TagKeyValueFilter = TagKeyValueFilter; exports.FilterModal = FilterModal; exports.PageActions = PageActions; exports.usePageActionsBottomPadding = usePageActionsBottomPadding; exports.BackButton = BackButton; exports.PageContainer = PageContainer; exports.ListPageContainer = ListPageContainer; exports.DetailPageContainer = DetailPageContainer; exports.FormPageContainer = FormPageContainer; exports.ContentPageContainer = ContentPageContainer; exports.ListPageLayout = ListPageLayout; exports.PAGE_HEADING_CLASS = PAGE_HEADING_CLASS; exports.PageHeading = PageHeading; exports.EntityImage = EntityImage; exports.TitleBlock = TitleBlock; exports.PageLayout = PageLayout; exports.PageShell = PageShell; exports.ArticleDetailLayout = ArticleDetailLayout; exports.toggleVariants = toggleVariants; exports.Toggle = Toggle; exports.ToggleGroup = ToggleGroup; exports.ToggleGroupItem = ToggleGroupItem; exports.delay = delay; exports.generateRandomString = generateRandomString; exports.truncateString = truncateString; exports.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.buildListUrl = buildListUrl; exports.DEFAULT_CONTENT_SUFFIXES = DEFAULT_CONTENT_SUFFIXES; exports.makeComposeContentUrl = makeComposeContentUrl; exports.buildDefaultHref = buildDefaultHref; exports.resolveContentHref = resolveContentHref; 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.ErrorState = ErrorState; exports.PageError = PageError; exports.LoadError = LoadError; exports.NotFoundError = NotFoundError; exports.ContentLoader = ContentLoader; exports.CardLoader = CardLoader; exports.FormLoader = FormLoader; exports.DetailLoader = DetailLoader; exports.ListLoader = ListLoader; exports.Pagination = Pagination; exports.PaginationContent = PaginationContent; exports.PaginationItem = PaginationItem; exports.PaginationLink = PaginationLink; exports.PaginationEllipsis = PaginationEllipsis; exports.PaginationPrevious = PaginationPrevious; exports.PaginationNext = PaginationNext; exports.init_pagination = init_pagination; exports.CursorPagination = CursorPagination; exports.CursorPaginationSimple = CursorPaginationSimple; exports.TableEmptyState = TableEmptyState; exports.DynamicThemeProvider = DynamicThemeProvider; exports.useDynamicTheme = useDynamicTheme; exports.THEME_STORAGE_KEY = THEME_STORAGE_KEY; exports.THEME_ATTRIBUTE = THEME_ATTRIBUTE; exports.DEFAULT_THEME = DEFAULT_THEME; exports.ThemeProvider = ThemeProvider; exports.useTheme = useTheme; exports.useThemeToggle = useThemeToggle; exports.ArrayEntryManager = ArrayEntryManager; exports.ProviderButton = ProviderButton; exports.AuthProvidersList = AuthProvidersList; exports.ChangelogManager = ChangelogManager; exports.ChangelogSectionsManager = ChangelogSectionsManager; exports.ClickUpTasksManager = ClickUpTasksManager; exports.CommandBox = CommandBox; exports.EntityTagBadges = EntityTagBadges; exports.ErrorBoundary = ErrorBoundary; exports.SectionSelector = SectionSelector; exports.FigmaPrototypeViewer = FigmaPrototypeViewer; exports.FiltersDropdown = FiltersDropdown; exports.useFiltersDropdown = useFiltersDropdown; exports.GitHubReleasesManager = GitHubReleasesManager; exports.KnowledgeBaseLinksManager = KnowledgeBaseLinksManager; exports.LoadingProvider = LoadingProvider; exports.useLoading = useLoading; exports.MediaGalleryManager = MediaGalleryManager; exports.MoreAboutButton = MoreAboutButton; exports.OSTypeBadgeGroup = OSTypeBadgeGroup; exports.ParallaxImageShowcase = ParallaxImageShowcase; exports.PathsDisplay = PathsDisplay; exports.OPENFRAME_PATHS = OPENFRAME_PATHS; exports.getOpenFramePaths = getOpenFramePaths; exports.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.MUX_STREAM_ORIGIN = MUX_STREAM_ORIGIN; exports.MUX_IMAGE_ORIGIN = MUX_IMAGE_ORIGIN; exports.useVideoOriginPreconnect = useVideoOriginPreconnect; exports.useVideoWarmup = useVideoWarmup; exports.getCaptionsUrl = getCaptionsUrl; exports.VideoSourceSelector = VideoSourceSelector; exports.ConfidenceBadge = ConfidenceBadge; exports.TranscriptSummaryEditor = TranscriptSummaryEditor; exports.AIEnrichButton = AIEnrichButton; exports.AIWarningsSection = AIWarningsSection; exports.AIEnrichSection = AIEnrichSection; exports.HighlightVideoSection = HighlightVideoSection; exports.HighlightConfigSection = HighlightConfigSection; exports.EntitySummaryEditor = EntitySummaryEditor; exports.AIStatusIndicator = AIStatusIndicator; exports.AIRequiredBadge = AIRequiredBadge; exports.TranscribeSummarizeSection = TranscribeSummarizeSection; exports.VideoClipsSection = VideoClipsSection; exports.HighlightGenerationSection = HighlightGenerationSection; exports.HighlightVideoPreview = HighlightVideoPreview; exports.TranscribeAndSummarizeCombinedSection = TranscribeAndSummarizeCombinedSection; exports.HighlightVideoCombinedSection = HighlightVideoCombinedSection; exports.ViewToggle = ViewToggle; exports.PolicyConfigurationPanel = PolicyConfigurationPanel; exports.PhoneInput = PhoneInput; exports.WaitlistForm = WaitlistForm; exports.NotificationsProvider = NotificationsProvider; exports.useNotifications = useNotifications; exports.useOptionalNotifications = useOptionalNotifications; exports.NotificationTile = NotificationTile; exports.NotificationDrawer = NotificationDrawer; exports.NotificationPopups = NotificationPopups; exports.ADMIN_APPROVAL_REQUEST_CONTEXT_TYPE = ADMIN_APPROVAL_REQUEST_CONTEXT_TYPE; exports.isApprovalNotification = isApprovalNotification; exports.getApprovalMeta = getApprovalMeta; exports.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.SearchInput = SearchInput; exports.FilterListItem = FilterListItem; exports.FilterList = FilterList; exports.TagSearchInput = TagSearchInput; exports.MarkdownEditor = MarkdownEditor; exports.FileUpload = FileUpload; exports.ImageUploader = ImageUploader; exports.TICKET_STATUS_COLOR_PRESETS = TICKET_STATUS_COLOR_PRESETS; exports.CUSTOM_PRESET_KEY = CUSTOM_PRESET_KEY; exports.DEFAULT_CUSTOM_STATUS_COLOR = DEFAULT_CUSTOM_STATUS_COLOR; exports.ColorPresetSelect = ColorPresetSelect; exports.ColorPickerInput = ColorPickerInput; exports.TicketStatusConfigRow = TicketStatusConfigRow; exports.AssigneeDropdown = AssigneeDropdown; exports.TicketDetailSection = TicketDetailSection; exports.TicketAttachmentsList = TicketAttachmentsList; exports.TicketNoteCard = TicketNoteCard; exports.TicketNotesSection = TicketNotesSection; exports.TicketInfoSection = TicketInfoSection; exports.FilterPillRow = FilterPillRow; exports.Header = Header2; exports.HeaderSkeleton = HeaderSkeleton; exports.ClientOnlyHeader = ClientOnlyHeader; exports.MobileNavPanel = MobileNavPanel; exports.SlidingSidebar = SlidingSidebar; exports.StickySectionNav = StickySectionNav; exports.useSectionNavigation = useSectionNavigation; exports.NavigationSidebar = NavigationSidebar; exports.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;
44099
- //# sourceMappingURL=chunk-EPXROXYC.cjs.map
44031
+
44032
+
44033
+ exports.Label = Label; exports.AllowedDomainsInput = AllowedDomainsInput; exports.HiddenTagsPopup = HiddenTagsPopup; exports.tagVariants = tagVariants; exports.Tag = Tag; exports.Autocomplete = Autocomplete; exports.Card = Card; exports.CardHeader = CardHeader; exports.CardTitle = CardTitle; exports.CardDescription = CardDescription; exports.CardContent = CardContent; exports.CardFooter = CardFooter; exports.CardHorizontal = CardHorizontal; exports.CheckboxBlock = CheckboxBlock; exports.CheckboxWithDescription = CheckboxWithDescription; exports.Select = Select; exports.SelectGroup = SelectGroup; exports.SelectValue = SelectValue; exports.SelectTrigger = SelectTrigger; exports.SelectScrollUpButton = SelectScrollUpButton; exports.SelectScrollDownButton = SelectScrollDownButton; exports.SelectContent = SelectContent; exports.SelectLabel = SelectLabel; exports.SelectItem = SelectItem; exports.SelectSeparator = SelectSeparator; exports.DatePicker = DatePicker; exports.DatePickerInput = DatePickerInput; exports.DatePickerInputSimple = DatePickerInputSimple; exports.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.Tabs = Tabs; exports.TabsList = TabsList; exports.TabsTrigger = TabsTrigger; exports.TabsContent = TabsContent; exports.Accordion = Accordion; exports.AccordionItem = AccordionItem; exports.AccordionTrigger = AccordionTrigger; exports.AccordionContent = AccordionContent; exports.Breadcrumb = Breadcrumb; exports.BreadcrumbList = BreadcrumbList; exports.BreadcrumbItem = BreadcrumbItem; exports.BreadcrumbLink = BreadcrumbLink; exports.BreadcrumbPage = BreadcrumbPage; exports.BreadcrumbSeparator = BreadcrumbSeparator; exports.BreadcrumbEllipsis = BreadcrumbEllipsis; exports.MenubarMenu = MenubarMenu; exports.MenubarGroup = MenubarGroup; exports.MenubarPortal = MenubarPortal; exports.MenubarSub = MenubarSub; exports.MenubarRadioGroup = MenubarRadioGroup; exports.Menubar = Menubar; exports.MenubarTrigger = MenubarTrigger; exports.MenubarSubTrigger = MenubarSubTrigger; exports.MenubarSubContent = MenubarSubContent; exports.MenubarContent = MenubarContent; exports.MenubarItem = MenubarItem; exports.MenubarCheckboxItem = MenubarCheckboxItem; exports.MenubarRadioItem = MenubarRadioItem; exports.MenubarLabel = MenubarLabel; exports.MenubarSeparator = MenubarSeparator; exports.MenubarShortcut = MenubarShortcut; exports.NavigationMenu = NavigationMenu; exports.NavigationMenuList = NavigationMenuList; exports.NavigationMenuItem = NavigationMenuItem; exports.navigationMenuTriggerStyle = navigationMenuTriggerStyle; exports.NavigationMenuTrigger = NavigationMenuTrigger; exports.NavigationMenuContent = NavigationMenuContent; exports.NavigationMenuLink = NavigationMenuLink; exports.NavigationMenuViewport = NavigationMenuViewport; exports.NavigationMenuIndicator = NavigationMenuIndicator; exports.TabContent = TabContent; exports.TabNavigation = TabNavigation; exports.getTabById = getTabById; exports.getTabComponent = getTabComponent; exports.Alert = Alert; exports.AlertTitle = AlertTitle; exports.AlertDescription = AlertDescription; exports.Progress = Progress; exports.ReleaseChangelogSection = ReleaseChangelogSection; exports.statusBadgeVariants = statusBadgeVariants; exports.StatusBadge = StatusBadge; exports.StatusIndicator = StatusIndicator; exports.HoverDropdown = HoverDropdown; exports.ApprovalRequestMessage = ApprovalRequestMessage; exports.ExpandChevron = ExpandChevron; exports.useCollapsible = useCollapsible; exports.getCommandText = getCommandText; exports.ArgRow = ArgRow; exports.ResultBlock = ResultBlock; exports.ApprovalBatchMessage = ApprovalBatchMessage; exports.ContextCompactionDisplay = ContextCompactionDisplay; exports.SimpleMarkdownRenderer = SimpleMarkdownRenderer; exports.ThinkingDisplay = ThinkingDisplay; exports.ErrorMessageDisplay = ErrorMessageDisplay; exports.formatDate = formatDate; exports.formatNumber = formatNumber; exports.formatPrice = formatPrice; exports.formatBytes = formatBytes; exports.formatBytesShort = formatBytesShort; exports.formatLargeNumber = formatLargeNumber; exports.formatAbbreviatedNumber = formatAbbreviatedNumber; exports.getFirstLastInitials = getFirstLastInitials; exports.nameInitials = nameInitials; exports.formatDurationMMSS = formatDurationMMSS; exports.formatDurationCompact = formatDurationCompact; exports.formatTimeWithTimezone = formatTimeWithTimezone; exports.formatDurationFromRange = formatDurationFromRange; exports.formatDateUTC = formatDateUTC; exports.formatLegalDate = formatLegalDate; exports.formatCurrency = formatCurrency; exports.formatPercent = formatPercent; exports.formatWholeDollars = formatWholeDollars; exports.formatCompactMetric = formatCompactMetric; exports.getTrendColors = getTrendColors; exports.formatDateRange = formatDateRange; exports.formatDateTimeAt = formatDateTimeAt; exports.formatDurationFromMs = formatDurationFromMs; exports.formatDuration = formatDuration; exports.formatUnderscoreText = formatUnderscoreText; exports.stripHtml = stripHtml; exports.formatClassification = formatClassification; exports.formatPricingModel = formatPricingModel; exports.formatBioText = formatBioText; exports.SquareAvatar = SquareAvatar; exports.ActionsMenu = ActionsMenu; exports.ActionsMenuDropdown = ActionsMenuDropdown; 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.isCrossOriginUrl = isCrossOriginUrl; exports.decideNewTab = decideNewTab; exports.computeIsNewTab = computeIsNewTab; exports.newTabAnchorAttrs = newTabAnchorAttrs; exports.buildAnchorProps = buildAnchorProps; exports.NEW_TAB_FEATURES = NEW_TAB_FEATURES; exports.isModifierClick = isModifierClick; exports.stripSameOriginToPath = stripSameOriginToPath; exports.resolveExternalNavigation = resolveExternalNavigation; exports.executeNavigation = executeNavigation; exports.executeNavigationImperative = executeNavigationImperative; exports.handleChatNavClick = handleChatNavClick; exports.NavLinkAnchorViaRuntime = NavLinkAnchorViaRuntime; exports.SourceActionButton = SourceActionButton; exports.EMPTY_AUTHOR_PLACEHOLDER = EMPTY_AUTHOR_PLACEHOLDER; exports.EntityMetadataValueCell = EntityMetadataValueCell; exports.EntityMetadataAuthorCell = EntityMetadataAuthorCell; exports.EntityAuthorCard = EntityAuthorCard; exports.BlogImagePlaceholder = BlogImagePlaceholder; exports.FlamingoLogo = FlamingoLogo; exports.OpenmspLogo = OpenmspLogo; exports.PlatformBadge = PlatformBadge; exports.AdminContentCard = AdminContentCard; exports.fetchPriorityProp = fetchPriorityProp; exports.extractYouTubeId = extractYouTubeId; exports.Video = Video; exports.RATIO_GRID_CLASS = RATIO_GRID_CLASS; exports.RATIO_DISPLAY_GRID_CLASS = RATIO_DISPLAY_GRID_CLASS; exports.RatioTabs = RatioTabs; exports.detectAspectRatio = detectAspectRatio; exports.ratioToCategory = ratioToCategory; exports.groupByAspectRatio = groupByAspectRatio; exports.VideoBitesDisplay = VideoBitesDisplay; exports.VideoBiteCard = VideoBiteCard; exports.EntityVideoSection = EntityVideoSection; exports.ChatVideoEntityCard = ChatVideoEntityCard; exports.ProductReleaseCard = ProductReleaseCard; exports.ProductReleaseCardSkeleton = ProductReleaseCardSkeleton; exports.formatReleaseDate = formatReleaseDate; exports.formatDateShort = formatDateShort; exports.formatDateSlashUTC = formatDateSlashUTC; exports.resolveReleaseCover = resolveReleaseCover; exports.releaseTypeToBadgeColor = releaseTypeToBadgeColor; exports.defaultBuildProductReleaseCardProps = defaultBuildProductReleaseCardProps; exports.buildProductReleaseCardProps = buildProductReleaseCardProps; exports.useEntityCardLink = useEntityCardLink; exports.COMPACT_CARD_OUTER = COMPACT_CARD_OUTER; exports.COMPACT_CARD_OUTER_STATIC = COMPACT_CARD_OUTER_STATIC; exports.COMPACT_CARD_SKELETON_OUTER = COMPACT_CARD_SKELETON_OUTER; exports.COMPACT_CARD_IMAGE_SLOT = COMPACT_CARD_IMAGE_SLOT; exports.COMPACT_CARD_SKELETON_IMAGE_SLOT = COMPACT_CARD_SKELETON_IMAGE_SLOT; exports.COMPACT_CARD_ICON_SLOT = COMPACT_CARD_ICON_SLOT; exports.COMPACT_CARD_TEXT_COL = COMPACT_CARD_TEXT_COL; exports.COMPACT_CARD_TITLE_ROW = COMPACT_CARD_TITLE_ROW; exports.COMPACT_CARD_META_ROW_BOX = COMPACT_CARD_META_ROW_BOX; exports.COMPACT_CARD_TITLE = COMPACT_CARD_TITLE; exports.COMPACT_CARD_SUBTITLE = COMPACT_CARD_SUBTITLE; exports.COMPACT_CARD_SUMMARY = COMPACT_CARD_SUMMARY; exports.COMPACT_CARD_META_ROW = COMPACT_CARD_META_ROW; exports.COMPACT_CARD_ROW_FILLER = COMPACT_CARD_ROW_FILLER; exports.safeHref = safeHref; exports.BlogCardSkeleton = BlogCardSkeleton; exports.BlogCard = BlogCard; exports.CaseStudyCardSkeleton = CaseStudyCardSkeleton; exports.CaseStudyCard = CaseStudyCard; exports.CustomerInterviewCardSkeleton = CustomerInterviewCardSkeleton; exports.CustomerInterviewCard = CustomerInterviewCard; exports.formatInvestorUpdatePeriod = formatInvestorUpdatePeriod; exports.InvestorUpdateCardSkeleton = InvestorUpdateCardSkeleton; exports.InvestorUpdateCard = InvestorUpdateCard; exports.OnboardingGuideCardSkeleton = OnboardingGuideCardSkeleton; exports.OnboardingGuideCard = OnboardingGuideCard; exports.RoadmapVoteButton = RoadmapVoteButton; exports.getStatusColorScheme = getStatusColorScheme; exports.CUSTOM_ITEM_ID = CUSTOM_ITEM_ID; exports.getTaskTypeLabel = getTaskTypeLabel; exports.TaskTypeIcon = TaskTypeIcon; exports.RoadmapCardSkeleton = RoadmapCardSkeleton; exports.RoadmapCard = RoadmapCard; exports.GitHubActivityCard = GitHubActivityCard; exports.GitHubActivityCardSkeleton = GitHubActivityCardSkeleton; exports.SlackMessageCard = SlackMessageCard; exports.SlackMessageCardSkeleton = SlackMessageCardSkeleton; exports.HubspotTicketCard = HubspotTicketCard; exports.HubspotTicketCardSkeleton = HubspotTicketCardSkeleton; exports.DataRoomDocCard = DataRoomDocCard; exports.DataRoomDocCardSkeleton = DataRoomDocCardSkeleton; exports.ProgramCardSkeleton = ProgramCardSkeleton; exports.ProgramCard = ProgramCard; exports.CampaignCardAdmin = CampaignCardAdmin; exports.CampaignCardAdminSkeleton = CampaignCardAdminSkeleton; exports.GenericEntityCard = GenericEntityCard; exports.GenericEntityCardSkeleton = GenericEntityCardSkeleton; exports.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.SOURCE_ICON_NAMES = SOURCE_ICON_NAMES; exports.getSourceIconName = getSourceIconName; exports.SOURCE_LABELS_BY_TABLE = SOURCE_LABELS_BY_TABLE; exports.getSourceLabel = getSourceLabel; exports.DEFAULT_DOCUMENT_TYPE_TO_TABLE_ID = DEFAULT_DOCUMENT_TYPE_TO_TABLE_ID; exports.defaultTableIdForDocumentType = defaultTableIdForDocumentType; exports.ICON_REGISTRY = ICON_REGISTRY; exports.normalizeIconKey = normalizeIconKey; exports.getIconComponent = getIconComponent; exports.getDynamicIcon = getDynamicIcon; exports.resolveSourceRowCTA = resolveSourceRowCTA; exports.resolveSourceIcon = resolveSourceIcon; exports.ChatCardLoader = ChatCardLoader; exports.renderChatInlineEntityCard = renderChatInlineEntityCard; exports.CHAT_TYPE = CHAT_TYPE; exports.OWNER_TYPE = OWNER_TYPE; exports.MESSAGE_ROLE = MESSAGE_ROLE; exports.ASSISTANT_TYPE = ASSISTANT_TYPE; exports.AUTHOR_TYPE = AUTHOR_TYPE; exports.APPROVAL_STATUS = APPROVAL_STATUS; exports.CONNECTION_STATUS = CONNECTION_STATUS; exports.buildChatRefKey = buildChatRefKey; exports.isStructuredContent = isStructuredContent; exports.normalizeContent = normalizeContent2; exports.NETWORK_CONFIG = NETWORK_CONFIG; exports.transformEventToProgram = transformEventToProgram; exports.transformPodcastToProgram = transformPodcastToProgram; exports.transformWebinarToProgram = transformWebinarToProgram; exports.useChunkCatchup = useChunkCatchup; exports.useJetStreamDialogSubscription = useJetStreamDialogSubscription; exports.useNatsDialogSubscription = useNatsDialogSubscription; exports.buildNatsWsUrl = buildNatsWsUrl; exports.parseChunkToAction = parseChunkToAction; exports.isControlChunk = isControlChunk; exports.isErrorChunk = isErrorChunk; exports.isMetadataChunk = isMetadataChunk; exports.extractTextFromChunk = extractTextFromChunk; exports.MessageSegmentAccumulator = MessageSegmentAccumulator; exports.createMessageSegmentAccumulator = createMessageSegmentAccumulator; exports.useRealtimeChunkProcessor = useRealtimeChunkProcessor; exports.fetchSlashCommands = fetchSlashCommands; exports.useSlashCommands = useSlashCommands; exports.useSlashCommandRegistry = useSlashCommandRegistry; exports.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.PageActions = PageActions; exports.usePageActionsBottomPadding = usePageActionsBottomPadding; exports.BackButton = BackButton; exports.PageContainer = PageContainer; exports.ListPageContainer = ListPageContainer; exports.DetailPageContainer = DetailPageContainer; exports.FormPageContainer = FormPageContainer; exports.ContentPageContainer = ContentPageContainer; exports.ListPageLayout = ListPageLayout; exports.PAGE_HEADING_CLASS = PAGE_HEADING_CLASS; exports.PageHeading = PageHeading; exports.EntityImage = EntityImage; exports.TitleBlock = TitleBlock; exports.PageLayout = PageLayout; exports.PageShell = PageShell; exports.ArticleDetailLayout = ArticleDetailLayout; exports.toggleVariants = toggleVariants; exports.Toggle = Toggle; exports.ToggleGroup = ToggleGroup; exports.ToggleGroupItem = ToggleGroupItem; exports.delay = delay; exports.generateRandomString = generateRandomString; exports.truncateString = truncateString; exports.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.DEFAULT_CONTENT_SUFFIXES = DEFAULT_CONTENT_SUFFIXES; exports.makeComposeContentUrl = makeComposeContentUrl; exports.buildDefaultHref = buildDefaultHref; exports.resolveContentHref = resolveContentHref; 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.ErrorState = ErrorState; exports.PageError = PageError; exports.LoadError = LoadError; exports.NotFoundError = NotFoundError; exports.ContentLoader = ContentLoader; exports.CardLoader = CardLoader; exports.FormLoader = FormLoader; exports.DetailLoader = DetailLoader; exports.ListLoader = ListLoader; exports.Pagination = Pagination; exports.PaginationContent = PaginationContent; exports.PaginationItem = PaginationItem; exports.PaginationLink = PaginationLink; exports.PaginationEllipsis = PaginationEllipsis; exports.PaginationPrevious = PaginationPrevious; exports.PaginationNext = PaginationNext; exports.init_pagination = init_pagination; exports.CursorPagination = CursorPagination; exports.CursorPaginationSimple = CursorPaginationSimple; exports.TableEmptyState = TableEmptyState; exports.DynamicThemeProvider = DynamicThemeProvider; exports.useDynamicTheme = useDynamicTheme; exports.THEME_STORAGE_KEY = THEME_STORAGE_KEY; exports.THEME_ATTRIBUTE = THEME_ATTRIBUTE; exports.DEFAULT_THEME = DEFAULT_THEME; exports.ThemeProvider = ThemeProvider; exports.useTheme = useTheme; exports.useThemeToggle = useThemeToggle; exports.ArrayEntryManager = ArrayEntryManager; exports.ProviderButton = ProviderButton; exports.AuthProvidersList = AuthProvidersList; exports.ChangelogManager = ChangelogManager; exports.ChangelogSectionsManager = ChangelogSectionsManager; exports.ClickUpTasksManager = ClickUpTasksManager; exports.CommandBox = CommandBox; exports.EntityTagBadges = EntityTagBadges; exports.ErrorBoundary = ErrorBoundary; exports.SectionSelector = SectionSelector; exports.FigmaPrototypeViewer = FigmaPrototypeViewer; exports.FiltersDropdown = FiltersDropdown; exports.useFiltersDropdown = useFiltersDropdown; exports.GitHubReleasesManager = GitHubReleasesManager; exports.KnowledgeBaseLinksManager = KnowledgeBaseLinksManager; exports.LoadingProvider = LoadingProvider; exports.useLoading = useLoading; exports.MediaGalleryManager = MediaGalleryManager; exports.MoreAboutButton = MoreAboutButton; exports.OSTypeBadgeGroup = OSTypeBadgeGroup; exports.ParallaxImageShowcase = ParallaxImageShowcase; exports.PathsDisplay = PathsDisplay; exports.OPENFRAME_PATHS = OPENFRAME_PATHS; exports.getOpenFramePaths = getOpenFramePaths; exports.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.MUX_STREAM_ORIGIN = MUX_STREAM_ORIGIN; exports.MUX_IMAGE_ORIGIN = MUX_IMAGE_ORIGIN; exports.useVideoOriginPreconnect = useVideoOriginPreconnect; exports.useVideoWarmup = useVideoWarmup; exports.getCaptionsUrl = getCaptionsUrl; exports.VideoSourceSelector = VideoSourceSelector; exports.ConfidenceBadge = ConfidenceBadge; exports.TranscriptSummaryEditor = TranscriptSummaryEditor; exports.AIEnrichButton = AIEnrichButton; exports.AIWarningsSection = AIWarningsSection; exports.AIEnrichSection = AIEnrichSection; exports.HighlightVideoSection = HighlightVideoSection; exports.HighlightConfigSection = HighlightConfigSection; exports.EntitySummaryEditor = EntitySummaryEditor; exports.AIStatusIndicator = AIStatusIndicator; exports.AIRequiredBadge = AIRequiredBadge; exports.TranscribeSummarizeSection = TranscribeSummarizeSection; exports.VideoClipsSection = VideoClipsSection; exports.HighlightGenerationSection = HighlightGenerationSection; exports.HighlightVideoPreview = HighlightVideoPreview; exports.TranscribeAndSummarizeCombinedSection = TranscribeAndSummarizeCombinedSection; exports.HighlightVideoCombinedSection = HighlightVideoCombinedSection; exports.ViewToggle = ViewToggle; exports.PolicyConfigurationPanel = PolicyConfigurationPanel; exports.PhoneInput = PhoneInput; exports.WaitlistForm = WaitlistForm; exports.NotificationsProvider = NotificationsProvider; exports.useNotifications = useNotifications; exports.useOptionalNotifications = useOptionalNotifications; exports.NotificationTile = NotificationTile; exports.NotificationDrawer = NotificationDrawer; exports.NotificationPopups = NotificationPopups; exports.ADMIN_APPROVAL_REQUEST_CONTEXT_TYPE = ADMIN_APPROVAL_REQUEST_CONTEXT_TYPE; exports.isApprovalNotification = isApprovalNotification; exports.getApprovalMeta = getApprovalMeta; exports.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.SearchInput = SearchInput; exports.FilterListItem = FilterListItem; exports.FilterList = FilterList; exports.TagSearchInput = TagSearchInput; exports.MarkdownEditor = MarkdownEditor; exports.FileUpload = FileUpload; exports.ImageUploader = ImageUploader; exports.TICKET_STATUS_COLOR_PRESETS = TICKET_STATUS_COLOR_PRESETS; exports.CUSTOM_PRESET_KEY = CUSTOM_PRESET_KEY; exports.DEFAULT_CUSTOM_STATUS_COLOR = DEFAULT_CUSTOM_STATUS_COLOR; exports.ColorPresetSelect = ColorPresetSelect; exports.ColorPickerInput = ColorPickerInput; exports.TicketStatusConfigRow = TicketStatusConfigRow; exports.AssigneeDropdown = AssigneeDropdown; exports.TicketDetailSection = TicketDetailSection; exports.TicketAttachmentsList = TicketAttachmentsList; exports.TicketNoteCard = TicketNoteCard; exports.TicketNotesSection = TicketNotesSection; exports.TicketInfoSection = TicketInfoSection; exports.FilterPillRow = FilterPillRow; exports.Header = Header2; exports.HeaderSkeleton = HeaderSkeleton; exports.ClientOnlyHeader = ClientOnlyHeader; exports.MobileNavPanel = MobileNavPanel; exports.SlidingSidebar = SlidingSidebar; exports.StickySectionNav = StickySectionNav; exports.useSectionNavigation = useSectionNavigation; exports.NavigationSidebar = NavigationSidebar; exports.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;
44034
+ //# sourceMappingURL=chunk-ESADULCN.cjs.map