@flamingo-stack/openframe-frontend-core 0.0.289 → 0.0.290

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 (49) hide show
  1. package/dist/{chunk-6NL7TTDR.cjs → chunk-2V6RCQ5M.cjs} +23 -23
  2. package/dist/{chunk-6NL7TTDR.cjs.map → chunk-2V6RCQ5M.cjs.map} +1 -1
  3. package/dist/{chunk-PYHCHGM5.js → chunk-4F3X2AOB.js} +2 -2
  4. package/dist/{chunk-7YLTJXMQ.js → chunk-4XMYOZFO.js} +2 -2
  5. package/dist/{chunk-HIABEYRE.cjs → chunk-7L22MF3U.cjs} +3 -3
  6. package/dist/{chunk-HIABEYRE.cjs.map → chunk-7L22MF3U.cjs.map} +1 -1
  7. package/dist/{chunk-OV3ZCU6X.cjs → chunk-AAK6IY6Y.cjs} +4 -4
  8. package/dist/{chunk-OV3ZCU6X.cjs.map → chunk-AAK6IY6Y.cjs.map} +1 -1
  9. package/dist/{chunk-UBFYGWFP.js → chunk-KJF7SRKH.js} +2 -2
  10. package/dist/{chunk-Q6S6DCVP.js → chunk-LVOBI2M5.js} +2 -2
  11. package/dist/{chunk-LZQ4HSOR.cjs → chunk-OYXZIPNM.cjs} +25 -25
  12. package/dist/{chunk-LZQ4HSOR.cjs.map → chunk-OYXZIPNM.cjs.map} +1 -1
  13. package/dist/{chunk-P2SO7ADJ.js → chunk-R4CLIWAU.js} +27 -1
  14. package/dist/{chunk-P2SO7ADJ.js.map → chunk-R4CLIWAU.js.map} +1 -1
  15. package/dist/{chunk-DFAMTCC4.cjs → chunk-UC5GB255.cjs} +5 -5
  16. package/dist/{chunk-DFAMTCC4.cjs.map → chunk-UC5GB255.cjs.map} +1 -1
  17. package/dist/{chunk-KLXCXNLW.cjs → chunk-VJ4ZWD5G.cjs} +221 -195
  18. package/dist/{chunk-KLXCXNLW.cjs.map → chunk-VJ4ZWD5G.cjs.map} +1 -1
  19. package/dist/{chunk-BZR546EB.js → chunk-Z5QIVHJW.js} +2 -2
  20. package/dist/components/chat/entity-cards/dispatch.d.ts.map +1 -1
  21. package/dist/components/chat/index.cjs +2 -2
  22. package/dist/components/chat/index.js +1 -1
  23. package/dist/components/contact/index.cjs +3 -3
  24. package/dist/components/contact/index.js +2 -2
  25. package/dist/components/embeds/index.cjs +3 -3
  26. package/dist/components/embeds/index.js +2 -2
  27. package/dist/components/faq/index.cjs +3 -3
  28. package/dist/components/faq/index.js +2 -2
  29. package/dist/components/features/index.cjs +2 -2
  30. package/dist/components/features/index.js +1 -1
  31. package/dist/components/index.cjs +46 -46
  32. package/dist/components/index.js +5 -5
  33. package/dist/components/navigation/index.cjs +2 -2
  34. package/dist/components/navigation/index.js +1 -1
  35. package/dist/components/related-content/index.cjs +3 -3
  36. package/dist/components/related-content/index.js +2 -2
  37. package/dist/components/tickets/index.cjs +45 -45
  38. package/dist/components/tickets/index.js +3 -3
  39. package/dist/components/ui/index.cjs +2 -2
  40. package/dist/components/ui/index.js +1 -1
  41. package/dist/index.cjs +2 -2
  42. package/dist/index.js +1 -1
  43. package/package.json +1 -1
  44. package/src/components/chat/entity-cards/dispatch.tsx +42 -0
  45. /package/dist/{chunk-PYHCHGM5.js.map → chunk-4F3X2AOB.js.map} +0 -0
  46. /package/dist/{chunk-7YLTJXMQ.js.map → chunk-4XMYOZFO.js.map} +0 -0
  47. /package/dist/{chunk-UBFYGWFP.js.map → chunk-KJF7SRKH.js.map} +0 -0
  48. /package/dist/{chunk-Q6S6DCVP.js.map → chunk-LVOBI2M5.js.map} +0 -0
  49. /package/dist/{chunk-BZR546EB.js.map → chunk-Z5QIVHJW.js.map} +0 -0
@@ -32356,12 +32356,32 @@ function HubspotTicketChatCard({
32356
32356
  }
32357
32357
  );
32358
32358
  }
32359
+ function FaqChatCard({
32360
+ chatRef,
32361
+ isNewTab,
32362
+ discuss
32363
+ }) {
32364
+ const section = typeof _optionalChain([chatRef, 'access', _659 => _659.metadata, 'optionalAccess', _660 => _660.section]) === "string" ? chatRef.metadata.section.trim() : void 0;
32365
+ const statusLabel = section && section.length > 0 ? section : "FAQ";
32366
+ return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
32367
+ MingoInfoCard,
32368
+ {
32369
+ title: chatRef.title,
32370
+ description: _nullishCoalesce(chatRef.preview, () => ( void 0)),
32371
+ icon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkZS2SBWBRcjs.QuestionCircleIcon, { size: 24 }),
32372
+ status: { label: statusLabel, variant: "grey" },
32373
+ anchorProps: _chunkEI4WALN2cjs.buildAnchorProps.call(void 0, chatRef.url, isNewTab),
32374
+ menuGroups: cardMenuGroups(chatRef.url, discuss),
32375
+ menuAriaLabel: "FAQ actions"
32376
+ }
32377
+ );
32378
+ }
32359
32379
  function SlackChatCard({
32360
32380
  chatRef,
32361
32381
  isNewTab,
32362
32382
  discuss
32363
32383
  }) {
32364
- const channelName = typeof _optionalChain([chatRef, 'access', _659 => _659.metadata, 'optionalAccess', _660 => _660.channelName]) === "string" ? chatRef.metadata.channelName.trim() : void 0;
32384
+ const channelName = typeof _optionalChain([chatRef, 'access', _661 => _661.metadata, 'optionalAccess', _662 => _662.channelName]) === "string" ? chatRef.metadata.channelName.trim() : void 0;
32365
32385
  const channelPretty = channelName ? channelName.startsWith("#") ? channelName : `#${channelName}` : void 0;
32366
32386
  const title = channelPretty ? `${chatRef.title} \xB7 ${channelPretty}` : chatRef.title;
32367
32387
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
@@ -32401,7 +32421,7 @@ function GenericFinancialChatCard({
32401
32421
  isNewTab,
32402
32422
  discuss
32403
32423
  }) {
32404
- const subtitle = typeof _optionalChain([chatRef, 'access', _661 => _661.metadata, 'optionalAccess', _662 => _662.subtitle]) === "string" ? chatRef.metadata.subtitle : void 0;
32424
+ const subtitle = typeof _optionalChain([chatRef, 'access', _663 => _663.metadata, 'optionalAccess', _664 => _664.subtitle]) === "string" ? chatRef.metadata.subtitle : void 0;
32405
32425
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
32406
32426
  MingoInfoCard,
32407
32427
  {
@@ -32470,12 +32490,12 @@ function ProductReleaseChatCard({
32470
32490
  discuss
32471
32491
  }) {
32472
32492
  const releaseProps = buildProps(item);
32473
- const status = _optionalChain([item, 'optionalAccess', _663 => _663.version]) ? { label: String(item.version), variant: "grey" } : { label: "Release", variant: "grey" };
32493
+ const status = _optionalChain([item, 'optionalAccess', _665 => _665.version]) ? { label: String(item.version), variant: "grey" } : { label: "Release", variant: "grey" };
32474
32494
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
32475
32495
  EntityMingoCard,
32476
32496
  {
32477
- title: _nullishCoalesce(_optionalChain([item, 'optionalAccess', _664 => _664.title]), () => ( "")),
32478
- description: _optionalChain([item, 'optionalAccess', _665 => _665.summary]) || releaseProps.formattedDate || void 0,
32497
+ title: _nullishCoalesce(_optionalChain([item, 'optionalAccess', _666 => _666.title]), () => ( "")),
32498
+ description: _optionalChain([item, 'optionalAccess', _667 => _667.summary]) || releaseProps.formattedDate || void 0,
32479
32499
  cover: releaseProps.coverImage || void 0,
32480
32500
  fallbackIcon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkZS2SBWBRcjs.Rocket02Icon, { size: 24 }),
32481
32501
  status,
@@ -32492,17 +32512,17 @@ function CampaignChatCard({
32492
32512
  isNewTab,
32493
32513
  discuss
32494
32514
  }) {
32495
- const goalsCount = Array.isArray(_optionalChain([item, 'optionalAccess', _666 => _666.goals])) ? item.goals.length : 0;
32515
+ const goalsCount = Array.isArray(_optionalChain([item, 'optionalAccess', _668 => _668.goals])) ? item.goals.length : 0;
32496
32516
  const meta = [
32497
- _optionalChain([item, 'optionalAccess', _667 => _667.start_date]) ? _chunkD6RK5YXXcjs.formatDateShort.call(void 0, item.start_date) : null,
32517
+ _optionalChain([item, 'optionalAccess', _669 => _669.start_date]) ? _chunkD6RK5YXXcjs.formatDateShort.call(void 0, item.start_date) : null,
32498
32518
  goalsCount > 0 ? `${goalsCount} goal${goalsCount !== 1 ? "s" : ""}` : null,
32499
32519
  "Marketing campaign"
32500
32520
  ].filter(Boolean).join(" \xB7 ");
32501
32521
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
32502
32522
  EntityMingoCard,
32503
32523
  {
32504
- title: _nullishCoalesce(_optionalChain([item, 'optionalAccess', _668 => _668.name]), () => ( "")),
32505
- description: meta || _optionalChain([item, 'optionalAccess', _669 => _669.description]) || void 0,
32524
+ title: _nullishCoalesce(_optionalChain([item, 'optionalAccess', _670 => _670.name]), () => ( "")),
32525
+ description: meta || _optionalChain([item, 'optionalAccess', _671 => _671.description]) || void 0,
32506
32526
  fallbackIcon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkZS2SBWBRcjs.Megaphone01Icon, { size: 24 }),
32507
32527
  chatRef,
32508
32528
  isNewTab,
@@ -32555,14 +32575,14 @@ function BlogChatCard({
32555
32575
  hasEmbeddedVideo,
32556
32576
  discuss
32557
32577
  }) {
32558
- const category = Array.isArray(_optionalChain([item, 'optionalAccess', _670 => _670.categories])) ? _optionalChain([item, 'access', _671 => _671.categories, 'access', _672 => _672.find, 'call', _673 => _673((c) => c && c.name), 'optionalAccess', _674 => _674.name]) : void 0;
32578
+ const category = Array.isArray(_optionalChain([item, 'optionalAccess', _672 => _672.categories])) ? _optionalChain([item, 'access', _673 => _673.categories, 'access', _674 => _674.find, 'call', _675 => _675((c) => c && c.name), 'optionalAccess', _676 => _676.name]) : void 0;
32559
32579
  const status = hasEmbeddedVideo ? { label: "Video", variant: "primary" } : category ? { label: category, variant: "grey" } : void 0;
32560
32580
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
32561
32581
  EntityMingoCard,
32562
32582
  {
32563
- title: _nullishCoalesce(_optionalChain([item, 'optionalAccess', _675 => _675.title]), () => ( "")),
32564
- description: _nullishCoalesce(_optionalChain([item, 'optionalAccess', _676 => _676.summary]), () => ( void 0)),
32565
- cover: entityCover(_optionalChain([item, 'optionalAccess', _677 => _677.featured_image]), ogPlaceholder),
32583
+ title: _nullishCoalesce(_optionalChain([item, 'optionalAccess', _677 => _677.title]), () => ( "")),
32584
+ description: _nullishCoalesce(_optionalChain([item, 'optionalAccess', _678 => _678.summary]), () => ( void 0)),
32585
+ cover: entityCover(_optionalChain([item, 'optionalAccess', _679 => _679.featured_image]), ogPlaceholder),
32566
32586
  fallbackIcon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkZS2SBWBRcjs.NewspaperIcon, { size: 24 }),
32567
32587
  status,
32568
32588
  chatRef,
@@ -32579,13 +32599,13 @@ function CaseStudyChatCard({
32579
32599
  ogPlaceholder,
32580
32600
  discuss
32581
32601
  }) {
32582
- const meta = [_optionalChain([item, 'optionalAccess', _678 => _678.msp, 'optionalAccess', _679 => _679.name]), _optionalChain([item, 'optionalAccess', _680 => _680.user, 'optionalAccess', _681 => _681.full_name])].filter(Boolean).join(" \xB7 ");
32602
+ const meta = [_optionalChain([item, 'optionalAccess', _680 => _680.msp, 'optionalAccess', _681 => _681.name]), _optionalChain([item, 'optionalAccess', _682 => _682.user, 'optionalAccess', _683 => _683.full_name])].filter(Boolean).join(" \xB7 ");
32583
32603
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
32584
32604
  EntityMingoCard,
32585
32605
  {
32586
- title: _nullishCoalesce(_optionalChain([item, 'optionalAccess', _682 => _682.title]), () => ( "")),
32587
- description: _optionalChain([item, 'optionalAccess', _683 => _683.summary]) || meta || void 0,
32588
- cover: entityCover(_optionalChain([item, 'optionalAccess', _684 => _684.featured_image]), ogPlaceholder),
32606
+ title: _nullishCoalesce(_optionalChain([item, 'optionalAccess', _684 => _684.title]), () => ( "")),
32607
+ description: _optionalChain([item, 'optionalAccess', _685 => _685.summary]) || meta || void 0,
32608
+ cover: entityCover(_optionalChain([item, 'optionalAccess', _686 => _686.featured_image]), ogPlaceholder),
32589
32609
  fallbackIcon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkZS2SBWBRcjs.TrophyIcon, { size: 24 }),
32590
32610
  status: { label: "Case study", variant: "grey" },
32591
32611
  chatRef,
@@ -32602,13 +32622,13 @@ function CustomerInterviewChatCard({
32602
32622
  ogPlaceholder,
32603
32623
  discuss
32604
32624
  }) {
32605
- const meta = [_optionalChain([item, 'optionalAccess', _685 => _685.user, 'optionalAccess', _686 => _686.full_name]), _optionalChain([item, 'optionalAccess', _687 => _687.msp, 'optionalAccess', _688 => _688.name])].filter(Boolean).join(" \xB7 ");
32625
+ const meta = [_optionalChain([item, 'optionalAccess', _687 => _687.user, 'optionalAccess', _688 => _688.full_name]), _optionalChain([item, 'optionalAccess', _689 => _689.msp, 'optionalAccess', _690 => _690.name])].filter(Boolean).join(" \xB7 ");
32606
32626
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
32607
32627
  EntityMingoCard,
32608
32628
  {
32609
- title: _nullishCoalesce(_optionalChain([item, 'optionalAccess', _689 => _689.title]), () => ( "")),
32610
- description: _optionalChain([item, 'optionalAccess', _690 => _690.video_summary]) || meta || void 0,
32611
- cover: entityCover(_optionalChain([item, 'optionalAccess', _691 => _691.featured_image]), ogPlaceholder),
32629
+ title: _nullishCoalesce(_optionalChain([item, 'optionalAccess', _691 => _691.title]), () => ( "")),
32630
+ description: _optionalChain([item, 'optionalAccess', _692 => _692.video_summary]) || meta || void 0,
32631
+ cover: entityCover(_optionalChain([item, 'optionalAccess', _693 => _693.featured_image]), ogPlaceholder),
32612
32632
  fallbackIcon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkZS2SBWBRcjs.MicrophoneIcon, { size: 24 }),
32613
32633
  status: { label: "Interview", variant: "grey" },
32614
32634
  chatRef,
@@ -32625,13 +32645,13 @@ function InvestorUpdateChatCard({
32625
32645
  ogPlaceholder,
32626
32646
  discuss
32627
32647
  }) {
32628
- const title = _optionalChain([item, 'optionalAccess', _692 => _692.title]) || `Update #${_nullishCoalesce(_optionalChain([item, 'optionalAccess', _693 => _693.update_number]), () => ( "?"))}`;
32648
+ const title = _optionalChain([item, 'optionalAccess', _694 => _694.title]) || `Update #${_nullishCoalesce(_optionalChain([item, 'optionalAccess', _695 => _695.update_number]), () => ( "?"))}`;
32629
32649
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
32630
32650
  EntityMingoCard,
32631
32651
  {
32632
32652
  title,
32633
- description: _optionalChain([item, 'optionalAccess', _694 => _694.strategic_update]) || _optionalChain([item, 'optionalAccess', _695 => _695.content]) || formatInvestorUpdatePeriod(_optionalChain([item, 'optionalAccess', _696 => _696.period_start]), _optionalChain([item, 'optionalAccess', _697 => _697.period_end])) || void 0,
32634
- cover: entityCover(_optionalChain([item, 'optionalAccess', _698 => _698.featured_image]), ogPlaceholder),
32653
+ description: _optionalChain([item, 'optionalAccess', _696 => _696.strategic_update]) || _optionalChain([item, 'optionalAccess', _697 => _697.content]) || formatInvestorUpdatePeriod(_optionalChain([item, 'optionalAccess', _698 => _698.period_start]), _optionalChain([item, 'optionalAccess', _699 => _699.period_end])) || void 0,
32654
+ cover: entityCover(_optionalChain([item, 'optionalAccess', _700 => _700.featured_image]), ogPlaceholder),
32635
32655
  fallbackIcon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkZS2SBWBRcjs.PresentationLineIcon, { size: 24 }),
32636
32656
  status: { label: "Investor update", variant: "grey" },
32637
32657
  chatRef,
@@ -32648,12 +32668,12 @@ function OnboardingGuideChatCard({
32648
32668
  ogPlaceholder,
32649
32669
  discuss
32650
32670
  }) {
32651
- const cover = _nullishCoalesce(_nullishCoalesce(entityCover(_optionalChain([item, 'optionalAccess', _699 => _699.featured_image])), () => ( entityCover(_optionalChain([item, 'optionalAccess', _700 => _700.main_video_thumbnail])))), () => ( entityCover(_optionalChain([item, 'optionalAccess', _701 => _701.og_image_url]), ogPlaceholder)));
32671
+ const cover = _nullishCoalesce(_nullishCoalesce(entityCover(_optionalChain([item, 'optionalAccess', _701 => _701.featured_image])), () => ( entityCover(_optionalChain([item, 'optionalAccess', _702 => _702.main_video_thumbnail])))), () => ( entityCover(_optionalChain([item, 'optionalAccess', _703 => _703.og_image_url]), ogPlaceholder)));
32652
32672
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
32653
32673
  EntityMingoCard,
32654
32674
  {
32655
- title: _nullishCoalesce(_optionalChain([item, 'optionalAccess', _702 => _702.title]), () => ( "")),
32656
- description: _nullishCoalesce(_nullishCoalesce(_optionalChain([item, 'optionalAccess', _703 => _703.summary]), () => ( _optionalChain([item, 'optionalAccess', _704 => _704.description]))), () => ( void 0)),
32675
+ title: _nullishCoalesce(_optionalChain([item, 'optionalAccess', _704 => _704.title]), () => ( "")),
32676
+ description: _nullishCoalesce(_nullishCoalesce(_optionalChain([item, 'optionalAccess', _705 => _705.summary]), () => ( _optionalChain([item, 'optionalAccess', _706 => _706.description]))), () => ( void 0)),
32657
32677
  cover,
32658
32678
  fallbackIcon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkZS2SBWBRcjs.CompassIcon, { size: 24 }),
32659
32679
  status: { label: "Guide", variant: "grey" },
@@ -32674,25 +32694,25 @@ function ProgramChatCard({
32674
32694
  discuss
32675
32695
  }) {
32676
32696
  const icon = configKey === "webinar" ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkZS2SBWBRcjs.PresentationBarIcon, { size: 24 }) : configKey === "event" ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkZS2SBWBRcjs.CalendarIcon, { size: 24 }) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkZS2SBWBRcjs.MicrophoneIcon, { size: 24 });
32677
- const isScheduled = _optionalChain([item, 'optionalAccess', _705 => _705.status]) === "scheduled";
32697
+ const isScheduled = _optionalChain([item, 'optionalAccess', _707 => _707.status]) === "scheduled";
32678
32698
  let typeMeta;
32679
- if (configKey === "podcast" && typeof _optionalChain([item, 'optionalAccess', _706 => _706.duration_seconds]) === "number" && item.duration_seconds > 0 && !isScheduled) {
32699
+ if (configKey === "podcast" && typeof _optionalChain([item, 'optionalAccess', _708 => _708.duration_seconds]) === "number" && item.duration_seconds > 0 && !isScheduled) {
32680
32700
  typeMeta = _chunkY4JNA4W6cjs.formatDurationCompact.call(void 0, item.duration_seconds);
32681
- } else if (configKey === "event" && typeof _optionalChain([item, 'optionalAccess', _707 => _707.location_name]) === "string" && item.location_name.trim().length > 0) {
32701
+ } else if (configKey === "event" && typeof _optionalChain([item, 'optionalAccess', _709 => _709.location_name]) === "string" && item.location_name.trim().length > 0) {
32682
32702
  typeMeta = item.location_name;
32683
- } else if (configKey === "webinar" && _optionalChain([item, 'optionalAccess', _708 => _708.start_at])) {
32703
+ } else if (configKey === "webinar" && _optionalChain([item, 'optionalAccess', _710 => _710.start_at])) {
32684
32704
  const time = _chunkY4JNA4W6cjs.formatTimeWithTimezone.call(void 0, item.start_at, null);
32685
32705
  const dur = _chunkY4JNA4W6cjs.formatDurationFromRange.call(void 0, item.start_at, item.end_at);
32686
32706
  typeMeta = dur ? `${time} \xB7 ${dur}` : time;
32687
32707
  }
32688
- const itemDate = _chunkY4JNA4W6cjs.formatDateUTC.call(void 0, _nullishCoalesce(_optionalChain([item, 'optionalAccess', _709 => _709.date]), () => ( null)), { fallback: "", timezone: "local" });
32708
+ const itemDate = _chunkY4JNA4W6cjs.formatDateUTC.call(void 0, _nullishCoalesce(_optionalChain([item, 'optionalAccess', _711 => _711.date]), () => ( null)), { fallback: "", timezone: "local" });
32689
32709
  const meta = [itemDate, typeMeta].filter(Boolean).join(" \xB7 ");
32690
32710
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
32691
32711
  EntityMingoCard,
32692
32712
  {
32693
- title: _nullishCoalesce(_optionalChain([item, 'optionalAccess', _710 => _710.title]), () => ( "")),
32694
- description: meta || _optionalChain([item, 'optionalAccess', _711 => _711.description]) || void 0,
32695
- cover: entityCover(_optionalChain([item, 'optionalAccess', _712 => _712.cover_url]), ogPlaceholder),
32713
+ title: _nullishCoalesce(_optionalChain([item, 'optionalAccess', _712 => _712.title]), () => ( "")),
32714
+ description: meta || _optionalChain([item, 'optionalAccess', _713 => _713.description]) || void 0,
32715
+ cover: entityCover(_optionalChain([item, 'optionalAccess', _714 => _714.cover_url]), ogPlaceholder),
32696
32716
  fallbackIcon: icon,
32697
32717
  status: { label, variant: "grey" },
32698
32718
  chatRef,
@@ -32709,10 +32729,10 @@ function RoadmapChatCard({
32709
32729
  cardType,
32710
32730
  discuss
32711
32731
  }) {
32712
- const logoUrl = typeof _optionalChain([item, 'optionalAccess', _713 => _713.icon]) === "string" && item.icon.startsWith("http") ? item.icon : void 0;
32713
- const useTypeIcon = cardType === "internal_task" || !logoUrl && _optionalChain([item, 'optionalAccess', _714 => _714.customItemId]) != null;
32732
+ const logoUrl = typeof _optionalChain([item, 'optionalAccess', _715 => _715.icon]) === "string" && item.icon.startsWith("http") ? item.icon : void 0;
32733
+ const useTypeIcon = cardType === "internal_task" || !logoUrl && _optionalChain([item, 'optionalAccess', _716 => _716.customItemId]) != null;
32714
32734
  const defaultIcon = cardType === "delivery_item" ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkZS2SBWBRcjs.TruckFastIcon, { size: 24 }) : cardType === "internal_task" ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkZS2SBWBRcjs.CheckSquareIcon, { size: 24 }) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkZS2SBWBRcjs.MapIcon, { size: 24 });
32715
- const icon = useTypeIcon ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, TaskTypeIcon, { customItemId: _optionalChain([item, 'optionalAccess', _715 => _715.customItemId]), className: "size-6" }) : logoUrl ? (
32735
+ const icon = useTypeIcon ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, TaskTypeIcon, { customItemId: _optionalChain([item, 'optionalAccess', _717 => _717.customItemId]), className: "size-6" }) : logoUrl ? (
32716
32736
  // Contained (not full-bleed) so the integration logo keeps its aspect
32717
32737
  // ratio inside the bordered icon box — matches RoadmapCard.
32718
32738
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "img", { src: logoUrl, alt: "", className: "size-6 object-contain" })
@@ -32720,10 +32740,10 @@ function RoadmapChatCard({
32720
32740
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
32721
32741
  EntityMingoCard,
32722
32742
  {
32723
- title: _nullishCoalesce(_optionalChain([item, 'optionalAccess', _716 => _716.title]), () => ( "")),
32724
- description: _nullishCoalesce(_optionalChain([item, 'optionalAccess', _717 => _717.description]), () => ( void 0)),
32743
+ title: _nullishCoalesce(_optionalChain([item, 'optionalAccess', _718 => _718.title]), () => ( "")),
32744
+ description: _nullishCoalesce(_optionalChain([item, 'optionalAccess', _719 => _719.description]), () => ( void 0)),
32725
32745
  fallbackIcon: icon,
32726
- status: statusPill(_optionalChain([item, 'optionalAccess', _718 => _718.status])),
32746
+ status: statusPill(_optionalChain([item, 'optionalAccess', _720 => _720.status])),
32727
32747
  chatRef,
32728
32748
  isNewTab,
32729
32749
  discuss,
@@ -32809,7 +32829,7 @@ function programRegistryEntries() {
32809
32829
  discuss: opts.discuss,
32810
32830
  configKey: cfg.configKey,
32811
32831
  label: cfg.configKey.charAt(0).toUpperCase() + cfg.configKey.slice(1),
32812
- ogPlaceholder: _nullishCoalesce(_optionalChain([opts, 'optionalAccess', _719 => _719.extras, 'optionalAccess', _720 => _720.buildOgPlaceholderUrl, 'optionalCall', _721 => _721(_nullishCoalesce(_optionalChain([item, 'optionalAccess', _722 => _722.title]), () => ( "")))]), () => ( null))
32832
+ ogPlaceholder: _nullishCoalesce(_optionalChain([opts, 'optionalAccess', _721 => _721.extras, 'optionalAccess', _722 => _722.buildOgPlaceholderUrl, 'optionalCall', _723 => _723(_nullishCoalesce(_optionalChain([item, 'optionalAccess', _724 => _724.title]), () => ( "")))]), () => ( null))
32813
32833
  }
32814
32834
  )
32815
32835
  };
@@ -32868,6 +32888,12 @@ var CHAT_CARD_REGISTRY = {
32868
32888
  }
32869
32889
  )
32870
32890
  },
32891
+ faq: {
32892
+ mode: "no-fetch",
32893
+ label: "FAQ",
32894
+ bareInline: true,
32895
+ render: (chatRef, opts) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, FaqChatCard, { chatRef, isNewTab: opts.isNewTab, discuss: opts.discuss })
32896
+ },
32871
32897
  hubspot_ticket: {
32872
32898
  mode: "no-fetch",
32873
32899
  label: "HubSpot ticket",
@@ -32955,8 +32981,8 @@ var CHAT_CARD_REGISTRY = {
32955
32981
  chatRef,
32956
32982
  isNewTab: opts.isNewTab,
32957
32983
  discuss: opts.discuss,
32958
- ogPlaceholder: _nullishCoalesce(_optionalChain([opts, 'optionalAccess', _723 => _723.extras, 'optionalAccess', _724 => _724.buildOgPlaceholderUrl, 'optionalCall', _725 => _725(_nullishCoalesce(_optionalChain([item, 'optionalAccess', _726 => _726.title]), () => ( "")))]), () => ( null)),
32959
- hasEmbeddedVideo: _optionalChain([chatRef, 'access', _727 => _727.metadata, 'optionalAccess', _728 => _728.hasEmbeddedVideo]) === true
32984
+ ogPlaceholder: _nullishCoalesce(_optionalChain([opts, 'optionalAccess', _725 => _725.extras, 'optionalAccess', _726 => _726.buildOgPlaceholderUrl, 'optionalCall', _727 => _727(_nullishCoalesce(_optionalChain([item, 'optionalAccess', _728 => _728.title]), () => ( "")))]), () => ( null)),
32985
+ hasEmbeddedVideo: _optionalChain([chatRef, 'access', _729 => _729.metadata, 'optionalAccess', _730 => _730.hasEmbeddedVideo]) === true
32960
32986
  }
32961
32987
  )
32962
32988
  },
@@ -32973,7 +32999,7 @@ var CHAT_CARD_REGISTRY = {
32973
32999
  chatRef,
32974
33000
  isNewTab: opts.isNewTab,
32975
33001
  discuss: opts.discuss,
32976
- ogPlaceholder: _nullishCoalesce(_optionalChain([opts, 'optionalAccess', _729 => _729.extras, 'optionalAccess', _730 => _730.buildOgPlaceholderUrl, 'optionalCall', _731 => _731(_nullishCoalesce(_optionalChain([item, 'optionalAccess', _732 => _732.title]), () => ( "")))]), () => ( null))
33002
+ ogPlaceholder: _nullishCoalesce(_optionalChain([opts, 'optionalAccess', _731 => _731.extras, 'optionalAccess', _732 => _732.buildOgPlaceholderUrl, 'optionalCall', _733 => _733(_nullishCoalesce(_optionalChain([item, 'optionalAccess', _734 => _734.title]), () => ( "")))]), () => ( null))
32977
33003
  }
32978
33004
  )
32979
33005
  },
@@ -32990,7 +33016,7 @@ var CHAT_CARD_REGISTRY = {
32990
33016
  chatRef,
32991
33017
  isNewTab: opts.isNewTab,
32992
33018
  discuss: opts.discuss,
32993
- ogPlaceholder: _nullishCoalesce(_optionalChain([opts, 'optionalAccess', _733 => _733.extras, 'optionalAccess', _734 => _734.buildOgPlaceholderUrl, 'optionalCall', _735 => _735(_nullishCoalesce(_optionalChain([item, 'optionalAccess', _736 => _736.title]), () => ( "")))]), () => ( null))
33019
+ ogPlaceholder: _nullishCoalesce(_optionalChain([opts, 'optionalAccess', _735 => _735.extras, 'optionalAccess', _736 => _736.buildOgPlaceholderUrl, 'optionalCall', _737 => _737(_nullishCoalesce(_optionalChain([item, 'optionalAccess', _738 => _738.title]), () => ( "")))]), () => ( null))
32994
33020
  }
32995
33021
  )
32996
33022
  },
@@ -33001,7 +33027,7 @@ var CHAT_CARD_REGISTRY = {
33001
33027
  bareInline: true,
33002
33028
  skeleton: () => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, ProductReleaseCardSkeleton, { size: "sm" }),
33003
33029
  render: (item, chatRef, opts) => {
33004
- const builder = _nullishCoalesce(_optionalChain([opts, 'optionalAccess', _737 => _737.extras, 'optionalAccess', _738 => _738.buildProductReleaseCardProps]), () => ( defaultBuildProductReleaseCardProps));
33030
+ const builder = _nullishCoalesce(_optionalChain([opts, 'optionalAccess', _739 => _739.extras, 'optionalAccess', _740 => _740.buildProductReleaseCardProps]), () => ( defaultBuildProductReleaseCardProps));
33005
33031
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
33006
33032
  ProductReleaseChatCard,
33007
33033
  {
@@ -33028,7 +33054,7 @@ var CHAT_CARD_REGISTRY = {
33028
33054
  chatRef,
33029
33055
  isNewTab: opts.isNewTab,
33030
33056
  discuss: opts.discuss,
33031
- ogPlaceholder: _nullishCoalesce(_optionalChain([opts, 'optionalAccess', _739 => _739.extras, 'optionalAccess', _740 => _740.buildOgPlaceholderUrl, 'optionalCall', _741 => _741(_nullishCoalesce(_optionalChain([item, 'optionalAccess', _742 => _742.title]), () => ( "")))]), () => ( null))
33057
+ ogPlaceholder: _nullishCoalesce(_optionalChain([opts, 'optionalAccess', _741 => _741.extras, 'optionalAccess', _742 => _742.buildOgPlaceholderUrl, 'optionalCall', _743 => _743(_nullishCoalesce(_optionalChain([item, 'optionalAccess', _744 => _744.title]), () => ( "")))]), () => ( null))
33032
33058
  }
33033
33059
  )
33034
33060
  },
@@ -33047,7 +33073,7 @@ var CHAT_CARD_REGISTRY = {
33047
33073
  chatRef,
33048
33074
  isNewTab: opts.isNewTab,
33049
33075
  discuss: opts.discuss,
33050
- ogPlaceholder: _nullishCoalesce(_optionalChain([opts, 'optionalAccess', _743 => _743.extras, 'optionalAccess', _744 => _744.buildOgPlaceholderUrl, 'optionalCall', _745 => _745(_nullishCoalesce(_optionalChain([item, 'optionalAccess', _746 => _746.title]), () => ( "")))]), () => ( null))
33076
+ ogPlaceholder: _nullishCoalesce(_optionalChain([opts, 'optionalAccess', _745 => _745.extras, 'optionalAccess', _746 => _746.buildOgPlaceholderUrl, 'optionalCall', _747 => _747(_nullishCoalesce(_optionalChain([item, 'optionalAccess', _748 => _748.title]), () => ( "")))]), () => ( null))
33051
33077
  }
33052
33078
  )
33053
33079
  },
@@ -33059,7 +33085,7 @@ var CHAT_CARD_REGISTRY = {
33059
33085
  skeleton: () => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, CampaignCardAdminSkeleton, {}),
33060
33086
  // No public viewer — synthesize the hub-internal admin URL post-fetch
33061
33087
  // so the wrapper + isNewTab computation see the actual destination.
33062
- fallbackHref: (item) => _optionalChain([item, 'optionalAccess', _747 => _747.id]) ? `/admin/campaigns/${encodeURIComponent(item.id)}` : null,
33088
+ fallbackHref: (item) => _optionalChain([item, 'optionalAccess', _749 => _749.id]) ? `/admin/campaigns/${encodeURIComponent(item.id)}` : null,
33063
33089
  render: (item, chatRef, opts) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
33064
33090
  CampaignChatCard,
33065
33091
  {
@@ -33085,12 +33111,12 @@ function ChatCardNavWrap({
33085
33111
  const onClickCapture = (e) => {
33086
33112
  if (!href) return;
33087
33113
  const targetEl = e.target;
33088
- if (_optionalChain([targetEl, 'optionalAccess', _748 => _748.closest, 'optionalCall', _749 => _749("button")])) return;
33089
- if (!_optionalChain([targetEl, 'optionalAccess', _750 => _750.closest, 'optionalCall', _751 => _751("a")])) return;
33114
+ if (_optionalChain([targetEl, 'optionalAccess', _750 => _750.closest, 'optionalCall', _751 => _751("button")])) return;
33115
+ if (!_optionalChain([targetEl, 'optionalAccess', _752 => _752.closest, 'optionalCall', _753 => _753("a")])) return;
33090
33116
  const handled = handleChatNavClick(e, runtime, { href, path, targetPlatform }, router.push);
33091
33117
  if (!handled) return;
33092
33118
  e.stopPropagation();
33093
- if (!isNewTab && _optionalChain([panel, 'optionalAccess', _752 => _752.closeChat])) panel.closeChat();
33119
+ if (!isNewTab && _optionalChain([panel, 'optionalAccess', _754 => _754.closeChat])) panel.closeChat();
33094
33120
  };
33095
33121
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "contents", onClickCapture, children });
33096
33122
  }
@@ -33112,7 +33138,7 @@ function ChatCardLoader({
33112
33138
  title: chatRef.title,
33113
33139
  externalUrl: chatRef.url,
33114
33140
  targetPlatform: chatRef.targetPlatform,
33115
- path: typeof _optionalChain([chatRef, 'access', _753 => _753.metadata, 'optionalAccess', _754 => _754.path]) === "string" ? chatRef.metadata.path : null
33141
+ path: typeof _optionalChain([chatRef, 'access', _755 => _755.metadata, 'optionalAccess', _756 => _756.path]) === "string" ? chatRef.metadata.path : null
33116
33142
  },
33117
33143
  _chunkY4JNA4W6cjs.sourceRowCtxFromRuntime.call(void 0, runtime, { baseRoute, chipBasePlatform })
33118
33144
  );
@@ -33126,7 +33152,7 @@ function ChatCardLoader({
33126
33152
  const entry = CHAT_CARD_REGISTRY[resolvedChatRef.type];
33127
33153
  const fetchEntry = entry && entry.mode === "fetch" ? entry : null;
33128
33154
  const { item, isLoading } = useChatCardItem(
33129
- _nullishCoalesce(_optionalChain([fetchEntry, 'optionalAccess', _755 => _755.contentRefType]), () => ( "")),
33155
+ _nullishCoalesce(_optionalChain([fetchEntry, 'optionalAccess', _757 => _757.contentRefType]), () => ( "")),
33130
33156
  fetchEntry ? resolvedChatRef.id : ""
33131
33157
  );
33132
33158
  if (!entry) return null;
@@ -33157,7 +33183,7 @@ function ChatCardLoader({
33157
33183
  isNewTab,
33158
33184
  discuss
33159
33185
  };
33160
- const path = typeof _optionalChain([finalChatRef, 'access', _756 => _756.metadata, 'optionalAccess', _757 => _757.path]) === "string" ? finalChatRef.metadata.path : null;
33186
+ const path = typeof _optionalChain([finalChatRef, 'access', _758 => _758.metadata, 'optionalAccess', _759 => _759.path]) === "string" ? finalChatRef.metadata.path : null;
33161
33187
  const navWrap = (children) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
33162
33188
  ChatCardNavWrap,
33163
33189
  {
@@ -33543,7 +33569,7 @@ function useJetStreamDialogSubscription({
33543
33569
  const lifecycle = _chunkPXXS27EEcjs.startConnectionLifecycle.call(void 0, {
33544
33570
  conn: sharedConn,
33545
33571
  wsUrl,
33546
- onBeforeReconnect: () => _optionalChain([onBeforeReconnectRef, 'access', _758 => _758.current, 'optionalCall', _759 => _759()]),
33572
+ onBeforeReconnect: () => _optionalChain([onBeforeReconnectRef, 'access', _760 => _760.current, 'optionalCall', _761 => _761()]),
33547
33573
  backoff: reconnectionBackoffRef.current,
33548
33574
  getFreshUrl: () => getNatsWsUrlRef.current(),
33549
33575
  // JetStream emits 'error' for protocol-level failures (e.g. -ERR Permissions
@@ -33558,7 +33584,7 @@ function useJetStreamDialogSubscription({
33558
33584
  setReconnectionCount((c) => c + 1);
33559
33585
  }
33560
33586
  hadConnectionBeforeRef.current = true;
33561
- _optionalChain([onConnectRef, 'access', _760 => _760.current, 'optionalCall', _761 => _761()]);
33587
+ _optionalChain([onConnectRef, 'access', _762 => _762.current, 'optionalCall', _763 => _763()]);
33562
33588
  }
33563
33589
  if (status === "error") {
33564
33590
  console.warn("[JetStream] NATS protocol error:", evt.data);
@@ -33568,7 +33594,7 @@ function useJetStreamDialogSubscription({
33568
33594
  setIsConnected(false);
33569
33595
  setIsSubscribed(false);
33570
33596
  tearDownSubscription();
33571
- _optionalChain([onDisconnectRef, 'access', _762 => _762.current, 'optionalCall', _763 => _763()]);
33597
+ _optionalChain([onDisconnectRef, 'access', _764 => _764.current, 'optionalCall', _765 => _765()]);
33572
33598
  }
33573
33599
  }
33574
33600
  });
@@ -33647,7 +33673,7 @@ function useJetStreamDialogSubscription({
33647
33673
  }
33648
33674
  subscriptionRef.current = handle;
33649
33675
  setIsSubscribed(true);
33650
- _optionalChain([onSubscribedRef, 'access', _764 => _764.current, 'optionalCall', _765 => _765()]);
33676
+ _optionalChain([onSubscribedRef, 'access', _766 => _766.current, 'optionalCall', _767 => _767()]);
33651
33677
  } catch (e24) {
33652
33678
  if (!cancelled) {
33653
33679
  setIsSubscribed(false);
@@ -33760,20 +33786,20 @@ function useNatsDialogSubscription({
33760
33786
  const tearDownSubscriptions = () => {
33761
33787
  subscriptionRefs.current.forEach((sub) => {
33762
33788
  try {
33763
- _optionalChain([sub, 'optionalAccess', _766 => _766.unsubscribe, 'call', _767 => _767()]);
33789
+ _optionalChain([sub, 'optionalAccess', _768 => _768.unsubscribe, 'call', _769 => _769()]);
33764
33790
  } catch (e26) {
33765
33791
  }
33766
33792
  });
33767
33793
  subscriptionRefs.current.clear();
33768
33794
  lastSubscribedDialogIdRef.current = null;
33769
- _optionalChain([abortControllerRef, 'access', _768 => _768.current, 'optionalAccess', _769 => _769.abort, 'call', _770 => _770()]);
33795
+ _optionalChain([abortControllerRef, 'access', _770 => _770.current, 'optionalAccess', _771 => _771.abort, 'call', _772 => _772()]);
33770
33796
  abortControllerRef.current = null;
33771
33797
  };
33772
33798
  const isDisconnectStatus = (status) => status === "closed" || status === "disconnected";
33773
33799
  const lifecycle = _chunkPXXS27EEcjs.startConnectionLifecycle.call(void 0, {
33774
33800
  conn: sharedConn,
33775
33801
  wsUrl,
33776
- onBeforeReconnect: () => _optionalChain([onBeforeReconnectRef, 'access', _771 => _771.current, 'optionalCall', _772 => _772()]),
33802
+ onBeforeReconnect: () => _optionalChain([onBeforeReconnectRef, 'access', _773 => _773.current, 'optionalCall', _774 => _774()]),
33777
33803
  backoff: reconnectionBackoffRef.current,
33778
33804
  getFreshUrl: () => getNatsWsUrlRef.current(),
33779
33805
  shouldRetryOn: isDisconnectStatus,
@@ -33784,7 +33810,7 @@ function useNatsDialogSubscription({
33784
33810
  setReconnectionCount((c) => c + 1);
33785
33811
  }
33786
33812
  hadConnectionBeforeRef.current = true;
33787
- _optionalChain([onConnectRef, 'access', _773 => _773.current, 'optionalCall', _774 => _774()]);
33813
+ _optionalChain([onConnectRef, 'access', _775 => _775.current, 'optionalCall', _776 => _776()]);
33788
33814
  }
33789
33815
  if (status === "error") {
33790
33816
  console.warn("[NATS] protocol error:", evt.data);
@@ -33794,7 +33820,7 @@ function useNatsDialogSubscription({
33794
33820
  setIsConnected(false);
33795
33821
  setIsSubscribed(false);
33796
33822
  tearDownSubscriptions();
33797
- _optionalChain([onDisconnectRef, 'access', _775 => _775.current, 'optionalCall', _776 => _776()]);
33823
+ _optionalChain([onDisconnectRef, 'access', _777 => _777.current, 'optionalCall', _778 => _778()]);
33798
33824
  }
33799
33825
  }
33800
33826
  });
@@ -33825,13 +33851,13 @@ function useNatsDialogSubscription({
33825
33851
  setIsSubscribed(false);
33826
33852
  subscriptionRefs.current.forEach((sub) => {
33827
33853
  try {
33828
- _optionalChain([sub, 'optionalAccess', _777 => _777.unsubscribe, 'call', _778 => _778()]);
33854
+ _optionalChain([sub, 'optionalAccess', _779 => _779.unsubscribe, 'call', _780 => _780()]);
33829
33855
  } catch (e27) {
33830
33856
  }
33831
33857
  });
33832
33858
  subscriptionRefs.current.clear();
33833
33859
  lastSubscribedDialogIdRef.current = null;
33834
- _optionalChain([abortControllerRef, 'access', _779 => _779.current, 'optionalAccess', _780 => _780.abort, 'call', _781 => _781()]);
33860
+ _optionalChain([abortControllerRef, 'access', _781 => _781.current, 'optionalAccess', _782 => _782.abort, 'call', _783 => _783()]);
33835
33861
  abortControllerRef.current = null;
33836
33862
  }
33837
33863
  return;
@@ -33843,12 +33869,12 @@ function useNatsDialogSubscription({
33843
33869
  if (subscriptionRefs.current.size > 0) {
33844
33870
  subscriptionRefs.current.forEach((sub) => {
33845
33871
  try {
33846
- _optionalChain([sub, 'optionalAccess', _782 => _782.unsubscribe, 'call', _783 => _783()]);
33872
+ _optionalChain([sub, 'optionalAccess', _784 => _784.unsubscribe, 'call', _785 => _785()]);
33847
33873
  } catch (e28) {
33848
33874
  }
33849
33875
  });
33850
33876
  subscriptionRefs.current.clear();
33851
- _optionalChain([abortControllerRef, 'access', _784 => _784.current, 'optionalAccess', _785 => _785.abort, 'call', _786 => _786()]);
33877
+ _optionalChain([abortControllerRef, 'access', _786 => _786.current, 'optionalAccess', _787 => _787.abort, 'call', _788 => _788()]);
33852
33878
  }
33853
33879
  abortControllerRef.current = new AbortController();
33854
33880
  const abort = abortControllerRef.current;
@@ -33880,7 +33906,7 @@ function useNatsDialogSubscription({
33880
33906
  });
33881
33907
  lastSubscribedDialogIdRef.current = dialogId;
33882
33908
  setIsSubscribed(true);
33883
- _optionalChain([onSubscribedRef, 'access', _787 => _787.current, 'optionalCall', _788 => _788()]);
33909
+ _optionalChain([onSubscribedRef, 'access', _789 => _789.current, 'optionalCall', _790 => _790()]);
33884
33910
  };
33885
33911
  if (isConnectedRef.current) {
33886
33912
  createSubscriptions();
@@ -33890,7 +33916,7 @@ function useNatsDialogSubscription({
33890
33916
  abort.abort();
33891
33917
  subscriptionRefs.current.forEach((sub) => {
33892
33918
  try {
33893
- _optionalChain([sub, 'optionalAccess', _789 => _789.unsubscribe, 'call', _790 => _790()]);
33919
+ _optionalChain([sub, 'optionalAccess', _791 => _791.unsubscribe, 'call', _792 => _792()]);
33894
33920
  } catch (e30) {
33895
33921
  }
33896
33922
  });
@@ -33931,7 +33957,7 @@ function useNatsDialogSubscription({
33931
33957
  });
33932
33958
  lastSubscribedDialogIdRef.current = dialogId2;
33933
33959
  setIsSubscribed(true);
33934
- _optionalChain([onSubscribedRef, 'access', _791 => _791.current, 'optionalCall', _792 => _792()]);
33960
+ _optionalChain([onSubscribedRef, 'access', _793 => _793.current, 'optionalCall', _794 => _794()]);
33935
33961
  } else if (subscriptionRefs.current.size > 0) {
33936
33962
  setIsSubscribed(true);
33937
33963
  }
@@ -33939,10 +33965,10 @@ function useNatsDialogSubscription({
33939
33965
  return { isConnected, isSubscribed, reconnectionCount };
33940
33966
  }
33941
33967
  function buildNatsWsUrl(apiBaseUrl, options) {
33942
- const path = _optionalChain([options, 'optionalAccess', _793 => _793.source]) === "dashboard" ? "/ws/nats-api" : "/ws/nats";
33968
+ const path = _optionalChain([options, 'optionalAccess', _795 => _795.source]) === "dashboard" ? "/ws/nats-api" : "/ws/nats";
33943
33969
  const u = new URL(path, apiBaseUrl);
33944
33970
  u.protocol = u.protocol === "https:" ? "wss:" : "ws:";
33945
- if (_optionalChain([options, 'optionalAccess', _794 => _794.includeAuthParam]) && _optionalChain([options, 'optionalAccess', _795 => _795.token])) {
33971
+ if (_optionalChain([options, 'optionalAccess', _796 => _796.includeAuthParam]) && _optionalChain([options, 'optionalAccess', _797 => _797.token])) {
33946
33972
  u.searchParams.set("authorization", options.token);
33947
33973
  }
33948
33974
  return u.toString();
@@ -34263,8 +34289,8 @@ var MessageSegmentAccumulator = class {
34263
34289
  type: "tool_execution",
34264
34290
  data: {
34265
34291
  ...toolData,
34266
- toolTitle: _nullishCoalesce(_nullishCoalesce(toolData.toolTitle, () => ( _optionalChain([existingExecuting, 'optionalAccess', _796 => _796.data, 'access', _797 => _797.toolTitle]))), () => ( _optionalChain([executingTool, 'optionalAccess', _798 => _798.toolTitle]))),
34267
- parameters: toolData.parameters || _optionalChain([executingTool, 'optionalAccess', _799 => _799.parameters])
34292
+ toolTitle: _nullishCoalesce(_nullishCoalesce(toolData.toolTitle, () => ( _optionalChain([existingExecuting, 'optionalAccess', _798 => _798.data, 'access', _799 => _799.toolTitle]))), () => ( _optionalChain([executingTool, 'optionalAccess', _800 => _800.toolTitle]))),
34293
+ parameters: toolData.parameters || _optionalChain([executingTool, 'optionalAccess', _801 => _801.parameters])
34268
34294
  }
34269
34295
  };
34270
34296
  if (existingIndex !== -1) {
@@ -34288,8 +34314,8 @@ var MessageSegmentAccumulator = class {
34288
34314
  if (seg.type !== "approval_batch") return seg;
34289
34315
  const hasCall = seg.data.toolCalls.some((c) => c.toolExecutionRequestId === execId);
34290
34316
  if (!hasCall) return seg;
34291
- const prev = _optionalChain([seg, 'access', _800 => _800.data, 'access', _801 => _801.executions, 'optionalAccess', _802 => _802[execId]]);
34292
- const next = toolData.type === "EXECUTED_TOOL" ? { status: "done", result: toolData.result, success: toolData.success } : { status: "executing", result: _optionalChain([prev, 'optionalAccess', _803 => _803.result]), success: _optionalChain([prev, 'optionalAccess', _804 => _804.success]) };
34317
+ const prev = _optionalChain([seg, 'access', _802 => _802.data, 'access', _803 => _803.executions, 'optionalAccess', _804 => _804[execId]]);
34318
+ const next = toolData.type === "EXECUTED_TOOL" ? { status: "done", result: toolData.result, success: toolData.success } : { status: "executing", result: _optionalChain([prev, 'optionalAccess', _805 => _805.result]), success: _optionalChain([prev, 'optionalAccess', _806 => _806.success]) };
34293
34319
  matched = true;
34294
34320
  return {
34295
34321
  ...seg,
@@ -34411,10 +34437,10 @@ var MessageSegmentAccumulator = class {
34411
34437
  const segment = {
34412
34438
  type: "approval_request",
34413
34439
  data: {
34414
- command: _optionalChain([pendingApproval, 'optionalAccess', _805 => _805.command]) || "",
34415
- explanation: _optionalChain([pendingApproval, 'optionalAccess', _806 => _806.explanation]),
34440
+ command: _optionalChain([pendingApproval, 'optionalAccess', _807 => _807.command]) || "",
34441
+ explanation: _optionalChain([pendingApproval, 'optionalAccess', _808 => _808.explanation]),
34416
34442
  requestId,
34417
- approvalType: _optionalChain([pendingApproval, 'optionalAccess', _807 => _807.approvalType]) || approvalType
34443
+ approvalType: _optionalChain([pendingApproval, 'optionalAccess', _809 => _809.approvalType]) || approvalType
34418
34444
  },
34419
34445
  status,
34420
34446
  onApprove: this.callbacks.onApprove,
@@ -34607,7 +34633,7 @@ function useRealtimeChunkProcessor(options) {
34607
34633
  if (initialState.escalatedApprovals) {
34608
34634
  pendingEscalatedRef.current = new Map(initialState.escalatedApprovals);
34609
34635
  initialState.escalatedApprovals.forEach((data, requestId) => {
34610
- _optionalChain([callbacks, 'access', _808 => _808.onEscalatedApproval, 'optionalCall', _809 => _809(requestId, data)]);
34636
+ _optionalChain([callbacks, 'access', _810 => _810.onEscalatedApproval, 'optionalCall', _811 => _811(requestId, data)]);
34611
34637
  });
34612
34638
  }
34613
34639
  hasEverStreamedRef.current = true;
@@ -34631,12 +34657,12 @@ function useRealtimeChunkProcessor(options) {
34631
34657
  if (!action) return;
34632
34658
  const accumulator = accumulatorRef.current;
34633
34659
  const streamSeq = chunk && typeof chunk === "object" && typeof chunk.streamSeq === "number" ? chunk.streamSeq : void 0;
34634
- const emitSegments = (s, meta) => _optionalChain([callbacks, 'access', _810 => _810.onSegmentsUpdate, 'optionalCall', _811 => _811(s, streamSeq != null ? { ...meta, streamSeq } : meta)]);
34660
+ const emitSegments = (s, meta) => _optionalChain([callbacks, 'access', _812 => _812.onSegmentsUpdate, 'optionalCall', _813 => _813(s, streamSeq != null ? { ...meta, streamSeq } : meta)]);
34635
34661
  if (action.action === "direct_message") sawDirectMessageRef.current = true;
34636
34662
  if ((directModeFlagRef.current || sawDirectMessageRef.current) && !DIRECT_MODE_ALLOWED.has(action.action)) {
34637
34663
  if (isInStreamRef.current) {
34638
34664
  isInStreamRef.current = false;
34639
- _optionalChain([callbacks, 'access', _812 => _812.onStreamEnd, 'optionalCall', _813 => _813()]);
34665
+ _optionalChain([callbacks, 'access', _814 => _814.onStreamEnd, 'optionalCall', _815 => _815()]);
34640
34666
  accumulator.resetSegments();
34641
34667
  }
34642
34668
  return;
@@ -34645,16 +34671,16 @@ function useRealtimeChunkProcessor(options) {
34645
34671
  case "message_start":
34646
34672
  isInStreamRef.current = true;
34647
34673
  hasEverStreamedRef.current = true;
34648
- _optionalChain([callbacks, 'access', _814 => _814.onStreamStart, 'optionalCall', _815 => _815()]);
34674
+ _optionalChain([callbacks, 'access', _816 => _816.onStreamStart, 'optionalCall', _817 => _817()]);
34649
34675
  accumulator.resetSegments();
34650
34676
  break;
34651
34677
  case "message_end":
34652
34678
  isInStreamRef.current = false;
34653
- _optionalChain([callbacks, 'access', _816 => _816.onStreamEnd, 'optionalCall', _817 => _817()]);
34679
+ _optionalChain([callbacks, 'access', _818 => _818.onStreamEnd, 'optionalCall', _819 => _819()]);
34654
34680
  accumulator.resetSegments();
34655
34681
  break;
34656
34682
  case "metadata":
34657
- _optionalChain([callbacks, 'access', _818 => _818.onMetadata, 'optionalCall', _819 => _819(action)]);
34683
+ _optionalChain([callbacks, 'access', _820 => _820.onMetadata, 'optionalCall', _821 => _821(action)]);
34658
34684
  break;
34659
34685
  case "text": {
34660
34686
  const segments = accumulator.appendText(action.text);
@@ -34697,7 +34723,7 @@ function useRealtimeChunkProcessor(options) {
34697
34723
  emitSegments(segments);
34698
34724
  } else {
34699
34725
  pendingEscalatedRef.current.set(requestId, { command, explanation, approvalType });
34700
- _optionalChain([callbacks, 'access', _820 => _820.onEscalatedApproval, 'optionalCall', _821 => _821(requestId, { command, explanation, approvalType })]);
34726
+ _optionalChain([callbacks, 'access', _822 => _822.onEscalatedApproval, 'optionalCall', _823 => _823(requestId, { command, explanation, approvalType })]);
34701
34727
  }
34702
34728
  break;
34703
34729
  }
@@ -34709,13 +34735,13 @@ function useRealtimeChunkProcessor(options) {
34709
34735
  const summary = required ? getCommandText(required) : `Batch of ${toolCalls.length} tool calls`;
34710
34736
  pendingEscalatedRef.current.set(requestId, {
34711
34737
  command: summary,
34712
- explanation: _optionalChain([required, 'optionalAccess', _822 => _822.toolExplanation]),
34738
+ explanation: _optionalChain([required, 'optionalAccess', _824 => _824.toolExplanation]),
34713
34739
  approvalType,
34714
34740
  toolCalls
34715
34741
  });
34716
- _optionalChain([callbacks, 'access', _823 => _823.onEscalatedApproval, 'optionalCall', _824 => _824(requestId, {
34742
+ _optionalChain([callbacks, 'access', _825 => _825.onEscalatedApproval, 'optionalCall', _826 => _826(requestId, {
34717
34743
  command: summary,
34718
- explanation: _optionalChain([required, 'optionalAccess', _825 => _825.toolExplanation]),
34744
+ explanation: _optionalChain([required, 'optionalAccess', _827 => _827.toolExplanation]),
34719
34745
  approvalType
34720
34746
  })]);
34721
34747
  break;
@@ -34745,7 +34771,7 @@ function useRealtimeChunkProcessor(options) {
34745
34771
  const status = approved ? "approved" : "rejected";
34746
34772
  if (escalatedData) {
34747
34773
  pendingEscalatedRef.current.delete(requestId);
34748
- _optionalChain([callbacks, 'access', _826 => _826.onEscalatedApprovalResult, 'optionalCall', _827 => _827(requestId, approved, {
34774
+ _optionalChain([callbacks, 'access', _828 => _828.onEscalatedApprovalResult, 'optionalCall', _829 => _829(requestId, approved, {
34749
34775
  command: escalatedData.command,
34750
34776
  explanation: escalatedData.explanation,
34751
34777
  approvalType: escalatedData.approvalType
@@ -34791,29 +34817,29 @@ function useRealtimeChunkProcessor(options) {
34791
34817
  emitSegments(accumulator.getSegments());
34792
34818
  }
34793
34819
  }
34794
- _optionalChain([callbacks, 'access', _828 => _828.onApprovalResolved, 'optionalCall', _829 => _829(requestId, status, approvalType, resolvedByName)]);
34820
+ _optionalChain([callbacks, 'access', _830 => _830.onApprovalResolved, 'optionalCall', _831 => _831(requestId, status, approvalType, resolvedByName)]);
34795
34821
  break;
34796
34822
  }
34797
34823
  case "error": {
34798
34824
  let message2;
34799
- if ("details" in action && _optionalChain([action, 'optionalAccess', _830 => _830.details])) {
34825
+ if ("details" in action && _optionalChain([action, 'optionalAccess', _832 => _832.details])) {
34800
34826
  try {
34801
- message2 = _optionalChain([JSON, 'access', _831 => _831.parse, 'call', _832 => _832(action.details), 'optionalAccess', _833 => _833.error, 'optionalAccess', _834 => _834.message]);
34827
+ message2 = _optionalChain([JSON, 'access', _833 => _833.parse, 'call', _834 => _834(action.details), 'optionalAccess', _835 => _835.error, 'optionalAccess', _836 => _836.message]);
34802
34828
  } catch (e32) {
34803
34829
  message2 = action.details;
34804
34830
  }
34805
34831
  }
34806
34832
  const segments = accumulator.addError(action.error, message2);
34807
34833
  emitSegments(segments);
34808
- _optionalChain([callbacks, 'access', _835 => _835.onError, 'optionalCall', _836 => _836(action.error, message2)]);
34834
+ _optionalChain([callbacks, 'access', _837 => _837.onError, 'optionalCall', _838 => _838(action.error, message2)]);
34809
34835
  break;
34810
34836
  }
34811
34837
  case "system": {
34812
- _optionalChain([callbacks, 'access', _837 => _837.onSystemMessage, 'optionalCall', _838 => _838(action.text, { streamSeq })]);
34838
+ _optionalChain([callbacks, 'access', _839 => _839.onSystemMessage, 'optionalCall', _840 => _840(action.text, { streamSeq })]);
34813
34839
  break;
34814
34840
  }
34815
34841
  case "direct_message": {
34816
- _optionalChain([callbacks, 'access', _839 => _839.onDirectMessage, 'optionalCall', _840 => _840(action.text, {
34842
+ _optionalChain([callbacks, 'access', _841 => _841.onDirectMessage, 'optionalCall', _842 => _842(action.text, {
34817
34843
  ownerType: action.ownerType,
34818
34844
  displayName: action.displayName,
34819
34845
  userId: action.userId,
@@ -34822,7 +34848,7 @@ function useRealtimeChunkProcessor(options) {
34822
34848
  break;
34823
34849
  }
34824
34850
  case "message_request":
34825
- _optionalChain([callbacks, 'access', _841 => _841.onUserMessage, 'optionalCall', _842 => _842(action.text, {
34851
+ _optionalChain([callbacks, 'access', _843 => _843.onUserMessage, 'optionalCall', _844 => _844(action.text, {
34826
34852
  ownerType: action.ownerType,
34827
34853
  displayName: action.displayName,
34828
34854
  userId: action.userId,
@@ -34830,7 +34856,7 @@ function useRealtimeChunkProcessor(options) {
34830
34856
  })]);
34831
34857
  break;
34832
34858
  case "token_usage":
34833
- _optionalChain([callbacks, 'access', _843 => _843.onTokenUsage, 'optionalCall', _844 => _844(action.data)]);
34859
+ _optionalChain([callbacks, 'access', _845 => _845.onTokenUsage, 'optionalCall', _846 => _846(action.data)]);
34834
34860
  break;
34835
34861
  case "context_compaction_start": {
34836
34862
  const standalone = !isInStreamRef.current;
@@ -34845,7 +34871,7 @@ function useRealtimeChunkProcessor(options) {
34845
34871
  break;
34846
34872
  }
34847
34873
  case "dialog_closed":
34848
- _optionalChain([callbacks, 'access', _845 => _845.onDialogClosed, 'optionalCall', _846 => _846()]);
34874
+ _optionalChain([callbacks, 'access', _847 => _847.onDialogClosed, 'optionalCall', _848 => _848()]);
34849
34875
  break;
34850
34876
  default:
34851
34877
  break;
@@ -34907,7 +34933,7 @@ function useSlashCommands(prefix, commandsUrl) {
34907
34933
  const next = await fetchSlashCommands(prefix, ctrl.signal, commandsUrl);
34908
34934
  if (!cancelled) setCommands(next);
34909
34935
  } catch (err) {
34910
- if (!cancelled && _optionalChain([err, 'optionalAccess', _847 => _847.name]) !== "AbortError") {
34936
+ if (!cancelled && _optionalChain([err, 'optionalAccess', _849 => _849.name]) !== "AbortError") {
34911
34937
  console.warn("[use-slash-commands] fetch failed:", err);
34912
34938
  }
34913
34939
  } finally {
@@ -34926,7 +34952,7 @@ function useSlashCommandRegistry(commandsUrl, options) {
34926
34952
  const query = _reactquery.useQuery.call(void 0, {
34927
34953
  queryKey: ["chat-slash-commands", commandsUrl],
34928
34954
  queryFn: ({ signal }) => fetchSlashCommands("", signal, commandsUrl),
34929
- enabled: _nullishCoalesce(_optionalChain([options, 'optionalAccess', _848 => _848.enabled]), () => ( true)),
34955
+ enabled: _nullishCoalesce(_optionalChain([options, 'optionalAccess', _850 => _850.enabled]), () => ( true)),
34930
34956
  staleTime: Infinity,
34931
34957
  gcTime: Infinity
34932
34958
  });
@@ -34956,13 +34982,13 @@ async function fetchEmptyStateConfig(signal, emptyStateUrl) {
34956
34982
  }
34957
34983
  const data = await res.json();
34958
34984
  return {
34959
- greeting: _nullishCoalesce(_optionalChain([data, 'optionalAccess', _849 => _849.greeting]), () => ( null)),
34960
- enabledRagTableIds: _nullishCoalesce(_optionalChain([data, 'optionalAccess', _850 => _850.enabledRagTableIds]), () => ( [])),
34961
- suggestedQueries: _nullishCoalesce(_optionalChain([data, 'optionalAccess', _851 => _851.suggestedQueries]), () => ( []))
34985
+ greeting: _nullishCoalesce(_optionalChain([data, 'optionalAccess', _851 => _851.greeting]), () => ( null)),
34986
+ enabledRagTableIds: _nullishCoalesce(_optionalChain([data, 'optionalAccess', _852 => _852.enabledRagTableIds]), () => ( [])),
34987
+ suggestedQueries: _nullishCoalesce(_optionalChain([data, 'optionalAccess', _853 => _853.suggestedQueries]), () => ( []))
34962
34988
  };
34963
34989
  }
34964
34990
  function useEmptyStateConfig(emptyStateUrl, options) {
34965
- const enabled = (_nullishCoalesce(_optionalChain([options, 'optionalAccess', _852 => _852.enabled]), () => ( true))) && !!emptyStateUrl;
34991
+ const enabled = (_nullishCoalesce(_optionalChain([options, 'optionalAccess', _854 => _854.enabled]), () => ( true))) && !!emptyStateUrl;
34966
34992
  const query = _reactquery.useQuery.call(void 0, {
34967
34993
  queryKey: ["chat-empty-state", emptyStateUrl],
34968
34994
  queryFn: ({ signal }) => fetchEmptyStateConfig(signal, emptyStateUrl),
@@ -34987,7 +35013,7 @@ var CHAT_ATTACHMENT_MAX_SIZE_BYTES = 25 * 1024 * 1024;
34987
35013
  var STORAGE_CACHE_CONTROL_IMMUTABLE = "public, max-age=31536000, immutable";
34988
35014
  function uploadWithProgress(url, file, token, onProgress, signal) {
34989
35015
  return new Promise((resolve, reject) => {
34990
- if (_optionalChain([signal, 'optionalAccess', _853 => _853.aborted])) {
35016
+ if (_optionalChain([signal, 'optionalAccess', _855 => _855.aborted])) {
34991
35017
  reject(new Error("Upload cancelled"));
34992
35018
  return;
34993
35019
  }
@@ -35001,7 +35027,7 @@ function uploadWithProgress(url, file, token, onProgress, signal) {
35001
35027
  xhr.removeEventListener("error", handleError);
35002
35028
  xhr.removeEventListener("abort", handleAbort);
35003
35029
  xhr.removeEventListener("timeout", handleTimeout);
35004
- _optionalChain([signal, 'optionalAccess', _854 => _854.removeEventListener, 'call', _855 => _855("abort", handleSignalAbort)]);
35030
+ _optionalChain([signal, 'optionalAccess', _856 => _856.removeEventListener, 'call', _857 => _857("abort", handleSignalAbort)]);
35005
35031
  if (xhr.readyState !== XMLHttpRequest.DONE) xhr.abort();
35006
35032
  };
35007
35033
  const handleProgress = (event) => {
@@ -35037,7 +35063,7 @@ function uploadWithProgress(url, file, token, onProgress, signal) {
35037
35063
  const handleSignalAbort = () => {
35038
35064
  xhr.abort();
35039
35065
  };
35040
- _optionalChain([signal, 'optionalAccess', _856 => _856.addEventListener, 'call', _857 => _857("abort", handleSignalAbort, { once: true })]);
35066
+ _optionalChain([signal, 'optionalAccess', _858 => _858.addEventListener, 'call', _859 => _859("abort", handleSignalAbort, { once: true })]);
35041
35067
  xhr.upload.addEventListener("progress", handleProgress);
35042
35068
  xhr.addEventListener("load", handleLoad);
35043
35069
  xhr.addEventListener("error", handleError);
@@ -35081,12 +35107,12 @@ function useChatAttachments() {
35081
35107
  try {
35082
35108
  sniffed = await _filetype.fileTypeFromBlob.call(void 0, att.file);
35083
35109
  } catch (err) {
35084
- if (_optionalChain([ctrl, 'optionalAccess', _858 => _858.signal, 'access', _859 => _859.aborted])) return;
35110
+ if (_optionalChain([ctrl, 'optionalAccess', _860 => _860.signal, 'access', _861 => _861.aborted])) return;
35085
35111
  throw new Error(
35086
35112
  `Could not read file content: ${err instanceof Error ? err.message : String(err)}`
35087
35113
  );
35088
35114
  }
35089
- if (_optionalChain([ctrl, 'optionalAccess', _860 => _860.signal, 'access', _861 => _861.aborted])) return;
35115
+ if (_optionalChain([ctrl, 'optionalAccess', _862 => _862.signal, 'access', _863 => _863.aborted])) return;
35090
35116
  if (!sniffed) {
35091
35117
  throw new Error("Unrecognized file format");
35092
35118
  }
@@ -35100,7 +35126,7 @@ function useChatAttachments() {
35100
35126
  const urlResp = await _chunkYETA25JWcjs.embedAuthedFetch.call(void 0, uploadUrlEndpoint, {
35101
35127
  method: "POST",
35102
35128
  headers: { "Content-Type": "application/json" },
35103
- signal: _optionalChain([ctrl, 'optionalAccess', _862 => _862.signal]),
35129
+ signal: _optionalChain([ctrl, 'optionalAccess', _864 => _864.signal]),
35104
35130
  body: JSON.stringify({
35105
35131
  fileName: att.file.name,
35106
35132
  // Pass the SNIFFED MIME (not `file.type`, which can be a
@@ -35126,9 +35152,9 @@ function useChatAttachments() {
35126
35152
  (pct) => {
35127
35153
  updateOne(att.id, { progress: pct });
35128
35154
  },
35129
- _optionalChain([ctrl, 'optionalAccess', _863 => _863.signal])
35155
+ _optionalChain([ctrl, 'optionalAccess', _865 => _865.signal])
35130
35156
  );
35131
- if (_optionalChain([ctrl, 'optionalAccess', _864 => _864.signal, 'access', _865 => _865.aborted])) return;
35157
+ if (_optionalChain([ctrl, 'optionalAccess', _866 => _866.signal, 'access', _867 => _867.aborted])) return;
35132
35158
  updateOne(att.id, {
35133
35159
  status: "ready",
35134
35160
  progress: 100,
@@ -35136,7 +35162,7 @@ function useChatAttachments() {
35136
35162
  viewToken: mintData.viewToken
35137
35163
  });
35138
35164
  } catch (err) {
35139
- if (_optionalChain([ctrl, 'optionalAccess', _866 => _866.signal, 'access', _867 => _867.aborted])) return;
35165
+ if (_optionalChain([ctrl, 'optionalAccess', _868 => _868.signal, 'access', _869 => _869.aborted])) return;
35140
35166
  const message2 = err instanceof Error ? err.message : String(err);
35141
35167
  updateOne(att.id, { status: "error", progress: 0, errorMessage: message2 });
35142
35168
  } finally {
@@ -35287,7 +35313,7 @@ var ANON_DEFAULTS = {
35287
35313
  function useResolveChatIdentity(enabled) {
35288
35314
  const runtime = _chunkAQOWFSMBcjs.useRequiredChatRuntime.call(void 0, );
35289
35315
  const url = runtime.endpoints.identityUrl;
35290
- const proxyEmail = _nullishCoalesce(_optionalChain([_chunkYETA25JWcjs.getEmbedProxyAuth.call(void 0, ), 'optionalAccess', _868 => _868.email]), () => ( null));
35316
+ const proxyEmail = _nullishCoalesce(_optionalChain([_chunkYETA25JWcjs.getEmbedProxyAuth.call(void 0, ), 'optionalAccess', _870 => _870.email]), () => ( null));
35291
35317
  const [data, setData] = _react.useState.call(void 0, ANON_DEFAULTS);
35292
35318
  const [isLoading, setIsLoading] = _react.useState.call(void 0, enabled);
35293
35319
  _react.useEffect.call(void 0, () => {
@@ -35375,7 +35401,7 @@ function useSSE({ useMock = true, debugMode = false, streamFn } = {}) {
35375
35401
  yield chunk;
35376
35402
  }
35377
35403
  } catch (err) {
35378
- if (_optionalChain([err, 'optionalAccess', _869 => _869.name]) === "AbortError" || ctrl.signal.aborted) {
35404
+ if (_optionalChain([err, 'optionalAccess', _871 => _871.name]) === "AbortError" || ctrl.signal.aborted) {
35379
35405
  return;
35380
35406
  }
35381
35407
  const errorMessage = err instanceof Error ? err.message : "An error occurred";
@@ -35426,7 +35452,7 @@ function useChat({
35426
35452
  const onMessagesChangeRef = _react.useRef.call(void 0, onMessagesChange);
35427
35453
  onMessagesChangeRef.current = onMessagesChange;
35428
35454
  _react.useEffect.call(void 0, () => {
35429
- _optionalChain([onMessagesChangeRef, 'access', _870 => _870.current, 'optionalCall', _871 => _871(messages)]);
35455
+ _optionalChain([onMessagesChangeRef, 'access', _872 => _872.current, 'optionalCall', _873 => _873(messages)]);
35430
35456
  }, [messages]);
35431
35457
  const {
35432
35458
  streamMessage,
@@ -35463,7 +35489,7 @@ function useChat({
35463
35489
  name: "You",
35464
35490
  content: text,
35465
35491
  timestamp: /* @__PURE__ */ new Date(),
35466
- ..._optionalChain([options, 'optionalAccess', _872 => _872.hidden]) ? { hidden: true } : {}
35492
+ ..._optionalChain([options, 'optionalAccess', _874 => _874.hidden]) ? { hidden: true } : {}
35467
35493
  };
35468
35494
  addMessage(userMessage);
35469
35495
  setIsTyping(true);
@@ -35525,7 +35551,7 @@ function useChat({
35525
35551
  currentTextSegment = "";
35526
35552
  }
35527
35553
  const seg = segment;
35528
- const proposalId = _optionalChain([seg, 'access', _873 => _873.data, 'optionalAccess', _874 => _874.requestId]);
35554
+ const proposalId = _optionalChain([seg, 'access', _875 => _875.data, 'optionalAccess', _876 => _876.requestId]);
35529
35555
  const updateApprovalMessage = (transform) => {
35530
35556
  setMessages((prev) => {
35531
35557
  for (let i = prev.length - 1; i >= 0; i--) {
@@ -35534,7 +35560,7 @@ function useChat({
35534
35560
  if (!Array.isArray(m.content)) continue;
35535
35561
  const segments = m.content;
35536
35562
  const hasMatch = segments.some(
35537
- (s) => s.type === "approval_request" && _optionalChain([s, 'access', _875 => _875.data, 'optionalAccess', _876 => _876.requestId]) === proposalId
35563
+ (s) => s.type === "approval_request" && _optionalChain([s, 'access', _877 => _877.data, 'optionalAccess', _878 => _878.requestId]) === proposalId
35538
35564
  );
35539
35565
  if (!hasMatch) continue;
35540
35566
  const next = [...prev];
@@ -35576,11 +35602,11 @@ function useChat({
35576
35602
  if (!Array.isArray(m.content)) continue;
35577
35603
  const segments = m.content;
35578
35604
  const hasMatch = segments.some(
35579
- (s) => s.type === "approval_request" && _optionalChain([s, 'access', _877 => _877.data, 'optionalAccess', _878 => _878.requestId]) === decision.proposalId
35605
+ (s) => s.type === "approval_request" && _optionalChain([s, 'access', _879 => _879.data, 'optionalAccess', _880 => _880.requestId]) === decision.proposalId
35580
35606
  );
35581
35607
  if (!hasMatch) continue;
35582
35608
  const flipped = segments.map(
35583
- (s) => s.type === "approval_request" && _optionalChain([s, 'access', _879 => _879.data, 'optionalAccess', _880 => _880.requestId]) === decision.proposalId ? { ...s, status: decision.action } : s
35609
+ (s) => s.type === "approval_request" && _optionalChain([s, 'access', _881 => _881.data, 'optionalAccess', _882 => _882.requestId]) === decision.proposalId ? { ...s, status: decision.action } : s
35584
35610
  );
35585
35611
  const next = [...prev];
35586
35612
  next[i] = { ...m, content: flipped };
@@ -35742,8 +35768,8 @@ function createDocStreamFn(source, endpoints, messagesRef, sourcesMapRef, refsMa
35742
35768
  })),
35743
35769
  { role: "user", content: message2 }
35744
35770
  ];
35745
- const targetPath = _optionalChain([extra, 'optionalAccess', _881 => _881.approvalAction]) ? endpoints.approvalToolUrl : endpoints.chatStreamUrl;
35746
- const requestBody = _optionalChain([extra, 'optionalAccess', _882 => _882.approvalAction]) ? {
35771
+ const targetPath = _optionalChain([extra, 'optionalAccess', _883 => _883.approvalAction]) ? endpoints.approvalToolUrl : endpoints.chatStreamUrl;
35772
+ const requestBody = _optionalChain([extra, 'optionalAccess', _884 => _884.approvalAction]) ? {
35747
35773
  proposal_id: extra.approvalAction.proposalId,
35748
35774
  action: extra.approvalAction.action,
35749
35775
  messages: currentMessages.filter((m) => (m.role === "user" || m.role === "assistant") && !m.hidden).map((m) => ({
@@ -35752,8 +35778,8 @@ function createDocStreamFn(source, endpoints, messagesRef, sourcesMapRef, refsMa
35752
35778
  }))
35753
35779
  } : {
35754
35780
  messages: apiMessages,
35755
- ..._optionalChain([extra, 'optionalAccess', _883 => _883.commandOverride]) ? { commandOverride: extra.commandOverride } : {},
35756
- ..._optionalChain([extra, 'optionalAccess', _884 => _884.pendingAttachments]) && extra.pendingAttachments.length > 0 ? { pendingAttachments: extra.pendingAttachments } : {}
35781
+ ..._optionalChain([extra, 'optionalAccess', _885 => _885.commandOverride]) ? { commandOverride: extra.commandOverride } : {},
35782
+ ..._optionalChain([extra, 'optionalAccess', _886 => _886.pendingAttachments]) && extra.pendingAttachments.length > 0 ? { pendingAttachments: extra.pendingAttachments } : {}
35757
35783
  };
35758
35784
  const response = await _chunkYETA25JWcjs.embedAuthedFetch.call(void 0, targetPath, {
35759
35785
  method: "POST",
@@ -35763,7 +35789,7 @@ function createDocStreamFn(source, endpoints, messagesRef, sourcesMapRef, refsMa
35763
35789
  if (!response.ok) {
35764
35790
  throw new Error(`Chat request failed: ${response.status}`);
35765
35791
  }
35766
- const reader = _optionalChain([response, 'access', _885 => _885.body, 'optionalAccess', _886 => _886.getReader, 'call', _887 => _887()]);
35792
+ const reader = _optionalChain([response, 'access', _887 => _887.body, 'optionalAccess', _888 => _888.getReader, 'call', _889 => _889()]);
35767
35793
  if (!reader) throw new Error("No response body");
35768
35794
  const decoder = new TextDecoder();
35769
35795
  let buffer = "";
@@ -35846,7 +35872,7 @@ function createDocStreamFn(source, endpoints, messagesRef, sourcesMapRef, refsMa
35846
35872
  const toolName = typeof meta.tool_name === "string" ? meta.tool_name : void 0;
35847
35873
  const result = _nullishCoalesce(meta.result, () => ( null));
35848
35874
  const card = _nullishCoalesce(meta.card, () => ( null));
35849
- if (_optionalChain([card, 'optionalAccess', _888 => _888.ref, 'optionalAccess', _889 => _889.id]) && _optionalChain([card, 'optionalAccess', _890 => _890.type])) {
35875
+ if (_optionalChain([card, 'optionalAccess', _890 => _890.ref, 'optionalAccess', _891 => _891.id]) && _optionalChain([card, 'optionalAccess', _892 => _892.type])) {
35850
35876
  const existing = _nullishCoalesce(refsMapRef.current.get(sendIdx), () => ( {}));
35851
35877
  const key = buildChatRefKey(card.type, card.ref.id);
35852
35878
  refsMapRef.current.set(sendIdx, { ...existing, [key]: card.ref });
@@ -35859,8 +35885,8 @@ function createDocStreamFn(source, endpoints, messagesRef, sourcesMapRef, refsMa
35859
35885
  willAutoContinue: meta.willAutoContinue === true,
35860
35886
  ...toolName ? { toolName } : {},
35861
35887
  ...result ? { result } : {},
35862
- ..._optionalChain([card, 'optionalAccess', _891 => _891.marker]) ? { marker: card.marker } : {},
35863
- ..._optionalChain([card, 'optionalAccess', _892 => _892.ref]) ? { cardRef: card.ref } : {},
35888
+ ..._optionalChain([card, 'optionalAccess', _893 => _893.marker]) ? { marker: card.marker } : {},
35889
+ ..._optionalChain([card, 'optionalAccess', _894 => _894.ref]) ? { cardRef: card.ref } : {},
35864
35890
  ...typeof meta.receiptText === "string" ? { receiptText: meta.receiptText } : {},
35865
35891
  proposalId: typeof meta.proposalId === "string" ? meta.proposalId : void 0
35866
35892
  };
@@ -35979,7 +36005,7 @@ var DEFAULT_CHAT_SOURCE = "embed";
35979
36005
  var chatStorageKey = (source) => {
35980
36006
  const base = `mingo-chat-${source}-v${CHAT_STORAGE_VERSION}`;
35981
36007
  const auth = _chunkYETA25JWcjs.getEmbedProxyAuth.call(void 0, );
35982
- if (_optionalChain([auth, 'optionalAccess', _893 => _893.email])) {
36008
+ if (_optionalChain([auth, 'optionalAccess', _895 => _895.email])) {
35983
36009
  return `${base}-u-${encodeURIComponent(auth.email.toLowerCase())}`;
35984
36010
  }
35985
36011
  return base;
@@ -36034,7 +36060,7 @@ function useSseChatAdapter(options, runtimeOptions = {}) {
36034
36060
  const { active = true } = runtimeOptions;
36035
36061
  const runtime = _chunkAQOWFSMBcjs.useRequiredChatRuntime.call(void 0, );
36036
36062
  const source = runtime.source || DEFAULT_CHAT_SOURCE;
36037
- const tableIdForDocumentType = _nullishCoalesce(_optionalChain([options, 'optionalAccess', _894 => _894.tableIdForDocumentType]), () => ( _chunkY4JNA4W6cjs.defaultTableIdForDocumentType));
36063
+ const tableIdForDocumentType = _nullishCoalesce(_optionalChain([options, 'optionalAccess', _896 => _896.tableIdForDocumentType]), () => ( _chunkY4JNA4W6cjs.defaultTableIdForDocumentType));
36038
36064
  const persistedRef = _react.useRef.call(void 0, null);
36039
36065
  if (persistedRef.current === null) {
36040
36066
  pruneStaleChatStorage(source);
@@ -36139,7 +36165,7 @@ function useSseChatAdapter(options, runtimeOptions = {}) {
36139
36165
  const lookupIdx = sendIdx >= 0 ? sendIdx : 0;
36140
36166
  sources = sourcesMapRef.current.get(lookupIdx);
36141
36167
  chatRefs = _nullishCoalesce(m.chatRefs, () => ( refsMapRef.current.get(lookupIdx)));
36142
- scrollAnchor = _nullishCoalesce(_optionalChain([metaMapRef, 'access', _895 => _895.current, 'access', _896 => _896.get, 'call', _897 => _897(lookupIdx), 'optionalAccess', _898 => _898.scrollAnchor]), () => ( void 0));
36168
+ scrollAnchor = _nullishCoalesce(_optionalChain([metaMapRef, 'access', _897 => _897.current, 'access', _898 => _898.get, 'call', _899 => _899(lookupIdx), 'optionalAccess', _900 => _900.scrollAnchor]), () => ( void 0));
36143
36169
  }
36144
36170
  return {
36145
36171
  id: m.id,
@@ -36187,7 +36213,7 @@ function useSseChatAdapter(options, runtimeOptions = {}) {
36187
36213
  );
36188
36214
  return;
36189
36215
  }
36190
- const refSlug = typeof _optionalChain([reference, 'access', _899 => _899.metadata, 'optionalAccess', _900 => _900.slug]) === "string" && reference.metadata.slug.length > 0 ? reference.metadata.slug : "";
36216
+ const refSlug = typeof _optionalChain([reference, 'access', _901 => _901.metadata, 'optionalAccess', _902 => _902.slug]) === "string" && reference.metadata.slug.length > 0 ? reference.metadata.slug : "";
36191
36217
  const queryValue = refSlug || _chunkD6RK5YXXcjs.sanitizeTitleForChat.call(void 0, reference.title) || reference.id;
36192
36218
  const escaped = queryValue.replace(/\\/g, "\\\\").replace(/"/g, '\\"');
36193
36219
  const text = `/${cmdId} display "${escaped}"`;
@@ -36259,18 +36285,18 @@ function useSseChatAdapter(options, runtimeOptions = {}) {
36259
36285
  clearMessages,
36260
36286
  streamingPhase,
36261
36287
  /** Provider key for the lib's `<ModelDisplay>` icon. */
36262
- currentProvider: _nullishCoalesce(_optionalChain([latestMeta, 'optionalAccess', _901 => _901.provider]), () => ( null)),
36263
- currentModelLabel: _nullishCoalesce(_optionalChain([latestMeta, 'optionalAccess', _902 => _902.modelLabel]), () => ( null)),
36264
- currentContextWindowMaxTokens: _nullishCoalesce(_optionalChain([latestMeta, 'optionalAccess', _903 => _903.contextWindowMaxTokens]), () => ( null)),
36288
+ currentProvider: _nullishCoalesce(_optionalChain([latestMeta, 'optionalAccess', _903 => _903.provider]), () => ( null)),
36289
+ currentModelLabel: _nullishCoalesce(_optionalChain([latestMeta, 'optionalAccess', _904 => _904.modelLabel]), () => ( null)),
36290
+ currentContextWindowMaxTokens: _nullishCoalesce(_optionalChain([latestMeta, 'optionalAccess', _905 => _905.contextWindowMaxTokens]), () => ( null)),
36265
36291
  /** Input tokens (known after server's message_start frame; null until). */
36266
- currentInputTokens: _nullishCoalesce(_optionalChain([latestMeta, 'optionalAccess', _904 => _904.inputTokens]), () => ( null)),
36292
+ currentInputTokens: _nullishCoalesce(_optionalChain([latestMeta, 'optionalAccess', _906 => _906.inputTokens]), () => ( null)),
36267
36293
  /** Output tokens (known only after server's trailing usage frame). */
36268
- currentOutputTokens: _nullishCoalesce(_optionalChain([latestMeta, 'optionalAccess', _905 => _905.outputTokens]), () => ( null)),
36294
+ currentOutputTokens: _nullishCoalesce(_optionalChain([latestMeta, 'optionalAccess', _907 => _907.outputTokens]), () => ( null)),
36269
36295
  /** Cache hit % (read / total-input × 100). null during streaming. */
36270
- currentCacheHitRatePct: _nullishCoalesce(_optionalChain([latestMeta, 'optionalAccess', _906 => _906.cacheHitRatePct]), () => ( null)),
36296
+ currentCacheHitRatePct: _nullishCoalesce(_optionalChain([latestMeta, 'optionalAccess', _908 => _908.cacheHitRatePct]), () => ( null)),
36271
36297
  /** Cross-call usage breakdown (Haiku rewriter/classifier/summarizer
36272
36298
  * token counts). null until the trailing usage frame lands. */
36273
- currentUsageBreakdown: _nullishCoalesce(_optionalChain([latestMeta, 'optionalAccess', _907 => _907.breakdown]), () => ( null)),
36299
+ currentUsageBreakdown: _nullishCoalesce(_optionalChain([latestMeta, 'optionalAccess', _909 => _909.breakdown]), () => ( null)),
36274
36300
  // ─── Dialog management — stubs for v1 ────────────────────────────────
36275
36301
  // Guide mode currently keeps its history in `localStorage` opaquely
36276
36302
  // under the hood (`runtime.source` namespaced key). Surfacing that
@@ -36328,15 +36354,15 @@ var noopRejectRequest = async (_id, _reason) => {
36328
36354
 
36329
36355
  // src/components/chat/utils/process-historical-messages.ts
36330
36356
  function getOwnerDisplayName(owner) {
36331
- if (_optionalChain([owner, 'optionalAccess', _908 => _908.type]) === OWNER_TYPE.ADMIN && owner.user) {
36357
+ if (_optionalChain([owner, 'optionalAccess', _910 => _910.type]) === OWNER_TYPE.ADMIN && owner.user) {
36332
36358
  const { firstName, lastName } = owner.user;
36333
36359
  const name = [firstName, lastName].filter(Boolean).join(" ");
36334
36360
  if (name) return name;
36335
36361
  }
36336
- return _optionalChain([owner, 'optionalAccess', _909 => _909.type]) === OWNER_TYPE.ADMIN ? "Admin" : "You";
36362
+ return _optionalChain([owner, 'optionalAccess', _911 => _911.type]) === OWNER_TYPE.ADMIN ? "Admin" : "You";
36337
36363
  }
36338
36364
  function getOwnerAvatar(owner) {
36339
- return _nullishCoalesce(_optionalChain([owner, 'optionalAccess', _910 => _910.user, 'optionalAccess', _911 => _911.image, 'optionalAccess', _912 => _912.imageUrl]), () => ( void 0));
36365
+ return _nullishCoalesce(_optionalChain([owner, 'optionalAccess', _912 => _912.user, 'optionalAccess', _913 => _913.image, 'optionalAccess', _914 => _914.imageUrl]), () => ( void 0));
36340
36366
  }
36341
36367
  function pushStandaloneMessages(processedMessages, msg, messageDataArray) {
36342
36368
  messageDataArray.forEach((data) => {
@@ -36399,10 +36425,10 @@ function processHistoricalMessages(messages, options = {}) {
36399
36425
  pushStandaloneMessages(processedMessages, msg, messageDataArray);
36400
36426
  return;
36401
36427
  }
36402
- const isUserMessage = _optionalChain([msg, 'access', _913 => _913.owner, 'optionalAccess', _914 => _914.type]) === OWNER_TYPE.CLIENT || _optionalChain([msg, 'access', _915 => _915.owner, 'optionalAccess', _916 => _916.type]) === OWNER_TYPE.ADMIN;
36428
+ const isUserMessage = _optionalChain([msg, 'access', _915 => _915.owner, 'optionalAccess', _916 => _916.type]) === OWNER_TYPE.CLIENT || _optionalChain([msg, 'access', _917 => _917.owner, 'optionalAccess', _918 => _918.type]) === OWNER_TYPE.ADMIN;
36403
36429
  if (isUserMessage) {
36404
36430
  flushAssistantMessage();
36405
- const userAuthorType = _optionalChain([msg, 'access', _917 => _917.owner, 'optionalAccess', _918 => _918.type]) === OWNER_TYPE.ADMIN ? "admin" : "user";
36431
+ const userAuthorType = _optionalChain([msg, 'access', _919 => _919.owner, 'optionalAccess', _920 => _920.type]) === OWNER_TYPE.ADMIN ? "admin" : "user";
36406
36432
  messageDataArray.forEach((data) => {
36407
36433
  if (data.type === _chunkD6RK5YXXcjs.MESSAGE_TYPE.TEXT && "text" in data && data.text) {
36408
36434
  processedMessages.push({
@@ -36427,7 +36453,7 @@ function processHistoricalMessages(messages, options = {}) {
36427
36453
  });
36428
36454
  const nextMsg = messages[index + 1];
36429
36455
  const isLastMessage = index === messages.length - 1;
36430
- const nextIsFromUser = nextMsg && (_optionalChain([nextMsg, 'access', _919 => _919.owner, 'optionalAccess', _920 => _920.type]) === OWNER_TYPE.CLIENT || _optionalChain([nextMsg, 'access', _921 => _921.owner, 'optionalAccess', _922 => _922.type]) === OWNER_TYPE.ADMIN);
36456
+ const nextIsFromUser = nextMsg && (_optionalChain([nextMsg, 'access', _921 => _921.owner, 'optionalAccess', _922 => _922.type]) === OWNER_TYPE.CLIENT || _optionalChain([nextMsg, 'access', _923 => _923.owner, 'optionalAccess', _924 => _924.type]) === OWNER_TYPE.ADMIN);
36431
36457
  if (isLastMessage || nextIsFromUser) {
36432
36458
  flushAssistantMessage();
36433
36459
  }
@@ -36537,7 +36563,7 @@ function processMessageData(data, accumulator, approvalStatuses, options = {}, e
36537
36563
  }
36538
36564
  }
36539
36565
  } else {
36540
- _optionalChain([escalatedApprovals, 'optionalAccess', _923 => _923.set, 'call', _924 => _924(data.approvalRequestId, {
36566
+ _optionalChain([escalatedApprovals, 'optionalAccess', _925 => _925.set, 'call', _926 => _926(data.approvalRequestId, {
36541
36567
  command: data.command || "",
36542
36568
  explanation: data.explanation,
36543
36569
  approvalType,
@@ -36551,8 +36577,8 @@ function processMessageData(data, accumulator, approvalStatuses, options = {}, e
36551
36577
  const existingStatus = approvalStatuses[data.approvalRequestId];
36552
36578
  const status = existingStatus || (data.approved ? "approved" : "rejected");
36553
36579
  const resolvedByName = "resolvedByName" in data ? data.resolvedByName : void 0;
36554
- const escalatedData = _optionalChain([escalatedApprovals, 'optionalAccess', _925 => _925.get, 'call', _926 => _926(data.approvalRequestId)]);
36555
- if (_optionalChain([escalatedData, 'optionalAccess', _927 => _927.toolCalls]) && escalatedData.toolCalls.length > 0) {
36580
+ const escalatedData = _optionalChain([escalatedApprovals, 'optionalAccess', _927 => _927.get, 'call', _928 => _928(data.approvalRequestId)]);
36581
+ if (_optionalChain([escalatedData, 'optionalAccess', _929 => _929.toolCalls]) && escalatedData.toolCalls.length > 0) {
36556
36582
  if (batchApprovalsEnabled) {
36557
36583
  accumulator.addApprovalBatch(
36558
36584
  data.approvalRequestId,
@@ -36574,7 +36600,7 @@ function processMessageData(data, accumulator, approvalStatuses, options = {}, e
36574
36600
  );
36575
36601
  }
36576
36602
  }
36577
- _optionalChain([escalatedApprovals, 'optionalAccess', _928 => _928.delete, 'call', _929 => _929(data.approvalRequestId)]);
36603
+ _optionalChain([escalatedApprovals, 'optionalAccess', _930 => _930.delete, 'call', _931 => _931(data.approvalRequestId)]);
36578
36604
  break;
36579
36605
  }
36580
36606
  if (escalatedData) {
@@ -36583,7 +36609,7 @@ function processMessageData(data, accumulator, approvalStatuses, options = {}, e
36583
36609
  explanation: escalatedData.explanation,
36584
36610
  approvalType: escalatedData.approvalType
36585
36611
  });
36586
- _optionalChain([escalatedApprovals, 'optionalAccess', _930 => _930.delete, 'call', _931 => _931(data.approvalRequestId)]);
36612
+ _optionalChain([escalatedApprovals, 'optionalAccess', _932 => _932.delete, 'call', _933 => _933(data.approvalRequestId)]);
36587
36613
  }
36588
36614
  const before = accumulator.getSegments();
36589
36615
  const after = accumulator.updateApprovalStatus(data.approvalRequestId, status, resolvedByName);
@@ -36599,9 +36625,9 @@ function processMessageData(data, accumulator, approvalStatuses, options = {}, e
36599
36625
  case _chunkD6RK5YXXcjs.MESSAGE_TYPE.ERROR:
36600
36626
  if ("error" in data) {
36601
36627
  let message2;
36602
- if ("details" in data && _optionalChain([data, 'optionalAccess', _932 => _932.details])) {
36628
+ if ("details" in data && _optionalChain([data, 'optionalAccess', _934 => _934.details])) {
36603
36629
  try {
36604
- message2 = _optionalChain([JSON, 'access', _933 => _933.parse, 'call', _934 => _934(data.details), 'optionalAccess', _935 => _935.error, 'optionalAccess', _936 => _936.message]);
36630
+ message2 = _optionalChain([JSON, 'access', _935 => _935.parse, 'call', _936 => _936(data.details), 'optionalAccess', _937 => _937.error, 'optionalAccess', _938 => _938.message]);
36605
36631
  } catch (e39) {
36606
36632
  message2 = data.details;
36607
36633
  }
@@ -36684,10 +36710,10 @@ function processHistoricalMessagesWithErrors(messages, options = {}) {
36684
36710
  pushStandaloneMessages(processedMessages, msg, messageDataArray);
36685
36711
  return;
36686
36712
  }
36687
- const isUserMessage = _optionalChain([msg, 'access', _937 => _937.owner, 'optionalAccess', _938 => _938.type]) === OWNER_TYPE.CLIENT || _optionalChain([msg, 'access', _939 => _939.owner, 'optionalAccess', _940 => _940.type]) === OWNER_TYPE.ADMIN;
36713
+ const isUserMessage = _optionalChain([msg, 'access', _939 => _939.owner, 'optionalAccess', _940 => _940.type]) === OWNER_TYPE.CLIENT || _optionalChain([msg, 'access', _941 => _941.owner, 'optionalAccess', _942 => _942.type]) === OWNER_TYPE.ADMIN;
36688
36714
  if (isUserMessage) {
36689
36715
  flushAssistantMessage();
36690
- const userAuthorType = _optionalChain([msg, 'access', _941 => _941.owner, 'optionalAccess', _942 => _942.type]) === OWNER_TYPE.ADMIN ? "admin" : "user";
36716
+ const userAuthorType = _optionalChain([msg, 'access', _943 => _943.owner, 'optionalAccess', _944 => _944.type]) === OWNER_TYPE.ADMIN ? "admin" : "user";
36691
36717
  messageDataArray.forEach((data) => {
36692
36718
  if (data.type === _chunkD6RK5YXXcjs.MESSAGE_TYPE.TEXT && "text" in data && data.text) {
36693
36719
  processedMessages.push({
@@ -36712,7 +36738,7 @@ function processHistoricalMessagesWithErrors(messages, options = {}) {
36712
36738
  });
36713
36739
  const nextMsg = messages[index + 1];
36714
36740
  const isLastMessage = index === messages.length - 1;
36715
- const nextIsFromUser = nextMsg && (_optionalChain([nextMsg, 'access', _943 => _943.owner, 'optionalAccess', _944 => _944.type]) === OWNER_TYPE.CLIENT || _optionalChain([nextMsg, 'access', _945 => _945.owner, 'optionalAccess', _946 => _946.type]) === OWNER_TYPE.ADMIN);
36741
+ const nextIsFromUser = nextMsg && (_optionalChain([nextMsg, 'access', _945 => _945.owner, 'optionalAccess', _946 => _946.type]) === OWNER_TYPE.CLIENT || _optionalChain([nextMsg, 'access', _947 => _947.owner, 'optionalAccess', _948 => _948.type]) === OWNER_TYPE.ADMIN);
36716
36742
  if (isLastMessage || nextIsFromUser) {
36717
36743
  flushAssistantMessage();
36718
36744
  }
@@ -37050,7 +37076,7 @@ function useNatsChatAdapter(config, options = {}) {
37050
37076
  }, [active, fetchDialogs, loadDialogsPage]);
37051
37077
  const sendMessage = _react.useCallback.call(void 0,
37052
37078
  async (text, sendOptions) => {
37053
- const hidden = _nullishCoalesce(_optionalChain([sendOptions, 'optionalAccess', _947 => _947.hidden]), () => ( false));
37079
+ const hidden = _nullishCoalesce(_optionalChain([sendOptions, 'optionalAccess', _949 => _949.hidden]), () => ( false));
37054
37080
  setMessages((prev) => [
37055
37081
  ...prev,
37056
37082
  {
@@ -37214,11 +37240,11 @@ function useNatsChatAdapter(config, options = {}) {
37214
37240
  // Tokens: live `token_usage` frame / dialog snapshot (`dialogTokenUsage`).
37215
37241
  // contextWindow uses the dialog's `contextSize` (the "X / Y" denominator,
37216
37242
  // matching the /mingo page). cacheHitRate/breakdown are SSE-only → null.
37217
- currentProvider: _nullishCoalesce(_nullishCoalesce(_optionalChain([liveModel, 'optionalAccess', _948 => _948.provider]), () => ( modelProvider)), () => ( null)),
37218
- currentModelLabel: _nullishCoalesce(_nullishCoalesce(_optionalChain([liveModel, 'optionalAccess', _949 => _949.modelLabel]), () => ( modelLabel)), () => ( null)),
37219
- currentContextWindowMaxTokens: _nullishCoalesce(_nullishCoalesce(_optionalChain([dialogTokenUsage, 'optionalAccess', _950 => _950.contextSize]), () => ( _optionalChain([liveModel, 'optionalAccess', _951 => _951.contextWindowMaxTokens]))), () => ( null)),
37220
- currentInputTokens: _nullishCoalesce(_optionalChain([dialogTokenUsage, 'optionalAccess', _952 => _952.inputTokensSize]), () => ( null)),
37221
- currentOutputTokens: _nullishCoalesce(_optionalChain([dialogTokenUsage, 'optionalAccess', _953 => _953.outputTokensSize]), () => ( null)),
37243
+ currentProvider: _nullishCoalesce(_nullishCoalesce(_optionalChain([liveModel, 'optionalAccess', _950 => _950.provider]), () => ( modelProvider)), () => ( null)),
37244
+ currentModelLabel: _nullishCoalesce(_nullishCoalesce(_optionalChain([liveModel, 'optionalAccess', _951 => _951.modelLabel]), () => ( modelLabel)), () => ( null)),
37245
+ currentContextWindowMaxTokens: _nullishCoalesce(_nullishCoalesce(_optionalChain([dialogTokenUsage, 'optionalAccess', _952 => _952.contextSize]), () => ( _optionalChain([liveModel, 'optionalAccess', _953 => _953.contextWindowMaxTokens]))), () => ( null)),
37246
+ currentInputTokens: _nullishCoalesce(_optionalChain([dialogTokenUsage, 'optionalAccess', _954 => _954.inputTokensSize]), () => ( null)),
37247
+ currentOutputTokens: _nullishCoalesce(_optionalChain([dialogTokenUsage, 'optionalAccess', _955 => _955.outputTokensSize]), () => ( null)),
37222
37248
  currentCacheHitRatePct: null,
37223
37249
  currentUsageBreakdown: null,
37224
37250
  // Dialog management
@@ -37466,7 +37492,7 @@ function extractIncompleteMessageState(lastMessage) {
37466
37492
  break;
37467
37493
  case "approval_batch": {
37468
37494
  const allDone = !!segment.data.executions && segment.data.toolCalls.every(
37469
- (c) => _optionalChain([segment, 'access', _954 => _954.data, 'access', _955 => _955.executions, 'optionalAccess', _956 => _956[c.toolExecutionRequestId], 'optionalAccess', _957 => _957.status]) === "done"
37495
+ (c) => _optionalChain([segment, 'access', _956 => _956.data, 'access', _957 => _957.executions, 'optionalAccess', _958 => _958[c.toolExecutionRequestId], 'optionalAccess', _959 => _959.status]) === "done"
37470
37496
  );
37471
37497
  if (segment.status !== "rejected" && !allDone) {
37472
37498
  hasIncompleteState = true;
@@ -37534,20 +37560,20 @@ function mergeHistoryWithRealtime(input) {
37534
37560
  const seqCoverageKnown = realtimeSeenStreamSeq > 0 && historyMaxStreamSeq > 0;
37535
37561
  const historyCoversRealtime = seqCoverageKnown ? historyMaxStreamSeq >= realtimeSeenStreamSeq : null;
37536
37562
  const trailing = processedHistory[processedHistory.length - 1];
37537
- const historyTrailingAssistant = _optionalChain([trailing, 'optionalAccess', _958 => _958.role]) === "assistant" ? trailing : null;
37538
- const historyBatchId = historyTrailingAssistant && Array.isArray(historyTrailingAssistant.content) ? _nullishCoalesce(_optionalChain([historyTrailingAssistant, 'access', _959 => _959.content, 'access', _960 => _960.find, 'call', _961 => _961((s) => s.type === "approval_batch"), 'optionalAccess', _962 => _962.data, 'optionalAccess', _963 => _963.approvalRequestId]), () => ( null)) : null;
37563
+ const historyTrailingAssistant = _optionalChain([trailing, 'optionalAccess', _960 => _960.role]) === "assistant" ? trailing : null;
37564
+ const historyBatchId = historyTrailingAssistant && Array.isArray(historyTrailingAssistant.content) ? _nullishCoalesce(_optionalChain([historyTrailingAssistant, 'access', _961 => _961.content, 'access', _962 => _962.find, 'call', _963 => _963((s) => s.type === "approval_batch"), 'optionalAccess', _964 => _964.data, 'optionalAccess', _965 => _965.approvalRequestId]), () => ( null)) : null;
37539
37565
  let processedToUse = processedHistory;
37540
37566
  const pinnedSyntheticIds = /* @__PURE__ */ new Set();
37541
37567
  const droppedSyntheticIds = /* @__PURE__ */ new Set();
37542
37568
  if (historyBatchId) {
37543
37569
  const batchTwins = existingMessages.filter(
37544
37570
  (m) => m.role === "assistant" && Array.isArray(m.content) && m.content.some(
37545
- (s) => s.type === "approval_batch" && _optionalChain([s, 'access', _964 => _964.data, 'optionalAccess', _965 => _965.approvalRequestId]) === historyBatchId
37571
+ (s) => s.type === "approval_batch" && _optionalChain([s, 'access', _966 => _966.data, 'optionalAccess', _967 => _967.approvalRequestId]) === historyBatchId
37546
37572
  )
37547
37573
  );
37548
37574
  const existingWithSameBatch = _nullishCoalesce(batchTwins.find((m) => m.id === streamingMessageId), () => ( batchTwins[batchTwins.length - 1]));
37549
37575
  if (existingWithSameBatch && Array.isArray(existingWithSameBatch.content)) {
37550
- const histSize = Array.isArray(_optionalChain([historyTrailingAssistant, 'optionalAccess', _966 => _966.content])) ? historyTrailingAssistant.content.length : 0;
37576
+ const histSize = Array.isArray(_optionalChain([historyTrailingAssistant, 'optionalAccess', _968 => _968.content])) ? historyTrailingAssistant.content.length : 0;
37551
37577
  const realtimeSize = existingWithSameBatch.content.length;
37552
37578
  if (existingWithSameBatch.id === streamingMessageId || realtimeSize > histSize) {
37553
37579
  processedToUse = processedHistory.slice(0, -1);
@@ -37563,16 +37589,16 @@ function mergeHistoryWithRealtime(input) {
37563
37589
  if (pinnedSyntheticIds.has(m.id)) return true;
37564
37590
  if (droppedSyntheticIds.has(m.id)) return false;
37565
37591
  if (processedIds.has(m.id)) return false;
37566
- if (_optionalChain([rawHistoryIds, 'optionalAccess', _967 => _967.has, 'call', _968 => _968(m.id)])) return false;
37592
+ if (_optionalChain([rawHistoryIds, 'optionalAccess', _969 => _969.has, 'call', _970 => _970(m.id)])) return false;
37567
37593
  if (m.role === "user" && m.id.startsWith("optimistic-") && typeof m.content === "string") {
37568
- const canBeInSnapshot = (_nullishCoalesce(_optionalChain([m, 'access', _969 => _969.timestamp, 'optionalAccess', _970 => _970.getTime, 'call', _971 => _971()]), () => ( 0))) <= historyFetchedAt;
37594
+ const canBeInSnapshot = (_nullishCoalesce(_optionalChain([m, 'access', _971 => _971.timestamp, 'optionalAccess', _972 => _972.getTime, 'call', _973 => _973()]), () => ( 0))) <= historyFetchedAt;
37569
37595
  return !(canBeInSnapshot && processedToUse.some((pm) => pm.role === "user" && pm.content === m.content));
37570
37596
  }
37571
37597
  if (isSyntheticRealtimeId(m.id) && m.id !== streamingMessageId) {
37572
37598
  if (m.role === "assistant" && trailingAssistantText && assistantAnswerText(m.content) === trailingAssistantText) {
37573
37599
  return false;
37574
37600
  }
37575
- const covered = typeof m.streamSeq === "number" && historyMaxStreamSeq > 0 ? historyMaxStreamSeq >= m.streamSeq : historyCoversRealtime !== null ? historyCoversRealtime : (_nullishCoalesce(_optionalChain([m, 'access', _972 => _972.timestamp, 'optionalAccess', _973 => _973.getTime, 'call', _974 => _974()]), () => ( 0))) <= historyFetchedAt;
37601
+ const covered = typeof m.streamSeq === "number" && historyMaxStreamSeq > 0 ? historyMaxStreamSeq >= m.streamSeq : historyCoversRealtime !== null ? historyCoversRealtime : (_nullishCoalesce(_optionalChain([m, 'access', _974 => _974.timestamp, 'optionalAccess', _975 => _975.getTime, 'call', _976 => _976()]), () => ( 0))) <= historyFetchedAt;
37576
37602
  if (covered) return false;
37577
37603
  }
37578
37604
  return true;
@@ -37792,7 +37818,7 @@ function useChatDialogManager({
37792
37818
  const handleConfirmRestore = _react.useCallback.call(void 0, async () => {
37793
37819
  if (restoreTarget) {
37794
37820
  try {
37795
- await _optionalChain([unarchiveDialog, 'optionalCall', _975 => _975(restoreTarget.id)]);
37821
+ await _optionalChain([unarchiveDialog, 'optionalCall', _977 => _977(restoreTarget.id)]);
37796
37822
  } catch (err) {
37797
37823
  console.error("[useChatDialogManager] unarchive failed:", err);
37798
37824
  return;
@@ -38193,7 +38219,7 @@ function EmbeddableChatInner({
38193
38219
  }),
38194
38220
  [commandsUrl]
38195
38221
  );
38196
- const userName = _optionalChain([identityUser, 'optionalAccess', _976 => _976.firstName, 'optionalAccess', _977 => _977.trim, 'call', _978 => _978()]) || _optionalChain([identityUser, 'optionalAccess', _979 => _979.name, 'optionalAccess', _980 => _980.split, 'call', _981 => _981(" "), 'access', _982 => _982[0], 'optionalAccess', _983 => _983.trim, 'call', _984 => _984()]) || void 0;
38222
+ const userName = _optionalChain([identityUser, 'optionalAccess', _978 => _978.firstName, 'optionalAccess', _979 => _979.trim, 'call', _980 => _980()]) || _optionalChain([identityUser, 'optionalAccess', _981 => _981.name, 'optionalAccess', _982 => _982.split, 'call', _983 => _983(" "), 'access', _984 => _984[0], 'optionalAccess', _985 => _985.trim, 'call', _986 => _986()]) || void 0;
38197
38223
  const effectiveModes = _react.useMemo.call(void 0, () => {
38198
38224
  if (modes) return modes;
38199
38225
  const guideOptions = tableIdForDocumentType ? { tableIdForDocumentType } : {};
@@ -38202,17 +38228,17 @@ function EmbeddableChatInner({
38202
38228
  const mingoCaps = _react.useMemo.call(void 0, () => {
38203
38229
  if (mingoState) {
38204
38230
  return {
38205
- canRename: _nullishCoalesce(_optionalChain([mingoDialogCapabilities, 'optionalAccess', _985 => _985.canRename]), () => ( false)),
38206
- canArchive: _nullishCoalesce(_optionalChain([mingoDialogCapabilities, 'optionalAccess', _986 => _986.canArchive]), () => ( false)),
38207
- fetchArchivedDialogs: _optionalChain([mingoDialogCapabilities, 'optionalAccess', _987 => _987.fetchArchivedDialogs]),
38208
- unarchiveDialog: _optionalChain([mingoDialogCapabilities, 'optionalAccess', _988 => _988.unarchiveDialog])
38231
+ canRename: _nullishCoalesce(_optionalChain([mingoDialogCapabilities, 'optionalAccess', _987 => _987.canRename]), () => ( false)),
38232
+ canArchive: _nullishCoalesce(_optionalChain([mingoDialogCapabilities, 'optionalAccess', _988 => _988.canArchive]), () => ( false)),
38233
+ fetchArchivedDialogs: _optionalChain([mingoDialogCapabilities, 'optionalAccess', _989 => _989.fetchArchivedDialogs]),
38234
+ unarchiveDialog: _optionalChain([mingoDialogCapabilities, 'optionalAccess', _990 => _990.unarchiveDialog])
38209
38235
  };
38210
38236
  }
38211
38237
  return {
38212
- canRename: !!_optionalChain([effectiveModes, 'access', _989 => _989.mingo, 'optionalAccess', _990 => _990.renameDialog]),
38213
- canArchive: !!_optionalChain([effectiveModes, 'access', _991 => _991.mingo, 'optionalAccess', _992 => _992.archiveDialog]),
38214
- fetchArchivedDialogs: _optionalChain([effectiveModes, 'access', _993 => _993.mingo, 'optionalAccess', _994 => _994.fetchArchivedDialogs]),
38215
- unarchiveDialog: _optionalChain([effectiveModes, 'access', _995 => _995.mingo, 'optionalAccess', _996 => _996.unarchiveDialog])
38238
+ canRename: !!_optionalChain([effectiveModes, 'access', _991 => _991.mingo, 'optionalAccess', _992 => _992.renameDialog]),
38239
+ canArchive: !!_optionalChain([effectiveModes, 'access', _993 => _993.mingo, 'optionalAccess', _994 => _994.archiveDialog]),
38240
+ fetchArchivedDialogs: _optionalChain([effectiveModes, 'access', _995 => _995.mingo, 'optionalAccess', _996 => _996.fetchArchivedDialogs]),
38241
+ unarchiveDialog: _optionalChain([effectiveModes, 'access', _997 => _997.mingo, 'optionalAccess', _998 => _998.unarchiveDialog])
38216
38242
  };
38217
38243
  }, [mingoState, mingoDialogCapabilities, effectiveModes]);
38218
38244
  const hasMingoMode = !!effectiveModes.mingo || !!mingoState;
@@ -38224,7 +38250,7 @@ function EmbeddableChatInner({
38224
38250
  if (controlledActiveMode === void 0) {
38225
38251
  setUncontrolledActiveMode(next);
38226
38252
  }
38227
- _optionalChain([onActiveModeChange, 'optionalCall', _997 => _997(next)]);
38253
+ _optionalChain([onActiveModeChange, 'optionalCall', _999 => _999(next)]);
38228
38254
  },
38229
38255
  [controlledActiveMode, onActiveModeChange]
38230
38256
  );
@@ -38278,7 +38304,7 @@ function EmbeddableChatInner({
38278
38304
  clear: clearAttachments
38279
38305
  } = useChatAttachments();
38280
38306
  const { panelRef: galleryPanelRef, modal: galleryModal } = useChatAttachmentImageGallery();
38281
- const contextMaxItems = _nullishCoalesce(_optionalChain([contextPicker, 'optionalAccess', _998 => _998.maxItems]), () => ( 10));
38307
+ const contextMaxItems = _nullishCoalesce(_optionalChain([contextPicker, 'optionalAccess', _1000 => _1000.maxItems]), () => ( 10));
38282
38308
  const contextPickerForMode = activeMode === "mingo" ? contextPicker : void 0;
38283
38309
  const [contextItems, setContextItems] = _react.useState.call(void 0, []);
38284
38310
  const [contextPickerOpen, setContextPickerOpen] = _react.useState.call(void 0, false);
@@ -38302,7 +38328,7 @@ function EmbeddableChatInner({
38302
38328
  );
38303
38329
  const grows = !alreadySelected && !mentionKeyRef.current;
38304
38330
  if (grows && contextItems.length >= contextMaxItems) return;
38305
- _optionalChain([chatInputRef, 'access', _999 => _999.current, 'optionalAccess', _1000 => _1000.commitMention, 'call', _1001 => _1001(key)]);
38331
+ _optionalChain([chatInputRef, 'access', _1001 => _1001.current, 'optionalAccess', _1002 => _1002.commitMention, 'call', _1003 => _1003(key)]);
38306
38332
  setContextItems((prev) => {
38307
38333
  const withoutPrevMention = mentionKeyRef.current ? prev.filter((p) => `${p.type}:${p.id}` !== mentionKeyRef.current) : prev;
38308
38334
  const deduped = withoutPrevMention.filter(
@@ -38327,9 +38353,9 @@ function EmbeddableChatInner({
38327
38353
  setContextItems((prev) => prev.filter((p) => `${p.type}:${p.id}` !== key));
38328
38354
  if (mentionKeyRef.current === key) {
38329
38355
  mentionKeyRef.current = null;
38330
- const cur = _nullishCoalesce(_optionalChain([chatInputRef, 'access', _1002 => _1002.current, 'optionalAccess', _1003 => _1003.getValue, 'call', _1004 => _1004()]), () => ( ""));
38356
+ const cur = _nullishCoalesce(_optionalChain([chatInputRef, 'access', _1004 => _1004.current, 'optionalAccess', _1005 => _1005.getValue, 'call', _1006 => _1006()]), () => ( ""));
38331
38357
  const next = cur.replace(`@${key}`, "").replace(/\s{2,}/g, " ").trimStart();
38332
- _optionalChain([chatInputRef, 'access', _1005 => _1005.current, 'optionalAccess', _1006 => _1006.setValue, 'call', _1007 => _1007(next)]);
38358
+ _optionalChain([chatInputRef, 'access', _1007 => _1007.current, 'optionalAccess', _1008 => _1008.setValue, 'call', _1009 => _1009(next)]);
38333
38359
  }
38334
38360
  }, []);
38335
38361
  const handleContextValueChange = _react.useCallback.call(void 0, (value) => {
@@ -38346,7 +38372,7 @@ function EmbeddableChatInner({
38346
38372
  }, []);
38347
38373
  const closeContextPicker = _react.useCallback.call(void 0, () => {
38348
38374
  if (mentionActiveRef.current) {
38349
- _optionalChain([chatInputRef, 'access', _1008 => _1008.current, 'optionalAccess', _1009 => _1009.removeMentionTrigger, 'call', _1010 => _1010()]);
38375
+ _optionalChain([chatInputRef, 'access', _1010 => _1010.current, 'optionalAccess', _1011 => _1011.removeMentionTrigger, 'call', _1012 => _1012()]);
38350
38376
  }
38351
38377
  setContextPickerOpen(false);
38352
38378
  setMentionQuery(null);
@@ -38355,7 +38381,7 @@ function EmbeddableChatInner({
38355
38381
  setMentionQuery(query);
38356
38382
  setContextPickerOpen(query !== null);
38357
38383
  }, []);
38358
- const contextEntityTypes = _optionalChain([contextPicker, 'optionalAccess', _1011 => _1011.entityTypes]);
38384
+ const contextEntityTypes = _optionalChain([contextPicker, 'optionalAccess', _1013 => _1013.entityTypes]);
38359
38385
  const resolveContextIcon = _react.useMemo.call(void 0, () => {
38360
38386
  const byType = /* @__PURE__ */ new Map();
38361
38387
  for (const t of _nullishCoalesce(contextEntityTypes, () => ( []))) byType.set(t.type, t.icon);
@@ -38533,9 +38559,9 @@ function EmbeddableChatInner({
38533
38559
  const lastAssistantMsg = [...rawMessages].reverse().find((m) => m.role === "assistant");
38534
38560
  const lastSources = _react.useMemo.call(void 0, () => {
38535
38561
  if (chatLoading) return void 0;
38536
- const sources = _optionalChain([lastAssistantMsg, 'optionalAccess', _1012 => _1012.sources]);
38562
+ const sources = _optionalChain([lastAssistantMsg, 'optionalAccess', _1014 => _1014.sources]);
38537
38563
  if (!sources || sources.length === 0) return void 0;
38538
- const content = _optionalChain([lastAssistantMsg, 'optionalAccess', _1013 => _1013.content]) || "";
38564
+ const content = _optionalChain([lastAssistantMsg, 'optionalAccess', _1015 => _1015.content]) || "";
38539
38565
  const citationOrder = [...content.matchAll(/\[(\d+)\]/g)].map(
38540
38566
  (m) => parseInt(m[1], 10)
38541
38567
  );
@@ -38582,7 +38608,7 @@ function EmbeddableChatInner({
38582
38608
  ChatPanelHeader,
38583
38609
  {
38584
38610
  showBack: hasConversation || guideCanReturnToMingo,
38585
- title: hasConversation ? _optionalChain([activeDialog, 'optionalAccess', _1014 => _1014.title]) || "New Chat" : isGuideEmpty ? "Mingo Guide" : "Current Chats",
38611
+ title: hasConversation ? _optionalChain([activeDialog, 'optionalAccess', _1016 => _1016.title]) || "New Chat" : isGuideEmpty ? "Mingo Guide" : "Current Chats",
38586
38612
  backAriaLabel: hasConversation ? isViewingArchived ? "Back to archive" : "Back" : "Back to Mingo",
38587
38613
  isArchivedView: isViewingArchived,
38588
38614
  onBack: hasConversation ? handleBack : () => handleActiveModeChange("mingo"),
@@ -38688,7 +38714,7 @@ function EmbeddableChatInner({
38688
38714
  subtitle: _nullishCoalesce(effectiveGreeting, () => ( void 0)),
38689
38715
  subtitleLoading: emptyStateLoading,
38690
38716
  ...guideWelcome,
38691
- quickActions: _nullishCoalesce(_optionalChain([guideWelcome, 'optionalAccess', _1015 => _1015.quickActions]), () => ( guideSuggestedActions)),
38717
+ quickActions: _nullishCoalesce(_optionalChain([guideWelcome, 'optionalAccess', _1017 => _1017.quickActions]), () => ( guideSuggestedActions)),
38692
38718
  onQuickAction: (action) => {
38693
38719
  handleSend(_nullishCoalesce(action.prompt, () => ( action.label)));
38694
38720
  },
@@ -39436,4 +39462,4 @@ function EmbeddableChatInner({
39436
39462
 
39437
39463
 
39438
39464
  exports.Label = Label; exports.AllowedDomainsInput = AllowedDomainsInput; exports.Autocomplete = Autocomplete; exports.CheckboxBlock = CheckboxBlock; exports.CheckboxWithDescription = CheckboxWithDescription; exports.Select = Select; exports.SelectGroup = SelectGroup; exports.SelectValue = SelectValue; exports.SelectTrigger = SelectTrigger; exports.SelectScrollUpButton = SelectScrollUpButton; exports.SelectScrollDownButton = SelectScrollDownButton; exports.SelectContent = SelectContent; exports.SelectLabel = SelectLabel; exports.SelectItem = SelectItem; exports.SelectSeparator = SelectSeparator; exports.DatePicker = DatePicker; exports.DatePickerInput = DatePickerInput; exports.DatePickerInputSimple = DatePickerInputSimple; exports.HoneypotField = HoneypotField; exports.ProgressBar = ProgressBar; exports.InfoCard = InfoCard; exports.InfoRow = InfoRow; exports.InputTrigger = InputTrigger; exports.InteractiveCard = InteractiveCard; exports.MediaTypeSelector = MediaTypeSelector; exports.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.Switch = Switch; exports.badgeVariants = badgeVariants; exports.Badge = Badge; exports.TagsInput = TagsInput; exports.TagsManager = TagsManager; exports.Textarea = Textarea; exports.AlertDialog = AlertDialog; exports.AlertDialogTrigger = AlertDialogTrigger; exports.AlertDialogPortal = AlertDialogPortal; exports.AlertDialogOverlay = AlertDialogOverlay; exports.AlertDialogContent = AlertDialogContent; exports.AlertDialogHeader = AlertDialogHeader; exports.AlertDialogFooter = AlertDialogFooter; exports.AlertDialogTitle = AlertDialogTitle; exports.AlertDialogDescription = AlertDialogDescription; exports.AlertDialogAction = AlertDialogAction; exports.AlertDialogCancel = AlertDialogCancel; exports.AspectRatio = AspectRatio; exports.Dialog = Dialog; exports.DialogTrigger = DialogTrigger; exports.DialogPortal = DialogPortal; exports.DialogClose = DialogClose; exports.DialogOverlay = DialogOverlay; exports.DialogContent = DialogContent; exports.DialogHeader = DialogHeader; exports.DialogFooter = DialogFooter; exports.DialogTitle = DialogTitle; exports.DialogDescription = DialogDescription; exports.ImageGalleryModal = ImageGalleryModal; exports.Modal = Modal2; exports.ModalContent = ModalContent2; exports.ModalHeader = ModalHeader2; exports.ModalTitle = ModalTitle2; exports.ModalFooter = ModalFooter2; exports.Modal2 = Modal; exports.ModalContent2 = ModalContent; exports.ModalHeader2 = ModalHeader; exports.ModalTitle2 = ModalTitle; exports.ModalFooter2 = ModalFooter; exports.Separator = Separator2; exports.Sheet = Sheet; exports.SheetTrigger = SheetTrigger; exports.SheetClose = SheetClose; exports.SheetPortal = SheetPortal; exports.SheetOverlay = SheetOverlay; exports.SheetContent = SheetContent; exports.SheetHeader = SheetHeader; exports.SheetFooter = SheetFooter; exports.SheetTitle = SheetTitle; exports.SheetDescription = SheetDescription; exports.Drawer = Drawer; exports.DrawerTrigger = DrawerTrigger; exports.DrawerClose = DrawerClose; exports.DrawerPortal = DrawerPortal; exports.DrawerOverlay = DrawerOverlay; exports.DrawerContent = DrawerContent; exports.DrawerHeader = DrawerHeader; exports.DrawerTitle = DrawerTitle; exports.DrawerDescription = DrawerDescription; exports.DrawerBody = DrawerBody; exports.DrawerFooter = DrawerFooter; exports.Accordion = Accordion; exports.AccordionItem = AccordionItem; exports.AccordionTrigger = AccordionTrigger; exports.AccordionContent = AccordionContent; exports.Breadcrumb = Breadcrumb; exports.BreadcrumbList = BreadcrumbList; exports.BreadcrumbItem = BreadcrumbItem; exports.BreadcrumbLink = BreadcrumbLink; exports.BreadcrumbPage = BreadcrumbPage; exports.BreadcrumbSeparator = BreadcrumbSeparator; exports.BreadcrumbEllipsis = BreadcrumbEllipsis; exports.MenubarMenu = MenubarMenu; exports.MenubarGroup = MenubarGroup; exports.MenubarPortal = MenubarPortal; exports.MenubarSub = MenubarSub; exports.MenubarRadioGroup = MenubarRadioGroup; exports.Menubar = Menubar; exports.MenubarTrigger = MenubarTrigger; exports.MenubarSubTrigger = MenubarSubTrigger; exports.MenubarSubContent = MenubarSubContent; exports.MenubarContent = MenubarContent; exports.MenubarItem = MenubarItem; exports.MenubarCheckboxItem = MenubarCheckboxItem; exports.MenubarRadioItem = MenubarRadioItem; exports.MenubarLabel = MenubarLabel; exports.MenubarSeparator = MenubarSeparator; exports.MenubarShortcut = MenubarShortcut; exports.NavigationMenu = NavigationMenu; exports.NavigationMenuList = NavigationMenuList; exports.NavigationMenuItem = NavigationMenuItem; exports.navigationMenuTriggerStyle = navigationMenuTriggerStyle; exports.NavigationMenuTrigger = NavigationMenuTrigger; exports.NavigationMenuContent = NavigationMenuContent; exports.NavigationMenuLink = NavigationMenuLink; exports.NavigationMenuViewport = NavigationMenuViewport; exports.NavigationMenuIndicator = NavigationMenuIndicator; exports.TabContent = TabContent; exports.TabNavigation = TabNavigation; exports.getTabById = getTabById; exports.getTabComponent = getTabComponent; exports.Alert = Alert; exports.AlertTitle = AlertTitle; exports.AlertDescription = AlertDescription; exports.Progress = Progress; exports.ReleaseChangelogSection = ReleaseChangelogSection; exports.StatusIndicator = StatusIndicator; exports.HoverDropdown = HoverDropdown; exports.ApprovalRequestMessage = ApprovalRequestMessage; exports.ExpandChevron = ExpandChevron; exports.useCollapsible = useCollapsible; exports.getCommandText = getCommandText; exports.ArgRow = ArgRow; exports.ResultBlock = ResultBlock; exports.ApprovalBatchMessage = ApprovalBatchMessage; exports.ContextCompactionDisplay = ContextCompactionDisplay; exports.ThinkingDisplay = ThinkingDisplay; exports.ErrorMessageDisplay = ErrorMessageDisplay; exports.ColorSwatch = ColorSwatch; exports.resolveTicketStatus = resolveTicketStatus; exports.getTicketStatusConfig = getTicketStatusConfig; exports.getTicketStatusTag = getTicketStatusTag; exports.kindToCanonicalStatus = kindToCanonicalStatus; exports.usesCanonicalStatusStyle = usesCanonicalStatusStyle; exports.resolveStatusTagProps = resolveStatusTagProps; exports.TicketStatusTag = TicketStatusTag; exports.ChatContainer = ChatContainer; exports.ChatHeader = ChatHeader; exports.ChatContent = ChatContent; exports.ChatFooter = ChatFooter; exports.ChatTypingIndicator = ChatTypingIndicator; exports.MingoOnboardingCard = MingoOnboardingCard; exports.ONBOARDING_ICONS = ONBOARDING_ICONS; exports.resolveOnboardingIcon = resolveOnboardingIcon; exports.ONBOARDING_ICON_OPTIONS = ONBOARDING_ICON_OPTIONS; exports.SlashCommandSuggestions = SlashCommandSuggestions; exports.ChatInput = ChatInput; exports.ToolExecutionDisplay = ToolExecutionDisplay; exports.remarkCardLinks = remarkCardLinks; exports.BlockCard = BlockCard; exports.CONTEXT_ROW_CLASS = CONTEXT_ROW_CLASS; exports.CONTEXT_ICON_CLASS = CONTEXT_ICON_CLASS; exports.CONTEXT_LABEL_CLASS = CONTEXT_LABEL_CLASS; exports.CONTEXT_BACK_CLASS = CONTEXT_BACK_CLASS; exports.CONTEXT_STATE_CLASS = CONTEXT_STATE_CLASS; exports.ContextMenuRow = ContextMenuRow; exports.ContextItemsSkeleton = ContextItemsSkeleton; exports.ContextItemsList = ContextItemsList; exports.ContextErrorBoundary = ContextErrorBoundary; exports.CHAT_CONTEXT_ITEMS_DEFAULT_MAX = CHAT_CONTEXT_ITEMS_DEFAULT_MAX; exports.ChatComposerPlusMenu = ChatComposerPlusMenu; exports.ChatContextPicker = ChatContextPicker; exports.ChatContextChipStrip = ChatContextChipStrip; exports.MemoizedChatMessageEnhanced = MemoizedChatMessageEnhanced; exports.ChatMessageSkeleton = ChatMessageSkeleton; exports.ChatMessageListSkeleton = ChatMessageListSkeleton; exports.ChatMessageList = ChatMessageList; exports.useProxiedImageUrl = useProxiedImageUrl; exports.ChatMessageRow = ChatMessageRow; exports.ChatMessageRowSkeleton = ChatMessageRowSkeleton; exports.ChatQuickAction = ChatQuickAction; exports.ChatQuickActionRow = ChatQuickActionRow; exports.ChatQuickActionRowSkeleton = ChatQuickActionRowSkeleton; exports.ChatTicketItem = ChatTicketItem; exports.ChatTicketList = ChatTicketList; exports.MingoOnboardingCardSkeleton = MingoOnboardingCardSkeleton; exports.MingoOnboardingListSkeleton = MingoOnboardingListSkeleton; exports.MingoChatHistorySkeleton = MingoChatHistorySkeleton; exports.MingoChatHistory = MingoChatHistory; exports.MingoWelcome = MingoWelcome; exports.GuideWelcome = GuideWelcome; exports.TooltipProvider = TooltipProvider; exports.Tooltip = Tooltip; exports.TooltipTrigger = TooltipTrigger; exports.TooltipContent = TooltipContent; exports.GuideModeBanner = GuideModeBanner; exports.RenameChatModal = RenameChatModal; exports.ArchiveChatModal = ArchiveChatModal; exports.UnarchiveChatModal = UnarchiveChatModal; exports.ChatDialogModals = ChatDialogModals; exports.ChatHeaderIconButton = ChatHeaderIconButton; exports.COMPACT_HEADER_BUTTON = COMPACT_HEADER_BUTTON; exports.ChatPanelHeader = ChatPanelHeader; exports.CHAT_ATTACHMENT_MIME_TYPES = CHAT_ATTACHMENT_MIME_TYPES; exports.CHAT_ATTACHMENT_CONCURRENT_UPLOADS_PER_USER = CHAT_ATTACHMENT_CONCURRENT_UPLOADS_PER_USER; exports.ChatAttachmentAddButton = ChatAttachmentAddButton; exports.ChatAttachmentChipStrip = ChatAttachmentChipStrip; exports.HoverCard = HoverCard; exports.HoverCardTrigger = HoverCardTrigger; exports.HoverCardContent = HoverCardContent; exports.ModelDisplay = ModelDisplay; exports.ModelDisplaySkeleton = ModelDisplaySkeleton; exports.ChatComposer = ChatComposer; exports.ChatArchivePage = ChatArchivePage; exports.DialogListItem = DialogListItem; exports.ChatSidebar = ChatSidebar; exports.executeNavigation = executeNavigation; exports.executeNavigationImperative = executeNavigationImperative; exports.handleChatNavClick = handleChatNavClick; exports.NavLinkAnchorViaRuntime = NavLinkAnchorViaRuntime; exports.SourceActionButton = SourceActionButton; exports.FlamingoLogo = FlamingoLogo; exports.OpenmspLogo = OpenmspLogo; exports.PlatformBadge = PlatformBadge; exports.AdminContentCard = AdminContentCard; exports.getProxiedImageUrl = getProxiedImageUrl2; exports.WhatIShippedCard = WhatIShippedCard; exports.WhatIShippedCardSkeleton = WhatIShippedCardSkeleton; exports.ChatVideoEntityCard = ChatVideoEntityCard; exports.ProductReleaseCard = ProductReleaseCard; exports.ProductReleaseCardSkeleton = ProductReleaseCardSkeleton; exports.defaultBuildProductReleaseCardProps = defaultBuildProductReleaseCardProps; exports.buildProductReleaseCardProps = buildProductReleaseCardProps; exports.BlogCardSkeleton = BlogCardSkeleton; exports.BlogCard = BlogCard; exports.CaseStudyCardSkeleton = CaseStudyCardSkeleton; exports.CaseStudyCard = CaseStudyCard; exports.CustomerInterviewCardSkeleton = CustomerInterviewCardSkeleton; exports.CustomerInterviewCard = CustomerInterviewCard; exports.formatInvestorUpdatePeriod = formatInvestorUpdatePeriod; exports.InvestorUpdateCardSkeleton = InvestorUpdateCardSkeleton; exports.InvestorUpdateCard = InvestorUpdateCard; exports.RoadmapVoteButton = RoadmapVoteButton; exports.TaskTypeIcon = TaskTypeIcon; exports.RoadmapCardSkeleton = RoadmapCardSkeleton; exports.RoadmapCard = RoadmapCard; exports.GitHubActivityCard = GitHubActivityCard; exports.GitHubActivityCardSkeleton = GitHubActivityCardSkeleton; exports.SlackMessageCard = SlackMessageCard; exports.SlackMessageCardSkeleton = SlackMessageCardSkeleton; exports.HubspotTicketCard = HubspotTicketCard; exports.HubspotTicketCardSkeleton = HubspotTicketCardSkeleton; exports.DataRoomDocCard = DataRoomDocCard; exports.DataRoomDocCardSkeleton = DataRoomDocCardSkeleton; exports.ProgramCardSkeleton = ProgramCardSkeleton; exports.ProgramCard = ProgramCard; exports.CampaignCardAdmin = CampaignCardAdmin; exports.CampaignCardAdminSkeleton = CampaignCardAdminSkeleton; exports.GenericEntityCard = GenericEntityCard; exports.GenericEntityCardSkeleton = GenericEntityCardSkeleton; exports.useChatCardItem = useChatCardItem; exports.ChatCardLoader = ChatCardLoader; exports.renderChatInlineEntityCard = renderChatInlineEntityCard; exports.CHAT_TYPE = CHAT_TYPE; exports.OWNER_TYPE = OWNER_TYPE; exports.MESSAGE_ROLE = MESSAGE_ROLE; exports.ASSISTANT_TYPE = ASSISTANT_TYPE; exports.AUTHOR_TYPE = AUTHOR_TYPE; exports.APPROVAL_STATUS = APPROVAL_STATUS; exports.CONNECTION_STATUS = CONNECTION_STATUS; exports.buildChatRefKey = buildChatRefKey; exports.isStructuredContent = isStructuredContent; exports.normalizeContent = normalizeContent2; exports.NETWORK_CONFIG = NETWORK_CONFIG; exports.transformEventToProgram = transformEventToProgram; exports.transformPodcastToProgram = transformPodcastToProgram; exports.transformWebinarToProgram = transformWebinarToProgram; exports.useChunkCatchup = useChunkCatchup; exports.useJetStreamDialogSubscription = useJetStreamDialogSubscription; exports.useNatsDialogSubscription = useNatsDialogSubscription; exports.buildNatsWsUrl = buildNatsWsUrl; exports.parseChunkToAction = parseChunkToAction; exports.isControlChunk = isControlChunk; exports.isErrorChunk = isErrorChunk; exports.isMetadataChunk = isMetadataChunk; exports.extractTextFromChunk = extractTextFromChunk; exports.MessageSegmentAccumulator = MessageSegmentAccumulator; exports.createMessageSegmentAccumulator = createMessageSegmentAccumulator; exports.useRealtimeChunkProcessor = useRealtimeChunkProcessor; exports.fetchSlashCommands = fetchSlashCommands; exports.useSlashCommands = useSlashCommands; exports.useSlashCommandRegistry = useSlashCommandRegistry; exports.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.useSseChatAdapter = useSseChatAdapter; exports.processHistoricalMessages = processHistoricalMessages; exports.extractErrorMessages = extractErrorMessages; exports.processHistoricalMessagesWithErrors = processHistoricalMessagesWithErrors; exports.useNatsChatAdapter = useNatsChatAdapter; exports.useUnifiedChat = useUnifiedChat; exports.extractIncompleteMessageState = extractIncompleteMessageState; exports.SYNTHETIC_REALTIME_ID_PREFIXES = SYNTHETIC_REALTIME_ID_PREFIXES; exports.flattenMessagePagesChronological = flattenMessagePagesChronological; exports.maxPersistedStreamSeq = maxPersistedStreamSeq; exports.mergeHistoryWithRealtime = mergeHistoryWithRealtime; exports.computeHistoryPrepend = computeHistoryPrepend; exports.CHIP_ACTION_BUTTON_CLASS = CHIP_ACTION_BUTTON_CLASS; exports.chatChipClass = chatChipClass; exports.EmbeddableChat = EmbeddableChat; exports.FilterCheckboxItem = FilterCheckboxItem; exports.TagKeyValueFilter = TagKeyValueFilter; exports.FilterModal = FilterModal; exports.PageContainer = PageContainer; exports.ListPageContainer = ListPageContainer; exports.DetailPageContainer = DetailPageContainer; exports.FormPageContainer = FormPageContainer; exports.ContentPageContainer = ContentPageContainer; exports.ListPageLayout = ListPageLayout; exports.toggleVariants = toggleVariants; exports.Toggle = Toggle; exports.ToggleGroup = ToggleGroup; exports.ToggleGroupItem = ToggleGroupItem; 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 = XIcon; exports.MinusIcon = MinusIcon; exports.CheckCircleIcon = CheckCircleIcon2; exports.XCircleIcon = XCircleIcon; exports.FloatingTooltip = FloatingTooltip; exports.DashboardInfoCard = DashboardInfoCard; exports.OSTypeBadge = OSTypeBadge; exports.OSTypeIcon = OSTypeIcon; exports.OSTypeLabel = OSTypeLabel; exports.DeviceCard = DeviceCard; exports.DeviceCardCompact = DeviceCardCompact; exports.FeatureCardGrid = FeatureCardGrid; exports.FeatureList = FeatureList; exports.TruncateText = TruncateText; exports.HighlightCard = HighlightCard; exports.HighlightCardGrid = HighlightCardGrid; exports.IconsBlock = IconsBlock; exports.DropdownButton = DropdownButton; exports.MoreActionsMenu = MoreActionsMenu; exports.OrganizationCard = OrganizationCard; exports.ServiceCard = ServiceCard; exports.Slider = Slider; exports.TabSelector = TabSelector; exports.TitleContentBlock = TitleContentBlock; exports.ContentLoader = ContentLoader; exports.CardLoader = CardLoader; exports.FormLoader = FormLoader; exports.DetailLoader = DetailLoader; exports.ListLoader = ListLoader; exports.Pagination = Pagination; exports.PaginationContent = PaginationContent; exports.PaginationItem = PaginationItem; exports.PaginationLink = PaginationLink; exports.PaginationEllipsis = PaginationEllipsis; exports.PaginationPrevious = PaginationPrevious; exports.PaginationNext = PaginationNext; exports.init_pagination = init_pagination; exports.CursorPagination = CursorPagination; exports.CursorPaginationSimple = CursorPaginationSimple; exports.TableEmptyState = TableEmptyState; exports.DynamicThemeProvider = DynamicThemeProvider; exports.useDynamicTheme = useDynamicTheme; exports.THEME_STORAGE_KEY = THEME_STORAGE_KEY; exports.THEME_ATTRIBUTE = THEME_ATTRIBUTE; exports.DEFAULT_THEME = DEFAULT_THEME; exports.ThemeProvider = ThemeProvider; exports.useTheme = useTheme; exports.useThemeToggle = useThemeToggle; exports.ArrayEntryManager = ArrayEntryManager; exports.ProviderButton = ProviderButton; exports.AuthProvidersList = AuthProvidersList; exports.ChangelogManager = ChangelogManager; exports.ChangelogSectionsManager = ChangelogSectionsManager; exports.ClickUpTasksManager = ClickUpTasksManager; exports.CommandBox = CommandBox; exports.ErrorBoundary = ErrorBoundary; exports.SectionSelector = SectionSelector; exports.FigmaPrototypeViewer = FigmaPrototypeViewer; exports.FiltersDropdown = FiltersDropdown; exports.useFiltersDropdown = useFiltersDropdown; exports.GitHubReleasesManager = GitHubReleasesManager; exports.KnowledgeBaseLinksManager = KnowledgeBaseLinksManager; exports.LoadingProvider = LoadingProvider; exports.useLoading = useLoading; exports.MediaGalleryManager = MediaGalleryManager; exports.MoreAboutButton = MoreAboutButton; exports.OSTypeBadgeGroup = OSTypeBadgeGroup; exports.ParallaxImageShowcase = ParallaxImageShowcase; exports.PathsDisplay = PathsDisplay; exports.OPENFRAME_PATHS = OPENFRAME_PATHS; exports.getOpenFramePaths = getOpenFramePaths; exports.PlatformFilterComponent = PlatformFilterComponent; exports.PushButtonSelector = PushButtonSelector; exports.ReleaseMediaManager = ReleaseMediaManager; exports.SelectButton = SelectButton; exports.SEOEditorPreview = SEOEditorPreview; exports.SocialLinksManager = SocialLinksManager; exports.StartWithOpenFrameButton = StartWithOpenFrameButton; exports.StatusFilterComponent = StatusFilterComponent; exports.TagsSelector = TagsSelector; exports.VideoSourceSelector = VideoSourceSelector; exports.ConfidenceBadge = ConfidenceBadge; exports.TranscriptSummaryEditor = TranscriptSummaryEditor; exports.AIEnrichButton = AIEnrichButton; exports.AIWarningsSection = AIWarningsSection; exports.AIEnrichSection = AIEnrichSection; exports.HighlightVideoSection = HighlightVideoSection; exports.HighlightConfigSection = HighlightConfigSection; exports.EntitySummaryEditor = EntitySummaryEditor; exports.AIStatusIndicator = AIStatusIndicator; exports.AIRequiredBadge = AIRequiredBadge; exports.TranscribeSummarizeSection = TranscribeSummarizeSection; exports.VideoClipsSection = VideoClipsSection; exports.HighlightGenerationSection = HighlightGenerationSection; exports.HighlightVideoPreview = HighlightVideoPreview; exports.TranscribeAndSummarizeCombinedSection = TranscribeAndSummarizeCombinedSection; exports.HighlightVideoCombinedSection = HighlightVideoCombinedSection; exports.ViewToggle = ViewToggle; exports.PolicyConfigurationPanel = PolicyConfigurationPanel; exports.PhoneInput = PhoneInput; exports.WaitlistForm = WaitlistForm; exports.NotificationsProvider = NotificationsProvider; exports.useNotifications = useNotifications; exports.useOptionalNotifications = useOptionalNotifications; exports.NotificationTile = NotificationTile; exports.NotificationDrawer = NotificationDrawer; exports.NotificationPopups = NotificationPopups; exports.ADMIN_APPROVAL_REQUEST_CONTEXT_TYPE = ADMIN_APPROVAL_REQUEST_CONTEXT_TYPE; exports.isApprovalNotification = isApprovalNotification; exports.getApprovalMeta = getApprovalMeta; exports.resolutionToStatus = resolutionToStatus; exports.approvalMetaToBatchData = approvalMetaToBatchData; exports.ApprovalRequestNotificationTile = ApprovalRequestNotificationTile; exports.TimeTrackerProvider = TimeTrackerProvider; exports.useTimeTracker = useTimeTracker; exports.useOptionalTimeTracker = useOptionalTimeTracker; exports.useTrackerClock = useTrackerClock; exports.TimeTrackerPanel = TimeTrackerPanel; exports.HeaderButton = HeaderButton; exports.TimeTrackerHeaderButton = TimeTrackerHeaderButton; exports.BoardColumnHeader = BoardColumnHeader; exports.tintOnDark = tintOnDark; exports.BoardTicketApproval = BoardTicketApproval; exports.TicketCard = TicketCard; exports.TicketCardSkeleton = TicketCardSkeleton; exports.BoardColumn = BoardColumn; exports.useBoardCollapse = useBoardCollapse; exports.Board = Board; exports.columnFromTicketStatus = columnFromTicketStatus; exports.groupTicketsByStatus = groupTicketsByStatus; exports.TicketStatusConfigList = TicketStatusConfigList; exports.TableHeader = TableHeader; exports.TableCell = TableCell; exports.TableCardSkeleton = TableCardSkeleton; exports.TableRow = TableRow; exports.Table = Table; exports.TableDescriptionCell = TableDescriptionCell; exports.TableTimestampCell = TableTimestampCell; exports.QueryReportTableHeader = QueryReportTableHeader; exports.QueryReportTableRow = QueryReportTableRow; exports.QueryReportTableSkeleton = QueryReportTableSkeleton; exports.deriveColumns = deriveColumns; exports.exportToCSV = exportToCSV; exports.QueryReportTable = QueryReportTable; exports.useDataTableContext = useDataTableContext; exports.DataTableRoot = DataTableRoot; exports.getHideClasses = getHideClasses2; exports.alignJustify = alignJustify; exports.multiSelectFilterFn = multiSelectFilterFn; exports.DataTableHeader = DataTableHeader; exports.DataTableEmpty = DataTableEmpty; exports.ROW_HEIGHT_DESKTOP = ROW_HEIGHT_DESKTOP2; exports.ROW_HEIGHT_MOBILE = ROW_HEIGHT_MOBILE2; exports.DataTableSkeleton = DataTableSkeleton; exports.DataTableRow = DataTableRow; exports.DataTableBody = DataTableBody; exports.DataTableInfiniteFooter = DataTableInfiniteFooter; exports.DataTableCursorFooter = DataTableCursorFooter; exports.DataTableRowCount = DataTableRowCount; exports.useDataTable = useDataTable; exports.DataTable = DataTable; exports.flexRender = _reacttable.flexRender; exports.createColumnHelper = _reacttable.createColumnHelper; exports.getCoreRowModel = _reacttable.getCoreRowModel; exports.getExpandedRowModel = _reacttable.getExpandedRowModel; exports.getFacetedRowModel = _reacttable.getFacetedRowModel; exports.getFacetedUniqueValues = _reacttable.getFacetedUniqueValues; exports.getFilteredRowModel = _reacttable.getFilteredRowModel; exports.getGroupedRowModel = _reacttable.getGroupedRowModel; exports.getPaginationRowModel = _reacttable.getPaginationRowModel; exports.getSortedRowModel = _reacttable.getSortedRowModel; exports.FilterListItem = FilterListItem; exports.FilterList = FilterList; exports.TagSearchInput = TagSearchInput; exports.MarkdownEditor = MarkdownEditor; exports.FileUpload = FileUpload; exports.ImageUploader = ImageUploader; exports.TICKET_STATUS_COLOR_PRESETS = TICKET_STATUS_COLOR_PRESETS; exports.CUSTOM_PRESET_KEY = CUSTOM_PRESET_KEY; exports.DEFAULT_CUSTOM_STATUS_COLOR = DEFAULT_CUSTOM_STATUS_COLOR; exports.ColorPresetSelect = ColorPresetSelect; exports.ColorPickerInput = ColorPickerInput; exports.TicketStatusConfigRow = TicketStatusConfigRow; exports.AssigneeDropdown = AssigneeDropdown; exports.TicketDetailSection = TicketDetailSection; exports.TicketAttachmentsList = TicketAttachmentsList; exports.TicketNoteCard = TicketNoteCard; exports.TicketNotesSection = TicketNotesSection; exports.TicketInfoSection = TicketInfoSection; exports.Header = Header2; exports.HeaderSkeleton = HeaderSkeleton; exports.ClientOnlyHeader = ClientOnlyHeader; exports.MobileNavPanel = MobileNavPanel; exports.SlidingSidebar = SlidingSidebar; exports.NavigationSidebar = NavigationSidebar; exports.HeaderGlobalSearch = HeaderGlobalSearch; exports.HeaderMingoButton = HeaderMingoButton; exports.HeaderOrganizationFilter = HeaderOrganizationFilter; exports.AppHeader = AppHeader; exports.MobileBurgerMenu = MobileBurgerMenu; exports.useAppLayoutDrawerContainer = useAppLayoutDrawerContainer; exports.AppLayout = AppLayout; exports.AppLayoutDrawerRoot = AppLayoutDrawerRoot; exports.AppLayoutDrawerTrigger = AppLayoutDrawerTrigger; exports.AppLayoutDrawerClose = AppLayoutDrawerClose; exports.AppLayoutDrawerContent = AppLayoutDrawerContent; exports.AppLayoutDrawerHeader = AppLayoutDrawerHeader; exports.AppLayoutDrawerTitle = AppLayoutDrawerTitle; exports.AppLayoutDrawerDescription = AppLayoutDrawerDescription; exports.AppLayoutDrawerBody = AppLayoutDrawerBody; exports.AppLayoutDrawerFooter = AppLayoutDrawerFooter; exports.SoftwareInfo = SoftwareInfo; exports.SoftwareSourceBadge = SoftwareSourceBadge; exports.CveLink = CveLink; exports.ToolBadge = ToolBadge; exports.ShellTypeBadge = ShellTypeBadge; exports.ScriptInfoSection = ScriptInfoSection; exports.ScriptArguments = ScriptArguments; exports.OnboardingStepCard = OnboardingStepCard; exports.OnboardingWalkthrough = OnboardingWalkthrough; exports.LOG_SEVERITY_COLORS = LOG_SEVERITY_COLORS; exports.LOG_SEVERITY_LABELS = LOG_SEVERITY_LABELS; exports.LogSeverityDot = LogSeverityDot; exports.LogsList = LogsList; exports.assets = assets;
39439
- //# sourceMappingURL=chunk-KLXCXNLW.cjs.map
39465
+ //# sourceMappingURL=chunk-VJ4ZWD5G.cjs.map