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

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 (131) hide show
  1. package/dist/{chunk-MKVKVJQQ.js → chunk-APGMNHPY.js} +19 -32
  2. package/dist/chunk-APGMNHPY.js.map +1 -0
  3. package/dist/{chunk-3TDLFCCS.cjs → chunk-DV3YZWGN.cjs} +20 -33
  4. package/dist/chunk-DV3YZWGN.cjs.map +1 -0
  5. package/dist/{chunk-BKPS6M2F.cjs → chunk-EJ7J4QAD.cjs} +12 -12
  6. package/dist/{chunk-BKPS6M2F.cjs.map → chunk-EJ7J4QAD.cjs.map} +1 -1
  7. package/dist/{chunk-CZITXP77.cjs → chunk-EPXROXYC.cjs} +713 -645
  8. package/dist/chunk-EPXROXYC.cjs.map +1 -0
  9. package/dist/{chunk-SGJBUL2Y.cjs → chunk-FSS2MIEA.cjs} +3 -20
  10. package/dist/chunk-FSS2MIEA.cjs.map +1 -0
  11. package/dist/{chunk-VAUI3CND.js → chunk-LJGBFD52.js} +1 -18
  12. package/dist/chunk-LJGBFD52.js.map +1 -0
  13. package/dist/{chunk-FRRMXLU5.js → chunk-M7DPUWAL.js} +188 -120
  14. package/dist/chunk-M7DPUWAL.js.map +1 -0
  15. package/dist/{chunk-SEVJT2HP.js → chunk-NKGNRFSS.js} +8 -8
  16. package/dist/{chunk-VFKQMAUF.cjs → chunk-OB45JHDY.cjs} +3 -3
  17. package/dist/{chunk-VFKQMAUF.cjs.map → chunk-OB45JHDY.cjs.map} +1 -1
  18. package/dist/{chunk-4XLJWX2N.js → chunk-ORJREQ2W.js} +4 -4
  19. package/dist/{chunk-7ZHFCEJH.js → chunk-P5C732SC.js} +6 -6
  20. package/dist/{chunk-JJV3XGCY.js → chunk-PTSAF7T2.js} +2 -2
  21. package/dist/{chunk-VXP553WT.cjs → chunk-RJC3L5DT.cjs} +7 -7
  22. package/dist/{chunk-VXP553WT.cjs.map → chunk-RJC3L5DT.cjs.map} +1 -1
  23. package/dist/{chunk-MP5HOP7N.cjs → chunk-STKMIMLP.cjs} +12 -12
  24. package/dist/{chunk-MP5HOP7N.cjs.map → chunk-STKMIMLP.cjs.map} +1 -1
  25. package/dist/{chunk-V35PZSUA.js → chunk-WD2MZVJI.js} +5 -5
  26. package/dist/{chunk-DUZBTUXF.cjs → chunk-Z6GGYZDR.cjs} +27 -27
  27. package/dist/{chunk-DUZBTUXF.cjs.map → chunk-Z6GGYZDR.cjs.map} +1 -1
  28. package/dist/components/chat/chat-message-list.d.ts.map +1 -1
  29. package/dist/components/chat/hooks/use-chat-card-item.d.ts.map +1 -1
  30. package/dist/components/chat/index.cjs +16 -6
  31. package/dist/components/chat/index.cjs.map +1 -1
  32. package/dist/components/chat/index.js +15 -5
  33. package/dist/components/chat/types/entities/content-ref.d.ts +20 -5
  34. package/dist/components/chat/types/entities/content-ref.d.ts.map +1 -1
  35. package/dist/components/chat/utils/history-merge.d.ts +92 -0
  36. package/dist/components/chat/utils/history-merge.d.ts.map +1 -0
  37. package/dist/components/chat/utils/index.d.ts +1 -0
  38. package/dist/components/chat/utils/index.d.ts.map +1 -1
  39. package/dist/components/contact/index.cjs +7 -7
  40. package/dist/components/contact/index.js +6 -6
  41. package/dist/components/faq/faq-section.d.ts +1 -7
  42. package/dist/components/faq/faq-section.d.ts.map +1 -1
  43. package/dist/components/faq/index.cjs +3 -3
  44. package/dist/components/faq/index.js +2 -2
  45. package/dist/components/features/index.cjs +6 -6
  46. package/dist/components/features/index.js +5 -5
  47. package/dist/components/features/policy-configuration-panel.d.ts.map +1 -1
  48. package/dist/components/index.cjs +93 -87
  49. package/dist/components/index.cjs.map +1 -1
  50. package/dist/components/index.d.ts +0 -1
  51. package/dist/components/index.d.ts.map +1 -1
  52. package/dist/components/index.js +37 -31
  53. package/dist/components/index.js.map +1 -1
  54. package/dist/components/navigation/index.cjs +6 -6
  55. package/dist/components/navigation/index.js +5 -5
  56. package/dist/components/onboarding-guides/index.cjs +30 -30
  57. package/dist/components/onboarding-guides/index.cjs.map +1 -1
  58. package/dist/components/onboarding-guides/index.js +11 -11
  59. package/dist/components/tickets/index.cjs +73 -73
  60. package/dist/components/tickets/index.cjs.map +1 -1
  61. package/dist/components/tickets/index.js +15 -15
  62. package/dist/components/ui/index.cjs +19 -9
  63. package/dist/components/ui/index.cjs.map +1 -1
  64. package/dist/components/ui/index.js +23 -13
  65. package/dist/embed-shims/index.cjs +3 -3
  66. package/dist/embed-shims/index.cjs.map +1 -1
  67. package/dist/embed-shims/index.js +5 -5
  68. package/dist/index.cjs +11 -17
  69. package/dist/index.cjs.map +1 -1
  70. package/dist/index.js +49 -55
  71. package/dist/types/index.d.ts +0 -1
  72. package/dist/types/index.d.ts.map +1 -1
  73. package/dist/utils/index.cjs +0 -81
  74. package/dist/utils/index.cjs.map +1 -1
  75. package/dist/utils/index.d.ts +1 -4
  76. package/dist/utils/index.d.ts.map +1 -1
  77. package/dist/utils/index.js +1 -74
  78. package/dist/utils/index.js.map +1 -1
  79. package/dist/utils/list-url.d.ts +0 -6
  80. package/dist/utils/list-url.d.ts.map +1 -1
  81. package/package.json +1 -7
  82. package/src/components/chat/__tests__/chat-message-list.test.tsx +92 -0
  83. package/src/components/chat/chat-message-list.tsx +74 -49
  84. package/src/components/chat/hooks/use-chat-card-item.ts +38 -3
  85. package/src/components/chat/types/entities/content-ref.ts +21 -5
  86. package/src/components/chat/utils/__tests__/history-merge.test.ts +339 -0
  87. package/src/components/chat/utils/history-merge.ts +255 -0
  88. package/src/components/chat/utils/index.ts +12 -0
  89. package/src/components/faq/faq-section.tsx +24 -69
  90. package/src/components/features/policy-configuration-panel.tsx +1 -0
  91. package/src/components/index.ts +0 -1
  92. package/src/types/index.ts +0 -1
  93. package/src/utils/index.ts +1 -16
  94. package/src/utils/list-url.ts +0 -9
  95. package/dist/chunk-3TDLFCCS.cjs.map +0 -1
  96. package/dist/chunk-CZITXP77.cjs.map +0 -1
  97. package/dist/chunk-F3GMWNAT.js +0 -285
  98. package/dist/chunk-F3GMWNAT.js.map +0 -1
  99. package/dist/chunk-FRRMXLU5.js.map +0 -1
  100. package/dist/chunk-HU252PYJ.cjs +0 -285
  101. package/dist/chunk-HU252PYJ.cjs.map +0 -1
  102. package/dist/chunk-MKVKVJQQ.js.map +0 -1
  103. package/dist/chunk-SGJBUL2Y.cjs.map +0 -1
  104. package/dist/chunk-VAUI3CND.js.map +0 -1
  105. package/dist/components/related-content/index.cjs +0 -26
  106. package/dist/components/related-content/index.cjs.map +0 -1
  107. package/dist/components/related-content/index.d.ts +0 -2
  108. package/dist/components/related-content/index.d.ts.map +0 -1
  109. package/dist/components/related-content/index.js +0 -26
  110. package/dist/components/related-content/index.js.map +0 -1
  111. package/dist/components/related-content/related-content-section.d.ts +0 -141
  112. package/dist/components/related-content/related-content-section.d.ts.map +0 -1
  113. package/dist/types/content-ref.d.ts +0 -35
  114. package/dist/types/content-ref.d.ts.map +0 -1
  115. package/dist/utils/content-ref-groups.d.ts +0 -58
  116. package/dist/utils/content-ref-groups.d.ts.map +0 -1
  117. package/dist/utils/extract-items.d.ts +0 -18
  118. package/dist/utils/extract-items.d.ts.map +0 -1
  119. package/dist/utils/suggestion-url.d.ts +0 -26
  120. package/dist/utils/suggestion-url.d.ts.map +0 -1
  121. package/src/components/related-content/index.ts +0 -9
  122. package/src/components/related-content/related-content-section.tsx +0 -612
  123. package/src/types/content-ref.ts +0 -34
  124. package/src/utils/content-ref-groups.ts +0 -89
  125. package/src/utils/extract-items.ts +0 -48
  126. package/src/utils/suggestion-url.ts +0 -39
  127. /package/dist/{chunk-SEVJT2HP.js.map → chunk-NKGNRFSS.js.map} +0 -0
  128. /package/dist/{chunk-4XLJWX2N.js.map → chunk-ORJREQ2W.js.map} +0 -0
  129. /package/dist/{chunk-7ZHFCEJH.js.map → chunk-P5C732SC.js.map} +0 -0
  130. /package/dist/{chunk-JJV3XGCY.js.map → chunk-PTSAF7T2.js.map} +0 -0
  131. /package/dist/{chunk-V35PZSUA.js.map → chunk-WD2MZVJI.js.map} +0 -0
@@ -2,10 +2,13 @@
2
2
 
3
3
 
4
4
 
5
+ var _chunkMEAR2WHScjs = require('./chunk-MEAR2WHS.cjs');
5
6
 
6
7
 
8
+ var _chunkXL4V2PYGcjs = require('./chunk-XL4V2PYG.cjs');
7
9
 
8
10
 
11
+ var _chunkBZFW3FOFcjs = require('./chunk-BZFW3FOF.cjs');
9
12
 
10
13
 
11
14
 
@@ -18,23 +21,20 @@
18
21
 
19
22
 
20
23
 
21
- var _chunk27VVOBDBcjs = require('./chunk-27VVOBDB.cjs');
22
24
 
23
25
 
24
26
 
25
- var _chunkMEAR2WHScjs = require('./chunk-MEAR2WHS.cjs');
26
27
 
28
+ var _chunkGRTZ23GLcjs = require('./chunk-GRTZ23GL.cjs');
27
29
 
28
- var _chunkXL4V2PYGcjs = require('./chunk-XL4V2PYG.cjs');
29
30
 
30
31
 
31
- var _chunkBZFW3FOFcjs = require('./chunk-BZFW3FOF.cjs');
32
+ var _chunkWBR7H6E3cjs = require('./chunk-WBR7H6E3.cjs');
32
33
 
33
34
 
34
35
 
35
36
 
36
37
 
37
- var _chunkG7UE6RKVcjs = require('./chunk-G7UE6RKV.cjs');
38
38
 
39
39
 
40
40
 
@@ -49,13 +49,13 @@ var _chunkG7UE6RKVcjs = require('./chunk-G7UE6RKV.cjs');
49
49
 
50
50
 
51
51
 
52
+ var _chunk27VVOBDBcjs = require('./chunk-27VVOBDB.cjs');
52
53
 
53
54
 
54
- var _chunkGRTZ23GLcjs = require('./chunk-GRTZ23GL.cjs');
55
55
 
56
56
 
57
57
 
58
- var _chunkWBR7H6E3cjs = require('./chunk-WBR7H6E3.cjs');
58
+ var _chunkG7UE6RKVcjs = require('./chunk-G7UE6RKV.cjs');
59
59
 
60
60
 
61
61
 
@@ -4397,12 +4397,15 @@ 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;
4400
4402
  const prevRenderRef = _react.useRef.call(void 0, { dialogId: void 0, messageCount: 0, lastMessageId: void 0 });
4401
- const prependRef = _react.useRef.call(void 0, { firstMessageId: void 0, firstMessageContent: void 0, scrollHeight: 0 });
4403
+ const loadOlderAnchorRef = _react.useRef.call(void 0, null);
4402
4404
  _react.useEffect.call(void 0, () => {
4403
4405
  if (!autoScroll) return;
4404
4406
  const dialogChanged = dialogId !== prevRenderRef.current.dialogId;
4405
4407
  const prevCount = prevRenderRef.current.messageCount;
4408
+ const prevLastId = prevRenderRef.current.lastMessageId;
4406
4409
  const newCount = messages.length;
4407
4410
  const currentLastId = _optionalChain([messages, 'access', _63 => _63[messages.length - 1], 'optionalAccess', _64 => _64.id]);
4408
4411
  prevRenderRef.current = { dialogId, messageCount: newCount, lastMessageId: currentLastId };
@@ -4415,7 +4418,8 @@ var ChatMessageList = _react.forwardRef.call(void 0,
4415
4418
  return;
4416
4419
  }
4417
4420
  if (newCount > prevCount) {
4418
- const newSlice = messages.slice(prevCount);
4421
+ const prevLastIdx = prevLastId ? messages.findIndex((m) => m.id === prevLastId) : -1;
4422
+ const newSlice = prevLastIdx >= 0 ? messages.slice(prevLastIdx + 1) : messages.slice(prevCount);
4419
4423
  const hasNewUser = newSlice.some((m) => m.role === "user");
4420
4424
  if (hasNewUser) {
4421
4425
  void scrollToBottom({ animation: "instant", ignoreEscapes: true });
@@ -4439,34 +4443,17 @@ var ChatMessageList = _react.forwardRef.call(void 0,
4439
4443
  }, [autoScroll, messages, dialogId, scrollToBottom, contentRef]);
4440
4444
  _react.useLayoutEffect.call(void 0, () => {
4441
4445
  const el = scrollRef.current;
4442
- if (!el) {
4443
- prependRef.current = { firstMessageId: void 0, firstMessageContent: void 0, scrollHeight: 0 };
4444
- return;
4445
- }
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
- };
4446
+ const anchor = loadOlderAnchorRef.current;
4447
+ if (!el || !anchor) return;
4448
+ if (anchor.dialogId !== dialogId) {
4449
+ loadOlderAnchorRef.current = null;
4463
4450
  return;
4464
4451
  }
4465
- prependRef.current.scrollHeight = el.scrollHeight;
4466
- if (currentFirstContent !== prependRef.current.firstMessageContent) {
4467
- prependRef.current.firstMessageContent = currentFirstContent;
4468
- }
4469
- }, [messages, scrollRef]);
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]);
4470
4457
  const messageElsRef = _react.useRef.call(void 0, /* @__PURE__ */ new Map());
4471
4458
  const refCallbacksRef = _react.useRef.call(void 0, /* @__PURE__ */ new Map());
4472
4459
  const getRegisterMessageEl = (id) => {
@@ -4519,7 +4506,7 @@ var ChatMessageList = _react.forwardRef.call(void 0,
4519
4506
  ro.observe(node);
4520
4507
  const timer = setTimeout(() => {
4521
4508
  ro.disconnect();
4522
- if (_optionalChain([anchorWatcherRef, 'access', _69 => _69.current, 'optionalAccess', _70 => _70.id]) === last.id) {
4509
+ if (_optionalChain([anchorWatcherRef, 'access', _65 => _65.current, 'optionalAccess', _66 => _66.id]) === last.id) {
4523
4510
  anchorWatcherRef.current = null;
4524
4511
  }
4525
4512
  }, 2e3);
@@ -4538,14 +4525,22 @@ var ChatMessageList = _react.forwardRef.call(void 0,
4538
4525
  const entry = entries[0];
4539
4526
  if (!entry) return;
4540
4527
  if (entry.isIntersecting && !isFetchingRef.current) {
4541
- _optionalChain([onLoadMoreRef, 'access', _71 => _71.current, 'optionalCall', _72 => _72()]);
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()]);
4542
4537
  }
4543
4538
  },
4544
4539
  { root: scrollContainer, rootMargin: "200px", threshold: 0.1 }
4545
4540
  );
4546
4541
  observer.observe(sentinelElement);
4547
4542
  return () => observer.disconnect();
4548
- }, [hasNextPage, scrollRef]);
4543
+ }, [hasNextPage, isFetchingNextPage, scrollRef]);
4549
4544
  _react.useImperativeHandle.call(void 0, ref, () => scrollRef.current, [scrollRef]);
4550
4545
  if (isLoading) {
4551
4546
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
@@ -4566,8 +4561,8 @@ var ChatMessageList = _react.forwardRef.call(void 0,
4566
4561
  contentRef(el);
4567
4562
  };
4568
4563
  const lastMessage = messages[messages.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]]);
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]]);
4571
4566
  const isPausedOnApproval = !!lastSegment && (lastSegment.type === "approval_request" || lastSegment.type === "approval_batch") && (lastSegment.status === void 0 || lastSegment.status === "pending");
4572
4567
  const showStreamingLoader = isTyping && !isPausedOnApproval && !(pendingApprovals && pendingApprovals.length > 0);
4573
4568
  return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "relative flex-1 min-h-0 flex flex-col", children: [
@@ -4666,9 +4661,9 @@ ChatMessageList.displayName = "ChatMessageList";
4666
4661
  // src/utils/image-proxy.ts
4667
4662
  function getProxiedImageUrl(imageUrl, options) {
4668
4663
  if (!imageUrl) return null;
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));
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));
4672
4667
  if (proxyPrefix && imageUrl.includes(proxyPrefix)) {
4673
4668
  return imageUrl;
4674
4669
  }
@@ -4834,7 +4829,7 @@ var ChatTicketItem = React11.forwardRef(
4834
4829
  {
4835
4830
  ref,
4836
4831
  type: "button",
4837
- onClick: () => _optionalChain([onClick, 'optionalCall', _78 => _78(ticket.id)]),
4832
+ onClick: () => _optionalChain([onClick, 'optionalCall', _74 => _74(ticket.id)]),
4838
4833
  className: _chunkFIG2RKZFcjs.cn.call(void 0,
4839
4834
  "flex items-center gap-4 w-full h-20 px-4",
4840
4835
  "bg-ods-card border-b border-ods-border",
@@ -5087,11 +5082,11 @@ function MingoChatHistoryRow({
5087
5082
  {
5088
5083
  role: "button",
5089
5084
  tabIndex: 0,
5090
- onClick: () => _optionalChain([onSelect, 'optionalCall', _79 => _79(dialog.id)]),
5085
+ onClick: () => _optionalChain([onSelect, 'optionalCall', _75 => _75(dialog.id)]),
5091
5086
  onKeyDown: (e) => {
5092
5087
  if (e.key === "Enter" || e.key === " ") {
5093
5088
  e.preventDefault();
5094
- _optionalChain([onSelect, 'optionalCall', _80 => _80(dialog.id)]);
5089
+ _optionalChain([onSelect, 'optionalCall', _76 => _76(dialog.id)]);
5095
5090
  }
5096
5091
  },
5097
5092
  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",
@@ -5224,7 +5219,7 @@ function MingoChatHistory({
5224
5219
  const io = new IntersectionObserver(
5225
5220
  ([entry]) => {
5226
5221
  if (entry.isIntersecting && !isLoadingMoreRef.current) {
5227
- _optionalChain([onLoadMoreRef, 'access', _81 => _81.current, 'optionalCall', _82 => _82()]);
5222
+ _optionalChain([onLoadMoreRef, 'access', _77 => _77.current, 'optionalCall', _78 => _78()]);
5228
5223
  }
5229
5224
  },
5230
5225
  { root, rootMargin: "120px", threshold: 0.1 }
@@ -5726,7 +5721,7 @@ function GuideWelcome({
5726
5721
  "button",
5727
5722
  {
5728
5723
  type: "button",
5729
- onClick: () => _optionalChain([onQuickAction, 'optionalCall', _83 => _83(action)]),
5724
+ onClick: () => _optionalChain([onQuickAction, 'optionalCall', _79 => _79(action)]),
5730
5725
  className: "rounded-md focus:outline-none focus-visible:ring-2 focus-visible:ring-ods-accent",
5731
5726
  children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, Tag, { variant: "outline", label: action.label })
5732
5727
  },
@@ -5741,7 +5736,7 @@ function GuideWelcome({
5741
5736
  items: overflowActions.map((action) => ({
5742
5737
  id: action.id,
5743
5738
  label: action.label,
5744
- onClick: () => _optionalChain([onQuickAction, 'optionalCall', _84 => _84(action)])
5739
+ onClick: () => _optionalChain([onQuickAction, 'optionalCall', _80 => _80(action)])
5745
5740
  }))
5746
5741
  }],
5747
5742
  customTrigger: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
@@ -6071,7 +6066,7 @@ function ChatDialogModals({
6071
6066
  RenameChatModal,
6072
6067
  {
6073
6068
  isOpen: renameTarget != null,
6074
- initialName: _nullishCoalesce(_optionalChain([renameTarget, 'optionalAccess', _85 => _85.title]), () => ( "")),
6069
+ initialName: _nullishCoalesce(_optionalChain([renameTarget, 'optionalAccess', _81 => _81.title]), () => ( "")),
6075
6070
  onClose: () => setRenameTarget(null),
6076
6071
  onSave: onConfirmRename
6077
6072
  }
@@ -6332,7 +6327,7 @@ function ChatAttachmentAddButton({
6332
6327
  const canAddMore = slotsAvailable > 0 && !disabled;
6333
6328
  const handlePick = () => {
6334
6329
  if (!canAddMore) return;
6335
- _optionalChain([fileInputRef, 'access', _86 => _86.current, 'optionalAccess', _87 => _87.click, 'call', _88 => _88()]);
6330
+ _optionalChain([fileInputRef, 'access', _82 => _82.current, 'optionalAccess', _83 => _83.click, 'call', _84 => _84()]);
6336
6331
  };
6337
6332
  return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _jsxruntime.Fragment, { children: [
6338
6333
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
@@ -6870,8 +6865,8 @@ ChatSidebarSkeleton.displayName = "ChatSidebarSkeleton";
6870
6865
  var DialogListItem = _react.forwardRef.call(void 0,
6871
6866
  ({ className, dialog, isActive, onDialogSelect, onClick, ...props }, ref) => {
6872
6867
  const handleClick = (e) => {
6873
- _optionalChain([onDialogSelect, 'optionalCall', _89 => _89(dialog.id)]);
6874
- _optionalChain([onClick, 'optionalCall', _90 => _90(e)]);
6868
+ _optionalChain([onDialogSelect, 'optionalCall', _85 => _85(dialog.id)]);
6869
+ _optionalChain([onClick, 'optionalCall', _86 => _86(e)]);
6875
6870
  };
6876
6871
  const formatTimestamp2 = (timestamp) => {
6877
6872
  if (!timestamp) return "";
@@ -6930,7 +6925,7 @@ var ChatSidebar = _react.forwardRef.call(void 0,
6930
6925
  (entries) => {
6931
6926
  const [entry] = entries;
6932
6927
  if (entry.isIntersecting && !isFetchingRef.current) {
6933
- _optionalChain([onLoadMoreRef, 'access', _91 => _91.current, 'optionalCall', _92 => _92()]);
6928
+ _optionalChain([onLoadMoreRef, 'access', _87 => _87.current, 'optionalCall', _88 => _88()]);
6934
6929
  }
6935
6930
  },
6936
6931
  { root: scrollContainer, rootMargin: "100px", threshold: 0.1 }
@@ -7037,7 +7032,7 @@ function decideNewTab(input) {
7037
7032
  function computeIsNewTab(runtime, href, targetPlatform) {
7038
7033
  if (!href) return false;
7039
7034
  if (runtime.navigation.mode === "embed") return true;
7040
- return _nullishCoalesce(_optionalChain([runtime, 'access', _93 => _93.navigation, 'access', _94 => _94.decideNewTab, 'optionalCall', _95 => _95({ href, targetPlatform })]), () => ( decideNewTab({
7035
+ return _nullishCoalesce(_optionalChain([runtime, 'access', _89 => _89.navigation, 'access', _90 => _90.decideNewTab, 'optionalCall', _91 => _91({ href, targetPlatform })]), () => ( decideNewTab({
7041
7036
  href,
7042
7037
  targetPlatform,
7043
7038
  currentSource: _nullishCoalesce(runtime.source, () => ( ""))
@@ -7101,11 +7096,11 @@ function resolveExternalNavigation(args) {
7101
7096
  function runNavigation(runtime, href, path, targetPlatform, fallbackNavigate) {
7102
7097
  const isNewTab = runtime ? computeIsNewTab(runtime, href, _nullishCoalesce(targetPlatform, () => ( null))) : false;
7103
7098
  if (isNewTab) {
7104
- if (_optionalChain([runtime, 'optionalAccess', _96 => _96.navigation, 'access', _97 => _97.openExternal])) runtime.navigation.openExternal(href);
7099
+ if (_optionalChain([runtime, 'optionalAccess', _92 => _92.navigation, 'access', _93 => _93.openExternal])) runtime.navigation.openExternal(href);
7105
7100
  else window.open(href, "_blank", NEW_TAB_FEATURES);
7106
7101
  return;
7107
7102
  }
7108
- const handled = _nullishCoalesce(_optionalChain([runtime, 'optionalAccess', _98 => _98.navigation, 'access', _99 => _99.navigate, 'optionalCall', _100 => _100({ href, path, targetPlatform })]), () => ( false));
7103
+ const handled = _nullishCoalesce(_optionalChain([runtime, 'optionalAccess', _94 => _94.navigation, 'access', _95 => _95.navigate, 'optionalCall', _96 => _96({ href, path, targetPlatform })]), () => ( false));
7109
7104
  if (!handled) {
7110
7105
  const target = stripSameOriginToPath(href);
7111
7106
  if (fallbackNavigate) fallbackNavigate(target);
@@ -7171,7 +7166,7 @@ function NavLinkAnchorViaRuntime({
7171
7166
  path,
7172
7167
  targetPlatform
7173
7168
  }, router.push);
7174
- if (handled && !isNewTab && _optionalChain([panel, 'optionalAccess', _101 => _101.closeChat])) panel.closeChat();
7169
+ if (handled && !isNewTab && _optionalChain([panel, 'optionalAccess', _97 => _97.closeChat])) panel.closeChat();
7175
7170
  };
7176
7171
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
7177
7172
  "a",
@@ -7292,7 +7287,7 @@ function EntityAuthorCard({
7292
7287
  renderEmptyAuthor = false,
7293
7288
  className
7294
7289
  }) {
7295
- const hasAuthor = !!_optionalChain([author, 'optionalAccess', _102 => _102.full_name]);
7290
+ const hasAuthor = !!_optionalChain([author, 'optionalAccess', _98 => _98.full_name]);
7296
7291
  if (!hasAuthor && !renderEmptyAuthor) return null;
7297
7292
  const effectiveAuthor = hasAuthor ? author : EMPTY_AUTHOR_PLACEHOLDER;
7298
7293
  const formatted = publishedAt ? formatDate(publishedAt) : "";
@@ -7628,8 +7623,8 @@ function AdminContentCard({
7628
7623
  /* @__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 }),
7629
7624
  subtitle && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { className: "font-['DM_Sans'] text-[14px] text-ods-text-secondary truncate", children: subtitle }),
7630
7625
  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 }),
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,
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,
7633
7628
  PlatformBadge,
7634
7629
  {
7635
7630
  platform: { id: p.id || p.platform_id || "", name: p.name, display_name: p.display_name || p.name },
@@ -7705,7 +7700,7 @@ function fetchPriorityProp(priority) {
7705
7700
 
7706
7701
  if (typeof window !== "undefined") {
7707
7702
  const w = window;
7708
- if (!_optionalChain([w, 'access', _106 => _106.chrome, 'optionalAccess', _107 => _107.cast])) {
7703
+ if (!_optionalChain([w, 'access', _102 => _102.chrome, 'optionalAccess', _103 => _103.cast])) {
7709
7704
  w.chrome = { ..._nullishCoalesce(w.chrome, () => ( {})), cast: { isAvailable: false } };
7710
7705
  }
7711
7706
  }
@@ -7895,7 +7890,7 @@ function YouTubeFacadeInner({
7895
7890
  const iframe = iframeRef.current;
7896
7891
  if (!iframe) return;
7897
7892
  function subscribe() {
7898
- _optionalChain([iframe, 'optionalAccess', _108 => _108.contentWindow, 'optionalAccess', _109 => _109.postMessage, 'call', _110 => _110(
7893
+ _optionalChain([iframe, 'optionalAccess', _104 => _104.contentWindow, 'optionalAccess', _105 => _105.postMessage, 'call', _106 => _106(
7899
7894
  '{"event":"listening"}',
7900
7895
  YT_NOCOOKIE_ORIGIN
7901
7896
  )]);
@@ -7913,13 +7908,13 @@ function YouTubeFacadeInner({
7913
7908
  return;
7914
7909
  }
7915
7910
  if (!payload || payload.event !== "infoDelivery") return;
7916
- const state = _optionalChain([payload, 'access', _111 => _111.info, 'optionalAccess', _112 => _112.playerState]);
7911
+ const state = _optionalChain([payload, 'access', _107 => _107.info, 'optionalAccess', _108 => _108.playerState]);
7917
7912
  if (typeof state !== "number") return;
7918
7913
  if (state === YT_STATE_PLAYING) {
7919
7914
  if (blurTimer !== null) return;
7920
7915
  blurTimer = setTimeout(() => {
7921
7916
  blurTimer = null;
7922
- _optionalChain([iframeRef, 'access', _113 => _113.current, 'optionalAccess', _114 => _114.blur, 'call', _115 => _115()]);
7917
+ _optionalChain([iframeRef, 'access', _109 => _109.current, 'optionalAccess', _110 => _110.blur, 'call', _111 => _111()]);
7923
7918
  }, YT_PLAYING_BLUR_DELAY_MS);
7924
7919
  return;
7925
7920
  }
@@ -8504,7 +8499,7 @@ function ProductReleaseCard({
8504
8499
  changelogCounts
8505
8500
  }) {
8506
8501
  if (size === "lg") {
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)));
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)));
8508
8503
  const valueCells = [
8509
8504
  releaseType && releaseTypeBadgeColor ? {
8510
8505
  value: releaseType.toUpperCase(),
@@ -8523,7 +8518,7 @@ function ProductReleaseCard({
8523
8518
  uppercase: false
8524
8519
  } : { value: "\u2014", label: "Released", uppercase: false }
8525
8520
  ];
8526
- const effectiveAuthor = _optionalChain([author, 'optionalAccess', _120 => _120.full_name]) ? author : { full_name: "\u2014", avatar_url: null, job_title: "Unknown" };
8521
+ const effectiveAuthor = _optionalChain([author, 'optionalAccess', _116 => _116.full_name]) ? author : { full_name: "\u2014", avatar_url: null, job_title: "Unknown" };
8527
8522
  const gridColsClass = "md:grid-cols-4";
8528
8523
  const dividerClass = "border-b md:border-b-0 md:border-r border-ods-border";
8529
8524
  const frameClass = _chunkFIG2RKZFcjs.cn.call(void 0,
@@ -8936,10 +8931,10 @@ function buildProductReleaseCardProps(item) {
8936
8931
  job_title: release.author.job_title
8937
8932
  } : void 0,
8938
8933
  changelogCounts: {
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))
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))
8943
8938
  }
8944
8939
  };
8945
8940
  }
@@ -8977,8 +8972,8 @@ function useEntityCardPlaceholder({
8977
8972
  aspect = "wide"
8978
8973
  }) {
8979
8974
  const runtime = _chunkMEAR2WHScjs.useChatRuntime.call(void 0, );
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]);
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]);
8982
8977
  const derived = _chunk27VVOBDBcjs.useOgPlaceholder.call(void 0, builder, title, siteName, enabled, aspect);
8983
8978
  return placeholderUrl !== void 0 ? placeholderUrl : derived;
8984
8979
  }
@@ -9071,7 +9066,7 @@ function BlogCard({
9071
9066
  const displayImage = post.featured_image && !imageError ? post.featured_image : placeholderUrl;
9072
9067
  if (size === "sm") {
9073
9068
  const dateStr2 = post.published_at ? new Date(post.published_at).toLocaleDateString("en-US", { year: "numeric", month: "short", day: "numeric" }) : "";
9074
- const firstCategory = _optionalChain([post, 'access', _131 => _131.categories, 'optionalAccess', _132 => _132.find, 'call', _133 => _133((c) => c && c.name), 'optionalAccess', _134 => _134.name]);
9069
+ const firstCategory = _optionalChain([post, 'access', _127 => _127.categories, 'optionalAccess', _128 => _128.find, 'call', _129 => _129((c) => c && c.name), 'optionalAccess', _130 => _130.name]);
9075
9070
  return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
9076
9071
  "a",
9077
9072
  {
@@ -9277,14 +9272,14 @@ function CaseStudyCard({
9277
9272
  "img",
9278
9273
  {
9279
9274
  src: coverImage,
9280
- alt: `${_optionalChain([study, 'access', _135 => _135.msp, 'optionalAccess', _136 => _136.name]) || study.title} cover`,
9275
+ alt: `${_optionalChain([study, 'access', _131 => _131.msp, 'optionalAccess', _132 => _132.name]) || study.title} cover`,
9281
9276
  className: "absolute inset-0 block w-full h-full object-contain",
9282
9277
  onError: hideOnError
9283
9278
  }
9284
9279
  ) : null }),
9285
9280
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: COMPACT_CARD_TEXT_COL, children: [
9286
9281
  /* @__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 }) }),
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" }) }),
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" }) }),
9288
9283
  /* @__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 }) })
9289
9284
  ] })
9290
9285
  ] });
@@ -9294,7 +9289,7 @@ function CaseStudyCard({
9294
9289
  _chunkXL4V2PYGcjs.next_image_default,
9295
9290
  {
9296
9291
  src: coverImage,
9297
- alt: _optionalChain([study, 'access', _141 => _141.msp, 'optionalAccess', _142 => _142.name]) || study.title,
9292
+ alt: _optionalChain([study, 'access', _137 => _137.msp, 'optionalAccess', _138 => _138.name]) || study.title,
9298
9293
  className: "w-full h-full object-cover",
9299
9294
  sizes: "(min-width: 1545px) 515px, (min-width: 1280px) 33vw, (min-width: 800px) 50vw, 100vw",
9300
9295
  fill: true,
@@ -9305,18 +9300,18 @@ function CaseStudyCard({
9305
9300
  /* @__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 }) }),
9306
9301
  /* @__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: [
9307
9302
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "relative shrink-0 w-12 h-12", children: [
9308
- _optionalChain([study, 'access', _143 => _143.user, 'optionalAccess', _144 => _144.avatar_url]) ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
9303
+ _optionalChain([study, 'access', _139 => _139.user, 'optionalAccess', _140 => _140.avatar_url]) ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
9309
9304
  _chunkXL4V2PYGcjs.next_image_default,
9310
9305
  {
9311
9306
  src: study.user.avatar_url,
9312
- alt: _optionalChain([study, 'access', _145 => _145.user, 'optionalAccess', _146 => _146.full_name]) || "User",
9307
+ alt: _optionalChain([study, 'access', _141 => _141.user, 'optionalAccess', _142 => _142.full_name]) || "User",
9313
9308
  className: "w-12 h-12 rounded-full object-cover bg-ods-background border border-ods-border",
9314
9309
  width: 48,
9315
9310
  height: 48,
9316
9311
  unoptimized: true
9317
9312
  }
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,
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,
9320
9315
  _chunkXL4V2PYGcjs.next_image_default,
9321
9316
  {
9322
9317
  src: study.msp.icon_url,
@@ -9330,13 +9325,13 @@ function CaseStudyCard({
9330
9325
  ] }),
9331
9326
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "min-w-0 flex-1", children: [
9332
9327
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "p", { className: "font-['DM_Sans'] text-[16px] leading-[1.3] text-ods-text-primary truncate", 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: [
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: [
9335
9330
  " \u2022 ",
9336
9331
  study.msp.name
9337
9332
  ] })
9338
9333
  ] }),
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" })
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" })
9340
9335
  ] })
9341
9336
  ] }) })
9342
9337
  ] }) });
@@ -9419,7 +9414,7 @@ function CustomerInterviewCard({
9419
9414
  ] }),
9420
9415
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: COMPACT_CARD_TEXT_COL, children: [
9421
9416
  /* @__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 }) }),
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" }) }),
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" }) }),
9423
9418
  /* @__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 }) })
9424
9419
  ] })
9425
9420
  ] });
@@ -9441,15 +9436,15 @@ function CustomerInterviewCard({
9441
9436
  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 }) }),
9442
9437
  /* @__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: [
9443
9438
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "relative shrink-0 w-12 h-12", children: [
9444
- _optionalChain([interview, 'access', _161 => _161.user, 'optionalAccess', _162 => _162.avatar_url]) ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
9439
+ _optionalChain([interview, 'access', _157 => _157.user, 'optionalAccess', _158 => _158.avatar_url]) ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
9445
9440
  "img",
9446
9441
  {
9447
9442
  src: interview.user.avatar_url,
9448
- alt: _optionalChain([interview, 'access', _163 => _163.user, 'optionalAccess', _164 => _164.full_name]) || "Customer",
9443
+ alt: _optionalChain([interview, 'access', _159 => _159.user, 'optionalAccess', _160 => _160.full_name]) || "Customer",
9449
9444
  className: "w-12 h-12 rounded-full object-cover bg-ods-background border border-ods-border"
9450
9445
  }
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,
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,
9453
9448
  "img",
9454
9449
  {
9455
9450
  src: interview.msp.icon_url,
@@ -9460,13 +9455,13 @@ function CustomerInterviewCard({
9460
9455
  ] }),
9461
9456
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "min-w-0 flex-1", children: [
9462
9457
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "p", { className: "font-['DM_Sans'] text-[16px] leading-[1.3] text-ods-text-primary truncate", 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: [
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: [
9465
9460
  " \u2022 ",
9466
9461
  interview.msp.name
9467
9462
  ] })
9468
9463
  ] }),
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]) || " " })
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]) || " " })
9470
9465
  ] })
9471
9466
  ] }) })
9472
9467
  ] }) });
@@ -9479,7 +9474,7 @@ function CustomerInterviewCard({
9479
9474
  function formatInvestorUpdatePeriod(start, end, options) {
9480
9475
  if (!start && !end) return "";
9481
9476
  const fmt = (d) => new Date(d).toLocaleDateString("en-US", {
9482
- month: _optionalChain([options, 'optionalAccess', _175 => _175.monthFormat]) || "short",
9477
+ month: _optionalChain([options, 'optionalAccess', _171 => _171.monthFormat]) || "short",
9483
9478
  year: "numeric"
9484
9479
  });
9485
9480
  const s = start ? fmt(start) : "?";
@@ -9569,7 +9564,7 @@ function InvestorUpdateCard({
9569
9564
  imageUrl: update.featured_image,
9570
9565
  placeholderUrl,
9571
9566
  title: update.title || `Update #${update.update_number || "?"}`,
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",
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",
9573
9568
  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: [
9574
9569
  "#",
9575
9570
  update.update_number
@@ -9758,7 +9753,7 @@ function OnboardingGuideCard({
9758
9753
  const compactCover = coverImage || placeholderUrl || null;
9759
9754
  const hasVideoCover = !guide.featured_image && !!guide.main_video_thumbnail;
9760
9755
  const summary2 = (guide.video_summary || guide.content || "").trim();
9761
- const author = _optionalChain([guide, 'access', _182 => _182.author, 'optionalAccess', _183 => _183.full_name, 'optionalAccess', _184 => _184.trim, 'call', _185 => _185()]) || "";
9756
+ const author = _optionalChain([guide, 'access', _178 => _178.author, 'optionalAccess', _179 => _179.full_name, 'optionalAccess', _180 => _180.trim, 'call', _181 => _181()]) || "";
9762
9757
  const subtitleParts = [
9763
9758
  `Step ${guide.step_order}`,
9764
9759
  guide.section,
@@ -10129,7 +10124,7 @@ function AutocompleteInner(props, ref) {
10129
10124
  if (!isInputControlled) {
10130
10125
  setInternalInputValue(value);
10131
10126
  }
10132
- _optionalChain([onInputChange, 'optionalCall', _186 => _186(value, reason)]);
10127
+ _optionalChain([onInputChange, 'optionalCall', _182 => _182(value, reason)]);
10133
10128
  };
10134
10129
  const [isOpen, setIsOpen] = _react.useState.call(void 0, false);
10135
10130
  const [highlightedIndex, setHighlightedIndex] = _react.useState.call(void 0, -1);
@@ -10157,8 +10152,8 @@ function AutocompleteInner(props, ref) {
10157
10152
  if (!showHiddenTags) return;
10158
10153
  const handleClick = (e) => {
10159
10154
  const target = e.target;
10160
- const inButton = _optionalChain([hiddenTagsRef, 'access', _187 => _187.current, 'optionalAccess', _188 => _188.contains, 'call', _189 => _189(target)]);
10161
- const inPopup = _optionalChain([hiddenTagsPopupRef, 'access', _190 => _190.current, 'optionalAccess', _191 => _191.contains, 'call', _192 => _192(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)]);
10162
10157
  if (!inButton && !inPopup) {
10163
10158
  setShowHiddenTags(false);
10164
10159
  }
@@ -10202,7 +10197,7 @@ function AutocompleteInner(props, ref) {
10202
10197
  }
10203
10198
  updateInputValue("", "reset");
10204
10199
  setIsOpen(false);
10205
- _optionalChain([onCreateOption, 'optionalCall', _193 => _193(trimmed)]);
10200
+ _optionalChain([onCreateOption, 'optionalCall', _189 => _189(trimmed)]);
10206
10201
  };
10207
10202
  _react.useEffect.call(void 0, () => {
10208
10203
  setHighlightedIndex(-1);
@@ -10226,7 +10221,7 @@ function AutocompleteInner(props, ref) {
10226
10221
  props.onChange([...valueArray, option.value]);
10227
10222
  }
10228
10223
  updateInputValue("", "reset");
10229
- _optionalChain([autoLimitTags, 'access', _194 => _194.inputRef, 'access', _195 => _195.current, 'optionalAccess', _196 => _196.focus, 'call', _197 => _197()]);
10224
+ _optionalChain([autoLimitTags, 'access', _190 => _190.inputRef, 'access', _191 => _191.current, 'optionalAccess', _192 => _192.focus, 'call', _193 => _193()]);
10230
10225
  } else {
10231
10226
  ;
10232
10227
  props.onChange(option.value);
@@ -10247,7 +10242,7 @@ function AutocompleteInner(props, ref) {
10247
10242
  if (!isInputControlled) {
10248
10243
  setInternalInputValue("");
10249
10244
  }
10250
- _optionalChain([onInputChange, 'optionalCall', _198 => _198("", "clear")]);
10245
+ _optionalChain([onInputChange, 'optionalCall', _194 => _194("", "clear")]);
10251
10246
  setIsOpen(false);
10252
10247
  };
10253
10248
  const handleKeyDown = (e) => {
@@ -10321,7 +10316,7 @@ function AutocompleteInner(props, ref) {
10321
10316
  ),
10322
10317
  onClick: () => {
10323
10318
  if (!disabled) {
10324
- _optionalChain([autoLimitTags, 'access', _199 => _199.inputRef, 'access', _200 => _200.current, 'optionalAccess', _201 => _201.focus, 'call', _202 => _202()]);
10319
+ _optionalChain([autoLimitTags, 'access', _195 => _195.inputRef, 'access', _196 => _196.current, 'optionalAccess', _197 => _197.focus, 'call', _198 => _198()]);
10325
10320
  openDropdown();
10326
10321
  }
10327
10322
  },
@@ -10437,10 +10432,10 @@ function AutocompleteInner(props, ref) {
10437
10432
  align: "start",
10438
10433
  onOpenAutoFocus: (e) => {
10439
10434
  e.preventDefault();
10440
- _optionalChain([autoLimitTags, 'access', _203 => _203.inputRef, 'access', _204 => _204.current, 'optionalAccess', _205 => _205.focus, 'call', _206 => _206()]);
10435
+ _optionalChain([autoLimitTags, 'access', _199 => _199.inputRef, 'access', _200 => _200.current, 'optionalAccess', _201 => _201.focus, 'call', _202 => _202()]);
10441
10436
  },
10442
10437
  onInteractOutside: (e) => {
10443
- if (_optionalChain([containerRef, 'access', _207 => _207.current, 'optionalAccess', _208 => _208.contains, 'call', _209 => _209(e.target)])) {
10438
+ if (_optionalChain([containerRef, 'access', _203 => _203.current, 'optionalAccess', _204 => _204.contains, 'call', _205 => _205(e.target)])) {
10444
10439
  e.preventDefault();
10445
10440
  }
10446
10441
  },
@@ -10512,7 +10507,7 @@ function AutocompleteInner(props, ref) {
10512
10507
  items: hiddenTags,
10513
10508
  disabled,
10514
10509
  style: {
10515
- 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
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
10516
10511
  },
10517
10512
  onRemove: (value) => {
10518
10513
  const newValue = valueArray.filter((v) => v !== value);
@@ -10835,7 +10830,7 @@ var defaultFormatDate = (date) => {
10835
10830
  });
10836
10831
  };
10837
10832
  var formatDateRange2 = (range, formatFn) => {
10838
- if (!_optionalChain([range, 'optionalAccess', _214 => _214.from])) return "";
10833
+ if (!_optionalChain([range, 'optionalAccess', _210 => _210.from])) return "";
10839
10834
  if (!range.to) return formatFn(range.from);
10840
10835
  return `${formatFn(range.from)} - ${formatFn(range.to)}`;
10841
10836
  };
@@ -10863,7 +10858,7 @@ function DatePickerCalendar({
10863
10858
  }) {
10864
10859
  const today = /* @__PURE__ */ new Date();
10865
10860
  const rangeSelected = selected;
10866
- const hasCompleteRange = mode === "range" && _optionalChain([rangeSelected, 'optionalAccess', _215 => _215.from]) && _optionalChain([rangeSelected, 'optionalAccess', _216 => _216.to]) && rangeSelected.from.getTime() !== rangeSelected.to.getTime();
10861
+ const hasCompleteRange = mode === "range" && _optionalChain([rangeSelected, 'optionalAccess', _211 => _211.from]) && _optionalChain([rangeSelected, 'optionalAccess', _212 => _212.to]) && rangeSelected.from.getTime() !== rangeSelected.to.getTime();
10867
10862
  const classNames = {
10868
10863
  root: "p-4 date-picker-calendar",
10869
10864
  months: "flex gap-8",
@@ -10914,7 +10909,7 @@ function DatePickerCalendar({
10914
10909
  range_middle: "range-middle !bg-[var(--ods-open-yellow-light)] !text-ods-card !font-medium !rounded-none hover:!bg-[var(--ods-open-yellow-light)]"
10915
10910
  };
10916
10911
  const [month, setMonth] = React37.useState(
10917
- mode === "single" ? selected || today : _optionalChain([selected, 'optionalAccess', _217 => _217.from]) || today
10912
+ mode === "single" ? selected || today : _optionalChain([selected, 'optionalAccess', _213 => _213.from]) || today
10918
10913
  );
10919
10914
  const handlePreviousMonth = () => {
10920
10915
  setMonth((prev) => {
@@ -11133,14 +11128,14 @@ function DatePicker(props) {
11133
11128
  }, [props.mode, props.value, formatDate2]);
11134
11129
  const handleSelect = (value) => {
11135
11130
  if (props.mode === "single") {
11136
- _optionalChain([props, 'access', _218 => _218.onChange, 'optionalCall', _219 => _219(value)]);
11131
+ _optionalChain([props, 'access', _214 => _214.onChange, 'optionalCall', _215 => _215(value)]);
11137
11132
  if (value) {
11138
11133
  setOpen(false);
11139
11134
  }
11140
11135
  } else {
11141
11136
  const range = value;
11142
- _optionalChain([props, 'access', _220 => _220.onChange, 'optionalCall', _221 => _221(range)]);
11143
- if (_optionalChain([range, 'optionalAccess', _222 => _222.from]) && _optionalChain([range, 'optionalAccess', _223 => _223.to]) && range.from.getTime() !== range.to.getTime()) {
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()) {
11144
11139
  setOpen(false);
11145
11140
  }
11146
11141
  }
@@ -11247,7 +11242,7 @@ function DatePickerInput({
11247
11242
  if (newDate && value) {
11248
11243
  newDate.setHours(value.getHours(), value.getMinutes(), 0, 0);
11249
11244
  }
11250
- _optionalChain([onChange, 'optionalCall', _224 => _224(newDate)]);
11245
+ _optionalChain([onChange, 'optionalCall', _220 => _220(newDate)]);
11251
11246
  if (newDate) {
11252
11247
  setOpen(false);
11253
11248
  }
@@ -11264,12 +11259,12 @@ function DatePickerInput({
11264
11259
  }
11265
11260
  }
11266
11261
  date.setHours(hours);
11267
- _optionalChain([onChange, 'optionalCall', _225 => _225(date)]);
11262
+ _optionalChain([onChange, 'optionalCall', _221 => _221(date)]);
11268
11263
  };
11269
11264
  const handleMinuteChange = (newMinute) => {
11270
11265
  const date = value ? new Date(value) : /* @__PURE__ */ new Date();
11271
11266
  date.setMinutes(parseInt(newMinute, 10));
11272
- _optionalChain([onChange, 'optionalCall', _226 => _226(date)]);
11267
+ _optionalChain([onChange, 'optionalCall', _222 => _222(date)]);
11273
11268
  };
11274
11269
  const handlePeriodChange = (newPeriod) => {
11275
11270
  const date = value ? new Date(value) : /* @__PURE__ */ new Date();
@@ -11280,7 +11275,7 @@ function DatePickerInput({
11280
11275
  hours += 12;
11281
11276
  }
11282
11277
  date.setHours(hours);
11283
- _optionalChain([onChange, 'optionalCall', _227 => _227(date)]);
11278
+ _optionalChain([onChange, 'optionalCall', _223 => _223(date)]);
11284
11279
  };
11285
11280
  const hourOptions = React37.useMemo(() => generateHourOptions(use24HourFormat), [use24HourFormat]);
11286
11281
  const minuteOptions = React37.useMemo(() => generateMinuteOptions(), []);
@@ -11441,7 +11436,7 @@ function DatePickerInputSimple({
11441
11436
  if (newDate && value) {
11442
11437
  newDate.setHours(value.getHours(), value.getMinutes(), 0, 0);
11443
11438
  }
11444
- _optionalChain([onChange, 'optionalCall', _228 => _228(newDate)]);
11439
+ _optionalChain([onChange, 'optionalCall', _224 => _224(newDate)]);
11445
11440
  if (newDate) {
11446
11441
  setOpen(false);
11447
11442
  }
@@ -11450,7 +11445,7 @@ function DatePickerInputSimple({
11450
11445
  const [hours, minutes] = newTime.split(":").map(Number);
11451
11446
  const date = value ? new Date(value) : /* @__PURE__ */ new Date();
11452
11447
  date.setHours(hours, minutes, 0, 0);
11453
- _optionalChain([onChange, 'optionalCall', _229 => _229(date)]);
11448
+ _optionalChain([onChange, 'optionalCall', _225 => _225(date)]);
11454
11449
  };
11455
11450
  const timeOptions = React37.useMemo(
11456
11451
  () => generateTimeOptions(timeInterval, use24HourFormat),
@@ -11999,7 +11994,7 @@ var Switch = React43.forwardRef(({ className, checked, onCheckedChange, ...props
11999
11994
  }, [checked]);
12000
11995
  const handleCheckedChange = (newChecked) => {
12001
11996
  setIsChecked(newChecked);
12002
- _optionalChain([onCheckedChange, 'optionalCall', _230 => _230(newChecked)]);
11997
+ _optionalChain([onCheckedChange, 'optionalCall', _226 => _226(newChecked)]);
12003
11998
  };
12004
11999
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
12005
12000
  SwitchPrimitives.Root,
@@ -12208,7 +12203,7 @@ function TagsManager({
12208
12203
  const name = search.trim();
12209
12204
  if (!name) return;
12210
12205
  const result = await onCreateTag(name);
12211
- if (_optionalChain([result, 'optionalAccess', _231 => _231.id])) {
12206
+ if (_optionalChain([result, 'optionalAccess', _227 => _227.id])) {
12212
12207
  onChange([...selectedIds, result.id]);
12213
12208
  setSearch("");
12214
12209
  }
@@ -12216,7 +12211,7 @@ function TagsManager({
12216
12211
  const startEdit = React45.useCallback((id, name) => {
12217
12212
  setEditingId(id);
12218
12213
  setEditingName(name);
12219
- setTimeout(() => _optionalChain([editInputRef, 'access', _232 => _232.current, 'optionalAccess', _233 => _233.focus, 'call', _234 => _234()]), 0);
12214
+ setTimeout(() => _optionalChain([editInputRef, 'access', _228 => _228.current, 'optionalAccess', _229 => _229.focus, 'call', _230 => _230()]), 0);
12220
12215
  }, []);
12221
12216
  const confirmEdit = React45.useCallback(async () => {
12222
12217
  if (!onUpdateTag || !editingId || !editingName.trim()) return;
@@ -12243,7 +12238,7 @@ function TagsManager({
12243
12238
  e.stopPropagation();
12244
12239
  onChange([]);
12245
12240
  setSearch("");
12246
- _optionalChain([inputRef, 'access', _235 => _235.current, 'optionalAccess', _236 => _236.focus, 'call', _237 => _237()]);
12241
+ _optionalChain([inputRef, 'access', _231 => _231.current, 'optionalAccess', _232 => _232.focus, 'call', _233 => _233()]);
12247
12242
  },
12248
12243
  [onChange]
12249
12244
  );
@@ -12342,10 +12337,10 @@ function TagsManager({
12342
12337
  align: "start",
12343
12338
  onOpenAutoFocus: (e) => {
12344
12339
  e.preventDefault();
12345
- _optionalChain([inputRef, 'access', _238 => _238.current, 'optionalAccess', _239 => _239.focus, 'call', _240 => _240()]);
12340
+ _optionalChain([inputRef, 'access', _234 => _234.current, 'optionalAccess', _235 => _235.focus, 'call', _236 => _236()]);
12346
12341
  },
12347
12342
  onInteractOutside: (e) => {
12348
- if (_optionalChain([containerRef, 'access', _241 => _241.current, 'optionalAccess', _242 => _242.contains, 'call', _243 => _243(e.target)])) {
12343
+ if (_optionalChain([containerRef, 'access', _237 => _237.current, 'optionalAccess', _238 => _238.contains, 'call', _239 => _239(e.target)])) {
12349
12344
  e.preventDefault();
12350
12345
  }
12351
12346
  },
@@ -13740,19 +13735,19 @@ function TabNavigation({
13740
13735
  const validTabIds = _react.useMemo.call(void 0, () => new Set(tabs.map((t) => t.id)), [tabs]);
13741
13736
  const getInitialTab = () => {
13742
13737
  if (isUrlSyncEnabled) {
13743
- const fromUrl = _optionalChain([searchParams, 'optionalAccess', _244 => _244.get, 'call', _245 => _245(paramName)]) || "";
13738
+ const fromUrl = _optionalChain([searchParams, 'optionalAccess', _240 => _240.get, 'call', _241 => _241(paramName)]) || "";
13744
13739
  if (validTabIds.has(fromUrl)) {
13745
13740
  return fromUrl;
13746
13741
  }
13747
13742
  }
13748
- return defaultTab || _optionalChain([tabs, 'access', _246 => _246[0], 'optionalAccess', _247 => _247.id]) || "";
13743
+ return defaultTab || _optionalChain([tabs, 'access', _242 => _242[0], 'optionalAccess', _243 => _243.id]) || "";
13749
13744
  };
13750
13745
  const [internalActiveTab, setInternalActiveTab] = _react.useState.call(void 0, getInitialTab);
13751
13746
  const activeTab = isUrlSyncEnabled ? internalActiveTab : controlledActiveTab || "";
13752
13747
  _react.useEffect.call(void 0, () => {
13753
13748
  if (!isUrlSyncEnabled) return;
13754
- const fromUrl = _optionalChain([searchParams, 'optionalAccess', _248 => _248.get, 'call', _249 => _249(paramName)]) || "";
13755
- const nextTab = validTabIds.has(fromUrl) ? fromUrl : defaultTab || _optionalChain([tabs, 'access', _250 => _250[0], 'optionalAccess', _251 => _251.id]) || "";
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]) || "";
13756
13751
  if (nextTab !== internalActiveTab) {
13757
13752
  setInternalActiveTab(nextTab);
13758
13753
  }
@@ -13760,13 +13755,13 @@ function TabNavigation({
13760
13755
  const handleTabChange = (tabId) => {
13761
13756
  if (isUrlSyncEnabled) {
13762
13757
  setInternalActiveTab(tabId);
13763
- const params = new URLSearchParams(_optionalChain([searchParams, 'optionalAccess', _252 => _252.toString, 'call', _253 => _253()]));
13758
+ const params = new URLSearchParams(_optionalChain([searchParams, 'optionalAccess', _248 => _248.toString, 'call', _249 => _249()]));
13764
13759
  params.set(paramName, tabId);
13765
13760
  const method = replaceState ? "replace" : "push";
13766
13761
  router[method](`${pathname}?${params.toString()}`);
13767
- _optionalChain([controlledOnTabChange, 'optionalCall', _254 => _254(tabId)]);
13762
+ _optionalChain([controlledOnTabChange, 'optionalCall', _250 => _250(tabId)]);
13768
13763
  } else {
13769
- _optionalChain([controlledOnTabChange, 'optionalCall', _255 => _255(tabId)]);
13764
+ _optionalChain([controlledOnTabChange, 'optionalCall', _251 => _251(tabId)]);
13770
13765
  }
13771
13766
  };
13772
13767
  const scrollRef = _react.useRef.call(void 0, null);
@@ -13854,7 +13849,7 @@ function TabNavigation({
13854
13849
  var getTabById = (tabs, tabId) => tabs.find((tab) => tab.id === tabId);
13855
13850
  var getTabComponent = (tabs, tabId) => {
13856
13851
  const tab = getTabById(tabs, tabId);
13857
- return _optionalChain([tab, 'optionalAccess', _256 => _256.component]) || null;
13852
+ return _optionalChain([tab, 'optionalAccess', _252 => _252.component]) || null;
13858
13853
  };
13859
13854
 
13860
13855
  // src/components/ui/alert.tsx
@@ -13994,7 +13989,7 @@ function ReleaseChangelogSection({
13994
13989
  className: "overflow-hidden transition-[max-height] duration-500",
13995
13990
  style: {
13996
13991
  transitionTimingFunction: "cubic-bezier(0.33, 1, 0.68, 1)",
13997
- maxHeight: previewExpanded || !previewNeedsFade ? _nullishCoalesce(_optionalChain([previewContentRef, 'access', _257 => _257.current, 'optionalAccess', _258 => _258.scrollHeight]), () => ( 2e3)) : PREVIEW_COLLAPSED_HEIGHT,
13992
+ maxHeight: previewExpanded || !previewNeedsFade ? _nullishCoalesce(_optionalChain([previewContentRef, 'access', _253 => _253.current, 'optionalAccess', _254 => _254.scrollHeight]), () => ( 2e3)) : PREVIEW_COLLAPSED_HEIGHT,
13998
13993
  ...previewNeedsFade && !previewExpanded ? {
13999
13994
  maskImage: "linear-gradient(to bottom, black 30%, transparent 100%)",
14000
13995
  WebkitMaskImage: "linear-gradient(to bottom, black 30%, transparent 100%)"
@@ -14431,16 +14426,16 @@ function FilterModal({
14431
14426
  };
14432
14427
  const handleReset = () => {
14433
14428
  onFilterChange({});
14434
- _optionalChain([onTagsChange, 'optionalCall', _259 => _259([])]);
14429
+ _optionalChain([onTagsChange, 'optionalCall', _255 => _255([])]);
14435
14430
  onClose();
14436
14431
  };
14437
14432
  const handleApply = () => {
14438
14433
  onFilterChange(selectedFilters);
14439
- _optionalChain([onTagsChange, 'optionalCall', _260 => _260(pendingTags)]);
14434
+ _optionalChain([onTagsChange, 'optionalCall', _256 => _256(pendingTags)]);
14440
14435
  onClose();
14441
14436
  };
14442
14437
  const getColumnDirection = (columnKey) => {
14443
- return _optionalChain([sortConfig, 'optionalAccess', _261 => _261.sortBy]) === columnKey ? sortConfig.sortDirection : void 0;
14438
+ return _optionalChain([sortConfig, 'optionalAccess', _257 => _257.sortBy]) === columnKey ? sortConfig.sortDirection : void 0;
14444
14439
  };
14445
14440
  const hasSort = !!sortConfig && sortConfig.columns.length > 0;
14446
14441
  const hasFilterGroups = filterGroups.length > 0;
@@ -14489,7 +14484,7 @@ function FilterModal({
14489
14484
  {
14490
14485
  column,
14491
14486
  currentDirection: getColumnDirection(column.key),
14492
- onSort: (direction) => _optionalChain([onSort, 'optionalCall', _262 => _262(column.key, direction)]),
14487
+ onSort: (direction) => _optionalChain([onSort, 'optionalCall', _258 => _258(column.key, direction)]),
14493
14488
  onClear: onSortClear ? () => onSortClear(column.key) : void 0
14494
14489
  },
14495
14490
  column.key
@@ -14667,7 +14662,7 @@ function IconButtonsVariant({
14667
14662
  }) {
14668
14663
  const desktopActions = actions.filter((a) => !a.showOnlyMobile);
14669
14664
  const hasMenuActions = !!menuActions && menuActions.some((g) => g.items.length > 0);
14670
- const isSingleAction = actions.length === 1 && !_optionalChain([actions, 'access', _263 => _263[0], 'access', _264 => _264.submenu, 'optionalAccess', _265 => _265.length]);
14665
+ const isSingleAction = actions.length === 1 && !_optionalChain([actions, 'access', _259 => _259[0], 'access', _260 => _260.submenu, 'optionalAccess', _261 => _261.length]);
14671
14666
  const singleAction = isSingleAction ? actions[0] : null;
14672
14667
  const useSingleActionMobile = isSingleAction && !hasMenuActions;
14673
14668
  return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _jsxruntime.Fragment, { children: [
@@ -15818,7 +15813,7 @@ function getShellIcon(shellType) {
15818
15813
  if (!shellType) return void 0;
15819
15814
  const normalized = shellType.toUpperCase();
15820
15815
  const shellDef = SHELL_TYPES.find((s) => s.id === normalized);
15821
- return _optionalChain([shellDef, 'optionalAccess', _266 => _266.icon]);
15816
+ return _optionalChain([shellDef, 'optionalAccess', _262 => _262.icon]);
15822
15817
  }
15823
15818
 
15824
15819
  // src/types/os.types.ts
@@ -15891,7 +15886,7 @@ function getOSIcon(osType) {
15891
15886
  const normalized = normalizeOSType(osType);
15892
15887
  if (!normalized) return void 0;
15893
15888
  const osTypeDef = OS_TYPES.find((t) => t.id === normalized);
15894
- return _optionalChain([osTypeDef, 'optionalAccess', _267 => _267.icon]);
15889
+ return _optionalChain([osTypeDef, 'optionalAccess', _263 => _263.icon]);
15895
15890
  }
15896
15891
  function getOSTypeDefinition(osType) {
15897
15892
  if (!osType) return void 0;
@@ -15901,7 +15896,7 @@ function getOSTypeDefinition(osType) {
15901
15896
  }
15902
15897
  function getOSPlatformId(osType) {
15903
15898
  const osTypeDef = getOSTypeDefinition(osType);
15904
- return _optionalChain([osTypeDef, 'optionalAccess', _268 => _268.platformId]);
15899
+ return _optionalChain([osTypeDef, 'optionalAccess', _264 => _264.platformId]);
15905
15900
  }
15906
15901
  function isOSPlatform(deviceOS, targetPlatform) {
15907
15902
  if (!deviceOS || !targetPlatform) return false;
@@ -15994,10 +15989,10 @@ var GENERIC_EMAIL_DOMAINS = [
15994
15989
  ];
15995
15990
  function extractDomainFromEmail(email) {
15996
15991
  if (!email || !email.includes("@")) return null;
15997
- return _optionalChain([email, 'access', _269 => _269.split, 'call', _270 => _270("@"), 'access', _271 => _271[1], 'optionalAccess', _272 => _272.toLowerCase, 'call', _273 => _273()]) || null;
15992
+ return _optionalChain([email, 'access', _265 => _265.split, 'call', _266 => _266("@"), 'access', _267 => _267[1], 'optionalAccess', _268 => _268.toLowerCase, 'call', _269 => _269()]) || null;
15998
15993
  }
15999
15994
  function normalizeDomain(domain) {
16000
- 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()]) || "";
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()]) || "";
16001
15996
  }
16002
15997
  function isGenericDomain(domain) {
16003
15998
  const normalized = normalizeDomain(domain);
@@ -16406,7 +16401,7 @@ function createLocalStorageAdapter(options) {
16406
16401
  const tag = _nullishCoalesce(options.logTag, () => ( "[local-storage]"));
16407
16402
  const backend = _nullishCoalesce(options.backend, () => ( "local"));
16408
16403
  const resolveKey = () => {
16409
- const ns = _optionalChain([options, 'access', _285 => _285.namespace, 'optionalCall', _286 => _286()]);
16404
+ const ns = _optionalChain([options, 'access', _281 => _281.namespace, 'optionalCall', _282 => _282()]);
16410
16405
  return ns ? `${ns}.${options.key}` : options.key;
16411
16406
  };
16412
16407
  return {
@@ -16493,7 +16488,7 @@ function getEmbedProxyAuth() {
16493
16488
  }
16494
16489
  function getPersistedProxyEmail() {
16495
16490
  const persisted = adapter.load();
16496
- return _nullishCoalesce(_optionalChain([persisted, 'optionalAccess', _287 => _287.email, 'access', _288 => _288.trim, 'call', _289 => _289(), 'access', _290 => _290.toLowerCase, 'call', _291 => _291()]), () => ( null));
16491
+ return _nullishCoalesce(_optionalChain([persisted, 'optionalAccess', _283 => _283.email, 'access', _284 => _284.trim, 'call', _285 => _285(), 'access', _286 => _286.toLowerCase, 'call', _287 => _287()]), () => ( null));
16497
16492
  }
16498
16493
  function setEmbedProxyAuth(value) {
16499
16494
  adapter.save({
@@ -16510,15 +16505,15 @@ function clearEmbedProxyAuth() {
16510
16505
  function applyProxyAuth(url, baseHeaders = { "Content-Type": "application/json" }) {
16511
16506
  const auth = getEmbedProxyAuth();
16512
16507
  const headers = { ...baseHeaders };
16513
- if (_optionalChain([auth, 'optionalAccess', _292 => _292.secret])) {
16508
+ if (_optionalChain([auth, 'optionalAccess', _288 => _288.secret])) {
16514
16509
  headers.Authorization = `Bearer ${auth.secret}`;
16515
16510
  }
16516
- if (_optionalChain([auth, 'optionalAccess', _293 => _293.email])) {
16511
+ if (_optionalChain([auth, 'optionalAccess', _289 => _289.email])) {
16517
16512
  headers["X-Chat-Act-As"] = auth.email;
16518
16513
  }
16519
- if (_optionalChain([auth, 'optionalAccess', _294 => _294.firstName])) headers["X-Chat-First-Name"] = auth.firstName;
16520
- if (_optionalChain([auth, 'optionalAccess', _295 => _295.lastName])) headers["X-Chat-Last-Name"] = auth.lastName;
16521
- if (_optionalChain([auth, 'optionalAccess', _296 => _296.avatarUrl])) headers["X-Chat-Avatar-Url"] = auth.avatarUrl;
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
16517
  return { url, headers };
16523
16518
  }
16524
16519
 
@@ -16570,7 +16565,7 @@ function setInFlightRefresh(refresh) {
16570
16565
  }
16571
16566
  function dedupedRefresh() {
16572
16567
  const adapter2 = getRegisteredAuthAdapter();
16573
- if (!_optionalChain([adapter2, 'optionalAccess', _297 => _297.refresh])) return Promise.resolve(false);
16568
+ if (!_optionalChain([adapter2, 'optionalAccess', _293 => _293.refresh])) return Promise.resolve(false);
16574
16569
  let inFlightRefresh = getInFlightRefresh();
16575
16570
  if (!inFlightRefresh) {
16576
16571
  inFlightRefresh = Promise.resolve().then(() => adapter2.refresh()).catch(() => false).finally(() => {
@@ -16583,12 +16578,12 @@ function dedupedRefresh() {
16583
16578
  async function fetchWithRefresh(url, init, baseHeaders, isRetry) {
16584
16579
  const { url: authedUrl, headers } = applyProxyAuth(url, { ...baseHeaders });
16585
16580
  const adapter2 = getRegisteredAuthAdapter();
16586
- if (_optionalChain([adapter2, 'optionalAccess', _298 => _298.getHeaders])) {
16581
+ if (_optionalChain([adapter2, 'optionalAccess', _294 => _294.getHeaders])) {
16587
16582
  for (const [k, v] of Object.entries(adapter2.getHeaders())) {
16588
16583
  if (v !== void 0) headers[k] = v;
16589
16584
  }
16590
16585
  }
16591
- const credentials = _nullishCoalesce(_nullishCoalesce(_optionalChain([adapter2, 'optionalAccess', _299 => _299.credentials]), () => ( init.credentials)), () => ( "same-origin"));
16586
+ const credentials = _nullishCoalesce(_nullishCoalesce(_optionalChain([adapter2, 'optionalAccess', _295 => _295.credentials]), () => ( init.credentials)), () => ( "same-origin"));
16592
16587
  const response = await fetch(authedUrl, {
16593
16588
  ...init,
16594
16589
  headers,
@@ -16599,7 +16594,7 @@ async function fetchWithRefresh(url, init, baseHeaders, isRetry) {
16599
16594
  // `SameSite=None` must be configured server-side for that to work).
16600
16595
  credentials
16601
16596
  });
16602
- if (response.status === 401 && !isRetry && _optionalChain([adapter2, 'optionalAccess', _300 => _300.refresh])) {
16597
+ if (response.status === 401 && !isRetry && _optionalChain([adapter2, 'optionalAccess', _296 => _296.refresh])) {
16603
16598
  const refreshed = await dedupedRefresh();
16604
16599
  if (refreshed) {
16605
16600
  return fetchWithRefresh(url, init, baseHeaders, true);
@@ -16637,7 +16632,7 @@ function assertSameOrigin(url) {
16637
16632
 
16638
16633
  // src/utils/sse-decision-frame.ts
16639
16634
  async function readLeadingDecisionFrame(response) {
16640
- const reader = _optionalChain([response, 'access', _301 => _301.body, 'optionalAccess', _302 => _302.getReader, 'call', _303 => _303()]);
16635
+ const reader = _optionalChain([response, 'access', _297 => _297.body, 'optionalAccess', _298 => _298.getReader, 'call', _299 => _299()]);
16641
16636
  if (!reader) throw new Error("readLeadingDecisionFrame: response has no body");
16642
16637
  const decoder = new TextDecoder();
16643
16638
  let buffer = "";
@@ -16666,9 +16661,9 @@ async function readLeadingDecisionFrame(response) {
16666
16661
  );
16667
16662
  }
16668
16663
  const obj = parsed;
16669
- if (_optionalChain([obj, 'optionalAccess', _304 => _304.kind]) !== "decision_resolved") {
16664
+ if (_optionalChain([obj, 'optionalAccess', _300 => _300.kind]) !== "decision_resolved") {
16670
16665
  throw new Error(
16671
- `readLeadingDecisionFrame: expected decision_resolved, got kind=${String(_optionalChain([obj, 'optionalAccess', _305 => _305.kind]))}`
16666
+ `readLeadingDecisionFrame: expected decision_resolved, got kind=${String(_optionalChain([obj, 'optionalAccess', _301 => _301.kind]))}`
16672
16667
  );
16673
16668
  }
16674
16669
  frame = normalizeDecisionFrame(obj);
@@ -16709,7 +16704,7 @@ var AUTO_CONTINUATION_DIRECTIVE_PREFIX = "[internal-auto-continuation]";
16709
16704
  function buildAutoContinuationDirective(toolName, opts = {}) {
16710
16705
  const ticketRef = opts.ticketId ? ` (ticket #${opts.ticketId})` : "";
16711
16706
  const ticketHash = opts.ticketId ? ` #${opts.ticketId}` : "";
16712
- const isClose = toolName === "update_ticket" && _optionalChain([opts, 'access', _306 => _306.status, 'optionalAccess', _307 => _307.toUpperCase, 'call', _308 => _308()]) === "CLOSED";
16707
+ const isClose = toolName === "update_ticket" && _optionalChain([opts, 'access', _302 => _302.status, 'optionalAccess', _303 => _303.toUpperCase, 'call', _304 => _304()]) === "CLOSED";
16713
16708
  if (toolName === "create_ticket") {
16714
16709
  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.`;
16715
16710
  }
@@ -16771,7 +16766,7 @@ function formatSingularLookupInvocation(cmdId, value) {
16771
16766
  return safe ? `/${cmdId} "${safe}"` : `/${cmdId}`;
16772
16767
  }
16773
16768
  function extractEntityIdFilter(override, expectedTableId) {
16774
- const f = _optionalChain([override, 'optionalAccess', _309 => _309.entityIdFilter]);
16769
+ const f = _optionalChain([override, 'optionalAccess', _305 => _305.entityIdFilter]);
16775
16770
  if (!f) return null;
16776
16771
  const tableId = typeof f.tableId === "string" ? f.tableId : "";
16777
16772
  const id = typeof f.id === "string" ? f.id : "";
@@ -16846,7 +16841,7 @@ function getTaskTypeLabel(customItemId) {
16846
16841
 
16847
16842
  // src/components/chat/utils/agent-status-message.ts
16848
16843
  function getStatusColorScheme(status) {
16849
- const s = _optionalChain([status, 'optionalAccess', _310 => _310.toLowerCase, 'call', _311 => _311()]) || "";
16844
+ const s = _optionalChain([status, 'optionalAccess', _306 => _306.toLowerCase, 'call', _307 => _307()]) || "";
16850
16845
  switch (status) {
16851
16846
  case "completed":
16852
16847
  case "success":
@@ -17132,9 +17127,6 @@ function scrollElementIntoView(target, options = {}) {
17132
17127
 
17133
17128
  // src/utils/list-url.ts
17134
17129
  var ALIASES = { blog_post_existing: "blog_post" };
17135
- function canonicalContentRefType(contentRefType) {
17136
- return _nullishCoalesce(ALIASES[contentRefType], () => ( contentRefType));
17137
- }
17138
17130
  var BUILDERS = {
17139
17131
  roadmap_item: (ids, b) => `${b}/api/roadmap?task_ids=${ids.join(",")}`,
17140
17132
  delivery_item: (ids, b) => `${b}/api/delivery?task_ids=${ids.join(",")}`,
@@ -17159,60 +17151,6 @@ function buildListUrl(contentRefType, ids, base = "") {
17159
17151
  return fn ? fn(ids, base) : null;
17160
17152
  }
17161
17153
 
17162
- // src/utils/content-ref-groups.ts
17163
- var CONTENT_REF_GROUPS = {
17164
- investor_update: { label: "Investor Updates", order: 1, layout: "grid", gridSize: "default" },
17165
- product_release: { label: "Product Releases", order: 2, layout: "list", gridSize: "lg" },
17166
- podcast: { label: "Podcasts", order: 3, layout: "list", gridSize: "default" },
17167
- webinar: { label: "Webinars", order: 4, layout: "list", gridSize: "default" },
17168
- case_study: { label: "Case Studies", order: 5, layout: "grid", gridSize: "default" },
17169
- event: { label: "Events", order: 6, layout: "list", gridSize: "default" },
17170
- blog_post_existing: { label: "Blog Posts", order: 7, layout: "grid", gridSize: "default" },
17171
- customer_interview: { label: "Customer Interviews", order: 8, layout: "grid", gridSize: "default" },
17172
- onboarding_guide: { label: "Onboarding Guides", order: 9, layout: "list", gridSize: "default" }
17173
- };
17174
- function getContentRefLabel(type) {
17175
- return _nullishCoalesce(_optionalChain([CONTENT_REF_GROUPS, 'access', _312 => _312[type], 'optionalAccess', _313 => _313.label]), () => ( null));
17176
- }
17177
- function getContentRefLabelOrTitleCase(type) {
17178
- return _nullishCoalesce(_optionalChain([CONTENT_REF_GROUPS, 'access', _314 => _314[type], 'optionalAccess', _315 => _315.label]), () => ( type.replace(/_/g, " ").replace(/\b\w/g, (ch) => ch.toUpperCase())));
17179
- }
17180
- function orderContentRefTypes(present) {
17181
- const presentSet = new Set(present);
17182
- const registeredInOrder = Object.entries(CONTENT_REF_GROUPS).sort(([, a], [, b]) => a.order - b.order).map(([type]) => type).filter((type) => presentSet.has(type));
17183
- const unregistered = [...presentSet].filter((type) => !CONTENT_REF_GROUPS[type]);
17184
- return [...registeredInOrder, ...unregistered];
17185
- }
17186
-
17187
- // src/utils/extract-items.ts
17188
- function extractItems(data) {
17189
- if (!data || typeof data !== "object") return [];
17190
- const obj = data;
17191
- if (Array.isArray(obj.items)) return obj.items;
17192
- if (Array.isArray(obj.posts)) return obj.posts;
17193
- if (Array.isArray(obj.campaigns)) return obj.campaigns;
17194
- if (Array.isArray(obj.completed) || Array.isArray(obj.inProgress)) {
17195
- const completed = Array.isArray(obj.completed) ? obj.completed : [];
17196
- const inProgress = Array.isArray(obj.inProgress) ? obj.inProgress : [];
17197
- return [...completed, ...inProgress];
17198
- }
17199
- if (Array.isArray(obj.data)) return obj.data;
17200
- if (Array.isArray(data)) return data;
17201
- return [];
17202
- }
17203
- function extractItemId(type, item) {
17204
- if (!item || typeof item !== "object") return null;
17205
- const obj = item;
17206
- if (type === "roadmap_item" || type === "delivery_item" || type === "internal_task") {
17207
- const ext = obj.external_id;
17208
- if (typeof ext === "string") return ext;
17209
- }
17210
- const id = obj.id;
17211
- if (typeof id === "string") return id;
17212
- if (typeof id === "number") return String(id);
17213
- return null;
17214
- }
17215
-
17216
17154
  // src/utils/content-href.ts
17217
17155
  var DEFAULT_CONTENT_SUFFIXES = {
17218
17156
  onboarding_guide: "onboarding-guides",
@@ -17889,26 +17827,26 @@ function DeviceCard({
17889
17827
  ] }),
17890
17828
  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 })
17891
17829
  ] }),
17892
- _optionalChain([actions, 'access', _316 => _316.moreButton, 'optionalAccess', _317 => _317.visible]) !== false && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
17830
+ _optionalChain([actions, 'access', _308 => _308.moreButton, 'optionalAccess', _309 => _309.visible]) !== false && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
17893
17831
  "div",
17894
17832
  {
17895
17833
  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",
17896
17834
  onClick: (e) => {
17897
17835
  e.stopPropagation();
17898
- _optionalChain([actions, 'access', _318 => _318.moreButton, 'optionalAccess', _319 => _319.onClick, 'optionalCall', _320 => _320()]);
17836
+ _optionalChain([actions, 'access', _310 => _310.moreButton, 'optionalAccess', _311 => _311.onClick, 'optionalCall', _312 => _312()]);
17899
17837
  },
17900
17838
  children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkC6ASEPZLcjs.Ellipsis01Icon, { className: "text-ods-text-primary" })
17901
17839
  }
17902
17840
  ),
17903
- _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 }),
17904
- _optionalChain([actions, 'access', _325 => _325.customActions, 'optionalAccess', _326 => _326.map, 'call', _327 => _327(
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(
17905
17843
  (action, index) => action.visible !== false && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
17906
17844
  "div",
17907
17845
  {
17908
17846
  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",
17909
17847
  onClick: (e) => {
17910
17848
  e.stopPropagation();
17911
- _optionalChain([action, 'access', _328 => _328.onClick, 'optionalCall', _329 => _329()]);
17849
+ _optionalChain([action, 'access', _320 => _320.onClick, 'optionalCall', _321 => _321()]);
17912
17850
  },
17913
17851
  children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "text-h3 text-ods-text-primary text-nowrap tracking-[-0.36px]", children: action.label })
17914
17852
  },
@@ -18408,7 +18346,7 @@ function MoreActionsMenu({
18408
18346
  ] });
18409
18347
  const handleActivate = (e) => {
18410
18348
  e.stopPropagation();
18411
- if (!item.disabled) _optionalChain([item, 'access', _330 => _330.onClick, 'optionalCall', _331 => _331()]);
18349
+ if (!item.disabled) _optionalChain([item, 'access', _322 => _322.onClick, 'optionalCall', _323 => _323()]);
18412
18350
  };
18413
18351
  if (item.href) {
18414
18352
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
@@ -18475,7 +18413,7 @@ function OrganizationCard({
18475
18413
  const handleActionClick = (e) => {
18476
18414
  e.preventDefault();
18477
18415
  e.stopPropagation();
18478
- _optionalChain([actionButton, 'optionalAccess', _332 => _332.onClick, 'call', _333 => _333(organization, e)]);
18416
+ _optionalChain([actionButton, 'optionalAccess', _324 => _324.onClick, 'call', _325 => _325(organization, e)]);
18479
18417
  };
18480
18418
  const card = /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
18481
18419
  "div",
@@ -19380,10 +19318,10 @@ var getContentDimensions = (config) => {
19380
19318
  const envMobileHeight = process.env.NEXT_PUBLIC_FIGMA_MOBILE_HEIGHT ? parseInt(process.env.NEXT_PUBLIC_FIGMA_MOBILE_HEIGHT) : null;
19381
19319
  const envDesktopWidth = process.env.NEXT_PUBLIC_FIGMA_DESKTOP_WIDTH ? parseInt(process.env.NEXT_PUBLIC_FIGMA_DESKTOP_WIDTH) : null;
19382
19320
  const envDesktopHeight = process.env.NEXT_PUBLIC_FIGMA_DESKTOP_HEIGHT ? parseInt(process.env.NEXT_PUBLIC_FIGMA_DESKTOP_HEIGHT) : null;
19383
- const mobileWidth = _nullishCoalesce(_nullishCoalesce(envMobileWidth, () => ( _optionalChain([config, 'optionalAccess', _334 => _334.mobileContentDimensions, 'optionalAccess', _335 => _335.width]))), () => ( defaultMobile.width));
19384
- const mobileHeight = _nullishCoalesce(_nullishCoalesce(envMobileHeight, () => ( _optionalChain([config, 'optionalAccess', _336 => _336.mobileContentDimensions, 'optionalAccess', _337 => _337.height]))), () => ( defaultMobile.height));
19385
- const desktopWidth = _nullishCoalesce(_nullishCoalesce(envDesktopWidth, () => ( _optionalChain([config, 'optionalAccess', _338 => _338.desktopContentDimensions, 'optionalAccess', _339 => _339.width]))), () => ( defaultDesktop.width));
19386
- const desktopHeight = _nullishCoalesce(_nullishCoalesce(envDesktopHeight, () => ( _optionalChain([config, 'optionalAccess', _340 => _340.desktopContentDimensions, 'optionalAccess', _341 => _341.height]))), () => ( defaultDesktop.height));
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));
19387
19325
  return {
19388
19326
  mobile: { width: mobileWidth, height: mobileHeight },
19389
19327
  desktop: { width: desktopWidth, height: desktopHeight }
@@ -19517,7 +19455,7 @@ function renderUnifiedUI(state, handlers, config, iframeRef) {
19517
19455
  const contentDimensions = getContentDimensions(config);
19518
19456
  const mobileHeight = contentDimensions.mobile.height;
19519
19457
  const calculatedHeight = Math.max(mobileHeight + 100, 400);
19520
- return `${Math.min(calculatedHeight, _optionalChain([window, 'optionalAccess', _342 => _342.innerHeight]) * 0.85 || 650)}px`;
19458
+ return `${Math.min(calculatedHeight, _optionalChain([window, 'optionalAccess', _334 => _334.innerHeight]) * 0.85 || 650)}px`;
19521
19459
  })(),
19522
19460
  minHeight: viewMode === "DESKTOP" ? "auto" : (() => {
19523
19461
  const contentDimensions = getContentDimensions(config);
@@ -19622,7 +19560,7 @@ var FigmaPrototypeViewer = ({
19622
19560
  const [isInitialized, setIsInitialized] = _react.useState.call(void 0, false);
19623
19561
  const [currentNodeId, setCurrentNodeId] = _react.useState.call(void 0, null);
19624
19562
  const [internalActiveSection, setInternalActiveSection] = _react.useState.call(void 0,
19625
- config.defaultSectionId || _optionalChain([config, 'access', _343 => _343.sections, 'access', _344 => _344[0], 'optionalAccess', _345 => _345.id]) || ""
19563
+ config.defaultSectionId || _optionalChain([config, 'access', _335 => _335.sections, 'access', _336 => _336[0], 'optionalAccess', _337 => _337.id]) || ""
19626
19564
  );
19627
19565
  const activeSection = externalActiveSection || internalActiveSection;
19628
19566
  const [isNavigating, setIsNavigating] = _react.useState.call(void 0, false);
@@ -19712,7 +19650,7 @@ var FigmaPrototypeViewer = ({
19712
19650
  const handleMessage = (event) => {
19713
19651
  if (event.origin !== "https://www.figma.com") return;
19714
19652
  const validEvents = ["INITIAL_LOAD", "NEW_STATE", "PRESENTED_NODE_CHANGED"];
19715
- if (_optionalChain([event, 'access', _346 => _346.data, 'optionalAccess', _347 => _347.type]) && validEvents.includes(event.data.type)) {
19653
+ if (_optionalChain([event, 'access', _338 => _338.data, 'optionalAccess', _339 => _339.type]) && validEvents.includes(event.data.type)) {
19716
19654
  const figmaEvent = event.data;
19717
19655
  console.log("[Figma Event]", figmaEvent.type, viewMode);
19718
19656
  switch (figmaEvent.type) {
@@ -19722,19 +19660,19 @@ var FigmaPrototypeViewer = ({
19722
19660
  setIframeState("READY");
19723
19661
  break;
19724
19662
  case "PRESENTED_NODE_CHANGED":
19725
- if (_optionalChain([figmaEvent, 'access', _348 => _348.data, 'optionalAccess', _349 => _349.presentedNodeId])) {
19663
+ if (_optionalChain([figmaEvent, 'access', _340 => _340.data, 'optionalAccess', _341 => _341.presentedNodeId])) {
19726
19664
  setCurrentNodeId(figmaEvent.data.presentedNodeId);
19727
19665
  if (!isNavigating) {
19728
19666
  const matchingSection = config.sections.find((s) => {
19729
- 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]);
19730
- 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]);
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]);
19731
19669
  return desktopMatch || mobileMatch;
19732
19670
  });
19733
19671
  if (matchingSection && matchingSection.id !== activeSection) {
19734
19672
  if (!externalActiveSection) {
19735
19673
  setInternalActiveSection(matchingSection.id);
19736
19674
  }
19737
- _optionalChain([config, 'access', _361 => _361.onSectionChange, 'optionalCall', _362 => _362(matchingSection.id)]);
19675
+ _optionalChain([config, 'access', _353 => _353.onSectionChange, 'optionalCall', _354 => _354(matchingSection.id)]);
19738
19676
  }
19739
19677
  }
19740
19678
  }
@@ -19747,7 +19685,7 @@ var FigmaPrototypeViewer = ({
19747
19685
  }, [config.sections, activeSection, isNavigating, externalActiveSection, config.onSectionChange, viewMode]);
19748
19686
  const navigateToSection = _react.useCallback.call(void 0, (sectionId) => {
19749
19687
  const section = config.sections.find((s) => s.id === sectionId);
19750
- if (!section || !_optionalChain([iframeRef, 'access', _363 => _363.current, 'optionalAccess', _364 => _364.contentWindow]) || !isInitialized) {
19688
+ if (!section || !_optionalChain([iframeRef, 'access', _355 => _355.current, 'optionalAccess', _356 => _356.contentWindow]) || !isInitialized) {
19751
19689
  return;
19752
19690
  }
19753
19691
  setIsNavigating(true);
@@ -19755,7 +19693,7 @@ var FigmaPrototypeViewer = ({
19755
19693
  if (!externalActiveSection) {
19756
19694
  setInternalActiveSection(sectionId);
19757
19695
  }
19758
- _optionalChain([config, 'access', _365 => _365.onSectionChange, 'optionalCall', _366 => _366(sectionId)]);
19696
+ _optionalChain([config, 'access', _357 => _357.onSectionChange, 'optionalCall', _358 => _358(sectionId)]);
19759
19697
  const command = {
19760
19698
  type: "NAVIGATE_TO_FRAME_AND_CLOSE_OVERLAYS",
19761
19699
  data: { nodeId }
@@ -20075,7 +20013,7 @@ var FiltersDropdown = ({
20075
20013
  defaults[section.id] = section.defaultSelected || [];
20076
20014
  });
20077
20015
  setSelectedFilters(defaults);
20078
- _optionalChain([onReset, 'optionalCall', _367 => _367()]);
20016
+ _optionalChain([onReset, 'optionalCall', _359 => _359()]);
20079
20017
  setIsOpen(false);
20080
20018
  };
20081
20019
  const handleApply = () => {
@@ -20368,7 +20306,7 @@ function MediaGalleryManager({
20368
20306
  const [deletingIndex, setDeletingIndex] = _react.useState.call(void 0, null);
20369
20307
  const [draggedIndex, setDraggedIndex] = _react.useState.call(void 0, null);
20370
20308
  const handleFileSelect = _react.useCallback.call(void 0, async (event) => {
20371
- const file = _optionalChain([event, 'access', _368 => _368.target, 'access', _369 => _369.files, 'optionalAccess', _370 => _370[0]]);
20309
+ const file = _optionalChain([event, 'access', _360 => _360.target, 'access', _361 => _361.files, 'optionalAccess', _362 => _362[0]]);
20372
20310
  if (!file) return;
20373
20311
  let mediaType;
20374
20312
  if (file.type.startsWith("image/")) {
@@ -20483,7 +20421,7 @@ function MediaGalleryManager({
20483
20421
  {
20484
20422
  type: "button",
20485
20423
  variant: "outline",
20486
- onClick: () => _optionalChain([fileInputRef, 'access', _371 => _371.current, 'optionalAccess', _372 => _372.click, 'call', _373 => _373()]),
20424
+ onClick: () => _optionalChain([fileInputRef, 'access', _363 => _363.current, 'optionalAccess', _364 => _364.click, 'call', _365 => _365()]),
20487
20425
  disabled: isUploading,
20488
20426
  leftIcon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _lucidereact.Plus, { className: "h-4 w-4" }),
20489
20427
  className: "font-['DM_Sans'] text-[16px] font-bold",
@@ -21134,7 +21072,7 @@ function ReleaseMediaManager({
21134
21072
  const fileInputRef = _react.useRef.call(void 0, null);
21135
21073
  const [uploadingIndex, setUploadingIndex] = _react.useState.call(void 0, null);
21136
21074
  const handleFileSelect = async (event) => {
21137
- const file = _optionalChain([event, 'access', _374 => _374.target, 'access', _375 => _375.files, 'optionalAccess', _376 => _376[0]]);
21075
+ const file = _optionalChain([event, 'access', _366 => _366.target, 'access', _367 => _367.files, 'optionalAccess', _368 => _368[0]]);
21138
21076
  if (!file) return;
21139
21077
  let mediaType;
21140
21078
  if (file.type.startsWith("image/")) {
@@ -21214,7 +21152,7 @@ function ReleaseMediaManager({
21214
21152
  {
21215
21153
  type: "button",
21216
21154
  variant: "outline",
21217
- onClick: () => _optionalChain([fileInputRef, 'access', _377 => _377.current, 'optionalAccess', _378 => _378.click, 'call', _379 => _379()]),
21155
+ onClick: () => _optionalChain([fileInputRef, 'access', _369 => _369.current, 'optionalAccess', _370 => _370.click, 'call', _371 => _371()]),
21218
21156
  disabled: uploadingIndex !== null,
21219
21157
  leftIcon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _lucidereact.Plus, { className: "h-4 w-4" }),
21220
21158
  className: "font-['DM_Sans'] text-[16px] font-bold",
@@ -21427,7 +21365,7 @@ function SEOEditorPreview({
21427
21365
  const displayImage = hasOgImage || hasFeaturedImage;
21428
21366
  const handleImageUpload = async (event) => {
21429
21367
  if (!onOgImageUpload) return;
21430
- const file = _optionalChain([event, 'access', _380 => _380.target, 'access', _381 => _381.files, 'optionalAccess', _382 => _382[0]]);
21368
+ const file = _optionalChain([event, 'access', _372 => _372.target, 'access', _373 => _373.files, 'optionalAccess', _374 => _374[0]]);
21431
21369
  if (!file) return;
21432
21370
  setIsUploading(true);
21433
21371
  try {
@@ -21558,7 +21496,7 @@ function SEOEditorPreview({
21558
21496
  type: "button",
21559
21497
  variant: "outline",
21560
21498
  size: "icon",
21561
- onClick: () => _optionalChain([fileInputRef, 'optionalAccess', _383 => _383.click, 'call', _384 => _384()]),
21499
+ onClick: () => _optionalChain([fileInputRef, 'optionalAccess', _375 => _375.click, 'call', _376 => _376()]),
21562
21500
  disabled: disabled || isUploading,
21563
21501
  className: "bg-white text-black hover:bg-gray-100 rounded-full opacity-0 group-hover:opacity-100",
21564
21502
  children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _lucidereact.Upload, { className: "h-4 w-4" })
@@ -21581,7 +21519,7 @@ function SEOEditorPreview({
21581
21519
  "div",
21582
21520
  {
21583
21521
  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",
21584
- onClick: () => onOgImageUpload && _optionalChain([fileInputRef, 'optionalAccess', _385 => _385.click, 'call', _386 => _386()]),
21522
+ onClick: () => onOgImageUpload && _optionalChain([fileInputRef, 'optionalAccess', _377 => _377.click, 'call', _378 => _378()]),
21585
21523
  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: [
21586
21524
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _lucidereact.Upload, { className: "h-8 w-8 text-ods-text-secondary mb-2" }),
21587
21525
  /* @__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" })
@@ -21666,7 +21604,7 @@ function SocialLinksManager({
21666
21604
  className = ""
21667
21605
  }) {
21668
21606
  const addLink = () => {
21669
- const firstPlatform = _optionalChain([platforms, 'access', _387 => _387[0], 'optionalAccess', _388 => _388.name]) || "website";
21607
+ const firstPlatform = _optionalChain([platforms, 'access', _379 => _379[0], 'optionalAccess', _380 => _380.name]) || "website";
21670
21608
  onChange([...links, { platform: firstPlatform, url: "" }]);
21671
21609
  };
21672
21610
  const removeLink = (index) => {
@@ -21678,7 +21616,7 @@ function SocialLinksManager({
21678
21616
  onChange(updated);
21679
21617
  };
21680
21618
  const getIcon = (link, platform) => {
21681
- const iconKey = _optionalChain([platform, 'optionalAccess', _389 => _389.icon_name]) || link.platform;
21619
+ const iconKey = _optionalChain([platform, 'optionalAccess', _381 => _381.icon_name]) || link.platform;
21682
21620
  const IconComponent = iconMap[iconKey];
21683
21621
  return IconComponent ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, IconComponent, { className: "w-5 h-5 text-ods-text-secondary" }) : null;
21684
21622
  };
@@ -21703,7 +21641,7 @@ function SocialLinksManager({
21703
21641
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
21704
21642
  _chunkGRTZ23GLcjs.Input,
21705
21643
  {
21706
- placeholder: _optionalChain([platform, 'optionalAccess', _390 => _390.placeholder]) || "Profile URL",
21644
+ placeholder: _optionalChain([platform, 'optionalAccess', _382 => _382.placeholder]) || "Profile URL",
21707
21645
  value: link.url,
21708
21646
  onChange: (e) => updateLink(index, "url", e.target.value),
21709
21647
  onKeyDown: (e) => {
@@ -22055,7 +21993,7 @@ function useVideoOriginPreconnect({
22055
21993
  supabaseStorageOrigin
22056
21994
  } = {}) {
22057
21995
  const runtime = _chunkMEAR2WHScjs.useChatRuntime.call(void 0, );
22058
- const resolvedOrigin = _nullishCoalesce(supabaseStorageOrigin, () => ( _optionalChain([runtime, 'optionalAccess', _391 => _391.endpoints, 'access', _392 => _392.supabaseStorageOrigin])));
21996
+ const resolvedOrigin = _nullishCoalesce(supabaseStorageOrigin, () => ( _optionalChain([runtime, 'optionalAccess', _383 => _383.endpoints, 'access', _384 => _384.supabaseStorageOrigin])));
22059
21997
  try {
22060
21998
  ReactDOM2.default.preconnect(MUX_STREAM_ORIGIN, { crossOrigin: "anonymous" });
22061
21999
  ReactDOM2.default.preconnect(MUX_IMAGE_ORIGIN, { crossOrigin: "anonymous" });
@@ -22074,13 +22012,13 @@ function useVideoWarmup({
22074
22012
  nearMargin = "1000px"
22075
22013
  } = {}) {
22076
22014
  const runtime = _chunkMEAR2WHScjs.useChatRuntime.call(void 0, );
22077
- const resolvedOrigin = _nullishCoalesce(supabaseStorageOrigin, () => ( _optionalChain([runtime, 'optionalAccess', _393 => _393.endpoints, 'access', _394 => _394.supabaseStorageOrigin])));
22015
+ const resolvedOrigin = _nullishCoalesce(supabaseStorageOrigin, () => ( _optionalChain([runtime, 'optionalAccess', _385 => _385.endpoints, 'access', _386 => _386.supabaseStorageOrigin])));
22078
22016
  useVideoOriginPreconnect({ supabaseStorageOrigin: resolvedOrigin });
22079
22017
  const { ref, isNear } = _chunk27VVOBDBcjs.useNearViewport.call(void 0, nearMargin);
22080
22018
  _react.useEffect.call(void 0, () => {
22081
22019
  if (!isNear || !videoUrl || !resolvedOrigin) return;
22082
22020
  const conn = navigator.connection;
22083
- if (_optionalChain([conn, 'optionalAccess', _395 => _395.saveData]) === true) return;
22021
+ if (_optionalChain([conn, 'optionalAccess', _387 => _387.saveData]) === true) return;
22084
22022
  let videoOrigin;
22085
22023
  try {
22086
22024
  videoOrigin = new URL(videoUrl, "http://placeholder.local").origin;
@@ -22149,7 +22087,7 @@ function VideoSourceSelector({
22149
22087
  input.accept = "video/*";
22150
22088
  input.onchange = async (e) => {
22151
22089
  const target = e.target;
22152
- const file = _optionalChain([target, 'access', _396 => _396.files, 'optionalAccess', _397 => _397[0]]);
22090
+ const file = _optionalChain([target, 'access', _388 => _388.files, 'optionalAccess', _389 => _389[0]]);
22153
22091
  if (!file) return;
22154
22092
  setIsUploading(true);
22155
22093
  setUploadProgress(0);
@@ -22479,7 +22417,7 @@ function TranscriptSummaryEditor({
22479
22417
  {
22480
22418
  id: "subtitles",
22481
22419
  value: subtitles || "",
22482
- onChange: (e) => _optionalChain([onSubtitlesChange, 'optionalCall', _398 => _398(e.target.value)]),
22420
+ onChange: (e) => _optionalChain([onSubtitlesChange, 'optionalCall', _390 => _390(e.target.value)]),
22483
22421
  placeholder: subtitlesPlaceholder,
22484
22422
  disabled: disabled || !onSubtitlesChange,
22485
22423
  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",
@@ -22632,7 +22570,7 @@ var AIEnrichSection = ({
22632
22570
  }) => {
22633
22571
  const hasResults = status === "success" || status === "error";
22634
22572
  const shouldDisable = disabled || !canEnrich;
22635
- const unfilledFields = _optionalChain([requiredFields, 'optionalAccess', _399 => _399.filter, 'call', _400 => _400((f) => !f.isFilled)]) || [];
22573
+ const unfilledFields = _optionalChain([requiredFields, 'optionalAccess', _391 => _391.filter, 'call', _392 => _392((f) => !f.isFilled)]) || [];
22636
22574
  return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
22637
22575
  "div",
22638
22576
  {
@@ -22670,7 +22608,7 @@ var AIEnrichSection = ({
22670
22608
  {
22671
22609
  id: "ai-enrich-custom-instructions",
22672
22610
  value: _nullishCoalesce(customInstructions, () => ( "")),
22673
- onChange: (e) => _optionalChain([onCustomInstructionsChange, 'optionalCall', _401 => _401(e.target.value)]),
22611
+ onChange: (e) => _optionalChain([onCustomInstructionsChange, 'optionalCall', _393 => _393(e.target.value)]),
22674
22612
  placeholder: customInstructionsPlaceholder,
22675
22613
  disabled: loading,
22676
22614
  maxLength: customInstructionsMaxLength,
@@ -22799,7 +22737,7 @@ function HighlightVideoSection({
22799
22737
  input.accept = "video/*";
22800
22738
  input.onchange = async (e) => {
22801
22739
  const target = e.target;
22802
- const file = _optionalChain([target, 'access', _402 => _402.files, 'optionalAccess', _403 => _403[0]]);
22740
+ const file = _optionalChain([target, 'access', _394 => _394.files, 'optionalAccess', _395 => _395[0]]);
22803
22741
  if (!file) return;
22804
22742
  setUploadError(null);
22805
22743
  try {
@@ -23301,7 +23239,7 @@ function HighlightVideoPreview({
23301
23239
  input.accept = "video/*";
23302
23240
  input.onchange = async (e) => {
23303
23241
  const target = e.target;
23304
- const file = _optionalChain([target, 'access', _404 => _404.files, 'optionalAccess', _405 => _405[0]]);
23242
+ const file = _optionalChain([target, 'access', _396 => _396.files, 'optionalAccess', _397 => _397[0]]);
23305
23243
  if (!file) return;
23306
23244
  await onUpload(file);
23307
23245
  };
@@ -23488,7 +23426,7 @@ function HighlightVideoCombinedSection({
23488
23426
  input.accept = "video/*";
23489
23427
  input.onchange = async (e) => {
23490
23428
  const target = e.target;
23491
- const file = _optionalChain([target, 'access', _406 => _406.files, 'optionalAccess', _407 => _407[0]]);
23429
+ const file = _optionalChain([target, 'access', _398 => _398.files, 'optionalAccess', _399 => _399[0]]);
23492
23430
  if (!file) return;
23493
23431
  await onUpload(file);
23494
23432
  };
@@ -23785,7 +23723,7 @@ var getApprovalLevelLabel = (level, editMode = false) => {
23785
23723
  return editMode ? "Set Global Permission" : "";
23786
23724
  }
23787
23725
  const option = approvalLevelOptions.find((opt) => opt.value === level);
23788
- return _optionalChain([option, 'optionalAccess', _408 => _408.label]) || level;
23726
+ return _optionalChain([option, 'optionalAccess', _400 => _400.label]) || level;
23789
23727
  };
23790
23728
  var PolicyRow = ({ policy, categoryId, editMode, onPermissionChange }) => {
23791
23729
  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: [
@@ -23899,6 +23837,7 @@ var CategorySection = ({
23899
23837
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
23900
23838
  _chunkGRTZ23GLcjs.Button,
23901
23839
  {
23840
+ type: "button",
23902
23841
  variant: "transparent",
23903
23842
  onClick: (e) => {
23904
23843
  e.stopPropagation();
@@ -23998,12 +23937,12 @@ function PhoneInput({
23998
23937
  const runValidation = _react.useCallback.call(void 0, (phone) => {
23999
23938
  if (!phone || digitCount(phone) === 0) {
24000
23939
  setIsInvalid(false);
24001
- _optionalChain([onValidationChange, 'optionalCall', _409 => _409(false)]);
23940
+ _optionalChain([onValidationChange, 'optionalCall', _401 => _401(false)]);
24002
23941
  return;
24003
23942
  }
24004
23943
  const invalid = !validatePhoneNumber(phone, countryCode);
24005
23944
  setIsInvalid(invalid);
24006
- _optionalChain([onValidationChange, 'optionalCall', _410 => _410(invalid)]);
23945
+ _optionalChain([onValidationChange, 'optionalCall', _402 => _402(invalid)]);
24007
23946
  }, [countryCode, digitCount, onValidationChange]);
24008
23947
  const debouncedValidation = _react.useCallback.call(void 0, (phone) => {
24009
23948
  if (debounceRef.current) clearTimeout(debounceRef.current);
@@ -24052,7 +23991,7 @@ function PhoneInput({
24052
23991
  debouncedValidation(val);
24053
23992
  } else if (digitCount(val) === 0) {
24054
23993
  setIsInvalid(false);
24055
- _optionalChain([onValidationChange, 'optionalCall', _411 => _411(false)]);
23994
+ _optionalChain([onValidationChange, 'optionalCall', _403 => _403(false)]);
24056
23995
  }
24057
23996
  }
24058
23997
  },
@@ -24388,19 +24327,19 @@ function NotificationsProvider({
24388
24327
  }, []);
24389
24328
  const markRead = React81.useCallback((id) => {
24390
24329
  dispatch({ type: "markRead", id });
24391
- void _optionalChain([actionsRef, 'access', _412 => _412.current, 'optionalAccess', _413 => _413.onMarkRead, 'optionalCall', _414 => _414(id)]);
24330
+ void _optionalChain([actionsRef, 'access', _404 => _404.current, 'optionalAccess', _405 => _405.onMarkRead, 'optionalCall', _406 => _406(id)]);
24392
24331
  }, []);
24393
24332
  const markAllRead = React81.useCallback(() => {
24394
24333
  dispatch({ type: "markAllRead" });
24395
- void _optionalChain([actionsRef, 'access', _415 => _415.current, 'optionalAccess', _416 => _416.onMarkAllRead, 'optionalCall', _417 => _417()]);
24334
+ void _optionalChain([actionsRef, 'access', _407 => _407.current, 'optionalAccess', _408 => _408.onMarkAllRead, 'optionalCall', _409 => _409()]);
24396
24335
  }, []);
24397
24336
  const markSettled = React81.useCallback((id) => {
24398
24337
  dispatch({ type: "markSettled", id });
24399
- void _optionalChain([actionsRef, 'access', _418 => _418.current, 'optionalAccess', _419 => _419.onMarkSettled, 'optionalCall', _420 => _420(id)]);
24338
+ void _optionalChain([actionsRef, 'access', _410 => _410.current, 'optionalAccess', _411 => _411.onMarkSettled, 'optionalCall', _412 => _412(id)]);
24400
24339
  }, []);
24401
24340
  const remove = React81.useCallback((id) => {
24402
24341
  dispatch({ type: "remove", id });
24403
- void _optionalChain([actionsRef, 'access', _421 => _421.current, 'optionalAccess', _422 => _422.onRemove, 'optionalCall', _423 => _423(id)]);
24342
+ void _optionalChain([actionsRef, 'access', _413 => _413.current, 'optionalAccess', _414 => _414.onRemove, 'optionalCall', _415 => _415(id)]);
24404
24343
  }, []);
24405
24344
  const clear = React81.useCallback(() => dispatch({ type: "clear" }), []);
24406
24345
  const open = React81.useCallback(() => setIsOpen(true), []);
@@ -24409,7 +24348,7 @@ function NotificationsProvider({
24409
24348
  const setShowPopups = React81.useCallback(
24410
24349
  (value2) => {
24411
24350
  setShowPopupsState(value2);
24412
- _optionalChain([onShowPopupsChange, 'optionalCall', _424 => _424(value2)]);
24351
+ _optionalChain([onShowPopupsChange, 'optionalCall', _416 => _416(value2)]);
24413
24352
  },
24414
24353
  [onShowPopupsChange]
24415
24354
  );
@@ -24506,7 +24445,7 @@ function NotificationTile({
24506
24445
  if (!counting) return;
24507
24446
  const remaining = Math.max(0, liveDurationMs - initialElapsed);
24508
24447
  const timer = window.setTimeout(() => {
24509
- _optionalChain([onSettle, 'optionalCall', _425 => _425(id)]);
24448
+ _optionalChain([onSettle, 'optionalCall', _417 => _417(id)]);
24510
24449
  }, remaining);
24511
24450
  return () => window.clearTimeout(timer);
24512
24451
  }, [id, counting, initialElapsed, liveDurationMs, onSettle]);
@@ -24568,7 +24507,7 @@ function NotificationTile({
24568
24507
  "button",
24569
24508
  {
24570
24509
  type: "button",
24571
- onClick: () => _optionalChain([onSettle, 'optionalCall', _426 => _426(id)]),
24510
+ onClick: () => _optionalChain([onSettle, 'optionalCall', _418 => _418(id)]),
24572
24511
  "aria-label": "Dismiss notification",
24573
24512
  tabIndex: isLive ? 0 : -1,
24574
24513
  className: _chunkFIG2RKZFcjs.cn.call(void 0,
@@ -24687,7 +24626,7 @@ function DrawerScrollList({
24687
24626
  if (!sentinel || !root) return;
24688
24627
  const observer = new IntersectionObserver(
24689
24628
  (entries) => {
24690
- if (_optionalChain([entries, 'access', _427 => _427[0], 'optionalAccess', _428 => _428.isIntersecting])) _optionalChain([loadMoreRef, 'access', _429 => _429.current, 'optionalCall', _430 => _430()]);
24629
+ if (_optionalChain([entries, 'access', _419 => _419[0], 'optionalAccess', _420 => _420.isIntersecting])) _optionalChain([loadMoreRef, 'access', _421 => _421.current, 'optionalCall', _422 => _422()]);
24691
24630
  },
24692
24631
  { root, rootMargin: loadMoreRootMargin }
24693
24632
  );
@@ -24702,7 +24641,7 @@ function DrawerScrollList({
24702
24641
  className: "flex flex-1 flex-col gap-[var(--spacing-system-xs)] overflow-y-auto px-[var(--spacing-system-m)]",
24703
24642
  children: isEmpty && !isLoadingMore ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, EmptyState, {}) : /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _jsxruntime.Fragment, { children: [
24704
24643
  unreadNotifications.map((n) => {
24705
- const custom = _optionalChain([renderTile, 'optionalCall', _431 => _431(n, { onComplete, onSettle, liveDurationMs })]);
24644
+ const custom = _optionalChain([renderTile, 'optionalCall', _423 => _423(n, { onComplete, onSettle, liveDurationMs })]);
24706
24645
  if (custom) return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { children: custom }, n.id);
24707
24646
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
24708
24647
  NotificationTile,
@@ -24831,7 +24770,7 @@ function NotificationPopups({
24831
24770
  className
24832
24771
  ),
24833
24772
  children: live.map((n) => {
24834
- const custom = _optionalChain([renderTile, 'optionalCall', _432 => _432(n, { onComplete: markRead, onSettle: markSettled, liveDurationMs })]);
24773
+ const custom = _optionalChain([renderTile, 'optionalCall', _424 => _424(n, { onComplete: markRead, onSettle: markSettled, liveDurationMs })]);
24835
24774
  if (custom) {
24836
24775
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "pointer-events-auto", children: custom }, n.id);
24837
24776
  }
@@ -24870,19 +24809,19 @@ _chunkFIG2RKZFcjs.init_cn.call(void 0, );
24870
24809
  // src/components/features/notifications/types.ts
24871
24810
  var ADMIN_APPROVAL_REQUEST_CONTEXT_TYPE = "ADMIN_APPROVAL_REQUEST";
24872
24811
  function isApprovalNotification(notification) {
24873
- return _optionalChain([notification, 'access', _433 => _433.meta, 'optionalAccess', _434 => _434.contextType]) === ADMIN_APPROVAL_REQUEST_CONTEXT_TYPE;
24812
+ return _optionalChain([notification, 'access', _425 => _425.meta, 'optionalAccess', _426 => _426.contextType]) === ADMIN_APPROVAL_REQUEST_CONTEXT_TYPE;
24874
24813
  }
24875
24814
  function getApprovalMeta(notification) {
24876
24815
  if (!isApprovalNotification(notification)) return null;
24877
24816
  const meta = notification.meta;
24878
- const approvalRequestId = _optionalChain([meta, 'optionalAccess', _435 => _435.approvalRequestId]);
24879
- const toolCalls = _optionalChain([meta, 'optionalAccess', _436 => _436.toolCalls]);
24817
+ const approvalRequestId = _optionalChain([meta, 'optionalAccess', _427 => _427.approvalRequestId]);
24818
+ const toolCalls = _optionalChain([meta, 'optionalAccess', _428 => _428.toolCalls]);
24880
24819
  if (typeof approvalRequestId !== "string" || !Array.isArray(toolCalls)) return null;
24881
24820
  return {
24882
24821
  approvalRequestId,
24883
- dialogId: _nullishCoalesce(_optionalChain([meta, 'optionalAccess', _437 => _437.dialogId]), () => ( null)),
24884
- ticketId: _nullishCoalesce(_optionalChain([meta, 'optionalAccess', _438 => _438.ticketId]), () => ( null)),
24885
- approvalType: _nullishCoalesce(_optionalChain([meta, 'optionalAccess', _439 => _439.approvalType]), () => ( null)),
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
24825
  toolCalls
24887
24826
  };
24888
24827
  }
@@ -25143,15 +25082,15 @@ function TicketCard({
25143
25082
  transform: _utilities.CSS.Transform.toString(sortable.transform),
25144
25083
  transition: sortable.transition
25145
25084
  };
25146
- const showDeviceRow = !!(_optionalChain([ticket, 'access', _440 => _440.deviceHostnames, 'optionalAccess', _441 => _441.length]) || ticket.organizationName);
25085
+ const showDeviceRow = !!(_optionalChain([ticket, 'access', _432 => _432.deviceHostnames, 'optionalAccess', _433 => _433.length]) || ticket.organizationName);
25147
25086
  const deviceText = [
25148
- _optionalChain([ticket, 'access', _442 => _442.deviceHostnames, 'optionalAccess', _443 => _443.join, 'call', _444 => _444(", ")]),
25087
+ _optionalChain([ticket, 'access', _434 => _434.deviceHostnames, 'optionalAccess', _435 => _435.join, 'call', _436 => _436(", ")]),
25149
25088
  ticket.organizationName
25150
25089
  ].filter(Boolean).join(", ");
25151
25090
  const handleClick = (e) => {
25152
25091
  if (sortable.isDragging) e.preventDefault();
25153
25092
  };
25154
- const hasRightSection = !!(ticket.priority || _optionalChain([ticket, 'access', _445 => _445.assignees, 'optionalAccess', _446 => _446.length]) || renderAssignSlot);
25093
+ const hasRightSection = !!(ticket.priority || _optionalChain([ticket, 'access', _437 => _437.assignees, 'optionalAccess', _438 => _438.length]) || renderAssignSlot);
25155
25094
  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: [
25156
25095
  ticket.priority && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
25157
25096
  _chunkC6ASEPZLcjs.Flag02Icon,
@@ -25160,7 +25099,7 @@ function TicketCard({
25160
25099
  "aria-label": `Priority: ${ticket.priority}`
25161
25100
  }
25162
25101
  ),
25163
- 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: [
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: [
25164
25103
  ticket.assignees.slice(0, MAX_VISIBLE_ASSIGNEES).map((a) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
25165
25104
  SquareAvatar,
25166
25105
  {
@@ -25189,7 +25128,7 @@ function TicketCard({
25189
25128
  ] }),
25190
25129
  rightSection
25191
25130
  ] }),
25192
- _optionalChain([ticket, 'access', _449 => _449.tags, 'optionalAccess', _450 => _450.length]) ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, TicketTagRow, { tags: ticket.tags }) : null
25131
+ _optionalChain([ticket, 'access', _441 => _441.tags, 'optionalAccess', _442 => _442.length]) ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, TicketTagRow, { tags: ticket.tags }) : null
25193
25132
  ] });
25194
25133
  const cardClasses = _chunkFIG2RKZFcjs.cn.call(void 0,
25195
25134
  "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",
@@ -25364,7 +25303,7 @@ function ColumnBody({ column, getTicketHref, renderAssignSlot, onLoadMore, loadM
25364
25303
  const observer = new IntersectionObserver(
25365
25304
  (entries) => {
25366
25305
  if (entries.some((e) => e.isIntersecting)) {
25367
- _optionalChain([loadMoreRef, 'access', _451 => _451.current, 'optionalCall', _452 => _452(columnIdRef.current)]);
25306
+ _optionalChain([loadMoreRef, 'access', _443 => _443.current, 'optionalCall', _444 => _444(columnIdRef.current)]);
25368
25307
  }
25369
25308
  },
25370
25309
  { root, rootMargin: loadMoreRootMargin }
@@ -25393,7 +25332,7 @@ function ColumnBody({ column, getTicketHref, renderAssignSlot, onLoadMore, loadM
25393
25332
  {
25394
25333
  ticket: t,
25395
25334
  columnId: column.id,
25396
- href: _optionalChain([getTicketHref, 'optionalCall', _453 => _453(t.id)]),
25335
+ href: _optionalChain([getTicketHref, 'optionalCall', _445 => _445(t.id)]),
25397
25336
  renderAssignSlot,
25398
25337
  dragDisabled: column.dragDisabled
25399
25338
  },
@@ -25489,17 +25428,17 @@ function Board({
25489
25428
  const pointer = _core.pointerWithin.call(void 0, args);
25490
25429
  const intersections = pointer.length > 0 ? pointer : _core.rectIntersection.call(void 0, args);
25491
25430
  const ticketHit = intersections.find(
25492
- (c) => _optionalChain([c, 'access', _454 => _454.data, 'optionalAccess', _455 => _455.droppableContainer, 'optionalAccess', _456 => _456.data, 'optionalAccess', _457 => _457.current, 'optionalAccess', _458 => _458.type]) === "ticket"
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"
25493
25432
  );
25494
25433
  if (ticketHit) return [ticketHit];
25495
25434
  const columnHit = intersections.find(
25496
- (c) => _optionalChain([c, 'access', _459 => _459.data, 'optionalAccess', _460 => _460.droppableContainer, 'optionalAccess', _461 => _461.data, 'optionalAccess', _462 => _462.current, 'optionalAccess', _463 => _463.type]) === "column"
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"
25497
25436
  );
25498
25437
  if (columnHit) {
25499
- const columnId = _optionalChain([columnHit, 'access', _464 => _464.data, 'optionalAccess', _465 => _465.droppableContainer, 'optionalAccess', _466 => _466.data, 'optionalAccess', _467 => _467.current, 'optionalAccess', _468 => _468.columnId]);
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]);
25500
25439
  const ticketsInColumn = args.droppableContainers.filter((c) => {
25501
25440
  const d = c.data.current;
25502
- return _optionalChain([d, 'optionalAccess', _469 => _469.type]) === "ticket" && d.columnId === columnId;
25441
+ return _optionalChain([d, 'optionalAccess', _461 => _461.type]) === "ticket" && d.columnId === columnId;
25503
25442
  });
25504
25443
  if (ticketsInColumn.length > 0) {
25505
25444
  const closest = _core.closestCorners.call(void 0, { ...args, droppableContainers: ticketsInColumn });
@@ -25524,20 +25463,20 @@ function Board({
25524
25463
  const overId = String(over.id);
25525
25464
  if (activeId === overId) return;
25526
25465
  const overData = over.data.current;
25527
- const fromColumnId = _optionalChain([locate, 'call', _470 => _470(items, activeId), 'optionalAccess', _471 => _471.columnId]);
25528
- const toColumnId = _optionalChain([overData, 'optionalAccess', _472 => _472.columnId]);
25466
+ const fromColumnId = _optionalChain([locate, 'call', _462 => _462(items, activeId), 'optionalAccess', _463 => _463.columnId]);
25467
+ const toColumnId = _optionalChain([overData, 'optionalAccess', _464 => _464.columnId]);
25529
25468
  if (!fromColumnId || !toColumnId || fromColumnId === toColumnId) return;
25530
25469
  const origin = dragOriginRef.current;
25531
- const isReturnToOrigin = _optionalChain([origin, 'optionalAccess', _473 => _473.fromColumnId]) === toColumnId;
25470
+ const isReturnToOrigin = _optionalChain([origin, 'optionalAccess', _465 => _465.fromColumnId]) === toColumnId;
25532
25471
  const targetCol = items.find((c) => c.id === toColumnId);
25533
- const blockedBySource = !isReturnToOrigin && !!_optionalChain([targetCol, 'optionalAccess', _474 => _474.allowedFromColumns]) && !!origin && !targetCol.allowedFromColumns.includes(origin.fromColumnId);
25534
- if (_optionalChain([targetCol, 'optionalAccess', _475 => _475.dropDisabled]) && !isReturnToOrigin || blockedBySource) return;
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;
25535
25474
  setItems((prev) => {
25536
25475
  const fromIndex = findIndexInColumn(prev, fromColumnId, activeId);
25537
25476
  const toCol = prev.find((c) => c.id === toColumnId);
25538
25477
  if (fromIndex < 0 || !toCol) return prev;
25539
25478
  let toIndex;
25540
- if (_optionalChain([overData, 'optionalAccess', _476 => _476.type]) === "column") {
25479
+ if (_optionalChain([overData, 'optionalAccess', _468 => _468.type]) === "column") {
25541
25480
  toIndex = toCol.tickets.length;
25542
25481
  } else {
25543
25482
  const overIndex = toCol.tickets.findIndex((t) => t.id === overId);
@@ -25579,14 +25518,14 @@ function Board({
25579
25518
  const toColumnId = located.columnId;
25580
25519
  const isCrossColumn = origin.fromColumnId !== toColumnId;
25581
25520
  const targetCol = items.find((c) => c.id === toColumnId);
25582
- if (isCrossColumn && (_optionalChain([targetCol, 'optionalAccess', _477 => _477.dropDisabled]) || _optionalChain([targetCol, 'optionalAccess', _478 => _478.allowedFromColumns]) && !targetCol.allowedFromColumns.includes(origin.fromColumnId))) {
25521
+ if (isCrossColumn && (_optionalChain([targetCol, 'optionalAccess', _469 => _469.dropDisabled]) || _optionalChain([targetCol, 'optionalAccess', _470 => _470.allowedFromColumns]) && !targetCol.allowedFromColumns.includes(origin.fromColumnId))) {
25583
25522
  setItems(columns);
25584
25523
  return;
25585
25524
  }
25586
25525
  let finalIndex = located.index;
25587
- let finalColumnTickets = _nullishCoalesce(_optionalChain([items, 'access', _479 => _479.find, 'call', _480 => _480((c) => c.id === toColumnId), 'optionalAccess', _481 => _481.tickets]), () => ( []));
25526
+ let finalColumnTickets = _nullishCoalesce(_optionalChain([items, 'access', _471 => _471.find, 'call', _472 => _472((c) => c.id === toColumnId), 'optionalAccess', _473 => _473.tickets]), () => ( []));
25588
25527
  const overData = over.data.current;
25589
- if (_optionalChain([overData, 'optionalAccess', _482 => _482.type]) === "ticket") {
25528
+ if (_optionalChain([overData, 'optionalAccess', _474 => _474.type]) === "ticket") {
25590
25529
  const overIndex = findIndexInColumn(items, toColumnId, String(over.id));
25591
25530
  if (overIndex >= 0 && overIndex !== located.index) {
25592
25531
  finalColumnTickets = _sortable.arrayMove.call(void 0, finalColumnTickets, located.index, overIndex);
@@ -25606,8 +25545,8 @@ function Board({
25606
25545
  ticketId: origin.ticketId,
25607
25546
  fromColumnId: origin.fromColumnId,
25608
25547
  toColumnId,
25609
- afterTicketId: _nullishCoalesce(_optionalChain([finalColumnTickets, 'access', _483 => _483[finalIndex - 1], 'optionalAccess', _484 => _484.id]), () => ( null)),
25610
- beforeTicketId: _nullishCoalesce(_optionalChain([finalColumnTickets, 'access', _485 => _485[finalIndex + 1], 'optionalAccess', _486 => _486.id]), () => ( null))
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))
25611
25550
  });
25612
25551
  };
25613
25552
  const handleDragCancel = () => {
@@ -25636,8 +25575,8 @@ function Board({
25636
25575
  children: items.map((column, i) => {
25637
25576
  const prev = items[i - 1];
25638
25577
  const next = items[i + 1];
25639
- const joinLeft = !!(column.system && _optionalChain([prev, 'optionalAccess', _487 => _487.system]));
25640
- const joinRight = !!(column.system && _optionalChain([next, 'optionalAccess', _488 => _488.system]));
25578
+ const joinLeft = !!(column.system && _optionalChain([prev, 'optionalAccess', _479 => _479.system]));
25579
+ const joinRight = !!(column.system && _optionalChain([next, 'optionalAccess', _480 => _480.system]));
25641
25580
  const showGap = i > 0 && !joinLeft;
25642
25581
  return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, React85.Fragment, { children: [
25643
25582
  showGap && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { "aria-hidden": true, className: "w-[var(--spacing-system-mf)] shrink-0" }),
@@ -25696,7 +25635,7 @@ function locate(cols, ticketId) {
25696
25635
  return null;
25697
25636
  }
25698
25637
  function findIndexInColumn(cols, columnId, ticketId) {
25699
- 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));
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));
25700
25639
  }
25701
25640
 
25702
25641
  // src/components/features/board/types.ts
@@ -25944,7 +25883,7 @@ function Header2({ config, platform }) {
25944
25883
  className: _chunkFIG2RKZFcjs.cn.call(void 0,
25945
25884
  "flex justify-start w-full",
25946
25885
  "font-bold text-[16px] leading-none tracking-[-0.32px]",
25947
- index < (_nullishCoalesce(_optionalChain([item, 'access', _494 => _494.children, 'optionalAccess', _495 => _495.length]), () => ( 0))) - 1 && "mb-1",
25886
+ index < (_nullishCoalesce(_optionalChain([item, 'access', _486 => _486.children, 'optionalAccess', _487 => _487.length]), () => ( 0))) - 1 && "mb-1",
25948
25887
  "text-ods-text-primary",
25949
25888
  // All dropdown items use primary text color
25950
25889
  child.isActive && "bg-ods-bg-hover"
@@ -26036,7 +25975,7 @@ function Header2({ config, platform }) {
26036
25975
  style: config.style,
26037
25976
  children: [
26038
25977
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex items-center justify-start flex-shrink-0", children: [
26039
- _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 }),
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 }),
26040
25979
  /* @__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 })
26041
25980
  ] }),
26042
25981
  config.navigation && config.navigation.items.length > 0 && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
@@ -26053,7 +25992,7 @@ function Header2({ config, platform }) {
26053
25992
  }
26054
25993
  ),
26055
25994
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex items-center justify-end gap-4 flex-shrink-0", children: [
26056
- _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 }),
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 }),
26057
25996
  config.mobile && config.mobile.enabled && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
26058
25997
  _chunkGRTZ23GLcjs.Button,
26059
25998
  {
@@ -26061,10 +26000,10 @@ function Header2({ config, platform }) {
26061
26000
  size: "icon",
26062
26001
  className: "flex md:hidden",
26063
26002
  onClick: () => {
26064
- _optionalChain([config, 'access', _500 => _500.mobile, 'optionalAccess', _501 => _501.onToggle, 'optionalCall', _502 => _502()]);
26003
+ _optionalChain([config, 'access', _492 => _492.mobile, 'optionalAccess', _493 => _493.onToggle, 'optionalCall', _494 => _494()]);
26065
26004
  },
26066
- "aria-label": _optionalChain([config, 'access', _503 => _503.mobile, 'optionalAccess', _504 => _504.isOpen]) ? "Close menu" : "Open menu",
26067
- leftIcon: _optionalChain([config, 'access', _505 => _505.mobile, 'optionalAccess', _506 => _506.menuIcon]) || /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkC6ASEPZLcjs.Menu01Icon, {})
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, {})
26068
26007
  }
26069
26008
  )
26070
26009
  ] })
@@ -26081,10 +26020,10 @@ function Header2({ config, platform }) {
26081
26020
  // src/components/navigation/header-skeleton.tsx
26082
26021
 
26083
26022
  function HeaderSkeleton({ config }) {
26084
- const showNavigation = _optionalChain([config, 'optionalAccess', _507 => _507.navigation]) && config.navigation.items.length > 0;
26085
- const showActions = _optionalChain([config, 'optionalAccess', _508 => _508.actions, 'optionalAccess', _509 => _509.right]) && config.actions.right.length > 0;
26086
- const showMobileMenu = _optionalChain([config, 'optionalAccess', _510 => _510.mobile, 'optionalAccess', _511 => _511.enabled]);
26087
- const isAdminHeader = _optionalChain([config, 'optionalAccess', _512 => _512.className, 'optionalAccess', _513 => _513.includes, 'call', _514 => _514("admin")]);
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")]);
26088
26027
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "sticky top-0 z-40 w-full", children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
26089
26028
  "header",
26090
26029
  {
@@ -26093,11 +26032,11 @@ function HeaderSkeleton({ config }) {
26093
26032
  "bg-ods-card border-b border-ods-border backdrop-blur-sm",
26094
26033
  "px-6 py-3",
26095
26034
  "transition-opacity duration-300 ease-in-out",
26096
- _optionalChain([config, 'optionalAccess', _515 => _515.className])
26035
+ _optionalChain([config, 'optionalAccess', _507 => _507.className])
26097
26036
  ),
26098
26037
  children: [
26099
26038
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex items-center justify-start flex-shrink-0", children: [
26100
- 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" }) }),
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" }) }),
26101
26040
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex items-center gap-2", children: [
26102
26041
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "h-8 w-8 bg-ods-border rounded animate-pulse" }),
26103
26042
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "h-6 w-24 bg-ods-border rounded animate-pulse" })
@@ -26105,8 +26044,8 @@ function HeaderSkeleton({ config }) {
26105
26044
  ] }),
26106
26045
  showNavigation && /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "nav", { className: _chunkFIG2RKZFcjs.cn.call(void 0,
26107
26046
  "hidden md:flex items-center gap-2",
26108
- _optionalChain([config, 'optionalAccess', _518 => _518.navigation, 'optionalAccess', _519 => _519.position]) === "center" && "absolute left-1/2 transform -translate-x-1/2",
26109
- _optionalChain([config, 'optionalAccess', _520 => _520.navigation, 'optionalAccess', _521 => _521.position]) === "right" && "ml-auto mr-4"
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"
26110
26049
  ), children: [
26111
26050
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "h-10 w-20 bg-ods-border rounded animate-pulse" }),
26112
26051
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "h-10 w-28 bg-ods-border rounded animate-pulse" }),
@@ -26154,7 +26093,7 @@ function MobileNavPanel({ isOpen, config }) {
26154
26093
  _react.useEffect.call(void 0, () => {
26155
26094
  const handleKeyDown = (e) => {
26156
26095
  if (e.key === "Escape" && isOpen) {
26157
- _optionalChain([config, 'access', _522 => _522.onClose, 'optionalCall', _523 => _523()]);
26096
+ _optionalChain([config, 'access', _514 => _514.onClose, 'optionalCall', _515 => _515()]);
26158
26097
  }
26159
26098
  };
26160
26099
  if (isOpen) {
@@ -26171,7 +26110,7 @@ function MobileNavPanel({ isOpen, config }) {
26171
26110
  if (item.onClick) {
26172
26111
  item.onClick();
26173
26112
  }
26174
- _optionalChain([config, 'access', _524 => _524.onClose, 'optionalCall', _525 => _525()]);
26113
+ _optionalChain([config, 'access', _516 => _516.onClose, 'optionalCall', _517 => _517()]);
26175
26114
  };
26176
26115
  if (item.href) {
26177
26116
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
@@ -26389,7 +26328,7 @@ function SlidingSidebar({ config }) {
26389
26328
  variant: "transparent",
26390
26329
  size: "default",
26391
26330
  onClick: () => {
26392
- _optionalChain([item, 'access', _526 => _526.onClick, 'optionalCall', _527 => _527()]);
26331
+ _optionalChain([item, 'access', _518 => _518.onClick, 'optionalCall', _519 => _519()]);
26393
26332
  config.onClose();
26394
26333
  },
26395
26334
  leftIcon: item.icon,
@@ -26412,7 +26351,7 @@ function SlidingSidebar({ config }) {
26412
26351
  variant: "transparent",
26413
26352
  size: "default",
26414
26353
  onClick: () => {
26415
- _optionalChain([item, 'access', _528 => _528.onClick, 'optionalCall', _529 => _529()]);
26354
+ _optionalChain([item, 'access', _520 => _520.onClick, 'optionalCall', _521 => _521()]);
26416
26355
  config.onClose();
26417
26356
  },
26418
26357
  leftIcon: item.icon,
@@ -26539,7 +26478,7 @@ function StickySectionNav({
26539
26478
  ] });
26540
26479
  }
26541
26480
  function useSectionNavigation(sections, options) {
26542
- const [activeSection, setActiveSection] = _react.useState.call(void 0, _optionalChain([sections, 'access', _530 => _530[0], 'optionalAccess', _531 => _531.id]) || "");
26481
+ const [activeSection, setActiveSection] = _react.useState.call(void 0, _optionalChain([sections, 'access', _522 => _522[0], 'optionalAccess', _523 => _523.id]) || "");
26543
26482
  const isScrollingFromClick = _react.useRef.call(void 0, false);
26544
26483
  const { offset: offset2 = 100 } = options || {};
26545
26484
  const handleSectionClick = _react.useCallback.call(void 0, (sectionId) => {
@@ -26563,7 +26502,7 @@ function useSectionNavigation(sections, options) {
26563
26502
  const handleScroll = () => {
26564
26503
  if (isScrollingFromClick.current) return;
26565
26504
  const scrollPosition = window.scrollY + offset2 + 50;
26566
- let currentSection = _optionalChain([sections, 'access', _532 => _532[0], 'optionalAccess', _533 => _533.id]) || "";
26505
+ let currentSection = _optionalChain([sections, 'access', _524 => _524[0], 'optionalAccess', _525 => _525.id]) || "";
26567
26506
  for (let i = sections.length - 1; i >= 0; i--) {
26568
26507
  const element = document.getElementById(sections[i].id);
26569
26508
  if (element && scrollPosition >= element.offsetTop) {
@@ -26758,7 +26697,7 @@ function NavigationSidebar({ config, disabled = false }) {
26758
26697
  } else {
26759
26698
  setDesktopMinimized((prev) => !prev);
26760
26699
  }
26761
- _optionalChain([config, 'access', _534 => _534.onToggleMinimized, 'optionalCall', _535 => _535()]);
26700
+ _optionalChain([config, 'access', _526 => _526.onToggleMinimized, 'optionalCall', _527 => _527()]);
26762
26701
  }, [isTablet, setDesktopMinimized, config]);
26763
26702
  const closeOverlay = _react.useCallback.call(void 0, () => {
26764
26703
  setTabletMinimized(true);
@@ -26772,11 +26711,11 @@ function NavigationSidebar({ config, disabled = false }) {
26772
26711
  return () => document.removeEventListener("keydown", handleKeyDown);
26773
26712
  }, [isOverlayOpen, closeOverlay]);
26774
26713
  const handleItemClick = _react.useCallback.call(void 0, (item, event) => {
26775
- _optionalChain([event, 'optionalAccess', _536 => _536.stopPropagation, 'call', _537 => _537()]);
26714
+ _optionalChain([event, 'optionalAccess', _528 => _528.stopPropagation, 'call', _529 => _529()]);
26776
26715
  if (item.onClick) {
26777
26716
  item.onClick();
26778
26717
  } else if (item.path) {
26779
- _optionalChain([config, 'access', _538 => _538.onNavigate, 'optionalCall', _539 => _539(item.path)]);
26718
+ _optionalChain([config, 'access', _530 => _530.onNavigate, 'optionalCall', _531 => _531(item.path)]);
26780
26719
  }
26781
26720
  if (isTablet) setTabletMinimized(true);
26782
26721
  }, [config, isTablet]);
@@ -26921,11 +26860,11 @@ function HeaderGlobalSearch({
26921
26860
  };
26922
26861
  const handleSubmit = (e) => {
26923
26862
  e.preventDefault();
26924
- _optionalChain([onSubmit, 'optionalCall', _540 => _540(currentValue)]);
26863
+ _optionalChain([onSubmit, 'optionalCall', _532 => _532(currentValue)]);
26925
26864
  };
26926
26865
  const handleKeyDown = (e) => {
26927
26866
  if (e.key === "Enter") {
26928
- _optionalChain([onSubmit, 'optionalCall', _541 => _541(currentValue)]);
26867
+ _optionalChain([onSubmit, 'optionalCall', _533 => _533(currentValue)]);
26929
26868
  }
26930
26869
  };
26931
26870
  return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
@@ -27019,8 +26958,8 @@ function HeaderOrganizationFilter({
27019
26958
  className
27020
26959
  }) {
27021
26960
  const selectedOrg = organizations.find((o) => o.id === selectedOrgId);
27022
- const displayName = _optionalChain([selectedOrg, 'optionalAccess', _542 => _542.name]) || "All Organizations";
27023
- const deviceCount = _nullishCoalesce(_optionalChain([selectedOrg, 'optionalAccess', _543 => _543.deviceCount]), () => ( totalDeviceCount));
26961
+ const displayName = _optionalChain([selectedOrg, 'optionalAccess', _534 => _534.name]) || "All Organizations";
26962
+ const deviceCount = _nullishCoalesce(_optionalChain([selectedOrg, 'optionalAccess', _535 => _535.deviceCount]), () => ( totalDeviceCount));
27024
26963
  return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkGRTZ23GLcjs.DropdownMenu, { children: [
27025
26964
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkGRTZ23GLcjs.DropdownMenuTrigger, { asChild: true, children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
27026
26965
  "button",
@@ -27045,11 +26984,11 @@ function HeaderOrganizationFilter({
27045
26984
  }
27046
26985
  ) }),
27047
26986
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkGRTZ23GLcjs.DropdownMenuContent, { align: "end", className: "min-w-[240px]", children: [
27048
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkGRTZ23GLcjs.DropdownMenuItem, { onClick: () => _optionalChain([onOrgChange, 'optionalCall', _544 => _544("")]), children: "All Organizations" }),
26987
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkGRTZ23GLcjs.DropdownMenuItem, { onClick: () => _optionalChain([onOrgChange, 'optionalCall', _536 => _536("")]), children: "All Organizations" }),
27049
26988
  organizations.map((org) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
27050
26989
  _chunkGRTZ23GLcjs.DropdownMenuItem,
27051
26990
  {
27052
- onClick: () => _optionalChain([onOrgChange, 'optionalCall', _545 => _545(org.id)]),
26991
+ onClick: () => _optionalChain([onOrgChange, 'optionalCall', _537 => _537(org.id)]),
27053
26992
  children: org.name
27054
26993
  },
27055
26994
  org.id
@@ -27234,9 +27173,9 @@ function NotificationsHeaderButton({
27234
27173
  dimmedClass
27235
27174
  }) {
27236
27175
  const ctx = useOptionalNotifications();
27237
- const hasUnread = (_nullishCoalesce(_optionalChain([ctx, 'optionalAccess', _546 => _546.unreadCount]), () => ( fallbackUnreadCount))) > 0;
27238
- const isActive = _nullishCoalesce(_optionalChain([ctx, 'optionalAccess', _547 => _547.isOpen]), () => ( false));
27239
- const onClick = _optionalChain([ctx, 'optionalAccess', _548 => _548.toggle]);
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
27179
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
27241
27180
  HeaderButton,
27242
27181
  {
@@ -27300,7 +27239,7 @@ var MobileBurgerMenu = React101.default.memo(function MobileBurgerMenu2({
27300
27239
  if (item.onClick) {
27301
27240
  item.onClick();
27302
27241
  } else if (item.path) {
27303
- _optionalChain([config, 'access', _549 => _549.onNavigate, 'optionalCall', _550 => _550(item.path)]);
27242
+ _optionalChain([config, 'access', _541 => _541.onNavigate, 'optionalCall', _542 => _542(item.path)]);
27304
27243
  }
27305
27244
  onClose();
27306
27245
  }, [config, onClose]);
@@ -27543,7 +27482,7 @@ var AppLayoutDrawerRoot = ({
27543
27482
  const handleOpenChange = React94.useCallback(
27544
27483
  (next) => {
27545
27484
  if (!isControlled) setInternalOpen(next);
27546
- _optionalChain([onOpenChange, 'optionalCall', _551 => _551(next)]);
27485
+ _optionalChain([onOpenChange, 'optionalCall', _543 => _543(next)]);
27547
27486
  },
27548
27487
  [isControlled, onOpenChange]
27549
27488
  );
@@ -27924,10 +27863,10 @@ var AppLayoutDrawerContent = React94.forwardRef(
27924
27863
  ),
27925
27864
  style,
27926
27865
  onInteractOutside: (event) => {
27927
- _optionalChain([onInteractOutside, 'optionalCall', _552 => _552(event)]);
27866
+ _optionalChain([onInteractOutside, 'optionalCall', _544 => _544(event)]);
27928
27867
  if (event.defaultPrevented) return;
27929
27868
  const target = event.target;
27930
- const isInsideContainer = !!target && !!_optionalChain([portalContainer, 'optionalAccess', _553 => _553.contains, 'call', _554 => _554(target)]);
27869
+ const isInsideContainer = !!target && !!_optionalChain([portalContainer, 'optionalAccess', _545 => _545.contains, 'call', _546 => _546(target)]);
27931
27870
  if (!isInsideContainer) {
27932
27871
  event.preventDefault();
27933
27872
  return;
@@ -28116,7 +28055,7 @@ var ShellTypeBadge = ({
28116
28055
  className,
28117
28056
  iconClassName
28118
28057
  }) => {
28119
- const normalizedType = _optionalChain([shellType, 'optionalAccess', _555 => _555.toUpperCase, 'call', _556 => _556()]);
28058
+ const normalizedType = _optionalChain([shellType, 'optionalAccess', _547 => _547.toUpperCase, 'call', _548 => _548()]);
28120
28059
  const label = getShellLabel(normalizedType);
28121
28060
  const { icon: IconComponent, props: iconProps } = _nullishCoalesce(shellIconMap[normalizedType], () => ( defaultIconConfig));
28122
28061
  const defaultIconClassName = "className" in iconProps ? iconProps.className : void 0;
@@ -28503,12 +28442,12 @@ function OnboardingWalkthrough({
28503
28442
  }
28504
28443
  }, [state.completedSteps, markComplete]);
28505
28444
  const handleStepSkip = (step) => {
28506
- _optionalChain([step, 'access', _557 => _557.onSkip, 'optionalCall', _558 => _558()]);
28445
+ _optionalChain([step, 'access', _549 => _549.onSkip, 'optionalCall', _550 => _550()]);
28507
28446
  markSkipped(step.id);
28508
28447
  };
28509
28448
  const handleDismiss = () => {
28510
28449
  dismissOnboarding();
28511
- _optionalChain([onDismiss, 'optionalCall', _559 => _559()]);
28450
+ _optionalChain([onDismiss, 'optionalCall', _551 => _551()]);
28512
28451
  };
28513
28452
  if (state.dismissed) {
28514
28453
  return null;
@@ -28638,7 +28577,7 @@ var LogCard = ({ log, isLast, showConnector, onClick }) => {
28638
28577
  onKeyDown: (e) => {
28639
28578
  if (e.key === "Enter" || e.key === " ") {
28640
28579
  e.preventDefault();
28641
- _optionalChain([onClick, 'optionalCall', _560 => _560()]);
28580
+ _optionalChain([onClick, 'optionalCall', _552 => _552()]);
28642
28581
  }
28643
28582
  },
28644
28583
  children: [
@@ -28739,7 +28678,7 @@ var LogsList = React98.forwardRef(({
28739
28678
  log,
28740
28679
  isLast: index === logs.length - 1,
28741
28680
  showConnector,
28742
- onClick: () => _optionalChain([onLogClick, 'optionalCall', _561 => _561(log)])
28681
+ onClick: () => _optionalChain([onLogClick, 'optionalCall', _553 => _553(log)])
28743
28682
  },
28744
28683
  log.id
28745
28684
  ))
@@ -28840,7 +28779,7 @@ var Slider = React100.forwardRef(
28840
28779
  ({ className, value = [0], onValueChange, min = 0, max = 100, step = 1, ...props }, ref) => {
28841
28780
  const handleChange = (e) => {
28842
28781
  const newValue = [Number(e.target.value)];
28843
- _optionalChain([onValueChange, 'optionalCall', _562 => _562(newValue)]);
28782
+ _optionalChain([onValueChange, 'optionalCall', _554 => _554(newValue)]);
28844
28783
  };
28845
28784
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
28846
28785
  "input",
@@ -29271,7 +29210,7 @@ function CursorPaginationSimple({
29271
29210
  {
29272
29211
  variant: "transparent",
29273
29212
  size: "icon",
29274
- onClick: () => _optionalChain([onPrevious, 'optionalCall', _563 => _563("")]),
29213
+ onClick: () => _optionalChain([onPrevious, 'optionalCall', _555 => _555("")]),
29275
29214
  disabled: !hasPreviousPage || loading,
29276
29215
  className: "h-8 w-8",
29277
29216
  leftIcon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _lucidereact.ChevronLeft, { className: "h-4 w-4" }),
@@ -29283,7 +29222,7 @@ function CursorPaginationSimple({
29283
29222
  {
29284
29223
  variant: "transparent",
29285
29224
  size: "icon",
29286
- onClick: () => _optionalChain([onNext, 'optionalCall', _564 => _564("")]),
29225
+ onClick: () => _optionalChain([onNext, 'optionalCall', _556 => _556("")]),
29287
29226
  disabled: !hasNextPage || loading,
29288
29227
  className: "h-8 w-8",
29289
29228
  rightIcon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _lucidereact.ChevronRight, { className: "h-4 w-4" }),
@@ -29343,7 +29282,7 @@ function TableColumnFilterDropdown({
29343
29282
  placement = "bottom-start",
29344
29283
  dropdownClassName = "min-w-[240px]"
29345
29284
  }) {
29346
- const activeCount = _optionalChain([filters, 'optionalAccess', _565 => _565[columnKey], 'optionalAccess', _566 => _566.length]) || 0;
29285
+ const activeCount = _optionalChain([filters, 'optionalAccess', _557 => _557[columnKey], 'optionalAccess', _558 => _558.length]) || 0;
29347
29286
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
29348
29287
  FiltersDropdown,
29349
29288
  {
@@ -29386,7 +29325,7 @@ function TableColumnFilterDropdown({
29386
29325
  delete newFilters[columnKey];
29387
29326
  onFilterChange(newFilters);
29388
29327
  },
29389
- currentFilters: { [columnKey]: _optionalChain([filters, 'optionalAccess', _567 => _567[columnKey]]) || [] },
29328
+ currentFilters: { [columnKey]: _optionalChain([filters, 'optionalAccess', _559 => _559[columnKey]]) || [] },
29390
29329
  placement,
29391
29330
  dropdownClassName
29392
29331
  }
@@ -29683,7 +29622,7 @@ function TableRow({
29683
29622
  const keys = column.key.split(".");
29684
29623
  let value = item;
29685
29624
  for (const key of keys) {
29686
- value = _optionalChain([value, 'optionalAccess', _568 => _568[key]]);
29625
+ value = _optionalChain([value, 'optionalAccess', _560 => _560[key]]);
29687
29626
  }
29688
29627
  if (value === null || value === void 0) {
29689
29628
  return "-";
@@ -29753,7 +29692,7 @@ function TableRow({
29753
29692
  // src/components/ui/table/table.tsx
29754
29693
 
29755
29694
  function injectSyntheticColumns(columns, rowActions, renderRowActions, rowHref) {
29756
- const hasActions = Boolean(_optionalChain([rowActions, 'optionalAccess', _569 => _569.length])) || Boolean(renderRowActions);
29695
+ const hasActions = Boolean(_optionalChain([rowActions, 'optionalAccess', _561 => _561.length])) || Boolean(renderRowActions);
29757
29696
  const result = [...columns];
29758
29697
  if (hasActions) {
29759
29698
  const actionsColumn = {
@@ -29847,7 +29786,7 @@ function Table({
29847
29786
  return rowKey(item);
29848
29787
  }
29849
29788
  const key = item[rowKey];
29850
- return _optionalChain([key, 'optionalAccess', _570 => _570.toString, 'call', _571 => _571()]) || index.toString();
29789
+ return _optionalChain([key, 'optionalAccess', _562 => _562.toString, 'call', _563 => _563()]) || index.toString();
29851
29790
  };
29852
29791
  const getRowClassName = (item, index) => {
29853
29792
  if (typeof rowClassName === "function") {
@@ -29881,23 +29820,23 @@ function Table({
29881
29820
  const allSelected = selectedRows.length > 0 && selectedRows.length === data.length;
29882
29821
  const someSelected = selectedRows.length > 0 && selectedRows.length < data.length;
29883
29822
  const sentinelRef = _react.useRef.call(void 0, null);
29884
- const onLoadMoreRef = _react.useRef.call(void 0, _optionalChain([infiniteScroll, 'optionalAccess', _572 => _572.onLoadMore]));
29885
- onLoadMoreRef.current = _optionalChain([infiniteScroll, 'optionalAccess', _573 => _573.onLoadMore]);
29823
+ const onLoadMoreRef = _react.useRef.call(void 0, _optionalChain([infiniteScroll, 'optionalAccess', _564 => _564.onLoadMore]));
29824
+ onLoadMoreRef.current = _optionalChain([infiniteScroll, 'optionalAccess', _565 => _565.onLoadMore]);
29886
29825
  _react.useEffect.call(void 0, () => {
29887
- if (!_optionalChain([infiniteScroll, 'optionalAccess', _574 => _574.hasNextPage]) || infiniteScroll.isFetchingNextPage) return;
29826
+ if (!_optionalChain([infiniteScroll, 'optionalAccess', _566 => _566.hasNextPage]) || infiniteScroll.isFetchingNextPage) return;
29888
29827
  const sentinel = sentinelRef.current;
29889
29828
  if (!sentinel) return;
29890
29829
  const observer = new IntersectionObserver(
29891
29830
  (entries) => {
29892
- if (_optionalChain([entries, 'access', _575 => _575[0], 'optionalAccess', _576 => _576.isIntersecting])) {
29893
- _optionalChain([onLoadMoreRef, 'access', _577 => _577.current, 'optionalCall', _578 => _578()]);
29831
+ if (_optionalChain([entries, 'access', _567 => _567[0], 'optionalAccess', _568 => _568.isIntersecting])) {
29832
+ _optionalChain([onLoadMoreRef, 'access', _569 => _569.current, 'optionalCall', _570 => _570()]);
29894
29833
  }
29895
29834
  },
29896
29835
  { rootMargin: "200px" }
29897
29836
  );
29898
29837
  observer.observe(sentinel);
29899
29838
  return () => observer.disconnect();
29900
- }, [_optionalChain([infiniteScroll, 'optionalAccess', _579 => _579.hasNextPage]), _optionalChain([infiniteScroll, 'optionalAccess', _580 => _580.isFetchingNextPage])]);
29839
+ }, [_optionalChain([infiniteScroll, 'optionalAccess', _571 => _571.hasNextPage]), _optionalChain([infiniteScroll, 'optionalAccess', _572 => _572.isFetchingNextPage])]);
29901
29840
  return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: _chunkFIG2RKZFcjs.cn.call(void 0, "flex flex-col gap-1 w-full", containerClassName), children: [
29902
29841
  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: [
29903
29842
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: "text-ods-text-secondary text-sm", children: [
@@ -29968,7 +29907,7 @@ function Table({
29968
29907
  },
29969
29908
  getRowKey(item, index)
29970
29909
  )),
29971
- _optionalChain([infiniteScroll, 'optionalAccess', _581 => _581.isFetchingNextPage]) && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
29910
+ _optionalChain([infiniteScroll, 'optionalAccess', _573 => _573.isFetchingNextPage]) && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
29972
29911
  TableCardSkeleton,
29973
29912
  {
29974
29913
  columns,
@@ -29977,7 +29916,7 @@ function Table({
29977
29916
  hasChevron: Boolean(rowHref)
29978
29917
  }
29979
29918
  ),
29980
- _optionalChain([infiniteScroll, 'optionalAccess', _582 => _582.hasNextPage]) && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { ref: sentinelRef, className: "h-1", "aria-hidden": "true" }),
29919
+ _optionalChain([infiniteScroll, 'optionalAccess', _574 => _574.hasNextPage]) && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { ref: sentinelRef, className: "h-1", "aria-hidden": "true" }),
29981
29920
  !infiniteScroll && Array.from({ length: Math.max(0, skeletonRows - data.length) }).map((_, index) => /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
29982
29921
  "div",
29983
29922
  {
@@ -30335,7 +30274,7 @@ function QueryReportTable({
30335
30274
  );
30336
30275
  const handleExport = () => {
30337
30276
  exportToCSV(data, columns, exportFilename);
30338
- _optionalChain([onExport, 'optionalCall', _583 => _583()]);
30277
+ _optionalChain([onExport, 'optionalCall', _575 => _575()]);
30339
30278
  };
30340
30279
  const tableMinWidth = columns.length * (columnWidth + 16);
30341
30280
  const {
@@ -30508,7 +30447,7 @@ function DataTableColumnFilter({
30508
30447
  align = "left"
30509
30448
  }) {
30510
30449
  const currentValue = column.getFilterValue();
30511
- const activeCount = _nullishCoalesce(_optionalChain([currentValue, 'optionalAccess', _584 => _584.length]), () => ( 0));
30450
+ const activeCount = _nullishCoalesce(_optionalChain([currentValue, 'optionalAccess', _576 => _576.length]), () => ( 0));
30512
30451
  const sections = _react.useMemo.call(void 0,
30513
30452
  () => [
30514
30453
  {
@@ -30588,7 +30527,7 @@ function DataTableHeader({
30588
30527
  const hasVisibleHeaderCell = headerGroup.headers.some((header) => {
30589
30528
  if (header.isPlaceholder) return false;
30590
30529
  if (isLgUp) return true;
30591
- return Boolean(_optionalChain([header, 'access', _585 => _585.column, 'access', _586 => _586.columnDef, 'access', _587 => _587.meta, 'optionalAccess', _588 => _588.filter]));
30530
+ return Boolean(_optionalChain([header, 'access', _577 => _577.column, 'access', _578 => _578.columnDef, 'access', _579 => _579.meta, 'optionalAccess', _580 => _580.filter]));
30592
30531
  });
30593
30532
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
30594
30533
  "div",
@@ -30618,20 +30557,20 @@ function HeaderCell({ header, isLgUp, sort, onSortChange }) {
30618
30557
  if (header.isPlaceholder) return null;
30619
30558
  const column = header.column;
30620
30559
  const meta = column.columnDef.meta;
30621
- const hasFilter = Boolean(_optionalChain([meta, 'optionalAccess', _589 => _589.filter]));
30622
- const align = _nullishCoalesce(_optionalChain([meta, 'optionalAccess', _590 => _590.align]), () => ( "left"));
30623
- const canSort = _optionalChain([meta, 'optionalAccess', _591 => _591.sortable]) === true;
30624
- const sortDir = _optionalChain([sort, 'optionalAccess', _592 => _592.id]) === column.id ? sort.desc ? "desc" : "asc" : false;
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;
30625
30564
  if (!isLgUp && !hasFilter) return null;
30626
30565
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
30627
30566
  "div",
30628
30567
  {
30629
30568
  className: _chunkFIG2RKZFcjs.cn.call(void 0,
30630
30569
  "flex items-stretch",
30631
- isLgUp && (_optionalChain([meta, 'optionalAccess', _593 => _593.width]) || "flex-1 min-w-0"),
30632
- _optionalChain([meta, 'optionalAccess', _594 => _594.headerClassName]),
30570
+ isLgUp && (_optionalChain([meta, 'optionalAccess', _585 => _585.width]) || "flex-1 min-w-0"),
30571
+ _optionalChain([meta, 'optionalAccess', _586 => _586.headerClassName]),
30633
30572
  // Don't apply hide classes if column is filterable on tablet (keep filter accessible)
30634
- !(hasFilter && !isLgUp) && getHideClasses2(_optionalChain([meta, 'optionalAccess', _595 => _595.hideAt]))
30573
+ !(hasFilter && !isLgUp) && getHideClasses2(_optionalChain([meta, 'optionalAccess', _587 => _587.hideAt]))
30635
30574
  ),
30636
30575
  children: hasFilter ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
30637
30576
  DataTableColumnFilter,
@@ -30650,7 +30589,7 @@ function HeaderCell({ header, isLgUp, sort, onSortChange }) {
30650
30589
  isLgUp && alignJustify(align),
30651
30590
  canSort && "group cursor-pointer"
30652
30591
  ),
30653
- onClick: canSort ? () => _optionalChain([onSortChange, 'optionalCall', _596 => _596(column.id)]) : void 0,
30592
+ onClick: canSort ? () => _optionalChain([onSortChange, 'optionalCall', _588 => _588(column.id)]) : void 0,
30654
30593
  children: [
30655
30594
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, HeaderLabel, { header }),
30656
30595
  canSort && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, SortIcon, { sorted: sortDir })
@@ -30734,7 +30673,7 @@ function DataTableSkeleton({
30734
30673
  }) {
30735
30674
  const table = useDataTableContext();
30736
30675
  const columns = table.getVisibleFlatColumns();
30737
- const firstColumnId = _optionalChain([columns, 'access', _597 => _597[0], 'optionalAccess', _598 => _598.id]);
30676
+ const firstColumnId = _optionalChain([columns, 'access', _589 => _589[0], 'optionalAccess', _590 => _590.id]);
30738
30677
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _jsxruntime.Fragment, { children: Array.from({ length: rows }).map((_, index) => /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
30739
30678
  "div",
30740
30679
  {
@@ -30758,7 +30697,7 @@ function DataTableSkeleton({
30758
30697
  {
30759
30698
  className: _chunkFIG2RKZFcjs.cn.call(void 0,
30760
30699
  "flex flex-col justify-center shrink-0",
30761
- _optionalChain([meta, 'optionalAccess', _599 => _599.width]) || "flex-1"
30700
+ _optionalChain([meta, 'optionalAccess', _591 => _591.width]) || "flex-1"
30762
30701
  ),
30763
30702
  children: [
30764
30703
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "h-5 bg-ods-bg-surface rounded-sm w-3/4 mb-[var(--spacing-system-xxs)]" }),
@@ -30807,7 +30746,7 @@ function DataTableRowImpl({
30807
30746
  const handleClick = _react.useCallback.call(void 0,
30808
30747
  (e) => {
30809
30748
  const target = e.target;
30810
- if (!_optionalChain([containerRef, 'access', _600 => _600.current, 'optionalAccess', _601 => _601.contains, 'call', _602 => _602(target)])) {
30749
+ if (!_optionalChain([containerRef, 'access', _592 => _592.current, 'optionalAccess', _593 => _593.contains, 'call', _594 => _594(target)])) {
30811
30750
  if (isLinkMode) e.preventDefault();
30812
30751
  return;
30813
30752
  }
@@ -30815,7 +30754,7 @@ function DataTableRowImpl({
30815
30754
  if (isLinkMode) e.preventDefault();
30816
30755
  return;
30817
30756
  }
30818
- _optionalChain([onClick, 'optionalCall', _603 => _603(row.original)]);
30757
+ _optionalChain([onClick, 'optionalCall', _595 => _595(row.original)]);
30819
30758
  },
30820
30759
  [onClick, row.original, isLinkMode]
30821
30760
  );
@@ -30840,10 +30779,10 @@ function DataTableRowImpl({
30840
30779
  {
30841
30780
  className: _chunkFIG2RKZFcjs.cn.call(void 0,
30842
30781
  "flex flex-col overflow-hidden",
30843
- alignJustify(_optionalChain([meta, 'optionalAccess', _604 => _604.align])),
30844
- _optionalChain([meta, 'optionalAccess', _605 => _605.width]) || "flex-1 min-w-0",
30845
- _optionalChain([meta, 'optionalAccess', _606 => _606.cellClassName]),
30846
- getHideClasses2(_optionalChain([meta, 'optionalAccess', _607 => _607.hideAt]))
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]))
30847
30786
  ),
30848
30787
  children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, CellContent, { children: _reacttable.flexRender.call(void 0, cell.column.columnDef.cell, cell.getContext()) })
30849
30788
  },
@@ -30921,7 +30860,7 @@ function DataTableBody({
30921
30860
  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: [
30922
30861
  rows.map((row, index) => {
30923
30862
  const item = row.original;
30924
- const href = _nullishCoalesce(_optionalChain([rowHref, 'optionalCall', _608 => _608(item)]), () => ( void 0));
30863
+ const href = _nullishCoalesce(_optionalChain([rowHref, 'optionalCall', _600 => _600(item)]), () => ( void 0));
30925
30864
  const cls = typeof rowClassName === "function" ? rowClassName(item, index) : rowClassName;
30926
30865
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
30927
30866
  DataTableRow,
@@ -30931,7 +30870,7 @@ function DataTableBody({
30931
30870
  href,
30932
30871
  compact,
30933
30872
  className: cls,
30934
- subRow: _optionalChain([renderSubRow, 'optionalCall', _609 => _609(item)])
30873
+ subRow: _optionalChain([renderSubRow, 'optionalCall', _601 => _601(item)])
30935
30874
  },
30936
30875
  row.id
30937
30876
  );
@@ -30986,7 +30925,7 @@ function DataTableInfiniteFooter({
30986
30925
  if (!sentinel) return;
30987
30926
  const observer = new IntersectionObserver(
30988
30927
  (entries) => {
30989
- if (_optionalChain([entries, 'access', _610 => _610[0], 'optionalAccess', _611 => _611.isIntersecting])) onLoadMoreRef.current();
30928
+ if (_optionalChain([entries, 'access', _602 => _602[0], 'optionalAccess', _603 => _603.isIntersecting])) onLoadMoreRef.current();
30990
30929
  },
30991
30930
  { rootMargin }
30992
30931
  );
@@ -31034,7 +30973,7 @@ function DataTableRowCount({
31034
30973
  const table = useDataTableContext();
31035
30974
  const count = _nullishCoalesce(totalCount, () => ( table.getRowModel().rows.length));
31036
30975
  if (hideWhenEmpty && count === 0) return null;
31037
- const label = _nullishCoalesce(_optionalChain([pluralize, 'optionalCall', _612 => _612(count, itemName)]), () => ( (count === 1 ? itemName : `${itemName}s`)));
30976
+ const label = _nullishCoalesce(_optionalChain([pluralize, 'optionalCall', _604 => _604(count, itemName)]), () => ( (count === 1 ? itemName : `${itemName}s`)));
31038
30977
  return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
31039
30978
  "span",
31040
30979
  {
@@ -31193,7 +31132,7 @@ function SearchInput({
31193
31132
  if (!showHiddenTags) return;
31194
31133
  const handleClick = (e) => {
31195
31134
  const target = e.target;
31196
- 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)])) {
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)])) {
31197
31136
  setShowHiddenTags(false);
31198
31137
  }
31199
31138
  };
@@ -31241,10 +31180,10 @@ function SearchInput({
31241
31180
  } else {
31242
31181
  setInternalValue("");
31243
31182
  }
31244
- _optionalChain([inputRef, 'access', _619 => _619.current, 'optionalAccess', _620 => _620.focus, 'call', _621 => _621()]);
31183
+ _optionalChain([inputRef, 'access', _611 => _611.current, 'optionalAccess', _612 => _612.focus, 'call', _613 => _613()]);
31245
31184
  };
31246
31185
  const handleResultClick = (result, e) => {
31247
- _optionalChain([onResultSelect, 'optionalCall', _622 => _622(
31186
+ _optionalChain([onResultSelect, 'optionalCall', _614 => _614(
31248
31187
  result,
31249
31188
  e ? {
31250
31189
  metaKey: e.metaKey,
@@ -31276,7 +31215,7 @@ function SearchInput({
31276
31215
  if (highlightedIndex >= 0 && flatResults[highlightedIndex]) {
31277
31216
  handleResultClick(flatResults[highlightedIndex]);
31278
31217
  } else {
31279
- _optionalChain([onSubmit, 'optionalCall', _623 => _623(currentValue)]);
31218
+ _optionalChain([onSubmit, 'optionalCall', _615 => _615(currentValue)]);
31280
31219
  }
31281
31220
  break;
31282
31221
  case "Escape":
@@ -31354,7 +31293,7 @@ function SearchInput({
31354
31293
  dropdownVisible && "!border-ods-accent"
31355
31294
  ),
31356
31295
  onClick: () => {
31357
- _optionalChain([inputRef, 'access', _624 => _624.current, 'optionalAccess', _625 => _625.focus, 'call', _626 => _626()]);
31296
+ _optionalChain([inputRef, 'access', _616 => _616.current, 'optionalAccess', _617 => _617.focus, 'call', _618 => _618()]);
31358
31297
  setIsOpen(true);
31359
31298
  },
31360
31299
  children: [
@@ -31438,10 +31377,10 @@ function SearchInput({
31438
31377
  align: "start",
31439
31378
  onOpenAutoFocus: (e) => {
31440
31379
  e.preventDefault();
31441
- _optionalChain([inputRef, 'access', _627 => _627.current, 'optionalAccess', _628 => _628.focus, 'call', _629 => _629()]);
31380
+ _optionalChain([inputRef, 'access', _619 => _619.current, 'optionalAccess', _620 => _620.focus, 'call', _621 => _621()]);
31442
31381
  },
31443
31382
  onInteractOutside: (e) => {
31444
- if (_optionalChain([containerRef, 'access', _630 => _630.current, 'optionalAccess', _631 => _631.contains, 'call', _632 => _632(e.target)])) {
31383
+ if (_optionalChain([containerRef, 'access', _622 => _622.current, 'optionalAccess', _623 => _623.contains, 'call', _624 => _624(e.target)])) {
31445
31384
  e.preventDefault();
31446
31385
  }
31447
31386
  },
@@ -31458,10 +31397,10 @@ function SearchInput({
31458
31397
  ref: hiddenTagsPopupRef,
31459
31398
  items: hiddenChips.map((chip) => ({ label: chip.label, value: chip.id })),
31460
31399
  style: {
31461
- 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
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
31462
31401
  },
31463
31402
  onRemove: (value2) => {
31464
- _optionalChain([onFilterRemove, 'optionalCall', _637 => _637(value2)]);
31403
+ _optionalChain([onFilterRemove, 'optionalCall', _629 => _629(value2)]);
31465
31404
  if (hiddenCount <= 1) setShowHiddenTags(false);
31466
31405
  }
31467
31406
  }
@@ -31512,7 +31451,7 @@ function FilterListItem({
31512
31451
  }) {
31513
31452
  const handleToggle = () => {
31514
31453
  if (disabled) return;
31515
- _optionalChain([onToggle, 'optionalCall', _638 => _638(!selected)]);
31454
+ _optionalChain([onToggle, 'optionalCall', _630 => _630(!selected)]);
31516
31455
  };
31517
31456
  return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
31518
31457
  "div",
@@ -31559,7 +31498,7 @@ function FilterListItem({
31559
31498
  CheckboxPrimitive4.Root,
31560
31499
  {
31561
31500
  checked: selected,
31562
- onCheckedChange: (c) => _optionalChain([onToggle, 'optionalCall', _639 => _639(c === true)]),
31501
+ onCheckedChange: (c) => _optionalChain([onToggle, 'optionalCall', _631 => _631(c === true)]),
31563
31502
  onClick: (e) => e.stopPropagation(),
31564
31503
  disabled,
31565
31504
  "aria-label": title,
@@ -31658,7 +31597,7 @@ function TagSearchInput({
31658
31597
  if (!showHiddenTags) return;
31659
31598
  const handleClick = (e) => {
31660
31599
  const target = e.target;
31661
- 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)])) {
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)])) {
31662
31601
  setShowHiddenTags(false);
31663
31602
  }
31664
31603
  };
@@ -31674,13 +31613,13 @@ function TagSearchInput({
31674
31613
  e.preventDefault();
31675
31614
  onSubmit(searchValue);
31676
31615
  }
31677
- _optionalChain([onKeyDown, 'optionalCall', _646 => _646(e)]);
31616
+ _optionalChain([onKeyDown, 'optionalCall', _638 => _638(e)]);
31678
31617
  };
31679
31618
  const handleClearAll = (e) => {
31680
31619
  e.stopPropagation();
31681
31620
  e.preventDefault();
31682
- _optionalChain([onClearAll, 'optionalCall', _647 => _647()]);
31683
- _optionalChain([inputRef, 'access', _648 => _648.current, 'optionalAccess', _649 => _649.focus, 'call', _650 => _650()]);
31621
+ _optionalChain([onClearAll, 'optionalCall', _639 => _639()]);
31622
+ _optionalChain([inputRef, 'access', _640 => _640.current, 'optionalAccess', _641 => _641.focus, 'call', _642 => _642()]);
31684
31623
  };
31685
31624
  return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { ref: wrapperRef, className: "relative", children: [
31686
31625
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
@@ -31697,7 +31636,7 @@ function TagSearchInput({
31697
31636
  className
31698
31637
  ),
31699
31638
  onClick: () => {
31700
- if (!disabled) _optionalChain([inputRef, 'access', _651 => _651.current, 'optionalAccess', _652 => _652.focus, 'call', _653 => _653()]);
31639
+ if (!disabled) _optionalChain([inputRef, 'access', _643 => _643.current, 'optionalAccess', _644 => _644.focus, 'call', _645 => _645()]);
31701
31640
  },
31702
31641
  children: [
31703
31642
  /* @__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" }) }),
@@ -31769,7 +31708,7 @@ function TagSearchInput({
31769
31708
  items: hiddenTags,
31770
31709
  disabled,
31771
31710
  style: {
31772
- 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
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
31773
31712
  },
31774
31713
  onRemove: (value) => {
31775
31714
  onTagRemove(value);
@@ -31870,7 +31809,7 @@ function MarkdownEditor({
31870
31809
  const [defaultExtraCommands, setDefaultExtraCommands] = _react.useState.call(void 0, []);
31871
31810
  _react.useEffect.call(void 0, () => {
31872
31811
  Promise.resolve().then(() => _interopRequireWildcard(require("@uiw/react-md-editor"))).then((mod) => {
31873
- if (_optionalChain([mod, 'access', _658 => _658.commands, 'optionalAccess', _659 => _659.getExtraCommands])) {
31812
+ if (_optionalChain([mod, 'access', _650 => _650.commands, 'optionalAccess', _651 => _651.getExtraCommands])) {
31874
31813
  setDefaultExtraCommands(mod.commands.getExtraCommands());
31875
31814
  }
31876
31815
  });
@@ -31904,7 +31843,7 @@ function MarkdownEditor({
31904
31843
  const isImage = file.type.startsWith("image/");
31905
31844
  const markdown = isImage ? `![${file.name}](${url})` : `[${file.name}](${url})`;
31906
31845
  insertTextAtCursor(markdown);
31907
- _optionalChain([onFileUploaded, 'optionalCall', _660 => _660(url, file.name)]);
31846
+ _optionalChain([onFileUploaded, 'optionalCall', _652 => _652(url, file.name)]);
31908
31847
  } catch (error) {
31909
31848
  console.error("File upload failed:", error);
31910
31849
  setUploadProgress("Upload failed. Please try again.");
@@ -31917,7 +31856,7 @@ function MarkdownEditor({
31917
31856
  );
31918
31857
  const handleFileInputChange = _react.useCallback.call(void 0,
31919
31858
  (e) => {
31920
- const file = _optionalChain([e, 'access', _661 => _661.target, 'access', _662 => _662.files, 'optionalAccess', _663 => _663[0]]);
31859
+ const file = _optionalChain([e, 'access', _653 => _653.target, 'access', _654 => _654.files, 'optionalAccess', _655 => _655[0]]);
31921
31860
  if (file) {
31922
31861
  handleFileUpload(file);
31923
31862
  e.target.value = "";
@@ -31928,7 +31867,7 @@ function MarkdownEditor({
31928
31867
  const handlePaste = _react.useCallback.call(void 0,
31929
31868
  (e) => {
31930
31869
  if (!onUploadFile) return;
31931
- const items = _optionalChain([e, 'access', _664 => _664.clipboardData, 'optionalAccess', _665 => _665.items]);
31870
+ const items = _optionalChain([e, 'access', _656 => _656.clipboardData, 'optionalAccess', _657 => _657.items]);
31932
31871
  if (!items) return;
31933
31872
  for (const item of items) {
31934
31873
  if (item.type.startsWith("image/")) {
@@ -31953,7 +31892,7 @@ function MarkdownEditor({
31953
31892
  buttonProps: { "aria-label": "Upload file", title: "Upload file" },
31954
31893
  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" }),
31955
31894
  execute: () => {
31956
- _optionalChain([fileInputRef, 'access', _666 => _666.current, 'optionalAccess', _667 => _667.click, 'call', _668 => _668()]);
31895
+ _optionalChain([fileInputRef, 'access', _658 => _658.current, 'optionalAccess', _659 => _659.click, 'call', _660 => _660()]);
31957
31896
  }
31958
31897
  } : null;
31959
31898
  const extraCommands = uploadCommand ? [...defaultExtraCommands, uploadCommand] : defaultExtraCommands;
@@ -31965,7 +31904,7 @@ function MarkdownEditor({
31965
31904
  const EDGE_ZONE = 60;
31966
31905
  const MAX_SCROLL_SPEED = 15;
31967
31906
  const findScrollParent = _react.useCallback.call(void 0, (el) => {
31968
- let node = _optionalChain([el, 'optionalAccess', _669 => _669.parentElement]);
31907
+ let node = _optionalChain([el, 'optionalAccess', _661 => _661.parentElement]);
31969
31908
  while (node && node !== document.documentElement) {
31970
31909
  const { overflowY } = window.getComputedStyle(node);
31971
31910
  if ((overflowY === "auto" || overflowY === "scroll") && node.scrollHeight > node.clientHeight) {
@@ -32108,7 +32047,7 @@ function matchesAccept(file, accept) {
32108
32047
  });
32109
32048
  }
32110
32049
  function dragHasFiles(e) {
32111
- const types = _optionalChain([e, 'access', _670 => _670.dataTransfer, 'optionalAccess', _671 => _671.types]);
32050
+ const types = _optionalChain([e, 'access', _662 => _662.dataTransfer, 'optionalAccess', _663 => _663.types]);
32112
32051
  if (!types) return false;
32113
32052
  for (let i = 0; i < types.length; i++) {
32114
32053
  if (types[i] === "Files") return true;
@@ -32203,7 +32142,7 @@ function FileUpload({
32203
32142
  e.stopPropagation();
32204
32143
  setDragActive(false);
32205
32144
  if (disabled) return;
32206
- if (_optionalChain([e, 'access', _672 => _672.dataTransfer, 'access', _673 => _673.files, 'optionalAccess', _674 => _674.length])) {
32145
+ if (_optionalChain([e, 'access', _664 => _664.dataTransfer, 'access', _665 => _665.files, 'optionalAccess', _666 => _666.length])) {
32207
32146
  handleFiles(e.dataTransfer.files);
32208
32147
  }
32209
32148
  };
@@ -32231,7 +32170,7 @@ function FileUpload({
32231
32170
  e.preventDefault();
32232
32171
  dragCounter = 0;
32233
32172
  setDragActive(false);
32234
- if (_optionalChain([e, 'access', _675 => _675.dataTransfer, 'optionalAccess', _676 => _676.files, 'optionalAccess', _677 => _677.length])) {
32173
+ if (_optionalChain([e, 'access', _667 => _667.dataTransfer, 'optionalAccess', _668 => _668.files, 'optionalAccess', _669 => _669.length])) {
32235
32174
  handleFilesRef.current(e.dataTransfer.files);
32236
32175
  }
32237
32176
  };
@@ -32253,7 +32192,7 @@ function FileUpload({
32253
32192
  };
32254
32193
  }, [acceptWindowDrops, disabled]);
32255
32194
  const handleFileSelect = (e) => {
32256
- if (_optionalChain([e, 'access', _678 => _678.target, 'access', _679 => _679.files, 'optionalAccess', _680 => _680.length])) {
32195
+ if (_optionalChain([e, 'access', _670 => _670.target, 'access', _671 => _671.files, 'optionalAccess', _672 => _672.length])) {
32257
32196
  handleFiles(e.target.files);
32258
32197
  }
32259
32198
  };
@@ -32270,7 +32209,7 @@ function FileUpload({
32270
32209
  };
32271
32210
  const openDialog = async () => {
32272
32211
  if (disabled) return;
32273
- _optionalChain([fileInputRef, 'access', _681 => _681.current, 'optionalAccess', _682 => _682.click, 'call', _683 => _683()]);
32212
+ _optionalChain([fileInputRef, 'access', _673 => _673.current, 'optionalAccess', _674 => _674.click, 'call', _675 => _675()]);
32274
32213
  };
32275
32214
  const displayError = error || validationError || void 0;
32276
32215
  const hasFiles = isManaged ? managedFiles.length > 0 : files.length > 0;
@@ -32348,7 +32287,7 @@ function FileUpload({
32348
32287
  "button",
32349
32288
  {
32350
32289
  type: "button",
32351
- onClick: () => _optionalChain([onRemoveManagedFile, 'optionalCall', _684 => _684(entry.id)]),
32290
+ onClick: () => _optionalChain([onRemoveManagedFile, 'optionalCall', _676 => _676(entry.id)]),
32352
32291
  className: "shrink-0 p-1 rounded hover:bg-ods-bg transition-colors",
32353
32292
  "aria-label": `Remove ${entry.fileName}`,
32354
32293
  children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _lucidereact.X, { className: "size-4 text-ods-text-secondary" })
@@ -32471,7 +32410,7 @@ function ImageUploader({
32471
32410
  onChange(file);
32472
32411
  };
32473
32412
  const handleFileSelect = (e) => {
32474
- validateAndEmit(_optionalChain([e, 'access', _685 => _685.target, 'access', _686 => _686.files, 'optionalAccess', _687 => _687[0]]));
32413
+ validateAndEmit(_optionalChain([e, 'access', _677 => _677.target, 'access', _678 => _678.files, 'optionalAccess', _679 => _679[0]]));
32475
32414
  if (inputRef.current) inputRef.current.value = "";
32476
32415
  };
32477
32416
  const handleDrag = (e) => {
@@ -32486,11 +32425,11 @@ function ImageUploader({
32486
32425
  e.stopPropagation();
32487
32426
  setDragActive(false);
32488
32427
  if (!interactive) return;
32489
- validateAndEmit(_optionalChain([e, 'access', _688 => _688.dataTransfer, 'access', _689 => _689.files, 'optionalAccess', _690 => _690[0]]));
32428
+ validateAndEmit(_optionalChain([e, 'access', _680 => _680.dataTransfer, 'access', _681 => _681.files, 'optionalAccess', _682 => _682[0]]));
32490
32429
  };
32491
32430
  const openDialog = () => {
32492
32431
  if (!interactive) return;
32493
- _optionalChain([inputRef, 'access', _691 => _691.current, 'optionalAccess', _692 => _692.click, 'call', _693 => _693()]);
32432
+ _optionalChain([inputRef, 'access', _683 => _683.current, 'optionalAccess', _684 => _684.click, 'call', _685 => _685()]);
32494
32433
  };
32495
32434
  const handleRootKeyDown = (e) => {
32496
32435
  if (hasImage || !interactive) return;
@@ -32680,8 +32619,8 @@ function ColorPresetSelect({
32680
32619
  }) {
32681
32620
  const selectedPreset = presets.find((p) => p.key === presetKey);
32682
32621
  const isCustom = !selectedPreset;
32683
- const displayLabel = _nullishCoalesce(_optionalChain([selectedPreset, 'optionalAccess', _694 => _694.label]), () => ( "Custom"));
32684
- const displayColor = _nullishCoalesce(_optionalChain([selectedPreset, 'optionalAccess', _695 => _695.color]), () => ( value));
32622
+ const displayLabel = _nullishCoalesce(_optionalChain([selectedPreset, 'optionalAccess', _686 => _686.label]), () => ( "Custom"));
32623
+ const displayColor = _nullishCoalesce(_optionalChain([selectedPreset, 'optionalAccess', _687 => _687.color]), () => ( value));
32685
32624
  const groups = [
32686
32625
  {
32687
32626
  items: [
@@ -32971,7 +32910,7 @@ function TicketStatusConfigRow({
32971
32910
  _chunkGRTZ23GLcjs.Input,
32972
32911
  {
32973
32912
  value: name,
32974
- onChange: (e) => _optionalChain([onNameChange, 'optionalCall', _696 => _696(e.target.value)]),
32913
+ onChange: (e) => _optionalChain([onNameChange, 'optionalCall', _688 => _688(e.target.value)]),
32975
32914
  disabled: isSystem,
32976
32915
  readOnly: isSystem,
32977
32916
  "aria-label": "Status name",
@@ -33054,7 +32993,7 @@ function CompactAssigneeDropdown({
33054
32993
  return [current, ...filtered.filter((o) => o.value !== currentAssignee.id)];
33055
32994
  }, [filtered, currentAssignee]);
33056
32995
  const handleSelect = (userId) => {
33057
- const next = _optionalChain([currentAssignee, 'optionalAccess', _697 => _697.id]) === userId ? null : userId;
32996
+ const next = _optionalChain([currentAssignee, 'optionalAccess', _689 => _689.id]) === userId ? null : userId;
33058
32997
  onAssign(next);
33059
32998
  setIsOpen(false);
33060
32999
  };
@@ -33119,7 +33058,7 @@ function CompactAssigneeDropdown({
33119
33058
  }
33120
33059
  ) }),
33121
33060
  /* @__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) => {
33122
- const isCurrent = _optionalChain([currentAssignee, 'optionalAccess', _698 => _698.id]) === opt.value;
33061
+ const isCurrent = _optionalChain([currentAssignee, 'optionalAccess', _690 => _690.id]) === opt.value;
33123
33062
  return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
33124
33063
  "button",
33125
33064
  {
@@ -33188,7 +33127,7 @@ function DefaultAssigneeDropdown({
33188
33127
  Autocomplete,
33189
33128
  {
33190
33129
  options,
33191
- value: _nullishCoalesce(_optionalChain([currentAssignee, 'optionalAccess', _699 => _699.id]), () => ( null)),
33130
+ value: _nullishCoalesce(_optionalChain([currentAssignee, 'optionalAccess', _691 => _691.id]), () => ( null)),
33192
33131
  onChange: (val) => {
33193
33132
  onAssign(val);
33194
33133
  setIsEditing(false);
@@ -33577,14 +33516,14 @@ function TicketInfoSection({
33577
33516
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
33578
33517
  SquareAvatar,
33579
33518
  {
33580
- src: _optionalChain([organization, 'optionalAccess', _700 => _700.imageSrc]),
33581
- alt: _optionalChain([organization, 'optionalAccess', _701 => _701.name]),
33582
- fallback: _optionalChain([organization, 'optionalAccess', _702 => _702.name]) || "Org",
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
33522
  size: "md",
33584
33523
  className: "shrink-0"
33585
33524
  }
33586
33525
  ),
33587
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, InfoCell2, { value: _optionalChain([organization, 'optionalAccess', _703 => _703.name]) || "Unassigned", label: "Organization" })
33526
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, InfoCell2, { value: _optionalChain([organization, 'optionalAccess', _695 => _695.name]) || "Unassigned", label: "Organization" })
33588
33527
  ] }),
33589
33528
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "min-w-0", children: assigned ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
33590
33529
  AssigneeDropdown,
@@ -33605,10 +33544,10 @@ function TicketInfoSection({
33605
33544
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
33606
33545
  InfoCell2,
33607
33546
  {
33608
- value: _optionalChain([device, 'optionalAccess', _704 => _704.name]) || "Unassigned",
33547
+ value: _optionalChain([device, 'optionalAccess', _696 => _696.name]) || "Unassigned",
33609
33548
  label: "Device",
33610
- icon: _optionalChain([device, 'optionalAccess', _705 => _705.icon]),
33611
- onClick: _optionalChain([device, 'optionalAccess', _706 => _706.onClick])
33549
+ icon: _optionalChain([device, 'optionalAccess', _697 => _697.icon]),
33550
+ onClick: _optionalChain([device, 'optionalAccess', _698 => _698.onClick])
33612
33551
  }
33613
33552
  ),
33614
33553
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex items-center gap-4 min-w-0", children: [
@@ -33937,7 +33876,7 @@ function RoadmapCard({
33937
33876
  const compactHref = safeHref(_nullishCoalesce(href, () => ( null)));
33938
33877
  const hasVotes = (_nullishCoalesce(item.upvotes, () => ( 0))) > 0 || (_nullishCoalesce(item.downvotes, () => ( 0))) > 0;
33939
33878
  const hasFigma = !!item.figmaUrl;
33940
- const hasScreenshots = (_nullishCoalesce(_optionalChain([item, 'access', _707 => _707.screenshots, 'optionalAccess', _708 => _708.length]), () => ( 0))) > 0;
33879
+ const hasScreenshots = (_nullishCoalesce(_optionalChain([item, 'access', _699 => _699.screenshots, 'optionalAccess', _700 => _700.length]), () => ( 0))) > 0;
33941
33880
  const typeLabel = getTaskTypeLabel(item.customItemId);
33942
33881
  const useTypeIcon = cardType === "internal_task" || !iconSrc && item.customItemId != null;
33943
33882
  const body = /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _jsxruntime.Fragment, { children: [
@@ -33956,7 +33895,7 @@ function RoadmapCard({
33956
33895
  unoptimized: true,
33957
33896
  className: "h-8 w-8 object-contain"
33958
33897
  }
33959
- ) : /* @__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)]) || "??" })
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)]) || "??" })
33960
33899
  }
33961
33900
  ),
33962
33901
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: COMPACT_CARD_TEXT_COL, children: [
@@ -34031,7 +33970,7 @@ function RoadmapCard({
34031
33970
  unoptimized: true,
34032
33971
  className: "object-contain p-1"
34033
33972
  }
34034
- ) : /* @__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)]) || "??" }) }),
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)]) || "??" }) }),
34035
33974
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex-1 min-w-0 flex flex-col", children: [
34036
33975
  /* @__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 }) }),
34037
33976
  /* @__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: [
@@ -34541,7 +34480,7 @@ function DataRoomDocCard({ item, className, badgeText, anchorProps }) {
34541
34480
  ] }) : null,
34542
34481
  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
34543
34482
  ] }),
34544
- _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
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
34545
34484
  ] });
34546
34485
  if (!anchorProps) {
34547
34486
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: `${COMPACT_CARD_OUTER_STATIC} ${_nullishCoalesce(className, () => ( ""))}`, "aria-label": "No link available", children: body });
@@ -34611,7 +34550,7 @@ function getDefaultOptions() {
34611
34550
  // node_modules/date-fns/startOfWeek.mjs
34612
34551
  function startOfWeek(date, options) {
34613
34552
  const defaultOptions2 = getDefaultOptions();
34614
- 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));
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));
34615
34554
  const _date = toDate(date);
34616
34555
  const day = _date.getDay();
34617
34556
  const diff = (day < weekStartsOn ? 7 : 0) + day - weekStartsOn;
@@ -34786,7 +34725,7 @@ var formatDistance = (token, count, options) => {
34786
34725
  } else {
34787
34726
  result = tokenValue.other.replace("{{count}}", count.toString());
34788
34727
  }
34789
- if (_optionalChain([options, 'optionalAccess', _723 => _723.addSuffix])) {
34728
+ if (_optionalChain([options, 'optionalAccess', _715 => _715.addSuffix])) {
34790
34729
  if (options.comparison && options.comparison > 0) {
34791
34730
  return "in " + result;
34792
34731
  } else {
@@ -34853,15 +34792,15 @@ var formatRelative = (token, _date, _baseDate, _options) => formatRelativeLocale
34853
34792
  // node_modules/date-fns/locale/_lib/buildLocalizeFn.mjs
34854
34793
  function buildLocalizeFn(args) {
34855
34794
  return (value, options) => {
34856
- const context = _optionalChain([options, 'optionalAccess', _724 => _724.context]) ? String(options.context) : "standalone";
34795
+ const context = _optionalChain([options, 'optionalAccess', _716 => _716.context]) ? String(options.context) : "standalone";
34857
34796
  let valuesArray;
34858
34797
  if (context === "formatting" && args.formattingValues) {
34859
34798
  const defaultWidth = args.defaultFormattingWidth || args.defaultWidth;
34860
- const width = _optionalChain([options, 'optionalAccess', _725 => _725.width]) ? String(options.width) : defaultWidth;
34799
+ const width = _optionalChain([options, 'optionalAccess', _717 => _717.width]) ? String(options.width) : defaultWidth;
34861
34800
  valuesArray = args.formattingValues[width] || args.formattingValues[defaultWidth];
34862
34801
  } else {
34863
34802
  const defaultWidth = args.defaultWidth;
34864
- const width = _optionalChain([options, 'optionalAccess', _726 => _726.width]) ? String(options.width) : args.defaultWidth;
34803
+ const width = _optionalChain([options, 'optionalAccess', _718 => _718.width]) ? String(options.width) : args.defaultWidth;
34865
34804
  valuesArray = args.values[width] || args.values[defaultWidth];
34866
34805
  }
34867
34806
  const index = args.argumentCallback ? args.argumentCallback(value) : value;
@@ -35241,7 +35180,7 @@ function getWeekYear(date, options) {
35241
35180
  const _date = toDate(date);
35242
35181
  const year = _date.getFullYear();
35243
35182
  const defaultOptions2 = getDefaultOptions();
35244
- 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));
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));
35245
35184
  const firstWeekOfNextYear = constructFrom(date, 0);
35246
35185
  firstWeekOfNextYear.setFullYear(year + 1, 0, firstWeekContainsDate);
35247
35186
  firstWeekOfNextYear.setHours(0, 0, 0, 0);
@@ -35262,7 +35201,7 @@ function getWeekYear(date, options) {
35262
35201
  // node_modules/date-fns/startOfWeekYear.mjs
35263
35202
  function startOfWeekYear(date, options) {
35264
35203
  const defaultOptions2 = getDefaultOptions();
35265
- 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));
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));
35266
35205
  const year = getWeekYear(date, options);
35267
35206
  const firstWeek = constructFrom(date, 0);
35268
35207
  firstWeek.setFullYear(year, 0, firstWeekContainsDate);
@@ -36077,9 +36016,9 @@ var doubleQuoteRegExp = /''/g;
36077
36016
  var unescapedLatinCharacterRegExp = /[a-zA-Z]/;
36078
36017
  function format(date, formatStr, options) {
36079
36018
  const defaultOptions2 = getDefaultOptions();
36080
- const locale = _nullishCoalesce(_nullishCoalesce(_optionalChain([options, 'optionalAccess', _741 => _741.locale]), () => ( defaultOptions2.locale)), () => ( enUS));
36081
- 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));
36082
- 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));
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
36022
  const originalDate = toDate(date);
36084
36023
  if (!isValid(originalDate)) {
36085
36024
  throw new RangeError("Invalid time value");
@@ -36120,7 +36059,7 @@ function format(date, formatStr, options) {
36120
36059
  return parts.map((part) => {
36121
36060
  if (!part.isToken) return part.value;
36122
36061
  const token = part.value;
36123
- if (!_optionalChain([options, 'optionalAccess', _756 => _756.useAdditionalWeekYearTokens]) && isProtectedWeekYearToken(token) || !_optionalChain([options, 'optionalAccess', _757 => _757.useAdditionalDayOfYearTokens]) && isProtectedDayOfYearToken(token)) {
36062
+ if (!_optionalChain([options, 'optionalAccess', _748 => _748.useAdditionalWeekYearTokens]) && isProtectedWeekYearToken(token) || !_optionalChain([options, 'optionalAccess', _749 => _749.useAdditionalDayOfYearTokens]) && isProtectedDayOfYearToken(token)) {
36124
36063
  warnOrThrowProtectedError(token, formatStr, String(date));
36125
36064
  }
36126
36065
  const formatter = formatters[token[0]];
@@ -36298,7 +36237,7 @@ function ProgramCard({
36298
36237
  const dur = formatDurationFromRange(w.start_at, w.end_at);
36299
36238
  typeMeta = dur ? `${time} \xB7 ${dur}` : time;
36300
36239
  }
36301
- const subtitleParts = [itemDate2, typeMeta, _optionalChain([config, 'access', _758 => _758.labels, 'optionalAccess', _759 => _759.singular])].filter(
36240
+ const subtitleParts = [itemDate2, typeMeta, _optionalChain([config, 'access', _750 => _750.labels, 'optionalAccess', _751 => _751.singular])].filter(
36302
36241
  (s) => typeof s === "string" && s.length > 0
36303
36242
  );
36304
36243
  return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "a", { href, target, rel, className: _chunkFIG2RKZFcjs.cn.call(void 0, COMPACT_CARD_OUTER, className), children: [
@@ -36455,7 +36394,7 @@ function ProgramCard({
36455
36394
 
36456
36395
 
36457
36396
  function CampaignCardAdmin({ campaign, className, anchorProps }) {
36458
- const goalsCount = _optionalChain([campaign, 'access', _760 => _760.goals, 'optionalAccess', _761 => _761.length]) || 0;
36397
+ const goalsCount = _optionalChain([campaign, 'access', _752 => _752.goals, 'optionalAccess', _753 => _753.length]) || 0;
36459
36398
  const innerChildren = /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _jsxruntime.Fragment, { children: [
36460
36399
  /* @__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" }) }),
36461
36400
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: COMPACT_CARD_TEXT_COL, children: [
@@ -36546,6 +36485,33 @@ _chunkG7UE6RKVcjs.init_next_navigation.call(void 0, );
36546
36485
 
36547
36486
  // src/components/chat/hooks/use-chat-card-item.ts
36548
36487
  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
+ }
36549
36515
  function useChatCardItem(type, id) {
36550
36516
  const runtime = _chunkMEAR2WHScjs.useRequiredChatRuntime.call(void 0, );
36551
36517
  const url = runtime.endpoints.buildListUrl(type, [id]);
@@ -36617,7 +36583,7 @@ function resolveSourceRowCTA(row, ctx = {}) {
36617
36583
  if (row.path && shouldFallbackToPathNav(row) && !row.externalUrl) {
36618
36584
  const safePath = sanitizePath(row.path);
36619
36585
  if (safePath) {
36620
- const docTarget = row.documentType ? _optionalChain([ctx, 'access', _762 => _762.docPlatformTargets, 'optionalAccess', _763 => _763[row.documentType]]) : void 0;
36586
+ const docTarget = row.documentType ? _optionalChain([ctx, 'access', _754 => _754.docPlatformTargets, 'optionalAccess', _755 => _755[row.documentType]]) : void 0;
36621
36587
  if (docTarget) {
36622
36588
  const seg = docTarget.basePath.split("/").filter(Boolean).join("/");
36623
36589
  const base = `${_chunkFIG2RKZFcjs.getBaseUrl.call(void 0, docTarget.platform)}${seg ? `/${seg}` : ""}/`;
@@ -36832,8 +36798,8 @@ function cardMenuGroups(href, discuss, openDetails) {
36832
36798
  if (href) {
36833
36799
  items.push({
36834
36800
  id: "open-details",
36835
- label: _nullishCoalesce(_optionalChain([openDetails, 'optionalAccess', _764 => _764.label]), () => ( "Open Details")),
36836
- icon: _nullishCoalesce(_optionalChain([openDetails, 'optionalAccess', _765 => _765.icon]), () => ( /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkC6ASEPZLcjs.EyeIcon, { size: 20 }))),
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 }))),
36837
36803
  // Main row → open the entity (same tab, soft Link nav).
36838
36804
  href,
36839
36805
  // Trailing 40px ↗ side-button → open in a new tab.
@@ -36863,8 +36829,8 @@ function HubspotTicketChatCard({
36863
36829
  isNewTab,
36864
36830
  discuss
36865
36831
  }) {
36866
- const status = typeof _optionalChain([chatRef, 'access', _766 => _766.metadata, 'optionalAccess', _767 => _767.status]) === "string" ? chatRef.metadata.status : void 0;
36867
- const statusLabel = typeof _optionalChain([chatRef, 'access', _768 => _768.metadata, 'optionalAccess', _769 => _769.statusLabel]) === "string" ? chatRef.metadata.statusLabel : void 0;
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;
36868
36834
  const statusText = _nullishCoalesce(statusLabel, () => ( formatStatusToken(status)));
36869
36835
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
36870
36836
  MingoInfoCard,
@@ -36887,7 +36853,7 @@ function SlackChatCard({
36887
36853
  isNewTab,
36888
36854
  discuss
36889
36855
  }) {
36890
- const channelName = typeof _optionalChain([chatRef, 'access', _770 => _770.metadata, 'optionalAccess', _771 => _771.channelName]) === "string" ? chatRef.metadata.channelName.trim() : void 0;
36856
+ const channelName = typeof _optionalChain([chatRef, 'access', _762 => _762.metadata, 'optionalAccess', _763 => _763.channelName]) === "string" ? chatRef.metadata.channelName.trim() : void 0;
36891
36857
  const channelPretty = channelName ? channelName.startsWith("#") ? channelName : `#${channelName}` : void 0;
36892
36858
  const title = channelPretty ? `${chatRef.title} \xB7 ${channelPretty}` : chatRef.title;
36893
36859
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
@@ -36927,7 +36893,7 @@ function GenericFinancialChatCard({
36927
36893
  isNewTab,
36928
36894
  discuss
36929
36895
  }) {
36930
- const subtitle = typeof _optionalChain([chatRef, 'access', _772 => _772.metadata, 'optionalAccess', _773 => _773.subtitle]) === "string" ? chatRef.metadata.subtitle : void 0;
36896
+ const subtitle = typeof _optionalChain([chatRef, 'access', _764 => _764.metadata, 'optionalAccess', _765 => _765.subtitle]) === "string" ? chatRef.metadata.subtitle : void 0;
36931
36897
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
36932
36898
  MingoInfoCard,
36933
36899
  {
@@ -36996,12 +36962,12 @@ function ProductReleaseChatCard({
36996
36962
  discuss
36997
36963
  }) {
36998
36964
  const releaseProps = buildProps(item);
36999
- const status = _optionalChain([item, 'optionalAccess', _774 => _774.version]) ? { label: String(item.version), variant: "grey" } : { label: "Release", variant: "grey" };
36965
+ const status = _optionalChain([item, 'optionalAccess', _766 => _766.version]) ? { label: String(item.version), variant: "grey" } : { label: "Release", variant: "grey" };
37000
36966
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
37001
36967
  EntityMingoCard,
37002
36968
  {
37003
- title: _nullishCoalesce(_optionalChain([item, 'optionalAccess', _775 => _775.title]), () => ( "")),
37004
- description: _optionalChain([item, 'optionalAccess', _776 => _776.summary]) || releaseProps.formattedDate || void 0,
36969
+ title: _nullishCoalesce(_optionalChain([item, 'optionalAccess', _767 => _767.title]), () => ( "")),
36970
+ description: _optionalChain([item, 'optionalAccess', _768 => _768.summary]) || releaseProps.formattedDate || void 0,
37005
36971
  cover: releaseProps.coverImage || void 0,
37006
36972
  fallbackIcon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkC6ASEPZLcjs.Rocket02Icon, { size: 24 }),
37007
36973
  status,
@@ -37018,17 +36984,17 @@ function CampaignChatCard({
37018
36984
  isNewTab,
37019
36985
  discuss
37020
36986
  }) {
37021
- const goalsCount = Array.isArray(_optionalChain([item, 'optionalAccess', _777 => _777.goals])) ? item.goals.length : 0;
36987
+ const goalsCount = Array.isArray(_optionalChain([item, 'optionalAccess', _769 => _769.goals])) ? item.goals.length : 0;
37022
36988
  const meta = [
37023
- _optionalChain([item, 'optionalAccess', _778 => _778.start_date]) ? formatDateShort(item.start_date) : null,
36989
+ _optionalChain([item, 'optionalAccess', _770 => _770.start_date]) ? formatDateShort(item.start_date) : null,
37024
36990
  goalsCount > 0 ? `${goalsCount} goal${goalsCount !== 1 ? "s" : ""}` : null,
37025
36991
  "Marketing campaign"
37026
36992
  ].filter(Boolean).join(" \xB7 ");
37027
36993
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
37028
36994
  EntityMingoCard,
37029
36995
  {
37030
- title: _nullishCoalesce(_optionalChain([item, 'optionalAccess', _779 => _779.name]), () => ( "")),
37031
- description: meta || _optionalChain([item, 'optionalAccess', _780 => _780.description]) || void 0,
36996
+ title: _nullishCoalesce(_optionalChain([item, 'optionalAccess', _771 => _771.name]), () => ( "")),
36997
+ description: meta || _optionalChain([item, 'optionalAccess', _772 => _772.description]) || void 0,
37032
36998
  fallbackIcon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkC6ASEPZLcjs.Megaphone01Icon, { size: 24 }),
37033
36999
  chatRef,
37034
37000
  isNewTab,
@@ -37081,14 +37047,14 @@ function BlogChatCard({
37081
37047
  hasEmbeddedVideo,
37082
37048
  discuss
37083
37049
  }) {
37084
- 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;
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;
37085
37051
  const status = hasEmbeddedVideo ? { label: "Video", variant: "primary" } : category ? { label: category, variant: "grey" } : void 0;
37086
37052
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
37087
37053
  EntityMingoCard,
37088
37054
  {
37089
- title: _nullishCoalesce(_optionalChain([item, 'optionalAccess', _786 => _786.title]), () => ( "")),
37090
- description: _nullishCoalesce(_optionalChain([item, 'optionalAccess', _787 => _787.summary]), () => ( void 0)),
37091
- cover: entityCover(_optionalChain([item, 'optionalAccess', _788 => _788.featured_image]), ogPlaceholder),
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
37058
  fallbackIcon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkC6ASEPZLcjs.NewspaperIcon, { size: 24 }),
37093
37059
  status,
37094
37060
  chatRef,
@@ -37105,13 +37071,13 @@ function CaseStudyChatCard({
37105
37071
  ogPlaceholder,
37106
37072
  discuss
37107
37073
  }) {
37108
- 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 ");
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 ");
37109
37075
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
37110
37076
  EntityMingoCard,
37111
37077
  {
37112
- title: _nullishCoalesce(_optionalChain([item, 'optionalAccess', _793 => _793.title]), () => ( "")),
37113
- description: _optionalChain([item, 'optionalAccess', _794 => _794.summary]) || meta || void 0,
37114
- cover: entityCover(_optionalChain([item, 'optionalAccess', _795 => _795.featured_image]), ogPlaceholder),
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
37081
  fallbackIcon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkC6ASEPZLcjs.TrophyIcon, { size: 24 }),
37116
37082
  status: { label: "Case study", variant: "grey" },
37117
37083
  chatRef,
@@ -37128,13 +37094,13 @@ function CustomerInterviewChatCard({
37128
37094
  ogPlaceholder,
37129
37095
  discuss
37130
37096
  }) {
37131
- 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 ");
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 ");
37132
37098
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
37133
37099
  EntityMingoCard,
37134
37100
  {
37135
- title: _nullishCoalesce(_optionalChain([item, 'optionalAccess', _800 => _800.title]), () => ( "")),
37136
- description: _optionalChain([item, 'optionalAccess', _801 => _801.video_summary]) || meta || void 0,
37137
- cover: entityCover(_optionalChain([item, 'optionalAccess', _802 => _802.featured_image]), ogPlaceholder),
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
37104
  fallbackIcon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkC6ASEPZLcjs.MicrophoneIcon, { size: 24 }),
37139
37105
  status: { label: "Interview", variant: "grey" },
37140
37106
  chatRef,
@@ -37151,13 +37117,13 @@ function InvestorUpdateChatCard({
37151
37117
  ogPlaceholder,
37152
37118
  discuss
37153
37119
  }) {
37154
- const title = _optionalChain([item, 'optionalAccess', _803 => _803.title]) || `Update #${_nullishCoalesce(_optionalChain([item, 'optionalAccess', _804 => _804.update_number]), () => ( "?"))}`;
37120
+ const title = _optionalChain([item, 'optionalAccess', _795 => _795.title]) || `Update #${_nullishCoalesce(_optionalChain([item, 'optionalAccess', _796 => _796.update_number]), () => ( "?"))}`;
37155
37121
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
37156
37122
  EntityMingoCard,
37157
37123
  {
37158
37124
  title,
37159
- 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,
37160
- cover: entityCover(_optionalChain([item, 'optionalAccess', _809 => _809.featured_image]), ogPlaceholder),
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),
37161
37127
  fallbackIcon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkC6ASEPZLcjs.PresentationLineIcon, { size: 24 }),
37162
37128
  status: { label: "Investor update", variant: "grey" },
37163
37129
  chatRef,
@@ -37174,12 +37140,12 @@ function OnboardingGuideChatCard({
37174
37140
  ogPlaceholder,
37175
37141
  discuss
37176
37142
  }) {
37177
- 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)));
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)));
37178
37144
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
37179
37145
  EntityMingoCard,
37180
37146
  {
37181
- title: _nullishCoalesce(_optionalChain([item, 'optionalAccess', _813 => _813.title]), () => ( "")),
37182
- description: _nullishCoalesce(_nullishCoalesce(_optionalChain([item, 'optionalAccess', _814 => _814.summary]), () => ( _optionalChain([item, 'optionalAccess', _815 => _815.description]))), () => ( void 0)),
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)),
37183
37149
  cover,
37184
37150
  fallbackIcon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkC6ASEPZLcjs.CompassIcon, { size: 24 }),
37185
37151
  status: { label: "Guide", variant: "grey" },
@@ -37200,25 +37166,25 @@ function ProgramChatCard({
37200
37166
  discuss
37201
37167
  }) {
37202
37168
  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 });
37203
- const isScheduled = _optionalChain([item, 'optionalAccess', _816 => _816.status]) === "scheduled";
37169
+ const isScheduled = _optionalChain([item, 'optionalAccess', _808 => _808.status]) === "scheduled";
37204
37170
  let typeMeta;
37205
- if (configKey === "podcast" && typeof _optionalChain([item, 'optionalAccess', _817 => _817.duration_seconds]) === "number" && item.duration_seconds > 0 && !isScheduled) {
37171
+ if (configKey === "podcast" && typeof _optionalChain([item, 'optionalAccess', _809 => _809.duration_seconds]) === "number" && item.duration_seconds > 0 && !isScheduled) {
37206
37172
  typeMeta = formatDurationCompact(item.duration_seconds);
37207
- } else if (configKey === "event" && typeof _optionalChain([item, 'optionalAccess', _818 => _818.location_name]) === "string" && item.location_name.trim().length > 0) {
37173
+ } else if (configKey === "event" && typeof _optionalChain([item, 'optionalAccess', _810 => _810.location_name]) === "string" && item.location_name.trim().length > 0) {
37208
37174
  typeMeta = item.location_name;
37209
- } else if (configKey === "webinar" && _optionalChain([item, 'optionalAccess', _819 => _819.start_at])) {
37175
+ } else if (configKey === "webinar" && _optionalChain([item, 'optionalAccess', _811 => _811.start_at])) {
37210
37176
  const time = formatTimeWithTimezone(item.start_at, null);
37211
37177
  const dur = formatDurationFromRange(item.start_at, item.end_at);
37212
37178
  typeMeta = dur ? `${time} \xB7 ${dur}` : time;
37213
37179
  }
37214
- const itemDate = formatDateUTC(_nullishCoalesce(_optionalChain([item, 'optionalAccess', _820 => _820.date]), () => ( null)), { fallback: "", timezone: "local" });
37180
+ const itemDate = formatDateUTC(_nullishCoalesce(_optionalChain([item, 'optionalAccess', _812 => _812.date]), () => ( null)), { fallback: "", timezone: "local" });
37215
37181
  const meta = [itemDate, typeMeta].filter(Boolean).join(" \xB7 ");
37216
37182
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
37217
37183
  EntityMingoCard,
37218
37184
  {
37219
- title: _nullishCoalesce(_optionalChain([item, 'optionalAccess', _821 => _821.title]), () => ( "")),
37220
- description: meta || _optionalChain([item, 'optionalAccess', _822 => _822.description]) || void 0,
37221
- cover: entityCover(_optionalChain([item, 'optionalAccess', _823 => _823.cover_url]), ogPlaceholder),
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
37188
  fallbackIcon: icon,
37223
37189
  status: { label, variant: "grey" },
37224
37190
  chatRef,
@@ -37235,10 +37201,10 @@ function RoadmapChatCard({
37235
37201
  cardType,
37236
37202
  discuss
37237
37203
  }) {
37238
- const logoUrl = typeof _optionalChain([item, 'optionalAccess', _824 => _824.icon]) === "string" && item.icon.startsWith("http") ? item.icon : void 0;
37239
- const useTypeIcon = cardType === "internal_task" || !logoUrl && _optionalChain([item, 'optionalAccess', _825 => _825.customItemId]) != null;
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;
37240
37206
  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 });
37241
- const icon = useTypeIcon ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, TaskTypeIcon, { customItemId: _optionalChain([item, 'optionalAccess', _826 => _826.customItemId]), className: "size-6" }) : logoUrl ? (
37207
+ const icon = useTypeIcon ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, TaskTypeIcon, { customItemId: _optionalChain([item, 'optionalAccess', _818 => _818.customItemId]), className: "size-6" }) : logoUrl ? (
37242
37208
  // Contained (not full-bleed) so the integration logo keeps its aspect
37243
37209
  // ratio inside the bordered icon box — matches RoadmapCard.
37244
37210
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "img", { src: logoUrl, alt: "", className: "size-6 object-contain" })
@@ -37246,10 +37212,10 @@ function RoadmapChatCard({
37246
37212
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
37247
37213
  EntityMingoCard,
37248
37214
  {
37249
- title: _nullishCoalesce(_optionalChain([item, 'optionalAccess', _827 => _827.title]), () => ( "")),
37250
- description: _nullishCoalesce(_optionalChain([item, 'optionalAccess', _828 => _828.description]), () => ( void 0)),
37215
+ title: _nullishCoalesce(_optionalChain([item, 'optionalAccess', _819 => _819.title]), () => ( "")),
37216
+ description: _nullishCoalesce(_optionalChain([item, 'optionalAccess', _820 => _820.description]), () => ( void 0)),
37251
37217
  fallbackIcon: icon,
37252
- status: statusPill(_optionalChain([item, 'optionalAccess', _829 => _829.status])),
37218
+ status: statusPill(_optionalChain([item, 'optionalAccess', _821 => _821.status])),
37253
37219
  chatRef,
37254
37220
  isNewTab,
37255
37221
  discuss,
@@ -37335,7 +37301,7 @@ function programRegistryEntries() {
37335
37301
  discuss: opts.discuss,
37336
37302
  configKey: cfg.configKey,
37337
37303
  label: cfg.configKey.charAt(0).toUpperCase() + cfg.configKey.slice(1),
37338
- ogPlaceholder: _nullishCoalesce(_optionalChain([opts, 'optionalAccess', _830 => _830.extras, 'optionalAccess', _831 => _831.buildOgPlaceholderUrl, 'optionalCall', _832 => _832(_nullishCoalesce(_optionalChain([item, 'optionalAccess', _833 => _833.title]), () => ( "")))]), () => ( null))
37304
+ ogPlaceholder: _nullishCoalesce(_optionalChain([opts, 'optionalAccess', _822 => _822.extras, 'optionalAccess', _823 => _823.buildOgPlaceholderUrl, 'optionalCall', _824 => _824(_nullishCoalesce(_optionalChain([item, 'optionalAccess', _825 => _825.title]), () => ( "")))]), () => ( null))
37339
37305
  }
37340
37306
  )
37341
37307
  };
@@ -37481,8 +37447,8 @@ var CHAT_CARD_REGISTRY = {
37481
37447
  chatRef,
37482
37448
  isNewTab: opts.isNewTab,
37483
37449
  discuss: opts.discuss,
37484
- ogPlaceholder: _nullishCoalesce(_optionalChain([opts, 'optionalAccess', _834 => _834.extras, 'optionalAccess', _835 => _835.buildOgPlaceholderUrl, 'optionalCall', _836 => _836(_nullishCoalesce(_optionalChain([item, 'optionalAccess', _837 => _837.title]), () => ( "")))]), () => ( null)),
37485
- hasEmbeddedVideo: _optionalChain([chatRef, 'access', _838 => _838.metadata, 'optionalAccess', _839 => _839.hasEmbeddedVideo]) === true
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
37486
37452
  }
37487
37453
  )
37488
37454
  },
@@ -37499,7 +37465,7 @@ var CHAT_CARD_REGISTRY = {
37499
37465
  chatRef,
37500
37466
  isNewTab: opts.isNewTab,
37501
37467
  discuss: opts.discuss,
37502
- ogPlaceholder: _nullishCoalesce(_optionalChain([opts, 'optionalAccess', _840 => _840.extras, 'optionalAccess', _841 => _841.buildOgPlaceholderUrl, 'optionalCall', _842 => _842(_nullishCoalesce(_optionalChain([item, 'optionalAccess', _843 => _843.title]), () => ( "")))]), () => ( null))
37468
+ ogPlaceholder: _nullishCoalesce(_optionalChain([opts, 'optionalAccess', _832 => _832.extras, 'optionalAccess', _833 => _833.buildOgPlaceholderUrl, 'optionalCall', _834 => _834(_nullishCoalesce(_optionalChain([item, 'optionalAccess', _835 => _835.title]), () => ( "")))]), () => ( null))
37503
37469
  }
37504
37470
  )
37505
37471
  },
@@ -37516,7 +37482,7 @@ var CHAT_CARD_REGISTRY = {
37516
37482
  chatRef,
37517
37483
  isNewTab: opts.isNewTab,
37518
37484
  discuss: opts.discuss,
37519
- ogPlaceholder: _nullishCoalesce(_optionalChain([opts, 'optionalAccess', _844 => _844.extras, 'optionalAccess', _845 => _845.buildOgPlaceholderUrl, 'optionalCall', _846 => _846(_nullishCoalesce(_optionalChain([item, 'optionalAccess', _847 => _847.title]), () => ( "")))]), () => ( null))
37485
+ ogPlaceholder: _nullishCoalesce(_optionalChain([opts, 'optionalAccess', _836 => _836.extras, 'optionalAccess', _837 => _837.buildOgPlaceholderUrl, 'optionalCall', _838 => _838(_nullishCoalesce(_optionalChain([item, 'optionalAccess', _839 => _839.title]), () => ( "")))]), () => ( null))
37520
37486
  }
37521
37487
  )
37522
37488
  },
@@ -37527,7 +37493,7 @@ var CHAT_CARD_REGISTRY = {
37527
37493
  bareInline: true,
37528
37494
  skeleton: () => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, ProductReleaseCardSkeleton, { size: "sm" }),
37529
37495
  render: (item, chatRef, opts) => {
37530
- const builder = _nullishCoalesce(_optionalChain([opts, 'optionalAccess', _848 => _848.extras, 'optionalAccess', _849 => _849.buildProductReleaseCardProps]), () => ( defaultBuildProductReleaseCardProps));
37496
+ const builder = _nullishCoalesce(_optionalChain([opts, 'optionalAccess', _840 => _840.extras, 'optionalAccess', _841 => _841.buildProductReleaseCardProps]), () => ( defaultBuildProductReleaseCardProps));
37531
37497
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
37532
37498
  ProductReleaseChatCard,
37533
37499
  {
@@ -37554,7 +37520,7 @@ var CHAT_CARD_REGISTRY = {
37554
37520
  chatRef,
37555
37521
  isNewTab: opts.isNewTab,
37556
37522
  discuss: opts.discuss,
37557
- ogPlaceholder: _nullishCoalesce(_optionalChain([opts, 'optionalAccess', _850 => _850.extras, 'optionalAccess', _851 => _851.buildOgPlaceholderUrl, 'optionalCall', _852 => _852(_nullishCoalesce(_optionalChain([item, 'optionalAccess', _853 => _853.title]), () => ( "")))]), () => ( null))
37523
+ ogPlaceholder: _nullishCoalesce(_optionalChain([opts, 'optionalAccess', _842 => _842.extras, 'optionalAccess', _843 => _843.buildOgPlaceholderUrl, 'optionalCall', _844 => _844(_nullishCoalesce(_optionalChain([item, 'optionalAccess', _845 => _845.title]), () => ( "")))]), () => ( null))
37558
37524
  }
37559
37525
  )
37560
37526
  },
@@ -37573,7 +37539,7 @@ var CHAT_CARD_REGISTRY = {
37573
37539
  chatRef,
37574
37540
  isNewTab: opts.isNewTab,
37575
37541
  discuss: opts.discuss,
37576
- ogPlaceholder: _nullishCoalesce(_optionalChain([opts, 'optionalAccess', _854 => _854.extras, 'optionalAccess', _855 => _855.buildOgPlaceholderUrl, 'optionalCall', _856 => _856(_nullishCoalesce(_optionalChain([item, 'optionalAccess', _857 => _857.title]), () => ( "")))]), () => ( null))
37542
+ ogPlaceholder: _nullishCoalesce(_optionalChain([opts, 'optionalAccess', _846 => _846.extras, 'optionalAccess', _847 => _847.buildOgPlaceholderUrl, 'optionalCall', _848 => _848(_nullishCoalesce(_optionalChain([item, 'optionalAccess', _849 => _849.title]), () => ( "")))]), () => ( null))
37577
37543
  }
37578
37544
  )
37579
37545
  },
@@ -37585,7 +37551,7 @@ var CHAT_CARD_REGISTRY = {
37585
37551
  skeleton: () => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, CampaignCardAdminSkeleton, {}),
37586
37552
  // No public viewer — synthesize the hub-internal admin URL post-fetch
37587
37553
  // so the wrapper + isNewTab computation see the actual destination.
37588
- fallbackHref: (item) => _optionalChain([item, 'optionalAccess', _858 => _858.id]) ? `/admin/campaigns/${encodeURIComponent(item.id)}` : null,
37554
+ fallbackHref: (item) => _optionalChain([item, 'optionalAccess', _850 => _850.id]) ? `/admin/campaigns/${encodeURIComponent(item.id)}` : null,
37589
37555
  render: (item, chatRef, opts) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
37590
37556
  CampaignChatCard,
37591
37557
  {
@@ -37611,12 +37577,12 @@ function ChatCardNavWrap({
37611
37577
  const onClickCapture = (e) => {
37612
37578
  if (!href) return;
37613
37579
  const targetEl = e.target;
37614
- if (_optionalChain([targetEl, 'optionalAccess', _859 => _859.closest, 'optionalCall', _860 => _860("button")])) return;
37615
- if (!_optionalChain([targetEl, 'optionalAccess', _861 => _861.closest, 'optionalCall', _862 => _862("a")])) return;
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;
37616
37582
  const handled = handleChatNavClick(e, runtime, { href, path, targetPlatform }, router.push);
37617
37583
  if (!handled) return;
37618
37584
  e.stopPropagation();
37619
- if (!isNewTab && _optionalChain([panel, 'optionalAccess', _863 => _863.closeChat])) panel.closeChat();
37585
+ if (!isNewTab && _optionalChain([panel, 'optionalAccess', _855 => _855.closeChat])) panel.closeChat();
37620
37586
  };
37621
37587
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "contents", onClickCapture, children });
37622
37588
  }
@@ -37638,7 +37604,7 @@ function ChatCardLoader({
37638
37604
  title: chatRef.title,
37639
37605
  externalUrl: chatRef.url,
37640
37606
  targetPlatform: chatRef.targetPlatform,
37641
- path: typeof _optionalChain([chatRef, 'access', _864 => _864.metadata, 'optionalAccess', _865 => _865.path]) === "string" ? chatRef.metadata.path : null
37607
+ path: typeof _optionalChain([chatRef, 'access', _856 => _856.metadata, 'optionalAccess', _857 => _857.path]) === "string" ? chatRef.metadata.path : null
37642
37608
  },
37643
37609
  sourceRowCtxFromRuntime(runtime, { baseRoute, chipBasePlatform })
37644
37610
  );
@@ -37652,7 +37618,7 @@ function ChatCardLoader({
37652
37618
  const entry = CHAT_CARD_REGISTRY[resolvedChatRef.type];
37653
37619
  const fetchEntry = entry && entry.mode === "fetch" ? entry : null;
37654
37620
  const { item, isLoading } = useChatCardItem(
37655
- _nullishCoalesce(_optionalChain([fetchEntry, 'optionalAccess', _866 => _866.contentRefType]), () => ( "")),
37621
+ _nullishCoalesce(_optionalChain([fetchEntry, 'optionalAccess', _858 => _858.contentRefType]), () => ( "")),
37656
37622
  fetchEntry ? resolvedChatRef.id : ""
37657
37623
  );
37658
37624
  if (!entry) return null;
@@ -37683,7 +37649,7 @@ function ChatCardLoader({
37683
37649
  isNewTab,
37684
37650
  discuss
37685
37651
  };
37686
- const path = typeof _optionalChain([finalChatRef, 'access', _867 => _867.metadata, 'optionalAccess', _868 => _868.path]) === "string" ? finalChatRef.metadata.path : null;
37652
+ const path = typeof _optionalChain([finalChatRef, 'access', _859 => _859.metadata, 'optionalAccess', _860 => _860.path]) === "string" ? finalChatRef.metadata.path : null;
37687
37653
  const navWrap = (children) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
37688
37654
  ChatCardNavWrap,
37689
37655
  {
@@ -38209,7 +38175,7 @@ function useJetStreamDialogSubscription({
38209
38175
  const lifecycle = _chunkOZ3GH6OQcjs.startConnectionLifecycle.call(void 0, {
38210
38176
  conn: sharedConn,
38211
38177
  wsUrl,
38212
- onBeforeReconnect: () => _optionalChain([onBeforeReconnectRef, 'access', _869 => _869.current, 'optionalCall', _870 => _870()]),
38178
+ onBeforeReconnect: () => _optionalChain([onBeforeReconnectRef, 'access', _861 => _861.current, 'optionalCall', _862 => _862()]),
38213
38179
  backoff: reconnectionBackoffRef.current,
38214
38180
  getFreshUrl: () => getNatsWsUrlRef.current(),
38215
38181
  // JetStream emits 'error' for protocol-level failures (e.g. -ERR Permissions
@@ -38224,7 +38190,7 @@ function useJetStreamDialogSubscription({
38224
38190
  setReconnectionCount((c) => c + 1);
38225
38191
  }
38226
38192
  hadConnectionBeforeRef.current = true;
38227
- _optionalChain([onConnectRef, 'access', _871 => _871.current, 'optionalCall', _872 => _872()]);
38193
+ _optionalChain([onConnectRef, 'access', _863 => _863.current, 'optionalCall', _864 => _864()]);
38228
38194
  }
38229
38195
  if (status === "error") {
38230
38196
  console.warn("[JetStream] NATS protocol error:", evt.data);
@@ -38234,7 +38200,7 @@ function useJetStreamDialogSubscription({
38234
38200
  setIsConnected(false);
38235
38201
  setIsSubscribed(false);
38236
38202
  tearDownSubscription();
38237
- _optionalChain([onDisconnectRef, 'access', _873 => _873.current, 'optionalCall', _874 => _874()]);
38203
+ _optionalChain([onDisconnectRef, 'access', _865 => _865.current, 'optionalCall', _866 => _866()]);
38238
38204
  }
38239
38205
  }
38240
38206
  });
@@ -38313,7 +38279,7 @@ function useJetStreamDialogSubscription({
38313
38279
  }
38314
38280
  subscriptionRef.current = handle;
38315
38281
  setIsSubscribed(true);
38316
- _optionalChain([onSubscribedRef, 'access', _875 => _875.current, 'optionalCall', _876 => _876()]);
38282
+ _optionalChain([onSubscribedRef, 'access', _867 => _867.current, 'optionalCall', _868 => _868()]);
38317
38283
  } catch (e35) {
38318
38284
  if (!cancelled) {
38319
38285
  setIsSubscribed(false);
@@ -38426,20 +38392,20 @@ function useNatsDialogSubscription({
38426
38392
  const tearDownSubscriptions = () => {
38427
38393
  subscriptionRefs.current.forEach((sub) => {
38428
38394
  try {
38429
- _optionalChain([sub, 'optionalAccess', _877 => _877.unsubscribe, 'call', _878 => _878()]);
38395
+ _optionalChain([sub, 'optionalAccess', _869 => _869.unsubscribe, 'call', _870 => _870()]);
38430
38396
  } catch (e37) {
38431
38397
  }
38432
38398
  });
38433
38399
  subscriptionRefs.current.clear();
38434
38400
  lastSubscribedDialogIdRef.current = null;
38435
- _optionalChain([abortControllerRef, 'access', _879 => _879.current, 'optionalAccess', _880 => _880.abort, 'call', _881 => _881()]);
38401
+ _optionalChain([abortControllerRef, 'access', _871 => _871.current, 'optionalAccess', _872 => _872.abort, 'call', _873 => _873()]);
38436
38402
  abortControllerRef.current = null;
38437
38403
  };
38438
38404
  const isDisconnectStatus = (status) => status === "closed" || status === "disconnected" || status === "error";
38439
38405
  const lifecycle = _chunkOZ3GH6OQcjs.startConnectionLifecycle.call(void 0, {
38440
38406
  conn: sharedConn,
38441
38407
  wsUrl,
38442
- onBeforeReconnect: () => _optionalChain([onBeforeReconnectRef, 'access', _882 => _882.current, 'optionalCall', _883 => _883()]),
38408
+ onBeforeReconnect: () => _optionalChain([onBeforeReconnectRef, 'access', _874 => _874.current, 'optionalCall', _875 => _875()]),
38443
38409
  backoff: reconnectionBackoffRef.current,
38444
38410
  getFreshUrl: () => getNatsWsUrlRef.current(),
38445
38411
  shouldRetryOn: isDisconnectStatus,
@@ -38450,13 +38416,13 @@ function useNatsDialogSubscription({
38450
38416
  setReconnectionCount((c) => c + 1);
38451
38417
  }
38452
38418
  hadConnectionBeforeRef.current = true;
38453
- _optionalChain([onConnectRef, 'access', _884 => _884.current, 'optionalCall', _885 => _885()]);
38419
+ _optionalChain([onConnectRef, 'access', _876 => _876.current, 'optionalCall', _877 => _877()]);
38454
38420
  }
38455
38421
  if (isDisconnectStatus(status)) {
38456
38422
  setIsConnected(false);
38457
38423
  setIsSubscribed(false);
38458
38424
  tearDownSubscriptions();
38459
- _optionalChain([onDisconnectRef, 'access', _886 => _886.current, 'optionalCall', _887 => _887()]);
38425
+ _optionalChain([onDisconnectRef, 'access', _878 => _878.current, 'optionalCall', _879 => _879()]);
38460
38426
  }
38461
38427
  }
38462
38428
  });
@@ -38487,13 +38453,13 @@ function useNatsDialogSubscription({
38487
38453
  setIsSubscribed(false);
38488
38454
  subscriptionRefs.current.forEach((sub) => {
38489
38455
  try {
38490
- _optionalChain([sub, 'optionalAccess', _888 => _888.unsubscribe, 'call', _889 => _889()]);
38456
+ _optionalChain([sub, 'optionalAccess', _880 => _880.unsubscribe, 'call', _881 => _881()]);
38491
38457
  } catch (e38) {
38492
38458
  }
38493
38459
  });
38494
38460
  subscriptionRefs.current.clear();
38495
38461
  lastSubscribedDialogIdRef.current = null;
38496
- _optionalChain([abortControllerRef, 'access', _890 => _890.current, 'optionalAccess', _891 => _891.abort, 'call', _892 => _892()]);
38462
+ _optionalChain([abortControllerRef, 'access', _882 => _882.current, 'optionalAccess', _883 => _883.abort, 'call', _884 => _884()]);
38497
38463
  abortControllerRef.current = null;
38498
38464
  }
38499
38465
  return;
@@ -38505,12 +38471,12 @@ function useNatsDialogSubscription({
38505
38471
  if (subscriptionRefs.current.size > 0) {
38506
38472
  subscriptionRefs.current.forEach((sub) => {
38507
38473
  try {
38508
- _optionalChain([sub, 'optionalAccess', _893 => _893.unsubscribe, 'call', _894 => _894()]);
38474
+ _optionalChain([sub, 'optionalAccess', _885 => _885.unsubscribe, 'call', _886 => _886()]);
38509
38475
  } catch (e39) {
38510
38476
  }
38511
38477
  });
38512
38478
  subscriptionRefs.current.clear();
38513
- _optionalChain([abortControllerRef, 'access', _895 => _895.current, 'optionalAccess', _896 => _896.abort, 'call', _897 => _897()]);
38479
+ _optionalChain([abortControllerRef, 'access', _887 => _887.current, 'optionalAccess', _888 => _888.abort, 'call', _889 => _889()]);
38514
38480
  }
38515
38481
  abortControllerRef.current = new AbortController();
38516
38482
  const abort = abortControllerRef.current;
@@ -38542,7 +38508,7 @@ function useNatsDialogSubscription({
38542
38508
  });
38543
38509
  lastSubscribedDialogIdRef.current = dialogId;
38544
38510
  setIsSubscribed(true);
38545
- _optionalChain([onSubscribedRef, 'access', _898 => _898.current, 'optionalCall', _899 => _899()]);
38511
+ _optionalChain([onSubscribedRef, 'access', _890 => _890.current, 'optionalCall', _891 => _891()]);
38546
38512
  };
38547
38513
  if (isConnectedRef.current) {
38548
38514
  createSubscriptions();
@@ -38552,7 +38518,7 @@ function useNatsDialogSubscription({
38552
38518
  abort.abort();
38553
38519
  subscriptionRefs.current.forEach((sub) => {
38554
38520
  try {
38555
- _optionalChain([sub, 'optionalAccess', _900 => _900.unsubscribe, 'call', _901 => _901()]);
38521
+ _optionalChain([sub, 'optionalAccess', _892 => _892.unsubscribe, 'call', _893 => _893()]);
38556
38522
  } catch (e41) {
38557
38523
  }
38558
38524
  });
@@ -38593,7 +38559,7 @@ function useNatsDialogSubscription({
38593
38559
  });
38594
38560
  lastSubscribedDialogIdRef.current = dialogId2;
38595
38561
  setIsSubscribed(true);
38596
- _optionalChain([onSubscribedRef, 'access', _902 => _902.current, 'optionalCall', _903 => _903()]);
38562
+ _optionalChain([onSubscribedRef, 'access', _894 => _894.current, 'optionalCall', _895 => _895()]);
38597
38563
  } else if (subscriptionRefs.current.size > 0) {
38598
38564
  setIsSubscribed(true);
38599
38565
  }
@@ -38601,10 +38567,10 @@ function useNatsDialogSubscription({
38601
38567
  return { isConnected, isSubscribed, reconnectionCount };
38602
38568
  }
38603
38569
  function buildNatsWsUrl(apiBaseUrl, options) {
38604
- const path = _optionalChain([options, 'optionalAccess', _904 => _904.source]) === "dashboard" ? "/ws/nats-api" : "/ws/nats";
38570
+ const path = _optionalChain([options, 'optionalAccess', _896 => _896.source]) === "dashboard" ? "/ws/nats-api" : "/ws/nats";
38605
38571
  const u = new URL(path, apiBaseUrl);
38606
38572
  u.protocol = u.protocol === "https:" ? "wss:" : "ws:";
38607
- if (_optionalChain([options, 'optionalAccess', _905 => _905.includeAuthParam]) && _optionalChain([options, 'optionalAccess', _906 => _906.token])) {
38573
+ if (_optionalChain([options, 'optionalAccess', _897 => _897.includeAuthParam]) && _optionalChain([options, 'optionalAccess', _898 => _898.token])) {
38608
38574
  u.searchParams.set("authorization", options.token);
38609
38575
  }
38610
38576
  return u.toString();
@@ -38922,8 +38888,8 @@ var MessageSegmentAccumulator = class {
38922
38888
  type: "tool_execution",
38923
38889
  data: {
38924
38890
  ...toolData,
38925
- toolTitle: _nullishCoalesce(_nullishCoalesce(toolData.toolTitle, () => ( _optionalChain([existingExecuting, 'optionalAccess', _907 => _907.data, 'access', _908 => _908.toolTitle]))), () => ( _optionalChain([executingTool, 'optionalAccess', _909 => _909.toolTitle]))),
38926
- parameters: toolData.parameters || _optionalChain([executingTool, 'optionalAccess', _910 => _910.parameters])
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])
38927
38893
  }
38928
38894
  };
38929
38895
  if (existingIndex !== -1) {
@@ -38947,8 +38913,8 @@ var MessageSegmentAccumulator = class {
38947
38913
  if (seg.type !== "approval_batch") return seg;
38948
38914
  const hasCall = seg.data.toolCalls.some((c) => c.toolExecutionRequestId === execId);
38949
38915
  if (!hasCall) return seg;
38950
- const prev = _optionalChain([seg, 'access', _911 => _911.data, 'access', _912 => _912.executions, 'optionalAccess', _913 => _913[execId]]);
38951
- 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]) };
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]) };
38952
38918
  matched = true;
38953
38919
  return {
38954
38920
  ...seg,
@@ -39068,10 +39034,10 @@ var MessageSegmentAccumulator = class {
39068
39034
  const segment = {
39069
39035
  type: "approval_request",
39070
39036
  data: {
39071
- command: _optionalChain([pendingApproval, 'optionalAccess', _916 => _916.command]) || "",
39072
- explanation: _optionalChain([pendingApproval, 'optionalAccess', _917 => _917.explanation]),
39037
+ command: _optionalChain([pendingApproval, 'optionalAccess', _908 => _908.command]) || "",
39038
+ explanation: _optionalChain([pendingApproval, 'optionalAccess', _909 => _909.explanation]),
39073
39039
  requestId,
39074
- approvalType: _optionalChain([pendingApproval, 'optionalAccess', _918 => _918.approvalType]) || approvalType
39040
+ approvalType: _optionalChain([pendingApproval, 'optionalAccess', _910 => _910.approvalType]) || approvalType
39075
39041
  },
39076
39042
  status,
39077
39043
  onApprove: this.callbacks.onApprove,
@@ -39261,7 +39227,7 @@ function useRealtimeChunkProcessor(options) {
39261
39227
  if (initialState.escalatedApprovals) {
39262
39228
  pendingEscalatedRef.current = new Map(initialState.escalatedApprovals);
39263
39229
  initialState.escalatedApprovals.forEach((data, requestId) => {
39264
- _optionalChain([callbacks, 'access', _919 => _919.onEscalatedApproval, 'optionalCall', _920 => _920(requestId, data)]);
39230
+ _optionalChain([callbacks, 'access', _911 => _911.onEscalatedApproval, 'optionalCall', _912 => _912(requestId, data)]);
39265
39231
  });
39266
39232
  }
39267
39233
  hasEverStreamedRef.current = true;
@@ -39288,7 +39254,7 @@ function useRealtimeChunkProcessor(options) {
39288
39254
  if ((directModeFlagRef.current || sawDirectMessageRef.current) && !DIRECT_MODE_ALLOWED.has(action.action)) {
39289
39255
  if (isInStreamRef.current) {
39290
39256
  isInStreamRef.current = false;
39291
- _optionalChain([callbacks, 'access', _921 => _921.onStreamEnd, 'optionalCall', _922 => _922()]);
39257
+ _optionalChain([callbacks, 'access', _913 => _913.onStreamEnd, 'optionalCall', _914 => _914()]);
39292
39258
  accumulator.resetSegments();
39293
39259
  }
39294
39260
  return;
@@ -39297,32 +39263,32 @@ function useRealtimeChunkProcessor(options) {
39297
39263
  case "message_start":
39298
39264
  isInStreamRef.current = true;
39299
39265
  hasEverStreamedRef.current = true;
39300
- _optionalChain([callbacks, 'access', _923 => _923.onStreamStart, 'optionalCall', _924 => _924()]);
39266
+ _optionalChain([callbacks, 'access', _915 => _915.onStreamStart, 'optionalCall', _916 => _916()]);
39301
39267
  accumulator.resetSegments();
39302
39268
  break;
39303
39269
  case "message_end":
39304
39270
  isInStreamRef.current = false;
39305
- _optionalChain([callbacks, 'access', _925 => _925.onStreamEnd, 'optionalCall', _926 => _926()]);
39271
+ _optionalChain([callbacks, 'access', _917 => _917.onStreamEnd, 'optionalCall', _918 => _918()]);
39306
39272
  accumulator.resetSegments();
39307
39273
  break;
39308
39274
  case "metadata":
39309
- _optionalChain([callbacks, 'access', _927 => _927.onMetadata, 'optionalCall', _928 => _928(action)]);
39275
+ _optionalChain([callbacks, 'access', _919 => _919.onMetadata, 'optionalCall', _920 => _920(action)]);
39310
39276
  break;
39311
39277
  case "text": {
39312
39278
  const segments = accumulator.appendText(action.text);
39313
39279
  if (isInStreamRef.current || !hasEverStreamedRef.current) {
39314
- _optionalChain([callbacks, 'access', _929 => _929.onSegmentsUpdate, 'optionalCall', _930 => _930(segments)]);
39280
+ _optionalChain([callbacks, 'access', _921 => _921.onSegmentsUpdate, 'optionalCall', _922 => _922(segments)]);
39315
39281
  } else {
39316
- _optionalChain([callbacks, 'access', _931 => _931.onSegmentsUpdate, 'optionalCall', _932 => _932([{ type: "text", text: action.text }], { append: true })]);
39282
+ _optionalChain([callbacks, 'access', _923 => _923.onSegmentsUpdate, 'optionalCall', _924 => _924([{ type: "text", text: action.text }], { append: true })]);
39317
39283
  }
39318
39284
  break;
39319
39285
  }
39320
39286
  case "thinking": {
39321
39287
  const segments = accumulator.appendThinking(action.text);
39322
39288
  if (isInStreamRef.current || !hasEverStreamedRef.current) {
39323
- _optionalChain([callbacks, 'access', _933 => _933.onSegmentsUpdate, 'optionalCall', _934 => _934(segments)]);
39289
+ _optionalChain([callbacks, 'access', _925 => _925.onSegmentsUpdate, 'optionalCall', _926 => _926(segments)]);
39324
39290
  } else {
39325
- _optionalChain([callbacks, 'access', _935 => _935.onSegmentsUpdate, 'optionalCall', _936 => _936([{ type: "thinking", text: action.text }], { append: true })]);
39291
+ _optionalChain([callbacks, 'access', _927 => _927.onSegmentsUpdate, 'optionalCall', _928 => _928([{ type: "thinking", text: action.text }], { append: true })]);
39326
39292
  }
39327
39293
  break;
39328
39294
  }
@@ -39332,7 +39298,7 @@ function useRealtimeChunkProcessor(options) {
39332
39298
  break;
39333
39299
  }
39334
39300
  const segments = accumulator.addToolExecution(action.segment);
39335
- _optionalChain([callbacks, 'access', _937 => _937.onSegmentsUpdate, 'optionalCall', _938 => _938(segments)]);
39301
+ _optionalChain([callbacks, 'access', _929 => _929.onSegmentsUpdate, 'optionalCall', _930 => _930(segments)]);
39336
39302
  break;
39337
39303
  }
39338
39304
  case "approval_request": {
@@ -39346,10 +39312,10 @@ function useRealtimeChunkProcessor(options) {
39346
39312
  approvalType,
39347
39313
  status
39348
39314
  );
39349
- _optionalChain([callbacks, 'access', _939 => _939.onSegmentsUpdate, 'optionalCall', _940 => _940(segments)]);
39315
+ _optionalChain([callbacks, 'access', _931 => _931.onSegmentsUpdate, 'optionalCall', _932 => _932(segments)]);
39350
39316
  } else {
39351
39317
  pendingEscalatedRef.current.set(requestId, { command, explanation, approvalType });
39352
- _optionalChain([callbacks, 'access', _941 => _941.onEscalatedApproval, 'optionalCall', _942 => _942(requestId, { command, explanation, approvalType })]);
39318
+ _optionalChain([callbacks, 'access', _933 => _933.onEscalatedApproval, 'optionalCall', _934 => _934(requestId, { command, explanation, approvalType })]);
39353
39319
  }
39354
39320
  break;
39355
39321
  }
@@ -39361,20 +39327,20 @@ function useRealtimeChunkProcessor(options) {
39361
39327
  const summary = required ? getCommandText(required) : `Batch of ${toolCalls.length} tool calls`;
39362
39328
  pendingEscalatedRef.current.set(requestId, {
39363
39329
  command: summary,
39364
- explanation: _optionalChain([required, 'optionalAccess', _943 => _943.toolExplanation]),
39330
+ explanation: _optionalChain([required, 'optionalAccess', _935 => _935.toolExplanation]),
39365
39331
  approvalType,
39366
39332
  toolCalls
39367
39333
  });
39368
- _optionalChain([callbacks, 'access', _944 => _944.onEscalatedApproval, 'optionalCall', _945 => _945(requestId, {
39334
+ _optionalChain([callbacks, 'access', _936 => _936.onEscalatedApproval, 'optionalCall', _937 => _937(requestId, {
39369
39335
  command: summary,
39370
- explanation: _optionalChain([required, 'optionalAccess', _946 => _946.toolExplanation]),
39336
+ explanation: _optionalChain([required, 'optionalAccess', _938 => _938.toolExplanation]),
39371
39337
  approvalType
39372
39338
  })]);
39373
39339
  break;
39374
39340
  }
39375
39341
  if (batchApprovalsEnabled) {
39376
39342
  const segments2 = accumulator.addApprovalBatch(requestId, approvalType, toolCalls, status);
39377
- _optionalChain([callbacks, 'access', _947 => _947.onSegmentsUpdate, 'optionalCall', _948 => _948(segments2)]);
39343
+ _optionalChain([callbacks, 'access', _939 => _939.onSegmentsUpdate, 'optionalCall', _940 => _940(segments2)]);
39378
39344
  break;
39379
39345
  }
39380
39346
  let segments = accumulator.getSegments();
@@ -39388,7 +39354,7 @@ function useRealtimeChunkProcessor(options) {
39388
39354
  status
39389
39355
  );
39390
39356
  }
39391
- _optionalChain([callbacks, 'access', _949 => _949.onSegmentsUpdate, 'optionalCall', _950 => _950(segments)]);
39357
+ _optionalChain([callbacks, 'access', _941 => _941.onSegmentsUpdate, 'optionalCall', _942 => _942(segments)]);
39392
39358
  break;
39393
39359
  }
39394
39360
  case "approval_result": {
@@ -39397,7 +39363,7 @@ function useRealtimeChunkProcessor(options) {
39397
39363
  const status = approved ? "approved" : "rejected";
39398
39364
  if (escalatedData) {
39399
39365
  pendingEscalatedRef.current.delete(requestId);
39400
- _optionalChain([callbacks, 'access', _951 => _951.onEscalatedApprovalResult, 'optionalCall', _952 => _952(requestId, approved, {
39366
+ _optionalChain([callbacks, 'access', _943 => _943.onEscalatedApprovalResult, 'optionalCall', _944 => _944(requestId, approved, {
39401
39367
  command: escalatedData.command,
39402
39368
  explanation: escalatedData.explanation,
39403
39369
  approvalType: escalatedData.approvalType
@@ -39410,7 +39376,7 @@ function useRealtimeChunkProcessor(options) {
39410
39376
  escalatedData.toolCalls,
39411
39377
  status
39412
39378
  );
39413
- _optionalChain([callbacks, 'access', _953 => _953.onSegmentsUpdate, 'optionalCall', _954 => _954(segments)]);
39379
+ _optionalChain([callbacks, 'access', _945 => _945.onSegmentsUpdate, 'optionalCall', _946 => _946(segments)]);
39414
39380
  } else {
39415
39381
  let segments = accumulator.getSegments();
39416
39382
  for (const call of escalatedData.toolCalls) {
@@ -39423,7 +39389,7 @@ function useRealtimeChunkProcessor(options) {
39423
39389
  status
39424
39390
  );
39425
39391
  }
39426
- _optionalChain([callbacks, 'access', _955 => _955.onSegmentsUpdate, 'optionalCall', _956 => _956(segments)]);
39392
+ _optionalChain([callbacks, 'access', _947 => _947.onSegmentsUpdate, 'optionalCall', _948 => _948(segments)]);
39427
39393
  }
39428
39394
  } else {
39429
39395
  const segments = accumulator.addApprovalRequest(
@@ -39433,37 +39399,37 @@ function useRealtimeChunkProcessor(options) {
39433
39399
  escalatedData.approvalType,
39434
39400
  status
39435
39401
  );
39436
- _optionalChain([callbacks, 'access', _957 => _957.onSegmentsUpdate, 'optionalCall', _958 => _958(segments)]);
39402
+ _optionalChain([callbacks, 'access', _949 => _949.onSegmentsUpdate, 'optionalCall', _950 => _950(segments)]);
39437
39403
  }
39438
39404
  } else {
39439
39405
  accumulator.updateApprovalStatus(requestId, status);
39440
39406
  if (!callbacks.onApprovalResolved) {
39441
- _optionalChain([callbacks, 'access', _959 => _959.onSegmentsUpdate, 'optionalCall', _960 => _960(accumulator.getSegments())]);
39407
+ _optionalChain([callbacks, 'access', _951 => _951.onSegmentsUpdate, 'optionalCall', _952 => _952(accumulator.getSegments())]);
39442
39408
  }
39443
39409
  }
39444
- _optionalChain([callbacks, 'access', _961 => _961.onApprovalResolved, 'optionalCall', _962 => _962(requestId, status, approvalType)]);
39410
+ _optionalChain([callbacks, 'access', _953 => _953.onApprovalResolved, 'optionalCall', _954 => _954(requestId, status, approvalType)]);
39445
39411
  break;
39446
39412
  }
39447
39413
  case "error": {
39448
39414
  let message2;
39449
- if ("details" in action && _optionalChain([action, 'optionalAccess', _963 => _963.details])) {
39415
+ if ("details" in action && _optionalChain([action, 'optionalAccess', _955 => _955.details])) {
39450
39416
  try {
39451
- message2 = _optionalChain([JSON, 'access', _964 => _964.parse, 'call', _965 => _965(action.details), 'optionalAccess', _966 => _966.error, 'optionalAccess', _967 => _967.message]);
39417
+ message2 = _optionalChain([JSON, 'access', _956 => _956.parse, 'call', _957 => _957(action.details), 'optionalAccess', _958 => _958.error, 'optionalAccess', _959 => _959.message]);
39452
39418
  } catch (e43) {
39453
39419
  message2 = action.details;
39454
39420
  }
39455
39421
  }
39456
39422
  const segments = accumulator.addError(action.error, message2);
39457
- _optionalChain([callbacks, 'access', _968 => _968.onSegmentsUpdate, 'optionalCall', _969 => _969(segments)]);
39458
- _optionalChain([callbacks, 'access', _970 => _970.onError, 'optionalCall', _971 => _971(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)]);
39459
39425
  break;
39460
39426
  }
39461
39427
  case "system": {
39462
- _optionalChain([callbacks, 'access', _972 => _972.onSystemMessage, 'optionalCall', _973 => _973(action.text)]);
39428
+ _optionalChain([callbacks, 'access', _964 => _964.onSystemMessage, 'optionalCall', _965 => _965(action.text)]);
39463
39429
  break;
39464
39430
  }
39465
39431
  case "direct_message": {
39466
- _optionalChain([callbacks, 'access', _974 => _974.onDirectMessage, 'optionalCall', _975 => _975(action.text, {
39432
+ _optionalChain([callbacks, 'access', _966 => _966.onDirectMessage, 'optionalCall', _967 => _967(action.text, {
39467
39433
  ownerType: action.ownerType,
39468
39434
  displayName: action.displayName,
39469
39435
  userId: action.userId
@@ -39471,29 +39437,29 @@ function useRealtimeChunkProcessor(options) {
39471
39437
  break;
39472
39438
  }
39473
39439
  case "message_request":
39474
- _optionalChain([callbacks, 'access', _976 => _976.onUserMessage, 'optionalCall', _977 => _977(action.text, {
39440
+ _optionalChain([callbacks, 'access', _968 => _968.onUserMessage, 'optionalCall', _969 => _969(action.text, {
39475
39441
  ownerType: action.ownerType,
39476
39442
  displayName: action.displayName,
39477
39443
  userId: action.userId
39478
39444
  })]);
39479
39445
  break;
39480
39446
  case "token_usage":
39481
- _optionalChain([callbacks, 'access', _978 => _978.onTokenUsage, 'optionalCall', _979 => _979(action.data)]);
39447
+ _optionalChain([callbacks, 'access', _970 => _970.onTokenUsage, 'optionalCall', _971 => _971(action.data)]);
39482
39448
  break;
39483
39449
  case "context_compaction_start": {
39484
39450
  const standalone = !isInStreamRef.current;
39485
39451
  const segments = accumulator.addContextCompaction();
39486
- _optionalChain([callbacks, 'access', _980 => _980.onSegmentsUpdate, 'optionalCall', _981 => _981(segments, standalone ? { append: true, isCompacting: true } : void 0)]);
39452
+ _optionalChain([callbacks, 'access', _972 => _972.onSegmentsUpdate, 'optionalCall', _973 => _973(segments, standalone ? { append: true, isCompacting: true } : void 0)]);
39487
39453
  break;
39488
39454
  }
39489
39455
  case "context_compaction_end": {
39490
39456
  const standalone = !isInStreamRef.current;
39491
39457
  const segments = accumulator.completeContextCompaction(action.summary);
39492
- _optionalChain([callbacks, 'access', _982 => _982.onSegmentsUpdate, 'optionalCall', _983 => _983(segments, standalone ? { append: true, isCompacting: true } : void 0)]);
39458
+ _optionalChain([callbacks, 'access', _974 => _974.onSegmentsUpdate, 'optionalCall', _975 => _975(segments, standalone ? { append: true, isCompacting: true } : void 0)]);
39493
39459
  break;
39494
39460
  }
39495
39461
  case "dialog_closed":
39496
- _optionalChain([callbacks, 'access', _984 => _984.onDialogClosed, 'optionalCall', _985 => _985()]);
39462
+ _optionalChain([callbacks, 'access', _976 => _976.onDialogClosed, 'optionalCall', _977 => _977()]);
39497
39463
  break;
39498
39464
  default:
39499
39465
  break;
@@ -39555,7 +39521,7 @@ function useSlashCommands(prefix, commandsUrl) {
39555
39521
  const next = await fetchSlashCommands(prefix, ctrl.signal, commandsUrl);
39556
39522
  if (!cancelled) setCommands(next);
39557
39523
  } catch (err) {
39558
- if (!cancelled && _optionalChain([err, 'optionalAccess', _986 => _986.name]) !== "AbortError") {
39524
+ if (!cancelled && _optionalChain([err, 'optionalAccess', _978 => _978.name]) !== "AbortError") {
39559
39525
  console.warn("[use-slash-commands] fetch failed:", err);
39560
39526
  }
39561
39527
  } finally {
@@ -39574,7 +39540,7 @@ function useSlashCommandRegistry(commandsUrl, options) {
39574
39540
  const query = _reactquery.useQuery.call(void 0, {
39575
39541
  queryKey: ["chat-slash-commands", commandsUrl],
39576
39542
  queryFn: ({ signal }) => fetchSlashCommands("", signal, commandsUrl),
39577
- enabled: _nullishCoalesce(_optionalChain([options, 'optionalAccess', _987 => _987.enabled]), () => ( true)),
39543
+ enabled: _nullishCoalesce(_optionalChain([options, 'optionalAccess', _979 => _979.enabled]), () => ( true)),
39578
39544
  staleTime: Infinity,
39579
39545
  gcTime: Infinity
39580
39546
  });
@@ -39595,7 +39561,7 @@ var CHAT_ATTACHMENT_MAX_SIZE_BYTES = 25 * 1024 * 1024;
39595
39561
  var STORAGE_CACHE_CONTROL_IMMUTABLE = "public, max-age=31536000, immutable";
39596
39562
  function uploadWithProgress(url, file, token, onProgress, signal) {
39597
39563
  return new Promise((resolve, reject) => {
39598
- if (_optionalChain([signal, 'optionalAccess', _988 => _988.aborted])) {
39564
+ if (_optionalChain([signal, 'optionalAccess', _980 => _980.aborted])) {
39599
39565
  reject(new Error("Upload cancelled"));
39600
39566
  return;
39601
39567
  }
@@ -39609,7 +39575,7 @@ function uploadWithProgress(url, file, token, onProgress, signal) {
39609
39575
  xhr.removeEventListener("error", handleError);
39610
39576
  xhr.removeEventListener("abort", handleAbort);
39611
39577
  xhr.removeEventListener("timeout", handleTimeout);
39612
- _optionalChain([signal, 'optionalAccess', _989 => _989.removeEventListener, 'call', _990 => _990("abort", handleSignalAbort)]);
39578
+ _optionalChain([signal, 'optionalAccess', _981 => _981.removeEventListener, 'call', _982 => _982("abort", handleSignalAbort)]);
39613
39579
  if (xhr.readyState !== XMLHttpRequest.DONE) xhr.abort();
39614
39580
  };
39615
39581
  const handleProgress = (event) => {
@@ -39645,7 +39611,7 @@ function uploadWithProgress(url, file, token, onProgress, signal) {
39645
39611
  const handleSignalAbort = () => {
39646
39612
  xhr.abort();
39647
39613
  };
39648
- _optionalChain([signal, 'optionalAccess', _991 => _991.addEventListener, 'call', _992 => _992("abort", handleSignalAbort, { once: true })]);
39614
+ _optionalChain([signal, 'optionalAccess', _983 => _983.addEventListener, 'call', _984 => _984("abort", handleSignalAbort, { once: true })]);
39649
39615
  xhr.upload.addEventListener("progress", handleProgress);
39650
39616
  xhr.addEventListener("load", handleLoad);
39651
39617
  xhr.addEventListener("error", handleError);
@@ -39689,12 +39655,12 @@ function useChatAttachments() {
39689
39655
  try {
39690
39656
  sniffed = await _filetype.fileTypeFromBlob.call(void 0, att.file);
39691
39657
  } catch (err) {
39692
- if (_optionalChain([ctrl, 'optionalAccess', _993 => _993.signal, 'access', _994 => _994.aborted])) return;
39658
+ if (_optionalChain([ctrl, 'optionalAccess', _985 => _985.signal, 'access', _986 => _986.aborted])) return;
39693
39659
  throw new Error(
39694
39660
  `Could not read file content: ${err instanceof Error ? err.message : String(err)}`
39695
39661
  );
39696
39662
  }
39697
- if (_optionalChain([ctrl, 'optionalAccess', _995 => _995.signal, 'access', _996 => _996.aborted])) return;
39663
+ if (_optionalChain([ctrl, 'optionalAccess', _987 => _987.signal, 'access', _988 => _988.aborted])) return;
39698
39664
  if (!sniffed) {
39699
39665
  throw new Error("Unrecognized file format");
39700
39666
  }
@@ -39708,7 +39674,7 @@ function useChatAttachments() {
39708
39674
  const urlResp = await embedAuthedFetch(uploadUrlEndpoint, {
39709
39675
  method: "POST",
39710
39676
  headers: { "Content-Type": "application/json" },
39711
- signal: _optionalChain([ctrl, 'optionalAccess', _997 => _997.signal]),
39677
+ signal: _optionalChain([ctrl, 'optionalAccess', _989 => _989.signal]),
39712
39678
  body: JSON.stringify({
39713
39679
  fileName: att.file.name,
39714
39680
  // Pass the SNIFFED MIME (not `file.type`, which can be a
@@ -39734,9 +39700,9 @@ function useChatAttachments() {
39734
39700
  (pct) => {
39735
39701
  updateOne(att.id, { progress: pct });
39736
39702
  },
39737
- _optionalChain([ctrl, 'optionalAccess', _998 => _998.signal])
39703
+ _optionalChain([ctrl, 'optionalAccess', _990 => _990.signal])
39738
39704
  );
39739
- if (_optionalChain([ctrl, 'optionalAccess', _999 => _999.signal, 'access', _1000 => _1000.aborted])) return;
39705
+ if (_optionalChain([ctrl, 'optionalAccess', _991 => _991.signal, 'access', _992 => _992.aborted])) return;
39740
39706
  updateOne(att.id, {
39741
39707
  status: "ready",
39742
39708
  progress: 100,
@@ -39744,7 +39710,7 @@ function useChatAttachments() {
39744
39710
  viewToken: mintData.viewToken
39745
39711
  });
39746
39712
  } catch (err) {
39747
- if (_optionalChain([ctrl, 'optionalAccess', _1001 => _1001.signal, 'access', _1002 => _1002.aborted])) return;
39713
+ if (_optionalChain([ctrl, 'optionalAccess', _993 => _993.signal, 'access', _994 => _994.aborted])) return;
39748
39714
  const message2 = err instanceof Error ? err.message : String(err);
39749
39715
  updateOne(att.id, { status: "error", progress: 0, errorMessage: message2 });
39750
39716
  } finally {
@@ -39895,7 +39861,7 @@ var ANON_DEFAULTS = {
39895
39861
  function useResolveChatIdentity(enabled) {
39896
39862
  const runtime = _chunkMEAR2WHScjs.useRequiredChatRuntime.call(void 0, );
39897
39863
  const url = runtime.endpoints.identityUrl;
39898
- const proxyEmail = _nullishCoalesce(_optionalChain([getEmbedProxyAuth, 'call', _1003 => _1003(), 'optionalAccess', _1004 => _1004.email]), () => ( null));
39864
+ const proxyEmail = _nullishCoalesce(_optionalChain([getEmbedProxyAuth, 'call', _995 => _995(), 'optionalAccess', _996 => _996.email]), () => ( null));
39899
39865
  const [data, setData] = _react.useState.call(void 0, ANON_DEFAULTS);
39900
39866
  const [isLoading, setIsLoading] = _react.useState.call(void 0, enabled);
39901
39867
  _react.useEffect.call(void 0, () => {
@@ -39983,7 +39949,7 @@ function useSSE({ useMock = true, debugMode = false, streamFn } = {}) {
39983
39949
  yield chunk;
39984
39950
  }
39985
39951
  } catch (err) {
39986
- if (_optionalChain([err, 'optionalAccess', _1005 => _1005.name]) === "AbortError" || ctrl.signal.aborted) {
39952
+ if (_optionalChain([err, 'optionalAccess', _997 => _997.name]) === "AbortError" || ctrl.signal.aborted) {
39987
39953
  return;
39988
39954
  }
39989
39955
  const errorMessage = err instanceof Error ? err.message : "An error occurred";
@@ -40034,7 +40000,7 @@ function useChat({
40034
40000
  const onMessagesChangeRef = _react.useRef.call(void 0, onMessagesChange);
40035
40001
  onMessagesChangeRef.current = onMessagesChange;
40036
40002
  _react.useEffect.call(void 0, () => {
40037
- _optionalChain([onMessagesChangeRef, 'access', _1006 => _1006.current, 'optionalCall', _1007 => _1007(messages)]);
40003
+ _optionalChain([onMessagesChangeRef, 'access', _998 => _998.current, 'optionalCall', _999 => _999(messages)]);
40038
40004
  }, [messages]);
40039
40005
  const {
40040
40006
  streamMessage,
@@ -40071,7 +40037,7 @@ function useChat({
40071
40037
  name: "You",
40072
40038
  content: text,
40073
40039
  timestamp: /* @__PURE__ */ new Date(),
40074
- ..._optionalChain([options, 'optionalAccess', _1008 => _1008.hidden]) ? { hidden: true } : {}
40040
+ ..._optionalChain([options, 'optionalAccess', _1000 => _1000.hidden]) ? { hidden: true } : {}
40075
40041
  };
40076
40042
  addMessage(userMessage);
40077
40043
  setIsTyping(true);
@@ -40133,7 +40099,7 @@ function useChat({
40133
40099
  currentTextSegment = "";
40134
40100
  }
40135
40101
  const seg = segment;
40136
- const proposalId = _optionalChain([seg, 'access', _1009 => _1009.data, 'optionalAccess', _1010 => _1010.requestId]);
40102
+ const proposalId = _optionalChain([seg, 'access', _1001 => _1001.data, 'optionalAccess', _1002 => _1002.requestId]);
40137
40103
  const updateApprovalMessage = (transform) => {
40138
40104
  setMessages((prev) => {
40139
40105
  for (let i = prev.length - 1; i >= 0; i--) {
@@ -40142,7 +40108,7 @@ function useChat({
40142
40108
  if (!Array.isArray(m.content)) continue;
40143
40109
  const segments = m.content;
40144
40110
  const hasMatch = segments.some(
40145
- (s) => s.type === "approval_request" && _optionalChain([s, 'access', _1011 => _1011.data, 'optionalAccess', _1012 => _1012.requestId]) === proposalId
40111
+ (s) => s.type === "approval_request" && _optionalChain([s, 'access', _1003 => _1003.data, 'optionalAccess', _1004 => _1004.requestId]) === proposalId
40146
40112
  );
40147
40113
  if (!hasMatch) continue;
40148
40114
  const next = [...prev];
@@ -40184,11 +40150,11 @@ function useChat({
40184
40150
  if (!Array.isArray(m.content)) continue;
40185
40151
  const segments = m.content;
40186
40152
  const hasMatch = segments.some(
40187
- (s) => s.type === "approval_request" && _optionalChain([s, 'access', _1013 => _1013.data, 'optionalAccess', _1014 => _1014.requestId]) === decision.proposalId
40153
+ (s) => s.type === "approval_request" && _optionalChain([s, 'access', _1005 => _1005.data, 'optionalAccess', _1006 => _1006.requestId]) === decision.proposalId
40188
40154
  );
40189
40155
  if (!hasMatch) continue;
40190
40156
  const flipped = segments.map(
40191
- (s) => s.type === "approval_request" && _optionalChain([s, 'access', _1015 => _1015.data, 'optionalAccess', _1016 => _1016.requestId]) === decision.proposalId ? { ...s, status: decision.action } : s
40157
+ (s) => s.type === "approval_request" && _optionalChain([s, 'access', _1007 => _1007.data, 'optionalAccess', _1008 => _1008.requestId]) === decision.proposalId ? { ...s, status: decision.action } : s
40192
40158
  );
40193
40159
  const next = [...prev];
40194
40160
  next[i] = { ...m, content: flipped };
@@ -40350,8 +40316,8 @@ function createDocStreamFn(source, endpoints, messagesRef, sourcesMapRef, refsMa
40350
40316
  })),
40351
40317
  { role: "user", content: message2 }
40352
40318
  ];
40353
- const targetPath = _optionalChain([extra, 'optionalAccess', _1017 => _1017.approvalAction]) ? endpoints.approvalToolUrl : endpoints.chatStreamUrl;
40354
- const requestBody = _optionalChain([extra, 'optionalAccess', _1018 => _1018.approvalAction]) ? {
40319
+ const targetPath = _optionalChain([extra, 'optionalAccess', _1009 => _1009.approvalAction]) ? endpoints.approvalToolUrl : endpoints.chatStreamUrl;
40320
+ const requestBody = _optionalChain([extra, 'optionalAccess', _1010 => _1010.approvalAction]) ? {
40355
40321
  proposal_id: extra.approvalAction.proposalId,
40356
40322
  action: extra.approvalAction.action,
40357
40323
  messages: currentMessages.filter((m) => (m.role === "user" || m.role === "assistant") && !m.hidden).map((m) => ({
@@ -40360,8 +40326,8 @@ function createDocStreamFn(source, endpoints, messagesRef, sourcesMapRef, refsMa
40360
40326
  }))
40361
40327
  } : {
40362
40328
  messages: apiMessages,
40363
- ..._optionalChain([extra, 'optionalAccess', _1019 => _1019.commandOverride]) ? { commandOverride: extra.commandOverride } : {},
40364
- ..._optionalChain([extra, 'optionalAccess', _1020 => _1020.pendingAttachments]) && extra.pendingAttachments.length > 0 ? { pendingAttachments: extra.pendingAttachments } : {}
40329
+ ..._optionalChain([extra, 'optionalAccess', _1011 => _1011.commandOverride]) ? { commandOverride: extra.commandOverride } : {},
40330
+ ..._optionalChain([extra, 'optionalAccess', _1012 => _1012.pendingAttachments]) && extra.pendingAttachments.length > 0 ? { pendingAttachments: extra.pendingAttachments } : {}
40365
40331
  };
40366
40332
  const response = await embedAuthedFetch(targetPath, {
40367
40333
  method: "POST",
@@ -40371,7 +40337,7 @@ function createDocStreamFn(source, endpoints, messagesRef, sourcesMapRef, refsMa
40371
40337
  if (!response.ok) {
40372
40338
  throw new Error(`Chat request failed: ${response.status}`);
40373
40339
  }
40374
- const reader = _optionalChain([response, 'access', _1021 => _1021.body, 'optionalAccess', _1022 => _1022.getReader, 'call', _1023 => _1023()]);
40340
+ const reader = _optionalChain([response, 'access', _1013 => _1013.body, 'optionalAccess', _1014 => _1014.getReader, 'call', _1015 => _1015()]);
40375
40341
  if (!reader) throw new Error("No response body");
40376
40342
  const decoder = new TextDecoder();
40377
40343
  let buffer = "";
@@ -40454,7 +40420,7 @@ function createDocStreamFn(source, endpoints, messagesRef, sourcesMapRef, refsMa
40454
40420
  const toolName = typeof meta.tool_name === "string" ? meta.tool_name : void 0;
40455
40421
  const result = _nullishCoalesce(meta.result, () => ( null));
40456
40422
  const card = _nullishCoalesce(meta.card, () => ( null));
40457
- if (_optionalChain([card, 'optionalAccess', _1024 => _1024.ref, 'optionalAccess', _1025 => _1025.id]) && _optionalChain([card, 'optionalAccess', _1026 => _1026.type])) {
40423
+ if (_optionalChain([card, 'optionalAccess', _1016 => _1016.ref, 'optionalAccess', _1017 => _1017.id]) && _optionalChain([card, 'optionalAccess', _1018 => _1018.type])) {
40458
40424
  const existing = _nullishCoalesce(refsMapRef.current.get(sendIdx), () => ( {}));
40459
40425
  const key = buildChatRefKey(card.type, card.ref.id);
40460
40426
  refsMapRef.current.set(sendIdx, { ...existing, [key]: card.ref });
@@ -40467,8 +40433,8 @@ function createDocStreamFn(source, endpoints, messagesRef, sourcesMapRef, refsMa
40467
40433
  willAutoContinue: meta.willAutoContinue === true,
40468
40434
  ...toolName ? { toolName } : {},
40469
40435
  ...result ? { result } : {},
40470
- ..._optionalChain([card, 'optionalAccess', _1027 => _1027.marker]) ? { marker: card.marker } : {},
40471
- ..._optionalChain([card, 'optionalAccess', _1028 => _1028.ref]) ? { cardRef: card.ref } : {},
40436
+ ..._optionalChain([card, 'optionalAccess', _1019 => _1019.marker]) ? { marker: card.marker } : {},
40437
+ ..._optionalChain([card, 'optionalAccess', _1020 => _1020.ref]) ? { cardRef: card.ref } : {},
40472
40438
  ...typeof meta.receiptText === "string" ? { receiptText: meta.receiptText } : {},
40473
40439
  proposalId: typeof meta.proposalId === "string" ? meta.proposalId : void 0
40474
40440
  };
@@ -40587,7 +40553,7 @@ var DEFAULT_CHAT_SOURCE = "embed";
40587
40553
  var chatStorageKey = (source) => {
40588
40554
  const base = `mingo-chat-${source}-v${CHAT_STORAGE_VERSION}`;
40589
40555
  const auth = getEmbedProxyAuth();
40590
- if (_optionalChain([auth, 'optionalAccess', _1029 => _1029.email])) {
40556
+ if (_optionalChain([auth, 'optionalAccess', _1021 => _1021.email])) {
40591
40557
  return `${base}-u-${encodeURIComponent(auth.email.toLowerCase())}`;
40592
40558
  }
40593
40559
  return base;
@@ -40642,7 +40608,7 @@ function useSseChatAdapter(options, runtimeOptions = {}) {
40642
40608
  const { active = true } = runtimeOptions;
40643
40609
  const runtime = _chunkMEAR2WHScjs.useRequiredChatRuntime.call(void 0, );
40644
40610
  const source = runtime.source || DEFAULT_CHAT_SOURCE;
40645
- const tableIdForDocumentType = _nullishCoalesce(_optionalChain([options, 'optionalAccess', _1030 => _1030.tableIdForDocumentType]), () => ( defaultTableIdForDocumentType));
40611
+ const tableIdForDocumentType = _nullishCoalesce(_optionalChain([options, 'optionalAccess', _1022 => _1022.tableIdForDocumentType]), () => ( defaultTableIdForDocumentType));
40646
40612
  const persistedRef = _react.useRef.call(void 0, null);
40647
40613
  if (persistedRef.current === null) {
40648
40614
  pruneStaleChatStorage(source);
@@ -40747,7 +40713,7 @@ function useSseChatAdapter(options, runtimeOptions = {}) {
40747
40713
  const lookupIdx = sendIdx >= 0 ? sendIdx : 0;
40748
40714
  sources = sourcesMapRef.current.get(lookupIdx);
40749
40715
  chatRefs = _nullishCoalesce(m.chatRefs, () => ( refsMapRef.current.get(lookupIdx)));
40750
- scrollAnchor = _nullishCoalesce(_optionalChain([metaMapRef, 'access', _1031 => _1031.current, 'access', _1032 => _1032.get, 'call', _1033 => _1033(lookupIdx), 'optionalAccess', _1034 => _1034.scrollAnchor]), () => ( void 0));
40716
+ scrollAnchor = _nullishCoalesce(_optionalChain([metaMapRef, 'access', _1023 => _1023.current, 'access', _1024 => _1024.get, 'call', _1025 => _1025(lookupIdx), 'optionalAccess', _1026 => _1026.scrollAnchor]), () => ( void 0));
40751
40717
  }
40752
40718
  return {
40753
40719
  id: m.id,
@@ -40795,7 +40761,7 @@ function useSseChatAdapter(options, runtimeOptions = {}) {
40795
40761
  );
40796
40762
  return;
40797
40763
  }
40798
- const refSlug = typeof _optionalChain([reference, 'access', _1035 => _1035.metadata, 'optionalAccess', _1036 => _1036.slug]) === "string" && reference.metadata.slug.length > 0 ? reference.metadata.slug : "";
40764
+ const refSlug = typeof _optionalChain([reference, 'access', _1027 => _1027.metadata, 'optionalAccess', _1028 => _1028.slug]) === "string" && reference.metadata.slug.length > 0 ? reference.metadata.slug : "";
40799
40765
  const queryValue = refSlug || sanitizeTitleForChat(reference.title) || reference.id;
40800
40766
  const escaped = queryValue.replace(/\\/g, "\\\\").replace(/"/g, '\\"');
40801
40767
  const text = `/${cmdId} display "${escaped}"`;
@@ -40867,18 +40833,18 @@ function useSseChatAdapter(options, runtimeOptions = {}) {
40867
40833
  clearMessages,
40868
40834
  streamingPhase,
40869
40835
  /** Provider key for the lib's `<ModelDisplay>` icon. */
40870
- currentProvider: _nullishCoalesce(_optionalChain([latestMeta, 'optionalAccess', _1037 => _1037.provider]), () => ( null)),
40871
- currentModelLabel: _nullishCoalesce(_optionalChain([latestMeta, 'optionalAccess', _1038 => _1038.modelLabel]), () => ( null)),
40872
- currentContextWindowMaxTokens: _nullishCoalesce(_optionalChain([latestMeta, 'optionalAccess', _1039 => _1039.contextWindowMaxTokens]), () => ( null)),
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
40839
  /** Input tokens (known after server's message_start frame; null until). */
40874
- currentInputTokens: _nullishCoalesce(_optionalChain([latestMeta, 'optionalAccess', _1040 => _1040.inputTokens]), () => ( null)),
40840
+ currentInputTokens: _nullishCoalesce(_optionalChain([latestMeta, 'optionalAccess', _1032 => _1032.inputTokens]), () => ( null)),
40875
40841
  /** Output tokens (known only after server's trailing usage frame). */
40876
- currentOutputTokens: _nullishCoalesce(_optionalChain([latestMeta, 'optionalAccess', _1041 => _1041.outputTokens]), () => ( null)),
40842
+ currentOutputTokens: _nullishCoalesce(_optionalChain([latestMeta, 'optionalAccess', _1033 => _1033.outputTokens]), () => ( null)),
40877
40843
  /** Cache hit % (read / total-input × 100). null during streaming. */
40878
- currentCacheHitRatePct: _nullishCoalesce(_optionalChain([latestMeta, 'optionalAccess', _1042 => _1042.cacheHitRatePct]), () => ( null)),
40844
+ currentCacheHitRatePct: _nullishCoalesce(_optionalChain([latestMeta, 'optionalAccess', _1034 => _1034.cacheHitRatePct]), () => ( null)),
40879
40845
  /** Cross-call usage breakdown (Haiku rewriter/classifier/summarizer
40880
40846
  * token counts). null until the trailing usage frame lands. */
40881
- currentUsageBreakdown: _nullishCoalesce(_optionalChain([latestMeta, 'optionalAccess', _1043 => _1043.breakdown]), () => ( null)),
40847
+ currentUsageBreakdown: _nullishCoalesce(_optionalChain([latestMeta, 'optionalAccess', _1035 => _1035.breakdown]), () => ( null)),
40882
40848
  // ─── Dialog management — stubs for v1 ────────────────────────────────
40883
40849
  // Guide mode currently keeps its history in `localStorage` opaquely
40884
40850
  // under the hood (`runtime.source` namespaced key). Surfacing that
@@ -40936,15 +40902,15 @@ var noopRejectRequest = async (_id, _reason) => {
40936
40902
 
40937
40903
  // src/components/chat/utils/process-historical-messages.ts
40938
40904
  function getOwnerDisplayName(owner) {
40939
- if (_optionalChain([owner, 'optionalAccess', _1044 => _1044.type]) === OWNER_TYPE.ADMIN && owner.user) {
40905
+ if (_optionalChain([owner, 'optionalAccess', _1036 => _1036.type]) === OWNER_TYPE.ADMIN && owner.user) {
40940
40906
  const { firstName, lastName } = owner.user;
40941
40907
  const name = [firstName, lastName].filter(Boolean).join(" ");
40942
40908
  if (name) return name;
40943
40909
  }
40944
- return _optionalChain([owner, 'optionalAccess', _1045 => _1045.type]) === OWNER_TYPE.ADMIN ? "Admin" : "You";
40910
+ return _optionalChain([owner, 'optionalAccess', _1037 => _1037.type]) === OWNER_TYPE.ADMIN ? "Admin" : "You";
40945
40911
  }
40946
40912
  function getOwnerAvatar(owner) {
40947
- return _nullishCoalesce(_optionalChain([owner, 'optionalAccess', _1046 => _1046.user, 'optionalAccess', _1047 => _1047.image, 'optionalAccess', _1048 => _1048.imageUrl]), () => ( void 0));
40913
+ return _nullishCoalesce(_optionalChain([owner, 'optionalAccess', _1038 => _1038.user, 'optionalAccess', _1039 => _1039.image, 'optionalAccess', _1040 => _1040.imageUrl]), () => ( void 0));
40948
40914
  }
40949
40915
  function pushStandaloneMessages(processedMessages, msg, messageDataArray) {
40950
40916
  messageDataArray.forEach((data) => {
@@ -41007,10 +40973,10 @@ function processHistoricalMessages(messages, options = {}) {
41007
40973
  pushStandaloneMessages(processedMessages, msg, messageDataArray);
41008
40974
  return;
41009
40975
  }
41010
- 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;
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;
41011
40977
  if (isUserMessage) {
41012
40978
  flushAssistantMessage();
41013
- const userAuthorType = _optionalChain([msg, 'access', _1053 => _1053.owner, 'optionalAccess', _1054 => _1054.type]) === OWNER_TYPE.ADMIN ? "admin" : "user";
40979
+ const userAuthorType = _optionalChain([msg, 'access', _1045 => _1045.owner, 'optionalAccess', _1046 => _1046.type]) === OWNER_TYPE.ADMIN ? "admin" : "user";
41014
40980
  messageDataArray.forEach((data) => {
41015
40981
  if (data.type === MESSAGE_TYPE.TEXT && "text" in data && data.text) {
41016
40982
  processedMessages.push({
@@ -41035,7 +41001,7 @@ function processHistoricalMessages(messages, options = {}) {
41035
41001
  });
41036
41002
  const nextMsg = messages[index + 1];
41037
41003
  const isLastMessage = index === messages.length - 1;
41038
- 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);
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);
41039
41005
  if (isLastMessage || nextIsFromUser) {
41040
41006
  flushAssistantMessage();
41041
41007
  }
@@ -41145,7 +41111,7 @@ function processMessageData(data, accumulator, approvalStatuses, options = {}, e
41145
41111
  }
41146
41112
  }
41147
41113
  } else {
41148
- _optionalChain([escalatedApprovals, 'optionalAccess', _1059 => _1059.set, 'call', _1060 => _1060(data.approvalRequestId, {
41114
+ _optionalChain([escalatedApprovals, 'optionalAccess', _1051 => _1051.set, 'call', _1052 => _1052(data.approvalRequestId, {
41149
41115
  command: data.command || "",
41150
41116
  explanation: data.explanation,
41151
41117
  approvalType,
@@ -41158,8 +41124,8 @@ function processMessageData(data, accumulator, approvalStatuses, options = {}, e
41158
41124
  if ("approvalRequestId" in data && data.approvalRequestId) {
41159
41125
  const existingStatus = approvalStatuses[data.approvalRequestId];
41160
41126
  const status = existingStatus || (data.approved ? "approved" : "rejected");
41161
- const escalatedData = _optionalChain([escalatedApprovals, 'optionalAccess', _1061 => _1061.get, 'call', _1062 => _1062(data.approvalRequestId)]);
41162
- if (_optionalChain([escalatedData, 'optionalAccess', _1063 => _1063.toolCalls]) && escalatedData.toolCalls.length > 0) {
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) {
41163
41129
  if (batchApprovalsEnabled) {
41164
41130
  accumulator.addApprovalBatch(
41165
41131
  data.approvalRequestId,
@@ -41179,7 +41145,7 @@ function processMessageData(data, accumulator, approvalStatuses, options = {}, e
41179
41145
  );
41180
41146
  }
41181
41147
  }
41182
- _optionalChain([escalatedApprovals, 'optionalAccess', _1064 => _1064.delete, 'call', _1065 => _1065(data.approvalRequestId)]);
41148
+ _optionalChain([escalatedApprovals, 'optionalAccess', _1056 => _1056.delete, 'call', _1057 => _1057(data.approvalRequestId)]);
41183
41149
  break;
41184
41150
  }
41185
41151
  if (escalatedData) {
@@ -41188,7 +41154,7 @@ function processMessageData(data, accumulator, approvalStatuses, options = {}, e
41188
41154
  explanation: escalatedData.explanation,
41189
41155
  approvalType: escalatedData.approvalType
41190
41156
  });
41191
- _optionalChain([escalatedApprovals, 'optionalAccess', _1066 => _1066.delete, 'call', _1067 => _1067(data.approvalRequestId)]);
41157
+ _optionalChain([escalatedApprovals, 'optionalAccess', _1058 => _1058.delete, 'call', _1059 => _1059(data.approvalRequestId)]);
41192
41158
  }
41193
41159
  const before = accumulator.getSegments();
41194
41160
  const after = accumulator.updateApprovalStatus(data.approvalRequestId, status);
@@ -41204,9 +41170,9 @@ function processMessageData(data, accumulator, approvalStatuses, options = {}, e
41204
41170
  case MESSAGE_TYPE.ERROR:
41205
41171
  if ("error" in data) {
41206
41172
  let message2;
41207
- if ("details" in data && _optionalChain([data, 'optionalAccess', _1068 => _1068.details])) {
41173
+ if ("details" in data && _optionalChain([data, 'optionalAccess', _1060 => _1060.details])) {
41208
41174
  try {
41209
- message2 = _optionalChain([JSON, 'access', _1069 => _1069.parse, 'call', _1070 => _1070(data.details), 'optionalAccess', _1071 => _1071.error, 'optionalAccess', _1072 => _1072.message]);
41175
+ message2 = _optionalChain([JSON, 'access', _1061 => _1061.parse, 'call', _1062 => _1062(data.details), 'optionalAccess', _1063 => _1063.error, 'optionalAccess', _1064 => _1064.message]);
41210
41176
  } catch (e50) {
41211
41177
  message2 = data.details;
41212
41178
  }
@@ -41289,10 +41255,10 @@ function processHistoricalMessagesWithErrors(messages, options = {}) {
41289
41255
  pushStandaloneMessages(processedMessages, msg, messageDataArray);
41290
41256
  return;
41291
41257
  }
41292
- 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;
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;
41293
41259
  if (isUserMessage) {
41294
41260
  flushAssistantMessage();
41295
- const userAuthorType = _optionalChain([msg, 'access', _1077 => _1077.owner, 'optionalAccess', _1078 => _1078.type]) === OWNER_TYPE.ADMIN ? "admin" : "user";
41261
+ const userAuthorType = _optionalChain([msg, 'access', _1069 => _1069.owner, 'optionalAccess', _1070 => _1070.type]) === OWNER_TYPE.ADMIN ? "admin" : "user";
41296
41262
  messageDataArray.forEach((data) => {
41297
41263
  if (data.type === MESSAGE_TYPE.TEXT && "text" in data && data.text) {
41298
41264
  processedMessages.push({
@@ -41317,7 +41283,7 @@ function processHistoricalMessagesWithErrors(messages, options = {}) {
41317
41283
  });
41318
41284
  const nextMsg = messages[index + 1];
41319
41285
  const isLastMessage = index === messages.length - 1;
41320
- 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);
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);
41321
41287
  if (isLastMessage || nextIsFromUser) {
41322
41288
  flushAssistantMessage();
41323
41289
  }
@@ -41655,7 +41621,7 @@ function useNatsChatAdapter(config, options = {}) {
41655
41621
  }, [active, fetchDialogs, loadDialogsPage]);
41656
41622
  const sendMessage = _react.useCallback.call(void 0,
41657
41623
  async (text, sendOptions) => {
41658
- const hidden = _nullishCoalesce(_optionalChain([sendOptions, 'optionalAccess', _1083 => _1083.hidden]), () => ( false));
41624
+ const hidden = _nullishCoalesce(_optionalChain([sendOptions, 'optionalAccess', _1075 => _1075.hidden]), () => ( false));
41659
41625
  setMessages((prev) => [
41660
41626
  ...prev,
41661
41627
  {
@@ -41819,11 +41785,11 @@ function useNatsChatAdapter(config, options = {}) {
41819
41785
  // Tokens: live `token_usage` frame / dialog snapshot (`dialogTokenUsage`).
41820
41786
  // contextWindow uses the dialog's `contextSize` (the "X / Y" denominator,
41821
41787
  // matching the /mingo page). cacheHitRate/breakdown are SSE-only → null.
41822
- currentProvider: _nullishCoalesce(_nullishCoalesce(_optionalChain([liveModel, 'optionalAccess', _1084 => _1084.provider]), () => ( modelProvider)), () => ( null)),
41823
- currentModelLabel: _nullishCoalesce(_nullishCoalesce(_optionalChain([liveModel, 'optionalAccess', _1085 => _1085.modelLabel]), () => ( modelLabel)), () => ( null)),
41824
- currentContextWindowMaxTokens: _nullishCoalesce(_nullishCoalesce(_optionalChain([dialogTokenUsage, 'optionalAccess', _1086 => _1086.contextSize]), () => ( _optionalChain([liveModel, 'optionalAccess', _1087 => _1087.contextWindowMaxTokens]))), () => ( null)),
41825
- currentInputTokens: _nullishCoalesce(_optionalChain([dialogTokenUsage, 'optionalAccess', _1088 => _1088.inputTokensSize]), () => ( null)),
41826
- currentOutputTokens: _nullishCoalesce(_optionalChain([dialogTokenUsage, 'optionalAccess', _1089 => _1089.outputTokensSize]), () => ( 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)),
41827
41793
  currentCacheHitRatePct: null,
41828
41794
  currentUsageBreakdown: null,
41829
41795
  // Dialog management
@@ -42071,7 +42037,7 @@ function extractIncompleteMessageState(lastMessage) {
42071
42037
  break;
42072
42038
  case "approval_batch": {
42073
42039
  const allDone = !!segment.data.executions && segment.data.toolCalls.every(
42074
- (c) => _optionalChain([segment, 'access', _1090 => _1090.data, 'access', _1091 => _1091.executions, 'optionalAccess', _1092 => _1092[c.toolExecutionRequestId], 'optionalAccess', _1093 => _1093.status]) === "done"
42040
+ (c) => _optionalChain([segment, 'access', _1082 => _1082.data, 'access', _1083 => _1083.executions, 'optionalAccess', _1084 => _1084[c.toolExecutionRequestId], 'optionalAccess', _1085 => _1085.status]) === "done"
42075
42041
  );
42076
42042
  if (segment.status !== "rejected" && !allDone) {
42077
42043
  hasIncompleteState = true;
@@ -42095,6 +42061,110 @@ function extractIncompleteMessageState(lastMessage) {
42095
42061
  };
42096
42062
  }
42097
42063
 
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
+
42098
42168
  // src/components/chat/utils/chip-action-class.ts
42099
42169
  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";
42100
42170
 
@@ -42279,7 +42349,7 @@ function useChatDialogManager({
42279
42349
  const handleConfirmRestore = _react.useCallback.call(void 0, async () => {
42280
42350
  if (restoreTarget) {
42281
42351
  try {
42282
- await _optionalChain([unarchiveDialog, 'optionalCall', _1094 => _1094(restoreTarget.id)]);
42352
+ await _optionalChain([unarchiveDialog, 'optionalCall', _1103 => _1103(restoreTarget.id)]);
42283
42353
  } catch (err) {
42284
42354
  console.error("[useChatDialogManager] unarchive failed:", err);
42285
42355
  return;
@@ -42678,7 +42748,7 @@ function EmbeddableChatInner({
42678
42748
  }),
42679
42749
  [commandsUrl]
42680
42750
  );
42681
- 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;
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;
42682
42752
  const effectiveModes = _react.useMemo.call(void 0, () => {
42683
42753
  if (modes) return modes;
42684
42754
  const guideOptions = tableIdForDocumentType ? { tableIdForDocumentType } : {};
@@ -42687,17 +42757,17 @@ function EmbeddableChatInner({
42687
42757
  const mingoCaps = _react.useMemo.call(void 0, () => {
42688
42758
  if (mingoState) {
42689
42759
  return {
42690
- canRename: _nullishCoalesce(_optionalChain([mingoDialogCapabilities, 'optionalAccess', _1104 => _1104.canRename]), () => ( false)),
42691
- canArchive: _nullishCoalesce(_optionalChain([mingoDialogCapabilities, 'optionalAccess', _1105 => _1105.canArchive]), () => ( false)),
42692
- fetchArchivedDialogs: _optionalChain([mingoDialogCapabilities, 'optionalAccess', _1106 => _1106.fetchArchivedDialogs]),
42693
- unarchiveDialog: _optionalChain([mingoDialogCapabilities, 'optionalAccess', _1107 => _1107.unarchiveDialog])
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])
42694
42764
  };
42695
42765
  }
42696
42766
  return {
42697
- canRename: !!_optionalChain([effectiveModes, 'access', _1108 => _1108.mingo, 'optionalAccess', _1109 => _1109.renameDialog]),
42698
- canArchive: !!_optionalChain([effectiveModes, 'access', _1110 => _1110.mingo, 'optionalAccess', _1111 => _1111.archiveDialog]),
42699
- fetchArchivedDialogs: _optionalChain([effectiveModes, 'access', _1112 => _1112.mingo, 'optionalAccess', _1113 => _1113.fetchArchivedDialogs]),
42700
- unarchiveDialog: _optionalChain([effectiveModes, 'access', _1114 => _1114.mingo, 'optionalAccess', _1115 => _1115.unarchiveDialog])
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])
42701
42771
  };
42702
42772
  }, [mingoState, mingoDialogCapabilities, effectiveModes]);
42703
42773
  const hasMingoMode = !!effectiveModes.mingo || !!mingoState;
@@ -42709,7 +42779,7 @@ function EmbeddableChatInner({
42709
42779
  if (controlledActiveMode === void 0) {
42710
42780
  setUncontrolledActiveMode(next);
42711
42781
  }
42712
- _optionalChain([onActiveModeChange, 'optionalCall', _1116 => _1116(next)]);
42782
+ _optionalChain([onActiveModeChange, 'optionalCall', _1125 => _1125(next)]);
42713
42783
  },
42714
42784
  [controlledActiveMode, onActiveModeChange]
42715
42785
  );
@@ -42916,9 +42986,9 @@ function EmbeddableChatInner({
42916
42986
  const lastAssistantMsg = [...rawMessages].reverse().find((m) => m.role === "assistant");
42917
42987
  const lastSources = _react.useMemo.call(void 0, () => {
42918
42988
  if (chatLoading) return void 0;
42919
- const sources = _optionalChain([lastAssistantMsg, 'optionalAccess', _1117 => _1117.sources]);
42989
+ const sources = _optionalChain([lastAssistantMsg, 'optionalAccess', _1126 => _1126.sources]);
42920
42990
  if (!sources || sources.length === 0) return void 0;
42921
- const content = _optionalChain([lastAssistantMsg, 'optionalAccess', _1118 => _1118.content]) || "";
42991
+ const content = _optionalChain([lastAssistantMsg, 'optionalAccess', _1127 => _1127.content]) || "";
42922
42992
  const citationOrder = [...content.matchAll(/\[(\d+)\]/g)].map(
42923
42993
  (m) => parseInt(m[1], 10)
42924
42994
  );
@@ -42965,7 +43035,7 @@ function EmbeddableChatInner({
42965
43035
  ChatPanelHeader,
42966
43036
  {
42967
43037
  showBack: hasConversation || guideCanReturnToMingo,
42968
- title: hasConversation ? _optionalChain([activeDialog, 'optionalAccess', _1119 => _1119.title]) || "New Chat" : isGuideEmpty ? "Mingo Guide" : "Current Chats",
43038
+ title: hasConversation ? _optionalChain([activeDialog, 'optionalAccess', _1128 => _1128.title]) || "New Chat" : isGuideEmpty ? "Mingo Guide" : "Current Chats",
42969
43039
  backAriaLabel: hasConversation ? isViewingArchived ? "Back to archive" : "Back" : "Back to Mingo",
42970
43040
  isArchivedView: isViewingArchived,
42971
43041
  onBack: hasConversation ? handleBack : () => handleActiveModeChange("mingo"),
@@ -43070,10 +43140,10 @@ function EmbeddableChatInner({
43070
43140
  subtitle: _nullishCoalesce(emptyStateGreeting, () => ( void 0)),
43071
43141
  ...guideWelcome,
43072
43142
  onQuickAction: (action) => {
43073
- _optionalChain([chatInputRef, 'access', _1120 => _1120.current, 'optionalAccess', _1121 => _1121.setValue, 'call', _1122 => _1122(
43143
+ _optionalChain([chatInputRef, 'access', _1129 => _1129.current, 'optionalAccess', _1130 => _1130.setValue, 'call', _1131 => _1131(
43074
43144
  _nullishCoalesce(action.prompt, () => ( action.label))
43075
43145
  )]);
43076
- _optionalChain([chatInputRef, 'access', _1123 => _1123.current, 'optionalAccess', _1124 => _1124.focus, 'call', _1125 => _1125()]);
43146
+ _optionalChain([chatInputRef, 'access', _1132 => _1132.current, 'optionalAccess', _1133 => _1133.focus, 'call', _1134 => _1134()]);
43077
43147
  },
43078
43148
  children: (chipCommands.length > 0 || !commandsLoaded) && /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "shrink-0 overflow-hidden rounded-md border border-ods-border", children: [
43079
43149
  !commandsLoaded && chipCommands.length === 0 && SKELETON_ROW_VARIANTS.map((variant, i) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
@@ -44025,7 +44095,5 @@ function EmbeddableChatInner({
44025
44095
 
44026
44096
 
44027
44097
 
44028
-
44029
-
44030
- 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;
44031
- //# sourceMappingURL=chunk-CZITXP77.cjs.map
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