@flamingo-stack/openframe-frontend-core 0.0.536-1778.4708.1 → 0.0.536

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 (92) hide show
  1. package/dist/{chunk-HJLTSFJD.js → chunk-2PJ442HY.js} +6 -6
  2. package/dist/{chunk-2CNAIDXH.cjs → chunk-32SKUKQO.cjs} +37 -37
  3. package/dist/{chunk-2CNAIDXH.cjs.map → chunk-32SKUKQO.cjs.map} +1 -1
  4. package/dist/{chunk-4SUAWVO5.cjs → chunk-3ROYMRZE.cjs} +61 -61
  5. package/dist/{chunk-4SUAWVO5.cjs.map → chunk-3ROYMRZE.cjs.map} +1 -1
  6. package/dist/{chunk-B6PCCU6S.cjs → chunk-3XSSW3IZ.cjs} +5 -5
  7. package/dist/{chunk-B6PCCU6S.cjs.map → chunk-3XSSW3IZ.cjs.map} +1 -1
  8. package/dist/{chunk-HHKFONWO.cjs → chunk-4TO3WDKH.cjs} +11 -11
  9. package/dist/{chunk-HHKFONWO.cjs.map → chunk-4TO3WDKH.cjs.map} +1 -1
  10. package/dist/{chunk-B3LLXCEG.js → chunk-6SV4XZMD.js} +6 -2
  11. package/dist/{chunk-B3LLXCEG.js.map → chunk-6SV4XZMD.js.map} +1 -1
  12. package/dist/{chunk-VWRQY2LF.js → chunk-AECHSFLC.js} +2 -2
  13. package/dist/{chunk-EFT7XIOQ.js → chunk-BEZFZ2CS.js} +4 -4
  14. package/dist/{chunk-2OULGPOE.js → chunk-BHB7F4EN.js} +2 -2
  15. package/dist/{chunk-YDB7EPCP.cjs → chunk-C257223X.cjs} +7 -7
  16. package/dist/{chunk-YDB7EPCP.cjs.map → chunk-C257223X.cjs.map} +1 -1
  17. package/dist/{chunk-O7F25LCP.cjs → chunk-EEOLXN4D.cjs} +4 -4
  18. package/dist/{chunk-O7F25LCP.cjs.map → chunk-EEOLXN4D.cjs.map} +1 -1
  19. package/dist/{chunk-WM4YD7XI.js → chunk-FFJL6FEB.js} +2 -2
  20. package/dist/{chunk-3BKBCRIB.cjs → chunk-FIPHDAD2.cjs} +26 -26
  21. package/dist/{chunk-3BKBCRIB.cjs.map → chunk-FIPHDAD2.cjs.map} +1 -1
  22. package/dist/{chunk-LBUCVHSR.js → chunk-GM72KRPS.js} +4 -4
  23. package/dist/{chunk-YAI3HNXF.js → chunk-IOXNHTGX.js} +2 -2
  24. package/dist/{chunk-TP3JYJFG.cjs → chunk-L73PC7MW.cjs} +9 -9
  25. package/dist/{chunk-TP3JYJFG.cjs.map → chunk-L73PC7MW.cjs.map} +1 -1
  26. package/dist/{chunk-4FCORR5X.js → chunk-LUZPF7NX.js} +2 -2
  27. package/dist/{chunk-5PFIB3ZD.js → chunk-MM5C6NID.js} +5 -5
  28. package/dist/{chunk-S7VHIBH7.cjs → chunk-MTLFROMV.cjs} +3 -3
  29. package/dist/{chunk-S7VHIBH7.cjs.map → chunk-MTLFROMV.cjs.map} +1 -1
  30. package/dist/{chunk-X6G3EUFU.cjs → chunk-NCUZ64LM.cjs} +87 -87
  31. package/dist/{chunk-X6G3EUFU.cjs.map → chunk-NCUZ64LM.cjs.map} +1 -1
  32. package/dist/{chunk-YPNCHSUK.js → chunk-NEV7TKMB.js} +2 -2
  33. package/dist/{chunk-MRUZGZIL.js → chunk-ONWQ52QG.js} +2 -2
  34. package/dist/{chunk-ULDGQF65.cjs → chunk-PA5NMP6K.cjs} +26 -26
  35. package/dist/{chunk-ULDGQF65.cjs.map → chunk-PA5NMP6K.cjs.map} +1 -1
  36. package/dist/{chunk-PY4E7WOL.js → chunk-QAMRW5TG.js} +2 -2
  37. package/dist/{chunk-PDY4CSMB.cjs → chunk-SL2GDMZR.cjs} +31 -31
  38. package/dist/{chunk-PDY4CSMB.cjs.map → chunk-SL2GDMZR.cjs.map} +1 -1
  39. package/dist/{chunk-S3BEVTFG.cjs → chunk-TRLZV7WM.cjs} +213 -209
  40. package/dist/chunk-TRLZV7WM.cjs.map +1 -0
  41. package/dist/{chunk-E7AEOYIJ.js → chunk-X6UHNN3E.js} +2 -2
  42. package/dist/{chunk-726O5SCW.cjs → chunk-ZZDRBFEV.cjs} +14 -14
  43. package/dist/{chunk-726O5SCW.cjs.map → chunk-ZZDRBFEV.cjs.map} +1 -1
  44. package/dist/components/case-studies/index.cjs +8 -8
  45. package/dist/components/case-studies/index.js +2 -2
  46. package/dist/components/chat/entity-cards/dispatch.d.ts.map +1 -1
  47. package/dist/components/chat/index.cjs +2 -2
  48. package/dist/components/chat/index.js +1 -1
  49. package/dist/components/contact/index.cjs +3 -3
  50. package/dist/components/contact/index.js +2 -2
  51. package/dist/components/docs/index.cjs +5 -5
  52. package/dist/components/docs/index.js +4 -4
  53. package/dist/components/embeds/index.cjs +3 -3
  54. package/dist/components/embeds/index.js +2 -2
  55. package/dist/components/faq/index.cjs +3 -3
  56. package/dist/components/faq/index.js +2 -2
  57. package/dist/components/features/index.cjs +2 -2
  58. package/dist/components/features/index.js +1 -1
  59. package/dist/components/help-center-pages/index.cjs +22 -22
  60. package/dist/components/help-center-pages/index.js +13 -13
  61. package/dist/components/index.cjs +132 -132
  62. package/dist/components/index.js +11 -11
  63. package/dist/components/meeting-scheduler/index.cjs +34 -34
  64. package/dist/components/meeting-scheduler/index.js +3 -3
  65. package/dist/components/navigation/index.cjs +2 -2
  66. package/dist/components/navigation/index.js +1 -1
  67. package/dist/components/onboarding-guides/index.cjs +5 -5
  68. package/dist/components/onboarding-guides/index.js +4 -4
  69. package/dist/components/related-content/index.cjs +3 -3
  70. package/dist/components/related-content/index.js +2 -2
  71. package/dist/components/tickets/index.cjs +6 -6
  72. package/dist/components/tickets/index.js +5 -5
  73. package/dist/components/ui/index.cjs +2 -2
  74. package/dist/components/ui/index.js +1 -1
  75. package/dist/index.cjs +2 -2
  76. package/dist/index.js +1 -1
  77. package/package.json +1 -1
  78. package/src/components/chat/entity-cards/dispatch.tsx +7 -0
  79. package/dist/chunk-S3BEVTFG.cjs.map +0 -1
  80. /package/dist/{chunk-HJLTSFJD.js.map → chunk-2PJ442HY.js.map} +0 -0
  81. /package/dist/{chunk-VWRQY2LF.js.map → chunk-AECHSFLC.js.map} +0 -0
  82. /package/dist/{chunk-EFT7XIOQ.js.map → chunk-BEZFZ2CS.js.map} +0 -0
  83. /package/dist/{chunk-2OULGPOE.js.map → chunk-BHB7F4EN.js.map} +0 -0
  84. /package/dist/{chunk-WM4YD7XI.js.map → chunk-FFJL6FEB.js.map} +0 -0
  85. /package/dist/{chunk-LBUCVHSR.js.map → chunk-GM72KRPS.js.map} +0 -0
  86. /package/dist/{chunk-YAI3HNXF.js.map → chunk-IOXNHTGX.js.map} +0 -0
  87. /package/dist/{chunk-4FCORR5X.js.map → chunk-LUZPF7NX.js.map} +0 -0
  88. /package/dist/{chunk-5PFIB3ZD.js.map → chunk-MM5C6NID.js.map} +0 -0
  89. /package/dist/{chunk-YPNCHSUK.js.map → chunk-NEV7TKMB.js.map} +0 -0
  90. /package/dist/{chunk-MRUZGZIL.js.map → chunk-ONWQ52QG.js.map} +0 -0
  91. /package/dist/{chunk-PY4E7WOL.js.map → chunk-QAMRW5TG.js.map} +0 -0
  92. /package/dist/{chunk-E7AEOYIJ.js.map → chunk-X6UHNN3E.js.map} +0 -0
@@ -52413,7 +52413,10 @@ var ROADMAP_CARD_CONFIGS = {
52413
52413
  contentRefType: "internal_task",
52414
52414
  // Internal ClickUp work has no public destination on any platform — the
52415
52415
  // seam's default branch would synthesize `<hub>/internal_task/<id>`.
52416
- noComposedHref: true
52416
+ // The card's destination IS the ClickUp deep link, derived from the
52417
+ // task id post-fetch (the refs frame used to carry it).
52418
+ noComposedHref: true,
52419
+ fallbackHref: (item) => _optionalChain([item, 'optionalAccess', _1329 => _1329.id]) != null ? clickupTaskUrl(String(item.id)) : null
52417
52420
  }
52418
52421
  };
52419
52422
  function roadmapRegistryEntries() {
@@ -52422,6 +52425,7 @@ function roadmapRegistryEntries() {
52422
52425
  contentRefType: cfg.contentRefType,
52423
52426
  bareInline: true,
52424
52427
  ...cfg.noComposedHref ? { noComposedHref: true } : {},
52428
+ ...cfg.fallbackHref ? { fallbackHref: cfg.fallbackHref } : {},
52425
52429
  skeleton: () => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, RoadmapCardSkeleton, { size: "sm" }),
52426
52430
  render: (item, chatRef, opts) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
52427
52431
  RoadmapChatCard,
@@ -52454,8 +52458,8 @@ var CHAT_CARD_REGISTRY = {
52454
52458
  DeletedDataCard,
52455
52459
  {
52456
52460
  title: chatRef.title && chatRef.title !== chatRef.id ? chatRef.title : null,
52457
- entityLabel: _nullishCoalesce(_optionalChain([chatRef, 'access', _1329 => _1329.metadata, 'optionalAccess', _1330 => _1330.entity_label]), () => ( null)),
52458
- recoveryNote: _nullishCoalesce(_optionalChain([chatRef, 'access', _1331 => _1331.metadata, 'optionalAccess', _1332 => _1332.recovery_note]), () => ( null))
52461
+ entityLabel: _nullishCoalesce(_optionalChain([chatRef, 'access', _1330 => _1330.metadata, 'optionalAccess', _1331 => _1331.entity_label]), () => ( null)),
52462
+ recoveryNote: _nullishCoalesce(_optionalChain([chatRef, 'access', _1332 => _1332.metadata, 'optionalAccess', _1333 => _1333.recovery_note]), () => ( null))
52459
52463
  }
52460
52464
  )
52461
52465
  },
@@ -52469,7 +52473,7 @@ var CHAT_CARD_REGISTRY = {
52469
52473
  bareInline: true,
52470
52474
  contentRefType: "faq",
52471
52475
  noComposedHref: true,
52472
- fallbackHref: (item) => _optionalChain([item, 'optionalAccess', _1333 => _1333.id]) != null ? `/faqs#${faqItemAnchor(item.id)}` : null,
52476
+ fallbackHref: (item) => _optionalChain([item, 'optionalAccess', _1334 => _1334.id]) != null ? `/faqs#${faqItemAnchor(item.id)}` : null,
52473
52477
  skeleton: () => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, MingoInfoCardSkeleton, {}),
52474
52478
  render: (item, chatRef, opts) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
52475
52479
  FaqChatCard,
@@ -52553,8 +52557,8 @@ var CHAT_CARD_REGISTRY = {
52553
52557
  chatRef,
52554
52558
  isNewTab: opts.isNewTab,
52555
52559
  discuss: opts.discuss,
52556
- ogPlaceholder: _nullishCoalesce(_optionalChain([opts, 'optionalAccess', _1334 => _1334.extras, 'optionalAccess', _1335 => _1335.buildOgPlaceholderUrl, 'optionalCall', _1336 => _1336(_nullishCoalesce(_optionalChain([item, 'optionalAccess', _1337 => _1337.title]), () => ( "")))]), () => ( null)),
52557
- hasEmbeddedVideo: _optionalChain([chatRef, 'access', _1338 => _1338.metadata, 'optionalAccess', _1339 => _1339.hasEmbeddedVideo]) === true
52560
+ ogPlaceholder: _nullishCoalesce(_optionalChain([opts, 'optionalAccess', _1335 => _1335.extras, 'optionalAccess', _1336 => _1336.buildOgPlaceholderUrl, 'optionalCall', _1337 => _1337(_nullishCoalesce(_optionalChain([item, 'optionalAccess', _1338 => _1338.title]), () => ( "")))]), () => ( null)),
52561
+ hasEmbeddedVideo: _optionalChain([chatRef, 'access', _1339 => _1339.metadata, 'optionalAccess', _1340 => _1340.hasEmbeddedVideo]) === true
52558
52562
  }
52559
52563
  )
52560
52564
  },
@@ -52570,7 +52574,7 @@ var CHAT_CARD_REGISTRY = {
52570
52574
  chatRef,
52571
52575
  isNewTab: opts.isNewTab,
52572
52576
  discuss: opts.discuss,
52573
- ogPlaceholder: _nullishCoalesce(_optionalChain([opts, 'optionalAccess', _1340 => _1340.extras, 'optionalAccess', _1341 => _1341.buildOgPlaceholderUrl, 'optionalCall', _1342 => _1342(_nullishCoalesce(_optionalChain([item, 'optionalAccess', _1343 => _1343.title]), () => ( "")))]), () => ( null))
52577
+ ogPlaceholder: _nullishCoalesce(_optionalChain([opts, 'optionalAccess', _1341 => _1341.extras, 'optionalAccess', _1342 => _1342.buildOgPlaceholderUrl, 'optionalCall', _1343 => _1343(_nullishCoalesce(_optionalChain([item, 'optionalAccess', _1344 => _1344.title]), () => ( "")))]), () => ( null))
52574
52578
  }
52575
52579
  )
52576
52580
  },
@@ -52586,7 +52590,7 @@ var CHAT_CARD_REGISTRY = {
52586
52590
  chatRef,
52587
52591
  isNewTab: opts.isNewTab,
52588
52592
  discuss: opts.discuss,
52589
- ogPlaceholder: _nullishCoalesce(_optionalChain([opts, 'optionalAccess', _1344 => _1344.extras, 'optionalAccess', _1345 => _1345.buildOgPlaceholderUrl, 'optionalCall', _1346 => _1346(_nullishCoalesce(_optionalChain([item, 'optionalAccess', _1347 => _1347.title]), () => ( "")))]), () => ( null))
52593
+ ogPlaceholder: _nullishCoalesce(_optionalChain([opts, 'optionalAccess', _1345 => _1345.extras, 'optionalAccess', _1346 => _1346.buildOgPlaceholderUrl, 'optionalCall', _1347 => _1347(_nullishCoalesce(_optionalChain([item, 'optionalAccess', _1348 => _1348.title]), () => ( "")))]), () => ( null))
52590
52594
  }
52591
52595
  )
52592
52596
  },
@@ -52596,7 +52600,7 @@ var CHAT_CARD_REGISTRY = {
52596
52600
  bareInline: true,
52597
52601
  skeleton: () => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, ProductReleaseCardSkeleton, { size: "sm" }),
52598
52602
  render: (item, chatRef, opts) => {
52599
- const builder = _nullishCoalesce(_optionalChain([opts, 'optionalAccess', _1348 => _1348.extras, 'optionalAccess', _1349 => _1349.buildProductReleaseCardProps]), () => ( defaultBuildProductReleaseCardProps));
52603
+ const builder = _nullishCoalesce(_optionalChain([opts, 'optionalAccess', _1349 => _1349.extras, 'optionalAccess', _1350 => _1350.buildProductReleaseCardProps]), () => ( defaultBuildProductReleaseCardProps));
52600
52604
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
52601
52605
  ProductReleaseChatCard,
52602
52606
  {
@@ -52622,7 +52626,7 @@ var CHAT_CARD_REGISTRY = {
52622
52626
  chatRef,
52623
52627
  isNewTab: opts.isNewTab,
52624
52628
  discuss: opts.discuss,
52625
- ogPlaceholder: _nullishCoalesce(_optionalChain([opts, 'optionalAccess', _1350 => _1350.extras, 'optionalAccess', _1351 => _1351.buildOgPlaceholderUrl, 'optionalCall', _1352 => _1352(_nullishCoalesce(_optionalChain([item, 'optionalAccess', _1353 => _1353.title]), () => ( "")))]), () => ( null))
52629
+ ogPlaceholder: _nullishCoalesce(_optionalChain([opts, 'optionalAccess', _1351 => _1351.extras, 'optionalAccess', _1352 => _1352.buildOgPlaceholderUrl, 'optionalCall', _1353 => _1353(_nullishCoalesce(_optionalChain([item, 'optionalAccess', _1354 => _1354.title]), () => ( "")))]), () => ( null))
52626
52630
  }
52627
52631
  )
52628
52632
  },
@@ -52640,7 +52644,7 @@ var CHAT_CARD_REGISTRY = {
52640
52644
  chatRef,
52641
52645
  isNewTab: opts.isNewTab,
52642
52646
  discuss: opts.discuss,
52643
- ogPlaceholder: _nullishCoalesce(_optionalChain([opts, 'optionalAccess', _1354 => _1354.extras, 'optionalAccess', _1355 => _1355.buildOgPlaceholderUrl, 'optionalCall', _1356 => _1356(_nullishCoalesce(_optionalChain([item, 'optionalAccess', _1357 => _1357.title]), () => ( "")))]), () => ( null))
52647
+ ogPlaceholder: _nullishCoalesce(_optionalChain([opts, 'optionalAccess', _1355 => _1355.extras, 'optionalAccess', _1356 => _1356.buildOgPlaceholderUrl, 'optionalCall', _1357 => _1357(_nullishCoalesce(_optionalChain([item, 'optionalAccess', _1358 => _1358.title]), () => ( "")))]), () => ( null))
52644
52648
  }
52645
52649
  )
52646
52650
  },
@@ -52651,7 +52655,7 @@ var CHAT_CARD_REGISTRY = {
52651
52655
  skeleton: () => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, CampaignCardAdminSkeleton, {}),
52652
52656
  // No public viewer — synthesize the hub-internal admin URL post-fetch
52653
52657
  // so the wrapper + isNewTab computation see the actual destination.
52654
- fallbackHref: (item) => _optionalChain([item, 'optionalAccess', _1358 => _1358.id]) ? `/admin/campaigns/${encodeURIComponent(item.id)}` : null,
52658
+ fallbackHref: (item) => _optionalChain([item, 'optionalAccess', _1359 => _1359.id]) ? `/admin/campaigns/${encodeURIComponent(item.id)}` : null,
52655
52659
  render: (item, chatRef, opts) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
52656
52660
  CampaignChatCard,
52657
52661
  {
@@ -52678,13 +52682,13 @@ function ChatCardNavWrap({
52678
52682
  if (!href) return;
52679
52683
  const targetEl = e.target;
52680
52684
  const host = e.currentTarget;
52681
- if (!_optionalChain([host, 'optionalAccess', _1359 => _1359.contains, 'call', _1360 => _1360(targetEl)])) return;
52682
- if (_optionalChain([targetEl, 'optionalAccess', _1361 => _1361.closest, 'optionalCall', _1362 => _1362("button")])) return;
52683
- if (!_optionalChain([targetEl, 'optionalAccess', _1363 => _1363.closest, 'optionalCall', _1364 => _1364("a")])) return;
52685
+ if (!_optionalChain([host, 'optionalAccess', _1360 => _1360.contains, 'call', _1361 => _1361(targetEl)])) return;
52686
+ if (_optionalChain([targetEl, 'optionalAccess', _1362 => _1362.closest, 'optionalCall', _1363 => _1363("button")])) return;
52687
+ if (!_optionalChain([targetEl, 'optionalAccess', _1364 => _1364.closest, 'optionalCall', _1365 => _1365("a")])) return;
52684
52688
  const handled = handleChatNavClick(e, runtime, { href, path, targetPlatform }, router.push);
52685
52689
  if (!handled) return;
52686
52690
  e.stopPropagation();
52687
- if (!isNewTab && _optionalChain([panel, 'optionalAccess', _1365 => _1365.closeChat])) panel.closeChat();
52691
+ if (!isNewTab && _optionalChain([panel, 'optionalAccess', _1366 => _1366.closeChat])) panel.closeChat();
52688
52692
  };
52689
52693
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "contents", onClickCapture, children });
52690
52694
  }
@@ -52706,7 +52710,7 @@ function ChatCardLoader({
52706
52710
  title: chatRef.title,
52707
52711
  externalUrl: chatRef.url,
52708
52712
  targetPlatform: chatRef.targetPlatform,
52709
- path: typeof _optionalChain([chatRef, 'access', _1366 => _1366.metadata, 'optionalAccess', _1367 => _1367.path]) === "string" ? chatRef.metadata.path : null
52713
+ path: typeof _optionalChain([chatRef, 'access', _1367 => _1367.metadata, 'optionalAccess', _1368 => _1368.path]) === "string" ? chatRef.metadata.path : null
52710
52714
  },
52711
52715
  sourceRowCtxFromRuntime(runtime, { baseRoute, chipBasePlatform })
52712
52716
  );
@@ -52720,11 +52724,11 @@ function ChatCardLoader({
52720
52724
  const entry = CHAT_CARD_REGISTRY[resolvedChatRef.type];
52721
52725
  const fetchEntry = entry && entry.contentRefType ? entry : null;
52722
52726
  const { item, isLoading, isError, isFetched } = useChatCardItem(
52723
- _nullishCoalesce(_optionalChain([fetchEntry, 'optionalAccess', _1368 => _1368.contentRefType]), () => ( "")),
52727
+ _nullishCoalesce(_optionalChain([fetchEntry, 'optionalAccess', _1369 => _1369.contentRefType]), () => ( "")),
52724
52728
  fetchEntry ? resolvedChatRef.id : ""
52725
52729
  );
52726
52730
  if (!entry) return null;
52727
- const composedHref = _optionalChain([fetchEntry, 'optionalAccess', _1369 => _1369.contentRefType]) && !resolvedChatRef.url && item && !fetchEntry.fallbackHref && !fetchEntry.noComposedHref ? resolveFetchedCardHref({
52731
+ const composedHref = _optionalChain([fetchEntry, 'optionalAccess', _1370 => _1370.contentRefType]) && !resolvedChatRef.url && item && !fetchEntry.fallbackHref && !fetchEntry.noComposedHref ? resolveFetchedCardHref({
52728
52732
  contentRefType: fetchEntry.contentRefType,
52729
52733
  id: resolvedChatRef.id,
52730
52734
  item,
@@ -52763,7 +52767,7 @@ function ChatCardLoader({
52763
52767
  isNewTab,
52764
52768
  discuss
52765
52769
  };
52766
- const path = typeof _optionalChain([finalChatRef, 'access', _1370 => _1370.metadata, 'optionalAccess', _1371 => _1371.path]) === "string" ? finalChatRef.metadata.path : null;
52770
+ const path = typeof _optionalChain([finalChatRef, 'access', _1371 => _1371.metadata, 'optionalAccess', _1372 => _1372.path]) === "string" ? finalChatRef.metadata.path : null;
52767
52771
  const navWrap = (children) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
52768
52772
  ChatCardNavWrap,
52769
52773
  {
@@ -52787,7 +52791,7 @@ function ChatCardLoader({
52787
52791
  if (!fetchEntry) {
52788
52792
  return finish(entry.render(void 0, finalChatRef, renderOpts));
52789
52793
  }
52790
- if (isLoading) return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _jsxruntime.Fragment, { children: _nullishCoalesce(_optionalChain([fetchEntry, 'access', _1372 => _1372.skeleton, 'optionalCall', _1373 => _1373()]), () => ( null)) });
52794
+ if (isLoading) return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _jsxruntime.Fragment, { children: _nullishCoalesce(_optionalChain([fetchEntry, 'access', _1373 => _1373.skeleton, 'optionalCall', _1374 => _1374()]), () => ( null)) });
52791
52795
  if (!item) {
52792
52796
  if (isError) {
52793
52797
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, CardLoadFailure, { label: entry.label, id: finalChatRef.id, detail: "Failed to load" });
@@ -53050,7 +53054,7 @@ function useChunkCatchup({
53050
53054
  console.error("Error during chunk catchup:", error);
53051
53055
  } finally {
53052
53056
  if (dialogId2 !== dialogIdRef.current) {
53053
- if (_optionalChain([pendingCatchupRef, 'access', _1374 => _1374.current, 'optionalAccess', _1375 => _1375.dialogId]) === dialogId2) {
53057
+ if (_optionalChain([pendingCatchupRef, 'access', _1375 => _1375.current, 'optionalAccess', _1376 => _1376.dialogId]) === dialogId2) {
53054
53058
  pendingCatchupRef.current = null;
53055
53059
  }
53056
53060
  } else {
@@ -53063,7 +53067,7 @@ function useChunkCatchup({
53063
53067
  lastFetchParams.current = null;
53064
53068
  bufferUntilInitialCatchupComplete.current = true;
53065
53069
  try {
53066
- await _optionalChain([catchUpChunksRef, 'access', _1376 => _1376.current, 'optionalCall', _1377 => _1377(pending.fromSequenceId)]);
53070
+ await _optionalChain([catchUpChunksRef, 'access', _1377 => _1377.current, 'optionalCall', _1378 => _1378(pending.fromSequenceId)]);
53067
53071
  } catch (rerunError) {
53068
53072
  console.error("Queued catch-up re-run failed:", rerunError);
53069
53073
  }
@@ -53127,7 +53131,7 @@ function useChunkCatchup({
53127
53131
 
53128
53132
  var EMPTY_FRAME = { messages: [], phase: "idle", typing: false, delayMs: 0 };
53129
53133
  function prefersReducedMotion() {
53130
- return typeof window !== "undefined" && _optionalChain([window, 'access', _1378 => _1378.matchMedia, 'optionalCall', _1379 => _1379("(prefers-reduced-motion: reduce)"), 'access', _1380 => _1380.matches]) === true;
53134
+ return typeof window !== "undefined" && _optionalChain([window, 'access', _1379 => _1379.matchMedia, 'optionalCall', _1380 => _1380("(prefers-reduced-motion: reduce)"), 'access', _1381 => _1381.matches]) === true;
53131
53135
  }
53132
53136
  function useScriptedStream(frames, resetKey, enabled = true) {
53133
53137
  const [index, setIndex] = _react.useState.call(void 0, 0);
@@ -53139,7 +53143,7 @@ function useScriptedStream(frames, resetKey, enabled = true) {
53139
53143
  }
53140
53144
  _react.useEffect.call(void 0, () => {
53141
53145
  setReducedMotion(prefersReducedMotion());
53142
- const mq = _optionalChain([window, 'access', _1381 => _1381.matchMedia, 'optionalCall', _1382 => _1382("(prefers-reduced-motion: reduce)")]);
53146
+ const mq = _optionalChain([window, 'access', _1382 => _1382.matchMedia, 'optionalCall', _1383 => _1383("(prefers-reduced-motion: reduce)")]);
53143
53147
  if (!mq) return;
53144
53148
  const onChange = () => setReducedMotion(mq.matches);
53145
53149
  mq.addEventListener("change", onChange);
@@ -53275,7 +53279,7 @@ function useJetStreamDialogSubscription({
53275
53279
  const lifecycle = _chunkKQKU4VXBcjs.startConnectionLifecycle.call(void 0, {
53276
53280
  conn: sharedConn,
53277
53281
  wsUrl,
53278
- onBeforeReconnect: () => _optionalChain([onBeforeReconnectRef, 'access', _1383 => _1383.current, 'optionalCall', _1384 => _1384()]),
53282
+ onBeforeReconnect: () => _optionalChain([onBeforeReconnectRef, 'access', _1384 => _1384.current, 'optionalCall', _1385 => _1385()]),
53279
53283
  backoff: reconnectionBackoffRef.current,
53280
53284
  getFreshUrl: () => getNatsWsUrlRef.current(),
53281
53285
  // JetStream emits 'error' for protocol-level failures (e.g. -ERR Permissions
@@ -53290,7 +53294,7 @@ function useJetStreamDialogSubscription({
53290
53294
  setReconnectionCount((c) => c + 1);
53291
53295
  }
53292
53296
  hadConnectionBeforeRef.current = true;
53293
- _optionalChain([onConnectRef, 'access', _1385 => _1385.current, 'optionalCall', _1386 => _1386()]);
53297
+ _optionalChain([onConnectRef, 'access', _1386 => _1386.current, 'optionalCall', _1387 => _1387()]);
53294
53298
  }
53295
53299
  if (status === "error") {
53296
53300
  console.warn("[JetStream] NATS protocol error:", evt.data);
@@ -53300,7 +53304,7 @@ function useJetStreamDialogSubscription({
53300
53304
  setIsConnected(false);
53301
53305
  setIsSubscribed(false);
53302
53306
  tearDownSubscription();
53303
- _optionalChain([onDisconnectRef, 'access', _1387 => _1387.current, 'optionalCall', _1388 => _1388()]);
53307
+ _optionalChain([onDisconnectRef, 'access', _1388 => _1388.current, 'optionalCall', _1389 => _1389()]);
53304
53308
  }
53305
53309
  }
53306
53310
  });
@@ -53429,7 +53433,7 @@ function useJetStreamDialogSubscription({
53429
53433
  }
53430
53434
  subscriptionRef.current = handle;
53431
53435
  setIsSubscribed(true);
53432
- _optionalChain([onSubscribedRef, 'access', _1389 => _1389.current, 'optionalCall', _1390 => _1390()]);
53436
+ _optionalChain([onSubscribedRef, 'access', _1390 => _1390.current, 'optionalCall', _1391 => _1391()]);
53433
53437
  } catch (e90) {
53434
53438
  if (!cancelled) {
53435
53439
  setIsSubscribed(false);
@@ -53543,20 +53547,20 @@ function useNatsDialogSubscription({
53543
53547
  const tearDownSubscriptions = () => {
53544
53548
  subscriptionRefs.current.forEach((sub) => {
53545
53549
  try {
53546
- _optionalChain([sub, 'optionalAccess', _1391 => _1391.unsubscribe, 'call', _1392 => _1392()]);
53550
+ _optionalChain([sub, 'optionalAccess', _1392 => _1392.unsubscribe, 'call', _1393 => _1393()]);
53547
53551
  } catch (e92) {
53548
53552
  }
53549
53553
  });
53550
53554
  subscriptionRefs.current.clear();
53551
53555
  lastSubscribedDialogIdRef.current = null;
53552
- _optionalChain([abortControllerRef, 'access', _1393 => _1393.current, 'optionalAccess', _1394 => _1394.abort, 'call', _1395 => _1395()]);
53556
+ _optionalChain([abortControllerRef, 'access', _1394 => _1394.current, 'optionalAccess', _1395 => _1395.abort, 'call', _1396 => _1396()]);
53553
53557
  abortControllerRef.current = null;
53554
53558
  };
53555
53559
  const isDisconnectStatus = (status) => status === "closed" || status === "disconnected";
53556
53560
  const lifecycle = _chunkKQKU4VXBcjs.startConnectionLifecycle.call(void 0, {
53557
53561
  conn: sharedConn,
53558
53562
  wsUrl,
53559
- onBeforeReconnect: () => _optionalChain([onBeforeReconnectRef, 'access', _1396 => _1396.current, 'optionalCall', _1397 => _1397()]),
53563
+ onBeforeReconnect: () => _optionalChain([onBeforeReconnectRef, 'access', _1397 => _1397.current, 'optionalCall', _1398 => _1398()]),
53560
53564
  backoff: reconnectionBackoffRef.current,
53561
53565
  getFreshUrl: () => getNatsWsUrlRef.current(),
53562
53566
  shouldRetryOn: isDisconnectStatus,
@@ -53567,7 +53571,7 @@ function useNatsDialogSubscription({
53567
53571
  setReconnectionCount((c) => c + 1);
53568
53572
  }
53569
53573
  hadConnectionBeforeRef.current = true;
53570
- _optionalChain([onConnectRef, 'access', _1398 => _1398.current, 'optionalCall', _1399 => _1399()]);
53574
+ _optionalChain([onConnectRef, 'access', _1399 => _1399.current, 'optionalCall', _1400 => _1400()]);
53571
53575
  }
53572
53576
  if (status === "error") {
53573
53577
  console.warn("[NATS] protocol error:", evt.data);
@@ -53577,7 +53581,7 @@ function useNatsDialogSubscription({
53577
53581
  setIsConnected(false);
53578
53582
  setIsSubscribed(false);
53579
53583
  tearDownSubscriptions();
53580
- _optionalChain([onDisconnectRef, 'access', _1400 => _1400.current, 'optionalCall', _1401 => _1401()]);
53584
+ _optionalChain([onDisconnectRef, 'access', _1401 => _1401.current, 'optionalCall', _1402 => _1402()]);
53581
53585
  }
53582
53586
  }
53583
53587
  });
@@ -53610,13 +53614,13 @@ function useNatsDialogSubscription({
53610
53614
  setIsSubscribed(false);
53611
53615
  subscriptionRefs.current.forEach((sub) => {
53612
53616
  try {
53613
- _optionalChain([sub, 'optionalAccess', _1402 => _1402.unsubscribe, 'call', _1403 => _1403()]);
53617
+ _optionalChain([sub, 'optionalAccess', _1403 => _1403.unsubscribe, 'call', _1404 => _1404()]);
53614
53618
  } catch (e93) {
53615
53619
  }
53616
53620
  });
53617
53621
  subscriptionRefs.current.clear();
53618
53622
  lastSubscribedDialogIdRef.current = null;
53619
- _optionalChain([abortControllerRef, 'access', _1404 => _1404.current, 'optionalAccess', _1405 => _1405.abort, 'call', _1406 => _1406()]);
53623
+ _optionalChain([abortControllerRef, 'access', _1405 => _1405.current, 'optionalAccess', _1406 => _1406.abort, 'call', _1407 => _1407()]);
53620
53624
  abortControllerRef.current = null;
53621
53625
  }
53622
53626
  return;
@@ -53628,12 +53632,12 @@ function useNatsDialogSubscription({
53628
53632
  if (subscriptionRefs.current.size > 0) {
53629
53633
  subscriptionRefs.current.forEach((sub) => {
53630
53634
  try {
53631
- _optionalChain([sub, 'optionalAccess', _1407 => _1407.unsubscribe, 'call', _1408 => _1408()]);
53635
+ _optionalChain([sub, 'optionalAccess', _1408 => _1408.unsubscribe, 'call', _1409 => _1409()]);
53632
53636
  } catch (e94) {
53633
53637
  }
53634
53638
  });
53635
53639
  subscriptionRefs.current.clear();
53636
- _optionalChain([abortControllerRef, 'access', _1409 => _1409.current, 'optionalAccess', _1410 => _1410.abort, 'call', _1411 => _1411()]);
53640
+ _optionalChain([abortControllerRef, 'access', _1410 => _1410.current, 'optionalAccess', _1411 => _1411.abort, 'call', _1412 => _1412()]);
53637
53641
  }
53638
53642
  abortControllerRef.current = new AbortController();
53639
53643
  const abort = abortControllerRef.current;
@@ -53665,7 +53669,7 @@ function useNatsDialogSubscription({
53665
53669
  });
53666
53670
  lastSubscribedDialogIdRef.current = dialogId;
53667
53671
  setIsSubscribed(true);
53668
- _optionalChain([onSubscribedRef, 'access', _1412 => _1412.current, 'optionalCall', _1413 => _1413()]);
53672
+ _optionalChain([onSubscribedRef, 'access', _1413 => _1413.current, 'optionalCall', _1414 => _1414()]);
53669
53673
  };
53670
53674
  if (isConnectedRef.current) {
53671
53675
  createSubscriptions();
@@ -53675,7 +53679,7 @@ function useNatsDialogSubscription({
53675
53679
  abort.abort();
53676
53680
  subscriptionRefs.current.forEach((sub) => {
53677
53681
  try {
53678
- _optionalChain([sub, 'optionalAccess', _1414 => _1414.unsubscribe, 'call', _1415 => _1415()]);
53682
+ _optionalChain([sub, 'optionalAccess', _1415 => _1415.unsubscribe, 'call', _1416 => _1416()]);
53679
53683
  } catch (e96) {
53680
53684
  }
53681
53685
  });
@@ -53716,7 +53720,7 @@ function useNatsDialogSubscription({
53716
53720
  });
53717
53721
  lastSubscribedDialogIdRef.current = dialogId2;
53718
53722
  setIsSubscribed(true);
53719
- _optionalChain([onSubscribedRef, 'access', _1416 => _1416.current, 'optionalCall', _1417 => _1417()]);
53723
+ _optionalChain([onSubscribedRef, 'access', _1417 => _1417.current, 'optionalCall', _1418 => _1418()]);
53720
53724
  } else if (subscriptionRefs.current.size > 0) {
53721
53725
  setIsSubscribed(true);
53722
53726
  }
@@ -53724,10 +53728,10 @@ function useNatsDialogSubscription({
53724
53728
  return { isConnected, isSubscribed, reconnectionCount };
53725
53729
  }
53726
53730
  function buildNatsWsUrl(apiBaseUrl, options) {
53727
- const path = _optionalChain([options, 'optionalAccess', _1418 => _1418.source]) === "dashboard" ? "/ws/nats-api" : "/ws/nats";
53731
+ const path = _optionalChain([options, 'optionalAccess', _1419 => _1419.source]) === "dashboard" ? "/ws/nats-api" : "/ws/nats";
53728
53732
  const u = new URL(path, apiBaseUrl);
53729
53733
  u.protocol = u.protocol === "https:" ? "wss:" : "ws:";
53730
- if (_optionalChain([options, 'optionalAccess', _1419 => _1419.includeAuthParam]) && _optionalChain([options, 'optionalAccess', _1420 => _1420.token])) {
53734
+ if (_optionalChain([options, 'optionalAccess', _1420 => _1420.includeAuthParam]) && _optionalChain([options, 'optionalAccess', _1421 => _1421.token])) {
53731
53735
  u.searchParams.set("authorization", options.token);
53732
53736
  }
53733
53737
  return u.toString();
@@ -53745,7 +53749,7 @@ async function fetchSlashCommands(prefix, signal, commandsUrl) {
53745
53749
  const data = await res.json();
53746
53750
  return _nullishCoalesce(data.commands, () => ( []));
53747
53751
  } catch (err) {
53748
- if (_optionalChain([err, 'optionalAccess', _1421 => _1421.name]) === "AbortError") throw err;
53752
+ if (_optionalChain([err, 'optionalAccess', _1422 => _1422.name]) === "AbortError") throw err;
53749
53753
  console.warn("[chat] slash-commands fetch failed, showing none:", err);
53750
53754
  return [];
53751
53755
  }
@@ -53766,7 +53770,7 @@ function useSlashCommands(prefix, commandsUrl) {
53766
53770
  const next = await fetchSlashCommands(prefix, ctrl.signal, commandsUrl);
53767
53771
  if (!cancelled) setCommands(next);
53768
53772
  } catch (err) {
53769
- if (!cancelled && _optionalChain([err, 'optionalAccess', _1422 => _1422.name]) !== "AbortError") {
53773
+ if (!cancelled && _optionalChain([err, 'optionalAccess', _1423 => _1423.name]) !== "AbortError") {
53770
53774
  console.warn("[use-slash-commands] fetch failed:", err);
53771
53775
  }
53772
53776
  } finally {
@@ -53785,7 +53789,7 @@ function useSlashCommandRegistry(commandsUrl, options) {
53785
53789
  const query = _reactquery.useQuery.call(void 0, {
53786
53790
  queryKey: ["chat-slash-commands", commandsUrl],
53787
53791
  queryFn: ({ signal }) => fetchSlashCommands("", signal, commandsUrl),
53788
- enabled: _nullishCoalesce(_optionalChain([options, 'optionalAccess', _1423 => _1423.enabled]), () => ( true)),
53792
+ enabled: _nullishCoalesce(_optionalChain([options, 'optionalAccess', _1424 => _1424.enabled]), () => ( true)),
53789
53793
  staleTime: Infinity,
53790
53794
  gcTime: Infinity,
53791
53795
  // The commands registry is non-critical chrome — a failure degrades to an
@@ -53824,21 +53828,21 @@ async function fetchEmptyStateConfig(signal, emptyStateUrl) {
53824
53828
  }
53825
53829
  const data = await res.json();
53826
53830
  return {
53827
- name: _nullishCoalesce(_optionalChain([data, 'optionalAccess', _1424 => _1424.name]), () => ( null)),
53828
- icon: _nullishCoalesce(_optionalChain([data, 'optionalAccess', _1425 => _1425.icon]), () => ( null)),
53829
- greeting: _nullishCoalesce(_optionalChain([data, 'optionalAccess', _1426 => _1426.greeting]), () => ( null)),
53830
- enabledRagTableIds: _nullishCoalesce(_optionalChain([data, 'optionalAccess', _1427 => _1427.enabledRagTableIds]), () => ( [])),
53831
- quickActions: _nullishCoalesce(_optionalChain([data, 'optionalAccess', _1428 => _1428.quickActions]), () => ( [])),
53832
- suggestedQueries: _nullishCoalesce(_optionalChain([data, 'optionalAccess', _1429 => _1429.suggestedQueries]), () => ( []))
53831
+ name: _nullishCoalesce(_optionalChain([data, 'optionalAccess', _1425 => _1425.name]), () => ( null)),
53832
+ icon: _nullishCoalesce(_optionalChain([data, 'optionalAccess', _1426 => _1426.icon]), () => ( null)),
53833
+ greeting: _nullishCoalesce(_optionalChain([data, 'optionalAccess', _1427 => _1427.greeting]), () => ( null)),
53834
+ enabledRagTableIds: _nullishCoalesce(_optionalChain([data, 'optionalAccess', _1428 => _1428.enabledRagTableIds]), () => ( [])),
53835
+ quickActions: _nullishCoalesce(_optionalChain([data, 'optionalAccess', _1429 => _1429.quickActions]), () => ( [])),
53836
+ suggestedQueries: _nullishCoalesce(_optionalChain([data, 'optionalAccess', _1430 => _1430.suggestedQueries]), () => ( []))
53833
53837
  };
53834
53838
  } catch (err) {
53835
- if (_optionalChain([err, 'optionalAccess', _1430 => _1430.name]) === "AbortError") throw err;
53839
+ if (_optionalChain([err, 'optionalAccess', _1431 => _1431.name]) === "AbortError") throw err;
53836
53840
  console.warn("[chat] empty-state config fetch failed, using neutral defaults:", err);
53837
53841
  return EMPTY_STATE_FALLBACK;
53838
53842
  }
53839
53843
  }
53840
53844
  function useEmptyStateConfig(emptyStateUrl, options) {
53841
- const enabled = (_nullishCoalesce(_optionalChain([options, 'optionalAccess', _1431 => _1431.enabled]), () => ( true))) && !!emptyStateUrl;
53845
+ const enabled = (_nullishCoalesce(_optionalChain([options, 'optionalAccess', _1432 => _1432.enabled]), () => ( true))) && !!emptyStateUrl;
53842
53846
  const query = _reactquery.useQuery.call(void 0, {
53843
53847
  queryKey: ["chat-empty-state", emptyStateUrl],
53844
53848
  queryFn: ({ signal }) => fetchEmptyStateConfig(signal, emptyStateUrl),
@@ -53867,7 +53871,7 @@ var CHAT_ATTACHMENT_MAX_SIZE_BYTES = 25 * 1024 * 1024;
53867
53871
  var STORAGE_CACHE_CONTROL_IMMUTABLE = "public, max-age=31536000, immutable";
53868
53872
  function uploadWithProgress(url, file, token, onProgress, signal) {
53869
53873
  return new Promise((resolve, reject) => {
53870
- if (_optionalChain([signal, 'optionalAccess', _1432 => _1432.aborted])) {
53874
+ if (_optionalChain([signal, 'optionalAccess', _1433 => _1433.aborted])) {
53871
53875
  reject(new Error("Upload cancelled"));
53872
53876
  return;
53873
53877
  }
@@ -53881,7 +53885,7 @@ function uploadWithProgress(url, file, token, onProgress, signal) {
53881
53885
  xhr.removeEventListener("error", handleError);
53882
53886
  xhr.removeEventListener("abort", handleAbort);
53883
53887
  xhr.removeEventListener("timeout", handleTimeout);
53884
- _optionalChain([signal, 'optionalAccess', _1433 => _1433.removeEventListener, 'call', _1434 => _1434("abort", handleSignalAbort)]);
53888
+ _optionalChain([signal, 'optionalAccess', _1434 => _1434.removeEventListener, 'call', _1435 => _1435("abort", handleSignalAbort)]);
53885
53889
  if (xhr.readyState !== XMLHttpRequest.DONE) xhr.abort();
53886
53890
  };
53887
53891
  const handleProgress = (event) => {
@@ -53917,7 +53921,7 @@ function uploadWithProgress(url, file, token, onProgress, signal) {
53917
53921
  const handleSignalAbort = () => {
53918
53922
  xhr.abort();
53919
53923
  };
53920
- _optionalChain([signal, 'optionalAccess', _1435 => _1435.addEventListener, 'call', _1436 => _1436("abort", handleSignalAbort, { once: true })]);
53924
+ _optionalChain([signal, 'optionalAccess', _1436 => _1436.addEventListener, 'call', _1437 => _1437("abort", handleSignalAbort, { once: true })]);
53921
53925
  xhr.upload.addEventListener("progress", handleProgress);
53922
53926
  xhr.addEventListener("load", handleLoad);
53923
53927
  xhr.addEventListener("error", handleError);
@@ -53961,12 +53965,12 @@ function useChatAttachments() {
53961
53965
  try {
53962
53966
  sniffed = await _filetype.fileTypeFromBlob.call(void 0, att.file);
53963
53967
  } catch (err) {
53964
- if (_optionalChain([ctrl, 'optionalAccess', _1437 => _1437.signal, 'access', _1438 => _1438.aborted])) return;
53968
+ if (_optionalChain([ctrl, 'optionalAccess', _1438 => _1438.signal, 'access', _1439 => _1439.aborted])) return;
53965
53969
  throw new Error(
53966
53970
  `Could not read file content: ${err instanceof Error ? err.message : String(err)}`
53967
53971
  );
53968
53972
  }
53969
- if (_optionalChain([ctrl, 'optionalAccess', _1439 => _1439.signal, 'access', _1440 => _1440.aborted])) return;
53973
+ if (_optionalChain([ctrl, 'optionalAccess', _1440 => _1440.signal, 'access', _1441 => _1441.aborted])) return;
53970
53974
  if (!sniffed) {
53971
53975
  throw new Error("Unrecognized file format");
53972
53976
  }
@@ -53980,7 +53984,7 @@ function useChatAttachments() {
53980
53984
  const urlResp = await _chunk5RJUHUCIcjs.embedAuthedFetch.call(void 0, uploadUrlEndpoint, {
53981
53985
  method: "POST",
53982
53986
  headers: { "Content-Type": "application/json" },
53983
- signal: _optionalChain([ctrl, 'optionalAccess', _1441 => _1441.signal]),
53987
+ signal: _optionalChain([ctrl, 'optionalAccess', _1442 => _1442.signal]),
53984
53988
  body: JSON.stringify({
53985
53989
  fileName: att.file.name,
53986
53990
  // Pass the SNIFFED MIME (not `file.type`, which can be a
@@ -54006,9 +54010,9 @@ function useChatAttachments() {
54006
54010
  (pct) => {
54007
54011
  updateOne(att.id, { progress: pct });
54008
54012
  },
54009
- _optionalChain([ctrl, 'optionalAccess', _1442 => _1442.signal])
54013
+ _optionalChain([ctrl, 'optionalAccess', _1443 => _1443.signal])
54010
54014
  );
54011
- if (_optionalChain([ctrl, 'optionalAccess', _1443 => _1443.signal, 'access', _1444 => _1444.aborted])) return;
54015
+ if (_optionalChain([ctrl, 'optionalAccess', _1444 => _1444.signal, 'access', _1445 => _1445.aborted])) return;
54012
54016
  updateOne(att.id, {
54013
54017
  status: "ready",
54014
54018
  progress: 100,
@@ -54016,7 +54020,7 @@ function useChatAttachments() {
54016
54020
  viewToken: mintData.viewToken
54017
54021
  });
54018
54022
  } catch (err) {
54019
- if (_optionalChain([ctrl, 'optionalAccess', _1445 => _1445.signal, 'access', _1446 => _1446.aborted])) return;
54023
+ if (_optionalChain([ctrl, 'optionalAccess', _1446 => _1446.signal, 'access', _1447 => _1447.aborted])) return;
54020
54024
  const message2 = err instanceof Error ? err.message : String(err);
54021
54025
  updateOne(att.id, { status: "error", progress: 0, errorMessage: message2 });
54022
54026
  } finally {
@@ -54203,7 +54207,7 @@ function useSSE({ useMock = true, debugMode = false, streamFn } = {}) {
54203
54207
  yield chunk;
54204
54208
  }
54205
54209
  } catch (err) {
54206
- if (_optionalChain([err, 'optionalAccess', _1447 => _1447.name]) === "AbortError" || ctrl.signal.aborted) {
54210
+ if (_optionalChain([err, 'optionalAccess', _1448 => _1448.name]) === "AbortError" || ctrl.signal.aborted) {
54207
54211
  return;
54208
54212
  }
54209
54213
  const errorMessage = err instanceof Error ? err.message : "An error occurred";
@@ -54254,7 +54258,7 @@ function useChat({
54254
54258
  const onMessagesChangeRef = _react.useRef.call(void 0, onMessagesChange);
54255
54259
  onMessagesChangeRef.current = onMessagesChange;
54256
54260
  _react.useEffect.call(void 0, () => {
54257
- _optionalChain([onMessagesChangeRef, 'access', _1448 => _1448.current, 'optionalCall', _1449 => _1449(messages)]);
54261
+ _optionalChain([onMessagesChangeRef, 'access', _1449 => _1449.current, 'optionalCall', _1450 => _1450(messages)]);
54258
54262
  }, [messages]);
54259
54263
  const {
54260
54264
  streamMessage,
@@ -54291,7 +54295,7 @@ function useChat({
54291
54295
  name: "You",
54292
54296
  content: text,
54293
54297
  timestamp: /* @__PURE__ */ new Date(),
54294
- ..._optionalChain([options, 'optionalAccess', _1450 => _1450.hidden]) ? { hidden: true } : {}
54298
+ ..._optionalChain([options, 'optionalAccess', _1451 => _1451.hidden]) ? { hidden: true } : {}
54295
54299
  };
54296
54300
  addMessage(userMessage);
54297
54301
  setIsTyping(true);
@@ -54353,7 +54357,7 @@ function useChat({
54353
54357
  currentTextSegment = "";
54354
54358
  }
54355
54359
  const seg = segment;
54356
- const proposalId = _optionalChain([seg, 'access', _1451 => _1451.data, 'optionalAccess', _1452 => _1452.requestId]);
54360
+ const proposalId = _optionalChain([seg, 'access', _1452 => _1452.data, 'optionalAccess', _1453 => _1453.requestId]);
54357
54361
  const updateApprovalMessage = (transform) => {
54358
54362
  setMessages((prev) => {
54359
54363
  for (let i = prev.length - 1; i >= 0; i--) {
@@ -54362,7 +54366,7 @@ function useChat({
54362
54366
  if (!Array.isArray(m.content)) continue;
54363
54367
  const segments = m.content;
54364
54368
  const hasMatch = segments.some(
54365
- (s) => s.type === "approval_request" && _optionalChain([s, 'access', _1453 => _1453.data, 'optionalAccess', _1454 => _1454.requestId]) === proposalId
54369
+ (s) => s.type === "approval_request" && _optionalChain([s, 'access', _1454 => _1454.data, 'optionalAccess', _1455 => _1455.requestId]) === proposalId
54366
54370
  );
54367
54371
  if (!hasMatch) continue;
54368
54372
  const next = [...prev];
@@ -54404,11 +54408,11 @@ function useChat({
54404
54408
  if (!Array.isArray(m.content)) continue;
54405
54409
  const segments = m.content;
54406
54410
  const hasMatch = segments.some(
54407
- (s) => s.type === "approval_request" && _optionalChain([s, 'access', _1455 => _1455.data, 'optionalAccess', _1456 => _1456.requestId]) === decision.proposalId
54411
+ (s) => s.type === "approval_request" && _optionalChain([s, 'access', _1456 => _1456.data, 'optionalAccess', _1457 => _1457.requestId]) === decision.proposalId
54408
54412
  );
54409
54413
  if (!hasMatch) continue;
54410
54414
  const flipped = segments.map(
54411
- (s) => s.type === "approval_request" && _optionalChain([s, 'access', _1457 => _1457.data, 'optionalAccess', _1458 => _1458.requestId]) === decision.proposalId ? { ...s, status: decision.action } : s
54415
+ (s) => s.type === "approval_request" && _optionalChain([s, 'access', _1458 => _1458.data, 'optionalAccess', _1459 => _1459.requestId]) === decision.proposalId ? { ...s, status: decision.action } : s
54412
54416
  );
54413
54417
  const next = [...prev];
54414
54418
  next[i] = { ...m, content: flipped };
@@ -54536,7 +54540,7 @@ function buildConfirmToolBody(request) {
54536
54540
  async function readServerErrorMessage(response) {
54537
54541
  try {
54538
54542
  const body = await response.json();
54539
- if (typeof _optionalChain([body, 'optionalAccess', _1459 => _1459.error]) === "string" && body.error.length > 0) return body.error;
54543
+ if (typeof _optionalChain([body, 'optionalAccess', _1460 => _1460.error]) === "string" && body.error.length > 0) return body.error;
54540
54544
  } catch (e98) {
54541
54545
  }
54542
54546
  return null;
@@ -54757,7 +54761,7 @@ var STORAGE_KEY2 = "conversation";
54757
54761
  var namespaceFor = (source) => {
54758
54762
  const base = `mingo-chat-${source}`;
54759
54763
  const auth = _chunk5RJUHUCIcjs.getEmbedProxyAuth.call(void 0, );
54760
- return _optionalChain([auth, 'optionalAccess', _1460 => _1460.email]) ? `${base}-u-${encodeURIComponent(auth.email.toLowerCase())}` : base;
54764
+ return _optionalChain([auth, 'optionalAccess', _1461 => _1461.email]) ? `${base}-u-${encodeURIComponent(auth.email.toLowerCase())}` : base;
54761
54765
  };
54762
54766
  function createChatConversationStorage(source) {
54763
54767
  return _chunk5RJUHUCIcjs.createLocalStorageAdapter.call(void 0, {
@@ -54819,8 +54823,8 @@ function useChatHistoryHydration({
54819
54823
  );
54820
54824
  if (!res.ok) return;
54821
54825
  const payload = await res.json().catch(() => null);
54822
- const body = _nullishCoalesce(_optionalChain([payload, 'optionalAccess', _1461 => _1461.data]), () => ( payload));
54823
- const rows = Array.isArray(_optionalChain([body, 'optionalAccess', _1462 => _1462.messages])) ? body.messages : [];
54826
+ const body = _nullishCoalesce(_optionalChain([payload, 'optionalAccess', _1462 => _1462.data]), () => ( payload));
54827
+ const rows = Array.isArray(_optionalChain([body, 'optionalAccess', _1463 => _1463.messages])) ? body.messages : [];
54824
54828
  if (cancelled || rows.length === 0) return;
54825
54829
  const hydrated = [];
54826
54830
  const sourcesSeed = /* @__PURE__ */ new Map();
@@ -54925,11 +54929,11 @@ function appendToTrailingAssistant(prev, segments) {
54925
54929
  for (const seg of segments) {
54926
54930
  const tail = merged[merged.length - 1];
54927
54931
  const key = upsertKey(seg);
54928
- if (seg.type === "text" && _optionalChain([tail, 'optionalAccess', _1463 => _1463.type]) === "text") {
54932
+ if (seg.type === "text" && _optionalChain([tail, 'optionalAccess', _1464 => _1464.type]) === "text") {
54929
54933
  merged[merged.length - 1] = { type: "text", text: tail.text + seg.text };
54930
- } else if (seg.type === "thinking" && _optionalChain([tail, 'optionalAccess', _1464 => _1464.type]) === "thinking") {
54934
+ } else if (seg.type === "thinking" && _optionalChain([tail, 'optionalAccess', _1465 => _1465.type]) === "thinking") {
54931
54935
  merged[merged.length - 1] = { type: "thinking", text: tail.text + seg.text };
54932
- } else if (seg.type === "guide" && _optionalChain([tail, 'optionalAccess', _1465 => _1465.type]) === "guide") {
54936
+ } else if (seg.type === "guide" && _optionalChain([tail, 'optionalAccess', _1466 => _1466.type]) === "guide") {
54933
54937
  merged[merged.length - 1] = { type: "guide", text: tail.text + seg.text };
54934
54938
  } else if (key) {
54935
54939
  const idx = merged.findIndex((m) => upsertKey(m) === key);
@@ -54969,7 +54973,7 @@ function applyApprovalStatusToSegment(s, requestId, status, resolvedByName) {
54969
54973
  }
54970
54974
  if (s.type !== "approval_batch") return s;
54971
54975
  const isAnchor = s.data.approvalRequestId === requestId;
54972
- const hasRow = _optionalChain([s, 'access', _1466 => _1466.data, 'access', _1467 => _1467.toolCalls, 'optionalAccess', _1468 => _1468.some, 'call', _1469 => _1469((c) => c.toolExecutionRequestId === requestId)]);
54976
+ const hasRow = _optionalChain([s, 'access', _1467 => _1467.data, 'access', _1468 => _1468.toolCalls, 'optionalAccess', _1469 => _1469.some, 'call', _1470 => _1470((c) => c.toolExecutionRequestId === requestId)]);
54973
54977
  if (!isAnchor && !hasRow) return s;
54974
54978
  const nextResolvedBy = _nullishCoalesce(resolvedByName, () => ( s.resolvedByName));
54975
54979
  const nextExecutions = hasRow ? {
@@ -54991,8 +54995,8 @@ function applyApprovalStatusToSegment(s, requestId, status, resolvedByName) {
54991
54995
  };
54992
54996
  }
54993
54997
  function nextBatchExecution(prevExec, toolData) {
54994
- if (toolData.type === "EXECUTING_TOOL" && _optionalChain([prevExec, 'optionalAccess', _1470 => _1470.status]) === "done") return null;
54995
- return toolData.type === "EXECUTED_TOOL" ? { status: "done", result: toolData.result, success: toolData.success } : { status: "executing", result: _optionalChain([prevExec, 'optionalAccess', _1471 => _1471.result]), success: _optionalChain([prevExec, 'optionalAccess', _1472 => _1472.success]) };
54998
+ if (toolData.type === "EXECUTING_TOOL" && _optionalChain([prevExec, 'optionalAccess', _1471 => _1471.status]) === "done") return null;
54999
+ return toolData.type === "EXECUTED_TOOL" ? { status: "done", result: toolData.result, success: toolData.success } : { status: "executing", result: _optionalChain([prevExec, 'optionalAccess', _1472 => _1472.result]), success: _optionalChain([prevExec, 'optionalAccess', _1473 => _1473.success]) };
54996
55000
  }
54997
55001
  function withBatchExecution(seg, execId, state) {
54998
55002
  return {
@@ -55009,11 +55013,11 @@ function projectBatchStatusToMessages(prev, anchorId, status) {
55009
55013
  }
55010
55014
  function projectBatchRowFailureToMessages(prev, rowRequestId) {
55011
55015
  return mapSegments(prev, (s) => {
55012
- if (s.type !== "approval_batch" || !_optionalChain([s, 'access', _1473 => _1473.data, 'access', _1474 => _1474.toolCalls, 'optionalAccess', _1475 => _1475.some, 'call', _1476 => _1476((c) => c.toolExecutionRequestId === rowRequestId)])) {
55016
+ if (s.type !== "approval_batch" || !_optionalChain([s, 'access', _1474 => _1474.data, 'access', _1475 => _1475.toolCalls, 'optionalAccess', _1476 => _1476.some, 'call', _1477 => _1477((c) => c.toolExecutionRequestId === rowRequestId)])) {
55013
55017
  return s;
55014
55018
  }
55015
- const existing = _optionalChain([s, 'access', _1477 => _1477.data, 'access', _1478 => _1478.executions, 'optionalAccess', _1479 => _1479[rowRequestId]]);
55016
- if (_optionalChain([existing, 'optionalAccess', _1480 => _1480.status]) === "done") return s;
55019
+ const existing = _optionalChain([s, 'access', _1478 => _1478.data, 'access', _1479 => _1479.executions, 'optionalAccess', _1480 => _1480[rowRequestId]]);
55020
+ if (_optionalChain([existing, 'optionalAccess', _1481 => _1481.status]) === "done") return s;
55017
55021
  return withBatchExecution(s, rowRequestId, { status: "done", success: false });
55018
55022
  });
55019
55023
  }
@@ -55052,7 +55056,7 @@ function mergeToolExecutionIfPresent(prev, segment) {
55052
55056
  for (let j = message2.segments.length - 1; j >= 0; j--) {
55053
55057
  const seg = message2.segments[j];
55054
55058
  if (execId && seg.type === "approval_batch" && seg.data.toolCalls.some((c) => c.toolExecutionRequestId === execId)) {
55055
- const prevExec = _optionalChain([seg, 'access', _1481 => _1481.data, 'access', _1482 => _1482.executions, 'optionalAccess', _1483 => _1483[execId]]);
55059
+ const prevExec = _optionalChain([seg, 'access', _1482 => _1482.data, 'access', _1483 => _1483.executions, 'optionalAccess', _1484 => _1484[execId]]);
55056
55060
  const nextExec = nextBatchExecution(prevExec, toolData);
55057
55061
  if (nextExec === null) return prev;
55058
55062
  if (sameExecutionState(prevExec, nextExec)) return prev;
@@ -55241,9 +55245,9 @@ var MessageSegmentAccumulator = class {
55241
55245
  type: "tool_execution",
55242
55246
  data: {
55243
55247
  ...toolData,
55244
- toolTitle: _nullishCoalesce(_nullishCoalesce(toolData.toolTitle, () => ( _optionalChain([existingExecuting, 'optionalAccess', _1484 => _1484.data, 'access', _1485 => _1485.toolTitle]))), () => ( _optionalChain([executingTool, 'optionalAccess', _1486 => _1486.toolTitle]))),
55245
- toolExplanation: _nullishCoalesce(_nullishCoalesce(toolData.toolExplanation, () => ( _optionalChain([existingExecuting, 'optionalAccess', _1487 => _1487.data, 'access', _1488 => _1488.toolExplanation]))), () => ( _optionalChain([executingTool, 'optionalAccess', _1489 => _1489.toolExplanation]))),
55246
- parameters: toolData.parameters || _optionalChain([executingTool, 'optionalAccess', _1490 => _1490.parameters])
55248
+ toolTitle: _nullishCoalesce(_nullishCoalesce(toolData.toolTitle, () => ( _optionalChain([existingExecuting, 'optionalAccess', _1485 => _1485.data, 'access', _1486 => _1486.toolTitle]))), () => ( _optionalChain([executingTool, 'optionalAccess', _1487 => _1487.toolTitle]))),
55249
+ toolExplanation: _nullishCoalesce(_nullishCoalesce(toolData.toolExplanation, () => ( _optionalChain([existingExecuting, 'optionalAccess', _1488 => _1488.data, 'access', _1489 => _1489.toolExplanation]))), () => ( _optionalChain([executingTool, 'optionalAccess', _1490 => _1490.toolExplanation]))),
55250
+ parameters: toolData.parameters || _optionalChain([executingTool, 'optionalAccess', _1491 => _1491.parameters])
55247
55251
  }
55248
55252
  };
55249
55253
  if (existingIndex !== -1) {
@@ -55267,7 +55271,7 @@ var MessageSegmentAccumulator = class {
55267
55271
  if (seg.type !== "approval_batch") return seg;
55268
55272
  const hasCall = seg.data.toolCalls.some((c) => c.toolExecutionRequestId === execId);
55269
55273
  if (!hasCall) return seg;
55270
- const prev = _optionalChain([seg, 'access', _1491 => _1491.data, 'access', _1492 => _1492.executions, 'optionalAccess', _1493 => _1493[execId]]);
55274
+ const prev = _optionalChain([seg, 'access', _1492 => _1492.data, 'access', _1493 => _1493.executions, 'optionalAccess', _1494 => _1494[execId]]);
55271
55275
  const next = nextBatchExecution(prev, toolData);
55272
55276
  matched = true;
55273
55277
  if (next === null) return seg;
@@ -55409,8 +55413,8 @@ var MessageSegmentAccumulator = class {
55409
55413
  requestId,
55410
55414
  {
55411
55415
  ...pendingApproval,
55412
- command: _optionalChain([pendingApproval, 'optionalAccess', _1494 => _1494.command]) || "",
55413
- approvalType: _optionalChain([pendingApproval, 'optionalAccess', _1495 => _1495.approvalType]) || approvalType
55416
+ command: _optionalChain([pendingApproval, 'optionalAccess', _1495 => _1495.command]) || "",
55417
+ approvalType: _optionalChain([pendingApproval, 'optionalAccess', _1496 => _1496.approvalType]) || approvalType
55414
55418
  },
55415
55419
  status
55416
55420
  );
@@ -55435,9 +55439,9 @@ var MessageSegmentAccumulator = class {
55435
55439
  type: "escalation_offer",
55436
55440
  // The resolved chunk carries no text/origin — a redelivered offer must
55437
55441
  // not blank the card the PENDING chunk already painted.
55438
- data: { offerId, text: text || _optionalChain([existing, 'optionalAccess', _1496 => _1496.data, 'access', _1497 => _1497.text]) || "", origin: _nullishCoalesce(origin, () => ( _optionalChain([existing, 'optionalAccess', _1498 => _1498.data, 'access', _1499 => _1499.origin]))) },
55442
+ data: { offerId, text: text || _optionalChain([existing, 'optionalAccess', _1497 => _1497.data, 'access', _1498 => _1498.text]) || "", origin: _nullishCoalesce(origin, () => ( _optionalChain([existing, 'optionalAccess', _1499 => _1499.data, 'access', _1500 => _1500.origin]))) },
55439
55443
  status,
55440
- resolvedByName: _nullishCoalesce(resolvedByName, () => ( _optionalChain([existing, 'optionalAccess', _1500 => _1500.resolvedByName]))),
55444
+ resolvedByName: _nullishCoalesce(resolvedByName, () => ( _optionalChain([existing, 'optionalAccess', _1501 => _1501.resolvedByName]))),
55441
55445
  onApprove: this.callbacks.onEscalationApprove,
55442
55446
  onReject: this.callbacks.onEscalationReject
55443
55447
  };
@@ -55621,7 +55625,7 @@ function createMessageSegmentAccumulator(callbacks) {
55621
55625
  // src/chat-protocol/events.ts
55622
55626
  var GUIDE_ORIGIN = "guide";
55623
55627
  function isGuideOrigin(source) {
55624
- return _optionalChain([source, 'optionalAccess', _1501 => _1501.origin]) === GUIDE_ORIGIN;
55628
+ return _optionalChain([source, 'optionalAccess', _1502 => _1502.origin]) === GUIDE_ORIGIN;
55625
55629
  }
55626
55630
  var ESCALATION_STATE = {
55627
55631
  PENDING: "PENDING",
@@ -55744,7 +55748,7 @@ function createChatStreamReducer(options = {}) {
55744
55748
  let stateCache = null;
55745
55749
  function invalidate() {
55746
55750
  stateCache = null;
55747
- _optionalChain([onChange, 'optionalCall', _1502 => _1502()]);
55751
+ _optionalChain([onChange, 'optionalCall', _1503 => _1503()]);
55748
55752
  }
55749
55753
  function getState() {
55750
55754
  if (!stateCache) {
@@ -55761,7 +55765,7 @@ function createChatStreamReducer(options = {}) {
55761
55765
  return stateCache;
55762
55766
  }
55763
55767
  function emit(name, ...args) {
55764
- _optionalChain([onEffect, 'optionalCall', _1503 => _1503({ name, args })]);
55768
+ _optionalChain([onEffect, 'optionalCall', _1504 => _1504({ name, args })]);
55765
55769
  }
55766
55770
  function setMessagesInternal(next) {
55767
55771
  if (next !== messages) {
@@ -55792,12 +55796,12 @@ function createChatStreamReducer(options = {}) {
55792
55796
  return [...next.slice(0, -1), { ...last, streamSeq: seq }];
55793
55797
  }
55794
55798
  function applySegmentsToState(segments, meta) {
55795
- const seq = _optionalChain([meta, 'optionalAccess', _1504 => _1504.streamSeq]);
55796
- if (_optionalChain([meta, 'optionalAccess', _1505 => _1505.append]) && meta.isCompacting) {
55799
+ const seq = _optionalChain([meta, 'optionalAccess', _1505 => _1505.streamSeq]);
55800
+ if (_optionalChain([meta, 'optionalAccess', _1506 => _1506.append]) && meta.isCompacting) {
55797
55801
  setMessagesInternal(stampTrailingAssistantSeq(upsertTrailingCompaction(messages, segments), seq));
55798
55802
  return;
55799
55803
  }
55800
- if (_optionalChain([meta, 'optionalAccess', _1506 => _1506.append])) {
55804
+ if (_optionalChain([meta, 'optionalAccess', _1507 => _1507.append])) {
55801
55805
  setMessagesInternal(stampTrailingAssistantSeq(appendToTrailingAssistant(messages, segments), seq));
55802
55806
  return;
55803
55807
  }
@@ -55809,7 +55813,7 @@ function createChatStreamReducer(options = {}) {
55809
55813
  adoptTrailingAssistant = false;
55810
55814
  const last = messages[messages.length - 1];
55811
55815
  if (!last || last.role !== "assistant" || adoptTail) return;
55812
- const hasContent2 = (_nullishCoalesce(_optionalChain([last, 'access', _1507 => _1507.segments, 'optionalAccess', _1508 => _1508.length]), () => ( 0))) > 0 || last.content !== "";
55816
+ const hasContent2 = (_nullishCoalesce(_optionalChain([last, 'access', _1508 => _1508.segments, 'optionalAccess', _1509 => _1509.length]), () => ( 0))) > 0 || last.content !== "";
55813
55817
  if (!hasContent2) return;
55814
55818
  setMessagesInternal([
55815
55819
  ...messages,
@@ -56037,13 +56041,13 @@ function createChatStreamReducer(options = {}) {
56037
56041
  const summary = required ? getCommandText(required) : `Batch of ${toolCalls.length} tool calls`;
56038
56042
  pendingEscalated.set(requestId, {
56039
56043
  command: summary,
56040
- explanation: _optionalChain([required, 'optionalAccess', _1509 => _1509.toolExplanation]),
56044
+ explanation: _optionalChain([required, 'optionalAccess', _1510 => _1510.toolExplanation]),
56041
56045
  approvalType,
56042
56046
  toolCalls
56043
56047
  });
56044
56048
  emit("onEscalatedApproval", requestId, {
56045
56049
  command: summary,
56046
- explanation: _optionalChain([required, 'optionalAccess', _1510 => _1510.toolExplanation]),
56050
+ explanation: _optionalChain([required, 'optionalAccess', _1511 => _1511.toolExplanation]),
56047
56051
  approvalType
56048
56052
  });
56049
56053
  break;
@@ -56217,7 +56221,7 @@ function createChatStreamReducer(options = {}) {
56217
56221
  let message2;
56218
56222
  if (event.details) {
56219
56223
  try {
56220
- message2 = _optionalChain([JSON, 'access', _1511 => _1511.parse, 'call', _1512 => _1512(event.details), 'optionalAccess', _1513 => _1513.error, 'optionalAccess', _1514 => _1514.message]);
56224
+ message2 = _optionalChain([JSON, 'access', _1512 => _1512.parse, 'call', _1513 => _1513(event.details), 'optionalAccess', _1514 => _1514.error, 'optionalAccess', _1515 => _1515.message]);
56221
56225
  } catch (e103) {
56222
56226
  message2 = event.details;
56223
56227
  }
@@ -56434,7 +56438,7 @@ function createChatStreamReducer(options = {}) {
56434
56438
  const resolveBatch = (status, confirm) => async () => {
56435
56439
  setMessagesInternal(projectBatchStatusToMessages(messages, anchorId, status));
56436
56440
  for (const id of ids) {
56437
- const ok = await _optionalChain([confirm, 'optionalCall', _1515 => _1515(id)]);
56441
+ const ok = await _optionalChain([confirm, 'optionalCall', _1516 => _1516(id)]);
56438
56442
  if (ok === false) {
56439
56443
  setMessagesInternal(projectBatchRowFailureToMessages(messages, id));
56440
56444
  }
@@ -56577,8 +56581,8 @@ function createChatStreamReducer(options = {}) {
56577
56581
  }
56578
56582
  }
56579
56583
  }
56580
- hasEverStreamed = hasEverStreamed || (_nullishCoalesce(_optionalChain([extras, 'optionalAccess', _1516 => _1516.resumed]), () => ( messages.length > 0)));
56581
- if (_optionalChain([extras, 'optionalAccess', _1517 => _1517.agentBusy])) agentBusyState();
56584
+ hasEverStreamed = hasEverStreamed || (_nullishCoalesce(_optionalChain([extras, 'optionalAccess', _1517 => _1517.resumed]), () => ( messages.length > 0)));
56585
+ if (_optionalChain([extras, 'optionalAccess', _1518 => _1518.agentBusy])) agentBusyState();
56582
56586
  invalidate();
56583
56587
  }
56584
56588
  return {
@@ -56663,7 +56667,7 @@ function createChatStreamReducer(options = {}) {
56663
56667
  },
56664
56668
  endSseTurn() {
56665
56669
  const last = messages[messages.length - 1];
56666
- if (last && last.role === "assistant" && (_nullishCoalesce(_optionalChain([last, 'access', _1518 => _1518.segments, 'optionalAccess', _1519 => _1519.length]), () => ( 0))) === 0 && last.content === "") {
56670
+ if (last && last.role === "assistant" && (_nullishCoalesce(_optionalChain([last, 'access', _1519 => _1519.segments, 'optionalAccess', _1520 => _1520.length]), () => ( 0))) === 0 && last.content === "") {
56667
56671
  messages = messages.slice(0, -1);
56668
56672
  }
56669
56673
  sseCurrentText = "";
@@ -56817,10 +56821,10 @@ function createChatDialogStore(options = {}) {
56817
56821
  if (onEvict) {
56818
56822
  const sep = key.indexOf(KEY_SEP);
56819
56823
  onEvict(key.slice(0, sep), key.slice(sep + 1), {
56820
- messages: _nullishCoalesce(_optionalChain([dropped, 'optionalAccess', _1520 => _1520.state, 'access', _1521 => _1521.messages]), () => ( EMPTY_STATE.messages)),
56821
- approvalStatuses: _nullishCoalesce(_optionalChain([dropped, 'optionalAccess', _1522 => _1522.state, 'access', _1523 => _1523.approvalStatuses]), () => ( EMPTY_STATE.approvalStatuses)),
56822
- lastAppliedSeq: _nullishCoalesce(_optionalChain([dropped, 'optionalAccess', _1524 => _1524.getLastAppliedSeq, 'call', _1525 => _1525()]), () => ( Number.NEGATIVE_INFINITY)),
56823
- pendingEchoes: _nullishCoalesce(_optionalChain([dropped, 'optionalAccess', _1526 => _1526.getPendingEchoes, 'call', _1527 => _1527()]), () => ( EMPTY_PENDING_ECHOES))
56824
+ messages: _nullishCoalesce(_optionalChain([dropped, 'optionalAccess', _1521 => _1521.state, 'access', _1522 => _1522.messages]), () => ( EMPTY_STATE.messages)),
56825
+ approvalStatuses: _nullishCoalesce(_optionalChain([dropped, 'optionalAccess', _1523 => _1523.state, 'access', _1524 => _1524.approvalStatuses]), () => ( EMPTY_STATE.approvalStatuses)),
56826
+ lastAppliedSeq: _nullishCoalesce(_optionalChain([dropped, 'optionalAccess', _1525 => _1525.getLastAppliedSeq, 'call', _1526 => _1526()]), () => ( Number.NEGATIVE_INFINITY)),
56827
+ pendingEchoes: _nullishCoalesce(_optionalChain([dropped, 'optionalAccess', _1527 => _1527.getPendingEchoes, 'call', _1528 => _1528()]), () => ( EMPTY_PENDING_ECHOES))
56824
56828
  });
56825
56829
  }
56826
56830
  }
@@ -56830,12 +56834,12 @@ function createChatDialogStore(options = {}) {
56830
56834
  const key = keyOf(dialogId, side);
56831
56835
  let reducer2 = reducers.get(key);
56832
56836
  if (!reducer2) {
56833
- const base = _nullishCoalesce(_optionalChain([(_nullishCoalesce(createOptions, () => ( defaultCreateOptions))), 'optionalCall', _1528 => _1528(dialogId, side)]), () => ( {}));
56837
+ const base = _nullishCoalesce(_optionalChain([(_nullishCoalesce(createOptions, () => ( defaultCreateOptions))), 'optionalCall', _1529 => _1529(dialogId, side)]), () => ( {}));
56834
56838
  const userOnChange = base.onChange;
56835
56839
  reducer2 = createChatStreamReducer({
56836
56840
  ...base,
56837
56841
  onChange: () => {
56838
- _optionalChain([userOnChange, 'optionalCall', _1529 => _1529()]);
56842
+ _optionalChain([userOnChange, 'optionalCall', _1530 => _1530()]);
56839
56843
  notify();
56840
56844
  }
56841
56845
  });
@@ -56880,7 +56884,7 @@ function createChatDialogStore(options = {}) {
56880
56884
  };
56881
56885
  }
56882
56886
  function getSnapshot(dialogId, side = DEFAULT_DIALOG_SIDE) {
56883
- return _nullishCoalesce(_optionalChain([reducers, 'access', _1530 => _1530.get, 'call', _1531 => _1531(keyOf(dialogId, side)), 'optionalAccess', _1532 => _1532.state]), () => ( EMPTY_STATE));
56887
+ return _nullishCoalesce(_optionalChain([reducers, 'access', _1531 => _1531.get, 'call', _1532 => _1532(keyOf(dialogId, side)), 'optionalAccess', _1533 => _1533.state]), () => ( EMPTY_STATE));
56884
56888
  }
56885
56889
  function getServerSnapshot() {
56886
56890
  return EMPTY_STATE;
@@ -56972,7 +56976,7 @@ function createDeltaBatcher({
56972
56976
  pending = [];
56973
56977
  const key = pendingKey;
56974
56978
  for (const delta of batch) applyOne(delta, key);
56975
- _optionalChain([onFlushed, 'optionalCall', _1533 => _1533(batch.length)]);
56979
+ _optionalChain([onFlushed, 'optionalCall', _1534 => _1534(batch.length)]);
56976
56980
  }
56977
56981
  function schedule() {
56978
56982
  if (raf !== null || timer !== null) return;
@@ -56996,7 +57000,7 @@ function createDeltaBatcher({
56996
57000
  }
56997
57001
  if (!isDeltaEvent(event)) return false;
56998
57002
  const tail = pending[pending.length - 1];
56999
- const seqAdvances = _optionalChain([tail, 'optionalAccess', _1534 => _1534.seq]) == null ? event.seq == null : event.seq != null && event.seq > tail.seq;
57003
+ const seqAdvances = _optionalChain([tail, 'optionalAccess', _1535 => _1535.seq]) == null ? event.seq == null : event.seq != null && event.seq > tail.seq;
57000
57004
  if (tail && seqAdvances && tail.type === event.type && (tail.type !== "text-delta" || tail.leading === event.leading)) {
57001
57005
  pending[pending.length - 1] = {
57002
57006
  ...tail,
@@ -57029,7 +57033,7 @@ function useChatStreamReducer({
57029
57033
  }) {
57030
57034
  const optionsRef = _react.useRef.call(void 0, createReducerOptions);
57031
57035
  optionsRef.current = createReducerOptions;
57032
- const reducer2 = store.getReducer(dialogId, side, () => _nullishCoalesce(_optionalChain([optionsRef, 'access', _1535 => _1535.current, 'optionalCall', _1536 => _1536()]), () => ( {})));
57036
+ const reducer2 = store.getReducer(dialogId, side, () => _nullishCoalesce(_optionalChain([optionsRef, 'access', _1536 => _1536.current, 'optionalCall', _1537 => _1537()]), () => ( {})));
57033
57037
  const getSnapshot = _react.useCallback.call(void 0, () => store.getSnapshot(dialogId, side), [store, dialogId, side]);
57034
57038
  const getServerSnapshot = _react.useCallback.call(void 0, () => store.getServerSnapshot(), [store]);
57035
57039
  const subscribe = _react.useCallback.call(void 0, (listener) => store.subscribe(listener), [store]);
@@ -57089,7 +57093,7 @@ function useSseChatAdapter(options, runtimeOptions = {}) {
57089
57093
  const { active = true } = runtimeOptions;
57090
57094
  const runtime = _chunk7OPWSWEJcjs.useRequiredChatRuntime.call(void 0, );
57091
57095
  const source = runtime.source || DEFAULT_CHAT_SOURCE;
57092
- const tableIdForDocumentType = _nullishCoalesce(_optionalChain([options, 'optionalAccess', _1537 => _1537.tableIdForDocumentType]), () => ( defaultTableIdForDocumentType));
57096
+ const tableIdForDocumentType = _nullishCoalesce(_optionalChain([options, 'optionalAccess', _1538 => _1538.tableIdForDocumentType]), () => ( defaultTableIdForDocumentType));
57093
57097
  const sendMessageRef = _react.useRef.call(void 0, async () => true);
57094
57098
  const cardResolve = _react.useCallback.call(void 0,
57095
57099
  (action) => (reqId) => {
@@ -57124,7 +57128,7 @@ function useSseChatAdapter(options, runtimeOptions = {}) {
57124
57128
  if (!restoredConversationRef.current) {
57125
57129
  restoredConversationRef.current = true;
57126
57130
  pruneStaleChatConversationStorage(source);
57127
- conversationIdRef.current = _nullishCoalesce(_optionalChain([conversationStorage, 'access', _1538 => _1538.load, 'call', _1539 => _1539(), 'optionalAccess', _1540 => _1540.conversationId]), () => ( null));
57131
+ conversationIdRef.current = _nullishCoalesce(_optionalChain([conversationStorage, 'access', _1539 => _1539.load, 'call', _1540 => _1540(), 'optionalAccess', _1541 => _1541.conversationId]), () => ( null));
57128
57132
  }
57129
57133
  const commandsUrl = runtime.endpoints.commandsUrl;
57130
57134
  const { commands: slashCommands } = useSlashCommandRegistry(commandsUrl, {
@@ -57231,7 +57235,7 @@ function useSseChatAdapter(options, runtimeOptions = {}) {
57231
57235
  const serverMessage = await readServerErrorMessage(response);
57232
57236
  throw new Error(_nullishCoalesce(serverMessage, () => ( `Chat request failed: ${response.status}`)));
57233
57237
  }
57234
- const reader = _optionalChain([response, 'access', _1541 => _1541.body, 'optionalAccess', _1542 => _1542.getReader, 'call', _1543 => _1543()]);
57238
+ const reader = _optionalChain([response, 'access', _1542 => _1542.body, 'optionalAccess', _1543 => _1543.getReader, 'call', _1544 => _1544()]);
57235
57239
  if (!reader) throw new Error("No response body");
57236
57240
  const frameDecoder = createSseFrameDecoder();
57237
57241
  let finished = false;
@@ -57254,7 +57258,7 @@ function useSseChatAdapter(options, runtimeOptions = {}) {
57254
57258
  }
57255
57259
  return true;
57256
57260
  } catch (err) {
57257
- if (_optionalChain([err, 'optionalAccess', _1544 => _1544.name]) === "AbortError" || ctrl.signal.aborted) {
57261
+ if (_optionalChain([err, 'optionalAccess', _1545 => _1545.name]) === "AbortError" || ctrl.signal.aborted) {
57258
57262
  return true;
57259
57263
  }
57260
57264
  flushDeltas();
@@ -57276,7 +57280,7 @@ function useSseChatAdapter(options, runtimeOptions = {}) {
57276
57280
  );
57277
57281
  sendMessageRef.current = sendMessage;
57278
57282
  const stopMessage = _react.useCallback.call(void 0, () => {
57279
- _optionalChain([abortControllerRef, 'access', _1545 => _1545.current, 'optionalAccess', _1546 => _1546.abort, 'call', _1547 => _1547()]);
57283
+ _optionalChain([abortControllerRef, 'access', _1546 => _1546.current, 'optionalAccess', _1547 => _1547.abort, 'call', _1548 => _1548()]);
57280
57284
  flushDeltas();
57281
57285
  mutate((r) => r.setPhase("idle"));
57282
57286
  }, [mutate, flushDeltas]);
@@ -57292,7 +57296,7 @@ function useSseChatAdapter(options, runtimeOptions = {}) {
57292
57296
  let sendIdx = -1;
57293
57297
  return state.messages.map((m) => {
57294
57298
  const segments = m.segments;
57295
- const content = typeof m.content === "string" && !segments ? m.content : _nullishCoalesce(_optionalChain([segments, 'optionalAccess', _1548 => _1548.filter, 'call', _1549 => _1549((s) => s.type === "text"), 'access', _1550 => _1550.map, 'call', _1551 => _1551((s) => s.text), 'access', _1552 => _1552.join, 'call', _1553 => _1553("")]), () => ( ""));
57299
+ const content = typeof m.content === "string" && !segments ? m.content : _nullishCoalesce(_optionalChain([segments, 'optionalAccess', _1549 => _1549.filter, 'call', _1550 => _1550((s) => s.type === "text"), 'access', _1551 => _1551.map, 'call', _1552 => _1552((s) => s.text), 'access', _1553 => _1553.join, 'call', _1554 => _1554("")]), () => ( ""));
57296
57300
  let sources;
57297
57301
  let scrollAnchor;
57298
57302
  if (m.role === "user" && !m.hidden) {
@@ -57301,7 +57305,7 @@ function useSseChatAdapter(options, runtimeOptions = {}) {
57301
57305
  if (m.role === "assistant") {
57302
57306
  const lookupIdx = sendIdx >= 0 ? sendIdx : 0;
57303
57307
  sources = sourcesMap.get(lookupIdx);
57304
- scrollAnchor = _nullishCoalesce(_optionalChain([meta, 'access', _1554 => _1554.get, 'call', _1555 => _1555(lookupIdx), 'optionalAccess', _1556 => _1556.scrollAnchor]), () => ( void 0));
57308
+ scrollAnchor = _nullishCoalesce(_optionalChain([meta, 'access', _1555 => _1555.get, 'call', _1556 => _1556(lookupIdx), 'optionalAccess', _1557 => _1557.scrollAnchor]), () => ( void 0));
57305
57309
  }
57306
57310
  return {
57307
57311
  id: m.id,
@@ -57330,7 +57334,7 @@ function useSseChatAdapter(options, runtimeOptions = {}) {
57330
57334
  );
57331
57335
  return;
57332
57336
  }
57333
- const refSlug = typeof _optionalChain([reference, 'access', _1557 => _1557.metadata, 'optionalAccess', _1558 => _1558.slug]) === "string" && reference.metadata.slug.length > 0 ? reference.metadata.slug : "";
57337
+ const refSlug = typeof _optionalChain([reference, 'access', _1558 => _1558.metadata, 'optionalAccess', _1559 => _1559.slug]) === "string" && reference.metadata.slug.length > 0 ? reference.metadata.slug : "";
57334
57338
  const queryValue = refSlug || sanitizeTitleForChat(reference.title) || reference.id;
57335
57339
  const escaped = queryValue.replace(/\\/g, "\\\\").replace(/"/g, '\\"');
57336
57340
  const text = `/${cmdId} display "${escaped}"`;
@@ -57380,18 +57384,18 @@ function useSseChatAdapter(options, runtimeOptions = {}) {
57380
57384
  /** True while the mount-time rebuild from the server transcript runs. */
57381
57385
  isHydratingHistory,
57382
57386
  /** Provider key for the lib's `<ModelDisplay>` icon. */
57383
- currentProvider: _nullishCoalesce(_optionalChain([latestMeta, 'optionalAccess', _1559 => _1559.provider]), () => ( null)),
57384
- currentModelLabel: _nullishCoalesce(_optionalChain([latestMeta, 'optionalAccess', _1560 => _1560.modelLabel]), () => ( null)),
57385
- currentContextWindowMaxTokens: _nullishCoalesce(_optionalChain([latestMeta, 'optionalAccess', _1561 => _1561.contextWindowMaxTokens]), () => ( null)),
57387
+ currentProvider: _nullishCoalesce(_optionalChain([latestMeta, 'optionalAccess', _1560 => _1560.provider]), () => ( null)),
57388
+ currentModelLabel: _nullishCoalesce(_optionalChain([latestMeta, 'optionalAccess', _1561 => _1561.modelLabel]), () => ( null)),
57389
+ currentContextWindowMaxTokens: _nullishCoalesce(_optionalChain([latestMeta, 'optionalAccess', _1562 => _1562.contextWindowMaxTokens]), () => ( null)),
57386
57390
  /** Input tokens (known after server's message_start frame; null until). */
57387
- currentInputTokens: _nullishCoalesce(_optionalChain([latestMeta, 'optionalAccess', _1562 => _1562.inputTokens]), () => ( null)),
57391
+ currentInputTokens: _nullishCoalesce(_optionalChain([latestMeta, 'optionalAccess', _1563 => _1563.inputTokens]), () => ( null)),
57388
57392
  /** Output tokens (known only after server's trailing usage frame). */
57389
- currentOutputTokens: _nullishCoalesce(_optionalChain([latestMeta, 'optionalAccess', _1563 => _1563.outputTokens]), () => ( null)),
57393
+ currentOutputTokens: _nullishCoalesce(_optionalChain([latestMeta, 'optionalAccess', _1564 => _1564.outputTokens]), () => ( null)),
57390
57394
  /** Cache hit % (read / total-input × 100). null during streaming. */
57391
- currentCacheHitRatePct: _nullishCoalesce(_optionalChain([latestMeta, 'optionalAccess', _1564 => _1564.cacheHitRatePct]), () => ( null)),
57395
+ currentCacheHitRatePct: _nullishCoalesce(_optionalChain([latestMeta, 'optionalAccess', _1565 => _1565.cacheHitRatePct]), () => ( null)),
57392
57396
  /** Cross-call usage breakdown (Haiku rewriter/classifier/summarizer
57393
57397
  * token counts). null until the trailing usage frame lands. */
57394
- currentUsageBreakdown: _nullishCoalesce(_optionalChain([latestMeta, 'optionalAccess', _1565 => _1565.breakdown]), () => ( null)),
57398
+ currentUsageBreakdown: _nullishCoalesce(_optionalChain([latestMeta, 'optionalAccess', _1566 => _1566.breakdown]), () => ( null)),
57395
57399
  // ─── Dialog management — stubs for v1 ────────────────────────────────
57396
57400
  // Guide mode keeps ONE server-side conversation per stored id
57397
57401
  // (`chat_conversations`, hydrated on mount). Surfacing multiple threads
@@ -57671,7 +57675,7 @@ function decodeNatsChunk(chunk) {
57671
57675
  userId: typeof data.userId === "string" ? data.userId : void 0,
57672
57676
  // Wire shape carries no label; fall back to the id (parity with
57673
57677
  // the history path in `process-historical-messages.ts`).
57674
- contextItems: Array.isArray(data.contextItems) ? data.contextItems.filter((it) => typeof _optionalChain([it, 'optionalAccess', _1566 => _1566.type]) === "string" && typeof _optionalChain([it, 'optionalAccess', _1567 => _1567.id]) === "string").map((it) => ({
57678
+ contextItems: Array.isArray(data.contextItems) ? data.contextItems.filter((it) => typeof _optionalChain([it, 'optionalAccess', _1567 => _1567.type]) === "string" && typeof _optionalChain([it, 'optionalAccess', _1568 => _1568.id]) === "string").map((it) => ({
57675
57679
  type: it.type,
57676
57680
  id: it.id,
57677
57681
  label: it.id
@@ -57723,15 +57727,15 @@ function decodeNatsChunk(chunk) {
57723
57727
 
57724
57728
  // src/components/chat/utils/process-historical-messages.ts
57725
57729
  function getOwnerDisplayName(owner) {
57726
- if (_optionalChain([owner, 'optionalAccess', _1568 => _1568.type]) === OWNER_TYPE.ADMIN && owner.user) {
57730
+ if (_optionalChain([owner, 'optionalAccess', _1569 => _1569.type]) === OWNER_TYPE.ADMIN && owner.user) {
57727
57731
  const { firstName, lastName } = owner.user;
57728
57732
  const name = [firstName, lastName].filter(Boolean).join(" ");
57729
57733
  if (name) return name;
57730
57734
  }
57731
- return _optionalChain([owner, 'optionalAccess', _1569 => _1569.type]) === OWNER_TYPE.ADMIN ? "Admin" : "You";
57735
+ return _optionalChain([owner, 'optionalAccess', _1570 => _1570.type]) === OWNER_TYPE.ADMIN ? "Admin" : "You";
57732
57736
  }
57733
57737
  function getOwnerAvatar(owner) {
57734
- return _nullishCoalesce(_optionalChain([owner, 'optionalAccess', _1570 => _1570.user, 'optionalAccess', _1571 => _1571.image, 'optionalAccess', _1572 => _1572.imageUrl]), () => ( void 0));
57738
+ return _nullishCoalesce(_optionalChain([owner, 'optionalAccess', _1571 => _1571.user, 'optionalAccess', _1572 => _1572.image, 'optionalAccess', _1573 => _1573.imageUrl]), () => ( void 0));
57735
57739
  }
57736
57740
  function pushStandaloneMessages(processedMessages, msg, messageDataArray) {
57737
57741
  messageDataArray.forEach((data) => {
@@ -57913,7 +57917,7 @@ function applyHistoryEvent(event, accumulator, approvalStatuses, options, escala
57913
57917
  event.offerId,
57914
57918
  event.text,
57915
57919
  event.origin,
57916
- _nullishCoalesce(_optionalChain([escalationOfferStates, 'optionalAccess', _1573 => _1573[event.offerId]]), () => ( "pending"))
57920
+ _nullishCoalesce(_optionalChain([escalationOfferStates, 'optionalAccess', _1574 => _1574[event.offerId]]), () => ( "pending"))
57917
57921
  );
57918
57922
  break;
57919
57923
  case "ticket-escalated":
@@ -57925,7 +57929,7 @@ function applyHistoryEvent(event, accumulator, approvalStatuses, options, escala
57925
57929
  });
57926
57930
  break;
57927
57931
  case "escalation-offer-resolved":
57928
- _optionalChain([offerResolutions, 'optionalAccess', _1574 => _1574.set, 'call', _1575 => _1575(event.offerId, {
57932
+ _optionalChain([offerResolutions, 'optionalAccess', _1575 => _1575.set, 'call', _1576 => _1576(event.offerId, {
57929
57933
  status: event.status,
57930
57934
  resolvedByName: event.resolvedByName
57931
57935
  })]);
@@ -58003,7 +58007,7 @@ function applyHistoryEvent(event, accumulator, approvalStatuses, options, escala
58003
58007
  }
58004
58008
  }
58005
58009
  } else {
58006
- _optionalChain([escalatedApprovals, 'optionalAccess', _1576 => _1576.set, 'call', _1577 => _1577(event.requestId, {
58010
+ _optionalChain([escalatedApprovals, 'optionalAccess', _1577 => _1577.set, 'call', _1578 => _1578(event.requestId, {
58007
58011
  command: event.command || "",
58008
58012
  explanation: event.explanation,
58009
58013
  approvalType,
@@ -58018,8 +58022,8 @@ function applyHistoryEvent(event, accumulator, approvalStatuses, options, escala
58018
58022
  const existingStatus = approvalStatuses[requestId];
58019
58023
  const status = existingStatus || event.status;
58020
58024
  const resolvedByName = event.resolvedByName;
58021
- const escalatedData = _optionalChain([escalatedApprovals, 'optionalAccess', _1578 => _1578.get, 'call', _1579 => _1579(requestId)]);
58022
- if (_optionalChain([escalatedData, 'optionalAccess', _1580 => _1580.toolCalls]) && escalatedData.toolCalls.length > 0) {
58025
+ const escalatedData = _optionalChain([escalatedApprovals, 'optionalAccess', _1579 => _1579.get, 'call', _1580 => _1580(requestId)]);
58026
+ if (_optionalChain([escalatedData, 'optionalAccess', _1581 => _1581.toolCalls]) && escalatedData.toolCalls.length > 0) {
58023
58027
  if (batchApprovalsEnabled) {
58024
58028
  accumulator.addApprovalBatch(
58025
58029
  requestId,
@@ -58041,7 +58045,7 @@ function applyHistoryEvent(event, accumulator, approvalStatuses, options, escala
58041
58045
  );
58042
58046
  }
58043
58047
  }
58044
- _optionalChain([escalatedApprovals, 'optionalAccess', _1581 => _1581.delete, 'call', _1582 => _1582(requestId)]);
58048
+ _optionalChain([escalatedApprovals, 'optionalAccess', _1582 => _1582.delete, 'call', _1583 => _1583(requestId)]);
58045
58049
  break;
58046
58050
  }
58047
58051
  if (escalatedData) {
@@ -58050,7 +58054,7 @@ function applyHistoryEvent(event, accumulator, approvalStatuses, options, escala
58050
58054
  explanation: escalatedData.explanation,
58051
58055
  approvalType: escalatedData.approvalType
58052
58056
  });
58053
- _optionalChain([escalatedApprovals, 'optionalAccess', _1583 => _1583.delete, 'call', _1584 => _1584(requestId)]);
58057
+ _optionalChain([escalatedApprovals, 'optionalAccess', _1584 => _1584.delete, 'call', _1585 => _1585(requestId)]);
58054
58058
  }
58055
58059
  const before = accumulator.getSegments();
58056
58060
  const after = accumulator.updateApprovalStatus(requestId, status, resolvedByName);
@@ -58067,7 +58071,7 @@ function applyHistoryEvent(event, accumulator, approvalStatuses, options, escala
58067
58071
  let message2;
58068
58072
  if (event.details) {
58069
58073
  try {
58070
- message2 = _optionalChain([JSON, 'access', _1585 => _1585.parse, 'call', _1586 => _1586(event.details), 'optionalAccess', _1587 => _1587.error, 'optionalAccess', _1588 => _1588.message]);
58074
+ message2 = _optionalChain([JSON, 'access', _1586 => _1586.parse, 'call', _1587 => _1587(event.details), 'optionalAccess', _1588 => _1588.error, 'optionalAccess', _1589 => _1589.message]);
58071
58075
  } catch (e104) {
58072
58076
  message2 = event.details;
58073
58077
  }
@@ -58153,14 +58157,14 @@ function processHistoricalMessages(messages, options = {}) {
58153
58157
  pushStandaloneMessages(processedMessages, msg, messageDataArray);
58154
58158
  return;
58155
58159
  }
58156
- const isUserMessage = _optionalChain([msg, 'access', _1589 => _1589.owner, 'optionalAccess', _1590 => _1590.type]) === OWNER_TYPE.CLIENT || _optionalChain([msg, 'access', _1591 => _1591.owner, 'optionalAccess', _1592 => _1592.type]) === OWNER_TYPE.ADMIN;
58160
+ const isUserMessage = _optionalChain([msg, 'access', _1590 => _1590.owner, 'optionalAccess', _1591 => _1591.type]) === OWNER_TYPE.CLIENT || _optionalChain([msg, 'access', _1592 => _1592.owner, 'optionalAccess', _1593 => _1593.type]) === OWNER_TYPE.ADMIN;
58157
58161
  if (isUserMessage) {
58158
58162
  flushAssistantMessage();
58159
- const userAuthorType = _optionalChain([msg, 'access', _1593 => _1593.owner, 'optionalAccess', _1594 => _1594.type]) === OWNER_TYPE.ADMIN ? "admin" : "user";
58163
+ const userAuthorType = _optionalChain([msg, 'access', _1594 => _1594.owner, 'optionalAccess', _1595 => _1595.type]) === OWNER_TYPE.ADMIN ? "admin" : "user";
58160
58164
  messageDataArray.forEach((data) => {
58161
58165
  if (data.type === MESSAGE_TYPE.TEXT && "text" in data && data.text) {
58162
58166
  const rawContext = data.contextItems;
58163
- const contextItems = Array.isArray(rawContext) ? rawContext.filter((c) => typeof _optionalChain([c, 'optionalAccess', _1595 => _1595.type]) === "string" && typeof _optionalChain([c, 'optionalAccess', _1596 => _1596.id]) === "string").map((c) => ({ type: c.type, id: c.id, label: c.id })) : void 0;
58167
+ const contextItems = Array.isArray(rawContext) ? rawContext.filter((c) => typeof _optionalChain([c, 'optionalAccess', _1596 => _1596.type]) === "string" && typeof _optionalChain([c, 'optionalAccess', _1597 => _1597.id]) === "string").map((c) => ({ type: c.type, id: c.id, label: c.id })) : void 0;
58164
58168
  processedMessages.push({
58165
58169
  id: msg.id,
58166
58170
  role: "user",
@@ -58197,7 +58201,7 @@ function processHistoricalMessages(messages, options = {}) {
58197
58201
  });
58198
58202
  const nextMsg = messages[index + 1];
58199
58203
  const isLastMessage = index === messages.length - 1;
58200
- const nextIsFromUser = nextMsg && (_optionalChain([nextMsg, 'access', _1597 => _1597.owner, 'optionalAccess', _1598 => _1598.type]) === OWNER_TYPE.CLIENT || _optionalChain([nextMsg, 'access', _1599 => _1599.owner, 'optionalAccess', _1600 => _1600.type]) === OWNER_TYPE.ADMIN);
58204
+ const nextIsFromUser = nextMsg && (_optionalChain([nextMsg, 'access', _1598 => _1598.owner, 'optionalAccess', _1599 => _1599.type]) === OWNER_TYPE.CLIENT || _optionalChain([nextMsg, 'access', _1600 => _1600.owner, 'optionalAccess', _1601 => _1601.type]) === OWNER_TYPE.ADMIN);
58201
58205
  if (isLastMessage || nextIsFromUser) {
58202
58206
  flushAssistantMessage();
58203
58207
  }
@@ -58309,7 +58313,7 @@ function extractIncompleteMessageState(lastMessage) {
58309
58313
  break;
58310
58314
  case "approval_batch": {
58311
58315
  const allDone = !!segment.data.executions && segment.data.toolCalls.every(
58312
- (c) => _optionalChain([segment, 'access', _1601 => _1601.data, 'access', _1602 => _1602.executions, 'optionalAccess', _1603 => _1603[c.toolExecutionRequestId], 'optionalAccess', _1604 => _1604.status]) === "done"
58316
+ (c) => _optionalChain([segment, 'access', _1602 => _1602.data, 'access', _1603 => _1603.executions, 'optionalAccess', _1604 => _1604[c.toolExecutionRequestId], 'optionalAccess', _1605 => _1605.status]) === "done"
58313
58317
  );
58314
58318
  if (segment.status !== "rejected" && !allDone) {
58315
58319
  hasIncompleteState = true;
@@ -58345,11 +58349,11 @@ function extractIncompleteMessageState(lastMessage) {
58345
58349
  function extractIncompleteTailState(messages) {
58346
58350
  if (!messages || messages.length === 0) return void 0;
58347
58351
  let start = messages.length;
58348
- while (start > 0 && _optionalChain([messages, 'access', _1605 => _1605[start - 1], 'optionalAccess', _1606 => _1606.role]) === "assistant") start -= 1;
58352
+ while (start > 0 && _optionalChain([messages, 'access', _1606 => _1606[start - 1], 'optionalAccess', _1607 => _1607.role]) === "assistant") start -= 1;
58349
58353
  if (start === messages.length) return void 0;
58350
58354
  const segments = [];
58351
58355
  for (let i = start; i < messages.length; i += 1) {
58352
- const content = _optionalChain([messages, 'access', _1607 => _1607[i], 'optionalAccess', _1608 => _1608.content]);
58356
+ const content = _optionalChain([messages, 'access', _1608 => _1608[i], 'optionalAccess', _1609 => _1609.content]);
58353
58357
  if (Array.isArray(content)) segments.push(...content);
58354
58358
  }
58355
58359
  if (segments.length === 0) return void 0;
@@ -58703,7 +58707,7 @@ function useNatsChatAdapter(config, options = {}) {
58703
58707
  }, [active, fetchDialogs, loadDialogsPage]);
58704
58708
  const sendMessage = _react.useCallback.call(void 0,
58705
58709
  async (text, sendOptions) => {
58706
- const hidden = _nullishCoalesce(_optionalChain([sendOptions, 'optionalAccess', _1609 => _1609.hidden]), () => ( false));
58710
+ const hidden = _nullishCoalesce(_optionalChain([sendOptions, 'optionalAccess', _1610 => _1610.hidden]), () => ( false));
58707
58711
  mutate((r) => r.pushOptimisticSend(text, hidden));
58708
58712
  await publishUserMessage(text, { hidden, dialogId });
58709
58713
  },
@@ -58859,11 +58863,11 @@ function useNatsChatAdapter(config, options = {}) {
58859
58863
  // Tokens: live `token_usage` frame / dialog snapshot (`dialogTokenUsage`).
58860
58864
  // contextWindow uses the dialog's `contextSize` (the "X / Y" denominator,
58861
58865
  // matching the /mingo page). cacheHitRate/breakdown are SSE-only → null.
58862
- currentProvider: _nullishCoalesce(_nullishCoalesce(_optionalChain([liveModel, 'optionalAccess', _1610 => _1610.provider]), () => ( modelProvider)), () => ( null)),
58863
- currentModelLabel: _nullishCoalesce(_nullishCoalesce(_optionalChain([liveModel, 'optionalAccess', _1611 => _1611.modelLabel]), () => ( modelLabel)), () => ( null)),
58864
- currentContextWindowMaxTokens: _nullishCoalesce(_nullishCoalesce(_optionalChain([dialogTokenUsage, 'optionalAccess', _1612 => _1612.contextSize]), () => ( _optionalChain([liveModel, 'optionalAccess', _1613 => _1613.contextWindowMaxTokens]))), () => ( null)),
58865
- currentInputTokens: _nullishCoalesce(_optionalChain([dialogTokenUsage, 'optionalAccess', _1614 => _1614.inputTokensSize]), () => ( null)),
58866
- currentOutputTokens: _nullishCoalesce(_optionalChain([dialogTokenUsage, 'optionalAccess', _1615 => _1615.outputTokensSize]), () => ( null)),
58866
+ currentProvider: _nullishCoalesce(_nullishCoalesce(_optionalChain([liveModel, 'optionalAccess', _1611 => _1611.provider]), () => ( modelProvider)), () => ( null)),
58867
+ currentModelLabel: _nullishCoalesce(_nullishCoalesce(_optionalChain([liveModel, 'optionalAccess', _1612 => _1612.modelLabel]), () => ( modelLabel)), () => ( null)),
58868
+ currentContextWindowMaxTokens: _nullishCoalesce(_nullishCoalesce(_optionalChain([dialogTokenUsage, 'optionalAccess', _1613 => _1613.contextSize]), () => ( _optionalChain([liveModel, 'optionalAccess', _1614 => _1614.contextWindowMaxTokens]))), () => ( null)),
58869
+ currentInputTokens: _nullishCoalesce(_optionalChain([dialogTokenUsage, 'optionalAccess', _1615 => _1615.inputTokensSize]), () => ( null)),
58870
+ currentOutputTokens: _nullishCoalesce(_optionalChain([dialogTokenUsage, 'optionalAccess', _1616 => _1616.outputTokensSize]), () => ( null)),
58867
58871
  currentCacheHitRatePct: null,
58868
58872
  currentUsageBreakdown: null,
58869
58873
  // Dialog management
@@ -59000,7 +59004,7 @@ function useUnifiedChat(options) {
59000
59004
  []
59001
59005
  );
59002
59006
  const setDialogScope = _react.useCallback.call(void 0,
59003
- (scope) => _optionalChain([activeStateRef, 'access', _1616 => _1616.current, 'access', _1617 => _1617.setDialogScope, 'optionalCall', _1618 => _1618(scope)]),
59007
+ (scope) => _optionalChain([activeStateRef, 'access', _1617 => _1617.current, 'access', _1618 => _1618.setDialogScope, 'optionalCall', _1619 => _1619(scope)]),
59004
59008
  []
59005
59009
  );
59006
59010
  const reloadDialogs = _react.useCallback.call(void 0,
@@ -59104,19 +59108,19 @@ function turnRequestKeys(content) {
59104
59108
  if (!Array.isArray(content)) return keys;
59105
59109
  for (const seg of content) {
59106
59110
  if (seg.type === "tool_execution") {
59107
- const id = _optionalChain([seg, 'access', _1619 => _1619.data, 'optionalAccess', _1620 => _1620.toolExecutionRequestId]);
59111
+ const id = _optionalChain([seg, 'access', _1620 => _1620.data, 'optionalAccess', _1621 => _1621.toolExecutionRequestId]);
59108
59112
  if (id) keys.add(id);
59109
59113
  } else if (seg.type === "approval_request") {
59110
- const id = _optionalChain([seg, 'access', _1621 => _1621.data, 'optionalAccess', _1622 => _1622.requestId]);
59114
+ const id = _optionalChain([seg, 'access', _1622 => _1622.data, 'optionalAccess', _1623 => _1623.requestId]);
59111
59115
  if (id) keys.add(id);
59112
59116
  } else if (seg.type === "escalation_offer") {
59113
- const id = _optionalChain([seg, 'access', _1623 => _1623.data, 'optionalAccess', _1624 => _1624.offerId]);
59117
+ const id = _optionalChain([seg, 'access', _1624 => _1624.data, 'optionalAccess', _1625 => _1625.offerId]);
59114
59118
  if (id) keys.add(id);
59115
59119
  } else if (seg.type === "approval_batch") {
59116
59120
  const data = seg.data;
59117
- if (_optionalChain([data, 'optionalAccess', _1625 => _1625.approvalRequestId])) keys.add(data.approvalRequestId);
59118
- for (const call of _nullishCoalesce(_optionalChain([data, 'optionalAccess', _1626 => _1626.toolCalls]), () => ( []))) {
59119
- if (_optionalChain([call, 'optionalAccess', _1627 => _1627.toolExecutionRequestId])) keys.add(call.toolExecutionRequestId);
59121
+ if (_optionalChain([data, 'optionalAccess', _1626 => _1626.approvalRequestId])) keys.add(data.approvalRequestId);
59122
+ for (const call of _nullishCoalesce(_optionalChain([data, 'optionalAccess', _1627 => _1627.toolCalls]), () => ( []))) {
59123
+ if (_optionalChain([call, 'optionalAccess', _1628 => _1628.toolExecutionRequestId])) keys.add(call.toolExecutionRequestId);
59120
59124
  }
59121
59125
  }
59122
59126
  }
@@ -59168,20 +59172,20 @@ function mergeHistoryWithRealtime(input) {
59168
59172
  }
59169
59173
  }
59170
59174
  const trailing = processedHistory[processedHistory.length - 1];
59171
- const historyTrailingAssistant = _optionalChain([trailing, 'optionalAccess', _1628 => _1628.role]) === "assistant" ? trailing : null;
59172
- const historyBatchId = historyTrailingAssistant && Array.isArray(historyTrailingAssistant.content) ? _nullishCoalesce(_optionalChain([historyTrailingAssistant, 'access', _1629 => _1629.content, 'access', _1630 => _1630.find, 'call', _1631 => _1631((s) => s.type === "approval_batch"), 'optionalAccess', _1632 => _1632.data, 'optionalAccess', _1633 => _1633.approvalRequestId]), () => ( null)) : null;
59175
+ const historyTrailingAssistant = _optionalChain([trailing, 'optionalAccess', _1629 => _1629.role]) === "assistant" ? trailing : null;
59176
+ const historyBatchId = historyTrailingAssistant && Array.isArray(historyTrailingAssistant.content) ? _nullishCoalesce(_optionalChain([historyTrailingAssistant, 'access', _1630 => _1630.content, 'access', _1631 => _1631.find, 'call', _1632 => _1632((s) => s.type === "approval_batch"), 'optionalAccess', _1633 => _1633.data, 'optionalAccess', _1634 => _1634.approvalRequestId]), () => ( null)) : null;
59173
59177
  let processedToUse = processedHistory;
59174
59178
  const pinnedSyntheticIds = /* @__PURE__ */ new Set();
59175
59179
  const droppedSyntheticIds = /* @__PURE__ */ new Set();
59176
59180
  if (historyBatchId) {
59177
59181
  const batchTwins = existingMessages.filter(
59178
59182
  (m) => m.role === "assistant" && Array.isArray(m.content) && m.content.some(
59179
- (s) => s.type === "approval_batch" && _optionalChain([s, 'access', _1634 => _1634.data, 'optionalAccess', _1635 => _1635.approvalRequestId]) === historyBatchId
59183
+ (s) => s.type === "approval_batch" && _optionalChain([s, 'access', _1635 => _1635.data, 'optionalAccess', _1636 => _1636.approvalRequestId]) === historyBatchId
59180
59184
  )
59181
59185
  );
59182
59186
  const existingWithSameBatch = _nullishCoalesce(batchTwins.find((m) => m.id === streamingMessageId), () => ( batchTwins[batchTwins.length - 1]));
59183
59187
  if (existingWithSameBatch && Array.isArray(existingWithSameBatch.content)) {
59184
- const histSize = Array.isArray(_optionalChain([historyTrailingAssistant, 'optionalAccess', _1636 => _1636.content])) ? historyTrailingAssistant.content.length : 0;
59188
+ const histSize = Array.isArray(_optionalChain([historyTrailingAssistant, 'optionalAccess', _1637 => _1637.content])) ? historyTrailingAssistant.content.length : 0;
59185
59189
  const realtimeSize = existingWithSameBatch.content.length;
59186
59190
  if (existingWithSameBatch.id === streamingMessageId || realtimeSize > histSize) {
59187
59191
  processedToUse = processedHistory.slice(0, -1);
@@ -59223,9 +59227,9 @@ function mergeHistoryWithRealtime(input) {
59223
59227
  if (pinnedSyntheticIds.has(m.id)) return true;
59224
59228
  if (droppedSyntheticIds.has(m.id)) return false;
59225
59229
  if (processedIds.has(m.id)) return false;
59226
- if (_optionalChain([rawHistoryIds, 'optionalAccess', _1637 => _1637.has, 'call', _1638 => _1638(m.id)])) return false;
59230
+ if (_optionalChain([rawHistoryIds, 'optionalAccess', _1638 => _1638.has, 'call', _1639 => _1639(m.id)])) return false;
59227
59231
  if (m.role === "user" && m.id.startsWith("optimistic-") && typeof m.content === "string") {
59228
- const canBeInSnapshot = (_nullishCoalesce(_optionalChain([m, 'access', _1639 => _1639.timestamp, 'optionalAccess', _1640 => _1640.getTime, 'call', _1641 => _1641()]), () => ( 0))) <= historyFetchedAt;
59232
+ const canBeInSnapshot = (_nullishCoalesce(_optionalChain([m, 'access', _1640 => _1640.timestamp, 'optionalAccess', _1641 => _1641.getTime, 'call', _1642 => _1642()]), () => ( 0))) <= historyFetchedAt;
59229
59233
  return !(canBeInSnapshot && processedToUse.some((pm) => pm.role === "user" && pm.content === m.content));
59230
59234
  }
59231
59235
  if (isSyntheticRealtimeId(m.id) && m.id !== streamingMessageId) {
@@ -59249,7 +59253,7 @@ function mergeHistoryWithRealtime(input) {
59249
59253
  } else if (typeof m.streamSeq === "number") {
59250
59254
  covered = historyMaxStreamSeq > 0 && historyMaxStreamSeq >= m.streamSeq;
59251
59255
  } else {
59252
- covered = historyCoversRealtime !== null ? historyCoversRealtime : (_nullishCoalesce(_optionalChain([m, 'access', _1642 => _1642.timestamp, 'optionalAccess', _1643 => _1643.getTime, 'call', _1644 => _1644()]), () => ( 0))) <= historyFetchedAt;
59256
+ covered = historyCoversRealtime !== null ? historyCoversRealtime : (_nullishCoalesce(_optionalChain([m, 'access', _1643 => _1643.timestamp, 'optionalAccess', _1644 => _1644.getTime, 'call', _1645 => _1645()]), () => ( 0))) <= historyFetchedAt;
59253
59257
  }
59254
59258
  if (covered) return false;
59255
59259
  }
@@ -59305,7 +59309,7 @@ function normalizeHistoricalMessageData(md) {
59305
59309
  function isHistoricalUserTurn(m) {
59306
59310
  return !!m.owner;
59307
59311
  }
59308
- var isTextSegment = (d) => _optionalChain([d, 'optionalAccess', _1645 => _1645.type]) === "TEXT" && typeof d.text === "string";
59312
+ var isTextSegment = (d) => _optionalChain([d, 'optionalAccess', _1646 => _1646.type]) === "TEXT" && typeof d.text === "string";
59309
59313
  var THINK_MS = 550;
59310
59314
  var TOKEN_MS = 55;
59311
59315
  var USER_MS = 480;
@@ -59552,7 +59556,7 @@ function useChatDialogManager({
59552
59556
  const handleConfirmRestore = _react.useCallback.call(void 0, async () => {
59553
59557
  if (restoreTarget) {
59554
59558
  try {
59555
- await _optionalChain([unarchiveDialog, 'optionalCall', _1646 => _1646(restoreTarget.id)]);
59559
+ await _optionalChain([unarchiveDialog, 'optionalCall', _1647 => _1647(restoreTarget.id)]);
59556
59560
  } catch (err) {
59557
59561
  console.error("[useChatDialogManager] unarchive failed:", err);
59558
59562
  return;
@@ -60034,7 +60038,7 @@ function EmbeddableChatInner({
60034
60038
  }),
60035
60039
  [commandsUrl]
60036
60040
  );
60037
- const headerUserName = _optionalChain([identityUser, 'optionalAccess', _1647 => _1647.name, 'optionalAccess', _1648 => _1648.trim, 'call', _1649 => _1649()]) || [_optionalChain([identityUser, 'optionalAccess', _1650 => _1650.firstName]), _optionalChain([identityUser, 'optionalAccess', _1651 => _1651.lastName])].filter(Boolean).join(" ").trim() || _optionalChain([userDisplayName, 'optionalAccess', _1652 => _1652.trim, 'call', _1653 => _1653()]) || void 0;
60041
+ const headerUserName = _optionalChain([identityUser, 'optionalAccess', _1648 => _1648.name, 'optionalAccess', _1649 => _1649.trim, 'call', _1650 => _1650()]) || [_optionalChain([identityUser, 'optionalAccess', _1651 => _1651.firstName]), _optionalChain([identityUser, 'optionalAccess', _1652 => _1652.lastName])].filter(Boolean).join(" ").trim() || _optionalChain([userDisplayName, 'optionalAccess', _1653 => _1653.trim, 'call', _1654 => _1654()]) || void 0;
60038
60042
  const effectiveModes = _react.useMemo.call(void 0, () => {
60039
60043
  if (modes) return modes;
60040
60044
  const guideOptions = tableIdForDocumentType ? { tableIdForDocumentType } : {};
@@ -60043,19 +60047,19 @@ function EmbeddableChatInner({
60043
60047
  const mingoCaps = _react.useMemo.call(void 0, () => {
60044
60048
  if (mingoState) {
60045
60049
  return {
60046
- canRename: _nullishCoalesce(_optionalChain([mingoDialogCapabilities, 'optionalAccess', _1654 => _1654.canRename]), () => ( false)),
60047
- canArchive: _nullishCoalesce(_optionalChain([mingoDialogCapabilities, 'optionalAccess', _1655 => _1655.canArchive]), () => ( false)),
60048
- fetchArchivedDialogs: _optionalChain([mingoDialogCapabilities, 'optionalAccess', _1656 => _1656.fetchArchivedDialogs]),
60049
- unarchiveDialog: _optionalChain([mingoDialogCapabilities, 'optionalAccess', _1657 => _1657.unarchiveDialog]),
60050
- searchQuery: _optionalChain([mingoDialogCapabilities, 'optionalAccess', _1658 => _1658.searchQuery]),
60051
- onSearchChange: _optionalChain([mingoDialogCapabilities, 'optionalAccess', _1659 => _1659.onSearchChange])
60050
+ canRename: _nullishCoalesce(_optionalChain([mingoDialogCapabilities, 'optionalAccess', _1655 => _1655.canRename]), () => ( false)),
60051
+ canArchive: _nullishCoalesce(_optionalChain([mingoDialogCapabilities, 'optionalAccess', _1656 => _1656.canArchive]), () => ( false)),
60052
+ fetchArchivedDialogs: _optionalChain([mingoDialogCapabilities, 'optionalAccess', _1657 => _1657.fetchArchivedDialogs]),
60053
+ unarchiveDialog: _optionalChain([mingoDialogCapabilities, 'optionalAccess', _1658 => _1658.unarchiveDialog]),
60054
+ searchQuery: _optionalChain([mingoDialogCapabilities, 'optionalAccess', _1659 => _1659.searchQuery]),
60055
+ onSearchChange: _optionalChain([mingoDialogCapabilities, 'optionalAccess', _1660 => _1660.onSearchChange])
60052
60056
  };
60053
60057
  }
60054
60058
  return {
60055
- canRename: !!_optionalChain([effectiveModes, 'access', _1660 => _1660.mingo, 'optionalAccess', _1661 => _1661.renameDialog]),
60056
- canArchive: !!_optionalChain([effectiveModes, 'access', _1662 => _1662.mingo, 'optionalAccess', _1663 => _1663.archiveDialog]),
60057
- fetchArchivedDialogs: _optionalChain([effectiveModes, 'access', _1664 => _1664.mingo, 'optionalAccess', _1665 => _1665.fetchArchivedDialogs]),
60058
- unarchiveDialog: _optionalChain([effectiveModes, 'access', _1666 => _1666.mingo, 'optionalAccess', _1667 => _1667.unarchiveDialog]),
60059
+ canRename: !!_optionalChain([effectiveModes, 'access', _1661 => _1661.mingo, 'optionalAccess', _1662 => _1662.renameDialog]),
60060
+ canArchive: !!_optionalChain([effectiveModes, 'access', _1663 => _1663.mingo, 'optionalAccess', _1664 => _1664.archiveDialog]),
60061
+ fetchArchivedDialogs: _optionalChain([effectiveModes, 'access', _1665 => _1665.mingo, 'optionalAccess', _1666 => _1666.fetchArchivedDialogs]),
60062
+ unarchiveDialog: _optionalChain([effectiveModes, 'access', _1667 => _1667.mingo, 'optionalAccess', _1668 => _1668.unarchiveDialog]),
60059
60063
  searchQuery: void 0,
60060
60064
  onSearchChange: void 0
60061
60065
  };
@@ -60069,7 +60073,7 @@ function EmbeddableChatInner({
60069
60073
  if (controlledActiveMode === void 0) {
60070
60074
  setUncontrolledActiveMode(next);
60071
60075
  }
60072
- _optionalChain([onActiveModeChange, 'optionalCall', _1668 => _1668(next)]);
60076
+ _optionalChain([onActiveModeChange, 'optionalCall', _1669 => _1669(next)]);
60073
60077
  },
60074
60078
  [controlledActiveMode, onActiveModeChange]
60075
60079
  );
@@ -60091,7 +60095,7 @@ function EmbeddableChatInner({
60091
60095
  const effectiveQuickActions = emptyStateUrl ? emptyStateConfig.quickActions : [];
60092
60096
  const effectiveAssistantName = emptyStateConfig.name;
60093
60097
  const effectiveAssistantIcon = emptyStateConfig.icon;
60094
- const headerAssistantName = _nullishCoalesce(effectiveAssistantName, () => ( (typeof _optionalChain([guideWelcome, 'optionalAccess', _1669 => _1669.title]) === "string" ? guideWelcome.title : null)));
60098
+ const headerAssistantName = _nullishCoalesce(effectiveAssistantName, () => ( (typeof _optionalChain([guideWelcome, 'optionalAccess', _1670 => _1670.title]) === "string" ? guideWelcome.title : null)));
60095
60099
  const {
60096
60100
  messages: rawMessages,
60097
60101
  isLoading: chatLoading,
@@ -60133,7 +60137,7 @@ function EmbeddableChatInner({
60133
60137
  if (activeMode !== "guide" || guidePromptSentRef.current) return;
60134
60138
  guidePromptSentRef.current = true;
60135
60139
  void sendMessage(guidePendingPrompt);
60136
- _optionalChain([onGuidePromptConsumed, 'optionalCall', _1670 => _1670()]);
60140
+ _optionalChain([onGuidePromptConsumed, 'optionalCall', _1671 => _1671()]);
60137
60141
  }, [guidePendingPrompt, activeMode, sendMessage, onGuidePromptConsumed]);
60138
60142
  const {
60139
60143
  attachments: stagedAttachments,
@@ -60144,7 +60148,7 @@ function EmbeddableChatInner({
60144
60148
  clear: clearAttachments
60145
60149
  } = useChatAttachments();
60146
60150
  const { panelRef: galleryPanelRef, modal: galleryModal } = useChatAttachmentImageGallery();
60147
- const contextMaxItems = _nullishCoalesce(_optionalChain([contextPicker, 'optionalAccess', _1671 => _1671.maxItems]), () => ( 10));
60151
+ const contextMaxItems = _nullishCoalesce(_optionalChain([contextPicker, 'optionalAccess', _1672 => _1672.maxItems]), () => ( 10));
60148
60152
  const contextPickerForMode = activeMode === "mingo" ? contextPicker : void 0;
60149
60153
  const [contextItems, setContextItems] = _react.useState.call(void 0, []);
60150
60154
  const [contextPickerOpen, setContextPickerOpen] = _react.useState.call(void 0, false);
@@ -60161,10 +60165,10 @@ function EmbeddableChatInner({
60161
60165
  }, [activeDialogId, activeMode]);
60162
60166
  const mentionMarkerByType = _react.useMemo.call(void 0, () => {
60163
60167
  const m = /* @__PURE__ */ new Map();
60164
- for (const t of _nullishCoalesce(_optionalChain([contextPicker, 'optionalAccess', _1672 => _1672.entityTypes]), () => ( []))) if (t.marker) m.set(t.type, t.marker);
60168
+ for (const t of _nullishCoalesce(_optionalChain([contextPicker, 'optionalAccess', _1673 => _1673.entityTypes]), () => ( []))) if (t.marker) m.set(t.type, t.marker);
60165
60169
  return m;
60166
- }, [_optionalChain([contextPicker, 'optionalAccess', _1673 => _1673.entityTypes])]);
60167
- const contextEntityTypes = _optionalChain([contextPicker, 'optionalAccess', _1674 => _1674.entityTypes]);
60170
+ }, [_optionalChain([contextPicker, 'optionalAccess', _1674 => _1674.entityTypes])]);
60171
+ const contextEntityTypes = _optionalChain([contextPicker, 'optionalAccess', _1675 => _1675.entityTypes]);
60168
60172
  const resolveContextIcon = _react.useMemo.call(void 0, () => {
60169
60173
  const byType = /* @__PURE__ */ new Map();
60170
60174
  for (const t of _nullishCoalesce(contextEntityTypes, () => ( []))) byType.set(t.type, t.icon);
@@ -60176,7 +60180,7 @@ function EmbeddableChatInner({
60176
60180
  if (mentionActiveRef.current) {
60177
60181
  if (contextItems.some((p) => `${p.type}:${p.id}` === key)) return;
60178
60182
  if (contextItems.length >= contextMaxItems) return;
60179
- _optionalChain([chatInputRef, 'access', _1675 => _1675.current, 'optionalAccess', _1676 => _1676.commitMention, 'call', _1677 => _1677(mentionTokenOf(key, mentionMarkerByType), {
60183
+ _optionalChain([chatInputRef, 'access', _1676 => _1676.current, 'optionalAccess', _1677 => _1677.commitMention, 'call', _1678 => _1678(mentionTokenOf(key, mentionMarkerByType), {
60180
60184
  label: item.label,
60181
60185
  icon: resolveContextIcon(item)
60182
60186
  })]);
@@ -60198,9 +60202,9 @@ function EmbeddableChatInner({
60198
60202
  setContextItems((prev) => prev.filter((p) => `${p.type}:${p.id}` !== key));
60199
60203
  if (mentionKeysRef.current.has(key)) {
60200
60204
  mentionKeysRef.current.delete(key);
60201
- const cur = _nullishCoalesce(_optionalChain([chatInputRef, 'access', _1678 => _1678.current, 'optionalAccess', _1679 => _1679.getValue, 'call', _1680 => _1680()]), () => ( ""));
60205
+ const cur = _nullishCoalesce(_optionalChain([chatInputRef, 'access', _1679 => _1679.current, 'optionalAccess', _1680 => _1680.getValue, 'call', _1681 => _1681()]), () => ( ""));
60202
60206
  const next = cur.replace(`@${mentionTokenOf(key, mentionMarkerByType)}`, "").replace(/\s{2,}/g, " ").trimStart();
60203
- _optionalChain([chatInputRef, 'access', _1681 => _1681.current, 'optionalAccess', _1682 => _1682.setValue, 'call', _1683 => _1683(next)]);
60207
+ _optionalChain([chatInputRef, 'access', _1682 => _1682.current, 'optionalAccess', _1683 => _1683.setValue, 'call', _1684 => _1684(next)]);
60204
60208
  }
60205
60209
  }, [mentionMarkerByType]);
60206
60210
  const handleContextValueChange = _react.useCallback.call(void 0, (value) => {
@@ -60217,7 +60221,7 @@ function EmbeddableChatInner({
60217
60221
  }, []);
60218
60222
  const closeContextPicker = _react.useCallback.call(void 0, () => {
60219
60223
  if (mentionActiveRef.current) {
60220
- _optionalChain([chatInputRef, 'access', _1684 => _1684.current, 'optionalAccess', _1685 => _1685.removeMentionTrigger, 'call', _1686 => _1686()]);
60224
+ _optionalChain([chatInputRef, 'access', _1685 => _1685.current, 'optionalAccess', _1686 => _1686.removeMentionTrigger, 'call', _1687 => _1687()]);
60221
60225
  }
60222
60226
  setContextPickerOpen(false);
60223
60227
  setMentionQuery(null);
@@ -60251,8 +60255,8 @@ function EmbeddableChatInner({
60251
60255
  [effectiveAssistantIcon]
60252
60256
  );
60253
60257
  const timestampCacheRef = _react.useRef.call(void 0, /* @__PURE__ */ new Map());
60254
- const guideUserName = activeMode === "guide" ? [_optionalChain([identityUser, 'optionalAccess', _1687 => _1687.firstName]), _optionalChain([identityUser, 'optionalAccess', _1688 => _1688.lastName])].filter(Boolean).join(" ").trim() || _optionalChain([identityUser, 'optionalAccess', _1689 => _1689.name, 'optionalAccess', _1690 => _1690.trim, 'call', _1691 => _1691()]) || void 0 : void 0;
60255
- const guideUserAvatar = activeMode === "guide" ? _optionalChain([identityUser, 'optionalAccess', _1692 => _1692.avatarUrl, 'optionalAccess', _1693 => _1693.trim, 'call', _1694 => _1694()]) || void 0 : void 0;
60258
+ const guideUserName = activeMode === "guide" ? [_optionalChain([identityUser, 'optionalAccess', _1688 => _1688.firstName]), _optionalChain([identityUser, 'optionalAccess', _1689 => _1689.lastName])].filter(Boolean).join(" ").trim() || _optionalChain([identityUser, 'optionalAccess', _1690 => _1690.name, 'optionalAccess', _1691 => _1691.trim, 'call', _1692 => _1692()]) || void 0 : void 0;
60259
+ const guideUserAvatar = activeMode === "guide" ? _optionalChain([identityUser, 'optionalAccess', _1693 => _1693.avatarUrl, 'optionalAccess', _1694 => _1694.trim, 'call', _1695 => _1695()]) || void 0 : void 0;
60256
60260
  const messages = _react.useMemo.call(void 0, () => {
60257
60261
  const cache = timestampCacheRef.current;
60258
60262
  const seenIds = /* @__PURE__ */ new Set();
@@ -60443,9 +60447,9 @@ function EmbeddableChatInner({
60443
60447
  const lastAssistantMsg = [...rawMessages].reverse().find((m) => m.role === "assistant");
60444
60448
  const lastSources = _react.useMemo.call(void 0, () => {
60445
60449
  if (chatLoading) return void 0;
60446
- const sources = _optionalChain([lastAssistantMsg, 'optionalAccess', _1695 => _1695.sources]);
60450
+ const sources = _optionalChain([lastAssistantMsg, 'optionalAccess', _1696 => _1696.sources]);
60447
60451
  if (!sources || sources.length === 0) return void 0;
60448
- const content = _optionalChain([lastAssistantMsg, 'optionalAccess', _1696 => _1696.content]) || "";
60452
+ const content = _optionalChain([lastAssistantMsg, 'optionalAccess', _1697 => _1697.content]) || "";
60449
60453
  const citationOrder = [...content.matchAll(/\[(\d+)\]/g)].map(
60450
60454
  (m) => parseInt(m[1], 10)
60451
60455
  );
@@ -60465,7 +60469,7 @@ function EmbeddableChatInner({
60465
60469
  const el = panelMeasureRef.current;
60466
60470
  if (!el || typeof ResizeObserver === "undefined") return;
60467
60471
  const ro = new ResizeObserver((entries) => {
60468
- const w = _optionalChain([entries, 'access', _1697 => _1697[0], 'optionalAccess', _1698 => _1698.contentRect, 'optionalAccess', _1699 => _1699.width]);
60472
+ const w = _optionalChain([entries, 'access', _1698 => _1698[0], 'optionalAccess', _1699 => _1699.contentRect, 'optionalAccess', _1700 => _1700.width]);
60469
60473
  if (typeof w === "number") setPanelWidth(w);
60470
60474
  });
60471
60475
  ro.observe(el);
@@ -60508,16 +60512,16 @@ function EmbeddableChatInner({
60508
60512
  const isMingoMode = activeMode === "mingo";
60509
60513
  const stackedListView = isMingoMode && !hasConversation && !archiveOpen && !wideMingo && !composeOpen;
60510
60514
  const headerShowBack = hasConversation || guideCanReturnToMingo;
60511
- const headerTitle = hasConversation ? _optionalChain([activeDialog, 'optionalAccess', _1700 => _1700.title]) || "New Chat" : isGuideEmpty ? _nullishCoalesce(headerAssistantName, () => ( "Mingo Guide")) : "Current Chats";
60515
+ const headerTitle = hasConversation ? _optionalChain([activeDialog, 'optionalAccess', _1701 => _1701.title]) || "New Chat" : isGuideEmpty ? _nullishCoalesce(headerAssistantName, () => ( "Mingo Guide")) : "Current Chats";
60512
60516
  const headerBackAriaLabel = hasConversation ? isViewingArchived ? "Back to archive" : "Back" : "Back to Mingo";
60513
60517
  const headerOnBack = hasConversation ? handleBack : () => handleActiveModeChange("mingo");
60514
60518
  const headerOnRestore = isViewingArchived && unarchiveDialog && activeDialog ? () => setRestoreTarget(activeDialog) : void 0;
60515
60519
  const headerOnRename = activeDialogId && activeDialog && mingoCaps.canRename ? () => setRenameTarget(activeDialog) : void 0;
60516
60520
  const headerOnArchive = activeDialogId && activeDialog && mingoCaps.canArchive ? () => setArchiveTarget(activeDialog) : void 0;
60517
60521
  const headerOnOpenArchive = fetchArchivedDialogs ? openArchive : void 0;
60518
- const headerOwner = hasConversation ? _optionalChain([activeDialog, 'optionalAccess', _1701 => _1701.owner]) : void 0;
60519
- const headerPersonName = _optionalChain([headerOwner, 'optionalAccess', _1702 => _1702.name, 'optionalAccess', _1703 => _1703.trim, 'call', _1704 => _1704()]) || headerUserName;
60520
- const headerPersonAvatarUrl = headerOwner ? _optionalChain([headerOwner, 'access', _1705 => _1705.avatarUrl, 'optionalAccess', _1706 => _1706.trim, 'call', _1707 => _1707()]) || void 0 : _optionalChain([identityUser, 'optionalAccess', _1708 => _1708.avatarUrl, 'optionalAccess', _1709 => _1709.trim, 'call', _1710 => _1710()]) || _optionalChain([userAvatarUrl, 'optionalAccess', _1711 => _1711.trim, 'call', _1712 => _1712()]) || void 0;
60522
+ const headerOwner = hasConversation ? _optionalChain([activeDialog, 'optionalAccess', _1702 => _1702.owner]) : void 0;
60523
+ const headerPersonName = _optionalChain([headerOwner, 'optionalAccess', _1703 => _1703.name, 'optionalAccess', _1704 => _1704.trim, 'call', _1705 => _1705()]) || headerUserName;
60524
+ const headerPersonAvatarUrl = headerOwner ? _optionalChain([headerOwner, 'access', _1706 => _1706.avatarUrl, 'optionalAccess', _1707 => _1707.trim, 'call', _1708 => _1708()]) || void 0 : _optionalChain([identityUser, 'optionalAccess', _1709 => _1709.avatarUrl, 'optionalAccess', _1710 => _1710.trim, 'call', _1711 => _1711()]) || _optionalChain([userAvatarUrl, 'optionalAccess', _1712 => _1712.trim, 'call', _1713 => _1713()]) || void 0;
60521
60525
  const headerAvatar = headerPersonName || headerPersonAvatarUrl ? { name: headerPersonName, avatarUrl: headerPersonAvatarUrl } : void 0;
60522
60526
  const handleNewChat = _react.useCallback.call(void 0, () => {
60523
60527
  resetToNewChat();
@@ -60878,9 +60882,9 @@ function EmbeddableChatInner({
60878
60882
  subtitle: _nullishCoalesce(effectiveGreeting, () => ( void 0)),
60879
60883
  subtitleLoading: emptyStateLoading,
60880
60884
  ...guideWelcome,
60881
- title: _nullishCoalesce(effectiveAssistantName, () => ( _optionalChain([guideWelcome, 'optionalAccess', _1713 => _1713.title]))),
60882
- icon: _nullishCoalesce(effectiveAssistantIcon, () => ( _optionalChain([guideWelcome, 'optionalAccess', _1714 => _1714.icon]))),
60883
- quickActions: agentConfigUrl && guideSuggestedActions.length > 0 ? guideSuggestedActions : _nullishCoalesce(_optionalChain([guideWelcome, 'optionalAccess', _1715 => _1715.quickActions]), () => ( guideSuggestedActions)),
60885
+ title: _nullishCoalesce(effectiveAssistantName, () => ( _optionalChain([guideWelcome, 'optionalAccess', _1714 => _1714.title]))),
60886
+ icon: _nullishCoalesce(effectiveAssistantIcon, () => ( _optionalChain([guideWelcome, 'optionalAccess', _1715 => _1715.icon]))),
60887
+ quickActions: agentConfigUrl && guideSuggestedActions.length > 0 ? guideSuggestedActions : _nullishCoalesce(_optionalChain([guideWelcome, 'optionalAccess', _1716 => _1716.quickActions]), () => ( guideSuggestedActions)),
60884
60888
  onQuickAction: (action) => {
60885
60889
  setQuickActionPreview(null);
60886
60890
  handleSend(_nullishCoalesce(action.prompt, () => ( action.label)));
@@ -60960,8 +60964,8 @@ function EmbeddableChatInner({
60960
60964
  selectedContextItems: contextItems,
60961
60965
  onToggleContextItem: toggleContextItem,
60962
60966
  onRemoveContextItem: removeContextItem,
60963
- contextMemoryItems: _optionalChain([contextMemory, 'optionalAccess', _1716 => _1716.items]),
60964
- onRemoveContextMemoryItem: _optionalChain([contextMemory, 'optionalAccess', _1717 => _1717.onRemove]),
60967
+ contextMemoryItems: _optionalChain([contextMemory, 'optionalAccess', _1717 => _1717.items]),
60968
+ onRemoveContextMemoryItem: _optionalChain([contextMemory, 'optionalAccess', _1718 => _1718.onRemove]),
60965
60969
  contextPickerOpen,
60966
60970
  onOpenContextPicker: openContextPicker,
60967
60971
  onCloseContextPicker: closeContextPicker,
@@ -62150,4 +62154,4 @@ function EmbeddableChatInner({
62150
62154
 
62151
62155
 
62152
62156
  exports.Label = Label; exports.AllowedDomainsInput = AllowedDomainsInput; exports.AnnouncementBarView = AnnouncementBarView; exports.FloatingTooltip = FloatingTooltip; exports.TruncateText = TruncateText; exports.HiddenTagsPopup = HiddenTagsPopup; exports.tagVariants = tagVariants; exports.Tag = Tag; exports.Autocomplete = Autocomplete; exports.Card = Card; exports.CardHeader = CardHeader; exports.CardTitle = CardTitle; exports.CardDescription = CardDescription; exports.CardContent = CardContent; exports.CardFooter = CardFooter; exports.CardHorizontal = CardHorizontal; exports.CheckboxBlock = CheckboxBlock; exports.CheckboxWithDescription = CheckboxWithDescription; exports.Select = Select; exports.SelectGroup = SelectGroup; exports.SelectValue = SelectValue; exports.SelectTrigger = SelectTrigger; exports.SelectScrollUpButton = SelectScrollUpButton; exports.SelectScrollDownButton = SelectScrollDownButton; exports.SelectContent = SelectContent; exports.SelectLabel = SelectLabel; exports.SelectItem = SelectItem; exports.SelectSeparator = SelectSeparator; exports.DatePicker = DatePicker; exports.DatePickerInput = DatePickerInput; exports.DatePickerInputSimple = DatePickerInputSimple; exports.DateFilterPanel = DateFilterPanel; exports.DateFilterMenu = DateFilterMenu; exports.DurationInput = DurationInput; exports.InfoHint = InfoHint; exports.Field = Field; exports.HoneypotField = HoneypotField; exports.formatTicketRelativeTime = formatTicketRelativeTime; exports.formatTicketFullTimestamp = formatTicketFullTimestamp; exports.formatRelativeTime = formatRelativeTime; exports.formatAbsoluteDate = formatAbsoluteDate; exports.formatDateTime = formatDateTime; exports.getDetailedTimeDifference = getDetailedTimeDifference; exports.isToday = isToday; exports.isWithinMinutes = isWithinMinutes; exports.createUTCTimestamp = createUTCTimestamp; exports.JsonDetailList = JsonDetailList; exports.ProgressBar = ProgressBar; exports.InfoCard = InfoCard; exports.InfoRow = InfoRow; exports.DeletedUserAvatar = DeletedUserAvatar; exports.SearchableSelect = SearchableSelect; exports.formatDate = formatDate2; exports.formatNumber = formatNumber; exports.formatPrice = formatPrice; exports.formatBytes = formatBytes; exports.formatBytesShort = formatBytesShort; exports.formatFileSize = formatFileSize; exports.formatLargeNumber = formatLargeNumber; exports.formatAbbreviatedNumber = formatAbbreviatedNumber; exports.getFirstLastInitials = getFirstLastInitials; exports.nameInitials = nameInitials; exports.formatDurationMMSS = formatDurationMMSS; exports.formatDurationCompact = formatDurationCompact; exports.formatTimeWithTimezone = formatTimeWithTimezone; exports.formatDurationFromRange = formatDurationFromRange; exports.formatDateUTC = formatDateUTC; exports.formatEntryMonthUTC = formatEntryMonthUTC; exports.formatLegalDate = formatLegalDate; exports.formatCurrency = formatCurrency; exports.formatPercent = formatPercent; exports.formatWholeDollars = formatWholeDollars; exports.formatCompactMetric = formatCompactMetric; exports.getTrendColors = getTrendColors; exports.formatDateRange = formatDateRange; exports.formatDateTimeAt = formatDateTimeAt; exports.formatDurationFromMs = formatDurationFromMs; exports.formatDuration = formatDuration; exports.titleCaseFromSlug = titleCaseFromSlug; exports.formatUnderscoreText = formatUnderscoreText; exports.stripHtml = stripHtml; exports.formatClassification = formatClassification; exports.formatPricingModel = formatPricingModel; exports.formatBioText = formatBioText; exports.SquareAvatar = SquareAvatar; exports.AssigneeDropdown = AssigneeDropdown; exports.ActionsMenu = ActionsMenu; exports.ActionsMenuDropdown = ActionsMenuDropdown; exports.ColorSwatch = ColorSwatch; exports.DESIGN_PALETTE = DESIGN_PALETTE; exports.getContrastRatio = getContrastRatio; exports.pickReadableTextColor = pickReadableTextColor; exports.extractDominantColor = extractDominantColor; exports.getBestContrastColor = getBestContrastColor; exports.analyzeImageColor = analyzeImageColor; exports.extractImageEdgeColorAsync = extractImageEdgeColorAsync; exports.getPlatformAccentColor = getPlatformAccentColor; exports.getCurrentPlatform = getCurrentPlatform; exports.getReadableTextColor = getReadableTextColor; exports.HEX_PATTERN = HEX_PATTERN; exports.hexToRgb = hexToRgb2; exports.rgbToHex = rgbToHex; exports.deriveHoverColor = deriveHoverColor; exports.deriveActiveColor = deriveActiveColor; exports.resolveTicketStatus = resolveTicketStatus; exports.getTicketStatusConfig = getTicketStatusConfig; exports.getTicketStatusTag = getTicketStatusTag; exports.kindToCanonicalStatus = kindToCanonicalStatus; exports.usesCanonicalStatusStyle = usesCanonicalStatusStyle; exports.resolveStatusTagProps = resolveStatusTagProps; exports.TicketStatusTag = TicketStatusTag; exports.InfoSection = InfoSection; exports.InputTrigger = InputTrigger; exports.InteractiveCard = InteractiveCard; exports.MediaTypeSelector = MediaTypeSelector; exports.noDataIconClasses = noDataIconClasses; exports.noDataActionsVariants = noDataActionsVariants; exports.NoDataMessage = NoDataMessage; exports.NoDataAction = NoDataAction; exports.NoDataActions = NoDataActions; exports.NoData = NoData; exports.PageLoader = PageLoader; exports.CompactPageLoader = CompactPageLoader; exports.RadioGroup = RadioGroup; exports.RadioGroupItem = RadioGroupItem; exports.RadioGroupBlock = RadioGroupBlock; exports.useScrollFade = useScrollFade; exports.ScrollFadeOverlay = ScrollFadeOverlay; exports.ScrollShadow = ScrollShadow; exports.Switch = Switch; exports.TagSelectDropdown = TagSelectDropdown; exports.badgeVariants = badgeVariants; exports.Badge = Badge; exports.TagsInput = TagsInput; exports.TagsManager = TagsManager; exports.Textarea = Textarea; exports.AlertDialog = AlertDialog; exports.AlertDialogTrigger = AlertDialogTrigger; exports.AlertDialogPortal = AlertDialogPortal; exports.AlertDialogOverlay = AlertDialogOverlay; exports.AlertDialogContent = AlertDialogContent; exports.AlertDialogHeader = AlertDialogHeader; exports.AlertDialogFooter = AlertDialogFooter; exports.AlertDialogTitle = AlertDialogTitle; exports.AlertDialogDescription = AlertDialogDescription; exports.AlertDialogAction = AlertDialogAction; exports.AlertDialogCancel = AlertDialogCancel; exports.AspectRatio = AspectRatio; exports.Dialog = Dialog; exports.DialogTrigger = DialogTrigger; exports.DialogPortal = DialogPortal; exports.DialogClose = DialogClose; exports.DialogOverlay = DialogOverlay; exports.DialogContent = DialogContent; exports.DialogHeader = DialogHeader; exports.DialogFooter = DialogFooter; exports.DialogTitle = DialogTitle; exports.DialogDescription = DialogDescription; exports.ImageGalleryModal = ImageGalleryModal; exports.Modal = Modal2; exports.ModalContent = ModalContent2; exports.ModalHeader = ModalHeader2; exports.ModalTitle = ModalTitle2; exports.ModalFooter = ModalFooter2; exports.Modal2 = Modal; exports.ModalContent2 = ModalContent; exports.ModalHeader2 = ModalHeader; exports.ModalTitle2 = ModalTitle; exports.ModalFooter2 = ModalFooter; exports.useConfirm = useConfirm; exports.useGuardedClose = useGuardedClose; exports.UnsavedChangesChip = UnsavedChangesChip; exports.Separator = Separator2; exports.Sheet = Sheet; exports.SheetTrigger = SheetTrigger; exports.SheetClose = SheetClose; exports.SheetPortal = SheetPortal; exports.SheetOverlay = SheetOverlay; exports.SheetContent = SheetContent; exports.SheetHeader = SheetHeader; exports.SheetFooter = SheetFooter; exports.SheetTitle = SheetTitle; exports.SheetDescription = SheetDescription; exports.OVERLAY_BACKDROP_CLASS = OVERLAY_BACKDROP_CLASS; exports.Drawer = Drawer; exports.DrawerTrigger = DrawerTrigger; exports.DrawerClose = DrawerClose; exports.DrawerPortal = DrawerPortal; exports.DrawerOverlay = DrawerOverlay; exports.DrawerContent = DrawerContent; exports.DrawerHeader = DrawerHeader; exports.DrawerTitle = DrawerTitle; exports.DrawerDescription = DrawerDescription; exports.DrawerBody = DrawerBody; exports.DrawerFooter = DrawerFooter; exports.Tabs = Tabs; exports.TabsList = TabsList; exports.TabsTrigger = TabsTrigger; exports.TabsContent = TabsContent; exports.Accordion = Accordion; exports.AccordionItem = AccordionItem; exports.AccordionTrigger = AccordionTrigger; exports.AccordionContent = AccordionContent; exports.Breadcrumb = Breadcrumb; exports.BreadcrumbList = BreadcrumbList; exports.BreadcrumbItem = BreadcrumbItem; exports.BreadcrumbLink = BreadcrumbLink; exports.BreadcrumbPage = BreadcrumbPage; exports.BreadcrumbSeparator = BreadcrumbSeparator; exports.BreadcrumbEllipsis = BreadcrumbEllipsis; exports.MenubarMenu = MenubarMenu; exports.MenubarGroup = MenubarGroup; exports.MenubarPortal = MenubarPortal; exports.MenubarSub = MenubarSub; exports.MenubarRadioGroup = MenubarRadioGroup; exports.Menubar = Menubar; exports.MenubarTrigger = MenubarTrigger; exports.MenubarSubTrigger = MenubarSubTrigger; exports.MenubarSubContent = MenubarSubContent; exports.MenubarContent = MenubarContent; exports.MenubarItem = MenubarItem; exports.MenubarCheckboxItem = MenubarCheckboxItem; exports.MenubarRadioItem = MenubarRadioItem; exports.MenubarLabel = MenubarLabel; exports.MenubarSeparator = MenubarSeparator; exports.MenubarShortcut = MenubarShortcut; exports.NavigationMenu = NavigationMenu; exports.NavigationMenuList = NavigationMenuList; exports.NavigationMenuItem = NavigationMenuItem; exports.navigationMenuTriggerStyle = navigationMenuTriggerStyle; exports.NavigationMenuTrigger = NavigationMenuTrigger; exports.NavigationMenuContent = NavigationMenuContent; exports.NavigationMenuLink = NavigationMenuLink; exports.NavigationMenuViewport = NavigationMenuViewport; exports.NavigationMenuIndicator = NavigationMenuIndicator; exports.CrossfadePanels = CrossfadePanels; exports.TabContent = TabContent; exports.TabNavigation = TabNavigation; exports.getTabById = getTabById; exports.getTabComponent = getTabComponent; exports.Alert = Alert; exports.AlertTitle = AlertTitle; exports.AlertDescription = AlertDescription; exports.AIGeneratedBadge = AIGeneratedBadge; exports.FadePreview = FadePreview; exports.Progress = Progress; exports.SAFE_HTML_TAGS = SAFE_HTML_TAGS; exports.SVG_TAGS = SVG_TAGS; exports.buildEffectiveTagSet = buildEffectiveTagSet; exports.buildSanitizeSchema = buildSanitizeSchema; exports.rehypeStripUnsafe = rehypeStripUnsafe; exports.escapeUnknownHtmlTags = escapeUnknownHtmlTags; exports.cardAwareUrlTransform = cardAwareUrlTransform; exports.TEXT_SIZE_PRESETS = TEXT_SIZE_PRESETS; exports.resolveTextSizeConfig = resolveTextSizeConfig; exports.stripInlineMarkdown = stripInlineMarkdown; exports.markdownToPlainText = markdownToPlainText; exports.buildHeadingIdMap = buildHeadingIdMap; exports.useHeadingIdMap = useHeadingIdMap; exports.extractText = extractText; exports.MermaidDiagram = MermaidDiagram; exports.splitStreamingBlocks = splitStreamingBlocks; exports.completeStreamingTail = completeStreamingTail; exports.MarkdownEngine = MarkdownEngine; exports.SimpleMarkdownRenderer = SimpleMarkdownRenderer; exports.RichMarkdownRuntimeProvider = RichMarkdownRuntimeProvider; exports.useRichMarkdownRuntime = useRichMarkdownRuntime; exports.VideoPlayBadge = VideoPlayBadge; exports.VideoUnmuteGlyph = VideoUnmuteGlyph; exports.fetchPriorityProp = fetchPriorityProp; exports.MUX_STREAM_ORIGIN = MUX_STREAM_ORIGIN; exports.MUX_IMAGE_ORIGIN = MUX_IMAGE_ORIGIN; exports.saveDataEnabled = saveDataEnabled; exports.useVideoOriginPreconnect = useVideoOriginPreconnect; exports.useVideoWarmup = useVideoWarmup; exports.extractYouTubeId = extractYouTubeId; exports.Video = Video2; exports.MediaCarousel = MediaCarousel; exports.EMBED_SIZES = EMBED_SIZES; exports.EmbedContainer = EmbedContainer; exports.YouTubeContainer = YouTubeContainer; exports.TwitterContainer = TwitterContainer; exports.RedditContainer = RedditContainer; exports.LinkPreviewContainer = LinkPreviewContainer; exports.LinkedInContainer = LinkedInContainer; exports.RedditEmbedClient = RedditEmbedClient; exports.TwitterEmbedClient = TwitterEmbedClient; exports.LinkedInEmbedClient = LinkedInEmbedClient; exports.OGLinkErrorBoundary = OGLinkErrorBoundary; exports.OGLinkPreview = OGLinkPreview; exports.toGoogleSheetsEmbedUrl = toGoogleSheetsEmbedUrl; exports.toGoogleSheetsOriginalUrl = toGoogleSheetsOriginalUrl; exports.toFigmaEmbedUrl = toFigmaEmbedUrl; exports.isFigmaSlidesUrl = isFigmaSlidesUrl; exports.toFigmaOriginalUrl = toFigmaOriginalUrl; exports.EmbedIframe = EmbedIframe; exports.EmbedViewerFrame = EmbedViewerFrame; exports.FigmaEmbed = FigmaEmbed; exports.MarkdownImage = MarkdownImage; exports.processShortcodes = processShortcodes; exports.RichMarkdownRenderer = RichMarkdownRenderer; exports.ReleaseChangelogSection = ReleaseChangelogSection; exports.StackedRowsPanel = StackedRowsPanel; exports.SlackChannelChip = SlackChannelChip; exports.statusBadgeVariants = statusBadgeVariants; exports.genBadgeBgOpacity = genBadgeBgOpacity; exports.generationTierFromLabel = generationTierFromLabel; exports.StatusBadge = StatusBadge; exports.StatusIndicator = StatusIndicator; exports.HoverDropdown = HoverDropdown; exports.ExpandChevron = ExpandChevron; exports.useCollapsible = useCollapsible; exports.getCommandText = getCommandText; exports.ArgRow = ArgRow; exports.ResultBlock = ResultBlock; exports.CommandBlock = CommandBlock; exports.ApprovalStatusTag = ApprovalStatusTag; exports.ApprovalBatchMessage = ApprovalBatchMessage; exports.ApprovalRequestMessage = ApprovalRequestMessage; exports.EscalationOfferMessage = EscalationOfferMessage; exports.TicketEscalatedMessage = TicketEscalatedMessage; exports.ContextCompactionDisplay = ContextCompactionDisplay; exports.ThinkingDisplay = ThinkingDisplay; exports.GuideDisplay = GuideDisplay; exports.AskDisplay = AskDisplay; exports.ErrorMessageDisplay = ErrorMessageDisplay; exports.MspOrganizationCard = MspOrganizationCard; exports.MspOrganizationCardSkeleton = MspOrganizationCardSkeleton; exports.ChatContainer = ChatContainer; exports.ChatHeader = ChatHeader; exports.ChatContent = ChatContent; exports.ChatFooter = ChatFooter; exports.ChatTypingIndicator = ChatTypingIndicator; exports.MingoOnboardingCard = MingoOnboardingCard; exports.ICON_REGISTRY = ICON_REGISTRY; exports.normalizeIconKey = normalizeIconKey; exports.getIconComponent = getIconComponent; exports.getDynamicIcon = getDynamicIcon; exports.ICON_ALIASES = ICON_ALIASES; exports.resolveIcon = resolveIcon; exports.ICON_OPTIONS = ICON_OPTIONS; exports.SlashCommandSuggestions = SlashCommandSuggestions; exports.ChatInput = ChatInput; exports.ToolExecutionDisplay = ToolExecutionDisplay; exports.remarkCardLinks = remarkCardLinks; exports.remarkMentionChips = remarkMentionChips; exports.BlockCard = BlockCard; exports.CONTEXT_ROW_CLASS = CONTEXT_ROW_CLASS; exports.CONTEXT_ICON_CLASS = CONTEXT_ICON_CLASS; exports.CONTEXT_LABEL_CLASS = CONTEXT_LABEL_CLASS; exports.CONTEXT_BACK_CLASS = CONTEXT_BACK_CLASS; exports.CONTEXT_STATE_CLASS = CONTEXT_STATE_CLASS; exports.ContextMenuRow = ContextMenuRow; exports.ContextItemsSkeleton = ContextItemsSkeleton; exports.ContextItemsList = ContextItemsList; exports.ContextErrorBoundary = ContextErrorBoundary; exports.CHAT_CONTEXT_ITEMS_DEFAULT_MAX = CHAT_CONTEXT_ITEMS_DEFAULT_MAX; exports.ChatComposerPlusMenu = ChatComposerPlusMenu; exports.ChatContextPicker = ChatContextPicker; exports.ChatContextChipStrip = ChatContextChipStrip; exports.MemoizedChatMessageEnhanced = MemoizedChatMessageEnhanced; exports.ChatMessageSkeleton = ChatMessageSkeleton; exports.ChatMessageListSkeleton = ChatMessageListSkeleton; exports.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.FAE_AVATAR_DATA_URI = FAE_AVATAR_DATA_URI; exports.AgentMark = AgentMark; exports.EntityIcon = EntityIcon; exports.getAgentAccent = getAgentAccent; exports.accentFromIdentityIcon = accentFromIdentityIcon; exports.isQuickActionIconSpec = isQuickActionIconSpec; exports.renderQuickActionIcon = renderQuickActionIcon; exports.QuickActionChipSkeleton = QuickActionChipSkeleton; exports.QuickActionChipButton = QuickActionChipButton; exports.QuickActionChipFromData = QuickActionChipFromData; exports.useMarqueeSync = useMarqueeSync; exports.getMarqueeTrackOffset = getMarqueeTrackOffset; exports.getMarqueeAppliedOffset = getMarqueeAppliedOffset; exports.getMarqueeCloneTwin = getMarqueeCloneTwin; exports.MarqueeWallFades = MarqueeWallFades; exports.MarqueeWall = MarqueeWall; exports.WALL_SKELETON_LABEL_CH = WALL_SKELETON_LABEL_CH; exports.interleave = interleave; exports.QuickActionWall = QuickActionWall; exports.QuickActionMarquee = QuickActionMarquee; exports.ChatTicketItem = ChatTicketItem; exports.ChatTicketList = ChatTicketList; exports.MingoOnboardingCardSkeleton = MingoOnboardingCardSkeleton; exports.MingoOnboardingListSkeleton = MingoOnboardingListSkeleton; exports.MingoChatHistorySkeleton = MingoChatHistorySkeleton; exports.MingoChatHistory = MingoChatHistory; exports.MingoWelcome = MingoWelcome; exports.GuideWelcome = GuideWelcome; exports.TooltipProvider = TooltipProvider; exports.Tooltip = Tooltip; exports.TooltipTrigger = TooltipTrigger; exports.TooltipContent = TooltipContent; exports.GuideModeBanner = GuideModeBanner; exports.TabSelector = TabSelector; exports.MingoHistoryRail = MingoHistoryRail; exports.RenameChatModal = RenameChatModal; exports.ArchiveChatModal = ArchiveChatModal; exports.UnarchiveChatModal = UnarchiveChatModal; exports.ChatDialogModals = ChatDialogModals; exports.ChatHeaderIconButton = ChatHeaderIconButton; exports.ChatHeaderSearchField = ChatHeaderSearchField; exports.ChatPanelHeader = ChatPanelHeader; exports.CHAT_ATTACHMENT_VIEW_URL_PREFIX = CHAT_ATTACHMENT_VIEW_URL_PREFIX; exports.CHAT_ATTACHMENT_VIEW_TOKEN_QUERY_PARAM = CHAT_ATTACHMENT_VIEW_TOKEN_QUERY_PARAM; exports.ANTHROPIC_SUPPORTED_IMAGE_MIME = ANTHROPIC_SUPPORTED_IMAGE_MIME; exports.buildChatAttachmentViewUrl = buildChatAttachmentViewUrl; exports.escapeMarkdownInline = escapeMarkdownInline; exports.formatChatAttachmentMarkdownForBubble = formatChatAttachmentMarkdownForBubble; exports.CHAT_ATTACHMENT_VIEW_URL_PREFIX_REGEX_ESCAPED = CHAT_ATTACHMENT_VIEW_URL_PREFIX_REGEX_ESCAPED; exports.CHAT_ATTACHMENT_MARKDOWN_PATTERN = CHAT_ATTACHMENT_MARKDOWN_PATTERN; exports.stripChatAttachmentMarkdown = stripChatAttachmentMarkdown; exports.CHAT_ATTACHMENT_MIME_TYPES = CHAT_ATTACHMENT_MIME_TYPES; exports.CHAT_ATTACHMENT_CONCURRENT_UPLOADS_PER_USER = CHAT_ATTACHMENT_CONCURRENT_UPLOADS_PER_USER; exports.ChatAttachmentAddButton = ChatAttachmentAddButton; exports.ChatAttachmentChipStrip = ChatAttachmentChipStrip; exports.ChatContextMemoryBar = ChatContextMemoryBar; exports.HoverCard = HoverCard; exports.HoverCardTrigger = HoverCardTrigger; exports.HoverCardContent = HoverCardContent; exports.ModelDisplay = ModelDisplay; exports.ModelDisplaySkeleton = ModelDisplaySkeleton; exports.ChatComposer = ChatComposer; exports.ChatArchivePage = ChatArchivePage; exports.DialogListItem = DialogListItem; exports.ChatSidebar = ChatSidebar; exports.isCrossOriginUrl = isCrossOriginUrl; exports.decideNewTab = decideNewTab; exports.computeIsNewTab = computeIsNewTab; exports.newTabAnchorAttrs = newTabAnchorAttrs; exports.buildAnchorProps = buildAnchorProps; exports.NEW_TAB_FEATURES = NEW_TAB_FEATURES; exports.isModifierClick = isModifierClick; exports.stripSameOriginToPath = stripSameOriginToPath; exports.resolveExternalNavigation = resolveExternalNavigation; exports.executeNavigation = executeNavigation; exports.executeNavigationImperative = executeNavigationImperative; exports.handleChatNavClick = handleChatNavClick; exports.NavLinkAnchorViaRuntime = NavLinkAnchorViaRuntime; exports.SourceActionButton = SourceActionButton; exports.EMPTY_AUTHOR_PLACEHOLDER = EMPTY_AUTHOR_PLACEHOLDER; exports.EntityMetadataValueCell = EntityMetadataValueCell; exports.EntityMetadataAuthorCell = EntityMetadataAuthorCell; exports.EntityAuthorCard = EntityAuthorCard; exports.BlogImagePlaceholder = BlogImagePlaceholder; exports.useCoverImageFallback = useCoverImageFallback; exports.hideOnError = hideOnError; exports.EntityPortraitCard = EntityPortraitCard; exports.FlamingoLogo = FlamingoLogo2; exports.PlatformBadge = PlatformBadge; exports.AdminContentCard = AdminContentCard; exports.getProxiedImageUrl2 = getProxiedImageUrl2; exports.WhatIShippedCard = WhatIShippedCard; exports.WhatIShippedCardSkeleton = WhatIShippedCardSkeleton; exports.VideoHoverPreviewSurface = VideoHoverPreviewSurface; exports.CardHitLayer = CardHitLayer; exports.RATIO_GRID_CLASS = RATIO_GRID_CLASS; exports.RATIO_TO_CSS_ASPECT = RATIO_TO_CSS_ASPECT; exports.RatioTabs = RatioTabs; exports.detectAspectRatio = detectAspectRatio; exports.ratioToCategory = ratioToCategory; exports.groupByAspectRatio = groupByAspectRatio; exports.DEFAULT_VIDEO_BITES_TITLE = DEFAULT_VIDEO_BITES_TITLE; exports.toStripProfile = toStripProfile; exports.sortBitesByCreatedAtDesc = sortBitesByCreatedAtDesc; exports.PAGE_HEADING_CLASS = PAGE_HEADING_CLASS; exports.SECTION_HEADING_CLASS = SECTION_HEADING_CLASS; exports.PageHeading = PageHeading; exports.STRIP_CELL_MAX_WIDTH = STRIP_CELL_MAX_WIDTH; exports.CardsStrip = CardsStrip; exports.UserDisplay = UserDisplay; exports.VideoBitesStrip = VideoBitesStrip; exports.VideoBiteCard = VideoBiteCard; exports.EntityVideoSection = EntityVideoSection; exports.ChatVideoEntityCard = ChatVideoEntityCard; exports.ProductReleaseCard = ProductReleaseCard; exports.ProductReleaseCardSkeleton = ProductReleaseCardSkeleton; exports.formatReleaseDate = formatReleaseDate; exports.formatDateShort = formatDateShort; exports.formatDateSlashUTC = formatDateSlashUTC; exports.resolveReleaseCover = resolveReleaseCover; exports.releaseTypeToBadgeColor = releaseTypeToBadgeColor; exports.defaultBuildProductReleaseCardProps = defaultBuildProductReleaseCardProps; exports.buildProductReleaseCardProps = buildProductReleaseCardProps; exports.useEntityCardLink = useEntityCardLink; exports.COMPACT_CARD_OUTER = COMPACT_CARD_OUTER; exports.COMPACT_CARD_OUTER_STATIC = COMPACT_CARD_OUTER_STATIC; exports.COMPACT_CARD_SKELETON_OUTER = COMPACT_CARD_SKELETON_OUTER; exports.COMPACT_CARD_IMAGE_SLOT = COMPACT_CARD_IMAGE_SLOT; exports.COMPACT_CARD_SKELETON_IMAGE_SLOT = COMPACT_CARD_SKELETON_IMAGE_SLOT; exports.COMPACT_CARD_ICON_SLOT = COMPACT_CARD_ICON_SLOT; exports.COMPACT_CARD_TEXT_COL = COMPACT_CARD_TEXT_COL; exports.COMPACT_CARD_TITLE_ROW = COMPACT_CARD_TITLE_ROW; exports.COMPACT_CARD_META_ROW_BOX = COMPACT_CARD_META_ROW_BOX; exports.COMPACT_CARD_TITLE = COMPACT_CARD_TITLE; exports.COMPACT_CARD_SUBTITLE = COMPACT_CARD_SUBTITLE; exports.COMPACT_CARD_SUMMARY = COMPACT_CARD_SUMMARY; exports.COMPACT_CARD_META_ROW = COMPACT_CARD_META_ROW; exports.COMPACT_CARD_ROW_FILLER = COMPACT_CARD_ROW_FILLER; exports.safeHref = safeHref; exports.BlogCardSkeleton = BlogCardSkeleton; exports.BlogCard = BlogCard; exports.CaseStudyCardSkeleton = CaseStudyCardSkeleton; exports.CaseStudyCard = CaseStudyCard; exports.CustomerInterviewCardSkeleton = CustomerInterviewCardSkeleton; exports.CustomerInterviewCard = CustomerInterviewCard; exports.formatInvestorUpdatePeriod = formatInvestorUpdatePeriod; exports.InvestorUpdateCardSkeleton = InvestorUpdateCardSkeleton; exports.InvestorUpdateCard = InvestorUpdateCard; exports.OnboardingGuideCardSkeleton = OnboardingGuideCardSkeleton; exports.OnboardingGuideCard = OnboardingGuideCard; exports.RoadmapVoteButton = RoadmapVoteButton; exports.AvatarStack = AvatarStack; exports.getStatusColorScheme = getStatusColorScheme; exports.CUSTOM_ITEM_ID = CUSTOM_ITEM_ID; exports.getTaskTypeLabel = getTaskTypeLabel; exports.TaskTypeIcon = TaskTypeIcon; exports.RoadmapCardSkeleton = RoadmapCardSkeleton; exports.RoadmapCard = RoadmapCard; exports.GitHubActivityCard = GitHubActivityCard; exports.GitHubActivityCardSkeleton = GitHubActivityCardSkeleton; exports.SlackMessageCard = SlackMessageCard; exports.SlackMessageCardSkeleton = SlackMessageCardSkeleton; exports.HubspotTicketCard = HubspotTicketCard; exports.HubspotTicketCardSkeleton = HubspotTicketCardSkeleton; exports.DataRoomDocCard = DataRoomDocCard; exports.DataRoomDocCardSkeleton = DataRoomDocCardSkeleton; exports.programItemToStripProfile = programItemToStripProfile; exports.transformEventToProgram = transformEventToProgram; exports.transformPodcastToProgram = transformPodcastToProgram; exports.transformWebinarToProgram = transformWebinarToProgram; exports.ProgramCardSkeleton = ProgramCardSkeleton; exports.ProgramCard = ProgramCard; exports.CampaignCardAdmin = CampaignCardAdmin; exports.CampaignCardAdminSkeleton = CampaignCardAdminSkeleton; exports.GenericEntityCard = GenericEntityCard; exports.GenericEntityCardSkeleton = GenericEntityCardSkeleton; exports.extractItems = extractItems; exports.extractItemId = extractItemId; exports.useChatCardItem = useChatCardItem; exports.SOURCE_ICON_NAMES = SOURCE_ICON_NAMES; exports.getSourceIconName = getSourceIconName; exports.SOURCE_LABELS_BY_TABLE = SOURCE_LABELS_BY_TABLE; exports.getSourceLabel = getSourceLabel; exports.DEFAULT_DOCUMENT_TYPE_TO_TABLE_ID = DEFAULT_DOCUMENT_TYPE_TO_TABLE_ID; exports.defaultTableIdForDocumentType = defaultTableIdForDocumentType; exports.canonicalContentRefType = canonicalContentRefType; exports.buildListUrl = buildListUrl; exports.resolveSourceRowCTA = resolveSourceRowCTA; exports.resolveSourceIcon = resolveSourceIcon; exports.readFetchedCardTitle = readFetchedCardTitle; exports.resolveFetchedCardHref = resolveFetchedCardHref; exports.faqSectionSlug = faqSectionSlug; exports.faqItemAnchor = faqItemAnchor; exports.parseFaqHash = parseFaqHash; exports.clickupTaskUrl = clickupTaskUrl; exports.ChatCardLoader = ChatCardLoader; exports.renderChatInlineEntityCard = renderChatInlineEntityCard; exports.CHAT_TYPE = CHAT_TYPE; exports.OWNER_TYPE = OWNER_TYPE; exports.MESSAGE_ROLE = MESSAGE_ROLE; exports.ASSISTANT_TYPE = ASSISTANT_TYPE; exports.AUTHOR_TYPE = AUTHOR_TYPE; exports.APPROVAL_STATUS = APPROVAL_STATUS; exports.APPROVAL_BLOCK_VARIANT = APPROVAL_BLOCK_VARIANT; exports.CONNECTION_STATUS = CONNECTION_STATUS; exports.isStructuredContent = isStructuredContent; exports.normalizeContent = normalizeContent2; exports.NETWORK_CONFIG = NETWORK_CONFIG; exports.useChunkCatchup = useChunkCatchup; exports.useScriptedStream = useScriptedStream; exports.RESYNC_AFTER_HIDDEN_MS = RESYNC_AFTER_HIDDEN_MS; exports.useJetStreamDialogSubscription = useJetStreamDialogSubscription; exports.useNatsDialogSubscription = useNatsDialogSubscription; exports.buildNatsWsUrl = buildNatsWsUrl; exports.fetchSlashCommands = fetchSlashCommands; exports.useSlashCommands = useSlashCommands; exports.useSlashCommandRegistry = useSlashCommandRegistry; exports.fetchEmptyStateConfig = fetchEmptyStateConfig; exports.useEmptyStateConfig = useEmptyStateConfig; exports.useChatAttachments = useChatAttachments; exports.useChatAttachmentImageGallery = useChatAttachmentImageGallery; exports.ChatIdentityProvider = ChatIdentityProvider; exports.useChatIdentity = useChatIdentity; exports.useCloseOnNavigation = useCloseOnNavigation; exports.useSSE = useSSE; exports.useChat = useChat; exports.AUTO_CONTINUATION_DIRECTIVE_PREFIX = AUTO_CONTINUATION_DIRECTIVE_PREFIX; exports.buildAutoContinuationDirective = buildAutoContinuationDirective; exports.parseWireCommandOverride = parseWireCommandOverride; exports.sanitizeTitleForChat = sanitizeTitleForChat; exports.formatSingularLookupInvocation = formatSingularLookupInvocation; exports.extractEntityIdFilter = extractEntityIdFilter; exports.buildDiscussAddendum = buildDiscussAddendum; exports.buildDiscussPrompt = buildDiscussPrompt; exports.appendToTrailingAssistant = appendToTrailingAssistant; exports.upsertTrailingCompaction = upsertTrailingCompaction; exports.applyToolExecutionToMessages = applyToolExecutionToMessages; exports.MessageSegmentAccumulator = MessageSegmentAccumulator; exports.createMessageSegmentAccumulator = createMessageSegmentAccumulator; exports.SCROLL_ANCHOR_WIRE_KEY = SCROLL_ANCHOR_WIRE_KEY; exports.parseScrollAnchor = parseScrollAnchor; exports.isGuideApproval = isGuideApproval; exports.guideApprovalOrigin = guideApprovalOrigin; exports.approvalDisplaysInline = approvalDisplaysInline; exports.isGuideApprovalSegment = isGuideApprovalSegment; exports.createEmptyTurnMeta = createEmptyTurnMeta; exports.createChatStreamReducer = createChatStreamReducer; exports.DEFAULT_DIALOG_SIDE = DEFAULT_DIALOG_SIDE; exports.DEFAULT_MAX_REDUCERS = DEFAULT_MAX_REDUCERS; exports.MAX_PENDING_RETAIN_KEYS = MAX_PENDING_RETAIN_KEYS; exports.createChatDialogStore = createChatDialogStore; exports.createDeltaBatcher = createDeltaBatcher; exports.useChatStreamReducer = useChatStreamReducer; exports.useSseChatAdapter = useSseChatAdapter; exports.decodeHistoricalMessageData = decodeHistoricalMessageData; exports.processHistoricalMessages = processHistoricalMessages; exports.extractErrorMessages = extractErrorMessages; exports.processHistoricalMessagesWithErrors = processHistoricalMessagesWithErrors; exports.extractIncompleteMessageState = extractIncompleteMessageState; exports.extractIncompleteTailState = extractIncompleteTailState; exports.mapProcessedToUnified = mapProcessedToUnified; exports.historicalToUnified = historicalToUnified; exports.useNatsChatAdapter = useNatsChatAdapter; exports.useUnifiedChat = useUnifiedChat; exports.SYNTHETIC_REALTIME_ID_PREFIXES = SYNTHETIC_REALTIME_ID_PREFIXES; exports.flattenMessagePagesChronological = flattenMessagePagesChronological; exports.maxPersistedStreamSeq = maxPersistedStreamSeq; exports.mergeHistoryWithRealtime = mergeHistoryWithRealtime; exports.computeHistoryPrepend = computeHistoryPrepend; exports.CHIP_ACTION_BUTTON_CLASS = CHIP_ACTION_BUTTON_CLASS; exports.chatChipClass = chatChipClass; exports.flattenAssistantContent = flattenAssistantContent; exports.normalizeHistoricalMessageData = normalizeHistoricalMessageData; exports.isHistoricalUserTurn = isHistoricalUserTurn; exports.buildStreamFrames = buildStreamFrames; exports.EmbeddableChat = EmbeddableChat; exports.BackButton = BackButton; exports.FilterCheckboxItem = FilterCheckboxItem; exports.TagKeyValueFilter = TagKeyValueFilter; exports.FilterModal = FilterModal; exports.PageActions = PageActions; exports.usePageActionsBottomPadding = usePageActionsBottomPadding; exports.PageContainer = PageContainer; exports.ListPageContainer = ListPageContainer; exports.DetailPageContainer = DetailPageContainer; exports.FormPageContainer = FormPageContainer; exports.ContentPageContainer = ContentPageContainer; exports.ListPageLayout = ListPageLayout; exports.EntityImage = EntityImage; exports.TITLE_BLOCK_MIN_HEIGHT = TITLE_BLOCK_MIN_HEIGHT; exports.TitleBlock = TitleBlock; exports.PageLayout = PageLayout; exports.PageShell = PageShell; exports.ArticleDetailLayout = ArticleDetailLayout; exports.toggleVariants = toggleVariants; exports.Toggle = Toggle; exports.ToggleGroup = ToggleGroup; exports.ToggleGroupItem = ToggleGroupItem; exports.delay = delay; exports.generateRandomString = generateRandomString; exports.truncateString = truncateString; exports.serializeJsonLd = serializeJsonLd; exports.deepClone = deepClone; exports.getSlackCommunityJoinUrl = getSlackCommunityJoinUrl; exports.SEO_TITLE_MAX_LENGTH = SEO_TITLE_MAX_LENGTH; exports.SEO_DESCRIPTION_MAX_LENGTH = SEO_DESCRIPTION_MAX_LENGTH; exports.BRAND_MARK_SVGS = BRAND_MARK_SVGS; exports.brandMarkDataUri = brandMarkDataUri; exports.OS_PLATFORMS = OS_PLATFORMS; exports.DEFAULT_OS_PLATFORM = DEFAULT_OS_PLATFORM; exports.isValidEmailDomain = isValidEmailDomain; exports.validateEmailDomain = validateEmailDomain; exports.validateEmailDomainList = validateEmailDomainList; exports.cleanEmailDomain = cleanEmailDomain; exports.getConfidenceColorClass = getConfidenceColorClass; exports.getConfidenceLevel = getConfidenceLevel; exports.getConfidenceBorderClass = getConfidenceBorderClass; exports.getConfidenceTextClass = getConfidenceTextClass; exports.getConfidenceBgClass = getConfidenceBgClass; exports.getConfidenceLabel = getConfidenceLabel; exports.DEV_SECTION_PARAM_KEYS = DEV_SECTION_PARAM_KEYS; exports.devSectionAnchorId = devSectionAnchorId; exports.TICKET_OPEN_PARAM = TICKET_OPEN_PARAM; exports.buildTicketOpenHref = buildTicketOpenHref; exports.normalizeToolType = normalizeToolType; exports.normalizeToolTypeWithFallback = normalizeToolTypeWithFallback; exports.toToolLabel = toToolLabel; exports.isValidToolType = isValidToolType; exports.getToolTypeAliases = getToolTypeAliases; exports.getToolLabel = getToolLabel; exports.ShellTypeValues = ShellTypeValues; exports.SHELL_TYPES = SHELL_TYPES; exports.shellLabels = shellLabels; exports.getShellLabel = getShellLabel; exports.getShellIcon = getShellIcon; exports.BITE_ID_RE = BITE_ID_RE; exports.generateBiteId = generateBiteId; exports.ensureBiteIds = ensureBiteIds; exports.matchBiteElement = matchBiteElement; exports.OSTypeValues = OSTypeValues; exports.OS_TYPES = OS_TYPES; exports.osLabels = osLabels; exports.normalizeOSType = normalizeOSType; exports.getOSLabel = getOSLabel; exports.getOSIcon = getOSIcon; exports.getOSTypeDefinition = getOSTypeDefinition; exports.getOSPlatformId = getOSPlatformId; exports.isOSPlatform = isOSPlatform; exports.getCountryPhoneData = getCountryPhoneData; exports.getCountryByCode = getCountryByCode; exports.validatePhoneNumber = validatePhoneNumber; exports.formatPhoneE164 = formatPhoneE164; exports.GENERIC_EMAIL_DOMAINS = GENERIC_EMAIL_DOMAINS; exports.extractDomainFromEmail = extractDomainFromEmail; exports.normalizeDomain = normalizeDomain; exports.isGenericDomain = isGenericDomain; exports.hasGenericEmailDomain = hasGenericEmailDomain; exports.isGenericWebsiteDomain = isGenericWebsiteDomain; exports.isDismissedCookieValue = isDismissedCookieValue; exports.readDismissCookie = readDismissCookie; exports.writeDismissCookie = writeDismissCookie; exports.clearDismissCookie = clearDismissCookie; exports.announcementDismissCookieName = announcementDismissCookieName; exports.dismissAnnouncement = dismissAnnouncement; exports.isAnnouncementDismissed = isAnnouncementDismissed; exports.clearAnnouncementDismissals = clearAnnouncementDismissals; exports.clearLegacyAnnouncementCache = clearLegacyAnnouncementCache; exports.WALKTHROUGH_VIDEO_DISMISS_KEY = WALKTHROUGH_VIDEO_DISMISS_KEY; exports.walkthroughDismissCookieName = walkthroughDismissCookieName; exports.isWalkthroughDismissed = isWalkthroughDismissed; exports.dismissWalkthrough = dismissWalkthrough; exports.clearWalkthroughDismissal = clearWalkthroughDismissal; exports.WALKTHROUGH_OPEN_QUERY_PARAM = WALKTHROUGH_OPEN_QUERY_PARAM; exports.withWalkthroughOpenParam = withWalkthroughOpenParam; exports.createSseSubscription = createSseSubscription; exports.readLeadingDecisionFrame = readLeadingDecisionFrame; exports.ANNOUNCEMENT_CTA_DEFAULTS = ANNOUNCEMENT_CTA_DEFAULTS; exports.AVAILABLE_SVG_ICONS = AVAILABLE_SVG_ICONS; exports.releaseTypeOptions = releaseTypeOptions; exports.releaseStatusOptions = releaseStatusOptions; exports.changelogLabels = changelogLabels; exports.SEMVER_REGEX = SEMVER_REGEX; exports.TASK_TYPE_LABELS = TASK_TYPE_LABELS; exports.TASK_TYPE_TEXT_COLORS = TASK_TYPE_TEXT_COLORS; exports.TMCG_ROLES = TMCG_ROLES; exports.TMCG_ROLE_DISPLAY_NAMES = TMCG_ROLE_DISPLAY_NAMES; exports.TMCG_SOCIAL_PLATFORMS = TMCG_SOCIAL_PLATFORMS; exports.ROADMAP_STATUS_OPTIONS = ROADMAP_STATUS_OPTIONS; exports.DELIVERY_TASK_TYPE_OPTIONS = DELIVERY_TASK_TYPE_OPTIONS; exports.TICKET_STATUS_OPTIONS = TICKET_STATUS_OPTIONS; exports.OPENFRAME_DEV_SECTIONS = OPENFRAME_DEV_SECTIONS; exports.CONTENT_REF_GROUPS = CONTENT_REF_GROUPS; exports.getContentRefLabel = getContentRefLabel; exports.getContentRefLabelOrTitleCase = getContentRefLabelOrTitleCase; exports.orderContentRefTypes = orderContentRefTypes; exports.buildSuggestionUrl = buildSuggestionUrl; exports.DEFAULT_CONTENT_SUFFIXES = DEFAULT_CONTENT_SUFFIXES; exports.makeComposeContentUrl = makeComposeContentUrl; exports.buildDefaultHref = buildDefaultHref; exports.resolveContentHref = resolveContentHref; exports.DEFAULT_FOLDER_INDEX_FILE = DEFAULT_FOLDER_INDEX_FILE; exports.stripFolderIndexFromPath = stripFolderIndexFromPath; exports.findDocNodeByPath = findDocNodeByPath; exports.getDocAncestorNodeIds = getDocAncestorNodeIds; exports.resolveContentFetchPath = resolveContentFetchPath; exports.getInitialExpandedNodeIds = getInitialExpandedNodeIds; exports.getDocSourceDefaultPath = getDocSourceDefaultPath; exports.toDocSlug = toDocSlug; exports.pathToNodeId = pathToNodeId; exports.normalizeDocPath = normalizeDocPath; exports.formatDocName = formatDocName; exports.sortTreeChildren = sortTreeChildren; exports.buildDocumentTree = buildDocumentTree; exports.extractSections = extractSections; exports.SCHEDULING_SLUG_SHAPE = SCHEDULING_SLUG_SHAPE; exports.MAX_MONTH_OFFSET = MAX_MONTH_OFFSET; exports.isValidSchedulingSlug = isValidSchedulingSlug; exports.parseSchedulingLinkName = parseSchedulingLinkName; exports.isListedSchedulingName = isListedSchedulingName; exports.schedulingAudienceKey = schedulingAudienceKey; exports.SECTION_HERO_ICON_CLASS = SECTION_HERO_ICON_CLASS; exports.FIRST_TOUCH_ATTRIBUTION_KEY = FIRST_TOUCH_ATTRIBUTION_KEY; exports.sanitizeLandingUrl = sanitizeLandingUrl; exports.parseAttributionFromUrl = parseAttributionFromUrl; exports.captureFirstTouchAttribution = captureFirstTouchAttribution; exports.getFirstTouchAttribution = getFirstTouchAttribution; exports.withFirstTouchAttribution = withFirstTouchAttribution; exports.clearFirstTouchAttribution = clearFirstTouchAttribution; exports.BenefitCard = BenefitCard; exports.BenefitCardGrid = BenefitCardGrid; exports.BrandAssociationCard = BrandAssociationCard; exports.BrandAssociationGrid = BrandAssociationGrid; exports.BulletList = BulletList; exports.ChevronButton = ChevronButton; exports.CircularProgress = CircularProgress; exports.CheckIcon = CheckIcon2; exports.XIcon = XIcon2; exports.MinusIcon = MinusIcon; exports.CheckCircleIcon = CheckCircleIcon2; exports.XCircleIcon = XCircleIcon; exports.DashboardInfoCard = DashboardInfoCard; exports.InfoCardRow = InfoCardRow; exports.OSTypeBadge = OSTypeBadge; exports.OSTypeIcon = OSTypeIcon; exports.OSTypeLabel = OSTypeLabel; exports.DeviceCard = DeviceCard; exports.DeviceCardCompact = DeviceCardCompact; exports.FeatureCardGrid = FeatureCardGrid; exports.FeatureList = FeatureList; exports.HighlightCard = HighlightCard; exports.HighlightCardGrid = HighlightCardGrid; exports.IconsBlock = IconsBlock; exports.DropdownButton = DropdownButton; exports.MoreActionsMenu = MoreActionsMenu; exports.OrganizationCard = OrganizationCard; exports.ServiceCard = ServiceCard; exports.Slider = Slider; exports.TitleContentBlock = TitleContentBlock; exports.ErrorState = ErrorState; exports.PageError = PageError; exports.LoadError = LoadError; exports.NotFoundError = NotFoundError; exports.ContentLoader = ContentLoader; exports.CardLoader = CardLoader; exports.FormLoader = FormLoader; exports.DetailLoader = DetailLoader; exports.ListLoader = ListLoader; exports.Pagination = Pagination; exports.PaginationContent = PaginationContent; exports.PaginationItem = PaginationItem; exports.PaginationLink = PaginationLink; exports.PaginationEllipsis = PaginationEllipsis; exports.PaginationPrevious = PaginationPrevious; exports.PaginationNext = PaginationNext; exports.init_pagination = init_pagination; exports.CursorPagination = CursorPagination; exports.CursorPaginationSimple = CursorPaginationSimple; exports.TableEmptyState = TableEmptyState; exports.DynamicThemeProvider = DynamicThemeProvider; exports.useDynamicTheme = useDynamicTheme; exports.THEME_STORAGE_KEY = THEME_STORAGE_KEY; exports.THEME_ATTRIBUTE = THEME_ATTRIBUTE; exports.DEFAULT_THEME = DEFAULT_THEME; exports.ThemeProvider = ThemeProvider; exports.useTheme = useTheme; exports.useThemeToggle = useThemeToggle; exports.ArrayEntryManager = ArrayEntryManager; exports.AuthBenefitsPanel = AuthBenefitsPanel; exports.OpenFrameWordmark = OpenFrameWordmark; exports.PoweredByFlamingo = PoweredByFlamingo; exports.AuthShell = AuthShell; exports.BackToLoginLink = BackToLoginLink; exports.PasswordInput = PasswordInput; exports.PROVIDER_META = PROVIDER_META; exports.SsoProviderButtons = SsoProviderButtons; exports.CompleteAccountForm = CompleteAccountForm; exports.TermsAgreementLabel = TermsAgreementLabel; exports.CreateOrganizationForm = CreateOrganizationForm; exports.InviteLinkInvalidModal = InviteLinkInvalidModal; exports.LoginForm = LoginForm; exports.OpenFrameSsoLoginForm = OpenFrameSsoLoginForm; exports.OpenFrameSsoSignUpForm = OpenFrameSsoSignUpForm; exports.PasswordResetForm = PasswordResetForm; exports.SsoAuthShell = SsoAuthShell; exports.ProviderButton = ProviderButton; exports.AuthProvidersList = AuthProvidersList; exports.ChangelogManager = ChangelogManager; exports.ChangelogSectionsManager = ChangelogSectionsManager; exports.ClickUpTasksManager = ClickUpTasksManager; exports.CommandBox = CommandBox; exports.TAG_BADGE_CLASS = TAG_BADGE_CLASS; exports.EntityTagBadges = EntityTagBadges; exports.ErrorBoundary = ErrorBoundary; exports.SectionSelector = SectionSelector; exports.FigmaPrototypeViewer = FigmaPrototypeViewer; exports.FiltersDropdown = FiltersDropdown; exports.useFiltersDropdown = useFiltersDropdown; exports.GitHubReleasesManager = GitHubReleasesManager; exports.KnowledgeBaseLinksManager = KnowledgeBaseLinksManager; exports.LoadingProvider = LoadingProvider; exports.useLoading = useLoading; exports.MediaGalleryManager = MediaGalleryManager; exports.MoreAboutButton = MoreAboutButton; exports.OSTypeBadgeGroup = OSTypeBadgeGroup; exports.ParallaxImageShowcase = ParallaxImageShowcase; exports.PathsDisplay = PathsDisplay; exports.OPENFRAME_PATHS = OPENFRAME_PATHS; exports.getOpenFramePaths = getOpenFramePaths; exports.OPENFRAME_DOCTOR_COMMANDS = OPENFRAME_DOCTOR_COMMANDS; exports.getOpenFrameDoctorCommand = getOpenFrameDoctorCommand; exports.PlatformFilterComponent = PlatformFilterComponent; exports.PushButtonSelector = PushButtonSelector; exports.ReleaseMediaManager = ReleaseMediaManager; exports.SelectButton = SelectButton; exports.SEOEditorPreview = SEOEditorPreview; exports.SocialLinksManager = SocialLinksManager; exports.StartWithOpenFrameButton = StartWithOpenFrameButton; exports.StatusFilterComponent = StatusFilterComponent; exports.TagsSelector = TagsSelector; exports.WarningBlock = WarningBlock; exports.VideoBitesDisplay = VideoBitesDisplay; exports.FloatingWalkthroughVideo = FloatingWalkthroughVideo; exports.useWalkthroughVideo = useWalkthroughVideo; exports.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.useAppLayoutDrawerContainer = useAppLayoutDrawerContainer; exports.AppLayoutDrawerRoot = AppLayoutDrawerRoot; exports.AppLayoutDrawerTrigger = AppLayoutDrawerTrigger; exports.AppLayoutDrawerClose = AppLayoutDrawerClose; exports.AppLayoutDrawerContent = AppLayoutDrawerContent; exports.AppLayoutDrawerHeader = AppLayoutDrawerHeader; exports.AppLayoutDrawerTitle = AppLayoutDrawerTitle; exports.AppLayoutDrawerDescription = AppLayoutDrawerDescription; exports.AppLayoutDrawerBody = AppLayoutDrawerBody; exports.AppLayoutDrawerFooter = AppLayoutDrawerFooter; exports.NotificationTile = NotificationTile; exports.NotificationDrawer = NotificationDrawer; exports.NotificationPopups = NotificationPopups; exports.ADMIN_APPROVAL_REQUEST_CONTEXT_TYPE = ADMIN_APPROVAL_REQUEST_CONTEXT_TYPE; exports.isApprovalNotification = isApprovalNotification; exports.getApprovalMeta = getApprovalMeta; exports.resolutionToStatus = resolutionToStatus; exports.approvalMetaToBatchData = approvalMetaToBatchData; exports.ApprovalRequestNotificationTile = ApprovalRequestNotificationTile; exports.TimeTrackerProvider = TimeTrackerProvider; exports.useTimeTracker = useTimeTracker; exports.useOptionalTimeTracker = useOptionalTimeTracker; exports.useTrackerClock = useTrackerClock; exports.TimeTrackerPanel = TimeTrackerPanel; exports.UnreadDot = UnreadDot; exports.UnreadCountBadge = UnreadCountBadge; exports.HeaderButton = HeaderButton; exports.TimeTrackerHeaderButton = TimeTrackerHeaderButton; exports.BoardColumnHeader = BoardColumnHeader; exports.tintOnDark = tintOnDark; exports.BoardTicketApproval = BoardTicketApproval; exports.TicketCardBody = TicketCardBody; exports.TicketCardView = TicketCardView; exports.TicketCard = TicketCard; exports.TicketCardSkeleton = TicketCardSkeleton; exports.BoardColumn = BoardColumn; exports.useBoardCollapse = useBoardCollapse; exports.Board = Board; exports.columnFromTicketStatus = columnFromTicketStatus; exports.groupTicketsByStatus = groupTicketsByStatus; exports.TicketStatusConfigList = TicketStatusConfigList; exports.TableHeader = TableHeader; exports.TableCell = TableCell; exports.TableCardSkeleton = TableCardSkeleton; exports.TableRow = TableRow; exports.Table = Table; exports.TableDescriptionCell = TableDescriptionCell; exports.TableTimestampCell = TableTimestampCell; exports.QueryReportTableHeader = QueryReportTableHeader; exports.QueryReportTableRow = QueryReportTableRow; exports.QueryReportTableSkeleton = QueryReportTableSkeleton; exports.deriveColumns = deriveColumns; exports.exportToCSV = exportToCSV; exports.QueryReportTable = QueryReportTable; exports.useDataTableContext = useDataTableContext; exports.DataTableRoot = DataTableRoot; exports.getHideClasses = getHideClasses2; exports.alignJustify = alignJustify; exports.multiSelectFilterFn = multiSelectFilterFn; exports.DataTableHeader = DataTableHeader; exports.DataTableEmpty = DataTableEmpty; exports.ROW_HEIGHT_DESKTOP = ROW_HEIGHT_DESKTOP2; exports.ROW_HEIGHT_MOBILE = ROW_HEIGHT_MOBILE2; exports.ROW_SHELL_CLASSES = ROW_SHELL_CLASSES; exports.DataTableSkeleton = DataTableSkeleton; exports.DataTableRow = DataTableRow; exports.DataTableBody = DataTableBody; exports.DataTableInfiniteFooter = DataTableInfiniteFooter; exports.DataTableCursorFooter = DataTableCursorFooter; exports.DataTableRowCount = DataTableRowCount; exports.useDataTable = useDataTable; exports.DataTable = DataTable; exports.flexRender = _reacttable.flexRender; exports.createColumnHelper = _reacttable.createColumnHelper; exports.getCoreRowModel = _reacttable.getCoreRowModel; exports.getExpandedRowModel = _reacttable.getExpandedRowModel; exports.getFacetedRowModel = _reacttable.getFacetedRowModel; exports.getFacetedUniqueValues = _reacttable.getFacetedUniqueValues; exports.getFilteredRowModel = _reacttable.getFilteredRowModel; exports.getGroupedRowModel = _reacttable.getGroupedRowModel; exports.getPaginationRowModel = _reacttable.getPaginationRowModel; exports.getSortedRowModel = _reacttable.getSortedRowModel; exports.SearchInput = SearchInput; exports.FilterListItem = FilterListItem; exports.FilterList = FilterList; exports.TagSearchInput = TagSearchInput; exports.MarkdownEditor = MarkdownEditor; exports.FileUpload = FileUpload; exports.ImageUploader = ImageUploader; exports.TICKET_STATUS_COLOR_PRESETS = TICKET_STATUS_COLOR_PRESETS; exports.CUSTOM_PRESET_KEY = CUSTOM_PRESET_KEY; exports.DEFAULT_CUSTOM_STATUS_COLOR = DEFAULT_CUSTOM_STATUS_COLOR; exports.ColorPresetSelect = ColorPresetSelect; exports.ColorPickerInput = ColorPickerInput; exports.TicketStatusConfigRow = TicketStatusConfigRow; exports.formatTestRunDuration = formatTestRunDuration; exports.TestResultsSkeleton = TestResultsSkeleton; exports.TestResultsTable = TestResultsTable; exports.TestRunErrorBanner = TestRunErrorBanner; exports.TestRunResults = TestRunResults; exports.TimingStat = TimingStat; exports.TestRunStatusStat = TestRunStatusStat; exports.useTestRunState = useTestRunState; exports.TicketDetailSection = TicketDetailSection; exports.TicketAttachmentsList = TicketAttachmentsList; exports.TicketNoteCard = TicketNoteCard; exports.TicketNotesSection = TicketNotesSection; exports.TicketInfoSection = TicketInfoSection; exports.FilterPillRow = FilterPillRow; exports.MingoAiButton = MingoAiButton; exports.MOBILE_NAV_PANEL_ID = MOBILE_NAV_PANEL_ID; exports.MobileNavPanel = MobileNavPanel; exports.useOptionalTicketLive = useOptionalTicketLive; exports.useTicketLive = useTicketLive; exports.TicketLiveProvider = TicketLiveProvider; exports.isOptimistic = isOptimistic; exports.TICKET_TEXT_MAX_CHARS = TICKET_TEXT_MAX_CHARS; exports.TICKET_MARK_READ_DEBOUNCE_MS = TICKET_MARK_READ_DEBOUNCE_MS; exports.TOAST_COPY = TOAST_COPY; exports.TicketAlertsButton = TicketAlertsButton; exports.TopNavigation = TopNavigation; exports.Header = Header2; exports.HeaderSkeleton = HeaderSkeleton; exports.ClientOnlyHeader = ClientOnlyHeader; exports.SlidingSidebar = SlidingSidebar; exports.StickySectionNav = StickySectionNav; exports.useSectionNavigation = useSectionNavigation; exports.NAVIGATION_SIDEBAR_WIDTH_VAR = NAVIGATION_SIDEBAR_WIDTH_VAR; exports.NavigationSidebar = NavigationSidebar; exports.HeaderGlobalSearch = HeaderGlobalSearch; exports.HeaderMingoButton = HeaderMingoButton; exports.HeaderOrganizationFilter = HeaderOrganizationFilter; exports.AppHeader = AppHeader; exports.MobileBurgerMenu = MobileBurgerMenu; exports.AppLayout = AppLayout; exports.MultiLevelNavigation = MultiLevelNavigation; exports.MobileNavigationDropdown = MobileNavigationDropdown; exports.SoftwareInfo = SoftwareInfo; exports.SoftwareSourceBadge = SoftwareSourceBadge; exports.CveLink = CveLink; exports.ToolBadge = ToolBadge; exports.ShellTypeBadge = ShellTypeBadge; exports.ScriptInfoSection = ScriptInfoSection; exports.ScriptArguments = ScriptArguments; exports.OnboardingStepCard = OnboardingStepCard; exports.OnboardingWalkthrough = OnboardingWalkthrough; exports.LOG_SEVERITY_COLORS = LOG_SEVERITY_COLORS; exports.LOG_SEVERITY_LABELS = LOG_SEVERITY_LABELS; exports.LogSeverityDot = LogSeverityDot; exports.LogsList = LogsList; exports.assets = assets;
62153
- //# sourceMappingURL=chunk-S3BEVTFG.cjs.map
62157
+ //# sourceMappingURL=chunk-TRLZV7WM.cjs.map