@flamingo-stack/openframe-frontend-core 0.0.289 → 0.0.290-snapshot.20260618201839

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 (56) hide show
  1. package/dist/{chunk-KLXCXNLW.cjs → chunk-2YSC3API.cjs} +233 -208
  2. package/dist/chunk-2YSC3API.cjs.map +1 -0
  3. package/dist/{chunk-HIABEYRE.cjs → chunk-6BWZFRUG.cjs} +3 -3
  4. package/dist/{chunk-HIABEYRE.cjs.map → chunk-6BWZFRUG.cjs.map} +1 -1
  5. package/dist/{chunk-7YLTJXMQ.js → chunk-AGRSALEN.js} +2 -2
  6. package/dist/{chunk-6NL7TTDR.cjs → chunk-BVNYQDZE.cjs} +23 -23
  7. package/dist/{chunk-6NL7TTDR.cjs.map → chunk-BVNYQDZE.cjs.map} +1 -1
  8. package/dist/{chunk-Q6S6DCVP.js → chunk-CSL3ECOF.js} +2 -2
  9. package/dist/{chunk-BZR546EB.js → chunk-D4R2MUPA.js} +2 -2
  10. package/dist/{chunk-UBFYGWFP.js → chunk-EGSAB76W.js} +2 -2
  11. package/dist/{chunk-PYHCHGM5.js → chunk-RSIFEDZX.js} +2 -2
  12. package/dist/{chunk-DFAMTCC4.cjs → chunk-VMRPM24G.cjs} +5 -5
  13. package/dist/{chunk-DFAMTCC4.cjs.map → chunk-VMRPM24G.cjs.map} +1 -1
  14. package/dist/{chunk-P2SO7ADJ.js → chunk-Z2EOXZBW.js} +39 -14
  15. package/dist/chunk-Z2EOXZBW.js.map +1 -0
  16. package/dist/{chunk-OV3ZCU6X.cjs → chunk-Z4GAFSNM.cjs} +4 -4
  17. package/dist/{chunk-OV3ZCU6X.cjs.map → chunk-Z4GAFSNM.cjs.map} +1 -1
  18. package/dist/{chunk-LZQ4HSOR.cjs → chunk-ZYBUFVQV.cjs} +25 -25
  19. package/dist/{chunk-LZQ4HSOR.cjs.map → chunk-ZYBUFVQV.cjs.map} +1 -1
  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/features/paths-display.d.ts +1 -1
  32. package/dist/components/features/paths-display.d.ts.map +1 -1
  33. package/dist/components/index.cjs +46 -46
  34. package/dist/components/index.js +5 -5
  35. package/dist/components/navigation/index.cjs +2 -2
  36. package/dist/components/navigation/index.js +1 -1
  37. package/dist/components/related-content/index.cjs +3 -3
  38. package/dist/components/related-content/index.js +2 -2
  39. package/dist/components/tickets/index.cjs +45 -45
  40. package/dist/components/tickets/index.js +3 -3
  41. package/dist/components/ui/index.cjs +2 -2
  42. package/dist/components/ui/index.js +1 -1
  43. package/dist/index.cjs +2 -2
  44. package/dist/index.js +1 -1
  45. package/package.json +1 -1
  46. package/src/components/chat/entity-cards/dispatch.tsx +42 -0
  47. package/src/components/features/.paths-display.md +1 -1
  48. package/src/components/features/command-box.tsx +1 -1
  49. package/src/components/features/paths-display.tsx +13 -14
  50. package/dist/chunk-KLXCXNLW.cjs.map +0 -1
  51. package/dist/chunk-P2SO7ADJ.js.map +0 -1
  52. /package/dist/{chunk-7YLTJXMQ.js.map → chunk-AGRSALEN.js.map} +0 -0
  53. /package/dist/{chunk-Q6S6DCVP.js.map → chunk-CSL3ECOF.js.map} +0 -0
  54. /package/dist/{chunk-BZR546EB.js.map → chunk-D4R2MUPA.js.map} +0 -0
  55. /package/dist/{chunk-UBFYGWFP.js.map → chunk-EGSAB76W.js.map} +0 -0
  56. /package/dist/{chunk-PYHCHGM5.js.map → chunk-RSIFEDZX.js.map} +0 -0
@@ -315,6 +315,7 @@ var _chunkFIG2RKZFcjs = require('./chunk-FIG2RKZF.cjs');
315
315
 
316
316
 
317
317
 
318
+
318
319
 
319
320
 
320
321
  var _chunkZS2SBWBRcjs = require('./chunk-ZS2SBWBR.cjs');
@@ -14841,7 +14842,7 @@ function CommandBox({
14841
14842
  const lineClampClass = maxLines > 0 ? lineClampClasses[maxLines] : void 0;
14842
14843
  return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: _chunkFIG2RKZFcjs.cn.call(void 0, "flex flex-col gap-2", className), children: [
14843
14844
  title && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "text-ods-text-primary text-[18px] font-medium", children: title }),
14844
- /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "bg-ods-card border border-ods-border rounded-[6px] p-4", children: [
14845
+ /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "bg-ods-bg border border-ods-border rounded-[6px] p-4", children: [
14845
14846
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
14846
14847
  "div",
14847
14848
  {
@@ -16535,10 +16536,8 @@ var ParallaxImageShowcase = ({
16535
16536
  };
16536
16537
 
16537
16538
  // src/components/features/paths-display.tsx
16538
- _chunkXXI7BNB6cjs.init_button2.call(void 0, );
16539
16539
  _chunkFIG2RKZFcjs.init_cn.call(void 0, );
16540
16540
 
16541
-
16542
16541
  function PathsDisplay({
16543
16542
  paths,
16544
16543
  onCopyPath,
@@ -16546,28 +16545,28 @@ function PathsDisplay({
16546
16545
  description,
16547
16546
  className,
16548
16547
  showCopyButtons = true,
16549
- copyIconSize = "w-5 h-5"
16548
+ copyIconSize = "w-6 h-6"
16550
16549
  }) {
16551
16550
  if (!paths || paths.length === 0) {
16552
16551
  return null;
16553
16552
  }
16554
16553
  return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: _chunkFIG2RKZFcjs.cn.call(void 0, "flex flex-col gap-3", className), children: [
16555
- title && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "text-ods-text-primary text-[16px] md:text-[18px]", children: title }),
16556
- description && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "text-ods-text-secondary text-[14px] md:text-[16px]", children: description }),
16554
+ title && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "text-h4 text-ods-text-primary", children: title }),
16555
+ description && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "text-h6 text-ods-text-secondary", children: description }),
16557
16556
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "bg-ods-bg border border-ods-border rounded-[6px] overflow-hidden", children: paths.map((path) => /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
16558
16557
  "div",
16559
16558
  {
16560
- className: "flex items-center justify-between p-4 border-b border-ods-border last:border-b-0",
16559
+ className: "flex items-center gap-4 p-4 border-b border-ods-border last:border-b-0",
16561
16560
  children: [
16562
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "text-ods-text-primary font-medium text-[14px] md:text-[16px] font-mono break-all", children: path }),
16561
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "flex-1 min-w-0 text-h4 text-ods-text-primary truncate", children: path }),
16563
16562
  showCopyButtons && onCopyPath && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
16564
- _chunkXXI7BNB6cjs.Button,
16563
+ "button",
16565
16564
  {
16566
- variant: "transparent",
16567
- size: "small-legacy",
16565
+ type: "button",
16568
16566
  onClick: () => onCopyPath(path),
16569
- className: "ml-4 shrink-0",
16570
- children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _lucidereact.Copy, { className: copyIconSize })
16567
+ "aria-label": `Copy ${path}`,
16568
+ className: "shrink-0 rounded-md text-ods-text-secondary transition-colors hover:text-ods-text-primary focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ods-focus",
16569
+ children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkZS2SBWBRcjs.Copy02Icon, { className: copyIconSize })
16571
16570
  }
16572
16571
  )
16573
16572
  ]
@@ -32356,12 +32355,32 @@ function HubspotTicketChatCard({
32356
32355
  }
32357
32356
  );
32358
32357
  }
32358
+ function FaqChatCard({
32359
+ chatRef,
32360
+ isNewTab,
32361
+ discuss
32362
+ }) {
32363
+ const section = typeof _optionalChain([chatRef, 'access', _659 => _659.metadata, 'optionalAccess', _660 => _660.section]) === "string" ? chatRef.metadata.section.trim() : void 0;
32364
+ const statusLabel = section && section.length > 0 ? section : "FAQ";
32365
+ return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
32366
+ MingoInfoCard,
32367
+ {
32368
+ title: chatRef.title,
32369
+ description: _nullishCoalesce(chatRef.preview, () => ( void 0)),
32370
+ icon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkZS2SBWBRcjs.QuestionCircleIcon, { size: 24 }),
32371
+ status: { label: statusLabel, variant: "grey" },
32372
+ anchorProps: _chunkEI4WALN2cjs.buildAnchorProps.call(void 0, chatRef.url, isNewTab),
32373
+ menuGroups: cardMenuGroups(chatRef.url, discuss),
32374
+ menuAriaLabel: "FAQ actions"
32375
+ }
32376
+ );
32377
+ }
32359
32378
  function SlackChatCard({
32360
32379
  chatRef,
32361
32380
  isNewTab,
32362
32381
  discuss
32363
32382
  }) {
32364
- const channelName = typeof _optionalChain([chatRef, 'access', _659 => _659.metadata, 'optionalAccess', _660 => _660.channelName]) === "string" ? chatRef.metadata.channelName.trim() : void 0;
32383
+ const channelName = typeof _optionalChain([chatRef, 'access', _661 => _661.metadata, 'optionalAccess', _662 => _662.channelName]) === "string" ? chatRef.metadata.channelName.trim() : void 0;
32365
32384
  const channelPretty = channelName ? channelName.startsWith("#") ? channelName : `#${channelName}` : void 0;
32366
32385
  const title = channelPretty ? `${chatRef.title} \xB7 ${channelPretty}` : chatRef.title;
32367
32386
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
@@ -32401,7 +32420,7 @@ function GenericFinancialChatCard({
32401
32420
  isNewTab,
32402
32421
  discuss
32403
32422
  }) {
32404
- const subtitle = typeof _optionalChain([chatRef, 'access', _661 => _661.metadata, 'optionalAccess', _662 => _662.subtitle]) === "string" ? chatRef.metadata.subtitle : void 0;
32423
+ const subtitle = typeof _optionalChain([chatRef, 'access', _663 => _663.metadata, 'optionalAccess', _664 => _664.subtitle]) === "string" ? chatRef.metadata.subtitle : void 0;
32405
32424
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
32406
32425
  MingoInfoCard,
32407
32426
  {
@@ -32470,12 +32489,12 @@ function ProductReleaseChatCard({
32470
32489
  discuss
32471
32490
  }) {
32472
32491
  const releaseProps = buildProps(item);
32473
- const status = _optionalChain([item, 'optionalAccess', _663 => _663.version]) ? { label: String(item.version), variant: "grey" } : { label: "Release", variant: "grey" };
32492
+ const status = _optionalChain([item, 'optionalAccess', _665 => _665.version]) ? { label: String(item.version), variant: "grey" } : { label: "Release", variant: "grey" };
32474
32493
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
32475
32494
  EntityMingoCard,
32476
32495
  {
32477
- title: _nullishCoalesce(_optionalChain([item, 'optionalAccess', _664 => _664.title]), () => ( "")),
32478
- description: _optionalChain([item, 'optionalAccess', _665 => _665.summary]) || releaseProps.formattedDate || void 0,
32496
+ title: _nullishCoalesce(_optionalChain([item, 'optionalAccess', _666 => _666.title]), () => ( "")),
32497
+ description: _optionalChain([item, 'optionalAccess', _667 => _667.summary]) || releaseProps.formattedDate || void 0,
32479
32498
  cover: releaseProps.coverImage || void 0,
32480
32499
  fallbackIcon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkZS2SBWBRcjs.Rocket02Icon, { size: 24 }),
32481
32500
  status,
@@ -32492,17 +32511,17 @@ function CampaignChatCard({
32492
32511
  isNewTab,
32493
32512
  discuss
32494
32513
  }) {
32495
- const goalsCount = Array.isArray(_optionalChain([item, 'optionalAccess', _666 => _666.goals])) ? item.goals.length : 0;
32514
+ const goalsCount = Array.isArray(_optionalChain([item, 'optionalAccess', _668 => _668.goals])) ? item.goals.length : 0;
32496
32515
  const meta = [
32497
- _optionalChain([item, 'optionalAccess', _667 => _667.start_date]) ? _chunkD6RK5YXXcjs.formatDateShort.call(void 0, item.start_date) : null,
32516
+ _optionalChain([item, 'optionalAccess', _669 => _669.start_date]) ? _chunkD6RK5YXXcjs.formatDateShort.call(void 0, item.start_date) : null,
32498
32517
  goalsCount > 0 ? `${goalsCount} goal${goalsCount !== 1 ? "s" : ""}` : null,
32499
32518
  "Marketing campaign"
32500
32519
  ].filter(Boolean).join(" \xB7 ");
32501
32520
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
32502
32521
  EntityMingoCard,
32503
32522
  {
32504
- title: _nullishCoalesce(_optionalChain([item, 'optionalAccess', _668 => _668.name]), () => ( "")),
32505
- description: meta || _optionalChain([item, 'optionalAccess', _669 => _669.description]) || void 0,
32523
+ title: _nullishCoalesce(_optionalChain([item, 'optionalAccess', _670 => _670.name]), () => ( "")),
32524
+ description: meta || _optionalChain([item, 'optionalAccess', _671 => _671.description]) || void 0,
32506
32525
  fallbackIcon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkZS2SBWBRcjs.Megaphone01Icon, { size: 24 }),
32507
32526
  chatRef,
32508
32527
  isNewTab,
@@ -32555,14 +32574,14 @@ function BlogChatCard({
32555
32574
  hasEmbeddedVideo,
32556
32575
  discuss
32557
32576
  }) {
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;
32577
+ 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
32578
  const status = hasEmbeddedVideo ? { label: "Video", variant: "primary" } : category ? { label: category, variant: "grey" } : void 0;
32560
32579
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
32561
32580
  EntityMingoCard,
32562
32581
  {
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),
32582
+ title: _nullishCoalesce(_optionalChain([item, 'optionalAccess', _677 => _677.title]), () => ( "")),
32583
+ description: _nullishCoalesce(_optionalChain([item, 'optionalAccess', _678 => _678.summary]), () => ( void 0)),
32584
+ cover: entityCover(_optionalChain([item, 'optionalAccess', _679 => _679.featured_image]), ogPlaceholder),
32566
32585
  fallbackIcon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkZS2SBWBRcjs.NewspaperIcon, { size: 24 }),
32567
32586
  status,
32568
32587
  chatRef,
@@ -32579,13 +32598,13 @@ function CaseStudyChatCard({
32579
32598
  ogPlaceholder,
32580
32599
  discuss
32581
32600
  }) {
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 ");
32601
+ 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
32602
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
32584
32603
  EntityMingoCard,
32585
32604
  {
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),
32605
+ title: _nullishCoalesce(_optionalChain([item, 'optionalAccess', _684 => _684.title]), () => ( "")),
32606
+ description: _optionalChain([item, 'optionalAccess', _685 => _685.summary]) || meta || void 0,
32607
+ cover: entityCover(_optionalChain([item, 'optionalAccess', _686 => _686.featured_image]), ogPlaceholder),
32589
32608
  fallbackIcon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkZS2SBWBRcjs.TrophyIcon, { size: 24 }),
32590
32609
  status: { label: "Case study", variant: "grey" },
32591
32610
  chatRef,
@@ -32602,13 +32621,13 @@ function CustomerInterviewChatCard({
32602
32621
  ogPlaceholder,
32603
32622
  discuss
32604
32623
  }) {
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 ");
32624
+ 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
32625
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
32607
32626
  EntityMingoCard,
32608
32627
  {
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),
32628
+ title: _nullishCoalesce(_optionalChain([item, 'optionalAccess', _691 => _691.title]), () => ( "")),
32629
+ description: _optionalChain([item, 'optionalAccess', _692 => _692.video_summary]) || meta || void 0,
32630
+ cover: entityCover(_optionalChain([item, 'optionalAccess', _693 => _693.featured_image]), ogPlaceholder),
32612
32631
  fallbackIcon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkZS2SBWBRcjs.MicrophoneIcon, { size: 24 }),
32613
32632
  status: { label: "Interview", variant: "grey" },
32614
32633
  chatRef,
@@ -32625,13 +32644,13 @@ function InvestorUpdateChatCard({
32625
32644
  ogPlaceholder,
32626
32645
  discuss
32627
32646
  }) {
32628
- const title = _optionalChain([item, 'optionalAccess', _692 => _692.title]) || `Update #${_nullishCoalesce(_optionalChain([item, 'optionalAccess', _693 => _693.update_number]), () => ( "?"))}`;
32647
+ const title = _optionalChain([item, 'optionalAccess', _694 => _694.title]) || `Update #${_nullishCoalesce(_optionalChain([item, 'optionalAccess', _695 => _695.update_number]), () => ( "?"))}`;
32629
32648
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
32630
32649
  EntityMingoCard,
32631
32650
  {
32632
32651
  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),
32652
+ 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,
32653
+ cover: entityCover(_optionalChain([item, 'optionalAccess', _700 => _700.featured_image]), ogPlaceholder),
32635
32654
  fallbackIcon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkZS2SBWBRcjs.PresentationLineIcon, { size: 24 }),
32636
32655
  status: { label: "Investor update", variant: "grey" },
32637
32656
  chatRef,
@@ -32648,12 +32667,12 @@ function OnboardingGuideChatCard({
32648
32667
  ogPlaceholder,
32649
32668
  discuss
32650
32669
  }) {
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)));
32670
+ 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
32671
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
32653
32672
  EntityMingoCard,
32654
32673
  {
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)),
32674
+ title: _nullishCoalesce(_optionalChain([item, 'optionalAccess', _704 => _704.title]), () => ( "")),
32675
+ description: _nullishCoalesce(_nullishCoalesce(_optionalChain([item, 'optionalAccess', _705 => _705.summary]), () => ( _optionalChain([item, 'optionalAccess', _706 => _706.description]))), () => ( void 0)),
32657
32676
  cover,
32658
32677
  fallbackIcon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkZS2SBWBRcjs.CompassIcon, { size: 24 }),
32659
32678
  status: { label: "Guide", variant: "grey" },
@@ -32674,25 +32693,25 @@ function ProgramChatCard({
32674
32693
  discuss
32675
32694
  }) {
32676
32695
  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";
32696
+ const isScheduled = _optionalChain([item, 'optionalAccess', _707 => _707.status]) === "scheduled";
32678
32697
  let typeMeta;
32679
- if (configKey === "podcast" && typeof _optionalChain([item, 'optionalAccess', _706 => _706.duration_seconds]) === "number" && item.duration_seconds > 0 && !isScheduled) {
32698
+ if (configKey === "podcast" && typeof _optionalChain([item, 'optionalAccess', _708 => _708.duration_seconds]) === "number" && item.duration_seconds > 0 && !isScheduled) {
32680
32699
  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) {
32700
+ } else if (configKey === "event" && typeof _optionalChain([item, 'optionalAccess', _709 => _709.location_name]) === "string" && item.location_name.trim().length > 0) {
32682
32701
  typeMeta = item.location_name;
32683
- } else if (configKey === "webinar" && _optionalChain([item, 'optionalAccess', _708 => _708.start_at])) {
32702
+ } else if (configKey === "webinar" && _optionalChain([item, 'optionalAccess', _710 => _710.start_at])) {
32684
32703
  const time = _chunkY4JNA4W6cjs.formatTimeWithTimezone.call(void 0, item.start_at, null);
32685
32704
  const dur = _chunkY4JNA4W6cjs.formatDurationFromRange.call(void 0, item.start_at, item.end_at);
32686
32705
  typeMeta = dur ? `${time} \xB7 ${dur}` : time;
32687
32706
  }
32688
- const itemDate = _chunkY4JNA4W6cjs.formatDateUTC.call(void 0, _nullishCoalesce(_optionalChain([item, 'optionalAccess', _709 => _709.date]), () => ( null)), { fallback: "", timezone: "local" });
32707
+ const itemDate = _chunkY4JNA4W6cjs.formatDateUTC.call(void 0, _nullishCoalesce(_optionalChain([item, 'optionalAccess', _711 => _711.date]), () => ( null)), { fallback: "", timezone: "local" });
32689
32708
  const meta = [itemDate, typeMeta].filter(Boolean).join(" \xB7 ");
32690
32709
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
32691
32710
  EntityMingoCard,
32692
32711
  {
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),
32712
+ title: _nullishCoalesce(_optionalChain([item, 'optionalAccess', _712 => _712.title]), () => ( "")),
32713
+ description: meta || _optionalChain([item, 'optionalAccess', _713 => _713.description]) || void 0,
32714
+ cover: entityCover(_optionalChain([item, 'optionalAccess', _714 => _714.cover_url]), ogPlaceholder),
32696
32715
  fallbackIcon: icon,
32697
32716
  status: { label, variant: "grey" },
32698
32717
  chatRef,
@@ -32709,10 +32728,10 @@ function RoadmapChatCard({
32709
32728
  cardType,
32710
32729
  discuss
32711
32730
  }) {
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;
32731
+ const logoUrl = typeof _optionalChain([item, 'optionalAccess', _715 => _715.icon]) === "string" && item.icon.startsWith("http") ? item.icon : void 0;
32732
+ const useTypeIcon = cardType === "internal_task" || !logoUrl && _optionalChain([item, 'optionalAccess', _716 => _716.customItemId]) != null;
32714
32733
  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 ? (
32734
+ const icon = useTypeIcon ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, TaskTypeIcon, { customItemId: _optionalChain([item, 'optionalAccess', _717 => _717.customItemId]), className: "size-6" }) : logoUrl ? (
32716
32735
  // Contained (not full-bleed) so the integration logo keeps its aspect
32717
32736
  // ratio inside the bordered icon box — matches RoadmapCard.
32718
32737
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "img", { src: logoUrl, alt: "", className: "size-6 object-contain" })
@@ -32720,10 +32739,10 @@ function RoadmapChatCard({
32720
32739
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
32721
32740
  EntityMingoCard,
32722
32741
  {
32723
- title: _nullishCoalesce(_optionalChain([item, 'optionalAccess', _716 => _716.title]), () => ( "")),
32724
- description: _nullishCoalesce(_optionalChain([item, 'optionalAccess', _717 => _717.description]), () => ( void 0)),
32742
+ title: _nullishCoalesce(_optionalChain([item, 'optionalAccess', _718 => _718.title]), () => ( "")),
32743
+ description: _nullishCoalesce(_optionalChain([item, 'optionalAccess', _719 => _719.description]), () => ( void 0)),
32725
32744
  fallbackIcon: icon,
32726
- status: statusPill(_optionalChain([item, 'optionalAccess', _718 => _718.status])),
32745
+ status: statusPill(_optionalChain([item, 'optionalAccess', _720 => _720.status])),
32727
32746
  chatRef,
32728
32747
  isNewTab,
32729
32748
  discuss,
@@ -32809,7 +32828,7 @@ function programRegistryEntries() {
32809
32828
  discuss: opts.discuss,
32810
32829
  configKey: cfg.configKey,
32811
32830
  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))
32831
+ ogPlaceholder: _nullishCoalesce(_optionalChain([opts, 'optionalAccess', _721 => _721.extras, 'optionalAccess', _722 => _722.buildOgPlaceholderUrl, 'optionalCall', _723 => _723(_nullishCoalesce(_optionalChain([item, 'optionalAccess', _724 => _724.title]), () => ( "")))]), () => ( null))
32813
32832
  }
32814
32833
  )
32815
32834
  };
@@ -32868,6 +32887,12 @@ var CHAT_CARD_REGISTRY = {
32868
32887
  }
32869
32888
  )
32870
32889
  },
32890
+ faq: {
32891
+ mode: "no-fetch",
32892
+ label: "FAQ",
32893
+ bareInline: true,
32894
+ render: (chatRef, opts) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, FaqChatCard, { chatRef, isNewTab: opts.isNewTab, discuss: opts.discuss })
32895
+ },
32871
32896
  hubspot_ticket: {
32872
32897
  mode: "no-fetch",
32873
32898
  label: "HubSpot ticket",
@@ -32955,8 +32980,8 @@ var CHAT_CARD_REGISTRY = {
32955
32980
  chatRef,
32956
32981
  isNewTab: opts.isNewTab,
32957
32982
  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
32983
+ ogPlaceholder: _nullishCoalesce(_optionalChain([opts, 'optionalAccess', _725 => _725.extras, 'optionalAccess', _726 => _726.buildOgPlaceholderUrl, 'optionalCall', _727 => _727(_nullishCoalesce(_optionalChain([item, 'optionalAccess', _728 => _728.title]), () => ( "")))]), () => ( null)),
32984
+ hasEmbeddedVideo: _optionalChain([chatRef, 'access', _729 => _729.metadata, 'optionalAccess', _730 => _730.hasEmbeddedVideo]) === true
32960
32985
  }
32961
32986
  )
32962
32987
  },
@@ -32973,7 +32998,7 @@ var CHAT_CARD_REGISTRY = {
32973
32998
  chatRef,
32974
32999
  isNewTab: opts.isNewTab,
32975
33000
  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))
33001
+ ogPlaceholder: _nullishCoalesce(_optionalChain([opts, 'optionalAccess', _731 => _731.extras, 'optionalAccess', _732 => _732.buildOgPlaceholderUrl, 'optionalCall', _733 => _733(_nullishCoalesce(_optionalChain([item, 'optionalAccess', _734 => _734.title]), () => ( "")))]), () => ( null))
32977
33002
  }
32978
33003
  )
32979
33004
  },
@@ -32990,7 +33015,7 @@ var CHAT_CARD_REGISTRY = {
32990
33015
  chatRef,
32991
33016
  isNewTab: opts.isNewTab,
32992
33017
  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))
33018
+ ogPlaceholder: _nullishCoalesce(_optionalChain([opts, 'optionalAccess', _735 => _735.extras, 'optionalAccess', _736 => _736.buildOgPlaceholderUrl, 'optionalCall', _737 => _737(_nullishCoalesce(_optionalChain([item, 'optionalAccess', _738 => _738.title]), () => ( "")))]), () => ( null))
32994
33019
  }
32995
33020
  )
32996
33021
  },
@@ -33001,7 +33026,7 @@ var CHAT_CARD_REGISTRY = {
33001
33026
  bareInline: true,
33002
33027
  skeleton: () => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, ProductReleaseCardSkeleton, { size: "sm" }),
33003
33028
  render: (item, chatRef, opts) => {
33004
- const builder = _nullishCoalesce(_optionalChain([opts, 'optionalAccess', _737 => _737.extras, 'optionalAccess', _738 => _738.buildProductReleaseCardProps]), () => ( defaultBuildProductReleaseCardProps));
33029
+ const builder = _nullishCoalesce(_optionalChain([opts, 'optionalAccess', _739 => _739.extras, 'optionalAccess', _740 => _740.buildProductReleaseCardProps]), () => ( defaultBuildProductReleaseCardProps));
33005
33030
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
33006
33031
  ProductReleaseChatCard,
33007
33032
  {
@@ -33028,7 +33053,7 @@ var CHAT_CARD_REGISTRY = {
33028
33053
  chatRef,
33029
33054
  isNewTab: opts.isNewTab,
33030
33055
  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))
33056
+ ogPlaceholder: _nullishCoalesce(_optionalChain([opts, 'optionalAccess', _741 => _741.extras, 'optionalAccess', _742 => _742.buildOgPlaceholderUrl, 'optionalCall', _743 => _743(_nullishCoalesce(_optionalChain([item, 'optionalAccess', _744 => _744.title]), () => ( "")))]), () => ( null))
33032
33057
  }
33033
33058
  )
33034
33059
  },
@@ -33047,7 +33072,7 @@ var CHAT_CARD_REGISTRY = {
33047
33072
  chatRef,
33048
33073
  isNewTab: opts.isNewTab,
33049
33074
  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))
33075
+ ogPlaceholder: _nullishCoalesce(_optionalChain([opts, 'optionalAccess', _745 => _745.extras, 'optionalAccess', _746 => _746.buildOgPlaceholderUrl, 'optionalCall', _747 => _747(_nullishCoalesce(_optionalChain([item, 'optionalAccess', _748 => _748.title]), () => ( "")))]), () => ( null))
33051
33076
  }
33052
33077
  )
33053
33078
  },
@@ -33059,7 +33084,7 @@ var CHAT_CARD_REGISTRY = {
33059
33084
  skeleton: () => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, CampaignCardAdminSkeleton, {}),
33060
33085
  // No public viewer — synthesize the hub-internal admin URL post-fetch
33061
33086
  // so the wrapper + isNewTab computation see the actual destination.
33062
- fallbackHref: (item) => _optionalChain([item, 'optionalAccess', _747 => _747.id]) ? `/admin/campaigns/${encodeURIComponent(item.id)}` : null,
33087
+ fallbackHref: (item) => _optionalChain([item, 'optionalAccess', _749 => _749.id]) ? `/admin/campaigns/${encodeURIComponent(item.id)}` : null,
33063
33088
  render: (item, chatRef, opts) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
33064
33089
  CampaignChatCard,
33065
33090
  {
@@ -33085,12 +33110,12 @@ function ChatCardNavWrap({
33085
33110
  const onClickCapture = (e) => {
33086
33111
  if (!href) return;
33087
33112
  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;
33113
+ if (_optionalChain([targetEl, 'optionalAccess', _750 => _750.closest, 'optionalCall', _751 => _751("button")])) return;
33114
+ if (!_optionalChain([targetEl, 'optionalAccess', _752 => _752.closest, 'optionalCall', _753 => _753("a")])) return;
33090
33115
  const handled = handleChatNavClick(e, runtime, { href, path, targetPlatform }, router.push);
33091
33116
  if (!handled) return;
33092
33117
  e.stopPropagation();
33093
- if (!isNewTab && _optionalChain([panel, 'optionalAccess', _752 => _752.closeChat])) panel.closeChat();
33118
+ if (!isNewTab && _optionalChain([panel, 'optionalAccess', _754 => _754.closeChat])) panel.closeChat();
33094
33119
  };
33095
33120
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "contents", onClickCapture, children });
33096
33121
  }
@@ -33112,7 +33137,7 @@ function ChatCardLoader({
33112
33137
  title: chatRef.title,
33113
33138
  externalUrl: chatRef.url,
33114
33139
  targetPlatform: chatRef.targetPlatform,
33115
- path: typeof _optionalChain([chatRef, 'access', _753 => _753.metadata, 'optionalAccess', _754 => _754.path]) === "string" ? chatRef.metadata.path : null
33140
+ path: typeof _optionalChain([chatRef, 'access', _755 => _755.metadata, 'optionalAccess', _756 => _756.path]) === "string" ? chatRef.metadata.path : null
33116
33141
  },
33117
33142
  _chunkY4JNA4W6cjs.sourceRowCtxFromRuntime.call(void 0, runtime, { baseRoute, chipBasePlatform })
33118
33143
  );
@@ -33126,7 +33151,7 @@ function ChatCardLoader({
33126
33151
  const entry = CHAT_CARD_REGISTRY[resolvedChatRef.type];
33127
33152
  const fetchEntry = entry && entry.mode === "fetch" ? entry : null;
33128
33153
  const { item, isLoading } = useChatCardItem(
33129
- _nullishCoalesce(_optionalChain([fetchEntry, 'optionalAccess', _755 => _755.contentRefType]), () => ( "")),
33154
+ _nullishCoalesce(_optionalChain([fetchEntry, 'optionalAccess', _757 => _757.contentRefType]), () => ( "")),
33130
33155
  fetchEntry ? resolvedChatRef.id : ""
33131
33156
  );
33132
33157
  if (!entry) return null;
@@ -33157,7 +33182,7 @@ function ChatCardLoader({
33157
33182
  isNewTab,
33158
33183
  discuss
33159
33184
  };
33160
- const path = typeof _optionalChain([finalChatRef, 'access', _756 => _756.metadata, 'optionalAccess', _757 => _757.path]) === "string" ? finalChatRef.metadata.path : null;
33185
+ const path = typeof _optionalChain([finalChatRef, 'access', _758 => _758.metadata, 'optionalAccess', _759 => _759.path]) === "string" ? finalChatRef.metadata.path : null;
33161
33186
  const navWrap = (children) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
33162
33187
  ChatCardNavWrap,
33163
33188
  {
@@ -33543,7 +33568,7 @@ function useJetStreamDialogSubscription({
33543
33568
  const lifecycle = _chunkPXXS27EEcjs.startConnectionLifecycle.call(void 0, {
33544
33569
  conn: sharedConn,
33545
33570
  wsUrl,
33546
- onBeforeReconnect: () => _optionalChain([onBeforeReconnectRef, 'access', _758 => _758.current, 'optionalCall', _759 => _759()]),
33571
+ onBeforeReconnect: () => _optionalChain([onBeforeReconnectRef, 'access', _760 => _760.current, 'optionalCall', _761 => _761()]),
33547
33572
  backoff: reconnectionBackoffRef.current,
33548
33573
  getFreshUrl: () => getNatsWsUrlRef.current(),
33549
33574
  // JetStream emits 'error' for protocol-level failures (e.g. -ERR Permissions
@@ -33558,7 +33583,7 @@ function useJetStreamDialogSubscription({
33558
33583
  setReconnectionCount((c) => c + 1);
33559
33584
  }
33560
33585
  hadConnectionBeforeRef.current = true;
33561
- _optionalChain([onConnectRef, 'access', _760 => _760.current, 'optionalCall', _761 => _761()]);
33586
+ _optionalChain([onConnectRef, 'access', _762 => _762.current, 'optionalCall', _763 => _763()]);
33562
33587
  }
33563
33588
  if (status === "error") {
33564
33589
  console.warn("[JetStream] NATS protocol error:", evt.data);
@@ -33568,7 +33593,7 @@ function useJetStreamDialogSubscription({
33568
33593
  setIsConnected(false);
33569
33594
  setIsSubscribed(false);
33570
33595
  tearDownSubscription();
33571
- _optionalChain([onDisconnectRef, 'access', _762 => _762.current, 'optionalCall', _763 => _763()]);
33596
+ _optionalChain([onDisconnectRef, 'access', _764 => _764.current, 'optionalCall', _765 => _765()]);
33572
33597
  }
33573
33598
  }
33574
33599
  });
@@ -33647,7 +33672,7 @@ function useJetStreamDialogSubscription({
33647
33672
  }
33648
33673
  subscriptionRef.current = handle;
33649
33674
  setIsSubscribed(true);
33650
- _optionalChain([onSubscribedRef, 'access', _764 => _764.current, 'optionalCall', _765 => _765()]);
33675
+ _optionalChain([onSubscribedRef, 'access', _766 => _766.current, 'optionalCall', _767 => _767()]);
33651
33676
  } catch (e24) {
33652
33677
  if (!cancelled) {
33653
33678
  setIsSubscribed(false);
@@ -33760,20 +33785,20 @@ function useNatsDialogSubscription({
33760
33785
  const tearDownSubscriptions = () => {
33761
33786
  subscriptionRefs.current.forEach((sub) => {
33762
33787
  try {
33763
- _optionalChain([sub, 'optionalAccess', _766 => _766.unsubscribe, 'call', _767 => _767()]);
33788
+ _optionalChain([sub, 'optionalAccess', _768 => _768.unsubscribe, 'call', _769 => _769()]);
33764
33789
  } catch (e26) {
33765
33790
  }
33766
33791
  });
33767
33792
  subscriptionRefs.current.clear();
33768
33793
  lastSubscribedDialogIdRef.current = null;
33769
- _optionalChain([abortControllerRef, 'access', _768 => _768.current, 'optionalAccess', _769 => _769.abort, 'call', _770 => _770()]);
33794
+ _optionalChain([abortControllerRef, 'access', _770 => _770.current, 'optionalAccess', _771 => _771.abort, 'call', _772 => _772()]);
33770
33795
  abortControllerRef.current = null;
33771
33796
  };
33772
33797
  const isDisconnectStatus = (status) => status === "closed" || status === "disconnected";
33773
33798
  const lifecycle = _chunkPXXS27EEcjs.startConnectionLifecycle.call(void 0, {
33774
33799
  conn: sharedConn,
33775
33800
  wsUrl,
33776
- onBeforeReconnect: () => _optionalChain([onBeforeReconnectRef, 'access', _771 => _771.current, 'optionalCall', _772 => _772()]),
33801
+ onBeforeReconnect: () => _optionalChain([onBeforeReconnectRef, 'access', _773 => _773.current, 'optionalCall', _774 => _774()]),
33777
33802
  backoff: reconnectionBackoffRef.current,
33778
33803
  getFreshUrl: () => getNatsWsUrlRef.current(),
33779
33804
  shouldRetryOn: isDisconnectStatus,
@@ -33784,7 +33809,7 @@ function useNatsDialogSubscription({
33784
33809
  setReconnectionCount((c) => c + 1);
33785
33810
  }
33786
33811
  hadConnectionBeforeRef.current = true;
33787
- _optionalChain([onConnectRef, 'access', _773 => _773.current, 'optionalCall', _774 => _774()]);
33812
+ _optionalChain([onConnectRef, 'access', _775 => _775.current, 'optionalCall', _776 => _776()]);
33788
33813
  }
33789
33814
  if (status === "error") {
33790
33815
  console.warn("[NATS] protocol error:", evt.data);
@@ -33794,7 +33819,7 @@ function useNatsDialogSubscription({
33794
33819
  setIsConnected(false);
33795
33820
  setIsSubscribed(false);
33796
33821
  tearDownSubscriptions();
33797
- _optionalChain([onDisconnectRef, 'access', _775 => _775.current, 'optionalCall', _776 => _776()]);
33822
+ _optionalChain([onDisconnectRef, 'access', _777 => _777.current, 'optionalCall', _778 => _778()]);
33798
33823
  }
33799
33824
  }
33800
33825
  });
@@ -33825,13 +33850,13 @@ function useNatsDialogSubscription({
33825
33850
  setIsSubscribed(false);
33826
33851
  subscriptionRefs.current.forEach((sub) => {
33827
33852
  try {
33828
- _optionalChain([sub, 'optionalAccess', _777 => _777.unsubscribe, 'call', _778 => _778()]);
33853
+ _optionalChain([sub, 'optionalAccess', _779 => _779.unsubscribe, 'call', _780 => _780()]);
33829
33854
  } catch (e27) {
33830
33855
  }
33831
33856
  });
33832
33857
  subscriptionRefs.current.clear();
33833
33858
  lastSubscribedDialogIdRef.current = null;
33834
- _optionalChain([abortControllerRef, 'access', _779 => _779.current, 'optionalAccess', _780 => _780.abort, 'call', _781 => _781()]);
33859
+ _optionalChain([abortControllerRef, 'access', _781 => _781.current, 'optionalAccess', _782 => _782.abort, 'call', _783 => _783()]);
33835
33860
  abortControllerRef.current = null;
33836
33861
  }
33837
33862
  return;
@@ -33843,12 +33868,12 @@ function useNatsDialogSubscription({
33843
33868
  if (subscriptionRefs.current.size > 0) {
33844
33869
  subscriptionRefs.current.forEach((sub) => {
33845
33870
  try {
33846
- _optionalChain([sub, 'optionalAccess', _782 => _782.unsubscribe, 'call', _783 => _783()]);
33871
+ _optionalChain([sub, 'optionalAccess', _784 => _784.unsubscribe, 'call', _785 => _785()]);
33847
33872
  } catch (e28) {
33848
33873
  }
33849
33874
  });
33850
33875
  subscriptionRefs.current.clear();
33851
- _optionalChain([abortControllerRef, 'access', _784 => _784.current, 'optionalAccess', _785 => _785.abort, 'call', _786 => _786()]);
33876
+ _optionalChain([abortControllerRef, 'access', _786 => _786.current, 'optionalAccess', _787 => _787.abort, 'call', _788 => _788()]);
33852
33877
  }
33853
33878
  abortControllerRef.current = new AbortController();
33854
33879
  const abort = abortControllerRef.current;
@@ -33880,7 +33905,7 @@ function useNatsDialogSubscription({
33880
33905
  });
33881
33906
  lastSubscribedDialogIdRef.current = dialogId;
33882
33907
  setIsSubscribed(true);
33883
- _optionalChain([onSubscribedRef, 'access', _787 => _787.current, 'optionalCall', _788 => _788()]);
33908
+ _optionalChain([onSubscribedRef, 'access', _789 => _789.current, 'optionalCall', _790 => _790()]);
33884
33909
  };
33885
33910
  if (isConnectedRef.current) {
33886
33911
  createSubscriptions();
@@ -33890,7 +33915,7 @@ function useNatsDialogSubscription({
33890
33915
  abort.abort();
33891
33916
  subscriptionRefs.current.forEach((sub) => {
33892
33917
  try {
33893
- _optionalChain([sub, 'optionalAccess', _789 => _789.unsubscribe, 'call', _790 => _790()]);
33918
+ _optionalChain([sub, 'optionalAccess', _791 => _791.unsubscribe, 'call', _792 => _792()]);
33894
33919
  } catch (e30) {
33895
33920
  }
33896
33921
  });
@@ -33931,7 +33956,7 @@ function useNatsDialogSubscription({
33931
33956
  });
33932
33957
  lastSubscribedDialogIdRef.current = dialogId2;
33933
33958
  setIsSubscribed(true);
33934
- _optionalChain([onSubscribedRef, 'access', _791 => _791.current, 'optionalCall', _792 => _792()]);
33959
+ _optionalChain([onSubscribedRef, 'access', _793 => _793.current, 'optionalCall', _794 => _794()]);
33935
33960
  } else if (subscriptionRefs.current.size > 0) {
33936
33961
  setIsSubscribed(true);
33937
33962
  }
@@ -33939,10 +33964,10 @@ function useNatsDialogSubscription({
33939
33964
  return { isConnected, isSubscribed, reconnectionCount };
33940
33965
  }
33941
33966
  function buildNatsWsUrl(apiBaseUrl, options) {
33942
- const path = _optionalChain([options, 'optionalAccess', _793 => _793.source]) === "dashboard" ? "/ws/nats-api" : "/ws/nats";
33967
+ const path = _optionalChain([options, 'optionalAccess', _795 => _795.source]) === "dashboard" ? "/ws/nats-api" : "/ws/nats";
33943
33968
  const u = new URL(path, apiBaseUrl);
33944
33969
  u.protocol = u.protocol === "https:" ? "wss:" : "ws:";
33945
- if (_optionalChain([options, 'optionalAccess', _794 => _794.includeAuthParam]) && _optionalChain([options, 'optionalAccess', _795 => _795.token])) {
33970
+ if (_optionalChain([options, 'optionalAccess', _796 => _796.includeAuthParam]) && _optionalChain([options, 'optionalAccess', _797 => _797.token])) {
33946
33971
  u.searchParams.set("authorization", options.token);
33947
33972
  }
33948
33973
  return u.toString();
@@ -34263,8 +34288,8 @@ var MessageSegmentAccumulator = class {
34263
34288
  type: "tool_execution",
34264
34289
  data: {
34265
34290
  ...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])
34291
+ toolTitle: _nullishCoalesce(_nullishCoalesce(toolData.toolTitle, () => ( _optionalChain([existingExecuting, 'optionalAccess', _798 => _798.data, 'access', _799 => _799.toolTitle]))), () => ( _optionalChain([executingTool, 'optionalAccess', _800 => _800.toolTitle]))),
34292
+ parameters: toolData.parameters || _optionalChain([executingTool, 'optionalAccess', _801 => _801.parameters])
34268
34293
  }
34269
34294
  };
34270
34295
  if (existingIndex !== -1) {
@@ -34288,8 +34313,8 @@ var MessageSegmentAccumulator = class {
34288
34313
  if (seg.type !== "approval_batch") return seg;
34289
34314
  const hasCall = seg.data.toolCalls.some((c) => c.toolExecutionRequestId === execId);
34290
34315
  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]) };
34316
+ const prev = _optionalChain([seg, 'access', _802 => _802.data, 'access', _803 => _803.executions, 'optionalAccess', _804 => _804[execId]]);
34317
+ 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
34318
  matched = true;
34294
34319
  return {
34295
34320
  ...seg,
@@ -34411,10 +34436,10 @@ var MessageSegmentAccumulator = class {
34411
34436
  const segment = {
34412
34437
  type: "approval_request",
34413
34438
  data: {
34414
- command: _optionalChain([pendingApproval, 'optionalAccess', _805 => _805.command]) || "",
34415
- explanation: _optionalChain([pendingApproval, 'optionalAccess', _806 => _806.explanation]),
34439
+ command: _optionalChain([pendingApproval, 'optionalAccess', _807 => _807.command]) || "",
34440
+ explanation: _optionalChain([pendingApproval, 'optionalAccess', _808 => _808.explanation]),
34416
34441
  requestId,
34417
- approvalType: _optionalChain([pendingApproval, 'optionalAccess', _807 => _807.approvalType]) || approvalType
34442
+ approvalType: _optionalChain([pendingApproval, 'optionalAccess', _809 => _809.approvalType]) || approvalType
34418
34443
  },
34419
34444
  status,
34420
34445
  onApprove: this.callbacks.onApprove,
@@ -34607,7 +34632,7 @@ function useRealtimeChunkProcessor(options) {
34607
34632
  if (initialState.escalatedApprovals) {
34608
34633
  pendingEscalatedRef.current = new Map(initialState.escalatedApprovals);
34609
34634
  initialState.escalatedApprovals.forEach((data, requestId) => {
34610
- _optionalChain([callbacks, 'access', _808 => _808.onEscalatedApproval, 'optionalCall', _809 => _809(requestId, data)]);
34635
+ _optionalChain([callbacks, 'access', _810 => _810.onEscalatedApproval, 'optionalCall', _811 => _811(requestId, data)]);
34611
34636
  });
34612
34637
  }
34613
34638
  hasEverStreamedRef.current = true;
@@ -34631,12 +34656,12 @@ function useRealtimeChunkProcessor(options) {
34631
34656
  if (!action) return;
34632
34657
  const accumulator = accumulatorRef.current;
34633
34658
  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)]);
34659
+ const emitSegments = (s, meta) => _optionalChain([callbacks, 'access', _812 => _812.onSegmentsUpdate, 'optionalCall', _813 => _813(s, streamSeq != null ? { ...meta, streamSeq } : meta)]);
34635
34660
  if (action.action === "direct_message") sawDirectMessageRef.current = true;
34636
34661
  if ((directModeFlagRef.current || sawDirectMessageRef.current) && !DIRECT_MODE_ALLOWED.has(action.action)) {
34637
34662
  if (isInStreamRef.current) {
34638
34663
  isInStreamRef.current = false;
34639
- _optionalChain([callbacks, 'access', _812 => _812.onStreamEnd, 'optionalCall', _813 => _813()]);
34664
+ _optionalChain([callbacks, 'access', _814 => _814.onStreamEnd, 'optionalCall', _815 => _815()]);
34640
34665
  accumulator.resetSegments();
34641
34666
  }
34642
34667
  return;
@@ -34645,16 +34670,16 @@ function useRealtimeChunkProcessor(options) {
34645
34670
  case "message_start":
34646
34671
  isInStreamRef.current = true;
34647
34672
  hasEverStreamedRef.current = true;
34648
- _optionalChain([callbacks, 'access', _814 => _814.onStreamStart, 'optionalCall', _815 => _815()]);
34673
+ _optionalChain([callbacks, 'access', _816 => _816.onStreamStart, 'optionalCall', _817 => _817()]);
34649
34674
  accumulator.resetSegments();
34650
34675
  break;
34651
34676
  case "message_end":
34652
34677
  isInStreamRef.current = false;
34653
- _optionalChain([callbacks, 'access', _816 => _816.onStreamEnd, 'optionalCall', _817 => _817()]);
34678
+ _optionalChain([callbacks, 'access', _818 => _818.onStreamEnd, 'optionalCall', _819 => _819()]);
34654
34679
  accumulator.resetSegments();
34655
34680
  break;
34656
34681
  case "metadata":
34657
- _optionalChain([callbacks, 'access', _818 => _818.onMetadata, 'optionalCall', _819 => _819(action)]);
34682
+ _optionalChain([callbacks, 'access', _820 => _820.onMetadata, 'optionalCall', _821 => _821(action)]);
34658
34683
  break;
34659
34684
  case "text": {
34660
34685
  const segments = accumulator.appendText(action.text);
@@ -34697,7 +34722,7 @@ function useRealtimeChunkProcessor(options) {
34697
34722
  emitSegments(segments);
34698
34723
  } else {
34699
34724
  pendingEscalatedRef.current.set(requestId, { command, explanation, approvalType });
34700
- _optionalChain([callbacks, 'access', _820 => _820.onEscalatedApproval, 'optionalCall', _821 => _821(requestId, { command, explanation, approvalType })]);
34725
+ _optionalChain([callbacks, 'access', _822 => _822.onEscalatedApproval, 'optionalCall', _823 => _823(requestId, { command, explanation, approvalType })]);
34701
34726
  }
34702
34727
  break;
34703
34728
  }
@@ -34709,13 +34734,13 @@ function useRealtimeChunkProcessor(options) {
34709
34734
  const summary = required ? getCommandText(required) : `Batch of ${toolCalls.length} tool calls`;
34710
34735
  pendingEscalatedRef.current.set(requestId, {
34711
34736
  command: summary,
34712
- explanation: _optionalChain([required, 'optionalAccess', _822 => _822.toolExplanation]),
34737
+ explanation: _optionalChain([required, 'optionalAccess', _824 => _824.toolExplanation]),
34713
34738
  approvalType,
34714
34739
  toolCalls
34715
34740
  });
34716
- _optionalChain([callbacks, 'access', _823 => _823.onEscalatedApproval, 'optionalCall', _824 => _824(requestId, {
34741
+ _optionalChain([callbacks, 'access', _825 => _825.onEscalatedApproval, 'optionalCall', _826 => _826(requestId, {
34717
34742
  command: summary,
34718
- explanation: _optionalChain([required, 'optionalAccess', _825 => _825.toolExplanation]),
34743
+ explanation: _optionalChain([required, 'optionalAccess', _827 => _827.toolExplanation]),
34719
34744
  approvalType
34720
34745
  })]);
34721
34746
  break;
@@ -34745,7 +34770,7 @@ function useRealtimeChunkProcessor(options) {
34745
34770
  const status = approved ? "approved" : "rejected";
34746
34771
  if (escalatedData) {
34747
34772
  pendingEscalatedRef.current.delete(requestId);
34748
- _optionalChain([callbacks, 'access', _826 => _826.onEscalatedApprovalResult, 'optionalCall', _827 => _827(requestId, approved, {
34773
+ _optionalChain([callbacks, 'access', _828 => _828.onEscalatedApprovalResult, 'optionalCall', _829 => _829(requestId, approved, {
34749
34774
  command: escalatedData.command,
34750
34775
  explanation: escalatedData.explanation,
34751
34776
  approvalType: escalatedData.approvalType
@@ -34791,29 +34816,29 @@ function useRealtimeChunkProcessor(options) {
34791
34816
  emitSegments(accumulator.getSegments());
34792
34817
  }
34793
34818
  }
34794
- _optionalChain([callbacks, 'access', _828 => _828.onApprovalResolved, 'optionalCall', _829 => _829(requestId, status, approvalType, resolvedByName)]);
34819
+ _optionalChain([callbacks, 'access', _830 => _830.onApprovalResolved, 'optionalCall', _831 => _831(requestId, status, approvalType, resolvedByName)]);
34795
34820
  break;
34796
34821
  }
34797
34822
  case "error": {
34798
34823
  let message2;
34799
- if ("details" in action && _optionalChain([action, 'optionalAccess', _830 => _830.details])) {
34824
+ if ("details" in action && _optionalChain([action, 'optionalAccess', _832 => _832.details])) {
34800
34825
  try {
34801
- message2 = _optionalChain([JSON, 'access', _831 => _831.parse, 'call', _832 => _832(action.details), 'optionalAccess', _833 => _833.error, 'optionalAccess', _834 => _834.message]);
34826
+ message2 = _optionalChain([JSON, 'access', _833 => _833.parse, 'call', _834 => _834(action.details), 'optionalAccess', _835 => _835.error, 'optionalAccess', _836 => _836.message]);
34802
34827
  } catch (e32) {
34803
34828
  message2 = action.details;
34804
34829
  }
34805
34830
  }
34806
34831
  const segments = accumulator.addError(action.error, message2);
34807
34832
  emitSegments(segments);
34808
- _optionalChain([callbacks, 'access', _835 => _835.onError, 'optionalCall', _836 => _836(action.error, message2)]);
34833
+ _optionalChain([callbacks, 'access', _837 => _837.onError, 'optionalCall', _838 => _838(action.error, message2)]);
34809
34834
  break;
34810
34835
  }
34811
34836
  case "system": {
34812
- _optionalChain([callbacks, 'access', _837 => _837.onSystemMessage, 'optionalCall', _838 => _838(action.text, { streamSeq })]);
34837
+ _optionalChain([callbacks, 'access', _839 => _839.onSystemMessage, 'optionalCall', _840 => _840(action.text, { streamSeq })]);
34813
34838
  break;
34814
34839
  }
34815
34840
  case "direct_message": {
34816
- _optionalChain([callbacks, 'access', _839 => _839.onDirectMessage, 'optionalCall', _840 => _840(action.text, {
34841
+ _optionalChain([callbacks, 'access', _841 => _841.onDirectMessage, 'optionalCall', _842 => _842(action.text, {
34817
34842
  ownerType: action.ownerType,
34818
34843
  displayName: action.displayName,
34819
34844
  userId: action.userId,
@@ -34822,7 +34847,7 @@ function useRealtimeChunkProcessor(options) {
34822
34847
  break;
34823
34848
  }
34824
34849
  case "message_request":
34825
- _optionalChain([callbacks, 'access', _841 => _841.onUserMessage, 'optionalCall', _842 => _842(action.text, {
34850
+ _optionalChain([callbacks, 'access', _843 => _843.onUserMessage, 'optionalCall', _844 => _844(action.text, {
34826
34851
  ownerType: action.ownerType,
34827
34852
  displayName: action.displayName,
34828
34853
  userId: action.userId,
@@ -34830,7 +34855,7 @@ function useRealtimeChunkProcessor(options) {
34830
34855
  })]);
34831
34856
  break;
34832
34857
  case "token_usage":
34833
- _optionalChain([callbacks, 'access', _843 => _843.onTokenUsage, 'optionalCall', _844 => _844(action.data)]);
34858
+ _optionalChain([callbacks, 'access', _845 => _845.onTokenUsage, 'optionalCall', _846 => _846(action.data)]);
34834
34859
  break;
34835
34860
  case "context_compaction_start": {
34836
34861
  const standalone = !isInStreamRef.current;
@@ -34845,7 +34870,7 @@ function useRealtimeChunkProcessor(options) {
34845
34870
  break;
34846
34871
  }
34847
34872
  case "dialog_closed":
34848
- _optionalChain([callbacks, 'access', _845 => _845.onDialogClosed, 'optionalCall', _846 => _846()]);
34873
+ _optionalChain([callbacks, 'access', _847 => _847.onDialogClosed, 'optionalCall', _848 => _848()]);
34849
34874
  break;
34850
34875
  default:
34851
34876
  break;
@@ -34907,7 +34932,7 @@ function useSlashCommands(prefix, commandsUrl) {
34907
34932
  const next = await fetchSlashCommands(prefix, ctrl.signal, commandsUrl);
34908
34933
  if (!cancelled) setCommands(next);
34909
34934
  } catch (err) {
34910
- if (!cancelled && _optionalChain([err, 'optionalAccess', _847 => _847.name]) !== "AbortError") {
34935
+ if (!cancelled && _optionalChain([err, 'optionalAccess', _849 => _849.name]) !== "AbortError") {
34911
34936
  console.warn("[use-slash-commands] fetch failed:", err);
34912
34937
  }
34913
34938
  } finally {
@@ -34926,7 +34951,7 @@ function useSlashCommandRegistry(commandsUrl, options) {
34926
34951
  const query = _reactquery.useQuery.call(void 0, {
34927
34952
  queryKey: ["chat-slash-commands", commandsUrl],
34928
34953
  queryFn: ({ signal }) => fetchSlashCommands("", signal, commandsUrl),
34929
- enabled: _nullishCoalesce(_optionalChain([options, 'optionalAccess', _848 => _848.enabled]), () => ( true)),
34954
+ enabled: _nullishCoalesce(_optionalChain([options, 'optionalAccess', _850 => _850.enabled]), () => ( true)),
34930
34955
  staleTime: Infinity,
34931
34956
  gcTime: Infinity
34932
34957
  });
@@ -34956,13 +34981,13 @@ async function fetchEmptyStateConfig(signal, emptyStateUrl) {
34956
34981
  }
34957
34982
  const data = await res.json();
34958
34983
  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]), () => ( []))
34984
+ greeting: _nullishCoalesce(_optionalChain([data, 'optionalAccess', _851 => _851.greeting]), () => ( null)),
34985
+ enabledRagTableIds: _nullishCoalesce(_optionalChain([data, 'optionalAccess', _852 => _852.enabledRagTableIds]), () => ( [])),
34986
+ suggestedQueries: _nullishCoalesce(_optionalChain([data, 'optionalAccess', _853 => _853.suggestedQueries]), () => ( []))
34962
34987
  };
34963
34988
  }
34964
34989
  function useEmptyStateConfig(emptyStateUrl, options) {
34965
- const enabled = (_nullishCoalesce(_optionalChain([options, 'optionalAccess', _852 => _852.enabled]), () => ( true))) && !!emptyStateUrl;
34990
+ const enabled = (_nullishCoalesce(_optionalChain([options, 'optionalAccess', _854 => _854.enabled]), () => ( true))) && !!emptyStateUrl;
34966
34991
  const query = _reactquery.useQuery.call(void 0, {
34967
34992
  queryKey: ["chat-empty-state", emptyStateUrl],
34968
34993
  queryFn: ({ signal }) => fetchEmptyStateConfig(signal, emptyStateUrl),
@@ -34987,7 +35012,7 @@ var CHAT_ATTACHMENT_MAX_SIZE_BYTES = 25 * 1024 * 1024;
34987
35012
  var STORAGE_CACHE_CONTROL_IMMUTABLE = "public, max-age=31536000, immutable";
34988
35013
  function uploadWithProgress(url, file, token, onProgress, signal) {
34989
35014
  return new Promise((resolve, reject) => {
34990
- if (_optionalChain([signal, 'optionalAccess', _853 => _853.aborted])) {
35015
+ if (_optionalChain([signal, 'optionalAccess', _855 => _855.aborted])) {
34991
35016
  reject(new Error("Upload cancelled"));
34992
35017
  return;
34993
35018
  }
@@ -35001,7 +35026,7 @@ function uploadWithProgress(url, file, token, onProgress, signal) {
35001
35026
  xhr.removeEventListener("error", handleError);
35002
35027
  xhr.removeEventListener("abort", handleAbort);
35003
35028
  xhr.removeEventListener("timeout", handleTimeout);
35004
- _optionalChain([signal, 'optionalAccess', _854 => _854.removeEventListener, 'call', _855 => _855("abort", handleSignalAbort)]);
35029
+ _optionalChain([signal, 'optionalAccess', _856 => _856.removeEventListener, 'call', _857 => _857("abort", handleSignalAbort)]);
35005
35030
  if (xhr.readyState !== XMLHttpRequest.DONE) xhr.abort();
35006
35031
  };
35007
35032
  const handleProgress = (event) => {
@@ -35037,7 +35062,7 @@ function uploadWithProgress(url, file, token, onProgress, signal) {
35037
35062
  const handleSignalAbort = () => {
35038
35063
  xhr.abort();
35039
35064
  };
35040
- _optionalChain([signal, 'optionalAccess', _856 => _856.addEventListener, 'call', _857 => _857("abort", handleSignalAbort, { once: true })]);
35065
+ _optionalChain([signal, 'optionalAccess', _858 => _858.addEventListener, 'call', _859 => _859("abort", handleSignalAbort, { once: true })]);
35041
35066
  xhr.upload.addEventListener("progress", handleProgress);
35042
35067
  xhr.addEventListener("load", handleLoad);
35043
35068
  xhr.addEventListener("error", handleError);
@@ -35081,12 +35106,12 @@ function useChatAttachments() {
35081
35106
  try {
35082
35107
  sniffed = await _filetype.fileTypeFromBlob.call(void 0, att.file);
35083
35108
  } catch (err) {
35084
- if (_optionalChain([ctrl, 'optionalAccess', _858 => _858.signal, 'access', _859 => _859.aborted])) return;
35109
+ if (_optionalChain([ctrl, 'optionalAccess', _860 => _860.signal, 'access', _861 => _861.aborted])) return;
35085
35110
  throw new Error(
35086
35111
  `Could not read file content: ${err instanceof Error ? err.message : String(err)}`
35087
35112
  );
35088
35113
  }
35089
- if (_optionalChain([ctrl, 'optionalAccess', _860 => _860.signal, 'access', _861 => _861.aborted])) return;
35114
+ if (_optionalChain([ctrl, 'optionalAccess', _862 => _862.signal, 'access', _863 => _863.aborted])) return;
35090
35115
  if (!sniffed) {
35091
35116
  throw new Error("Unrecognized file format");
35092
35117
  }
@@ -35100,7 +35125,7 @@ function useChatAttachments() {
35100
35125
  const urlResp = await _chunkYETA25JWcjs.embedAuthedFetch.call(void 0, uploadUrlEndpoint, {
35101
35126
  method: "POST",
35102
35127
  headers: { "Content-Type": "application/json" },
35103
- signal: _optionalChain([ctrl, 'optionalAccess', _862 => _862.signal]),
35128
+ signal: _optionalChain([ctrl, 'optionalAccess', _864 => _864.signal]),
35104
35129
  body: JSON.stringify({
35105
35130
  fileName: att.file.name,
35106
35131
  // Pass the SNIFFED MIME (not `file.type`, which can be a
@@ -35126,9 +35151,9 @@ function useChatAttachments() {
35126
35151
  (pct) => {
35127
35152
  updateOne(att.id, { progress: pct });
35128
35153
  },
35129
- _optionalChain([ctrl, 'optionalAccess', _863 => _863.signal])
35154
+ _optionalChain([ctrl, 'optionalAccess', _865 => _865.signal])
35130
35155
  );
35131
- if (_optionalChain([ctrl, 'optionalAccess', _864 => _864.signal, 'access', _865 => _865.aborted])) return;
35156
+ if (_optionalChain([ctrl, 'optionalAccess', _866 => _866.signal, 'access', _867 => _867.aborted])) return;
35132
35157
  updateOne(att.id, {
35133
35158
  status: "ready",
35134
35159
  progress: 100,
@@ -35136,7 +35161,7 @@ function useChatAttachments() {
35136
35161
  viewToken: mintData.viewToken
35137
35162
  });
35138
35163
  } catch (err) {
35139
- if (_optionalChain([ctrl, 'optionalAccess', _866 => _866.signal, 'access', _867 => _867.aborted])) return;
35164
+ if (_optionalChain([ctrl, 'optionalAccess', _868 => _868.signal, 'access', _869 => _869.aborted])) return;
35140
35165
  const message2 = err instanceof Error ? err.message : String(err);
35141
35166
  updateOne(att.id, { status: "error", progress: 0, errorMessage: message2 });
35142
35167
  } finally {
@@ -35287,7 +35312,7 @@ var ANON_DEFAULTS = {
35287
35312
  function useResolveChatIdentity(enabled) {
35288
35313
  const runtime = _chunkAQOWFSMBcjs.useRequiredChatRuntime.call(void 0, );
35289
35314
  const url = runtime.endpoints.identityUrl;
35290
- const proxyEmail = _nullishCoalesce(_optionalChain([_chunkYETA25JWcjs.getEmbedProxyAuth.call(void 0, ), 'optionalAccess', _868 => _868.email]), () => ( null));
35315
+ const proxyEmail = _nullishCoalesce(_optionalChain([_chunkYETA25JWcjs.getEmbedProxyAuth.call(void 0, ), 'optionalAccess', _870 => _870.email]), () => ( null));
35291
35316
  const [data, setData] = _react.useState.call(void 0, ANON_DEFAULTS);
35292
35317
  const [isLoading, setIsLoading] = _react.useState.call(void 0, enabled);
35293
35318
  _react.useEffect.call(void 0, () => {
@@ -35375,7 +35400,7 @@ function useSSE({ useMock = true, debugMode = false, streamFn } = {}) {
35375
35400
  yield chunk;
35376
35401
  }
35377
35402
  } catch (err) {
35378
- if (_optionalChain([err, 'optionalAccess', _869 => _869.name]) === "AbortError" || ctrl.signal.aborted) {
35403
+ if (_optionalChain([err, 'optionalAccess', _871 => _871.name]) === "AbortError" || ctrl.signal.aborted) {
35379
35404
  return;
35380
35405
  }
35381
35406
  const errorMessage = err instanceof Error ? err.message : "An error occurred";
@@ -35426,7 +35451,7 @@ function useChat({
35426
35451
  const onMessagesChangeRef = _react.useRef.call(void 0, onMessagesChange);
35427
35452
  onMessagesChangeRef.current = onMessagesChange;
35428
35453
  _react.useEffect.call(void 0, () => {
35429
- _optionalChain([onMessagesChangeRef, 'access', _870 => _870.current, 'optionalCall', _871 => _871(messages)]);
35454
+ _optionalChain([onMessagesChangeRef, 'access', _872 => _872.current, 'optionalCall', _873 => _873(messages)]);
35430
35455
  }, [messages]);
35431
35456
  const {
35432
35457
  streamMessage,
@@ -35463,7 +35488,7 @@ function useChat({
35463
35488
  name: "You",
35464
35489
  content: text,
35465
35490
  timestamp: /* @__PURE__ */ new Date(),
35466
- ..._optionalChain([options, 'optionalAccess', _872 => _872.hidden]) ? { hidden: true } : {}
35491
+ ..._optionalChain([options, 'optionalAccess', _874 => _874.hidden]) ? { hidden: true } : {}
35467
35492
  };
35468
35493
  addMessage(userMessage);
35469
35494
  setIsTyping(true);
@@ -35525,7 +35550,7 @@ function useChat({
35525
35550
  currentTextSegment = "";
35526
35551
  }
35527
35552
  const seg = segment;
35528
- const proposalId = _optionalChain([seg, 'access', _873 => _873.data, 'optionalAccess', _874 => _874.requestId]);
35553
+ const proposalId = _optionalChain([seg, 'access', _875 => _875.data, 'optionalAccess', _876 => _876.requestId]);
35529
35554
  const updateApprovalMessage = (transform) => {
35530
35555
  setMessages((prev) => {
35531
35556
  for (let i = prev.length - 1; i >= 0; i--) {
@@ -35534,7 +35559,7 @@ function useChat({
35534
35559
  if (!Array.isArray(m.content)) continue;
35535
35560
  const segments = m.content;
35536
35561
  const hasMatch = segments.some(
35537
- (s) => s.type === "approval_request" && _optionalChain([s, 'access', _875 => _875.data, 'optionalAccess', _876 => _876.requestId]) === proposalId
35562
+ (s) => s.type === "approval_request" && _optionalChain([s, 'access', _877 => _877.data, 'optionalAccess', _878 => _878.requestId]) === proposalId
35538
35563
  );
35539
35564
  if (!hasMatch) continue;
35540
35565
  const next = [...prev];
@@ -35576,11 +35601,11 @@ function useChat({
35576
35601
  if (!Array.isArray(m.content)) continue;
35577
35602
  const segments = m.content;
35578
35603
  const hasMatch = segments.some(
35579
- (s) => s.type === "approval_request" && _optionalChain([s, 'access', _877 => _877.data, 'optionalAccess', _878 => _878.requestId]) === decision.proposalId
35604
+ (s) => s.type === "approval_request" && _optionalChain([s, 'access', _879 => _879.data, 'optionalAccess', _880 => _880.requestId]) === decision.proposalId
35580
35605
  );
35581
35606
  if (!hasMatch) continue;
35582
35607
  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
35608
+ (s) => s.type === "approval_request" && _optionalChain([s, 'access', _881 => _881.data, 'optionalAccess', _882 => _882.requestId]) === decision.proposalId ? { ...s, status: decision.action } : s
35584
35609
  );
35585
35610
  const next = [...prev];
35586
35611
  next[i] = { ...m, content: flipped };
@@ -35742,8 +35767,8 @@ function createDocStreamFn(source, endpoints, messagesRef, sourcesMapRef, refsMa
35742
35767
  })),
35743
35768
  { role: "user", content: message2 }
35744
35769
  ];
35745
- const targetPath = _optionalChain([extra, 'optionalAccess', _881 => _881.approvalAction]) ? endpoints.approvalToolUrl : endpoints.chatStreamUrl;
35746
- const requestBody = _optionalChain([extra, 'optionalAccess', _882 => _882.approvalAction]) ? {
35770
+ const targetPath = _optionalChain([extra, 'optionalAccess', _883 => _883.approvalAction]) ? endpoints.approvalToolUrl : endpoints.chatStreamUrl;
35771
+ const requestBody = _optionalChain([extra, 'optionalAccess', _884 => _884.approvalAction]) ? {
35747
35772
  proposal_id: extra.approvalAction.proposalId,
35748
35773
  action: extra.approvalAction.action,
35749
35774
  messages: currentMessages.filter((m) => (m.role === "user" || m.role === "assistant") && !m.hidden).map((m) => ({
@@ -35752,8 +35777,8 @@ function createDocStreamFn(source, endpoints, messagesRef, sourcesMapRef, refsMa
35752
35777
  }))
35753
35778
  } : {
35754
35779
  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 } : {}
35780
+ ..._optionalChain([extra, 'optionalAccess', _885 => _885.commandOverride]) ? { commandOverride: extra.commandOverride } : {},
35781
+ ..._optionalChain([extra, 'optionalAccess', _886 => _886.pendingAttachments]) && extra.pendingAttachments.length > 0 ? { pendingAttachments: extra.pendingAttachments } : {}
35757
35782
  };
35758
35783
  const response = await _chunkYETA25JWcjs.embedAuthedFetch.call(void 0, targetPath, {
35759
35784
  method: "POST",
@@ -35763,7 +35788,7 @@ function createDocStreamFn(source, endpoints, messagesRef, sourcesMapRef, refsMa
35763
35788
  if (!response.ok) {
35764
35789
  throw new Error(`Chat request failed: ${response.status}`);
35765
35790
  }
35766
- const reader = _optionalChain([response, 'access', _885 => _885.body, 'optionalAccess', _886 => _886.getReader, 'call', _887 => _887()]);
35791
+ const reader = _optionalChain([response, 'access', _887 => _887.body, 'optionalAccess', _888 => _888.getReader, 'call', _889 => _889()]);
35767
35792
  if (!reader) throw new Error("No response body");
35768
35793
  const decoder = new TextDecoder();
35769
35794
  let buffer = "";
@@ -35846,7 +35871,7 @@ function createDocStreamFn(source, endpoints, messagesRef, sourcesMapRef, refsMa
35846
35871
  const toolName = typeof meta.tool_name === "string" ? meta.tool_name : void 0;
35847
35872
  const result = _nullishCoalesce(meta.result, () => ( null));
35848
35873
  const card = _nullishCoalesce(meta.card, () => ( null));
35849
- if (_optionalChain([card, 'optionalAccess', _888 => _888.ref, 'optionalAccess', _889 => _889.id]) && _optionalChain([card, 'optionalAccess', _890 => _890.type])) {
35874
+ if (_optionalChain([card, 'optionalAccess', _890 => _890.ref, 'optionalAccess', _891 => _891.id]) && _optionalChain([card, 'optionalAccess', _892 => _892.type])) {
35850
35875
  const existing = _nullishCoalesce(refsMapRef.current.get(sendIdx), () => ( {}));
35851
35876
  const key = buildChatRefKey(card.type, card.ref.id);
35852
35877
  refsMapRef.current.set(sendIdx, { ...existing, [key]: card.ref });
@@ -35859,8 +35884,8 @@ function createDocStreamFn(source, endpoints, messagesRef, sourcesMapRef, refsMa
35859
35884
  willAutoContinue: meta.willAutoContinue === true,
35860
35885
  ...toolName ? { toolName } : {},
35861
35886
  ...result ? { result } : {},
35862
- ..._optionalChain([card, 'optionalAccess', _891 => _891.marker]) ? { marker: card.marker } : {},
35863
- ..._optionalChain([card, 'optionalAccess', _892 => _892.ref]) ? { cardRef: card.ref } : {},
35887
+ ..._optionalChain([card, 'optionalAccess', _893 => _893.marker]) ? { marker: card.marker } : {},
35888
+ ..._optionalChain([card, 'optionalAccess', _894 => _894.ref]) ? { cardRef: card.ref } : {},
35864
35889
  ...typeof meta.receiptText === "string" ? { receiptText: meta.receiptText } : {},
35865
35890
  proposalId: typeof meta.proposalId === "string" ? meta.proposalId : void 0
35866
35891
  };
@@ -35979,7 +36004,7 @@ var DEFAULT_CHAT_SOURCE = "embed";
35979
36004
  var chatStorageKey = (source) => {
35980
36005
  const base = `mingo-chat-${source}-v${CHAT_STORAGE_VERSION}`;
35981
36006
  const auth = _chunkYETA25JWcjs.getEmbedProxyAuth.call(void 0, );
35982
- if (_optionalChain([auth, 'optionalAccess', _893 => _893.email])) {
36007
+ if (_optionalChain([auth, 'optionalAccess', _895 => _895.email])) {
35983
36008
  return `${base}-u-${encodeURIComponent(auth.email.toLowerCase())}`;
35984
36009
  }
35985
36010
  return base;
@@ -36034,7 +36059,7 @@ function useSseChatAdapter(options, runtimeOptions = {}) {
36034
36059
  const { active = true } = runtimeOptions;
36035
36060
  const runtime = _chunkAQOWFSMBcjs.useRequiredChatRuntime.call(void 0, );
36036
36061
  const source = runtime.source || DEFAULT_CHAT_SOURCE;
36037
- const tableIdForDocumentType = _nullishCoalesce(_optionalChain([options, 'optionalAccess', _894 => _894.tableIdForDocumentType]), () => ( _chunkY4JNA4W6cjs.defaultTableIdForDocumentType));
36062
+ const tableIdForDocumentType = _nullishCoalesce(_optionalChain([options, 'optionalAccess', _896 => _896.tableIdForDocumentType]), () => ( _chunkY4JNA4W6cjs.defaultTableIdForDocumentType));
36038
36063
  const persistedRef = _react.useRef.call(void 0, null);
36039
36064
  if (persistedRef.current === null) {
36040
36065
  pruneStaleChatStorage(source);
@@ -36139,7 +36164,7 @@ function useSseChatAdapter(options, runtimeOptions = {}) {
36139
36164
  const lookupIdx = sendIdx >= 0 ? sendIdx : 0;
36140
36165
  sources = sourcesMapRef.current.get(lookupIdx);
36141
36166
  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));
36167
+ scrollAnchor = _nullishCoalesce(_optionalChain([metaMapRef, 'access', _897 => _897.current, 'access', _898 => _898.get, 'call', _899 => _899(lookupIdx), 'optionalAccess', _900 => _900.scrollAnchor]), () => ( void 0));
36143
36168
  }
36144
36169
  return {
36145
36170
  id: m.id,
@@ -36187,7 +36212,7 @@ function useSseChatAdapter(options, runtimeOptions = {}) {
36187
36212
  );
36188
36213
  return;
36189
36214
  }
36190
- const refSlug = typeof _optionalChain([reference, 'access', _899 => _899.metadata, 'optionalAccess', _900 => _900.slug]) === "string" && reference.metadata.slug.length > 0 ? reference.metadata.slug : "";
36215
+ const refSlug = typeof _optionalChain([reference, 'access', _901 => _901.metadata, 'optionalAccess', _902 => _902.slug]) === "string" && reference.metadata.slug.length > 0 ? reference.metadata.slug : "";
36191
36216
  const queryValue = refSlug || _chunkD6RK5YXXcjs.sanitizeTitleForChat.call(void 0, reference.title) || reference.id;
36192
36217
  const escaped = queryValue.replace(/\\/g, "\\\\").replace(/"/g, '\\"');
36193
36218
  const text = `/${cmdId} display "${escaped}"`;
@@ -36259,18 +36284,18 @@ function useSseChatAdapter(options, runtimeOptions = {}) {
36259
36284
  clearMessages,
36260
36285
  streamingPhase,
36261
36286
  /** 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)),
36287
+ currentProvider: _nullishCoalesce(_optionalChain([latestMeta, 'optionalAccess', _903 => _903.provider]), () => ( null)),
36288
+ currentModelLabel: _nullishCoalesce(_optionalChain([latestMeta, 'optionalAccess', _904 => _904.modelLabel]), () => ( null)),
36289
+ currentContextWindowMaxTokens: _nullishCoalesce(_optionalChain([latestMeta, 'optionalAccess', _905 => _905.contextWindowMaxTokens]), () => ( null)),
36265
36290
  /** Input tokens (known after server's message_start frame; null until). */
36266
- currentInputTokens: _nullishCoalesce(_optionalChain([latestMeta, 'optionalAccess', _904 => _904.inputTokens]), () => ( null)),
36291
+ currentInputTokens: _nullishCoalesce(_optionalChain([latestMeta, 'optionalAccess', _906 => _906.inputTokens]), () => ( null)),
36267
36292
  /** Output tokens (known only after server's trailing usage frame). */
36268
- currentOutputTokens: _nullishCoalesce(_optionalChain([latestMeta, 'optionalAccess', _905 => _905.outputTokens]), () => ( null)),
36293
+ currentOutputTokens: _nullishCoalesce(_optionalChain([latestMeta, 'optionalAccess', _907 => _907.outputTokens]), () => ( null)),
36269
36294
  /** Cache hit % (read / total-input × 100). null during streaming. */
36270
- currentCacheHitRatePct: _nullishCoalesce(_optionalChain([latestMeta, 'optionalAccess', _906 => _906.cacheHitRatePct]), () => ( null)),
36295
+ currentCacheHitRatePct: _nullishCoalesce(_optionalChain([latestMeta, 'optionalAccess', _908 => _908.cacheHitRatePct]), () => ( null)),
36271
36296
  /** Cross-call usage breakdown (Haiku rewriter/classifier/summarizer
36272
36297
  * token counts). null until the trailing usage frame lands. */
36273
- currentUsageBreakdown: _nullishCoalesce(_optionalChain([latestMeta, 'optionalAccess', _907 => _907.breakdown]), () => ( null)),
36298
+ currentUsageBreakdown: _nullishCoalesce(_optionalChain([latestMeta, 'optionalAccess', _909 => _909.breakdown]), () => ( null)),
36274
36299
  // ─── Dialog management — stubs for v1 ────────────────────────────────
36275
36300
  // Guide mode currently keeps its history in `localStorage` opaquely
36276
36301
  // under the hood (`runtime.source` namespaced key). Surfacing that
@@ -36328,15 +36353,15 @@ var noopRejectRequest = async (_id, _reason) => {
36328
36353
 
36329
36354
  // src/components/chat/utils/process-historical-messages.ts
36330
36355
  function getOwnerDisplayName(owner) {
36331
- if (_optionalChain([owner, 'optionalAccess', _908 => _908.type]) === OWNER_TYPE.ADMIN && owner.user) {
36356
+ if (_optionalChain([owner, 'optionalAccess', _910 => _910.type]) === OWNER_TYPE.ADMIN && owner.user) {
36332
36357
  const { firstName, lastName } = owner.user;
36333
36358
  const name = [firstName, lastName].filter(Boolean).join(" ");
36334
36359
  if (name) return name;
36335
36360
  }
36336
- return _optionalChain([owner, 'optionalAccess', _909 => _909.type]) === OWNER_TYPE.ADMIN ? "Admin" : "You";
36361
+ return _optionalChain([owner, 'optionalAccess', _911 => _911.type]) === OWNER_TYPE.ADMIN ? "Admin" : "You";
36337
36362
  }
36338
36363
  function getOwnerAvatar(owner) {
36339
- return _nullishCoalesce(_optionalChain([owner, 'optionalAccess', _910 => _910.user, 'optionalAccess', _911 => _911.image, 'optionalAccess', _912 => _912.imageUrl]), () => ( void 0));
36364
+ return _nullishCoalesce(_optionalChain([owner, 'optionalAccess', _912 => _912.user, 'optionalAccess', _913 => _913.image, 'optionalAccess', _914 => _914.imageUrl]), () => ( void 0));
36340
36365
  }
36341
36366
  function pushStandaloneMessages(processedMessages, msg, messageDataArray) {
36342
36367
  messageDataArray.forEach((data) => {
@@ -36399,10 +36424,10 @@ function processHistoricalMessages(messages, options = {}) {
36399
36424
  pushStandaloneMessages(processedMessages, msg, messageDataArray);
36400
36425
  return;
36401
36426
  }
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;
36427
+ 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
36428
  if (isUserMessage) {
36404
36429
  flushAssistantMessage();
36405
- const userAuthorType = _optionalChain([msg, 'access', _917 => _917.owner, 'optionalAccess', _918 => _918.type]) === OWNER_TYPE.ADMIN ? "admin" : "user";
36430
+ const userAuthorType = _optionalChain([msg, 'access', _919 => _919.owner, 'optionalAccess', _920 => _920.type]) === OWNER_TYPE.ADMIN ? "admin" : "user";
36406
36431
  messageDataArray.forEach((data) => {
36407
36432
  if (data.type === _chunkD6RK5YXXcjs.MESSAGE_TYPE.TEXT && "text" in data && data.text) {
36408
36433
  processedMessages.push({
@@ -36427,7 +36452,7 @@ function processHistoricalMessages(messages, options = {}) {
36427
36452
  });
36428
36453
  const nextMsg = messages[index + 1];
36429
36454
  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);
36455
+ 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
36456
  if (isLastMessage || nextIsFromUser) {
36432
36457
  flushAssistantMessage();
36433
36458
  }
@@ -36537,7 +36562,7 @@ function processMessageData(data, accumulator, approvalStatuses, options = {}, e
36537
36562
  }
36538
36563
  }
36539
36564
  } else {
36540
- _optionalChain([escalatedApprovals, 'optionalAccess', _923 => _923.set, 'call', _924 => _924(data.approvalRequestId, {
36565
+ _optionalChain([escalatedApprovals, 'optionalAccess', _925 => _925.set, 'call', _926 => _926(data.approvalRequestId, {
36541
36566
  command: data.command || "",
36542
36567
  explanation: data.explanation,
36543
36568
  approvalType,
@@ -36551,8 +36576,8 @@ function processMessageData(data, accumulator, approvalStatuses, options = {}, e
36551
36576
  const existingStatus = approvalStatuses[data.approvalRequestId];
36552
36577
  const status = existingStatus || (data.approved ? "approved" : "rejected");
36553
36578
  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) {
36579
+ const escalatedData = _optionalChain([escalatedApprovals, 'optionalAccess', _927 => _927.get, 'call', _928 => _928(data.approvalRequestId)]);
36580
+ if (_optionalChain([escalatedData, 'optionalAccess', _929 => _929.toolCalls]) && escalatedData.toolCalls.length > 0) {
36556
36581
  if (batchApprovalsEnabled) {
36557
36582
  accumulator.addApprovalBatch(
36558
36583
  data.approvalRequestId,
@@ -36574,7 +36599,7 @@ function processMessageData(data, accumulator, approvalStatuses, options = {}, e
36574
36599
  );
36575
36600
  }
36576
36601
  }
36577
- _optionalChain([escalatedApprovals, 'optionalAccess', _928 => _928.delete, 'call', _929 => _929(data.approvalRequestId)]);
36602
+ _optionalChain([escalatedApprovals, 'optionalAccess', _930 => _930.delete, 'call', _931 => _931(data.approvalRequestId)]);
36578
36603
  break;
36579
36604
  }
36580
36605
  if (escalatedData) {
@@ -36583,7 +36608,7 @@ function processMessageData(data, accumulator, approvalStatuses, options = {}, e
36583
36608
  explanation: escalatedData.explanation,
36584
36609
  approvalType: escalatedData.approvalType
36585
36610
  });
36586
- _optionalChain([escalatedApprovals, 'optionalAccess', _930 => _930.delete, 'call', _931 => _931(data.approvalRequestId)]);
36611
+ _optionalChain([escalatedApprovals, 'optionalAccess', _932 => _932.delete, 'call', _933 => _933(data.approvalRequestId)]);
36587
36612
  }
36588
36613
  const before = accumulator.getSegments();
36589
36614
  const after = accumulator.updateApprovalStatus(data.approvalRequestId, status, resolvedByName);
@@ -36599,9 +36624,9 @@ function processMessageData(data, accumulator, approvalStatuses, options = {}, e
36599
36624
  case _chunkD6RK5YXXcjs.MESSAGE_TYPE.ERROR:
36600
36625
  if ("error" in data) {
36601
36626
  let message2;
36602
- if ("details" in data && _optionalChain([data, 'optionalAccess', _932 => _932.details])) {
36627
+ if ("details" in data && _optionalChain([data, 'optionalAccess', _934 => _934.details])) {
36603
36628
  try {
36604
- message2 = _optionalChain([JSON, 'access', _933 => _933.parse, 'call', _934 => _934(data.details), 'optionalAccess', _935 => _935.error, 'optionalAccess', _936 => _936.message]);
36629
+ message2 = _optionalChain([JSON, 'access', _935 => _935.parse, 'call', _936 => _936(data.details), 'optionalAccess', _937 => _937.error, 'optionalAccess', _938 => _938.message]);
36605
36630
  } catch (e39) {
36606
36631
  message2 = data.details;
36607
36632
  }
@@ -36684,10 +36709,10 @@ function processHistoricalMessagesWithErrors(messages, options = {}) {
36684
36709
  pushStandaloneMessages(processedMessages, msg, messageDataArray);
36685
36710
  return;
36686
36711
  }
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;
36712
+ 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
36713
  if (isUserMessage) {
36689
36714
  flushAssistantMessage();
36690
- const userAuthorType = _optionalChain([msg, 'access', _941 => _941.owner, 'optionalAccess', _942 => _942.type]) === OWNER_TYPE.ADMIN ? "admin" : "user";
36715
+ const userAuthorType = _optionalChain([msg, 'access', _943 => _943.owner, 'optionalAccess', _944 => _944.type]) === OWNER_TYPE.ADMIN ? "admin" : "user";
36691
36716
  messageDataArray.forEach((data) => {
36692
36717
  if (data.type === _chunkD6RK5YXXcjs.MESSAGE_TYPE.TEXT && "text" in data && data.text) {
36693
36718
  processedMessages.push({
@@ -36712,7 +36737,7 @@ function processHistoricalMessagesWithErrors(messages, options = {}) {
36712
36737
  });
36713
36738
  const nextMsg = messages[index + 1];
36714
36739
  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);
36740
+ 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
36741
  if (isLastMessage || nextIsFromUser) {
36717
36742
  flushAssistantMessage();
36718
36743
  }
@@ -37050,7 +37075,7 @@ function useNatsChatAdapter(config, options = {}) {
37050
37075
  }, [active, fetchDialogs, loadDialogsPage]);
37051
37076
  const sendMessage = _react.useCallback.call(void 0,
37052
37077
  async (text, sendOptions) => {
37053
- const hidden = _nullishCoalesce(_optionalChain([sendOptions, 'optionalAccess', _947 => _947.hidden]), () => ( false));
37078
+ const hidden = _nullishCoalesce(_optionalChain([sendOptions, 'optionalAccess', _949 => _949.hidden]), () => ( false));
37054
37079
  setMessages((prev) => [
37055
37080
  ...prev,
37056
37081
  {
@@ -37214,11 +37239,11 @@ function useNatsChatAdapter(config, options = {}) {
37214
37239
  // Tokens: live `token_usage` frame / dialog snapshot (`dialogTokenUsage`).
37215
37240
  // contextWindow uses the dialog's `contextSize` (the "X / Y" denominator,
37216
37241
  // 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)),
37242
+ currentProvider: _nullishCoalesce(_nullishCoalesce(_optionalChain([liveModel, 'optionalAccess', _950 => _950.provider]), () => ( modelProvider)), () => ( null)),
37243
+ currentModelLabel: _nullishCoalesce(_nullishCoalesce(_optionalChain([liveModel, 'optionalAccess', _951 => _951.modelLabel]), () => ( modelLabel)), () => ( null)),
37244
+ currentContextWindowMaxTokens: _nullishCoalesce(_nullishCoalesce(_optionalChain([dialogTokenUsage, 'optionalAccess', _952 => _952.contextSize]), () => ( _optionalChain([liveModel, 'optionalAccess', _953 => _953.contextWindowMaxTokens]))), () => ( null)),
37245
+ currentInputTokens: _nullishCoalesce(_optionalChain([dialogTokenUsage, 'optionalAccess', _954 => _954.inputTokensSize]), () => ( null)),
37246
+ currentOutputTokens: _nullishCoalesce(_optionalChain([dialogTokenUsage, 'optionalAccess', _955 => _955.outputTokensSize]), () => ( null)),
37222
37247
  currentCacheHitRatePct: null,
37223
37248
  currentUsageBreakdown: null,
37224
37249
  // Dialog management
@@ -37466,7 +37491,7 @@ function extractIncompleteMessageState(lastMessage) {
37466
37491
  break;
37467
37492
  case "approval_batch": {
37468
37493
  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"
37494
+ (c) => _optionalChain([segment, 'access', _956 => _956.data, 'access', _957 => _957.executions, 'optionalAccess', _958 => _958[c.toolExecutionRequestId], 'optionalAccess', _959 => _959.status]) === "done"
37470
37495
  );
37471
37496
  if (segment.status !== "rejected" && !allDone) {
37472
37497
  hasIncompleteState = true;
@@ -37534,20 +37559,20 @@ function mergeHistoryWithRealtime(input) {
37534
37559
  const seqCoverageKnown = realtimeSeenStreamSeq > 0 && historyMaxStreamSeq > 0;
37535
37560
  const historyCoversRealtime = seqCoverageKnown ? historyMaxStreamSeq >= realtimeSeenStreamSeq : null;
37536
37561
  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;
37562
+ const historyTrailingAssistant = _optionalChain([trailing, 'optionalAccess', _960 => _960.role]) === "assistant" ? trailing : null;
37563
+ 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
37564
  let processedToUse = processedHistory;
37540
37565
  const pinnedSyntheticIds = /* @__PURE__ */ new Set();
37541
37566
  const droppedSyntheticIds = /* @__PURE__ */ new Set();
37542
37567
  if (historyBatchId) {
37543
37568
  const batchTwins = existingMessages.filter(
37544
37569
  (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
37570
+ (s) => s.type === "approval_batch" && _optionalChain([s, 'access', _966 => _966.data, 'optionalAccess', _967 => _967.approvalRequestId]) === historyBatchId
37546
37571
  )
37547
37572
  );
37548
37573
  const existingWithSameBatch = _nullishCoalesce(batchTwins.find((m) => m.id === streamingMessageId), () => ( batchTwins[batchTwins.length - 1]));
37549
37574
  if (existingWithSameBatch && Array.isArray(existingWithSameBatch.content)) {
37550
- const histSize = Array.isArray(_optionalChain([historyTrailingAssistant, 'optionalAccess', _966 => _966.content])) ? historyTrailingAssistant.content.length : 0;
37575
+ const histSize = Array.isArray(_optionalChain([historyTrailingAssistant, 'optionalAccess', _968 => _968.content])) ? historyTrailingAssistant.content.length : 0;
37551
37576
  const realtimeSize = existingWithSameBatch.content.length;
37552
37577
  if (existingWithSameBatch.id === streamingMessageId || realtimeSize > histSize) {
37553
37578
  processedToUse = processedHistory.slice(0, -1);
@@ -37563,16 +37588,16 @@ function mergeHistoryWithRealtime(input) {
37563
37588
  if (pinnedSyntheticIds.has(m.id)) return true;
37564
37589
  if (droppedSyntheticIds.has(m.id)) return false;
37565
37590
  if (processedIds.has(m.id)) return false;
37566
- if (_optionalChain([rawHistoryIds, 'optionalAccess', _967 => _967.has, 'call', _968 => _968(m.id)])) return false;
37591
+ if (_optionalChain([rawHistoryIds, 'optionalAccess', _969 => _969.has, 'call', _970 => _970(m.id)])) return false;
37567
37592
  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;
37593
+ const canBeInSnapshot = (_nullishCoalesce(_optionalChain([m, 'access', _971 => _971.timestamp, 'optionalAccess', _972 => _972.getTime, 'call', _973 => _973()]), () => ( 0))) <= historyFetchedAt;
37569
37594
  return !(canBeInSnapshot && processedToUse.some((pm) => pm.role === "user" && pm.content === m.content));
37570
37595
  }
37571
37596
  if (isSyntheticRealtimeId(m.id) && m.id !== streamingMessageId) {
37572
37597
  if (m.role === "assistant" && trailingAssistantText && assistantAnswerText(m.content) === trailingAssistantText) {
37573
37598
  return false;
37574
37599
  }
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;
37600
+ 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
37601
  if (covered) return false;
37577
37602
  }
37578
37603
  return true;
@@ -37792,7 +37817,7 @@ function useChatDialogManager({
37792
37817
  const handleConfirmRestore = _react.useCallback.call(void 0, async () => {
37793
37818
  if (restoreTarget) {
37794
37819
  try {
37795
- await _optionalChain([unarchiveDialog, 'optionalCall', _975 => _975(restoreTarget.id)]);
37820
+ await _optionalChain([unarchiveDialog, 'optionalCall', _977 => _977(restoreTarget.id)]);
37796
37821
  } catch (err) {
37797
37822
  console.error("[useChatDialogManager] unarchive failed:", err);
37798
37823
  return;
@@ -38193,7 +38218,7 @@ function EmbeddableChatInner({
38193
38218
  }),
38194
38219
  [commandsUrl]
38195
38220
  );
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;
38221
+ 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
38222
  const effectiveModes = _react.useMemo.call(void 0, () => {
38198
38223
  if (modes) return modes;
38199
38224
  const guideOptions = tableIdForDocumentType ? { tableIdForDocumentType } : {};
@@ -38202,17 +38227,17 @@ function EmbeddableChatInner({
38202
38227
  const mingoCaps = _react.useMemo.call(void 0, () => {
38203
38228
  if (mingoState) {
38204
38229
  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])
38230
+ canRename: _nullishCoalesce(_optionalChain([mingoDialogCapabilities, 'optionalAccess', _987 => _987.canRename]), () => ( false)),
38231
+ canArchive: _nullishCoalesce(_optionalChain([mingoDialogCapabilities, 'optionalAccess', _988 => _988.canArchive]), () => ( false)),
38232
+ fetchArchivedDialogs: _optionalChain([mingoDialogCapabilities, 'optionalAccess', _989 => _989.fetchArchivedDialogs]),
38233
+ unarchiveDialog: _optionalChain([mingoDialogCapabilities, 'optionalAccess', _990 => _990.unarchiveDialog])
38209
38234
  };
38210
38235
  }
38211
38236
  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])
38237
+ canRename: !!_optionalChain([effectiveModes, 'access', _991 => _991.mingo, 'optionalAccess', _992 => _992.renameDialog]),
38238
+ canArchive: !!_optionalChain([effectiveModes, 'access', _993 => _993.mingo, 'optionalAccess', _994 => _994.archiveDialog]),
38239
+ fetchArchivedDialogs: _optionalChain([effectiveModes, 'access', _995 => _995.mingo, 'optionalAccess', _996 => _996.fetchArchivedDialogs]),
38240
+ unarchiveDialog: _optionalChain([effectiveModes, 'access', _997 => _997.mingo, 'optionalAccess', _998 => _998.unarchiveDialog])
38216
38241
  };
38217
38242
  }, [mingoState, mingoDialogCapabilities, effectiveModes]);
38218
38243
  const hasMingoMode = !!effectiveModes.mingo || !!mingoState;
@@ -38224,7 +38249,7 @@ function EmbeddableChatInner({
38224
38249
  if (controlledActiveMode === void 0) {
38225
38250
  setUncontrolledActiveMode(next);
38226
38251
  }
38227
- _optionalChain([onActiveModeChange, 'optionalCall', _997 => _997(next)]);
38252
+ _optionalChain([onActiveModeChange, 'optionalCall', _999 => _999(next)]);
38228
38253
  },
38229
38254
  [controlledActiveMode, onActiveModeChange]
38230
38255
  );
@@ -38278,7 +38303,7 @@ function EmbeddableChatInner({
38278
38303
  clear: clearAttachments
38279
38304
  } = useChatAttachments();
38280
38305
  const { panelRef: galleryPanelRef, modal: galleryModal } = useChatAttachmentImageGallery();
38281
- const contextMaxItems = _nullishCoalesce(_optionalChain([contextPicker, 'optionalAccess', _998 => _998.maxItems]), () => ( 10));
38306
+ const contextMaxItems = _nullishCoalesce(_optionalChain([contextPicker, 'optionalAccess', _1000 => _1000.maxItems]), () => ( 10));
38282
38307
  const contextPickerForMode = activeMode === "mingo" ? contextPicker : void 0;
38283
38308
  const [contextItems, setContextItems] = _react.useState.call(void 0, []);
38284
38309
  const [contextPickerOpen, setContextPickerOpen] = _react.useState.call(void 0, false);
@@ -38302,7 +38327,7 @@ function EmbeddableChatInner({
38302
38327
  );
38303
38328
  const grows = !alreadySelected && !mentionKeyRef.current;
38304
38329
  if (grows && contextItems.length >= contextMaxItems) return;
38305
- _optionalChain([chatInputRef, 'access', _999 => _999.current, 'optionalAccess', _1000 => _1000.commitMention, 'call', _1001 => _1001(key)]);
38330
+ _optionalChain([chatInputRef, 'access', _1001 => _1001.current, 'optionalAccess', _1002 => _1002.commitMention, 'call', _1003 => _1003(key)]);
38306
38331
  setContextItems((prev) => {
38307
38332
  const withoutPrevMention = mentionKeyRef.current ? prev.filter((p) => `${p.type}:${p.id}` !== mentionKeyRef.current) : prev;
38308
38333
  const deduped = withoutPrevMention.filter(
@@ -38327,9 +38352,9 @@ function EmbeddableChatInner({
38327
38352
  setContextItems((prev) => prev.filter((p) => `${p.type}:${p.id}` !== key));
38328
38353
  if (mentionKeyRef.current === key) {
38329
38354
  mentionKeyRef.current = null;
38330
- const cur = _nullishCoalesce(_optionalChain([chatInputRef, 'access', _1002 => _1002.current, 'optionalAccess', _1003 => _1003.getValue, 'call', _1004 => _1004()]), () => ( ""));
38355
+ const cur = _nullishCoalesce(_optionalChain([chatInputRef, 'access', _1004 => _1004.current, 'optionalAccess', _1005 => _1005.getValue, 'call', _1006 => _1006()]), () => ( ""));
38331
38356
  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)]);
38357
+ _optionalChain([chatInputRef, 'access', _1007 => _1007.current, 'optionalAccess', _1008 => _1008.setValue, 'call', _1009 => _1009(next)]);
38333
38358
  }
38334
38359
  }, []);
38335
38360
  const handleContextValueChange = _react.useCallback.call(void 0, (value) => {
@@ -38346,7 +38371,7 @@ function EmbeddableChatInner({
38346
38371
  }, []);
38347
38372
  const closeContextPicker = _react.useCallback.call(void 0, () => {
38348
38373
  if (mentionActiveRef.current) {
38349
- _optionalChain([chatInputRef, 'access', _1008 => _1008.current, 'optionalAccess', _1009 => _1009.removeMentionTrigger, 'call', _1010 => _1010()]);
38374
+ _optionalChain([chatInputRef, 'access', _1010 => _1010.current, 'optionalAccess', _1011 => _1011.removeMentionTrigger, 'call', _1012 => _1012()]);
38350
38375
  }
38351
38376
  setContextPickerOpen(false);
38352
38377
  setMentionQuery(null);
@@ -38355,7 +38380,7 @@ function EmbeddableChatInner({
38355
38380
  setMentionQuery(query);
38356
38381
  setContextPickerOpen(query !== null);
38357
38382
  }, []);
38358
- const contextEntityTypes = _optionalChain([contextPicker, 'optionalAccess', _1011 => _1011.entityTypes]);
38383
+ const contextEntityTypes = _optionalChain([contextPicker, 'optionalAccess', _1013 => _1013.entityTypes]);
38359
38384
  const resolveContextIcon = _react.useMemo.call(void 0, () => {
38360
38385
  const byType = /* @__PURE__ */ new Map();
38361
38386
  for (const t of _nullishCoalesce(contextEntityTypes, () => ( []))) byType.set(t.type, t.icon);
@@ -38533,9 +38558,9 @@ function EmbeddableChatInner({
38533
38558
  const lastAssistantMsg = [...rawMessages].reverse().find((m) => m.role === "assistant");
38534
38559
  const lastSources = _react.useMemo.call(void 0, () => {
38535
38560
  if (chatLoading) return void 0;
38536
- const sources = _optionalChain([lastAssistantMsg, 'optionalAccess', _1012 => _1012.sources]);
38561
+ const sources = _optionalChain([lastAssistantMsg, 'optionalAccess', _1014 => _1014.sources]);
38537
38562
  if (!sources || sources.length === 0) return void 0;
38538
- const content = _optionalChain([lastAssistantMsg, 'optionalAccess', _1013 => _1013.content]) || "";
38563
+ const content = _optionalChain([lastAssistantMsg, 'optionalAccess', _1015 => _1015.content]) || "";
38539
38564
  const citationOrder = [...content.matchAll(/\[(\d+)\]/g)].map(
38540
38565
  (m) => parseInt(m[1], 10)
38541
38566
  );
@@ -38582,7 +38607,7 @@ function EmbeddableChatInner({
38582
38607
  ChatPanelHeader,
38583
38608
  {
38584
38609
  showBack: hasConversation || guideCanReturnToMingo,
38585
- title: hasConversation ? _optionalChain([activeDialog, 'optionalAccess', _1014 => _1014.title]) || "New Chat" : isGuideEmpty ? "Mingo Guide" : "Current Chats",
38610
+ title: hasConversation ? _optionalChain([activeDialog, 'optionalAccess', _1016 => _1016.title]) || "New Chat" : isGuideEmpty ? "Mingo Guide" : "Current Chats",
38586
38611
  backAriaLabel: hasConversation ? isViewingArchived ? "Back to archive" : "Back" : "Back to Mingo",
38587
38612
  isArchivedView: isViewingArchived,
38588
38613
  onBack: hasConversation ? handleBack : () => handleActiveModeChange("mingo"),
@@ -38688,7 +38713,7 @@ function EmbeddableChatInner({
38688
38713
  subtitle: _nullishCoalesce(effectiveGreeting, () => ( void 0)),
38689
38714
  subtitleLoading: emptyStateLoading,
38690
38715
  ...guideWelcome,
38691
- quickActions: _nullishCoalesce(_optionalChain([guideWelcome, 'optionalAccess', _1015 => _1015.quickActions]), () => ( guideSuggestedActions)),
38716
+ quickActions: _nullishCoalesce(_optionalChain([guideWelcome, 'optionalAccess', _1017 => _1017.quickActions]), () => ( guideSuggestedActions)),
38692
38717
  onQuickAction: (action) => {
38693
38718
  handleSend(_nullishCoalesce(action.prompt, () => ( action.label)));
38694
38719
  },
@@ -39436,4 +39461,4 @@ function EmbeddableChatInner({
39436
39461
 
39437
39462
 
39438
39463
  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
39464
+ //# sourceMappingURL=chunk-2YSC3API.cjs.map