@flamingo-stack/openframe-frontend-core 0.0.512-1640.4221.1 → 0.0.512

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 (100) hide show
  1. package/dist/{chunk-OOJLER5V.cjs → chunk-2WWDZR4D.cjs} +31 -31
  2. package/dist/{chunk-OOJLER5V.cjs.map → chunk-2WWDZR4D.cjs.map} +1 -1
  3. package/dist/{chunk-N3CQTN5T.cjs → chunk-2XL7UK5Y.cjs} +5 -5
  4. package/dist/{chunk-N3CQTN5T.cjs.map → chunk-2XL7UK5Y.cjs.map} +1 -1
  5. package/dist/{chunk-JEKWIGG6.js → chunk-4NFDSMB5.js} +4 -4
  6. package/dist/{chunk-BXTVXQGZ.cjs → chunk-5JBDT2MQ.cjs} +7 -7
  7. package/dist/{chunk-BXTVXQGZ.cjs.map → chunk-5JBDT2MQ.cjs.map} +1 -1
  8. package/dist/{chunk-GVMHJK3B.cjs → chunk-67YDSTH7.cjs} +9 -9
  9. package/dist/{chunk-GVMHJK3B.cjs.map → chunk-67YDSTH7.cjs.map} +1 -1
  10. package/dist/{chunk-XYD3Y7WU.js → chunk-6LMTBNLN.js} +2 -2
  11. package/dist/{chunk-ZLCYLZFL.cjs → chunk-7VBEOGCR.cjs} +61 -61
  12. package/dist/{chunk-ZLCYLZFL.cjs.map → chunk-7VBEOGCR.cjs.map} +1 -1
  13. package/dist/{chunk-OEPGR7FT.cjs → chunk-AWLFJMOJ.cjs} +37 -37
  14. package/dist/{chunk-OEPGR7FT.cjs.map → chunk-AWLFJMOJ.cjs.map} +1 -1
  15. package/dist/{chunk-UXEVYNSX.cjs → chunk-DQDPDUI3.cjs} +4 -4
  16. package/dist/{chunk-UXEVYNSX.cjs.map → chunk-DQDPDUI3.cjs.map} +1 -1
  17. package/dist/{chunk-MWJARB2T.cjs → chunk-F2YI5N7E.cjs} +13 -13
  18. package/dist/{chunk-MWJARB2T.cjs.map → chunk-F2YI5N7E.cjs.map} +1 -1
  19. package/dist/{chunk-BH24GEIY.js → chunk-FI35LJ3L.js} +2 -2
  20. package/dist/{chunk-PDPNJJLB.cjs → chunk-GOFTC2HV.cjs} +431 -489
  21. package/dist/chunk-GOFTC2HV.cjs.map +1 -0
  22. package/dist/{chunk-OYYHTO7U.js → chunk-HGZPH7S5.js} +2 -2
  23. package/dist/{chunk-VIXKP7G7.js → chunk-IHNUMRMU.js} +2 -2
  24. package/dist/{chunk-MCFMOSY6.js → chunk-IK2WRYVA.js} +4 -4
  25. package/dist/{chunk-ORNBZJUZ.cjs → chunk-JIW5JI3E.cjs} +3 -3
  26. package/dist/{chunk-ORNBZJUZ.cjs.map → chunk-JIW5JI3E.cjs.map} +1 -1
  27. package/dist/{chunk-MSMSMXST.js → chunk-JKAX5K7C.js} +5 -5
  28. package/dist/{chunk-AXS2XECN.js → chunk-JO3NPEK6.js} +2 -2
  29. package/dist/{chunk-NLGPA3VY.js → chunk-JOFGJYIT.js} +2 -2
  30. package/dist/{chunk-PPVWJQTF.js → chunk-OT4RV6WY.js} +6 -6
  31. package/dist/{chunk-Z3MUSW3I.cjs → chunk-RJXI25TJ.cjs} +26 -26
  32. package/dist/{chunk-Z3MUSW3I.cjs.map → chunk-RJXI25TJ.cjs.map} +1 -1
  33. package/dist/{chunk-SEZR7FMU.cjs → chunk-SG25J6LV.cjs} +87 -87
  34. package/dist/{chunk-SEZR7FMU.cjs.map → chunk-SG25J6LV.cjs.map} +1 -1
  35. package/dist/{chunk-Z32PJFCD.js → chunk-V5WLIFKN.js} +312 -370
  36. package/dist/{chunk-Z32PJFCD.js.map → chunk-V5WLIFKN.js.map} +1 -1
  37. package/dist/{chunk-DPXBR7O2.cjs → chunk-VVXUUBML.cjs} +26 -26
  38. package/dist/{chunk-DPXBR7O2.cjs.map → chunk-VVXUUBML.cjs.map} +1 -1
  39. package/dist/{chunk-O2XT6VUS.js → chunk-VZX3SSFL.js} +2 -2
  40. package/dist/{chunk-7TKJAGBO.cjs → chunk-WVZHCDB5.cjs} +11 -11
  41. package/dist/{chunk-7TKJAGBO.cjs.map → chunk-WVZHCDB5.cjs.map} +1 -1
  42. package/dist/{chunk-ELED5PW4.js → chunk-XG7FLAKQ.js} +2 -2
  43. package/dist/{chunk-YIPZT3XR.js → chunk-ZIQMVAGA.js} +2 -2
  44. package/dist/components/case-studies/index.cjs +8 -8
  45. package/dist/components/case-studies/index.js +2 -2
  46. package/dist/components/chat/entity-cards/dispatch.d.ts.map +1 -1
  47. package/dist/components/chat/index.cjs +2 -2
  48. package/dist/components/chat/index.js +1 -1
  49. package/dist/components/chat/stream/chat-stream-reducer.d.ts.map +1 -1
  50. package/dist/components/chat/stream/message-mutations.d.ts +33 -5
  51. package/dist/components/chat/stream/message-mutations.d.ts.map +1 -1
  52. package/dist/components/chat/utils/message-segment-accumulator.d.ts.map +1 -1
  53. package/dist/components/contact/index.cjs +3 -3
  54. package/dist/components/contact/index.js +2 -2
  55. package/dist/components/docs/index.cjs +5 -5
  56. package/dist/components/docs/index.js +4 -4
  57. package/dist/components/embeds/index.cjs +3 -3
  58. package/dist/components/embeds/index.js +2 -2
  59. package/dist/components/faq/index.cjs +3 -3
  60. package/dist/components/faq/index.js +2 -2
  61. package/dist/components/features/index.cjs +2 -2
  62. package/dist/components/features/index.js +1 -1
  63. package/dist/components/help-center-pages/index.cjs +22 -22
  64. package/dist/components/help-center-pages/index.js +13 -13
  65. package/dist/components/index.cjs +132 -132
  66. package/dist/components/index.js +11 -11
  67. package/dist/components/meeting-scheduler/index.cjs +34 -34
  68. package/dist/components/meeting-scheduler/index.js +3 -3
  69. package/dist/components/navigation/index.cjs +2 -2
  70. package/dist/components/navigation/index.js +1 -1
  71. package/dist/components/onboarding-guides/index.cjs +5 -5
  72. package/dist/components/onboarding-guides/index.js +4 -4
  73. package/dist/components/related-content/index.cjs +3 -3
  74. package/dist/components/related-content/index.js +2 -2
  75. package/dist/components/tickets/index.cjs +6 -6
  76. package/dist/components/tickets/index.js +5 -5
  77. package/dist/components/ui/index.cjs +2 -2
  78. package/dist/components/ui/index.js +1 -1
  79. package/dist/index.cjs +2 -2
  80. package/dist/index.js +1 -1
  81. package/package.json +1 -1
  82. package/src/components/chat/entity-cards/dispatch.tsx +87 -98
  83. package/src/components/chat/hooks/use-sse-chat-adapter.ts +15 -15
  84. package/src/components/chat/stream/chat-stream-reducer.ts +6 -0
  85. package/src/components/chat/stream/message-mutations.ts +140 -116
  86. package/src/components/chat/utils/message-segment-accumulator.ts +19 -27
  87. package/dist/chunk-PDPNJJLB.cjs.map +0 -1
  88. /package/dist/{chunk-JEKWIGG6.js.map → chunk-4NFDSMB5.js.map} +0 -0
  89. /package/dist/{chunk-XYD3Y7WU.js.map → chunk-6LMTBNLN.js.map} +0 -0
  90. /package/dist/{chunk-BH24GEIY.js.map → chunk-FI35LJ3L.js.map} +0 -0
  91. /package/dist/{chunk-OYYHTO7U.js.map → chunk-HGZPH7S5.js.map} +0 -0
  92. /package/dist/{chunk-VIXKP7G7.js.map → chunk-IHNUMRMU.js.map} +0 -0
  93. /package/dist/{chunk-MCFMOSY6.js.map → chunk-IK2WRYVA.js.map} +0 -0
  94. /package/dist/{chunk-MSMSMXST.js.map → chunk-JKAX5K7C.js.map} +0 -0
  95. /package/dist/{chunk-AXS2XECN.js.map → chunk-JO3NPEK6.js.map} +0 -0
  96. /package/dist/{chunk-NLGPA3VY.js.map → chunk-JOFGJYIT.js.map} +0 -0
  97. /package/dist/{chunk-PPVWJQTF.js.map → chunk-OT4RV6WY.js.map} +0 -0
  98. /package/dist/{chunk-O2XT6VUS.js.map → chunk-VZX3SSFL.js.map} +0 -0
  99. /package/dist/{chunk-ELED5PW4.js.map → chunk-XG7FLAKQ.js.map} +0 -0
  100. /package/dist/{chunk-YIPZT3XR.js.map → chunk-ZIQMVAGA.js.map} +0 -0
@@ -51548,26 +51548,27 @@ var FINANCIAL_CARD_CONFIGS = {
51548
51548
  balance_sheet: { label: "Balance sheet", icon: () => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkUTVOBFXRcjs.BankIcon, { size: 24 }) },
51549
51549
  cash_flow: { label: "Cash flow", icon: () => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkUTVOBFXRcjs.CoinsExchangeCurrencyIcon, { size: 24 }) }
51550
51550
  };
51551
- function financialRegistryEntries() {
51551
+ function registryEntries(configs, build) {
51552
51552
  const out = {};
51553
- for (const [docType, cfg] of Object.entries(FINANCIAL_CARD_CONFIGS)) {
51554
- out[docType] = {
51555
- mode: "no-fetch",
51556
- label: cfg.label,
51557
- bareInline: true,
51558
- render: (chatRef, opts) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
51559
- GenericFinancialChatCard,
51560
- {
51561
- chatRef,
51562
- icon: cfg.icon(),
51563
- isNewTab: opts.isNewTab,
51564
- discuss: opts.discuss
51565
- }
51566
- )
51567
- };
51568
- }
51553
+ for (const [docType, cfg] of Object.entries(configs)) out[docType] = build(cfg);
51569
51554
  return out;
51570
51555
  }
51556
+ function financialRegistryEntries() {
51557
+ return registryEntries(FINANCIAL_CARD_CONFIGS, (cfg) => ({
51558
+ mode: "no-fetch",
51559
+ label: cfg.label,
51560
+ bareInline: true,
51561
+ render: (chatRef, opts) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
51562
+ GenericFinancialChatCard,
51563
+ {
51564
+ chatRef,
51565
+ icon: cfg.icon(),
51566
+ isNewTab: opts.isNewTab,
51567
+ discuss: opts.discuss
51568
+ }
51569
+ )
51570
+ }));
51571
+ }
51571
51572
  var GITHUB_CARD_CONFIGS = {
51572
51573
  github_commit: { label: "GitHub commit", kind: "commit" },
51573
51574
  github_commit_public: { label: "GitHub commit (public)", kind: "commit" },
@@ -51577,24 +51578,20 @@ var GITHUB_CARD_CONFIGS = {
51577
51578
  github_pr_review_public: { label: "GitHub review (public)", kind: "pr_review" }
51578
51579
  };
51579
51580
  function githubRegistryEntries() {
51580
- const out = {};
51581
- for (const [docType, cfg] of Object.entries(GITHUB_CARD_CONFIGS)) {
51582
- out[docType] = {
51583
- mode: "no-fetch",
51584
- label: cfg.label,
51585
- bareInline: true,
51586
- render: (chatRef, opts) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
51587
- GitHubChatCard,
51588
- {
51589
- chatRef,
51590
- kind: cfg.kind,
51591
- isNewTab: opts.isNewTab,
51592
- discuss: opts.discuss
51593
- }
51594
- )
51595
- };
51596
- }
51597
- return out;
51581
+ return registryEntries(GITHUB_CARD_CONFIGS, (cfg) => ({
51582
+ mode: "no-fetch",
51583
+ label: cfg.label,
51584
+ bareInline: true,
51585
+ render: (chatRef, opts) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
51586
+ GitHubChatCard,
51587
+ {
51588
+ chatRef,
51589
+ kind: cfg.kind,
51590
+ isNewTab: opts.isNewTab,
51591
+ discuss: opts.discuss
51592
+ }
51593
+ )
51594
+ }));
51598
51595
  }
51599
51596
  var PROGRAM_CARD_CONFIGS = {
51600
51597
  podcast: { label: "Podcast episode", configKey: "podcast", contentRefType: "podcast" },
@@ -51602,29 +51599,25 @@ var PROGRAM_CARD_CONFIGS = {
51602
51599
  event: { label: "Event", configKey: "event", contentRefType: "event" }
51603
51600
  };
51604
51601
  function programRegistryEntries() {
51605
- const out = {};
51606
- for (const [docType, cfg] of Object.entries(PROGRAM_CARD_CONFIGS)) {
51607
- out[docType] = {
51608
- mode: "fetch",
51609
- label: cfg.label,
51610
- contentRefType: cfg.contentRefType,
51611
- bareInline: true,
51612
- skeleton: () => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, ProgramCardSkeleton, { size: "sm" }),
51613
- render: (item, chatRef, opts) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
51614
- ProgramChatCard,
51615
- {
51616
- item,
51617
- chatRef,
51618
- isNewTab: opts.isNewTab,
51619
- discuss: opts.discuss,
51620
- configKey: cfg.configKey,
51621
- label: cfg.configKey.charAt(0).toUpperCase() + cfg.configKey.slice(1),
51622
- ogPlaceholder: _nullishCoalesce(_optionalChain([opts, 'optionalAccess', _1302 => _1302.extras, 'optionalAccess', _1303 => _1303.buildOgPlaceholderUrl, 'optionalCall', _1304 => _1304(_nullishCoalesce(_optionalChain([item, 'optionalAccess', _1305 => _1305.title]), () => ( "")))]), () => ( null))
51623
- }
51624
- )
51625
- };
51626
- }
51627
- return out;
51602
+ return registryEntries(PROGRAM_CARD_CONFIGS, (cfg) => ({
51603
+ mode: "fetch",
51604
+ label: cfg.label,
51605
+ contentRefType: cfg.contentRefType,
51606
+ bareInline: true,
51607
+ skeleton: () => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, ProgramCardSkeleton, { size: "sm" }),
51608
+ render: (item, chatRef, opts) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
51609
+ ProgramChatCard,
51610
+ {
51611
+ item,
51612
+ chatRef,
51613
+ isNewTab: opts.isNewTab,
51614
+ discuss: opts.discuss,
51615
+ configKey: cfg.configKey,
51616
+ label: cfg.configKey.charAt(0).toUpperCase() + cfg.configKey.slice(1),
51617
+ ogPlaceholder: _nullishCoalesce(_optionalChain([opts, 'optionalAccess', _1302 => _1302.extras, 'optionalAccess', _1303 => _1303.buildOgPlaceholderUrl, 'optionalCall', _1304 => _1304(_nullishCoalesce(_optionalChain([item, 'optionalAccess', _1305 => _1305.title]), () => ( "")))]), () => ( null))
51618
+ }
51619
+ )
51620
+ }));
51628
51621
  }
51629
51622
  var ROADMAP_CARD_CONFIGS = {
51630
51623
  roadmap_item: { label: "Roadmap item", cardType: "roadmap_item", contentRefType: "roadmap_item" },
@@ -51643,28 +51636,24 @@ var ROADMAP_CARD_CONFIGS = {
51643
51636
  }
51644
51637
  };
51645
51638
  function roadmapRegistryEntries() {
51646
- const out = {};
51647
- for (const [docType, cfg] of Object.entries(ROADMAP_CARD_CONFIGS)) {
51648
- out[docType] = {
51649
- mode: "fetch",
51650
- label: cfg.label,
51651
- contentRefType: cfg.contentRefType,
51652
- bareInline: true,
51653
- ...cfg.noComposedHref ? { noComposedHref: true } : {},
51654
- skeleton: () => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, RoadmapCardSkeleton, { size: "sm" }),
51655
- render: (item, chatRef, opts) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
51656
- RoadmapChatCard,
51657
- {
51658
- item,
51659
- chatRef,
51660
- isNewTab: opts.isNewTab,
51661
- discuss: opts.discuss,
51662
- cardType: cfg.cardType
51663
- }
51664
- )
51665
- };
51666
- }
51667
- return out;
51639
+ return registryEntries(ROADMAP_CARD_CONFIGS, (cfg) => ({
51640
+ mode: "fetch",
51641
+ label: cfg.label,
51642
+ contentRefType: cfg.contentRefType,
51643
+ bareInline: true,
51644
+ ...cfg.noComposedHref ? { noComposedHref: true } : {},
51645
+ skeleton: () => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, RoadmapCardSkeleton, { size: "sm" }),
51646
+ render: (item, chatRef, opts) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
51647
+ RoadmapChatCard,
51648
+ {
51649
+ item,
51650
+ chatRef,
51651
+ isNewTab: opts.isNewTab,
51652
+ discuss: opts.discuss,
51653
+ cardType: cfg.cardType
51654
+ }
51655
+ )
51656
+ }));
51668
51657
  }
51669
51658
  var CHAT_CARD_REGISTRY = {
51670
51659
  // ───────── no-fetch: ChatRef carries everything ─────────
@@ -52019,21 +52008,19 @@ function ChatCardLoader({
52019
52008
  children
52020
52009
  }
52021
52010
  );
52011
+ const finish = (node) => entry.bareInline ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _jsxruntime.Fragment, { children: navWrap(node) }) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
52012
+ ChatCardWithDiscuss,
52013
+ {
52014
+ chatRef: finalChatRef,
52015
+ onDiscuss,
52016
+ onDisplay,
52017
+ displayAction: entry.displayAction,
52018
+ children: navWrap(node)
52019
+ }
52020
+ );
52022
52021
  if (entry.mode === "no-fetch") {
52023
52022
  if (!finalChatRef.sourceRepo) return null;
52024
- if (entry.bareInline) {
52025
- return navWrap(entry.render(finalChatRef, renderOpts));
52026
- }
52027
- return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
52028
- ChatCardWithDiscuss,
52029
- {
52030
- chatRef: finalChatRef,
52031
- onDiscuss,
52032
- onDisplay,
52033
- displayAction: entry.displayAction,
52034
- children: navWrap(entry.render(finalChatRef, renderOpts))
52035
- }
52036
- );
52023
+ return finish(entry.render(finalChatRef, renderOpts));
52037
52024
  }
52038
52025
  if (isLoading) return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _jsxruntime.Fragment, { children: entry.skeleton() });
52039
52026
  if (!item) {
@@ -52051,19 +52038,7 @@ function ChatCardLoader({
52051
52038
  }
52052
52039
  return null;
52053
52040
  }
52054
- if (entry.bareInline) {
52055
- return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _jsxruntime.Fragment, { children: navWrap(entry.render(item, finalChatRef, renderOpts)) });
52056
- }
52057
- return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
52058
- ChatCardWithDiscuss,
52059
- {
52060
- chatRef: finalChatRef,
52061
- onDiscuss,
52062
- onDisplay,
52063
- displayAction: entry.displayAction,
52064
- children: navWrap(entry.render(item, finalChatRef, renderOpts))
52065
- }
52066
- );
52041
+ return finish(entry.render(item, finalChatRef, renderOpts));
52067
52042
  }
52068
52043
  function renderChatInlineEntityCard(chatRef, options = {}) {
52069
52044
  const { onDiscuss, onDisplay, baseRoute, chipBasePlatform, extras } = options;
@@ -54099,6 +54074,214 @@ function buildDiscussPrompt(reference, options = {}) {
54099
54074
  return `${prompt} (${reference.type} ${id})`;
54100
54075
  }
54101
54076
 
54077
+ // src/components/chat/stream/message-mutations.ts
54078
+ function nextId(role) {
54079
+ return `${role}-${Date.now()}-${Math.random().toString(36).slice(2, 7)}`;
54080
+ }
54081
+ var CONTENT_DEDUP_WINDOW = 4;
54082
+ var SYSTEM_DEDUP_WINDOW = 10;
54083
+ function hasRecentMessage(prev, predicate, window2) {
54084
+ const start = Math.max(0, prev.length - window2);
54085
+ for (let i = prev.length - 1; i >= start; i--) {
54086
+ if (predicate(prev[i])) return true;
54087
+ }
54088
+ return false;
54089
+ }
54090
+ function updateTrailingAssistant(prev, segments) {
54091
+ const last = prev[prev.length - 1];
54092
+ if (!last || last.role !== "assistant") {
54093
+ return [
54094
+ ...prev,
54095
+ {
54096
+ id: nextId("assistant"),
54097
+ role: "assistant",
54098
+ content: "",
54099
+ segments
54100
+ }
54101
+ ];
54102
+ }
54103
+ return [...prev.slice(0, -1), { ...last, segments }];
54104
+ }
54105
+ function appendToTrailingAssistant(prev, segments) {
54106
+ if (segments.length === 0) return prev;
54107
+ const last = prev[prev.length - 1];
54108
+ if (!last || last.role !== "assistant") {
54109
+ return [
54110
+ ...prev,
54111
+ { id: nextId("assistant"), role: "assistant", content: "", segments }
54112
+ ];
54113
+ }
54114
+ const merged = [..._nullishCoalesce(last.segments, () => ( []))];
54115
+ for (const seg of segments) {
54116
+ const tail = merged[merged.length - 1];
54117
+ if (seg.type === "text" && _optionalChain([tail, 'optionalAccess', _1440 => _1440.type]) === "text") {
54118
+ merged[merged.length - 1] = { type: "text", text: tail.text + seg.text };
54119
+ } else if (seg.type === "thinking" && _optionalChain([tail, 'optionalAccess', _1441 => _1441.type]) === "thinking") {
54120
+ merged[merged.length - 1] = { type: "thinking", text: tail.text + seg.text };
54121
+ } else if (seg.type === "guide" && _optionalChain([tail, 'optionalAccess', _1442 => _1442.type]) === "guide") {
54122
+ merged[merged.length - 1] = { type: "guide", text: tail.text + seg.text };
54123
+ } else if (seg.type === "approval_batch") {
54124
+ const idx = merged.findIndex(
54125
+ (m) => m.type === "approval_batch" && m.data.approvalRequestId === seg.data.approvalRequestId
54126
+ );
54127
+ if (idx !== -1) merged[idx] = seg;
54128
+ else merged.push(seg);
54129
+ } else if (seg.type === "approval_request") {
54130
+ const idx = merged.findIndex(
54131
+ (m) => m.type === "approval_request" && m.data.requestId === seg.data.requestId && m.data.command === seg.data.command
54132
+ );
54133
+ if (idx !== -1) merged[idx] = seg;
54134
+ else merged.push(seg);
54135
+ } else {
54136
+ merged.push(seg);
54137
+ }
54138
+ }
54139
+ return [...prev.slice(0, -1), { ...last, segments: merged }];
54140
+ }
54141
+ function mapSegments(prev, fn) {
54142
+ let changed = false;
54143
+ const next = prev.map((m) => {
54144
+ if (m.role !== "assistant" || !m.segments) return m;
54145
+ let msgChanged = false;
54146
+ const segs = m.segments.map((s) => {
54147
+ const out = fn(s);
54148
+ if (out !== s) msgChanged = true;
54149
+ return out;
54150
+ });
54151
+ if (!msgChanged) return m;
54152
+ changed = true;
54153
+ return { ...m, segments: segs };
54154
+ });
54155
+ return changed ? next : prev;
54156
+ }
54157
+ function applyApprovalStatusToSegment(s, requestId, status, resolvedByName) {
54158
+ if (s.type === "approval_request" && s.data.requestId === requestId && s.status !== status) {
54159
+ return { ...s, status };
54160
+ }
54161
+ if (s.type !== "approval_batch") return s;
54162
+ const isAnchor = s.data.approvalRequestId === requestId;
54163
+ const hasRow = _optionalChain([s, 'access', _1443 => _1443.data, 'access', _1444 => _1444.toolCalls, 'optionalAccess', _1445 => _1445.some, 'call', _1446 => _1446((c) => c.toolExecutionRequestId === requestId)]);
54164
+ if (!isAnchor && !hasRow) return s;
54165
+ const nextResolvedBy = _nullishCoalesce(resolvedByName, () => ( s.resolvedByName));
54166
+ const nextExecutions = hasRow ? {
54167
+ ..._nullishCoalesce(s.data.executions, () => ( {})),
54168
+ [requestId]: { status: "done", success: status === "approved" }
54169
+ } : s.data.executions;
54170
+ const nextStatus = isAnchor ? status : s.status;
54171
+ if (s.status === nextStatus && nextResolvedBy === s.resolvedByName && nextExecutions === s.data.executions) {
54172
+ return s;
54173
+ }
54174
+ return {
54175
+ ...s,
54176
+ status: nextStatus,
54177
+ resolvedByName: nextResolvedBy,
54178
+ data: {
54179
+ ...s.data,
54180
+ ...nextExecutions ? { executions: nextExecutions } : {}
54181
+ }
54182
+ };
54183
+ }
54184
+ function nextBatchExecution(prevExec, toolData) {
54185
+ if (toolData.type === "EXECUTING_TOOL" && _optionalChain([prevExec, 'optionalAccess', _1447 => _1447.status]) === "done") return null;
54186
+ return toolData.type === "EXECUTED_TOOL" ? { status: "done", result: toolData.result, success: toolData.success } : { status: "executing", result: _optionalChain([prevExec, 'optionalAccess', _1448 => _1448.result]), success: _optionalChain([prevExec, 'optionalAccess', _1449 => _1449.success]) };
54187
+ }
54188
+ function withBatchExecution(seg, execId, state) {
54189
+ return {
54190
+ ...seg,
54191
+ data: { ...seg.data, executions: { ..._nullishCoalesce(seg.data.executions, () => ( {})), [execId]: state } }
54192
+ };
54193
+ }
54194
+ function projectBatchStatusToMessages(prev, anchorId, status) {
54195
+ return mapSegments(prev, (s) => {
54196
+ if (s.type !== "approval_batch") return s;
54197
+ if (s.data.approvalRequestId !== anchorId || s.status === status) return s;
54198
+ return { ...s, status };
54199
+ });
54200
+ }
54201
+ function projectBatchRowFailureToMessages(prev, rowRequestId) {
54202
+ return mapSegments(prev, (s) => {
54203
+ if (s.type !== "approval_batch" || !_optionalChain([s, 'access', _1450 => _1450.data, 'access', _1451 => _1451.toolCalls, 'optionalAccess', _1452 => _1452.some, 'call', _1453 => _1453((c) => c.toolExecutionRequestId === rowRequestId)])) {
54204
+ return s;
54205
+ }
54206
+ const existing = _optionalChain([s, 'access', _1454 => _1454.data, 'access', _1455 => _1455.executions, 'optionalAccess', _1456 => _1456[rowRequestId]]);
54207
+ if (_optionalChain([existing, 'optionalAccess', _1457 => _1457.status]) === "done") return s;
54208
+ return withBatchExecution(s, rowRequestId, { status: "done", success: false });
54209
+ });
54210
+ }
54211
+ function upsertTrailingCompaction(prev, segments) {
54212
+ const compaction = [...segments].reverse().find((s) => s.type === "context_compaction");
54213
+ if (!compaction) return prev;
54214
+ const last = prev[prev.length - 1];
54215
+ if (!last || last.role !== "assistant") {
54216
+ return [
54217
+ ...prev,
54218
+ { id: nextId("assistant"), role: "assistant", content: "", segments: [compaction] }
54219
+ ];
54220
+ }
54221
+ const existing = _nullishCoalesce(last.segments, () => ( []));
54222
+ const startedIdx = existing.map((s) => s.type === "context_compaction" && s.status === "started").lastIndexOf(true);
54223
+ const merged = startedIdx !== -1 ? existing.map((s, i) => i === startedIdx ? compaction : s) : [...existing, compaction];
54224
+ return [...prev.slice(0, -1), { ...last, segments: merged }];
54225
+ }
54226
+ function sameToolData(a, b) {
54227
+ return a.type === b.type && a.integratedToolType === b.integratedToolType && a.toolFunction === b.toolFunction && a.toolTitle === b.toolTitle && a.result === b.result && a.success === b.success && a.toolExecutionRequestId === b.toolExecutionRequestId && (a.parameters === b.parameters || JSON.stringify(_nullishCoalesce(a.parameters, () => ( null))) === JSON.stringify(_nullishCoalesce(b.parameters, () => ( null))));
54228
+ }
54229
+ function sameExecutionState(a, b) {
54230
+ return !!a && a.status === b.status && a.result === b.result && a.success === b.success;
54231
+ }
54232
+ function applyToolExecutionToMessages(prev, segment) {
54233
+ const merged = mergeToolExecutionIfPresent(prev, segment);
54234
+ if (merged !== null) return merged;
54235
+ return appendToTrailingAssistant(prev, [segment]);
54236
+ }
54237
+ function mergeToolExecutionIfPresent(prev, segment) {
54238
+ const toolData = segment.data;
54239
+ const execId = toolData.toolExecutionRequestId;
54240
+ for (let i = prev.length - 1; i >= 0; i--) {
54241
+ const message2 = prev[i];
54242
+ if (message2.role !== "assistant" || !message2.segments) continue;
54243
+ for (let j = message2.segments.length - 1; j >= 0; j--) {
54244
+ const seg = message2.segments[j];
54245
+ if (execId && seg.type === "approval_batch" && seg.data.toolCalls.some((c) => c.toolExecutionRequestId === execId)) {
54246
+ const prevExec = _optionalChain([seg, 'access', _1458 => _1458.data, 'access', _1459 => _1459.executions, 'optionalAccess', _1460 => _1460[execId]]);
54247
+ const nextExec = nextBatchExecution(prevExec, toolData);
54248
+ if (nextExec === null) return prev;
54249
+ if (sameExecutionState(prevExec, nextExec)) return prev;
54250
+ const nextSegments = [...message2.segments];
54251
+ nextSegments[j] = withBatchExecution(seg, execId, nextExec);
54252
+ const next = [...prev];
54253
+ next[i] = { ...message2, segments: nextSegments };
54254
+ return next;
54255
+ }
54256
+ if (seg.type === "tool_execution") {
54257
+ const matches = execId ? seg.data.toolExecutionRequestId === execId : seg.data.type === "EXECUTING_TOOL" && seg.data.integratedToolType === toolData.integratedToolType && seg.data.toolFunction === toolData.toolFunction;
54258
+ if (!matches) continue;
54259
+ if (toolData.type === "EXECUTING_TOOL" && seg.data.type === "EXECUTED_TOOL") {
54260
+ return prev;
54261
+ }
54262
+ const mergedData = {
54263
+ ...toolData,
54264
+ toolTitle: _nullishCoalesce(toolData.toolTitle, () => ( seg.data.toolTitle)),
54265
+ parameters: toolData.parameters || seg.data.parameters
54266
+ };
54267
+ if (sameToolData(seg.data, mergedData)) return prev;
54268
+ const nextSegments = [...message2.segments];
54269
+ nextSegments[j] = { type: "tool_execution", data: mergedData };
54270
+ const next = [...prev];
54271
+ next[i] = { ...message2, segments: nextSegments };
54272
+ return next;
54273
+ }
54274
+ }
54275
+ }
54276
+ return null;
54277
+ }
54278
+ function projectApprovalResolutionToMessages(prev, requestId, status, resolvedByName) {
54279
+ return mapSegments(
54280
+ prev,
54281
+ (s) => applyApprovalStatusToSegment(s, requestId, status, resolvedByName)
54282
+ );
54283
+ }
54284
+
54102
54285
  // src/components/chat/utils/message-segment-accumulator.ts
54103
54286
  var MessageSegmentAccumulator = class {
54104
54287
  constructor(callbacks) {
@@ -54239,9 +54422,9 @@ var MessageSegmentAccumulator = class {
54239
54422
  type: "tool_execution",
54240
54423
  data: {
54241
54424
  ...toolData,
54242
- toolTitle: _nullishCoalesce(_nullishCoalesce(toolData.toolTitle, () => ( _optionalChain([existingExecuting, 'optionalAccess', _1440 => _1440.data, 'access', _1441 => _1441.toolTitle]))), () => ( _optionalChain([executingTool, 'optionalAccess', _1442 => _1442.toolTitle]))),
54243
- toolExplanation: _nullishCoalesce(_nullishCoalesce(toolData.toolExplanation, () => ( _optionalChain([existingExecuting, 'optionalAccess', _1443 => _1443.data, 'access', _1444 => _1444.toolExplanation]))), () => ( _optionalChain([executingTool, 'optionalAccess', _1445 => _1445.toolExplanation]))),
54244
- parameters: toolData.parameters || _optionalChain([executingTool, 'optionalAccess', _1446 => _1446.parameters])
54425
+ toolTitle: _nullishCoalesce(_nullishCoalesce(toolData.toolTitle, () => ( _optionalChain([existingExecuting, 'optionalAccess', _1461 => _1461.data, 'access', _1462 => _1462.toolTitle]))), () => ( _optionalChain([executingTool, 'optionalAccess', _1463 => _1463.toolTitle]))),
54426
+ toolExplanation: _nullishCoalesce(_nullishCoalesce(toolData.toolExplanation, () => ( _optionalChain([existingExecuting, 'optionalAccess', _1464 => _1464.data, 'access', _1465 => _1465.toolExplanation]))), () => ( _optionalChain([executingTool, 'optionalAccess', _1466 => _1466.toolExplanation]))),
54427
+ parameters: toolData.parameters || _optionalChain([executingTool, 'optionalAccess', _1467 => _1467.parameters])
54245
54428
  }
54246
54429
  };
54247
54430
  if (existingIndex !== -1) {
@@ -54265,20 +54448,11 @@ var MessageSegmentAccumulator = class {
54265
54448
  if (seg.type !== "approval_batch") return seg;
54266
54449
  const hasCall = seg.data.toolCalls.some((c) => c.toolExecutionRequestId === execId);
54267
54450
  if (!hasCall) return seg;
54268
- const prev = _optionalChain([seg, 'access', _1447 => _1447.data, 'access', _1448 => _1448.executions, 'optionalAccess', _1449 => _1449[execId]]);
54269
- if (toolData.type === "EXECUTING_TOOL" && _optionalChain([prev, 'optionalAccess', _1450 => _1450.status]) === "done") {
54270
- matched = true;
54271
- return seg;
54272
- }
54273
- const next = toolData.type === "EXECUTED_TOOL" ? { status: "done", result: toolData.result, success: toolData.success } : { status: "executing", result: _optionalChain([prev, 'optionalAccess', _1451 => _1451.result]), success: _optionalChain([prev, 'optionalAccess', _1452 => _1452.success]) };
54451
+ const prev = _optionalChain([seg, 'access', _1468 => _1468.data, 'access', _1469 => _1469.executions, 'optionalAccess', _1470 => _1470[execId]]);
54452
+ const next = nextBatchExecution(prev, toolData);
54274
54453
  matched = true;
54275
- return {
54276
- ...seg,
54277
- data: {
54278
- ...seg.data,
54279
- executions: { ..._nullishCoalesce(seg.data.executions, () => ( {})), [execId]: next }
54280
- }
54281
- };
54454
+ if (next === null) return seg;
54455
+ return withBatchExecution(seg, execId, next);
54282
54456
  });
54283
54457
  return matched;
54284
54458
  }
@@ -54392,10 +54566,10 @@ var MessageSegmentAccumulator = class {
54392
54566
  const segment = {
54393
54567
  type: "approval_request",
54394
54568
  data: {
54395
- command: _optionalChain([pendingApproval, 'optionalAccess', _1453 => _1453.command]) || "",
54396
- explanation: _optionalChain([pendingApproval, 'optionalAccess', _1454 => _1454.explanation]),
54569
+ command: _optionalChain([pendingApproval, 'optionalAccess', _1471 => _1471.command]) || "",
54570
+ explanation: _optionalChain([pendingApproval, 'optionalAccess', _1472 => _1472.explanation]),
54397
54571
  requestId,
54398
- approvalType: _optionalChain([pendingApproval, 'optionalAccess', _1455 => _1455.approvalType]) || approvalType
54572
+ approvalType: _optionalChain([pendingApproval, 'optionalAccess', _1473 => _1473.approvalType]) || approvalType
54399
54573
  },
54400
54574
  status,
54401
54575
  onApprove: this.callbacks.onApprove,
@@ -54413,15 +54587,9 @@ var MessageSegmentAccumulator = class {
54413
54587
  * resolved card shows "by {name}"; omit it to leave any existing value untouched.
54414
54588
  */
54415
54589
  updateApprovalStatus(requestId, status, resolvedByName) {
54416
- this.segments = this.segments.map((segment) => {
54417
- if (segment.type === "approval_request" && segment.data.requestId === requestId) {
54418
- return { ...segment, status };
54419
- }
54420
- if (segment.type === "approval_batch" && segment.data.approvalRequestId === requestId) {
54421
- return { ...segment, status, resolvedByName: _nullishCoalesce(resolvedByName, () => ( segment.resolvedByName)) };
54422
- }
54423
- return segment;
54424
- });
54590
+ this.segments = this.segments.map(
54591
+ (segment) => applyApprovalStatusToSegment(segment, requestId, status, resolvedByName)
54592
+ );
54425
54593
  return this.getSegments();
54426
54594
  }
54427
54595
  /**
@@ -54566,231 +54734,6 @@ function createMessageSegmentAccumulator(callbacks) {
54566
54734
  // src/chat-protocol/events.ts
54567
54735
  var CHAT_OWNER_ADMIN = "ADMIN";
54568
54736
 
54569
- // src/components/chat/stream/message-mutations.ts
54570
- function nextId(role) {
54571
- return `${role}-${Date.now()}-${Math.random().toString(36).slice(2, 7)}`;
54572
- }
54573
- var CONTENT_DEDUP_WINDOW = 4;
54574
- var SYSTEM_DEDUP_WINDOW = 10;
54575
- function hasRecentMessage(prev, predicate, window2) {
54576
- const start = Math.max(0, prev.length - window2);
54577
- for (let i = prev.length - 1; i >= start; i--) {
54578
- if (predicate(prev[i])) return true;
54579
- }
54580
- return false;
54581
- }
54582
- function updateTrailingAssistant(prev, segments) {
54583
- const last = prev[prev.length - 1];
54584
- if (!last || last.role !== "assistant") {
54585
- return [
54586
- ...prev,
54587
- {
54588
- id: nextId("assistant"),
54589
- role: "assistant",
54590
- content: "",
54591
- segments
54592
- }
54593
- ];
54594
- }
54595
- return [...prev.slice(0, -1), { ...last, segments }];
54596
- }
54597
- function appendToTrailingAssistant(prev, segments) {
54598
- if (segments.length === 0) return prev;
54599
- const last = prev[prev.length - 1];
54600
- if (!last || last.role !== "assistant") {
54601
- return [
54602
- ...prev,
54603
- { id: nextId("assistant"), role: "assistant", content: "", segments }
54604
- ];
54605
- }
54606
- const merged = [..._nullishCoalesce(last.segments, () => ( []))];
54607
- for (const seg of segments) {
54608
- const tail = merged[merged.length - 1];
54609
- if (seg.type === "text" && _optionalChain([tail, 'optionalAccess', _1456 => _1456.type]) === "text") {
54610
- merged[merged.length - 1] = { type: "text", text: tail.text + seg.text };
54611
- } else if (seg.type === "thinking" && _optionalChain([tail, 'optionalAccess', _1457 => _1457.type]) === "thinking") {
54612
- merged[merged.length - 1] = { type: "thinking", text: tail.text + seg.text };
54613
- } else if (seg.type === "guide" && _optionalChain([tail, 'optionalAccess', _1458 => _1458.type]) === "guide") {
54614
- merged[merged.length - 1] = { type: "guide", text: tail.text + seg.text };
54615
- } else if (seg.type === "approval_batch") {
54616
- const idx = merged.findIndex(
54617
- (m) => m.type === "approval_batch" && m.data.approvalRequestId === seg.data.approvalRequestId
54618
- );
54619
- if (idx !== -1) merged[idx] = seg;
54620
- else merged.push(seg);
54621
- } else if (seg.type === "approval_request") {
54622
- const idx = merged.findIndex(
54623
- (m) => m.type === "approval_request" && m.data.requestId === seg.data.requestId && m.data.command === seg.data.command
54624
- );
54625
- if (idx !== -1) merged[idx] = seg;
54626
- else merged.push(seg);
54627
- } else {
54628
- merged.push(seg);
54629
- }
54630
- }
54631
- return [...prev.slice(0, -1), { ...last, segments: merged }];
54632
- }
54633
- function projectBatchStatusToMessages(prev, anchorId, status) {
54634
- let changed = false;
54635
- const next = prev.map((m) => {
54636
- if (m.role !== "assistant" || !m.segments) return m;
54637
- let msgChanged = false;
54638
- const segs = m.segments.map((s) => {
54639
- if (s.type !== "approval_batch") return s;
54640
- if (s.data.approvalRequestId !== anchorId || s.status === status) return s;
54641
- msgChanged = true;
54642
- return { ...s, status };
54643
- });
54644
- if (!msgChanged) return m;
54645
- changed = true;
54646
- return { ...m, segments: segs };
54647
- });
54648
- return changed ? next : prev;
54649
- }
54650
- function projectBatchRowFailureToMessages(prev, rowRequestId) {
54651
- let changed = false;
54652
- const next = prev.map((m) => {
54653
- if (m.role !== "assistant" || !m.segments) return m;
54654
- let msgChanged = false;
54655
- const segs = m.segments.map((s) => {
54656
- if (s.type !== "approval_batch" || !_optionalChain([s, 'access', _1459 => _1459.data, 'access', _1460 => _1460.toolCalls, 'optionalAccess', _1461 => _1461.some, 'call', _1462 => _1462((c) => c.toolExecutionRequestId === rowRequestId)])) {
54657
- return s;
54658
- }
54659
- const existing = _optionalChain([s, 'access', _1463 => _1463.data, 'access', _1464 => _1464.executions, 'optionalAccess', _1465 => _1465[rowRequestId]]);
54660
- if (_optionalChain([existing, 'optionalAccess', _1466 => _1466.status]) === "done") return s;
54661
- msgChanged = true;
54662
- return {
54663
- ...s,
54664
- data: {
54665
- ...s.data,
54666
- executions: {
54667
- ..._nullishCoalesce(s.data.executions, () => ( {})),
54668
- [rowRequestId]: { status: "done", success: false }
54669
- }
54670
- }
54671
- };
54672
- });
54673
- if (!msgChanged) return m;
54674
- changed = true;
54675
- return { ...m, segments: segs };
54676
- });
54677
- return changed ? next : prev;
54678
- }
54679
- function upsertTrailingCompaction(prev, segments) {
54680
- const compaction = [...segments].reverse().find((s) => s.type === "context_compaction");
54681
- if (!compaction) return prev;
54682
- const last = prev[prev.length - 1];
54683
- if (!last || last.role !== "assistant") {
54684
- return [
54685
- ...prev,
54686
- { id: nextId("assistant"), role: "assistant", content: "", segments: [compaction] }
54687
- ];
54688
- }
54689
- const existing = _nullishCoalesce(last.segments, () => ( []));
54690
- const startedIdx = existing.map((s) => s.type === "context_compaction" && s.status === "started").lastIndexOf(true);
54691
- const merged = startedIdx !== -1 ? existing.map((s, i) => i === startedIdx ? compaction : s) : [...existing, compaction];
54692
- return [...prev.slice(0, -1), { ...last, segments: merged }];
54693
- }
54694
- function sameToolData(a, b) {
54695
- return a.type === b.type && a.integratedToolType === b.integratedToolType && a.toolFunction === b.toolFunction && a.toolTitle === b.toolTitle && a.result === b.result && a.success === b.success && a.toolExecutionRequestId === b.toolExecutionRequestId && (a.parameters === b.parameters || JSON.stringify(_nullishCoalesce(a.parameters, () => ( null))) === JSON.stringify(_nullishCoalesce(b.parameters, () => ( null))));
54696
- }
54697
- function sameExecutionState(a, b) {
54698
- return !!a && a.status === b.status && a.result === b.result && a.success === b.success;
54699
- }
54700
- function applyToolExecutionToMessages(prev, segment) {
54701
- const merged = mergeToolExecutionIfPresent(prev, segment);
54702
- if (merged !== null) return merged;
54703
- return appendToTrailingAssistant(prev, [segment]);
54704
- }
54705
- function mergeToolExecutionIfPresent(prev, segment) {
54706
- const toolData = segment.data;
54707
- const execId = toolData.toolExecutionRequestId;
54708
- for (let i = prev.length - 1; i >= 0; i--) {
54709
- const message2 = prev[i];
54710
- if (message2.role !== "assistant" || !message2.segments) continue;
54711
- for (let j = message2.segments.length - 1; j >= 0; j--) {
54712
- const seg = message2.segments[j];
54713
- if (execId && seg.type === "approval_batch" && seg.data.toolCalls.some((c) => c.toolExecutionRequestId === execId)) {
54714
- const prevExec = _optionalChain([seg, 'access', _1467 => _1467.data, 'access', _1468 => _1468.executions, 'optionalAccess', _1469 => _1469[execId]]);
54715
- if (toolData.type === "EXECUTING_TOOL" && _optionalChain([prevExec, 'optionalAccess', _1470 => _1470.status]) === "done") {
54716
- return prev;
54717
- }
54718
- const nextExec = toolData.type === "EXECUTED_TOOL" ? { status: "done", result: toolData.result, success: toolData.success } : { status: "executing", result: _optionalChain([prevExec, 'optionalAccess', _1471 => _1471.result]), success: _optionalChain([prevExec, 'optionalAccess', _1472 => _1472.success]) };
54719
- if (sameExecutionState(prevExec, nextExec)) return prev;
54720
- const nextSegments = [...message2.segments];
54721
- nextSegments[j] = {
54722
- ...seg,
54723
- data: { ...seg.data, executions: { ..._nullishCoalesce(seg.data.executions, () => ( {})), [execId]: nextExec } }
54724
- };
54725
- const next = [...prev];
54726
- next[i] = { ...message2, segments: nextSegments };
54727
- return next;
54728
- }
54729
- if (seg.type === "tool_execution") {
54730
- const matches = execId ? seg.data.toolExecutionRequestId === execId : seg.data.type === "EXECUTING_TOOL" && seg.data.integratedToolType === toolData.integratedToolType && seg.data.toolFunction === toolData.toolFunction;
54731
- if (!matches) continue;
54732
- if (toolData.type === "EXECUTING_TOOL" && seg.data.type === "EXECUTED_TOOL") {
54733
- return prev;
54734
- }
54735
- const mergedData = {
54736
- ...toolData,
54737
- toolTitle: _nullishCoalesce(toolData.toolTitle, () => ( seg.data.toolTitle)),
54738
- parameters: toolData.parameters || seg.data.parameters
54739
- };
54740
- if (sameToolData(seg.data, mergedData)) return prev;
54741
- const nextSegments = [...message2.segments];
54742
- nextSegments[j] = { type: "tool_execution", data: mergedData };
54743
- const next = [...prev];
54744
- next[i] = { ...message2, segments: nextSegments };
54745
- return next;
54746
- }
54747
- }
54748
- }
54749
- return null;
54750
- }
54751
- function projectApprovalResolutionToMessages(prev, requestId, status, resolvedByName) {
54752
- let changed = false;
54753
- const next = prev.map((m) => {
54754
- if (m.role !== "assistant" || !m.segments) return m;
54755
- let msgChanged = false;
54756
- const segs = m.segments.map((s) => {
54757
- if (s.type === "approval_request" && s.data.requestId === requestId && s.status !== status) {
54758
- msgChanged = true;
54759
- return { ...s, status };
54760
- }
54761
- if (s.type === "approval_batch") {
54762
- const isAnchor = s.data.approvalRequestId === requestId;
54763
- const hasRow = _optionalChain([s, 'access', _1473 => _1473.data, 'access', _1474 => _1474.toolCalls, 'optionalAccess', _1475 => _1475.some, 'call', _1476 => _1476((c) => c.toolExecutionRequestId === requestId)]);
54764
- if (!isAnchor && !hasRow) return s;
54765
- const nextResolvedBy = _nullishCoalesce(resolvedByName, () => ( s.resolvedByName));
54766
- const nextExecutions = hasRow ? {
54767
- ..._nullishCoalesce(s.data.executions, () => ( {})),
54768
- [requestId]: { status: "done", success: status === "approved" }
54769
- } : s.data.executions;
54770
- const nextStatus = isAnchor ? status : s.status;
54771
- if (s.status === nextStatus && nextResolvedBy === s.resolvedByName && nextExecutions === s.data.executions) {
54772
- return s;
54773
- }
54774
- msgChanged = true;
54775
- return {
54776
- ...s,
54777
- status: nextStatus,
54778
- resolvedByName: nextResolvedBy,
54779
- data: {
54780
- ...s.data,
54781
- ...nextExecutions ? { executions: nextExecutions } : {}
54782
- }
54783
- };
54784
- }
54785
- return s;
54786
- });
54787
- if (!msgChanged) return m;
54788
- changed = true;
54789
- return { ...m, segments: segs };
54790
- });
54791
- return changed ? next : prev;
54792
- }
54793
-
54794
54737
  // src/components/chat/stream/chat-stream-reducer.ts
54795
54738
  function createEmptyTurnMeta() {
54796
54739
  return {
@@ -54876,7 +54819,7 @@ function createChatStreamReducer(options = {}) {
54876
54819
  let stateCache = null;
54877
54820
  function invalidate() {
54878
54821
  stateCache = null;
54879
- _optionalChain([onChange, 'optionalCall', _1477 => _1477()]);
54822
+ _optionalChain([onChange, 'optionalCall', _1474 => _1474()]);
54880
54823
  }
54881
54824
  function getState() {
54882
54825
  if (!stateCache) {
@@ -54892,7 +54835,7 @@ function createChatStreamReducer(options = {}) {
54892
54835
  return stateCache;
54893
54836
  }
54894
54837
  function emit(name, ...args) {
54895
- _optionalChain([onEffect, 'optionalCall', _1478 => _1478({ name, args })]);
54838
+ _optionalChain([onEffect, 'optionalCall', _1475 => _1475({ name, args })]);
54896
54839
  }
54897
54840
  function setMessagesInternal(next) {
54898
54841
  if (next !== messages) {
@@ -54923,12 +54866,12 @@ function createChatStreamReducer(options = {}) {
54923
54866
  return [...next.slice(0, -1), { ...last, streamSeq: seq }];
54924
54867
  }
54925
54868
  function applySegmentsToState(segments, meta) {
54926
- const seq = _optionalChain([meta, 'optionalAccess', _1479 => _1479.streamSeq]);
54927
- if (_optionalChain([meta, 'optionalAccess', _1480 => _1480.append]) && meta.isCompacting) {
54869
+ const seq = _optionalChain([meta, 'optionalAccess', _1476 => _1476.streamSeq]);
54870
+ if (_optionalChain([meta, 'optionalAccess', _1477 => _1477.append]) && meta.isCompacting) {
54928
54871
  setMessagesInternal(stampTrailingAssistantSeq(upsertTrailingCompaction(messages, segments), seq));
54929
54872
  return;
54930
54873
  }
54931
- if (_optionalChain([meta, 'optionalAccess', _1481 => _1481.append])) {
54874
+ if (_optionalChain([meta, 'optionalAccess', _1478 => _1478.append])) {
54932
54875
  setMessagesInternal(stampTrailingAssistantSeq(appendToTrailingAssistant(messages, segments), seq));
54933
54876
  return;
54934
54877
  }
@@ -54940,7 +54883,7 @@ function createChatStreamReducer(options = {}) {
54940
54883
  adoptTrailingAssistant = false;
54941
54884
  const last = messages[messages.length - 1];
54942
54885
  if (!last || last.role !== "assistant" || adoptTail) return;
54943
- const hasContent2 = (_nullishCoalesce(_optionalChain([last, 'access', _1482 => _1482.segments, 'optionalAccess', _1483 => _1483.length]), () => ( 0))) > 0 || last.content !== "";
54886
+ const hasContent2 = (_nullishCoalesce(_optionalChain([last, 'access', _1479 => _1479.segments, 'optionalAccess', _1480 => _1480.length]), () => ( 0))) > 0 || last.content !== "";
54944
54887
  if (!hasContent2) return;
54945
54888
  setMessagesInternal([
54946
54889
  ...messages,
@@ -55138,13 +55081,13 @@ function createChatStreamReducer(options = {}) {
55138
55081
  const summary = required ? getCommandText(required) : `Batch of ${toolCalls.length} tool calls`;
55139
55082
  pendingEscalated.set(requestId, {
55140
55083
  command: summary,
55141
- explanation: _optionalChain([required, 'optionalAccess', _1484 => _1484.toolExplanation]),
55084
+ explanation: _optionalChain([required, 'optionalAccess', _1481 => _1481.toolExplanation]),
55142
55085
  approvalType,
55143
55086
  toolCalls
55144
55087
  });
55145
55088
  emit("onEscalatedApproval", requestId, {
55146
55089
  command: summary,
55147
- explanation: _optionalChain([required, 'optionalAccess', _1485 => _1485.toolExplanation]),
55090
+ explanation: _optionalChain([required, 'optionalAccess', _1482 => _1482.toolExplanation]),
55148
55091
  approvalType
55149
55092
  });
55150
55093
  break;
@@ -55271,7 +55214,7 @@ function createChatStreamReducer(options = {}) {
55271
55214
  let message2;
55272
55215
  if (event.details) {
55273
55216
  try {
55274
- message2 = _optionalChain([JSON, 'access', _1486 => _1486.parse, 'call', _1487 => _1487(event.details), 'optionalAccess', _1488 => _1488.error, 'optionalAccess', _1489 => _1489.message]);
55217
+ message2 = _optionalChain([JSON, 'access', _1483 => _1483.parse, 'call', _1484 => _1484(event.details), 'optionalAccess', _1485 => _1485.error, 'optionalAccess', _1486 => _1486.message]);
55275
55218
  } catch (e99) {
55276
55219
  message2 = event.details;
55277
55220
  }
@@ -55374,7 +55317,7 @@ function createChatStreamReducer(options = {}) {
55374
55317
  }
55375
55318
  function applySseApprovalResolved(event, sendIdx) {
55376
55319
  const cardRef = event.cardRef;
55377
- if (_optionalChain([cardRef, 'optionalAccess', _1490 => _1490.id]) && event.cardType) {
55320
+ if (_optionalChain([cardRef, 'optionalAccess', _1487 => _1487.id]) && event.cardType) {
55378
55321
  const existing = _nullishCoalesce(refsMap.get(sendIdx), () => ( {}));
55379
55322
  const key = buildChatRefKey(event.cardType, cardRef.id);
55380
55323
  refsMap.set(sendIdx, { ...existing, [key]: cardRef });
@@ -55510,7 +55453,7 @@ function createChatStreamReducer(options = {}) {
55510
55453
  const resolveBatch = (status, confirm) => async () => {
55511
55454
  setMessagesInternal(projectBatchStatusToMessages(messages, anchorId, status));
55512
55455
  for (const id of ids) {
55513
- const ok = await _optionalChain([confirm, 'optionalCall', _1491 => _1491(id)]);
55456
+ const ok = await _optionalChain([confirm, 'optionalCall', _1488 => _1488(id)]);
55514
55457
  if (ok === false) {
55515
55458
  setMessagesInternal(projectBatchRowFailureToMessages(messages, id));
55516
55459
  }
@@ -55653,8 +55596,8 @@ function createChatStreamReducer(options = {}) {
55653
55596
  }
55654
55597
  }
55655
55598
  }
55656
- hasEverStreamed = hasEverStreamed || (_nullishCoalesce(_optionalChain([extras, 'optionalAccess', _1492 => _1492.resumed]), () => ( messages.length > 0)));
55657
- if (_optionalChain([extras, 'optionalAccess', _1493 => _1493.agentBusy])) agentBusyState();
55599
+ hasEverStreamed = hasEverStreamed || (_nullishCoalesce(_optionalChain([extras, 'optionalAccess', _1489 => _1489.resumed]), () => ( messages.length > 0)));
55600
+ if (_optionalChain([extras, 'optionalAccess', _1490 => _1490.agentBusy])) agentBusyState();
55658
55601
  invalidate();
55659
55602
  }
55660
55603
  return {
@@ -55739,7 +55682,7 @@ function createChatStreamReducer(options = {}) {
55739
55682
  },
55740
55683
  endSseTurn() {
55741
55684
  const last = messages[messages.length - 1];
55742
- if (last && last.role === "assistant" && (_nullishCoalesce(_optionalChain([last, 'access', _1494 => _1494.segments, 'optionalAccess', _1495 => _1495.length]), () => ( 0))) === 0 && last.content === "") {
55685
+ if (last && last.role === "assistant" && (_nullishCoalesce(_optionalChain([last, 'access', _1491 => _1491.segments, 'optionalAccess', _1492 => _1492.length]), () => ( 0))) === 0 && last.content === "") {
55743
55686
  messages = messages.slice(0, -1);
55744
55687
  }
55745
55688
  sseCurrentText = "";
@@ -55819,6 +55762,7 @@ function createChatStreamReducer(options = {}) {
55819
55762
  setMessagesInternal(
55820
55763
  projectApprovalResolutionToMessages(messages, requestId, status, resolvedByName)
55821
55764
  );
55765
+ mirrorApprovalStatus(requestId, status);
55822
55766
  return segments;
55823
55767
  },
55824
55768
  getPendingEscalated() {
@@ -55894,10 +55838,10 @@ function createChatDialogStore(options = {}) {
55894
55838
  if (onEvict) {
55895
55839
  const sep = key.indexOf(KEY_SEP);
55896
55840
  onEvict(key.slice(0, sep), key.slice(sep + 1), {
55897
- messages: _nullishCoalesce(_optionalChain([dropped, 'optionalAccess', _1496 => _1496.state, 'access', _1497 => _1497.messages]), () => ( EMPTY_STATE.messages)),
55898
- approvalStatuses: _nullishCoalesce(_optionalChain([dropped, 'optionalAccess', _1498 => _1498.state, 'access', _1499 => _1499.approvalStatuses]), () => ( EMPTY_STATE.approvalStatuses)),
55899
- lastAppliedSeq: _nullishCoalesce(_optionalChain([dropped, 'optionalAccess', _1500 => _1500.getLastAppliedSeq, 'call', _1501 => _1501()]), () => ( Number.NEGATIVE_INFINITY)),
55900
- pendingEchoes: _nullishCoalesce(_optionalChain([dropped, 'optionalAccess', _1502 => _1502.getPendingEchoes, 'call', _1503 => _1503()]), () => ( EMPTY_PENDING_ECHOES))
55841
+ messages: _nullishCoalesce(_optionalChain([dropped, 'optionalAccess', _1493 => _1493.state, 'access', _1494 => _1494.messages]), () => ( EMPTY_STATE.messages)),
55842
+ approvalStatuses: _nullishCoalesce(_optionalChain([dropped, 'optionalAccess', _1495 => _1495.state, 'access', _1496 => _1496.approvalStatuses]), () => ( EMPTY_STATE.approvalStatuses)),
55843
+ lastAppliedSeq: _nullishCoalesce(_optionalChain([dropped, 'optionalAccess', _1497 => _1497.getLastAppliedSeq, 'call', _1498 => _1498()]), () => ( Number.NEGATIVE_INFINITY)),
55844
+ pendingEchoes: _nullishCoalesce(_optionalChain([dropped, 'optionalAccess', _1499 => _1499.getPendingEchoes, 'call', _1500 => _1500()]), () => ( EMPTY_PENDING_ECHOES))
55901
55845
  });
55902
55846
  }
55903
55847
  }
@@ -55907,12 +55851,12 @@ function createChatDialogStore(options = {}) {
55907
55851
  const key = keyOf(dialogId, side);
55908
55852
  let reducer2 = reducers.get(key);
55909
55853
  if (!reducer2) {
55910
- const base = _nullishCoalesce(_optionalChain([(_nullishCoalesce(createOptions, () => ( defaultCreateOptions))), 'optionalCall', _1504 => _1504(dialogId, side)]), () => ( {}));
55854
+ const base = _nullishCoalesce(_optionalChain([(_nullishCoalesce(createOptions, () => ( defaultCreateOptions))), 'optionalCall', _1501 => _1501(dialogId, side)]), () => ( {}));
55911
55855
  const userOnChange = base.onChange;
55912
55856
  reducer2 = createChatStreamReducer({
55913
55857
  ...base,
55914
55858
  onChange: () => {
55915
- _optionalChain([userOnChange, 'optionalCall', _1505 => _1505()]);
55859
+ _optionalChain([userOnChange, 'optionalCall', _1502 => _1502()]);
55916
55860
  notify();
55917
55861
  }
55918
55862
  });
@@ -55957,7 +55901,7 @@ function createChatDialogStore(options = {}) {
55957
55901
  };
55958
55902
  }
55959
55903
  function getSnapshot(dialogId, side = DEFAULT_DIALOG_SIDE) {
55960
- return _nullishCoalesce(_optionalChain([reducers, 'access', _1506 => _1506.get, 'call', _1507 => _1507(keyOf(dialogId, side)), 'optionalAccess', _1508 => _1508.state]), () => ( EMPTY_STATE));
55904
+ return _nullishCoalesce(_optionalChain([reducers, 'access', _1503 => _1503.get, 'call', _1504 => _1504(keyOf(dialogId, side)), 'optionalAccess', _1505 => _1505.state]), () => ( EMPTY_STATE));
55961
55905
  }
55962
55906
  function getServerSnapshot() {
55963
55907
  return EMPTY_STATE;
@@ -56049,7 +55993,7 @@ function createDeltaBatcher({
56049
55993
  pending = [];
56050
55994
  const key = pendingKey;
56051
55995
  for (const delta of batch) applyOne(delta, key);
56052
- _optionalChain([onFlushed, 'optionalCall', _1509 => _1509(batch.length)]);
55996
+ _optionalChain([onFlushed, 'optionalCall', _1506 => _1506(batch.length)]);
56053
55997
  }
56054
55998
  function schedule() {
56055
55999
  if (raf !== null || timer !== null) return;
@@ -56073,7 +56017,7 @@ function createDeltaBatcher({
56073
56017
  }
56074
56018
  if (!isDeltaEvent(event)) return false;
56075
56019
  const tail = pending[pending.length - 1];
56076
- const seqAdvances = _optionalChain([tail, 'optionalAccess', _1510 => _1510.seq]) == null ? event.seq == null : event.seq != null && event.seq > tail.seq;
56020
+ const seqAdvances = _optionalChain([tail, 'optionalAccess', _1507 => _1507.seq]) == null ? event.seq == null : event.seq != null && event.seq > tail.seq;
56077
56021
  if (tail && seqAdvances && tail.type === event.type && (tail.type !== "text-delta" || tail.leading === event.leading)) {
56078
56022
  pending[pending.length - 1] = {
56079
56023
  ...tail,
@@ -56106,7 +56050,7 @@ function useChatStreamReducer({
56106
56050
  }) {
56107
56051
  const optionsRef = _react.useRef.call(void 0, createReducerOptions);
56108
56052
  optionsRef.current = createReducerOptions;
56109
- const reducer2 = store.getReducer(dialogId, side, () => _nullishCoalesce(_optionalChain([optionsRef, 'access', _1511 => _1511.current, 'optionalCall', _1512 => _1512()]), () => ( {})));
56053
+ const reducer2 = store.getReducer(dialogId, side, () => _nullishCoalesce(_optionalChain([optionsRef, 'access', _1508 => _1508.current, 'optionalCall', _1509 => _1509()]), () => ( {})));
56110
56054
  const getSnapshot = _react.useCallback.call(void 0, () => store.getSnapshot(dialogId, side), [store, dialogId, side]);
56111
56055
  const getServerSnapshot = _react.useCallback.call(void 0, () => store.getServerSnapshot(), [store]);
56112
56056
  const subscribe = _react.useCallback.call(void 0, (listener) => store.subscribe(listener), [store]);
@@ -56167,22 +56111,20 @@ function useSseChatAdapter(options, runtimeOptions = {}) {
56167
56111
  const { active = true } = runtimeOptions;
56168
56112
  const runtime = _chunk7OPWSWEJcjs.useRequiredChatRuntime.call(void 0, );
56169
56113
  const source = runtime.source || DEFAULT_CHAT_SOURCE;
56170
- const tableIdForDocumentType = _nullishCoalesce(_optionalChain([options, 'optionalAccess', _1513 => _1513.tableIdForDocumentType]), () => ( defaultTableIdForDocumentType));
56114
+ const tableIdForDocumentType = _nullishCoalesce(_optionalChain([options, 'optionalAccess', _1510 => _1510.tableIdForDocumentType]), () => ( defaultTableIdForDocumentType));
56171
56115
  const sendMessageRef = _react.useRef.call(void 0, async () => true);
56172
- const cardApprove = _react.useCallback.call(void 0, (reqId) => {
56173
- if (!reqId) return;
56174
- return sendMessageRef.current("", {
56175
- hidden: true,
56176
- approvalAction: { proposalId: reqId, action: "approve" }
56177
- });
56178
- }, []);
56179
- const cardReject = _react.useCallback.call(void 0, (reqId) => {
56180
- if (!reqId) return;
56181
- return sendMessageRef.current("", {
56182
- hidden: true,
56183
- approvalAction: { proposalId: reqId, action: "reject" }
56184
- });
56185
- }, []);
56116
+ const cardResolve = _react.useCallback.call(void 0,
56117
+ (action) => (reqId) => {
56118
+ if (!reqId) return;
56119
+ return sendMessageRef.current("", {
56120
+ hidden: true,
56121
+ approvalAction: { proposalId: reqId, action }
56122
+ });
56123
+ },
56124
+ []
56125
+ );
56126
+ const cardApprove = _react.useMemo.call(void 0, () => cardResolve("approve"), [cardResolve]);
56127
+ const cardReject = _react.useMemo.call(void 0, () => cardResolve("reject"), [cardResolve]);
56186
56128
  const createReducerOptions = _react.useCallback.call(void 0,
56187
56129
  () => ({
56188
56130
  transport: "sse",
@@ -56204,7 +56146,7 @@ function useSseChatAdapter(options, runtimeOptions = {}) {
56204
56146
  if (!restoredConversationRef.current) {
56205
56147
  restoredConversationRef.current = true;
56206
56148
  pruneStaleChatConversationStorage(source);
56207
- conversationIdRef.current = _nullishCoalesce(_optionalChain([conversationStorage, 'access', _1514 => _1514.load, 'call', _1515 => _1515(), 'optionalAccess', _1516 => _1516.conversationId]), () => ( null));
56149
+ conversationIdRef.current = _nullishCoalesce(_optionalChain([conversationStorage, 'access', _1511 => _1511.load, 'call', _1512 => _1512(), 'optionalAccess', _1513 => _1513.conversationId]), () => ( null));
56208
56150
  }
56209
56151
  const commandsUrl = runtime.endpoints.commandsUrl;
56210
56152
  const { commands: slashCommands } = useSlashCommandRegistry(commandsUrl, {
@@ -56310,14 +56252,14 @@ function useSseChatAdapter(options, runtimeOptions = {}) {
56310
56252
  let serverMessage = null;
56311
56253
  try {
56312
56254
  const errBody = await response.json();
56313
- if (typeof _optionalChain([errBody, 'optionalAccess', _1517 => _1517.error]) === "string" && errBody.error.length > 0) {
56255
+ if (typeof _optionalChain([errBody, 'optionalAccess', _1514 => _1514.error]) === "string" && errBody.error.length > 0) {
56314
56256
  serverMessage = errBody.error;
56315
56257
  }
56316
56258
  } catch (e100) {
56317
56259
  }
56318
56260
  throw new Error(_nullishCoalesce(serverMessage, () => ( `Chat request failed: ${response.status}`)));
56319
56261
  }
56320
- const reader = _optionalChain([response, 'access', _1518 => _1518.body, 'optionalAccess', _1519 => _1519.getReader, 'call', _1520 => _1520()]);
56262
+ const reader = _optionalChain([response, 'access', _1515 => _1515.body, 'optionalAccess', _1516 => _1516.getReader, 'call', _1517 => _1517()]);
56321
56263
  if (!reader) throw new Error("No response body");
56322
56264
  const frameDecoder = createSseFrameDecoder();
56323
56265
  let finished = false;
@@ -56340,7 +56282,7 @@ function useSseChatAdapter(options, runtimeOptions = {}) {
56340
56282
  }
56341
56283
  return true;
56342
56284
  } catch (err) {
56343
- if (_optionalChain([err, 'optionalAccess', _1521 => _1521.name]) === "AbortError" || ctrl.signal.aborted) {
56285
+ if (_optionalChain([err, 'optionalAccess', _1518 => _1518.name]) === "AbortError" || ctrl.signal.aborted) {
56344
56286
  return true;
56345
56287
  }
56346
56288
  flushDeltas();
@@ -56362,7 +56304,7 @@ function useSseChatAdapter(options, runtimeOptions = {}) {
56362
56304
  );
56363
56305
  sendMessageRef.current = sendMessage;
56364
56306
  const stopMessage = _react.useCallback.call(void 0, () => {
56365
- _optionalChain([abortControllerRef, 'access', _1522 => _1522.current, 'optionalAccess', _1523 => _1523.abort, 'call', _1524 => _1524()]);
56307
+ _optionalChain([abortControllerRef, 'access', _1519 => _1519.current, 'optionalAccess', _1520 => _1520.abort, 'call', _1521 => _1521()]);
56366
56308
  flushDeltas();
56367
56309
  mutate((r) => r.setPhase("idle"));
56368
56310
  }, [mutate, flushDeltas]);
@@ -56379,7 +56321,7 @@ function useSseChatAdapter(options, runtimeOptions = {}) {
56379
56321
  let sendIdx = -1;
56380
56322
  return state.messages.map((m) => {
56381
56323
  const segments = m.segments;
56382
- const content = typeof m.content === "string" && !segments ? m.content : _nullishCoalesce(_optionalChain([segments, 'optionalAccess', _1525 => _1525.filter, 'call', _1526 => _1526((s) => s.type === "text"), 'access', _1527 => _1527.map, 'call', _1528 => _1528((s) => s.text), 'access', _1529 => _1529.join, 'call', _1530 => _1530("")]), () => ( ""));
56324
+ const content = typeof m.content === "string" && !segments ? m.content : _nullishCoalesce(_optionalChain([segments, 'optionalAccess', _1522 => _1522.filter, 'call', _1523 => _1523((s) => s.type === "text"), 'access', _1524 => _1524.map, 'call', _1525 => _1525((s) => s.text), 'access', _1526 => _1526.join, 'call', _1527 => _1527("")]), () => ( ""));
56383
56325
  let sources;
56384
56326
  let chatRefs;
56385
56327
  let scrollAnchor;
@@ -56390,7 +56332,7 @@ function useSseChatAdapter(options, runtimeOptions = {}) {
56390
56332
  const lookupIdx = sendIdx >= 0 ? sendIdx : 0;
56391
56333
  sources = sourcesMap.get(lookupIdx);
56392
56334
  chatRefs = _nullishCoalesce(m.chatRefs, () => ( refsMap.get(lookupIdx)));
56393
- scrollAnchor = _nullishCoalesce(_optionalChain([meta, 'access', _1531 => _1531.get, 'call', _1532 => _1532(lookupIdx), 'optionalAccess', _1533 => _1533.scrollAnchor]), () => ( void 0));
56335
+ scrollAnchor = _nullishCoalesce(_optionalChain([meta, 'access', _1528 => _1528.get, 'call', _1529 => _1529(lookupIdx), 'optionalAccess', _1530 => _1530.scrollAnchor]), () => ( void 0));
56394
56336
  }
56395
56337
  return {
56396
56338
  id: m.id,
@@ -56420,7 +56362,7 @@ function useSseChatAdapter(options, runtimeOptions = {}) {
56420
56362
  );
56421
56363
  return;
56422
56364
  }
56423
- const refSlug = typeof _optionalChain([reference, 'access', _1534 => _1534.metadata, 'optionalAccess', _1535 => _1535.slug]) === "string" && reference.metadata.slug.length > 0 ? reference.metadata.slug : "";
56365
+ const refSlug = typeof _optionalChain([reference, 'access', _1531 => _1531.metadata, 'optionalAccess', _1532 => _1532.slug]) === "string" && reference.metadata.slug.length > 0 ? reference.metadata.slug : "";
56424
56366
  const queryValue = refSlug || sanitizeTitleForChat(reference.title) || reference.id;
56425
56367
  const escaped = queryValue.replace(/\\/g, "\\\\").replace(/"/g, '\\"');
56426
56368
  const text = `/${cmdId} display "${escaped}"`;
@@ -56470,18 +56412,18 @@ function useSseChatAdapter(options, runtimeOptions = {}) {
56470
56412
  /** True while the mount-time rebuild from the server transcript runs. */
56471
56413
  isHydratingHistory,
56472
56414
  /** Provider key for the lib's `<ModelDisplay>` icon. */
56473
- currentProvider: _nullishCoalesce(_optionalChain([latestMeta, 'optionalAccess', _1536 => _1536.provider]), () => ( null)),
56474
- currentModelLabel: _nullishCoalesce(_optionalChain([latestMeta, 'optionalAccess', _1537 => _1537.modelLabel]), () => ( null)),
56475
- currentContextWindowMaxTokens: _nullishCoalesce(_optionalChain([latestMeta, 'optionalAccess', _1538 => _1538.contextWindowMaxTokens]), () => ( null)),
56415
+ currentProvider: _nullishCoalesce(_optionalChain([latestMeta, 'optionalAccess', _1533 => _1533.provider]), () => ( null)),
56416
+ currentModelLabel: _nullishCoalesce(_optionalChain([latestMeta, 'optionalAccess', _1534 => _1534.modelLabel]), () => ( null)),
56417
+ currentContextWindowMaxTokens: _nullishCoalesce(_optionalChain([latestMeta, 'optionalAccess', _1535 => _1535.contextWindowMaxTokens]), () => ( null)),
56476
56418
  /** Input tokens (known after server's message_start frame; null until). */
56477
- currentInputTokens: _nullishCoalesce(_optionalChain([latestMeta, 'optionalAccess', _1539 => _1539.inputTokens]), () => ( null)),
56419
+ currentInputTokens: _nullishCoalesce(_optionalChain([latestMeta, 'optionalAccess', _1536 => _1536.inputTokens]), () => ( null)),
56478
56420
  /** Output tokens (known only after server's trailing usage frame). */
56479
- currentOutputTokens: _nullishCoalesce(_optionalChain([latestMeta, 'optionalAccess', _1540 => _1540.outputTokens]), () => ( null)),
56421
+ currentOutputTokens: _nullishCoalesce(_optionalChain([latestMeta, 'optionalAccess', _1537 => _1537.outputTokens]), () => ( null)),
56480
56422
  /** Cache hit % (read / total-input × 100). null during streaming. */
56481
- currentCacheHitRatePct: _nullishCoalesce(_optionalChain([latestMeta, 'optionalAccess', _1541 => _1541.cacheHitRatePct]), () => ( null)),
56423
+ currentCacheHitRatePct: _nullishCoalesce(_optionalChain([latestMeta, 'optionalAccess', _1538 => _1538.cacheHitRatePct]), () => ( null)),
56482
56424
  /** Cross-call usage breakdown (Haiku rewriter/classifier/summarizer
56483
56425
  * token counts). null until the trailing usage frame lands. */
56484
- currentUsageBreakdown: _nullishCoalesce(_optionalChain([latestMeta, 'optionalAccess', _1542 => _1542.breakdown]), () => ( null)),
56426
+ currentUsageBreakdown: _nullishCoalesce(_optionalChain([latestMeta, 'optionalAccess', _1539 => _1539.breakdown]), () => ( null)),
56485
56427
  // ─── Dialog management — stubs for v1 ────────────────────────────────
56486
56428
  // Guide mode keeps ONE server-side conversation per stored id
56487
56429
  // (`chat_conversations`, hydrated on mount). Surfacing multiple threads
@@ -56663,7 +56605,7 @@ function decodeNatsChunk(chunk) {
56663
56605
  userId: typeof data.userId === "string" ? data.userId : void 0,
56664
56606
  // Wire shape carries no label; fall back to the id (parity with
56665
56607
  // the history path in `process-historical-messages.ts`).
56666
- contextItems: Array.isArray(data.contextItems) ? data.contextItems.filter((it) => typeof _optionalChain([it, 'optionalAccess', _1543 => _1543.type]) === "string" && typeof _optionalChain([it, 'optionalAccess', _1544 => _1544.id]) === "string").map((it) => ({
56608
+ contextItems: Array.isArray(data.contextItems) ? data.contextItems.filter((it) => typeof _optionalChain([it, 'optionalAccess', _1540 => _1540.type]) === "string" && typeof _optionalChain([it, 'optionalAccess', _1541 => _1541.id]) === "string").map((it) => ({
56667
56609
  type: it.type,
56668
56610
  id: it.id,
56669
56611
  label: it.id
@@ -56715,15 +56657,15 @@ function decodeNatsChunk(chunk) {
56715
56657
 
56716
56658
  // src/components/chat/utils/process-historical-messages.ts
56717
56659
  function getOwnerDisplayName(owner) {
56718
- if (_optionalChain([owner, 'optionalAccess', _1545 => _1545.type]) === OWNER_TYPE.ADMIN && owner.user) {
56660
+ if (_optionalChain([owner, 'optionalAccess', _1542 => _1542.type]) === OWNER_TYPE.ADMIN && owner.user) {
56719
56661
  const { firstName, lastName } = owner.user;
56720
56662
  const name = [firstName, lastName].filter(Boolean).join(" ");
56721
56663
  if (name) return name;
56722
56664
  }
56723
- return _optionalChain([owner, 'optionalAccess', _1546 => _1546.type]) === OWNER_TYPE.ADMIN ? "Admin" : "You";
56665
+ return _optionalChain([owner, 'optionalAccess', _1543 => _1543.type]) === OWNER_TYPE.ADMIN ? "Admin" : "You";
56724
56666
  }
56725
56667
  function getOwnerAvatar(owner) {
56726
- return _nullishCoalesce(_optionalChain([owner, 'optionalAccess', _1547 => _1547.user, 'optionalAccess', _1548 => _1548.image, 'optionalAccess', _1549 => _1549.imageUrl]), () => ( void 0));
56668
+ return _nullishCoalesce(_optionalChain([owner, 'optionalAccess', _1544 => _1544.user, 'optionalAccess', _1545 => _1545.image, 'optionalAccess', _1546 => _1546.imageUrl]), () => ( void 0));
56727
56669
  }
56728
56670
  function pushStandaloneMessages(processedMessages, msg, messageDataArray) {
56729
56671
  messageDataArray.forEach((data) => {
@@ -56897,7 +56839,7 @@ function applyHistoryEvent(event, accumulator, approvalStatuses, options, escala
56897
56839
  }
56898
56840
  }
56899
56841
  } else {
56900
- _optionalChain([escalatedApprovals, 'optionalAccess', _1550 => _1550.set, 'call', _1551 => _1551(event.requestId, {
56842
+ _optionalChain([escalatedApprovals, 'optionalAccess', _1547 => _1547.set, 'call', _1548 => _1548(event.requestId, {
56901
56843
  command: event.command || "",
56902
56844
  explanation: event.explanation,
56903
56845
  approvalType,
@@ -56912,8 +56854,8 @@ function applyHistoryEvent(event, accumulator, approvalStatuses, options, escala
56912
56854
  const existingStatus = approvalStatuses[requestId];
56913
56855
  const status = existingStatus || event.status;
56914
56856
  const resolvedByName = event.resolvedByName;
56915
- const escalatedData = _optionalChain([escalatedApprovals, 'optionalAccess', _1552 => _1552.get, 'call', _1553 => _1553(requestId)]);
56916
- if (_optionalChain([escalatedData, 'optionalAccess', _1554 => _1554.toolCalls]) && escalatedData.toolCalls.length > 0) {
56857
+ const escalatedData = _optionalChain([escalatedApprovals, 'optionalAccess', _1549 => _1549.get, 'call', _1550 => _1550(requestId)]);
56858
+ if (_optionalChain([escalatedData, 'optionalAccess', _1551 => _1551.toolCalls]) && escalatedData.toolCalls.length > 0) {
56917
56859
  if (batchApprovalsEnabled) {
56918
56860
  accumulator.addApprovalBatch(
56919
56861
  requestId,
@@ -56935,7 +56877,7 @@ function applyHistoryEvent(event, accumulator, approvalStatuses, options, escala
56935
56877
  );
56936
56878
  }
56937
56879
  }
56938
- _optionalChain([escalatedApprovals, 'optionalAccess', _1555 => _1555.delete, 'call', _1556 => _1556(requestId)]);
56880
+ _optionalChain([escalatedApprovals, 'optionalAccess', _1552 => _1552.delete, 'call', _1553 => _1553(requestId)]);
56939
56881
  break;
56940
56882
  }
56941
56883
  if (escalatedData) {
@@ -56944,7 +56886,7 @@ function applyHistoryEvent(event, accumulator, approvalStatuses, options, escala
56944
56886
  explanation: escalatedData.explanation,
56945
56887
  approvalType: escalatedData.approvalType
56946
56888
  });
56947
- _optionalChain([escalatedApprovals, 'optionalAccess', _1557 => _1557.delete, 'call', _1558 => _1558(requestId)]);
56889
+ _optionalChain([escalatedApprovals, 'optionalAccess', _1554 => _1554.delete, 'call', _1555 => _1555(requestId)]);
56948
56890
  }
56949
56891
  const before = accumulator.getSegments();
56950
56892
  const after = accumulator.updateApprovalStatus(requestId, status, resolvedByName);
@@ -56961,7 +56903,7 @@ function applyHistoryEvent(event, accumulator, approvalStatuses, options, escala
56961
56903
  let message2;
56962
56904
  if (event.details) {
56963
56905
  try {
56964
- message2 = _optionalChain([JSON, 'access', _1559 => _1559.parse, 'call', _1560 => _1560(event.details), 'optionalAccess', _1561 => _1561.error, 'optionalAccess', _1562 => _1562.message]);
56906
+ message2 = _optionalChain([JSON, 'access', _1556 => _1556.parse, 'call', _1557 => _1557(event.details), 'optionalAccess', _1558 => _1558.error, 'optionalAccess', _1559 => _1559.message]);
56965
56907
  } catch (e101) {
56966
56908
  message2 = event.details;
56967
56909
  }
@@ -57038,14 +56980,14 @@ function processHistoricalMessages(messages, options = {}) {
57038
56980
  pushStandaloneMessages(processedMessages, msg, messageDataArray);
57039
56981
  return;
57040
56982
  }
57041
- const isUserMessage = _optionalChain([msg, 'access', _1563 => _1563.owner, 'optionalAccess', _1564 => _1564.type]) === OWNER_TYPE.CLIENT || _optionalChain([msg, 'access', _1565 => _1565.owner, 'optionalAccess', _1566 => _1566.type]) === OWNER_TYPE.ADMIN;
56983
+ const isUserMessage = _optionalChain([msg, 'access', _1560 => _1560.owner, 'optionalAccess', _1561 => _1561.type]) === OWNER_TYPE.CLIENT || _optionalChain([msg, 'access', _1562 => _1562.owner, 'optionalAccess', _1563 => _1563.type]) === OWNER_TYPE.ADMIN;
57042
56984
  if (isUserMessage) {
57043
56985
  flushAssistantMessage();
57044
- const userAuthorType = _optionalChain([msg, 'access', _1567 => _1567.owner, 'optionalAccess', _1568 => _1568.type]) === OWNER_TYPE.ADMIN ? "admin" : "user";
56986
+ const userAuthorType = _optionalChain([msg, 'access', _1564 => _1564.owner, 'optionalAccess', _1565 => _1565.type]) === OWNER_TYPE.ADMIN ? "admin" : "user";
57045
56987
  messageDataArray.forEach((data) => {
57046
56988
  if (data.type === MESSAGE_TYPE.TEXT && "text" in data && data.text) {
57047
56989
  const rawContext = data.contextItems;
57048
- const contextItems = Array.isArray(rawContext) ? rawContext.filter((c) => typeof _optionalChain([c, 'optionalAccess', _1569 => _1569.type]) === "string" && typeof _optionalChain([c, 'optionalAccess', _1570 => _1570.id]) === "string").map((c) => ({ type: c.type, id: c.id, label: c.id })) : void 0;
56990
+ const contextItems = Array.isArray(rawContext) ? rawContext.filter((c) => typeof _optionalChain([c, 'optionalAccess', _1566 => _1566.type]) === "string" && typeof _optionalChain([c, 'optionalAccess', _1567 => _1567.id]) === "string").map((c) => ({ type: c.type, id: c.id, label: c.id })) : void 0;
57049
56991
  processedMessages.push({
57050
56992
  id: msg.id,
57051
56993
  role: "user",
@@ -57081,7 +57023,7 @@ function processHistoricalMessages(messages, options = {}) {
57081
57023
  });
57082
57024
  const nextMsg = messages[index + 1];
57083
57025
  const isLastMessage = index === messages.length - 1;
57084
- const nextIsFromUser = nextMsg && (_optionalChain([nextMsg, 'access', _1571 => _1571.owner, 'optionalAccess', _1572 => _1572.type]) === OWNER_TYPE.CLIENT || _optionalChain([nextMsg, 'access', _1573 => _1573.owner, 'optionalAccess', _1574 => _1574.type]) === OWNER_TYPE.ADMIN);
57026
+ const nextIsFromUser = nextMsg && (_optionalChain([nextMsg, 'access', _1568 => _1568.owner, 'optionalAccess', _1569 => _1569.type]) === OWNER_TYPE.CLIENT || _optionalChain([nextMsg, 'access', _1570 => _1570.owner, 'optionalAccess', _1571 => _1571.type]) === OWNER_TYPE.ADMIN);
57085
57027
  if (isLastMessage || nextIsFromUser) {
57086
57028
  flushAssistantMessage();
57087
57029
  }
@@ -57171,7 +57113,7 @@ function extractIncompleteMessageState(lastMessage) {
57171
57113
  break;
57172
57114
  case "approval_batch": {
57173
57115
  const allDone = !!segment.data.executions && segment.data.toolCalls.every(
57174
- (c) => _optionalChain([segment, 'access', _1575 => _1575.data, 'access', _1576 => _1576.executions, 'optionalAccess', _1577 => _1577[c.toolExecutionRequestId], 'optionalAccess', _1578 => _1578.status]) === "done"
57116
+ (c) => _optionalChain([segment, 'access', _1572 => _1572.data, 'access', _1573 => _1573.executions, 'optionalAccess', _1574 => _1574[c.toolExecutionRequestId], 'optionalAccess', _1575 => _1575.status]) === "done"
57175
57117
  );
57176
57118
  if (segment.status !== "rejected" && !allDone) {
57177
57119
  hasIncompleteState = true;
@@ -57202,11 +57144,11 @@ function extractIncompleteMessageState(lastMessage) {
57202
57144
  function extractIncompleteTailState(messages) {
57203
57145
  if (!messages || messages.length === 0) return void 0;
57204
57146
  let start = messages.length;
57205
- while (start > 0 && _optionalChain([messages, 'access', _1579 => _1579[start - 1], 'optionalAccess', _1580 => _1580.role]) === "assistant") start -= 1;
57147
+ while (start > 0 && _optionalChain([messages, 'access', _1576 => _1576[start - 1], 'optionalAccess', _1577 => _1577.role]) === "assistant") start -= 1;
57206
57148
  if (start === messages.length) return void 0;
57207
57149
  const segments = [];
57208
57150
  for (let i = start; i < messages.length; i += 1) {
57209
- const content = _optionalChain([messages, 'access', _1581 => _1581[i], 'optionalAccess', _1582 => _1582.content]);
57151
+ const content = _optionalChain([messages, 'access', _1578 => _1578[i], 'optionalAccess', _1579 => _1579.content]);
57210
57152
  if (Array.isArray(content)) segments.push(...content);
57211
57153
  }
57212
57154
  if (segments.length === 0) return void 0;
@@ -57560,7 +57502,7 @@ function useNatsChatAdapter(config, options = {}) {
57560
57502
  }, [active, fetchDialogs, loadDialogsPage]);
57561
57503
  const sendMessage = _react.useCallback.call(void 0,
57562
57504
  async (text, sendOptions) => {
57563
- const hidden = _nullishCoalesce(_optionalChain([sendOptions, 'optionalAccess', _1583 => _1583.hidden]), () => ( false));
57505
+ const hidden = _nullishCoalesce(_optionalChain([sendOptions, 'optionalAccess', _1580 => _1580.hidden]), () => ( false));
57564
57506
  mutate((r) => r.pushOptimisticSend(text, hidden));
57565
57507
  await publishUserMessage(text, { hidden, dialogId });
57566
57508
  },
@@ -57716,11 +57658,11 @@ function useNatsChatAdapter(config, options = {}) {
57716
57658
  // Tokens: live `token_usage` frame / dialog snapshot (`dialogTokenUsage`).
57717
57659
  // contextWindow uses the dialog's `contextSize` (the "X / Y" denominator,
57718
57660
  // matching the /mingo page). cacheHitRate/breakdown are SSE-only → null.
57719
- currentProvider: _nullishCoalesce(_nullishCoalesce(_optionalChain([liveModel, 'optionalAccess', _1584 => _1584.provider]), () => ( modelProvider)), () => ( null)),
57720
- currentModelLabel: _nullishCoalesce(_nullishCoalesce(_optionalChain([liveModel, 'optionalAccess', _1585 => _1585.modelLabel]), () => ( modelLabel)), () => ( null)),
57721
- currentContextWindowMaxTokens: _nullishCoalesce(_nullishCoalesce(_optionalChain([dialogTokenUsage, 'optionalAccess', _1586 => _1586.contextSize]), () => ( _optionalChain([liveModel, 'optionalAccess', _1587 => _1587.contextWindowMaxTokens]))), () => ( null)),
57722
- currentInputTokens: _nullishCoalesce(_optionalChain([dialogTokenUsage, 'optionalAccess', _1588 => _1588.inputTokensSize]), () => ( null)),
57723
- currentOutputTokens: _nullishCoalesce(_optionalChain([dialogTokenUsage, 'optionalAccess', _1589 => _1589.outputTokensSize]), () => ( null)),
57661
+ currentProvider: _nullishCoalesce(_nullishCoalesce(_optionalChain([liveModel, 'optionalAccess', _1581 => _1581.provider]), () => ( modelProvider)), () => ( null)),
57662
+ currentModelLabel: _nullishCoalesce(_nullishCoalesce(_optionalChain([liveModel, 'optionalAccess', _1582 => _1582.modelLabel]), () => ( modelLabel)), () => ( null)),
57663
+ currentContextWindowMaxTokens: _nullishCoalesce(_nullishCoalesce(_optionalChain([dialogTokenUsage, 'optionalAccess', _1583 => _1583.contextSize]), () => ( _optionalChain([liveModel, 'optionalAccess', _1584 => _1584.contextWindowMaxTokens]))), () => ( null)),
57664
+ currentInputTokens: _nullishCoalesce(_optionalChain([dialogTokenUsage, 'optionalAccess', _1585 => _1585.inputTokensSize]), () => ( null)),
57665
+ currentOutputTokens: _nullishCoalesce(_optionalChain([dialogTokenUsage, 'optionalAccess', _1586 => _1586.outputTokensSize]), () => ( null)),
57724
57666
  currentCacheHitRatePct: null,
57725
57667
  currentUsageBreakdown: null,
57726
57668
  // Dialog management
@@ -57857,7 +57799,7 @@ function useUnifiedChat(options) {
57857
57799
  []
57858
57800
  );
57859
57801
  const setDialogScope = _react.useCallback.call(void 0,
57860
- (scope) => _optionalChain([activeStateRef, 'access', _1590 => _1590.current, 'access', _1591 => _1591.setDialogScope, 'optionalCall', _1592 => _1592(scope)]),
57802
+ (scope) => _optionalChain([activeStateRef, 'access', _1587 => _1587.current, 'access', _1588 => _1588.setDialogScope, 'optionalCall', _1589 => _1589(scope)]),
57861
57803
  []
57862
57804
  );
57863
57805
  const reloadDialogs = _react.useCallback.call(void 0,
@@ -57961,16 +57903,16 @@ function turnRequestKeys(content) {
57961
57903
  if (!Array.isArray(content)) return keys;
57962
57904
  for (const seg of content) {
57963
57905
  if (seg.type === "tool_execution") {
57964
- const id = _optionalChain([seg, 'access', _1593 => _1593.data, 'optionalAccess', _1594 => _1594.toolExecutionRequestId]);
57906
+ const id = _optionalChain([seg, 'access', _1590 => _1590.data, 'optionalAccess', _1591 => _1591.toolExecutionRequestId]);
57965
57907
  if (id) keys.add(id);
57966
57908
  } else if (seg.type === "approval_request") {
57967
- const id = _optionalChain([seg, 'access', _1595 => _1595.data, 'optionalAccess', _1596 => _1596.requestId]);
57909
+ const id = _optionalChain([seg, 'access', _1592 => _1592.data, 'optionalAccess', _1593 => _1593.requestId]);
57968
57910
  if (id) keys.add(id);
57969
57911
  } else if (seg.type === "approval_batch") {
57970
57912
  const data = seg.data;
57971
- if (_optionalChain([data, 'optionalAccess', _1597 => _1597.approvalRequestId])) keys.add(data.approvalRequestId);
57972
- for (const call of _nullishCoalesce(_optionalChain([data, 'optionalAccess', _1598 => _1598.toolCalls]), () => ( []))) {
57973
- if (_optionalChain([call, 'optionalAccess', _1599 => _1599.toolExecutionRequestId])) keys.add(call.toolExecutionRequestId);
57913
+ if (_optionalChain([data, 'optionalAccess', _1594 => _1594.approvalRequestId])) keys.add(data.approvalRequestId);
57914
+ for (const call of _nullishCoalesce(_optionalChain([data, 'optionalAccess', _1595 => _1595.toolCalls]), () => ( []))) {
57915
+ if (_optionalChain([call, 'optionalAccess', _1596 => _1596.toolExecutionRequestId])) keys.add(call.toolExecutionRequestId);
57974
57916
  }
57975
57917
  }
57976
57918
  }
@@ -58022,20 +57964,20 @@ function mergeHistoryWithRealtime(input) {
58022
57964
  }
58023
57965
  }
58024
57966
  const trailing = processedHistory[processedHistory.length - 1];
58025
- const historyTrailingAssistant = _optionalChain([trailing, 'optionalAccess', _1600 => _1600.role]) === "assistant" ? trailing : null;
58026
- const historyBatchId = historyTrailingAssistant && Array.isArray(historyTrailingAssistant.content) ? _nullishCoalesce(_optionalChain([historyTrailingAssistant, 'access', _1601 => _1601.content, 'access', _1602 => _1602.find, 'call', _1603 => _1603((s) => s.type === "approval_batch"), 'optionalAccess', _1604 => _1604.data, 'optionalAccess', _1605 => _1605.approvalRequestId]), () => ( null)) : null;
57967
+ const historyTrailingAssistant = _optionalChain([trailing, 'optionalAccess', _1597 => _1597.role]) === "assistant" ? trailing : null;
57968
+ const historyBatchId = historyTrailingAssistant && Array.isArray(historyTrailingAssistant.content) ? _nullishCoalesce(_optionalChain([historyTrailingAssistant, 'access', _1598 => _1598.content, 'access', _1599 => _1599.find, 'call', _1600 => _1600((s) => s.type === "approval_batch"), 'optionalAccess', _1601 => _1601.data, 'optionalAccess', _1602 => _1602.approvalRequestId]), () => ( null)) : null;
58027
57969
  let processedToUse = processedHistory;
58028
57970
  const pinnedSyntheticIds = /* @__PURE__ */ new Set();
58029
57971
  const droppedSyntheticIds = /* @__PURE__ */ new Set();
58030
57972
  if (historyBatchId) {
58031
57973
  const batchTwins = existingMessages.filter(
58032
57974
  (m) => m.role === "assistant" && Array.isArray(m.content) && m.content.some(
58033
- (s) => s.type === "approval_batch" && _optionalChain([s, 'access', _1606 => _1606.data, 'optionalAccess', _1607 => _1607.approvalRequestId]) === historyBatchId
57975
+ (s) => s.type === "approval_batch" && _optionalChain([s, 'access', _1603 => _1603.data, 'optionalAccess', _1604 => _1604.approvalRequestId]) === historyBatchId
58034
57976
  )
58035
57977
  );
58036
57978
  const existingWithSameBatch = _nullishCoalesce(batchTwins.find((m) => m.id === streamingMessageId), () => ( batchTwins[batchTwins.length - 1]));
58037
57979
  if (existingWithSameBatch && Array.isArray(existingWithSameBatch.content)) {
58038
- const histSize = Array.isArray(_optionalChain([historyTrailingAssistant, 'optionalAccess', _1608 => _1608.content])) ? historyTrailingAssistant.content.length : 0;
57980
+ const histSize = Array.isArray(_optionalChain([historyTrailingAssistant, 'optionalAccess', _1605 => _1605.content])) ? historyTrailingAssistant.content.length : 0;
58039
57981
  const realtimeSize = existingWithSameBatch.content.length;
58040
57982
  if (existingWithSameBatch.id === streamingMessageId || realtimeSize > histSize) {
58041
57983
  processedToUse = processedHistory.slice(0, -1);
@@ -58077,9 +58019,9 @@ function mergeHistoryWithRealtime(input) {
58077
58019
  if (pinnedSyntheticIds.has(m.id)) return true;
58078
58020
  if (droppedSyntheticIds.has(m.id)) return false;
58079
58021
  if (processedIds.has(m.id)) return false;
58080
- if (_optionalChain([rawHistoryIds, 'optionalAccess', _1609 => _1609.has, 'call', _1610 => _1610(m.id)])) return false;
58022
+ if (_optionalChain([rawHistoryIds, 'optionalAccess', _1606 => _1606.has, 'call', _1607 => _1607(m.id)])) return false;
58081
58023
  if (m.role === "user" && m.id.startsWith("optimistic-") && typeof m.content === "string") {
58082
- const canBeInSnapshot = (_nullishCoalesce(_optionalChain([m, 'access', _1611 => _1611.timestamp, 'optionalAccess', _1612 => _1612.getTime, 'call', _1613 => _1613()]), () => ( 0))) <= historyFetchedAt;
58024
+ const canBeInSnapshot = (_nullishCoalesce(_optionalChain([m, 'access', _1608 => _1608.timestamp, 'optionalAccess', _1609 => _1609.getTime, 'call', _1610 => _1610()]), () => ( 0))) <= historyFetchedAt;
58083
58025
  return !(canBeInSnapshot && processedToUse.some((pm) => pm.role === "user" && pm.content === m.content));
58084
58026
  }
58085
58027
  if (isSyntheticRealtimeId(m.id) && m.id !== streamingMessageId) {
@@ -58103,7 +58045,7 @@ function mergeHistoryWithRealtime(input) {
58103
58045
  } else if (typeof m.streamSeq === "number") {
58104
58046
  covered = historyMaxStreamSeq > 0 && historyMaxStreamSeq >= m.streamSeq;
58105
58047
  } else {
58106
- covered = historyCoversRealtime !== null ? historyCoversRealtime : (_nullishCoalesce(_optionalChain([m, 'access', _1614 => _1614.timestamp, 'optionalAccess', _1615 => _1615.getTime, 'call', _1616 => _1616()]), () => ( 0))) <= historyFetchedAt;
58048
+ covered = historyCoversRealtime !== null ? historyCoversRealtime : (_nullishCoalesce(_optionalChain([m, 'access', _1611 => _1611.timestamp, 'optionalAccess', _1612 => _1612.getTime, 'call', _1613 => _1613()]), () => ( 0))) <= historyFetchedAt;
58107
58049
  }
58108
58050
  if (covered) return false;
58109
58051
  }
@@ -58159,7 +58101,7 @@ function normalizeHistoricalMessageData(md) {
58159
58101
  function isHistoricalUserTurn(m) {
58160
58102
  return !!m.owner;
58161
58103
  }
58162
- var isTextSegment = (d) => _optionalChain([d, 'optionalAccess', _1617 => _1617.type]) === "TEXT" && typeof d.text === "string";
58104
+ var isTextSegment = (d) => _optionalChain([d, 'optionalAccess', _1614 => _1614.type]) === "TEXT" && typeof d.text === "string";
58163
58105
  var THINK_MS = 550;
58164
58106
  var TOKEN_MS = 55;
58165
58107
  var USER_MS = 480;
@@ -58406,7 +58348,7 @@ function useChatDialogManager({
58406
58348
  const handleConfirmRestore = _react.useCallback.call(void 0, async () => {
58407
58349
  if (restoreTarget) {
58408
58350
  try {
58409
- await _optionalChain([unarchiveDialog, 'optionalCall', _1618 => _1618(restoreTarget.id)]);
58351
+ await _optionalChain([unarchiveDialog, 'optionalCall', _1615 => _1615(restoreTarget.id)]);
58410
58352
  } catch (err) {
58411
58353
  console.error("[useChatDialogManager] unarchive failed:", err);
58412
58354
  return;
@@ -58887,7 +58829,7 @@ function EmbeddableChatInner({
58887
58829
  }),
58888
58830
  [commandsUrl]
58889
58831
  );
58890
- const headerUserName = _optionalChain([identityUser, 'optionalAccess', _1619 => _1619.name, 'optionalAccess', _1620 => _1620.trim, 'call', _1621 => _1621()]) || [_optionalChain([identityUser, 'optionalAccess', _1622 => _1622.firstName]), _optionalChain([identityUser, 'optionalAccess', _1623 => _1623.lastName])].filter(Boolean).join(" ").trim() || _optionalChain([userDisplayName, 'optionalAccess', _1624 => _1624.trim, 'call', _1625 => _1625()]) || void 0;
58832
+ const headerUserName = _optionalChain([identityUser, 'optionalAccess', _1616 => _1616.name, 'optionalAccess', _1617 => _1617.trim, 'call', _1618 => _1618()]) || [_optionalChain([identityUser, 'optionalAccess', _1619 => _1619.firstName]), _optionalChain([identityUser, 'optionalAccess', _1620 => _1620.lastName])].filter(Boolean).join(" ").trim() || _optionalChain([userDisplayName, 'optionalAccess', _1621 => _1621.trim, 'call', _1622 => _1622()]) || void 0;
58891
58833
  const effectiveModes = _react.useMemo.call(void 0, () => {
58892
58834
  if (modes) return modes;
58893
58835
  const guideOptions = tableIdForDocumentType ? { tableIdForDocumentType } : {};
@@ -58896,19 +58838,19 @@ function EmbeddableChatInner({
58896
58838
  const mingoCaps = _react.useMemo.call(void 0, () => {
58897
58839
  if (mingoState) {
58898
58840
  return {
58899
- canRename: _nullishCoalesce(_optionalChain([mingoDialogCapabilities, 'optionalAccess', _1626 => _1626.canRename]), () => ( false)),
58900
- canArchive: _nullishCoalesce(_optionalChain([mingoDialogCapabilities, 'optionalAccess', _1627 => _1627.canArchive]), () => ( false)),
58901
- fetchArchivedDialogs: _optionalChain([mingoDialogCapabilities, 'optionalAccess', _1628 => _1628.fetchArchivedDialogs]),
58902
- unarchiveDialog: _optionalChain([mingoDialogCapabilities, 'optionalAccess', _1629 => _1629.unarchiveDialog]),
58903
- searchQuery: _optionalChain([mingoDialogCapabilities, 'optionalAccess', _1630 => _1630.searchQuery]),
58904
- onSearchChange: _optionalChain([mingoDialogCapabilities, 'optionalAccess', _1631 => _1631.onSearchChange])
58841
+ canRename: _nullishCoalesce(_optionalChain([mingoDialogCapabilities, 'optionalAccess', _1623 => _1623.canRename]), () => ( false)),
58842
+ canArchive: _nullishCoalesce(_optionalChain([mingoDialogCapabilities, 'optionalAccess', _1624 => _1624.canArchive]), () => ( false)),
58843
+ fetchArchivedDialogs: _optionalChain([mingoDialogCapabilities, 'optionalAccess', _1625 => _1625.fetchArchivedDialogs]),
58844
+ unarchiveDialog: _optionalChain([mingoDialogCapabilities, 'optionalAccess', _1626 => _1626.unarchiveDialog]),
58845
+ searchQuery: _optionalChain([mingoDialogCapabilities, 'optionalAccess', _1627 => _1627.searchQuery]),
58846
+ onSearchChange: _optionalChain([mingoDialogCapabilities, 'optionalAccess', _1628 => _1628.onSearchChange])
58905
58847
  };
58906
58848
  }
58907
58849
  return {
58908
- canRename: !!_optionalChain([effectiveModes, 'access', _1632 => _1632.mingo, 'optionalAccess', _1633 => _1633.renameDialog]),
58909
- canArchive: !!_optionalChain([effectiveModes, 'access', _1634 => _1634.mingo, 'optionalAccess', _1635 => _1635.archiveDialog]),
58910
- fetchArchivedDialogs: _optionalChain([effectiveModes, 'access', _1636 => _1636.mingo, 'optionalAccess', _1637 => _1637.fetchArchivedDialogs]),
58911
- unarchiveDialog: _optionalChain([effectiveModes, 'access', _1638 => _1638.mingo, 'optionalAccess', _1639 => _1639.unarchiveDialog]),
58850
+ canRename: !!_optionalChain([effectiveModes, 'access', _1629 => _1629.mingo, 'optionalAccess', _1630 => _1630.renameDialog]),
58851
+ canArchive: !!_optionalChain([effectiveModes, 'access', _1631 => _1631.mingo, 'optionalAccess', _1632 => _1632.archiveDialog]),
58852
+ fetchArchivedDialogs: _optionalChain([effectiveModes, 'access', _1633 => _1633.mingo, 'optionalAccess', _1634 => _1634.fetchArchivedDialogs]),
58853
+ unarchiveDialog: _optionalChain([effectiveModes, 'access', _1635 => _1635.mingo, 'optionalAccess', _1636 => _1636.unarchiveDialog]),
58912
58854
  searchQuery: void 0,
58913
58855
  onSearchChange: void 0
58914
58856
  };
@@ -58922,7 +58864,7 @@ function EmbeddableChatInner({
58922
58864
  if (controlledActiveMode === void 0) {
58923
58865
  setUncontrolledActiveMode(next);
58924
58866
  }
58925
- _optionalChain([onActiveModeChange, 'optionalCall', _1640 => _1640(next)]);
58867
+ _optionalChain([onActiveModeChange, 'optionalCall', _1637 => _1637(next)]);
58926
58868
  },
58927
58869
  [controlledActiveMode, onActiveModeChange]
58928
58870
  );
@@ -58944,7 +58886,7 @@ function EmbeddableChatInner({
58944
58886
  const effectiveQuickActions = emptyStateUrl ? emptyStateConfig.quickActions : [];
58945
58887
  const effectiveAssistantName = emptyStateConfig.name;
58946
58888
  const effectiveAssistantIcon = emptyStateConfig.icon;
58947
- const headerAssistantName = _nullishCoalesce(effectiveAssistantName, () => ( (typeof _optionalChain([guideWelcome, 'optionalAccess', _1641 => _1641.title]) === "string" ? guideWelcome.title : null)));
58889
+ const headerAssistantName = _nullishCoalesce(effectiveAssistantName, () => ( (typeof _optionalChain([guideWelcome, 'optionalAccess', _1638 => _1638.title]) === "string" ? guideWelcome.title : null)));
58948
58890
  const {
58949
58891
  messages: rawMessages,
58950
58892
  isLoading: chatLoading,
@@ -58986,7 +58928,7 @@ function EmbeddableChatInner({
58986
58928
  if (activeMode !== "guide" || guidePromptSentRef.current) return;
58987
58929
  guidePromptSentRef.current = true;
58988
58930
  void sendMessage(guidePendingPrompt);
58989
- _optionalChain([onGuidePromptConsumed, 'optionalCall', _1642 => _1642()]);
58931
+ _optionalChain([onGuidePromptConsumed, 'optionalCall', _1639 => _1639()]);
58990
58932
  }, [guidePendingPrompt, activeMode, sendMessage, onGuidePromptConsumed]);
58991
58933
  const {
58992
58934
  attachments: stagedAttachments,
@@ -58997,7 +58939,7 @@ function EmbeddableChatInner({
58997
58939
  clear: clearAttachments
58998
58940
  } = useChatAttachments();
58999
58941
  const { panelRef: galleryPanelRef, modal: galleryModal } = useChatAttachmentImageGallery();
59000
- const contextMaxItems = _nullishCoalesce(_optionalChain([contextPicker, 'optionalAccess', _1643 => _1643.maxItems]), () => ( 10));
58942
+ const contextMaxItems = _nullishCoalesce(_optionalChain([contextPicker, 'optionalAccess', _1640 => _1640.maxItems]), () => ( 10));
59001
58943
  const contextPickerForMode = activeMode === "mingo" ? contextPicker : void 0;
59002
58944
  const [contextItems, setContextItems] = _react.useState.call(void 0, []);
59003
58945
  const [contextPickerOpen, setContextPickerOpen] = _react.useState.call(void 0, false);
@@ -59014,10 +58956,10 @@ function EmbeddableChatInner({
59014
58956
  }, [activeDialogId, activeMode]);
59015
58957
  const mentionMarkerByType = _react.useMemo.call(void 0, () => {
59016
58958
  const m = /* @__PURE__ */ new Map();
59017
- for (const t of _nullishCoalesce(_optionalChain([contextPicker, 'optionalAccess', _1644 => _1644.entityTypes]), () => ( []))) if (t.marker) m.set(t.type, t.marker);
58959
+ for (const t of _nullishCoalesce(_optionalChain([contextPicker, 'optionalAccess', _1641 => _1641.entityTypes]), () => ( []))) if (t.marker) m.set(t.type, t.marker);
59018
58960
  return m;
59019
- }, [_optionalChain([contextPicker, 'optionalAccess', _1645 => _1645.entityTypes])]);
59020
- const contextEntityTypes = _optionalChain([contextPicker, 'optionalAccess', _1646 => _1646.entityTypes]);
58961
+ }, [_optionalChain([contextPicker, 'optionalAccess', _1642 => _1642.entityTypes])]);
58962
+ const contextEntityTypes = _optionalChain([contextPicker, 'optionalAccess', _1643 => _1643.entityTypes]);
59021
58963
  const resolveContextIcon = _react.useMemo.call(void 0, () => {
59022
58964
  const byType = /* @__PURE__ */ new Map();
59023
58965
  for (const t of _nullishCoalesce(contextEntityTypes, () => ( []))) byType.set(t.type, t.icon);
@@ -59029,7 +58971,7 @@ function EmbeddableChatInner({
59029
58971
  if (mentionActiveRef.current) {
59030
58972
  if (contextItems.some((p) => `${p.type}:${p.id}` === key)) return;
59031
58973
  if (contextItems.length >= contextMaxItems) return;
59032
- _optionalChain([chatInputRef, 'access', _1647 => _1647.current, 'optionalAccess', _1648 => _1648.commitMention, 'call', _1649 => _1649(mentionTokenOf(key, mentionMarkerByType), {
58974
+ _optionalChain([chatInputRef, 'access', _1644 => _1644.current, 'optionalAccess', _1645 => _1645.commitMention, 'call', _1646 => _1646(mentionTokenOf(key, mentionMarkerByType), {
59033
58975
  label: item.label,
59034
58976
  icon: resolveContextIcon(item)
59035
58977
  })]);
@@ -59051,9 +58993,9 @@ function EmbeddableChatInner({
59051
58993
  setContextItems((prev) => prev.filter((p) => `${p.type}:${p.id}` !== key));
59052
58994
  if (mentionKeysRef.current.has(key)) {
59053
58995
  mentionKeysRef.current.delete(key);
59054
- const cur = _nullishCoalesce(_optionalChain([chatInputRef, 'access', _1650 => _1650.current, 'optionalAccess', _1651 => _1651.getValue, 'call', _1652 => _1652()]), () => ( ""));
58996
+ const cur = _nullishCoalesce(_optionalChain([chatInputRef, 'access', _1647 => _1647.current, 'optionalAccess', _1648 => _1648.getValue, 'call', _1649 => _1649()]), () => ( ""));
59055
58997
  const next = cur.replace(`@${mentionTokenOf(key, mentionMarkerByType)}`, "").replace(/\s{2,}/g, " ").trimStart();
59056
- _optionalChain([chatInputRef, 'access', _1653 => _1653.current, 'optionalAccess', _1654 => _1654.setValue, 'call', _1655 => _1655(next)]);
58998
+ _optionalChain([chatInputRef, 'access', _1650 => _1650.current, 'optionalAccess', _1651 => _1651.setValue, 'call', _1652 => _1652(next)]);
59057
58999
  }
59058
59000
  }, [mentionMarkerByType]);
59059
59001
  const handleContextValueChange = _react.useCallback.call(void 0, (value) => {
@@ -59070,7 +59012,7 @@ function EmbeddableChatInner({
59070
59012
  }, []);
59071
59013
  const closeContextPicker = _react.useCallback.call(void 0, () => {
59072
59014
  if (mentionActiveRef.current) {
59073
- _optionalChain([chatInputRef, 'access', _1656 => _1656.current, 'optionalAccess', _1657 => _1657.removeMentionTrigger, 'call', _1658 => _1658()]);
59015
+ _optionalChain([chatInputRef, 'access', _1653 => _1653.current, 'optionalAccess', _1654 => _1654.removeMentionTrigger, 'call', _1655 => _1655()]);
59074
59016
  }
59075
59017
  setContextPickerOpen(false);
59076
59018
  setMentionQuery(null);
@@ -59104,8 +59046,8 @@ function EmbeddableChatInner({
59104
59046
  [effectiveAssistantIcon]
59105
59047
  );
59106
59048
  const timestampCacheRef = _react.useRef.call(void 0, /* @__PURE__ */ new Map());
59107
- const guideUserName = activeMode === "guide" ? [_optionalChain([identityUser, 'optionalAccess', _1659 => _1659.firstName]), _optionalChain([identityUser, 'optionalAccess', _1660 => _1660.lastName])].filter(Boolean).join(" ").trim() || _optionalChain([identityUser, 'optionalAccess', _1661 => _1661.name, 'optionalAccess', _1662 => _1662.trim, 'call', _1663 => _1663()]) || void 0 : void 0;
59108
- const guideUserAvatar = activeMode === "guide" ? _optionalChain([identityUser, 'optionalAccess', _1664 => _1664.avatarUrl, 'optionalAccess', _1665 => _1665.trim, 'call', _1666 => _1666()]) || void 0 : void 0;
59049
+ const guideUserName = activeMode === "guide" ? [_optionalChain([identityUser, 'optionalAccess', _1656 => _1656.firstName]), _optionalChain([identityUser, 'optionalAccess', _1657 => _1657.lastName])].filter(Boolean).join(" ").trim() || _optionalChain([identityUser, 'optionalAccess', _1658 => _1658.name, 'optionalAccess', _1659 => _1659.trim, 'call', _1660 => _1660()]) || void 0 : void 0;
59050
+ const guideUserAvatar = activeMode === "guide" ? _optionalChain([identityUser, 'optionalAccess', _1661 => _1661.avatarUrl, 'optionalAccess', _1662 => _1662.trim, 'call', _1663 => _1663()]) || void 0 : void 0;
59109
59051
  const messages = _react.useMemo.call(void 0, () => {
59110
59052
  const cache = timestampCacheRef.current;
59111
59053
  const seenIds = /* @__PURE__ */ new Set();
@@ -59291,9 +59233,9 @@ function EmbeddableChatInner({
59291
59233
  const lastAssistantMsg = [...rawMessages].reverse().find((m) => m.role === "assistant");
59292
59234
  const lastSources = _react.useMemo.call(void 0, () => {
59293
59235
  if (chatLoading) return void 0;
59294
- const sources = _optionalChain([lastAssistantMsg, 'optionalAccess', _1667 => _1667.sources]);
59236
+ const sources = _optionalChain([lastAssistantMsg, 'optionalAccess', _1664 => _1664.sources]);
59295
59237
  if (!sources || sources.length === 0) return void 0;
59296
- const content = _optionalChain([lastAssistantMsg, 'optionalAccess', _1668 => _1668.content]) || "";
59238
+ const content = _optionalChain([lastAssistantMsg, 'optionalAccess', _1665 => _1665.content]) || "";
59297
59239
  const citationOrder = [...content.matchAll(/\[(\d+)\]/g)].map(
59298
59240
  (m) => parseInt(m[1], 10)
59299
59241
  );
@@ -59313,7 +59255,7 @@ function EmbeddableChatInner({
59313
59255
  const el = panelMeasureRef.current;
59314
59256
  if (!el || typeof ResizeObserver === "undefined") return;
59315
59257
  const ro = new ResizeObserver((entries) => {
59316
- const w = _optionalChain([entries, 'access', _1669 => _1669[0], 'optionalAccess', _1670 => _1670.contentRect, 'optionalAccess', _1671 => _1671.width]);
59258
+ const w = _optionalChain([entries, 'access', _1666 => _1666[0], 'optionalAccess', _1667 => _1667.contentRect, 'optionalAccess', _1668 => _1668.width]);
59317
59259
  if (typeof w === "number") setPanelWidth(w);
59318
59260
  });
59319
59261
  ro.observe(el);
@@ -59356,16 +59298,16 @@ function EmbeddableChatInner({
59356
59298
  const isMingoMode = activeMode === "mingo";
59357
59299
  const stackedListView = isMingoMode && !hasConversation && !archiveOpen && !wideMingo && !composeOpen;
59358
59300
  const headerShowBack = hasConversation || guideCanReturnToMingo;
59359
- const headerTitle = hasConversation ? _optionalChain([activeDialog, 'optionalAccess', _1672 => _1672.title]) || "New Chat" : isGuideEmpty ? _nullishCoalesce(headerAssistantName, () => ( "Mingo Guide")) : "Current Chats";
59301
+ const headerTitle = hasConversation ? _optionalChain([activeDialog, 'optionalAccess', _1669 => _1669.title]) || "New Chat" : isGuideEmpty ? _nullishCoalesce(headerAssistantName, () => ( "Mingo Guide")) : "Current Chats";
59360
59302
  const headerBackAriaLabel = hasConversation ? isViewingArchived ? "Back to archive" : "Back" : "Back to Mingo";
59361
59303
  const headerOnBack = hasConversation ? handleBack : () => handleActiveModeChange("mingo");
59362
59304
  const headerOnRestore = isViewingArchived && unarchiveDialog && activeDialog ? () => setRestoreTarget(activeDialog) : void 0;
59363
59305
  const headerOnRename = activeDialogId && activeDialog && mingoCaps.canRename ? () => setRenameTarget(activeDialog) : void 0;
59364
59306
  const headerOnArchive = activeDialogId && activeDialog && mingoCaps.canArchive ? () => setArchiveTarget(activeDialog) : void 0;
59365
59307
  const headerOnOpenArchive = fetchArchivedDialogs ? openArchive : void 0;
59366
- const headerOwner = hasConversation ? _optionalChain([activeDialog, 'optionalAccess', _1673 => _1673.owner]) : void 0;
59367
- const headerPersonName = _optionalChain([headerOwner, 'optionalAccess', _1674 => _1674.name, 'optionalAccess', _1675 => _1675.trim, 'call', _1676 => _1676()]) || headerUserName;
59368
- const headerPersonAvatarUrl = headerOwner ? _optionalChain([headerOwner, 'access', _1677 => _1677.avatarUrl, 'optionalAccess', _1678 => _1678.trim, 'call', _1679 => _1679()]) || void 0 : _optionalChain([identityUser, 'optionalAccess', _1680 => _1680.avatarUrl, 'optionalAccess', _1681 => _1681.trim, 'call', _1682 => _1682()]) || _optionalChain([userAvatarUrl, 'optionalAccess', _1683 => _1683.trim, 'call', _1684 => _1684()]) || void 0;
59308
+ const headerOwner = hasConversation ? _optionalChain([activeDialog, 'optionalAccess', _1670 => _1670.owner]) : void 0;
59309
+ const headerPersonName = _optionalChain([headerOwner, 'optionalAccess', _1671 => _1671.name, 'optionalAccess', _1672 => _1672.trim, 'call', _1673 => _1673()]) || headerUserName;
59310
+ const headerPersonAvatarUrl = headerOwner ? _optionalChain([headerOwner, 'access', _1674 => _1674.avatarUrl, 'optionalAccess', _1675 => _1675.trim, 'call', _1676 => _1676()]) || void 0 : _optionalChain([identityUser, 'optionalAccess', _1677 => _1677.avatarUrl, 'optionalAccess', _1678 => _1678.trim, 'call', _1679 => _1679()]) || _optionalChain([userAvatarUrl, 'optionalAccess', _1680 => _1680.trim, 'call', _1681 => _1681()]) || void 0;
59369
59311
  const headerAvatar = headerPersonName || headerPersonAvatarUrl ? { name: headerPersonName, avatarUrl: headerPersonAvatarUrl } : void 0;
59370
59312
  const handleNewChat = _react.useCallback.call(void 0, () => {
59371
59313
  resetToNewChat();
@@ -59724,9 +59666,9 @@ function EmbeddableChatInner({
59724
59666
  subtitle: _nullishCoalesce(effectiveGreeting, () => ( void 0)),
59725
59667
  subtitleLoading: emptyStateLoading,
59726
59668
  ...guideWelcome,
59727
- title: _nullishCoalesce(effectiveAssistantName, () => ( _optionalChain([guideWelcome, 'optionalAccess', _1685 => _1685.title]))),
59728
- icon: _nullishCoalesce(effectiveAssistantIcon, () => ( _optionalChain([guideWelcome, 'optionalAccess', _1686 => _1686.icon]))),
59729
- quickActions: agentConfigUrl && guideSuggestedActions.length > 0 ? guideSuggestedActions : _nullishCoalesce(_optionalChain([guideWelcome, 'optionalAccess', _1687 => _1687.quickActions]), () => ( guideSuggestedActions)),
59669
+ title: _nullishCoalesce(effectiveAssistantName, () => ( _optionalChain([guideWelcome, 'optionalAccess', _1682 => _1682.title]))),
59670
+ icon: _nullishCoalesce(effectiveAssistantIcon, () => ( _optionalChain([guideWelcome, 'optionalAccess', _1683 => _1683.icon]))),
59671
+ quickActions: agentConfigUrl && guideSuggestedActions.length > 0 ? guideSuggestedActions : _nullishCoalesce(_optionalChain([guideWelcome, 'optionalAccess', _1684 => _1684.quickActions]), () => ( guideSuggestedActions)),
59730
59672
  onQuickAction: (action) => {
59731
59673
  setQuickActionPreview(null);
59732
59674
  handleSend(_nullishCoalesce(action.prompt, () => ( action.label)));
@@ -59806,8 +59748,8 @@ function EmbeddableChatInner({
59806
59748
  selectedContextItems: contextItems,
59807
59749
  onToggleContextItem: toggleContextItem,
59808
59750
  onRemoveContextItem: removeContextItem,
59809
- contextMemoryItems: _optionalChain([contextMemory, 'optionalAccess', _1688 => _1688.items]),
59810
- onRemoveContextMemoryItem: _optionalChain([contextMemory, 'optionalAccess', _1689 => _1689.onRemove]),
59751
+ contextMemoryItems: _optionalChain([contextMemory, 'optionalAccess', _1685 => _1685.items]),
59752
+ onRemoveContextMemoryItem: _optionalChain([contextMemory, 'optionalAccess', _1686 => _1686.onRemove]),
59811
59753
  contextPickerOpen,
59812
59754
  onOpenContextPicker: openContextPicker,
59813
59755
  onCloseContextPicker: closeContextPicker,
@@ -60979,5 +60921,5 @@ function EmbeddableChatInner({
60979
60921
 
60980
60922
 
60981
60923
 
60982
- exports.Label = Label; exports.AllowedDomainsInput = AllowedDomainsInput; exports.AnnouncementBarView = AnnouncementBarView; exports.FloatingTooltip = FloatingTooltip; exports.TruncateText = TruncateText; exports.HiddenTagsPopup = HiddenTagsPopup; exports.tagVariants = tagVariants; exports.Tag = Tag; exports.Autocomplete = Autocomplete; exports.Card = Card; exports.CardHeader = CardHeader; exports.CardTitle = CardTitle; exports.CardDescription = CardDescription; exports.CardContent = CardContent; exports.CardFooter = CardFooter; exports.CardHorizontal = CardHorizontal; exports.CheckboxBlock = CheckboxBlock; exports.CheckboxWithDescription = CheckboxWithDescription; exports.Select = Select; exports.SelectGroup = SelectGroup; exports.SelectValue = SelectValue; exports.SelectTrigger = SelectTrigger; exports.SelectScrollUpButton = SelectScrollUpButton; exports.SelectScrollDownButton = SelectScrollDownButton; exports.SelectContent = SelectContent; exports.SelectLabel = SelectLabel; exports.SelectItem = SelectItem; exports.SelectSeparator = SelectSeparator; exports.DatePicker = DatePicker; exports.DatePickerInput = DatePickerInput; exports.DatePickerInputSimple = DatePickerInputSimple; exports.DateFilterPanel = DateFilterPanel; exports.DateFilterMenu = DateFilterMenu; exports.DurationInput = DurationInput; exports.HoneypotField = HoneypotField; exports.ProgressBar = ProgressBar; exports.InfoCard = InfoCard; exports.InfoRow = InfoRow; exports.SearchableSelect = SearchableSelect; exports.formatDate = formatDate; exports.formatNumber = formatNumber; exports.formatPrice = formatPrice; exports.formatBytes = formatBytes; exports.formatBytesShort = formatBytesShort; exports.formatFileSize = formatFileSize; exports.formatLargeNumber = formatLargeNumber; exports.formatAbbreviatedNumber = formatAbbreviatedNumber; exports.getFirstLastInitials = getFirstLastInitials; exports.nameInitials = nameInitials; exports.formatDurationMMSS = formatDurationMMSS; exports.formatDurationCompact = formatDurationCompact; exports.formatTimeWithTimezone = formatTimeWithTimezone; exports.formatDurationFromRange = formatDurationFromRange; exports.formatDateUTC = formatDateUTC; exports.formatEntryMonthUTC = formatEntryMonthUTC; exports.formatLegalDate = formatLegalDate; exports.formatCurrency = formatCurrency; exports.formatPercent = formatPercent; exports.formatWholeDollars = formatWholeDollars; exports.formatCompactMetric = formatCompactMetric; exports.getTrendColors = getTrendColors; exports.formatDateRange = formatDateRange; exports.formatDateTimeAt = formatDateTimeAt; exports.formatDurationFromMs = formatDurationFromMs; exports.formatDuration = formatDuration; exports.titleCaseFromSlug = titleCaseFromSlug; exports.formatUnderscoreText = formatUnderscoreText; exports.stripHtml = stripHtml; exports.formatClassification = formatClassification; exports.formatPricingModel = formatPricingModel; exports.formatBioText = formatBioText; exports.SquareAvatar = SquareAvatar; exports.AssigneeDropdown = AssigneeDropdown; exports.ActionsMenu = ActionsMenu; exports.ActionsMenuDropdown = ActionsMenuDropdown; exports.ColorSwatch = ColorSwatch; exports.DESIGN_PALETTE = DESIGN_PALETTE; exports.getContrastRatio = getContrastRatio; exports.pickReadableTextColor = pickReadableTextColor; exports.extractDominantColor = extractDominantColor; exports.getBestContrastColor = getBestContrastColor; exports.analyzeImageColor = analyzeImageColor; exports.extractImageEdgeColorAsync = extractImageEdgeColorAsync; exports.getPlatformAccentColor = getPlatformAccentColor; exports.getCurrentPlatform = getCurrentPlatform; exports.getReadableTextColor = getReadableTextColor; exports.HEX_PATTERN = HEX_PATTERN; exports.hexToRgb = hexToRgb2; exports.rgbToHex = rgbToHex; exports.deriveHoverColor = deriveHoverColor; exports.deriveActiveColor = deriveActiveColor; exports.resolveTicketStatus = resolveTicketStatus; exports.getTicketStatusConfig = getTicketStatusConfig; exports.getTicketStatusTag = getTicketStatusTag; exports.kindToCanonicalStatus = kindToCanonicalStatus; exports.usesCanonicalStatusStyle = usesCanonicalStatusStyle; exports.resolveStatusTagProps = resolveStatusTagProps; exports.TicketStatusTag = TicketStatusTag; exports.InfoSection = InfoSection; exports.InputTrigger = InputTrigger; exports.InteractiveCard = InteractiveCard; exports.MediaTypeSelector = MediaTypeSelector; exports.noDataIconClasses = noDataIconClasses; exports.noDataActionsVariants = noDataActionsVariants; exports.NoDataMessage = NoDataMessage; exports.NoDataAction = NoDataAction; exports.NoDataActions = NoDataActions; exports.NoData = NoData; exports.PageLoader = PageLoader; exports.CompactPageLoader = CompactPageLoader; exports.RadioGroup = RadioGroup; exports.RadioGroupItem = RadioGroupItem; exports.RadioGroupBlock = RadioGroupBlock; exports.useScrollFade = useScrollFade; exports.ScrollFadeOverlay = ScrollFadeOverlay; exports.ScrollShadow = ScrollShadow; exports.Switch = Switch; exports.TagSelectDropdown = TagSelectDropdown; exports.badgeVariants = badgeVariants; exports.Badge = Badge; exports.TagsInput = TagsInput; exports.TagsManager = TagsManager; exports.Textarea = Textarea; exports.AlertDialog = AlertDialog; exports.AlertDialogTrigger = AlertDialogTrigger; exports.AlertDialogPortal = AlertDialogPortal; exports.AlertDialogOverlay = AlertDialogOverlay; exports.AlertDialogContent = AlertDialogContent; exports.AlertDialogHeader = AlertDialogHeader; exports.AlertDialogFooter = AlertDialogFooter; exports.AlertDialogTitle = AlertDialogTitle; exports.AlertDialogDescription = AlertDialogDescription; exports.AlertDialogAction = AlertDialogAction; exports.AlertDialogCancel = AlertDialogCancel; exports.AspectRatio = AspectRatio; exports.Dialog = Dialog; exports.DialogTrigger = DialogTrigger; exports.DialogPortal = DialogPortal; exports.DialogClose = DialogClose; exports.DialogOverlay = DialogOverlay; exports.DialogContent = DialogContent; exports.DialogHeader = DialogHeader; exports.DialogFooter = DialogFooter; exports.DialogTitle = DialogTitle; exports.DialogDescription = DialogDescription; exports.ImageGalleryModal = ImageGalleryModal; exports.Modal = Modal2; exports.ModalContent = ModalContent2; exports.ModalHeader = ModalHeader2; exports.ModalTitle = ModalTitle2; exports.ModalFooter = ModalFooter2; exports.Modal2 = Modal; exports.ModalContent2 = ModalContent; exports.ModalHeader2 = ModalHeader; exports.ModalTitle2 = ModalTitle; exports.ModalFooter2 = ModalFooter; exports.Separator = Separator2; exports.Sheet = Sheet; exports.SheetTrigger = SheetTrigger; exports.SheetClose = SheetClose; exports.SheetPortal = SheetPortal; exports.SheetOverlay = SheetOverlay; exports.SheetContent = SheetContent; exports.SheetHeader = SheetHeader; exports.SheetFooter = SheetFooter; exports.SheetTitle = SheetTitle; exports.SheetDescription = SheetDescription; exports.OVERLAY_BACKDROP_CLASS = OVERLAY_BACKDROP_CLASS; exports.Drawer = Drawer; exports.DrawerTrigger = DrawerTrigger; exports.DrawerClose = DrawerClose; exports.DrawerPortal = DrawerPortal; exports.DrawerOverlay = DrawerOverlay; exports.DrawerContent = DrawerContent; exports.DrawerHeader = DrawerHeader; exports.DrawerTitle = DrawerTitle; exports.DrawerDescription = DrawerDescription; exports.DrawerBody = DrawerBody; exports.DrawerFooter = DrawerFooter; exports.Tabs = Tabs; exports.TabsList = TabsList; exports.TabsTrigger = TabsTrigger; exports.TabsContent = TabsContent; exports.Accordion = Accordion; exports.AccordionItem = AccordionItem; exports.AccordionTrigger = AccordionTrigger; exports.AccordionContent = AccordionContent; exports.Breadcrumb = Breadcrumb; exports.BreadcrumbList = BreadcrumbList; exports.BreadcrumbItem = BreadcrumbItem; exports.BreadcrumbLink = BreadcrumbLink; exports.BreadcrumbPage = BreadcrumbPage; exports.BreadcrumbSeparator = BreadcrumbSeparator; exports.BreadcrumbEllipsis = BreadcrumbEllipsis; exports.MenubarMenu = MenubarMenu; exports.MenubarGroup = MenubarGroup; exports.MenubarPortal = MenubarPortal; exports.MenubarSub = MenubarSub; exports.MenubarRadioGroup = MenubarRadioGroup; exports.Menubar = Menubar; exports.MenubarTrigger = MenubarTrigger; exports.MenubarSubTrigger = MenubarSubTrigger; exports.MenubarSubContent = MenubarSubContent; exports.MenubarContent = MenubarContent; exports.MenubarItem = MenubarItem; exports.MenubarCheckboxItem = MenubarCheckboxItem; exports.MenubarRadioItem = MenubarRadioItem; exports.MenubarLabel = MenubarLabel; exports.MenubarSeparator = MenubarSeparator; exports.MenubarShortcut = MenubarShortcut; exports.NavigationMenu = NavigationMenu; exports.NavigationMenuList = NavigationMenuList; exports.NavigationMenuItem = NavigationMenuItem; exports.navigationMenuTriggerStyle = navigationMenuTriggerStyle; exports.NavigationMenuTrigger = NavigationMenuTrigger; exports.NavigationMenuContent = NavigationMenuContent; exports.NavigationMenuLink = NavigationMenuLink; exports.NavigationMenuViewport = NavigationMenuViewport; exports.NavigationMenuIndicator = NavigationMenuIndicator; exports.CrossfadePanels = CrossfadePanels; exports.TabContent = TabContent; exports.TabNavigation = TabNavigation; exports.getTabById = getTabById; exports.getTabComponent = getTabComponent; exports.Alert = Alert; exports.AlertTitle = AlertTitle; exports.AlertDescription = AlertDescription; exports.AIGeneratedBadge = AIGeneratedBadge; exports.FadePreview = FadePreview; exports.Progress = Progress; exports.SAFE_HTML_TAGS = SAFE_HTML_TAGS; exports.SVG_TAGS = SVG_TAGS; exports.buildEffectiveTagSet = buildEffectiveTagSet; exports.buildSanitizeSchema = buildSanitizeSchema; exports.rehypeStripUnsafe = rehypeStripUnsafe; exports.escapeUnknownHtmlTags = escapeUnknownHtmlTags; exports.cardAwareUrlTransform = cardAwareUrlTransform; exports.TEXT_SIZE_PRESETS = TEXT_SIZE_PRESETS; exports.resolveTextSizeConfig = resolveTextSizeConfig; exports.stripInlineMarkdown = stripInlineMarkdown; exports.markdownToPlainText = markdownToPlainText; exports.buildHeadingIdMap = buildHeadingIdMap; exports.useHeadingIdMap = useHeadingIdMap; exports.extractText = extractText; exports.MermaidDiagram = MermaidDiagram; exports.splitStreamingBlocks = splitStreamingBlocks; exports.completeStreamingTail = completeStreamingTail; exports.MarkdownEngine = MarkdownEngine; exports.SimpleMarkdownRenderer = SimpleMarkdownRenderer; exports.RichMarkdownRuntimeProvider = RichMarkdownRuntimeProvider; exports.useRichMarkdownRuntime = useRichMarkdownRuntime; exports.VideoPlayBadge = VideoPlayBadge; exports.VideoUnmuteGlyph = VideoUnmuteGlyph; exports.fetchPriorityProp = fetchPriorityProp; exports.MUX_STREAM_ORIGIN = MUX_STREAM_ORIGIN; exports.MUX_IMAGE_ORIGIN = MUX_IMAGE_ORIGIN; exports.saveDataEnabled = saveDataEnabled; exports.useVideoOriginPreconnect = useVideoOriginPreconnect; exports.useVideoWarmup = useVideoWarmup; exports.extractYouTubeId = extractYouTubeId; exports.Video = Video2; exports.MediaCarousel = MediaCarousel; exports.EMBED_SIZES = EMBED_SIZES; exports.EmbedContainer = EmbedContainer; exports.YouTubeContainer = YouTubeContainer; exports.TwitterContainer = TwitterContainer; exports.RedditContainer = RedditContainer; exports.LinkPreviewContainer = LinkPreviewContainer; exports.LinkedInContainer = LinkedInContainer; exports.RedditEmbedClient = RedditEmbedClient; exports.TwitterEmbedClient = TwitterEmbedClient; exports.LinkedInEmbedClient = LinkedInEmbedClient; exports.OGLinkErrorBoundary = OGLinkErrorBoundary; exports.OGLinkPreview = OGLinkPreview; exports.toGoogleSheetsEmbedUrl = toGoogleSheetsEmbedUrl; exports.toGoogleSheetsOriginalUrl = toGoogleSheetsOriginalUrl; exports.toFigmaEmbedUrl = toFigmaEmbedUrl; exports.isFigmaSlidesUrl = isFigmaSlidesUrl; exports.toFigmaOriginalUrl = toFigmaOriginalUrl; exports.EmbedIframe = EmbedIframe; exports.EmbedViewerFrame = EmbedViewerFrame; exports.FigmaEmbed = FigmaEmbed; exports.MarkdownImage = MarkdownImage; exports.processShortcodes = processShortcodes; exports.RichMarkdownRenderer = RichMarkdownRenderer; exports.ReleaseChangelogSection = ReleaseChangelogSection; exports.StackedRowsPanel = StackedRowsPanel; exports.SlackChannelChip = SlackChannelChip; exports.statusBadgeVariants = statusBadgeVariants; exports.genBadgeBgOpacity = genBadgeBgOpacity; exports.generationTierFromLabel = generationTierFromLabel; exports.StatusBadge = StatusBadge; exports.StatusIndicator = StatusIndicator; exports.HoverDropdown = HoverDropdown; exports.ExpandChevron = ExpandChevron; exports.useCollapsible = useCollapsible; exports.getCommandText = getCommandText; exports.ArgRow = ArgRow; exports.ResultBlock = ResultBlock; exports.CommandBlock = CommandBlock; exports.ApprovalStatusTag = ApprovalStatusTag; exports.ApprovalBatchMessage = ApprovalBatchMessage; exports.ApprovalRequestMessage = ApprovalRequestMessage; exports.ContextCompactionDisplay = ContextCompactionDisplay; exports.ThinkingDisplay = ThinkingDisplay; exports.GuideDisplay = GuideDisplay; exports.ErrorMessageDisplay = ErrorMessageDisplay; exports.MspOrganizationCard = MspOrganizationCard; exports.MspOrganizationCardSkeleton = MspOrganizationCardSkeleton; exports.ChatContainer = ChatContainer; exports.ChatHeader = ChatHeader; exports.ChatContent = ChatContent; exports.ChatFooter = ChatFooter; exports.ChatTypingIndicator = ChatTypingIndicator; exports.MingoOnboardingCard = MingoOnboardingCard; exports.ICON_REGISTRY = ICON_REGISTRY; exports.normalizeIconKey = normalizeIconKey; exports.getIconComponent = getIconComponent; exports.getDynamicIcon = getDynamicIcon; exports.ICON_ALIASES = ICON_ALIASES; exports.resolveIcon = resolveIcon; exports.ICON_OPTIONS = ICON_OPTIONS; exports.SlashCommandSuggestions = SlashCommandSuggestions; exports.ChatInput = ChatInput; exports.formatTicketRelativeTime = formatTicketRelativeTime; exports.formatTicketFullTimestamp = formatTicketFullTimestamp; exports.formatRelativeTime = formatRelativeTime; exports.formatAbsoluteDate = formatAbsoluteDate; exports.formatDateTime = formatDateTime; exports.getDetailedTimeDifference = getDetailedTimeDifference; exports.isToday = isToday; exports.isWithinMinutes = isWithinMinutes; exports.createUTCTimestamp = createUTCTimestamp; exports.ToolExecutionDisplay = ToolExecutionDisplay; exports.remarkCardLinks = remarkCardLinks; exports.remarkMentionChips = remarkMentionChips; exports.BlockCard = BlockCard; exports.CONTEXT_ROW_CLASS = CONTEXT_ROW_CLASS; exports.CONTEXT_ICON_CLASS = CONTEXT_ICON_CLASS; exports.CONTEXT_LABEL_CLASS = CONTEXT_LABEL_CLASS; exports.CONTEXT_BACK_CLASS = CONTEXT_BACK_CLASS; exports.CONTEXT_STATE_CLASS = CONTEXT_STATE_CLASS; exports.ContextMenuRow = ContextMenuRow; exports.ContextItemsSkeleton = ContextItemsSkeleton; exports.ContextItemsList = ContextItemsList; exports.ContextErrorBoundary = ContextErrorBoundary; exports.CHAT_CONTEXT_ITEMS_DEFAULT_MAX = CHAT_CONTEXT_ITEMS_DEFAULT_MAX; exports.ChatComposerPlusMenu = ChatComposerPlusMenu; exports.ChatContextPicker = ChatContextPicker; exports.ChatContextChipStrip = ChatContextChipStrip; exports.MemoizedChatMessageEnhanced = MemoizedChatMessageEnhanced; exports.ChatMessageSkeleton = ChatMessageSkeleton; exports.ChatMessageListSkeleton = ChatMessageListSkeleton; exports.MESSAGE_TYPE = MESSAGE_TYPE; exports.SCROLL_ANCHOR = SCROLL_ANCHOR; exports.ChatMessageList = ChatMessageList; exports.getProxiedImageUrl = getProxiedImageUrl; exports.urlPathLooksLikeSvg = urlPathLooksLikeSvg; exports.shouldProxyImage = shouldProxyImage; exports.generateImageSizes = generateImageSizes; exports.useProxiedImageUrl = useProxiedImageUrl; exports.ChatMessageRow = ChatMessageRow; exports.ChatMessageRowSkeleton = ChatMessageRowSkeleton; exports.FAE_AVATAR_DATA_URI = FAE_AVATAR_DATA_URI; exports.AgentMark = AgentMark; exports.EntityIcon = EntityIcon; exports.getAgentAccent = getAgentAccent; exports.accentFromIdentityIcon = accentFromIdentityIcon; exports.isQuickActionIconSpec = isQuickActionIconSpec; exports.renderQuickActionIcon = renderQuickActionIcon; exports.QuickActionChipSkeleton = QuickActionChipSkeleton; exports.QuickActionChipButton = QuickActionChipButton; exports.QuickActionChipFromData = QuickActionChipFromData; exports.useMarqueeSync = useMarqueeSync; exports.getMarqueeTrackOffset = getMarqueeTrackOffset; exports.getMarqueeAppliedOffset = getMarqueeAppliedOffset; exports.getMarqueeCloneTwin = getMarqueeCloneTwin; exports.MarqueeWallFades = MarqueeWallFades; exports.MarqueeWall = MarqueeWall; exports.WALL_SKELETON_LABEL_CH = WALL_SKELETON_LABEL_CH; exports.interleave = interleave; exports.QuickActionWall = QuickActionWall; exports.QuickActionMarquee = QuickActionMarquee; exports.ChatTicketItem = ChatTicketItem; exports.ChatTicketList = ChatTicketList; exports.MingoOnboardingCardSkeleton = MingoOnboardingCardSkeleton; exports.MingoOnboardingListSkeleton = MingoOnboardingListSkeleton; exports.MingoChatHistorySkeleton = MingoChatHistorySkeleton; exports.MingoChatHistory = MingoChatHistory; exports.MingoWelcome = MingoWelcome; exports.GuideWelcome = GuideWelcome; exports.TooltipProvider = TooltipProvider; exports.Tooltip = Tooltip; exports.TooltipTrigger = TooltipTrigger; exports.TooltipContent = TooltipContent; exports.GuideModeBanner = GuideModeBanner; exports.TabSelector = TabSelector; exports.MingoHistoryRail = MingoHistoryRail; exports.RenameChatModal = RenameChatModal; exports.ArchiveChatModal = ArchiveChatModal; exports.UnarchiveChatModal = UnarchiveChatModal; exports.ChatDialogModals = ChatDialogModals; exports.ChatHeaderIconButton = ChatHeaderIconButton; exports.ChatHeaderSearchField = ChatHeaderSearchField; exports.ChatPanelHeader = ChatPanelHeader; exports.CHAT_ATTACHMENT_VIEW_URL_PREFIX = CHAT_ATTACHMENT_VIEW_URL_PREFIX; exports.CHAT_ATTACHMENT_VIEW_TOKEN_QUERY_PARAM = CHAT_ATTACHMENT_VIEW_TOKEN_QUERY_PARAM; exports.ANTHROPIC_SUPPORTED_IMAGE_MIME = ANTHROPIC_SUPPORTED_IMAGE_MIME; exports.buildChatAttachmentViewUrl = buildChatAttachmentViewUrl; exports.escapeMarkdownInline = escapeMarkdownInline; exports.formatChatAttachmentMarkdownForBubble = formatChatAttachmentMarkdownForBubble; exports.CHAT_ATTACHMENT_VIEW_URL_PREFIX_REGEX_ESCAPED = CHAT_ATTACHMENT_VIEW_URL_PREFIX_REGEX_ESCAPED; exports.CHAT_ATTACHMENT_MARKDOWN_PATTERN = CHAT_ATTACHMENT_MARKDOWN_PATTERN; exports.stripChatAttachmentMarkdown = stripChatAttachmentMarkdown; exports.CHAT_ATTACHMENT_MIME_TYPES = CHAT_ATTACHMENT_MIME_TYPES; exports.CHAT_ATTACHMENT_CONCURRENT_UPLOADS_PER_USER = CHAT_ATTACHMENT_CONCURRENT_UPLOADS_PER_USER; exports.ChatAttachmentAddButton = ChatAttachmentAddButton; exports.ChatAttachmentChipStrip = ChatAttachmentChipStrip; exports.ChatContextMemoryBar = ChatContextMemoryBar; exports.HoverCard = HoverCard; exports.HoverCardTrigger = HoverCardTrigger; exports.HoverCardContent = HoverCardContent; exports.ModelDisplay = ModelDisplay; exports.ModelDisplaySkeleton = ModelDisplaySkeleton; exports.ChatComposer = ChatComposer; exports.ChatArchivePage = ChatArchivePage; exports.DialogListItem = DialogListItem; exports.ChatSidebar = ChatSidebar; exports.isCrossOriginUrl = isCrossOriginUrl; exports.decideNewTab = decideNewTab; exports.computeIsNewTab = computeIsNewTab; exports.newTabAnchorAttrs = newTabAnchorAttrs; exports.buildAnchorProps = buildAnchorProps; exports.NEW_TAB_FEATURES = NEW_TAB_FEATURES; exports.isModifierClick = isModifierClick; exports.stripSameOriginToPath = stripSameOriginToPath; exports.resolveExternalNavigation = resolveExternalNavigation; exports.executeNavigation = executeNavigation; exports.executeNavigationImperative = executeNavigationImperative; exports.handleChatNavClick = handleChatNavClick; exports.NavLinkAnchorViaRuntime = NavLinkAnchorViaRuntime; exports.SourceActionButton = SourceActionButton; exports.EMPTY_AUTHOR_PLACEHOLDER = EMPTY_AUTHOR_PLACEHOLDER; exports.EntityMetadataValueCell = EntityMetadataValueCell; exports.EntityMetadataAuthorCell = EntityMetadataAuthorCell; exports.EntityAuthorCard = EntityAuthorCard; exports.BlogImagePlaceholder = BlogImagePlaceholder; exports.useCoverImageFallback = useCoverImageFallback; exports.hideOnError = hideOnError; exports.EntityPortraitCard = EntityPortraitCard; exports.FlamingoLogo = FlamingoLogo2; exports.PlatformBadge = PlatformBadge; exports.AdminContentCard = AdminContentCard; exports.getProxiedImageUrl2 = getProxiedImageUrl2; exports.WhatIShippedCard = WhatIShippedCard; exports.WhatIShippedCardSkeleton = WhatIShippedCardSkeleton; exports.VideoHoverPreviewSurface = VideoHoverPreviewSurface; exports.CardHitLayer = CardHitLayer; exports.RATIO_GRID_CLASS = RATIO_GRID_CLASS; exports.RATIO_TO_CSS_ASPECT = RATIO_TO_CSS_ASPECT; exports.RatioTabs = RatioTabs; exports.detectAspectRatio = detectAspectRatio; exports.ratioToCategory = ratioToCategory; exports.groupByAspectRatio = groupByAspectRatio; exports.DEFAULT_VIDEO_BITES_TITLE = DEFAULT_VIDEO_BITES_TITLE; exports.toStripProfile = toStripProfile; exports.sortBitesByCreatedAtDesc = sortBitesByCreatedAtDesc; exports.PAGE_HEADING_CLASS = PAGE_HEADING_CLASS; exports.SECTION_HEADING_CLASS = SECTION_HEADING_CLASS; exports.PageHeading = PageHeading; exports.STRIP_CELL_MAX_WIDTH = STRIP_CELL_MAX_WIDTH; exports.CardsStrip = CardsStrip; exports.UserDisplay = UserDisplay; exports.VideoBitesStrip = VideoBitesStrip; exports.VideoBiteCard = VideoBiteCard; exports.EntityVideoSection = EntityVideoSection; exports.ChatVideoEntityCard = ChatVideoEntityCard; exports.ProductReleaseCard = ProductReleaseCard; exports.ProductReleaseCardSkeleton = ProductReleaseCardSkeleton; exports.formatReleaseDate = formatReleaseDate; exports.formatDateShort = formatDateShort; exports.formatDateSlashUTC = formatDateSlashUTC; exports.resolveReleaseCover = resolveReleaseCover; exports.releaseTypeToBadgeColor = releaseTypeToBadgeColor; exports.defaultBuildProductReleaseCardProps = defaultBuildProductReleaseCardProps; exports.buildProductReleaseCardProps = buildProductReleaseCardProps; exports.useEntityCardLink = useEntityCardLink; exports.COMPACT_CARD_OUTER = COMPACT_CARD_OUTER; exports.COMPACT_CARD_OUTER_STATIC = COMPACT_CARD_OUTER_STATIC; exports.COMPACT_CARD_SKELETON_OUTER = COMPACT_CARD_SKELETON_OUTER; exports.COMPACT_CARD_IMAGE_SLOT = COMPACT_CARD_IMAGE_SLOT; exports.COMPACT_CARD_SKELETON_IMAGE_SLOT = COMPACT_CARD_SKELETON_IMAGE_SLOT; exports.COMPACT_CARD_ICON_SLOT = COMPACT_CARD_ICON_SLOT; exports.COMPACT_CARD_TEXT_COL = COMPACT_CARD_TEXT_COL; exports.COMPACT_CARD_TITLE_ROW = COMPACT_CARD_TITLE_ROW; exports.COMPACT_CARD_META_ROW_BOX = COMPACT_CARD_META_ROW_BOX; exports.COMPACT_CARD_TITLE = COMPACT_CARD_TITLE; exports.COMPACT_CARD_SUBTITLE = COMPACT_CARD_SUBTITLE; exports.COMPACT_CARD_SUMMARY = COMPACT_CARD_SUMMARY; exports.COMPACT_CARD_META_ROW = COMPACT_CARD_META_ROW; exports.COMPACT_CARD_ROW_FILLER = COMPACT_CARD_ROW_FILLER; exports.safeHref = safeHref; exports.BlogCardSkeleton = BlogCardSkeleton; exports.BlogCard = BlogCard; exports.CaseStudyCardSkeleton = CaseStudyCardSkeleton; exports.CaseStudyCard = CaseStudyCard; exports.CustomerInterviewCardSkeleton = CustomerInterviewCardSkeleton; exports.CustomerInterviewCard = CustomerInterviewCard; exports.formatInvestorUpdatePeriod = formatInvestorUpdatePeriod; exports.InvestorUpdateCardSkeleton = InvestorUpdateCardSkeleton; exports.InvestorUpdateCard = InvestorUpdateCard; exports.OnboardingGuideCardSkeleton = OnboardingGuideCardSkeleton; exports.OnboardingGuideCard = OnboardingGuideCard; exports.RoadmapVoteButton = RoadmapVoteButton; exports.getStatusColorScheme = getStatusColorScheme; exports.CUSTOM_ITEM_ID = CUSTOM_ITEM_ID; exports.getTaskTypeLabel = getTaskTypeLabel; exports.TaskTypeIcon = TaskTypeIcon; exports.RoadmapCardSkeleton = RoadmapCardSkeleton; exports.RoadmapCard = RoadmapCard; exports.GitHubActivityCard = GitHubActivityCard; exports.GitHubActivityCardSkeleton = GitHubActivityCardSkeleton; exports.SlackMessageCard = SlackMessageCard; exports.SlackMessageCardSkeleton = SlackMessageCardSkeleton; exports.HubspotTicketCard = HubspotTicketCard; exports.HubspotTicketCardSkeleton = HubspotTicketCardSkeleton; exports.DataRoomDocCard = DataRoomDocCard; exports.DataRoomDocCardSkeleton = DataRoomDocCardSkeleton; exports.programItemToStripProfile = programItemToStripProfile; exports.transformEventToProgram = transformEventToProgram; exports.transformPodcastToProgram = transformPodcastToProgram; exports.transformWebinarToProgram = transformWebinarToProgram; exports.ProgramCardSkeleton = ProgramCardSkeleton; exports.ProgramCard = ProgramCard; exports.CampaignCardAdmin = CampaignCardAdmin; exports.CampaignCardAdminSkeleton = CampaignCardAdminSkeleton; exports.GenericEntityCard = GenericEntityCard; exports.GenericEntityCardSkeleton = GenericEntityCardSkeleton; exports.extractItems = extractItems; exports.extractItemId = extractItemId; exports.useChatCardItem = useChatCardItem; exports.SOURCE_ICON_NAMES = SOURCE_ICON_NAMES; exports.getSourceIconName = getSourceIconName; exports.SOURCE_LABELS_BY_TABLE = SOURCE_LABELS_BY_TABLE; exports.getSourceLabel = getSourceLabel; exports.DEFAULT_DOCUMENT_TYPE_TO_TABLE_ID = DEFAULT_DOCUMENT_TYPE_TO_TABLE_ID; exports.defaultTableIdForDocumentType = defaultTableIdForDocumentType; exports.canonicalContentRefType = canonicalContentRefType; exports.buildListUrl = buildListUrl; exports.resolveSourceRowCTA = resolveSourceRowCTA; exports.resolveSourceIcon = resolveSourceIcon; exports.readFetchedCardTitle = readFetchedCardTitle; exports.resolveFetchedCardHref = resolveFetchedCardHref; exports.ChatCardLoader = ChatCardLoader; exports.renderChatInlineEntityCard = renderChatInlineEntityCard; exports.CHAT_TYPE = CHAT_TYPE; exports.OWNER_TYPE = OWNER_TYPE; exports.MESSAGE_ROLE = MESSAGE_ROLE; exports.ASSISTANT_TYPE = ASSISTANT_TYPE; exports.AUTHOR_TYPE = AUTHOR_TYPE; exports.APPROVAL_STATUS = APPROVAL_STATUS; exports.APPROVAL_BLOCK_VARIANT = APPROVAL_BLOCK_VARIANT; exports.CONNECTION_STATUS = CONNECTION_STATUS; exports.buildChatRefKey = buildChatRefKey; exports.isStructuredContent = isStructuredContent; exports.normalizeContent = normalizeContent2; exports.NETWORK_CONFIG = NETWORK_CONFIG; exports.useChunkCatchup = useChunkCatchup; exports.useScriptedStream = useScriptedStream; exports.useJetStreamDialogSubscription = useJetStreamDialogSubscription; exports.useNatsDialogSubscription = useNatsDialogSubscription; exports.buildNatsWsUrl = buildNatsWsUrl; exports.fetchSlashCommands = fetchSlashCommands; exports.useSlashCommands = useSlashCommands; exports.useSlashCommandRegistry = useSlashCommandRegistry; exports.fetchEmptyStateConfig = fetchEmptyStateConfig; exports.useEmptyStateConfig = useEmptyStateConfig; exports.useChatAttachments = useChatAttachments; exports.useChatAttachmentImageGallery = useChatAttachmentImageGallery; exports.ChatIdentityProvider = ChatIdentityProvider; exports.useChatIdentity = useChatIdentity; exports.useCloseOnNavigation = useCloseOnNavigation; exports.useSSE = useSSE; exports.useChat = useChat; exports.AUTO_CONTINUATION_DIRECTIVE_PREFIX = AUTO_CONTINUATION_DIRECTIVE_PREFIX; exports.buildAutoContinuationDirective = buildAutoContinuationDirective; exports.parseWireCommandOverride = parseWireCommandOverride; exports.sanitizeTitleForChat = sanitizeTitleForChat; exports.formatSingularLookupInvocation = formatSingularLookupInvocation; exports.extractEntityIdFilter = extractEntityIdFilter; exports.buildDiscussAddendum = buildDiscussAddendum; exports.buildDiscussPrompt = buildDiscussPrompt; exports.MessageSegmentAccumulator = MessageSegmentAccumulator; exports.createMessageSegmentAccumulator = createMessageSegmentAccumulator; exports.SCROLL_ANCHOR_WIRE_KEY = SCROLL_ANCHOR_WIRE_KEY; exports.parseScrollAnchor = parseScrollAnchor; exports.appendToTrailingAssistant = appendToTrailingAssistant; exports.upsertTrailingCompaction = upsertTrailingCompaction; exports.applyToolExecutionToMessages = applyToolExecutionToMessages; exports.createEmptyTurnMeta = createEmptyTurnMeta; exports.createChatStreamReducer = createChatStreamReducer; exports.DEFAULT_DIALOG_SIDE = DEFAULT_DIALOG_SIDE; exports.DEFAULT_MAX_REDUCERS = DEFAULT_MAX_REDUCERS; exports.MAX_PENDING_RETAIN_KEYS = MAX_PENDING_RETAIN_KEYS; exports.createChatDialogStore = createChatDialogStore; exports.createDeltaBatcher = createDeltaBatcher; exports.useChatStreamReducer = useChatStreamReducer; exports.useSseChatAdapter = useSseChatAdapter; exports.decodeHistoricalMessageData = decodeHistoricalMessageData; exports.processHistoricalMessages = processHistoricalMessages; exports.extractErrorMessages = extractErrorMessages; exports.processHistoricalMessagesWithErrors = processHistoricalMessagesWithErrors; exports.extractIncompleteMessageState = extractIncompleteMessageState; exports.extractIncompleteTailState = extractIncompleteTailState; exports.mapProcessedToUnified = mapProcessedToUnified; exports.historicalToUnified = historicalToUnified; exports.useNatsChatAdapter = useNatsChatAdapter; exports.useUnifiedChat = useUnifiedChat; exports.SYNTHETIC_REALTIME_ID_PREFIXES = SYNTHETIC_REALTIME_ID_PREFIXES; exports.flattenMessagePagesChronological = flattenMessagePagesChronological; exports.maxPersistedStreamSeq = maxPersistedStreamSeq; exports.mergeHistoryWithRealtime = mergeHistoryWithRealtime; exports.computeHistoryPrepend = computeHistoryPrepend; exports.CHIP_ACTION_BUTTON_CLASS = CHIP_ACTION_BUTTON_CLASS; exports.chatChipClass = chatChipClass; exports.flattenAssistantContent = flattenAssistantContent; exports.clickupTaskUrl = clickupTaskUrl; exports.normalizeHistoricalMessageData = normalizeHistoricalMessageData; exports.isHistoricalUserTurn = isHistoricalUserTurn; exports.buildStreamFrames = buildStreamFrames; exports.EmbeddableChat = EmbeddableChat; exports.BackButton = BackButton; exports.FilterCheckboxItem = FilterCheckboxItem; exports.TagKeyValueFilter = TagKeyValueFilter; exports.FilterModal = FilterModal; exports.PageActions = PageActions; exports.usePageActionsBottomPadding = usePageActionsBottomPadding; exports.PageContainer = PageContainer; exports.ListPageContainer = ListPageContainer; exports.DetailPageContainer = DetailPageContainer; exports.FormPageContainer = FormPageContainer; exports.ContentPageContainer = ContentPageContainer; exports.ListPageLayout = ListPageLayout; exports.EntityImage = EntityImage; exports.TITLE_BLOCK_MIN_HEIGHT = TITLE_BLOCK_MIN_HEIGHT; exports.TitleBlock = TitleBlock; exports.PageLayout = PageLayout; exports.PageShell = PageShell; exports.ArticleDetailLayout = ArticleDetailLayout; exports.toggleVariants = toggleVariants; exports.Toggle = Toggle; exports.ToggleGroup = ToggleGroup; exports.ToggleGroupItem = ToggleGroupItem; exports.delay = delay; exports.generateRandomString = generateRandomString; exports.truncateString = truncateString; exports.serializeJsonLd = serializeJsonLd; exports.deepClone = deepClone; exports.getSlackCommunityJoinUrl = getSlackCommunityJoinUrl; exports.SEO_TITLE_MAX_LENGTH = SEO_TITLE_MAX_LENGTH; exports.SEO_DESCRIPTION_MAX_LENGTH = SEO_DESCRIPTION_MAX_LENGTH; exports.BRAND_MARK_SVGS = BRAND_MARK_SVGS; exports.brandMarkDataUri = brandMarkDataUri; exports.OS_PLATFORMS = OS_PLATFORMS; exports.DEFAULT_OS_PLATFORM = DEFAULT_OS_PLATFORM; exports.isValidEmailDomain = isValidEmailDomain; exports.validateEmailDomain = validateEmailDomain; exports.validateEmailDomainList = validateEmailDomainList; exports.cleanEmailDomain = cleanEmailDomain; exports.getConfidenceColorClass = getConfidenceColorClass; exports.getConfidenceLevel = getConfidenceLevel; exports.getConfidenceBorderClass = getConfidenceBorderClass; exports.getConfidenceTextClass = getConfidenceTextClass; exports.getConfidenceBgClass = getConfidenceBgClass; exports.getConfidenceLabel = getConfidenceLabel; exports.DEV_SECTION_PARAM_KEYS = DEV_SECTION_PARAM_KEYS; exports.devSectionAnchorId = devSectionAnchorId; exports.TICKET_OPEN_PARAM = TICKET_OPEN_PARAM; exports.buildTicketOpenHref = buildTicketOpenHref; exports.normalizeToolType = normalizeToolType; exports.normalizeToolTypeWithFallback = normalizeToolTypeWithFallback; exports.toToolLabel = toToolLabel; exports.isValidToolType = isValidToolType; exports.getToolTypeAliases = getToolTypeAliases; exports.getToolLabel = getToolLabel; exports.ShellTypeValues = ShellTypeValues; exports.SHELL_TYPES = SHELL_TYPES; exports.shellLabels = shellLabels; exports.getShellLabel = getShellLabel; exports.getShellIcon = getShellIcon; exports.BITE_ID_RE = BITE_ID_RE; exports.generateBiteId = generateBiteId; exports.ensureBiteIds = ensureBiteIds; exports.matchBiteElement = matchBiteElement; exports.OSTypeValues = OSTypeValues; exports.OS_TYPES = OS_TYPES; exports.osLabels = osLabels; exports.normalizeOSType = normalizeOSType; exports.getOSLabel = getOSLabel; exports.getOSIcon = getOSIcon; exports.getOSTypeDefinition = getOSTypeDefinition; exports.getOSPlatformId = getOSPlatformId; exports.isOSPlatform = isOSPlatform; exports.getCountryPhoneData = getCountryPhoneData; exports.getCountryByCode = getCountryByCode; exports.validatePhoneNumber = validatePhoneNumber; exports.formatPhoneE164 = formatPhoneE164; exports.GENERIC_EMAIL_DOMAINS = GENERIC_EMAIL_DOMAINS; exports.extractDomainFromEmail = extractDomainFromEmail; exports.normalizeDomain = normalizeDomain; exports.isGenericDomain = isGenericDomain; exports.hasGenericEmailDomain = hasGenericEmailDomain; exports.isGenericWebsiteDomain = isGenericWebsiteDomain; exports.isDismissedCookieValue = isDismissedCookieValue; exports.readDismissCookie = readDismissCookie; exports.writeDismissCookie = writeDismissCookie; exports.clearDismissCookie = clearDismissCookie; exports.announcementDismissCookieName = announcementDismissCookieName; exports.dismissAnnouncement = dismissAnnouncement; exports.isAnnouncementDismissed = isAnnouncementDismissed; exports.clearAnnouncementDismissals = clearAnnouncementDismissals; exports.clearLegacyAnnouncementCache = clearLegacyAnnouncementCache; exports.WALKTHROUGH_VIDEO_DISMISS_KEY = WALKTHROUGH_VIDEO_DISMISS_KEY; exports.walkthroughDismissCookieName = walkthroughDismissCookieName; exports.isWalkthroughDismissed = isWalkthroughDismissed; exports.dismissWalkthrough = dismissWalkthrough; exports.clearWalkthroughDismissal = clearWalkthroughDismissal; exports.WALKTHROUGH_OPEN_QUERY_PARAM = WALKTHROUGH_OPEN_QUERY_PARAM; exports.withWalkthroughOpenParam = withWalkthroughOpenParam; exports.createSseSubscription = createSseSubscription; exports.readLeadingDecisionFrame = readLeadingDecisionFrame; exports.ANNOUNCEMENT_CTA_DEFAULTS = ANNOUNCEMENT_CTA_DEFAULTS; exports.AVAILABLE_SVG_ICONS = AVAILABLE_SVG_ICONS; exports.releaseTypeOptions = releaseTypeOptions; exports.releaseStatusOptions = releaseStatusOptions; exports.changelogLabels = changelogLabels; exports.SEMVER_REGEX = SEMVER_REGEX; exports.TASK_TYPE_LABELS = TASK_TYPE_LABELS; exports.TASK_TYPE_TEXT_COLORS = TASK_TYPE_TEXT_COLORS; exports.TMCG_ROLES = TMCG_ROLES; exports.TMCG_ROLE_DISPLAY_NAMES = TMCG_ROLE_DISPLAY_NAMES; exports.TMCG_SOCIAL_PLATFORMS = TMCG_SOCIAL_PLATFORMS; exports.ROADMAP_STATUS_OPTIONS = ROADMAP_STATUS_OPTIONS; exports.DELIVERY_TASK_TYPE_OPTIONS = DELIVERY_TASK_TYPE_OPTIONS; exports.TICKET_STATUS_OPTIONS = TICKET_STATUS_OPTIONS; exports.OPENFRAME_DEV_SECTIONS = OPENFRAME_DEV_SECTIONS; exports.faqSectionSlug = faqSectionSlug; exports.faqItemAnchor = faqItemAnchor; exports.parseFaqHash = parseFaqHash; exports.CONTENT_REF_GROUPS = CONTENT_REF_GROUPS; exports.getContentRefLabel = getContentRefLabel; exports.getContentRefLabelOrTitleCase = getContentRefLabelOrTitleCase; exports.orderContentRefTypes = orderContentRefTypes; exports.buildSuggestionUrl = buildSuggestionUrl; exports.DEFAULT_CONTENT_SUFFIXES = DEFAULT_CONTENT_SUFFIXES; exports.makeComposeContentUrl = makeComposeContentUrl; exports.buildDefaultHref = buildDefaultHref; exports.resolveContentHref = resolveContentHref; exports.DEFAULT_FOLDER_INDEX_FILE = DEFAULT_FOLDER_INDEX_FILE; exports.stripFolderIndexFromPath = stripFolderIndexFromPath; exports.findDocNodeByPath = findDocNodeByPath; exports.getDocAncestorNodeIds = getDocAncestorNodeIds; exports.resolveContentFetchPath = resolveContentFetchPath; exports.getInitialExpandedNodeIds = getInitialExpandedNodeIds; exports.getDocSourceDefaultPath = getDocSourceDefaultPath; exports.toDocSlug = toDocSlug; exports.pathToNodeId = pathToNodeId; exports.normalizeDocPath = normalizeDocPath; exports.formatDocName = formatDocName; exports.sortTreeChildren = sortTreeChildren; exports.buildDocumentTree = buildDocumentTree; exports.extractSections = extractSections; exports.SCHEDULING_SLUG_SHAPE = SCHEDULING_SLUG_SHAPE; exports.MAX_MONTH_OFFSET = MAX_MONTH_OFFSET; exports.isValidSchedulingSlug = isValidSchedulingSlug; exports.parseSchedulingLinkName = parseSchedulingLinkName; exports.isListedSchedulingName = isListedSchedulingName; exports.schedulingAudienceKey = schedulingAudienceKey; exports.SECTION_HERO_ICON_CLASS = SECTION_HERO_ICON_CLASS; exports.FIRST_TOUCH_ATTRIBUTION_KEY = FIRST_TOUCH_ATTRIBUTION_KEY; exports.sanitizeLandingUrl = sanitizeLandingUrl; exports.parseAttributionFromUrl = parseAttributionFromUrl; exports.captureFirstTouchAttribution = captureFirstTouchAttribution; exports.getFirstTouchAttribution = getFirstTouchAttribution; exports.withFirstTouchAttribution = withFirstTouchAttribution; exports.clearFirstTouchAttribution = clearFirstTouchAttribution; exports.BenefitCard = BenefitCard; exports.BenefitCardGrid = BenefitCardGrid; exports.BrandAssociationCard = BrandAssociationCard; exports.BrandAssociationGrid = BrandAssociationGrid; exports.BulletList = BulletList; exports.ChevronButton = ChevronButton; exports.CircularProgress = CircularProgress; exports.CheckIcon = CheckIcon2; exports.XIcon = XIcon2; exports.MinusIcon = MinusIcon; exports.CheckCircleIcon = CheckCircleIcon2; exports.XCircleIcon = XCircleIcon; exports.DashboardInfoCard = DashboardInfoCard; exports.InfoCardRow = InfoCardRow; exports.OSTypeBadge = OSTypeBadge; exports.OSTypeIcon = OSTypeIcon; exports.OSTypeLabel = OSTypeLabel; exports.DeviceCard = DeviceCard; exports.DeviceCardCompact = DeviceCardCompact; exports.FeatureCardGrid = FeatureCardGrid; exports.FeatureList = FeatureList; exports.HighlightCard = HighlightCard; exports.HighlightCardGrid = HighlightCardGrid; exports.IconsBlock = IconsBlock; exports.DropdownButton = DropdownButton; exports.MoreActionsMenu = MoreActionsMenu; exports.OrganizationCard = OrganizationCard; exports.ServiceCard = ServiceCard; exports.Slider = Slider; exports.AvatarStack = AvatarStack; exports.TitleContentBlock = TitleContentBlock; exports.ErrorState = ErrorState; exports.PageError = PageError; exports.LoadError = LoadError; exports.NotFoundError = NotFoundError; exports.ContentLoader = ContentLoader; exports.CardLoader = CardLoader; exports.FormLoader = FormLoader; exports.DetailLoader = DetailLoader; exports.ListLoader = ListLoader; exports.Pagination = Pagination; exports.PaginationContent = PaginationContent; exports.PaginationItem = PaginationItem; exports.PaginationLink = PaginationLink; exports.PaginationEllipsis = PaginationEllipsis; exports.PaginationPrevious = PaginationPrevious; exports.PaginationNext = PaginationNext; exports.init_pagination = init_pagination; exports.CursorPagination = CursorPagination; exports.CursorPaginationSimple = CursorPaginationSimple; exports.TableEmptyState = TableEmptyState; exports.DynamicThemeProvider = DynamicThemeProvider; exports.useDynamicTheme = useDynamicTheme; exports.THEME_STORAGE_KEY = THEME_STORAGE_KEY; exports.THEME_ATTRIBUTE = THEME_ATTRIBUTE; exports.DEFAULT_THEME = DEFAULT_THEME; exports.ThemeProvider = ThemeProvider; exports.useTheme = useTheme; exports.useThemeToggle = useThemeToggle; exports.ArrayEntryManager = ArrayEntryManager; exports.AuthBenefitsPanel = AuthBenefitsPanel; exports.OpenFrameWordmark = OpenFrameWordmark; exports.PoweredByFlamingo = PoweredByFlamingo; exports.AuthShell = AuthShell; exports.BackToLoginLink = BackToLoginLink; exports.PasswordInput = PasswordInput; exports.PROVIDER_META = PROVIDER_META; exports.SsoProviderButtons = SsoProviderButtons; exports.CompleteAccountForm = CompleteAccountForm; exports.TermsAgreementLabel = TermsAgreementLabel; exports.CreateOrganizationForm = CreateOrganizationForm; exports.InviteLinkInvalidModal = InviteLinkInvalidModal; exports.LoginForm = LoginForm; exports.OpenFrameSsoLoginForm = OpenFrameSsoLoginForm; exports.OpenFrameSsoSignUpForm = OpenFrameSsoSignUpForm; exports.PasswordResetForm = PasswordResetForm; exports.SsoAuthShell = SsoAuthShell; exports.ProviderButton = ProviderButton; exports.AuthProvidersList = AuthProvidersList; exports.ChangelogManager = ChangelogManager; exports.ChangelogSectionsManager = ChangelogSectionsManager; exports.ClickUpTasksManager = ClickUpTasksManager; exports.CommandBox = CommandBox; exports.TAG_BADGE_CLASS = TAG_BADGE_CLASS; exports.EntityTagBadges = EntityTagBadges; exports.ErrorBoundary = ErrorBoundary; exports.SectionSelector = SectionSelector; exports.FigmaPrototypeViewer = FigmaPrototypeViewer; exports.FiltersDropdown = FiltersDropdown; exports.useFiltersDropdown = useFiltersDropdown; exports.GitHubReleasesManager = GitHubReleasesManager; exports.KnowledgeBaseLinksManager = KnowledgeBaseLinksManager; exports.LoadingProvider = LoadingProvider; exports.useLoading = useLoading; exports.MediaGalleryManager = MediaGalleryManager; exports.MoreAboutButton = MoreAboutButton; exports.OSTypeBadgeGroup = OSTypeBadgeGroup; exports.ParallaxImageShowcase = ParallaxImageShowcase; exports.PathsDisplay = PathsDisplay; exports.OPENFRAME_PATHS = OPENFRAME_PATHS; exports.getOpenFramePaths = getOpenFramePaths; exports.OPENFRAME_DOCTOR_COMMANDS = OPENFRAME_DOCTOR_COMMANDS; exports.getOpenFrameDoctorCommand = getOpenFrameDoctorCommand; exports.PlatformFilterComponent = PlatformFilterComponent; exports.PushButtonSelector = PushButtonSelector; exports.ReleaseMediaManager = ReleaseMediaManager; exports.SelectButton = SelectButton; exports.SEOEditorPreview = SEOEditorPreview; exports.SocialLinksManager = SocialLinksManager; exports.StartWithOpenFrameButton = StartWithOpenFrameButton; exports.StatusFilterComponent = StatusFilterComponent; exports.TagsSelector = TagsSelector; exports.WarningBlock = WarningBlock; exports.VideoBitesDisplay = VideoBitesDisplay; exports.FloatingWalkthroughVideo = FloatingWalkthroughVideo; exports.useWalkthroughVideo = useWalkthroughVideo; exports.getCaptionsUrl = getCaptionsUrl; exports.VideoSourceSelector = VideoSourceSelector; exports.ConfidenceBadge = ConfidenceBadge; exports.TranscriptSummaryEditor = TranscriptSummaryEditor; exports.AIEnrichButton = AIEnrichButton; exports.AIWarningsSection = AIWarningsSection; exports.AIEnrichSection = AIEnrichSection; exports.HighlightVideoSection = HighlightVideoSection; exports.HighlightConfigSection = HighlightConfigSection; exports.EntitySummaryEditor = EntitySummaryEditor; exports.AIStatusIndicator = AIStatusIndicator; exports.AIRequiredBadge = AIRequiredBadge; exports.TranscribeSummarizeSection = TranscribeSummarizeSection; exports.VideoClipsSection = VideoClipsSection; exports.HighlightGenerationSection = HighlightGenerationSection; exports.HighlightVideoPreview = HighlightVideoPreview; exports.TranscribeAndSummarizeCombinedSection = TranscribeAndSummarizeCombinedSection; exports.HighlightVideoCombinedSection = HighlightVideoCombinedSection; exports.ViewToggle = ViewToggle; exports.PolicyConfigurationPanel = PolicyConfigurationPanel; exports.PhoneInput = PhoneInput; exports.WaitlistForm = WaitlistForm; exports.NotificationsProvider = NotificationsProvider; exports.useNotifications = useNotifications; exports.useOptionalNotifications = useOptionalNotifications; exports.useAppLayoutDrawerContainer = useAppLayoutDrawerContainer; exports.AppLayoutDrawerRoot = AppLayoutDrawerRoot; exports.AppLayoutDrawerTrigger = AppLayoutDrawerTrigger; exports.AppLayoutDrawerClose = AppLayoutDrawerClose; exports.AppLayoutDrawerContent = AppLayoutDrawerContent; exports.AppLayoutDrawerHeader = AppLayoutDrawerHeader; exports.AppLayoutDrawerTitle = AppLayoutDrawerTitle; exports.AppLayoutDrawerDescription = AppLayoutDrawerDescription; exports.AppLayoutDrawerBody = AppLayoutDrawerBody; exports.AppLayoutDrawerFooter = AppLayoutDrawerFooter; exports.NotificationTile = NotificationTile; exports.NotificationDrawer = NotificationDrawer; exports.NotificationPopups = NotificationPopups; exports.ADMIN_APPROVAL_REQUEST_CONTEXT_TYPE = ADMIN_APPROVAL_REQUEST_CONTEXT_TYPE; exports.isApprovalNotification = isApprovalNotification; exports.getApprovalMeta = getApprovalMeta; exports.resolutionToStatus = resolutionToStatus; exports.approvalMetaToBatchData = approvalMetaToBatchData; exports.ApprovalRequestNotificationTile = ApprovalRequestNotificationTile; exports.TimeTrackerProvider = TimeTrackerProvider; exports.useTimeTracker = useTimeTracker; exports.useOptionalTimeTracker = useOptionalTimeTracker; exports.useTrackerClock = useTrackerClock; exports.TimeTrackerPanel = TimeTrackerPanel; exports.UnreadDot = UnreadDot; exports.UnreadCountBadge = UnreadCountBadge; exports.HeaderButton = HeaderButton; exports.TimeTrackerHeaderButton = TimeTrackerHeaderButton; exports.BoardColumnHeader = BoardColumnHeader; exports.tintOnDark = tintOnDark; exports.BoardTicketApproval = BoardTicketApproval; exports.TicketCardBody = TicketCardBody; exports.TicketCardView = TicketCardView; exports.TicketCard = TicketCard; exports.TicketCardSkeleton = TicketCardSkeleton; exports.BoardColumn = BoardColumn; exports.useBoardCollapse = useBoardCollapse; exports.Board = Board; exports.columnFromTicketStatus = columnFromTicketStatus; exports.groupTicketsByStatus = groupTicketsByStatus; exports.TicketStatusConfigList = TicketStatusConfigList; exports.TableHeader = TableHeader; exports.TableCell = TableCell; exports.TableCardSkeleton = TableCardSkeleton; exports.TableRow = TableRow; exports.Table = Table; exports.TableDescriptionCell = TableDescriptionCell; exports.TableTimestampCell = TableTimestampCell; exports.QueryReportTableHeader = QueryReportTableHeader; exports.QueryReportTableRow = QueryReportTableRow; exports.QueryReportTableSkeleton = QueryReportTableSkeleton; exports.deriveColumns = deriveColumns; exports.exportToCSV = exportToCSV; exports.QueryReportTable = QueryReportTable; exports.useDataTableContext = useDataTableContext; exports.DataTableRoot = DataTableRoot; exports.getHideClasses = getHideClasses2; exports.alignJustify = alignJustify; exports.multiSelectFilterFn = multiSelectFilterFn; exports.DataTableHeader = DataTableHeader; exports.DataTableEmpty = DataTableEmpty; exports.ROW_HEIGHT_DESKTOP = ROW_HEIGHT_DESKTOP2; exports.ROW_HEIGHT_MOBILE = ROW_HEIGHT_MOBILE2; exports.ROW_SHELL_CLASSES = ROW_SHELL_CLASSES; exports.DataTableSkeleton = DataTableSkeleton; exports.DataTableRow = DataTableRow; exports.DataTableBody = DataTableBody; exports.DataTableInfiniteFooter = DataTableInfiniteFooter; exports.DataTableCursorFooter = DataTableCursorFooter; exports.DataTableRowCount = DataTableRowCount; exports.useDataTable = useDataTable; exports.DataTable = DataTable; exports.flexRender = _reacttable.flexRender; exports.createColumnHelper = _reacttable.createColumnHelper; exports.getCoreRowModel = _reacttable.getCoreRowModel; exports.getExpandedRowModel = _reacttable.getExpandedRowModel; exports.getFacetedRowModel = _reacttable.getFacetedRowModel; exports.getFacetedUniqueValues = _reacttable.getFacetedUniqueValues; exports.getFilteredRowModel = _reacttable.getFilteredRowModel; exports.getGroupedRowModel = _reacttable.getGroupedRowModel; exports.getPaginationRowModel = _reacttable.getPaginationRowModel; exports.getSortedRowModel = _reacttable.getSortedRowModel; exports.SearchInput = SearchInput; exports.FilterListItem = FilterListItem; exports.FilterList = FilterList; exports.TagSearchInput = TagSearchInput; exports.MarkdownEditor = MarkdownEditor; exports.FileUpload = FileUpload; exports.ImageUploader = ImageUploader; exports.TICKET_STATUS_COLOR_PRESETS = TICKET_STATUS_COLOR_PRESETS; exports.CUSTOM_PRESET_KEY = CUSTOM_PRESET_KEY; exports.DEFAULT_CUSTOM_STATUS_COLOR = DEFAULT_CUSTOM_STATUS_COLOR; exports.ColorPresetSelect = ColorPresetSelect; exports.ColorPickerInput = ColorPickerInput; exports.TicketStatusConfigRow = TicketStatusConfigRow; exports.formatTestRunDuration = formatTestRunDuration; exports.TestResultsSkeleton = TestResultsSkeleton; exports.TestResultsTable = TestResultsTable; exports.TestRunResults = TestRunResults; exports.TimingStat = TimingStat; exports.useTestRunState = useTestRunState; exports.TicketDetailSection = TicketDetailSection; exports.TicketAttachmentsList = TicketAttachmentsList; exports.TicketNoteCard = TicketNoteCard; exports.TicketNotesSection = TicketNotesSection; exports.TicketInfoSection = TicketInfoSection; exports.FilterPillRow = FilterPillRow; exports.MingoAiButton = MingoAiButton; exports.MOBILE_NAV_PANEL_ID = MOBILE_NAV_PANEL_ID; exports.MobileNavPanel = MobileNavPanel; exports.useOptionalTicketLive = useOptionalTicketLive; exports.useTicketLive = useTicketLive; exports.TicketLiveProvider = TicketLiveProvider; exports.isOptimistic = isOptimistic; exports.TICKET_TEXT_MAX_CHARS = TICKET_TEXT_MAX_CHARS; exports.TICKET_MARK_READ_DEBOUNCE_MS = TICKET_MARK_READ_DEBOUNCE_MS; exports.TOAST_COPY = TOAST_COPY; exports.TicketAlertsButton = TicketAlertsButton; exports.TopNavigation = TopNavigation; exports.Header = Header2; exports.HeaderSkeleton = HeaderSkeleton; exports.ClientOnlyHeader = ClientOnlyHeader; exports.SlidingSidebar = SlidingSidebar; exports.StickySectionNav = StickySectionNav; exports.useSectionNavigation = useSectionNavigation; exports.NAVIGATION_SIDEBAR_WIDTH_VAR = NAVIGATION_SIDEBAR_WIDTH_VAR; exports.NavigationSidebar = NavigationSidebar; exports.HeaderGlobalSearch = HeaderGlobalSearch; exports.HeaderMingoButton = HeaderMingoButton; exports.HeaderOrganizationFilter = HeaderOrganizationFilter; exports.AppHeader = AppHeader; exports.MobileBurgerMenu = MobileBurgerMenu; exports.AppLayout = AppLayout; exports.MultiLevelNavigation = MultiLevelNavigation; exports.MobileNavigationDropdown = MobileNavigationDropdown; exports.SoftwareInfo = SoftwareInfo; exports.SoftwareSourceBadge = SoftwareSourceBadge; exports.CveLink = CveLink; exports.ToolBadge = ToolBadge; exports.ShellTypeBadge = ShellTypeBadge; exports.ScriptInfoSection = ScriptInfoSection; exports.ScriptArguments = ScriptArguments; exports.OnboardingStepCard = OnboardingStepCard; exports.OnboardingWalkthrough = OnboardingWalkthrough; exports.LOG_SEVERITY_COLORS = LOG_SEVERITY_COLORS; exports.LOG_SEVERITY_LABELS = LOG_SEVERITY_LABELS; exports.LogSeverityDot = LogSeverityDot; exports.LogsList = LogsList; exports.assets = assets;
60983
- //# sourceMappingURL=chunk-PDPNJJLB.cjs.map
60924
+ exports.Label = Label; exports.AllowedDomainsInput = AllowedDomainsInput; exports.AnnouncementBarView = AnnouncementBarView; exports.FloatingTooltip = FloatingTooltip; exports.TruncateText = TruncateText; exports.HiddenTagsPopup = HiddenTagsPopup; exports.tagVariants = tagVariants; exports.Tag = Tag; exports.Autocomplete = Autocomplete; exports.Card = Card; exports.CardHeader = CardHeader; exports.CardTitle = CardTitle; exports.CardDescription = CardDescription; exports.CardContent = CardContent; exports.CardFooter = CardFooter; exports.CardHorizontal = CardHorizontal; exports.CheckboxBlock = CheckboxBlock; exports.CheckboxWithDescription = CheckboxWithDescription; exports.Select = Select; exports.SelectGroup = SelectGroup; exports.SelectValue = SelectValue; exports.SelectTrigger = SelectTrigger; exports.SelectScrollUpButton = SelectScrollUpButton; exports.SelectScrollDownButton = SelectScrollDownButton; exports.SelectContent = SelectContent; exports.SelectLabel = SelectLabel; exports.SelectItem = SelectItem; exports.SelectSeparator = SelectSeparator; exports.DatePicker = DatePicker; exports.DatePickerInput = DatePickerInput; exports.DatePickerInputSimple = DatePickerInputSimple; exports.DateFilterPanel = DateFilterPanel; exports.DateFilterMenu = DateFilterMenu; exports.DurationInput = DurationInput; exports.HoneypotField = HoneypotField; exports.ProgressBar = ProgressBar; exports.InfoCard = InfoCard; exports.InfoRow = InfoRow; exports.SearchableSelect = SearchableSelect; exports.formatDate = formatDate; exports.formatNumber = formatNumber; exports.formatPrice = formatPrice; exports.formatBytes = formatBytes; exports.formatBytesShort = formatBytesShort; exports.formatFileSize = formatFileSize; exports.formatLargeNumber = formatLargeNumber; exports.formatAbbreviatedNumber = formatAbbreviatedNumber; exports.getFirstLastInitials = getFirstLastInitials; exports.nameInitials = nameInitials; exports.formatDurationMMSS = formatDurationMMSS; exports.formatDurationCompact = formatDurationCompact; exports.formatTimeWithTimezone = formatTimeWithTimezone; exports.formatDurationFromRange = formatDurationFromRange; exports.formatDateUTC = formatDateUTC; exports.formatEntryMonthUTC = formatEntryMonthUTC; exports.formatLegalDate = formatLegalDate; exports.formatCurrency = formatCurrency; exports.formatPercent = formatPercent; exports.formatWholeDollars = formatWholeDollars; exports.formatCompactMetric = formatCompactMetric; exports.getTrendColors = getTrendColors; exports.formatDateRange = formatDateRange; exports.formatDateTimeAt = formatDateTimeAt; exports.formatDurationFromMs = formatDurationFromMs; exports.formatDuration = formatDuration; exports.titleCaseFromSlug = titleCaseFromSlug; exports.formatUnderscoreText = formatUnderscoreText; exports.stripHtml = stripHtml; exports.formatClassification = formatClassification; exports.formatPricingModel = formatPricingModel; exports.formatBioText = formatBioText; exports.SquareAvatar = SquareAvatar; exports.AssigneeDropdown = AssigneeDropdown; exports.ActionsMenu = ActionsMenu; exports.ActionsMenuDropdown = ActionsMenuDropdown; exports.ColorSwatch = ColorSwatch; exports.DESIGN_PALETTE = DESIGN_PALETTE; exports.getContrastRatio = getContrastRatio; exports.pickReadableTextColor = pickReadableTextColor; exports.extractDominantColor = extractDominantColor; exports.getBestContrastColor = getBestContrastColor; exports.analyzeImageColor = analyzeImageColor; exports.extractImageEdgeColorAsync = extractImageEdgeColorAsync; exports.getPlatformAccentColor = getPlatformAccentColor; exports.getCurrentPlatform = getCurrentPlatform; exports.getReadableTextColor = getReadableTextColor; exports.HEX_PATTERN = HEX_PATTERN; exports.hexToRgb = hexToRgb2; exports.rgbToHex = rgbToHex; exports.deriveHoverColor = deriveHoverColor; exports.deriveActiveColor = deriveActiveColor; exports.resolveTicketStatus = resolveTicketStatus; exports.getTicketStatusConfig = getTicketStatusConfig; exports.getTicketStatusTag = getTicketStatusTag; exports.kindToCanonicalStatus = kindToCanonicalStatus; exports.usesCanonicalStatusStyle = usesCanonicalStatusStyle; exports.resolveStatusTagProps = resolveStatusTagProps; exports.TicketStatusTag = TicketStatusTag; exports.InfoSection = InfoSection; exports.InputTrigger = InputTrigger; exports.InteractiveCard = InteractiveCard; exports.MediaTypeSelector = MediaTypeSelector; exports.noDataIconClasses = noDataIconClasses; exports.noDataActionsVariants = noDataActionsVariants; exports.NoDataMessage = NoDataMessage; exports.NoDataAction = NoDataAction; exports.NoDataActions = NoDataActions; exports.NoData = NoData; exports.PageLoader = PageLoader; exports.CompactPageLoader = CompactPageLoader; exports.RadioGroup = RadioGroup; exports.RadioGroupItem = RadioGroupItem; exports.RadioGroupBlock = RadioGroupBlock; exports.useScrollFade = useScrollFade; exports.ScrollFadeOverlay = ScrollFadeOverlay; exports.ScrollShadow = ScrollShadow; exports.Switch = Switch; exports.TagSelectDropdown = TagSelectDropdown; exports.badgeVariants = badgeVariants; exports.Badge = Badge; exports.TagsInput = TagsInput; exports.TagsManager = TagsManager; exports.Textarea = Textarea; exports.AlertDialog = AlertDialog; exports.AlertDialogTrigger = AlertDialogTrigger; exports.AlertDialogPortal = AlertDialogPortal; exports.AlertDialogOverlay = AlertDialogOverlay; exports.AlertDialogContent = AlertDialogContent; exports.AlertDialogHeader = AlertDialogHeader; exports.AlertDialogFooter = AlertDialogFooter; exports.AlertDialogTitle = AlertDialogTitle; exports.AlertDialogDescription = AlertDialogDescription; exports.AlertDialogAction = AlertDialogAction; exports.AlertDialogCancel = AlertDialogCancel; exports.AspectRatio = AspectRatio; exports.Dialog = Dialog; exports.DialogTrigger = DialogTrigger; exports.DialogPortal = DialogPortal; exports.DialogClose = DialogClose; exports.DialogOverlay = DialogOverlay; exports.DialogContent = DialogContent; exports.DialogHeader = DialogHeader; exports.DialogFooter = DialogFooter; exports.DialogTitle = DialogTitle; exports.DialogDescription = DialogDescription; exports.ImageGalleryModal = ImageGalleryModal; exports.Modal = Modal2; exports.ModalContent = ModalContent2; exports.ModalHeader = ModalHeader2; exports.ModalTitle = ModalTitle2; exports.ModalFooter = ModalFooter2; exports.Modal2 = Modal; exports.ModalContent2 = ModalContent; exports.ModalHeader2 = ModalHeader; exports.ModalTitle2 = ModalTitle; exports.ModalFooter2 = ModalFooter; exports.Separator = Separator2; exports.Sheet = Sheet; exports.SheetTrigger = SheetTrigger; exports.SheetClose = SheetClose; exports.SheetPortal = SheetPortal; exports.SheetOverlay = SheetOverlay; exports.SheetContent = SheetContent; exports.SheetHeader = SheetHeader; exports.SheetFooter = SheetFooter; exports.SheetTitle = SheetTitle; exports.SheetDescription = SheetDescription; exports.OVERLAY_BACKDROP_CLASS = OVERLAY_BACKDROP_CLASS; exports.Drawer = Drawer; exports.DrawerTrigger = DrawerTrigger; exports.DrawerClose = DrawerClose; exports.DrawerPortal = DrawerPortal; exports.DrawerOverlay = DrawerOverlay; exports.DrawerContent = DrawerContent; exports.DrawerHeader = DrawerHeader; exports.DrawerTitle = DrawerTitle; exports.DrawerDescription = DrawerDescription; exports.DrawerBody = DrawerBody; exports.DrawerFooter = DrawerFooter; exports.Tabs = Tabs; exports.TabsList = TabsList; exports.TabsTrigger = TabsTrigger; exports.TabsContent = TabsContent; exports.Accordion = Accordion; exports.AccordionItem = AccordionItem; exports.AccordionTrigger = AccordionTrigger; exports.AccordionContent = AccordionContent; exports.Breadcrumb = Breadcrumb; exports.BreadcrumbList = BreadcrumbList; exports.BreadcrumbItem = BreadcrumbItem; exports.BreadcrumbLink = BreadcrumbLink; exports.BreadcrumbPage = BreadcrumbPage; exports.BreadcrumbSeparator = BreadcrumbSeparator; exports.BreadcrumbEllipsis = BreadcrumbEllipsis; exports.MenubarMenu = MenubarMenu; exports.MenubarGroup = MenubarGroup; exports.MenubarPortal = MenubarPortal; exports.MenubarSub = MenubarSub; exports.MenubarRadioGroup = MenubarRadioGroup; exports.Menubar = Menubar; exports.MenubarTrigger = MenubarTrigger; exports.MenubarSubTrigger = MenubarSubTrigger; exports.MenubarSubContent = MenubarSubContent; exports.MenubarContent = MenubarContent; exports.MenubarItem = MenubarItem; exports.MenubarCheckboxItem = MenubarCheckboxItem; exports.MenubarRadioItem = MenubarRadioItem; exports.MenubarLabel = MenubarLabel; exports.MenubarSeparator = MenubarSeparator; exports.MenubarShortcut = MenubarShortcut; exports.NavigationMenu = NavigationMenu; exports.NavigationMenuList = NavigationMenuList; exports.NavigationMenuItem = NavigationMenuItem; exports.navigationMenuTriggerStyle = navigationMenuTriggerStyle; exports.NavigationMenuTrigger = NavigationMenuTrigger; exports.NavigationMenuContent = NavigationMenuContent; exports.NavigationMenuLink = NavigationMenuLink; exports.NavigationMenuViewport = NavigationMenuViewport; exports.NavigationMenuIndicator = NavigationMenuIndicator; exports.CrossfadePanels = CrossfadePanels; exports.TabContent = TabContent; exports.TabNavigation = TabNavigation; exports.getTabById = getTabById; exports.getTabComponent = getTabComponent; exports.Alert = Alert; exports.AlertTitle = AlertTitle; exports.AlertDescription = AlertDescription; exports.AIGeneratedBadge = AIGeneratedBadge; exports.FadePreview = FadePreview; exports.Progress = Progress; exports.SAFE_HTML_TAGS = SAFE_HTML_TAGS; exports.SVG_TAGS = SVG_TAGS; exports.buildEffectiveTagSet = buildEffectiveTagSet; exports.buildSanitizeSchema = buildSanitizeSchema; exports.rehypeStripUnsafe = rehypeStripUnsafe; exports.escapeUnknownHtmlTags = escapeUnknownHtmlTags; exports.cardAwareUrlTransform = cardAwareUrlTransform; exports.TEXT_SIZE_PRESETS = TEXT_SIZE_PRESETS; exports.resolveTextSizeConfig = resolveTextSizeConfig; exports.stripInlineMarkdown = stripInlineMarkdown; exports.markdownToPlainText = markdownToPlainText; exports.buildHeadingIdMap = buildHeadingIdMap; exports.useHeadingIdMap = useHeadingIdMap; exports.extractText = extractText; exports.MermaidDiagram = MermaidDiagram; exports.splitStreamingBlocks = splitStreamingBlocks; exports.completeStreamingTail = completeStreamingTail; exports.MarkdownEngine = MarkdownEngine; exports.SimpleMarkdownRenderer = SimpleMarkdownRenderer; exports.RichMarkdownRuntimeProvider = RichMarkdownRuntimeProvider; exports.useRichMarkdownRuntime = useRichMarkdownRuntime; exports.VideoPlayBadge = VideoPlayBadge; exports.VideoUnmuteGlyph = VideoUnmuteGlyph; exports.fetchPriorityProp = fetchPriorityProp; exports.MUX_STREAM_ORIGIN = MUX_STREAM_ORIGIN; exports.MUX_IMAGE_ORIGIN = MUX_IMAGE_ORIGIN; exports.saveDataEnabled = saveDataEnabled; exports.useVideoOriginPreconnect = useVideoOriginPreconnect; exports.useVideoWarmup = useVideoWarmup; exports.extractYouTubeId = extractYouTubeId; exports.Video = Video2; exports.MediaCarousel = MediaCarousel; exports.EMBED_SIZES = EMBED_SIZES; exports.EmbedContainer = EmbedContainer; exports.YouTubeContainer = YouTubeContainer; exports.TwitterContainer = TwitterContainer; exports.RedditContainer = RedditContainer; exports.LinkPreviewContainer = LinkPreviewContainer; exports.LinkedInContainer = LinkedInContainer; exports.RedditEmbedClient = RedditEmbedClient; exports.TwitterEmbedClient = TwitterEmbedClient; exports.LinkedInEmbedClient = LinkedInEmbedClient; exports.OGLinkErrorBoundary = OGLinkErrorBoundary; exports.OGLinkPreview = OGLinkPreview; exports.toGoogleSheetsEmbedUrl = toGoogleSheetsEmbedUrl; exports.toGoogleSheetsOriginalUrl = toGoogleSheetsOriginalUrl; exports.toFigmaEmbedUrl = toFigmaEmbedUrl; exports.isFigmaSlidesUrl = isFigmaSlidesUrl; exports.toFigmaOriginalUrl = toFigmaOriginalUrl; exports.EmbedIframe = EmbedIframe; exports.EmbedViewerFrame = EmbedViewerFrame; exports.FigmaEmbed = FigmaEmbed; exports.MarkdownImage = MarkdownImage; exports.processShortcodes = processShortcodes; exports.RichMarkdownRenderer = RichMarkdownRenderer; exports.ReleaseChangelogSection = ReleaseChangelogSection; exports.StackedRowsPanel = StackedRowsPanel; exports.SlackChannelChip = SlackChannelChip; exports.statusBadgeVariants = statusBadgeVariants; exports.genBadgeBgOpacity = genBadgeBgOpacity; exports.generationTierFromLabel = generationTierFromLabel; exports.StatusBadge = StatusBadge; exports.StatusIndicator = StatusIndicator; exports.HoverDropdown = HoverDropdown; exports.ExpandChevron = ExpandChevron; exports.useCollapsible = useCollapsible; exports.getCommandText = getCommandText; exports.ArgRow = ArgRow; exports.ResultBlock = ResultBlock; exports.CommandBlock = CommandBlock; exports.ApprovalStatusTag = ApprovalStatusTag; exports.ApprovalBatchMessage = ApprovalBatchMessage; exports.ApprovalRequestMessage = ApprovalRequestMessage; exports.ContextCompactionDisplay = ContextCompactionDisplay; exports.ThinkingDisplay = ThinkingDisplay; exports.GuideDisplay = GuideDisplay; exports.ErrorMessageDisplay = ErrorMessageDisplay; exports.MspOrganizationCard = MspOrganizationCard; exports.MspOrganizationCardSkeleton = MspOrganizationCardSkeleton; exports.ChatContainer = ChatContainer; exports.ChatHeader = ChatHeader; exports.ChatContent = ChatContent; exports.ChatFooter = ChatFooter; exports.ChatTypingIndicator = ChatTypingIndicator; exports.MingoOnboardingCard = MingoOnboardingCard; exports.ICON_REGISTRY = ICON_REGISTRY; exports.normalizeIconKey = normalizeIconKey; exports.getIconComponent = getIconComponent; exports.getDynamicIcon = getDynamicIcon; exports.ICON_ALIASES = ICON_ALIASES; exports.resolveIcon = resolveIcon; exports.ICON_OPTIONS = ICON_OPTIONS; exports.SlashCommandSuggestions = SlashCommandSuggestions; exports.ChatInput = ChatInput; exports.formatTicketRelativeTime = formatTicketRelativeTime; exports.formatTicketFullTimestamp = formatTicketFullTimestamp; exports.formatRelativeTime = formatRelativeTime; exports.formatAbsoluteDate = formatAbsoluteDate; exports.formatDateTime = formatDateTime; exports.getDetailedTimeDifference = getDetailedTimeDifference; exports.isToday = isToday; exports.isWithinMinutes = isWithinMinutes; exports.createUTCTimestamp = createUTCTimestamp; exports.ToolExecutionDisplay = ToolExecutionDisplay; exports.remarkCardLinks = remarkCardLinks; exports.remarkMentionChips = remarkMentionChips; exports.BlockCard = BlockCard; exports.CONTEXT_ROW_CLASS = CONTEXT_ROW_CLASS; exports.CONTEXT_ICON_CLASS = CONTEXT_ICON_CLASS; exports.CONTEXT_LABEL_CLASS = CONTEXT_LABEL_CLASS; exports.CONTEXT_BACK_CLASS = CONTEXT_BACK_CLASS; exports.CONTEXT_STATE_CLASS = CONTEXT_STATE_CLASS; exports.ContextMenuRow = ContextMenuRow; exports.ContextItemsSkeleton = ContextItemsSkeleton; exports.ContextItemsList = ContextItemsList; exports.ContextErrorBoundary = ContextErrorBoundary; exports.CHAT_CONTEXT_ITEMS_DEFAULT_MAX = CHAT_CONTEXT_ITEMS_DEFAULT_MAX; exports.ChatComposerPlusMenu = ChatComposerPlusMenu; exports.ChatContextPicker = ChatContextPicker; exports.ChatContextChipStrip = ChatContextChipStrip; exports.MemoizedChatMessageEnhanced = MemoizedChatMessageEnhanced; exports.ChatMessageSkeleton = ChatMessageSkeleton; exports.ChatMessageListSkeleton = ChatMessageListSkeleton; exports.MESSAGE_TYPE = MESSAGE_TYPE; exports.SCROLL_ANCHOR = SCROLL_ANCHOR; exports.ChatMessageList = ChatMessageList; exports.getProxiedImageUrl = getProxiedImageUrl; exports.urlPathLooksLikeSvg = urlPathLooksLikeSvg; exports.shouldProxyImage = shouldProxyImage; exports.generateImageSizes = generateImageSizes; exports.useProxiedImageUrl = useProxiedImageUrl; exports.ChatMessageRow = ChatMessageRow; exports.ChatMessageRowSkeleton = ChatMessageRowSkeleton; exports.FAE_AVATAR_DATA_URI = FAE_AVATAR_DATA_URI; exports.AgentMark = AgentMark; exports.EntityIcon = EntityIcon; exports.getAgentAccent = getAgentAccent; exports.accentFromIdentityIcon = accentFromIdentityIcon; exports.isQuickActionIconSpec = isQuickActionIconSpec; exports.renderQuickActionIcon = renderQuickActionIcon; exports.QuickActionChipSkeleton = QuickActionChipSkeleton; exports.QuickActionChipButton = QuickActionChipButton; exports.QuickActionChipFromData = QuickActionChipFromData; exports.useMarqueeSync = useMarqueeSync; exports.getMarqueeTrackOffset = getMarqueeTrackOffset; exports.getMarqueeAppliedOffset = getMarqueeAppliedOffset; exports.getMarqueeCloneTwin = getMarqueeCloneTwin; exports.MarqueeWallFades = MarqueeWallFades; exports.MarqueeWall = MarqueeWall; exports.WALL_SKELETON_LABEL_CH = WALL_SKELETON_LABEL_CH; exports.interleave = interleave; exports.QuickActionWall = QuickActionWall; exports.QuickActionMarquee = QuickActionMarquee; exports.ChatTicketItem = ChatTicketItem; exports.ChatTicketList = ChatTicketList; exports.MingoOnboardingCardSkeleton = MingoOnboardingCardSkeleton; exports.MingoOnboardingListSkeleton = MingoOnboardingListSkeleton; exports.MingoChatHistorySkeleton = MingoChatHistorySkeleton; exports.MingoChatHistory = MingoChatHistory; exports.MingoWelcome = MingoWelcome; exports.GuideWelcome = GuideWelcome; exports.TooltipProvider = TooltipProvider; exports.Tooltip = Tooltip; exports.TooltipTrigger = TooltipTrigger; exports.TooltipContent = TooltipContent; exports.GuideModeBanner = GuideModeBanner; exports.TabSelector = TabSelector; exports.MingoHistoryRail = MingoHistoryRail; exports.RenameChatModal = RenameChatModal; exports.ArchiveChatModal = ArchiveChatModal; exports.UnarchiveChatModal = UnarchiveChatModal; exports.ChatDialogModals = ChatDialogModals; exports.ChatHeaderIconButton = ChatHeaderIconButton; exports.ChatHeaderSearchField = ChatHeaderSearchField; exports.ChatPanelHeader = ChatPanelHeader; exports.CHAT_ATTACHMENT_VIEW_URL_PREFIX = CHAT_ATTACHMENT_VIEW_URL_PREFIX; exports.CHAT_ATTACHMENT_VIEW_TOKEN_QUERY_PARAM = CHAT_ATTACHMENT_VIEW_TOKEN_QUERY_PARAM; exports.ANTHROPIC_SUPPORTED_IMAGE_MIME = ANTHROPIC_SUPPORTED_IMAGE_MIME; exports.buildChatAttachmentViewUrl = buildChatAttachmentViewUrl; exports.escapeMarkdownInline = escapeMarkdownInline; exports.formatChatAttachmentMarkdownForBubble = formatChatAttachmentMarkdownForBubble; exports.CHAT_ATTACHMENT_VIEW_URL_PREFIX_REGEX_ESCAPED = CHAT_ATTACHMENT_VIEW_URL_PREFIX_REGEX_ESCAPED; exports.CHAT_ATTACHMENT_MARKDOWN_PATTERN = CHAT_ATTACHMENT_MARKDOWN_PATTERN; exports.stripChatAttachmentMarkdown = stripChatAttachmentMarkdown; exports.CHAT_ATTACHMENT_MIME_TYPES = CHAT_ATTACHMENT_MIME_TYPES; exports.CHAT_ATTACHMENT_CONCURRENT_UPLOADS_PER_USER = CHAT_ATTACHMENT_CONCURRENT_UPLOADS_PER_USER; exports.ChatAttachmentAddButton = ChatAttachmentAddButton; exports.ChatAttachmentChipStrip = ChatAttachmentChipStrip; exports.ChatContextMemoryBar = ChatContextMemoryBar; exports.HoverCard = HoverCard; exports.HoverCardTrigger = HoverCardTrigger; exports.HoverCardContent = HoverCardContent; exports.ModelDisplay = ModelDisplay; exports.ModelDisplaySkeleton = ModelDisplaySkeleton; exports.ChatComposer = ChatComposer; exports.ChatArchivePage = ChatArchivePage; exports.DialogListItem = DialogListItem; exports.ChatSidebar = ChatSidebar; exports.isCrossOriginUrl = isCrossOriginUrl; exports.decideNewTab = decideNewTab; exports.computeIsNewTab = computeIsNewTab; exports.newTabAnchorAttrs = newTabAnchorAttrs; exports.buildAnchorProps = buildAnchorProps; exports.NEW_TAB_FEATURES = NEW_TAB_FEATURES; exports.isModifierClick = isModifierClick; exports.stripSameOriginToPath = stripSameOriginToPath; exports.resolveExternalNavigation = resolveExternalNavigation; exports.executeNavigation = executeNavigation; exports.executeNavigationImperative = executeNavigationImperative; exports.handleChatNavClick = handleChatNavClick; exports.NavLinkAnchorViaRuntime = NavLinkAnchorViaRuntime; exports.SourceActionButton = SourceActionButton; exports.EMPTY_AUTHOR_PLACEHOLDER = EMPTY_AUTHOR_PLACEHOLDER; exports.EntityMetadataValueCell = EntityMetadataValueCell; exports.EntityMetadataAuthorCell = EntityMetadataAuthorCell; exports.EntityAuthorCard = EntityAuthorCard; exports.BlogImagePlaceholder = BlogImagePlaceholder; exports.useCoverImageFallback = useCoverImageFallback; exports.hideOnError = hideOnError; exports.EntityPortraitCard = EntityPortraitCard; exports.FlamingoLogo = FlamingoLogo2; exports.PlatformBadge = PlatformBadge; exports.AdminContentCard = AdminContentCard; exports.getProxiedImageUrl2 = getProxiedImageUrl2; exports.WhatIShippedCard = WhatIShippedCard; exports.WhatIShippedCardSkeleton = WhatIShippedCardSkeleton; exports.VideoHoverPreviewSurface = VideoHoverPreviewSurface; exports.CardHitLayer = CardHitLayer; exports.RATIO_GRID_CLASS = RATIO_GRID_CLASS; exports.RATIO_TO_CSS_ASPECT = RATIO_TO_CSS_ASPECT; exports.RatioTabs = RatioTabs; exports.detectAspectRatio = detectAspectRatio; exports.ratioToCategory = ratioToCategory; exports.groupByAspectRatio = groupByAspectRatio; exports.DEFAULT_VIDEO_BITES_TITLE = DEFAULT_VIDEO_BITES_TITLE; exports.toStripProfile = toStripProfile; exports.sortBitesByCreatedAtDesc = sortBitesByCreatedAtDesc; exports.PAGE_HEADING_CLASS = PAGE_HEADING_CLASS; exports.SECTION_HEADING_CLASS = SECTION_HEADING_CLASS; exports.PageHeading = PageHeading; exports.STRIP_CELL_MAX_WIDTH = STRIP_CELL_MAX_WIDTH; exports.CardsStrip = CardsStrip; exports.UserDisplay = UserDisplay; exports.VideoBitesStrip = VideoBitesStrip; exports.VideoBiteCard = VideoBiteCard; exports.EntityVideoSection = EntityVideoSection; exports.ChatVideoEntityCard = ChatVideoEntityCard; exports.ProductReleaseCard = ProductReleaseCard; exports.ProductReleaseCardSkeleton = ProductReleaseCardSkeleton; exports.formatReleaseDate = formatReleaseDate; exports.formatDateShort = formatDateShort; exports.formatDateSlashUTC = formatDateSlashUTC; exports.resolveReleaseCover = resolveReleaseCover; exports.releaseTypeToBadgeColor = releaseTypeToBadgeColor; exports.defaultBuildProductReleaseCardProps = defaultBuildProductReleaseCardProps; exports.buildProductReleaseCardProps = buildProductReleaseCardProps; exports.useEntityCardLink = useEntityCardLink; exports.COMPACT_CARD_OUTER = COMPACT_CARD_OUTER; exports.COMPACT_CARD_OUTER_STATIC = COMPACT_CARD_OUTER_STATIC; exports.COMPACT_CARD_SKELETON_OUTER = COMPACT_CARD_SKELETON_OUTER; exports.COMPACT_CARD_IMAGE_SLOT = COMPACT_CARD_IMAGE_SLOT; exports.COMPACT_CARD_SKELETON_IMAGE_SLOT = COMPACT_CARD_SKELETON_IMAGE_SLOT; exports.COMPACT_CARD_ICON_SLOT = COMPACT_CARD_ICON_SLOT; exports.COMPACT_CARD_TEXT_COL = COMPACT_CARD_TEXT_COL; exports.COMPACT_CARD_TITLE_ROW = COMPACT_CARD_TITLE_ROW; exports.COMPACT_CARD_META_ROW_BOX = COMPACT_CARD_META_ROW_BOX; exports.COMPACT_CARD_TITLE = COMPACT_CARD_TITLE; exports.COMPACT_CARD_SUBTITLE = COMPACT_CARD_SUBTITLE; exports.COMPACT_CARD_SUMMARY = COMPACT_CARD_SUMMARY; exports.COMPACT_CARD_META_ROW = COMPACT_CARD_META_ROW; exports.COMPACT_CARD_ROW_FILLER = COMPACT_CARD_ROW_FILLER; exports.safeHref = safeHref; exports.BlogCardSkeleton = BlogCardSkeleton; exports.BlogCard = BlogCard; exports.CaseStudyCardSkeleton = CaseStudyCardSkeleton; exports.CaseStudyCard = CaseStudyCard; exports.CustomerInterviewCardSkeleton = CustomerInterviewCardSkeleton; exports.CustomerInterviewCard = CustomerInterviewCard; exports.formatInvestorUpdatePeriod = formatInvestorUpdatePeriod; exports.InvestorUpdateCardSkeleton = InvestorUpdateCardSkeleton; exports.InvestorUpdateCard = InvestorUpdateCard; exports.OnboardingGuideCardSkeleton = OnboardingGuideCardSkeleton; exports.OnboardingGuideCard = OnboardingGuideCard; exports.RoadmapVoteButton = RoadmapVoteButton; exports.getStatusColorScheme = getStatusColorScheme; exports.CUSTOM_ITEM_ID = CUSTOM_ITEM_ID; exports.getTaskTypeLabel = getTaskTypeLabel; exports.TaskTypeIcon = TaskTypeIcon; exports.RoadmapCardSkeleton = RoadmapCardSkeleton; exports.RoadmapCard = RoadmapCard; exports.GitHubActivityCard = GitHubActivityCard; exports.GitHubActivityCardSkeleton = GitHubActivityCardSkeleton; exports.SlackMessageCard = SlackMessageCard; exports.SlackMessageCardSkeleton = SlackMessageCardSkeleton; exports.HubspotTicketCard = HubspotTicketCard; exports.HubspotTicketCardSkeleton = HubspotTicketCardSkeleton; exports.DataRoomDocCard = DataRoomDocCard; exports.DataRoomDocCardSkeleton = DataRoomDocCardSkeleton; exports.programItemToStripProfile = programItemToStripProfile; exports.transformEventToProgram = transformEventToProgram; exports.transformPodcastToProgram = transformPodcastToProgram; exports.transformWebinarToProgram = transformWebinarToProgram; exports.ProgramCardSkeleton = ProgramCardSkeleton; exports.ProgramCard = ProgramCard; exports.CampaignCardAdmin = CampaignCardAdmin; exports.CampaignCardAdminSkeleton = CampaignCardAdminSkeleton; exports.GenericEntityCard = GenericEntityCard; exports.GenericEntityCardSkeleton = GenericEntityCardSkeleton; exports.extractItems = extractItems; exports.extractItemId = extractItemId; exports.useChatCardItem = useChatCardItem; exports.SOURCE_ICON_NAMES = SOURCE_ICON_NAMES; exports.getSourceIconName = getSourceIconName; exports.SOURCE_LABELS_BY_TABLE = SOURCE_LABELS_BY_TABLE; exports.getSourceLabel = getSourceLabel; exports.DEFAULT_DOCUMENT_TYPE_TO_TABLE_ID = DEFAULT_DOCUMENT_TYPE_TO_TABLE_ID; exports.defaultTableIdForDocumentType = defaultTableIdForDocumentType; exports.canonicalContentRefType = canonicalContentRefType; exports.buildListUrl = buildListUrl; exports.resolveSourceRowCTA = resolveSourceRowCTA; exports.resolveSourceIcon = resolveSourceIcon; exports.readFetchedCardTitle = readFetchedCardTitle; exports.resolveFetchedCardHref = resolveFetchedCardHref; exports.ChatCardLoader = ChatCardLoader; exports.renderChatInlineEntityCard = renderChatInlineEntityCard; exports.CHAT_TYPE = CHAT_TYPE; exports.OWNER_TYPE = OWNER_TYPE; exports.MESSAGE_ROLE = MESSAGE_ROLE; exports.ASSISTANT_TYPE = ASSISTANT_TYPE; exports.AUTHOR_TYPE = AUTHOR_TYPE; exports.APPROVAL_STATUS = APPROVAL_STATUS; exports.APPROVAL_BLOCK_VARIANT = APPROVAL_BLOCK_VARIANT; exports.CONNECTION_STATUS = CONNECTION_STATUS; exports.buildChatRefKey = buildChatRefKey; exports.isStructuredContent = isStructuredContent; exports.normalizeContent = normalizeContent2; exports.NETWORK_CONFIG = NETWORK_CONFIG; exports.useChunkCatchup = useChunkCatchup; exports.useScriptedStream = useScriptedStream; exports.useJetStreamDialogSubscription = useJetStreamDialogSubscription; exports.useNatsDialogSubscription = useNatsDialogSubscription; exports.buildNatsWsUrl = buildNatsWsUrl; exports.fetchSlashCommands = fetchSlashCommands; exports.useSlashCommands = useSlashCommands; exports.useSlashCommandRegistry = useSlashCommandRegistry; exports.fetchEmptyStateConfig = fetchEmptyStateConfig; exports.useEmptyStateConfig = useEmptyStateConfig; exports.useChatAttachments = useChatAttachments; exports.useChatAttachmentImageGallery = useChatAttachmentImageGallery; exports.ChatIdentityProvider = ChatIdentityProvider; exports.useChatIdentity = useChatIdentity; exports.useCloseOnNavigation = useCloseOnNavigation; exports.useSSE = useSSE; exports.useChat = useChat; exports.AUTO_CONTINUATION_DIRECTIVE_PREFIX = AUTO_CONTINUATION_DIRECTIVE_PREFIX; exports.buildAutoContinuationDirective = buildAutoContinuationDirective; exports.parseWireCommandOverride = parseWireCommandOverride; exports.sanitizeTitleForChat = sanitizeTitleForChat; exports.formatSingularLookupInvocation = formatSingularLookupInvocation; exports.extractEntityIdFilter = extractEntityIdFilter; exports.buildDiscussAddendum = buildDiscussAddendum; exports.buildDiscussPrompt = buildDiscussPrompt; exports.appendToTrailingAssistant = appendToTrailingAssistant; exports.upsertTrailingCompaction = upsertTrailingCompaction; exports.applyToolExecutionToMessages = applyToolExecutionToMessages; exports.MessageSegmentAccumulator = MessageSegmentAccumulator; exports.createMessageSegmentAccumulator = createMessageSegmentAccumulator; exports.SCROLL_ANCHOR_WIRE_KEY = SCROLL_ANCHOR_WIRE_KEY; exports.parseScrollAnchor = parseScrollAnchor; exports.createEmptyTurnMeta = createEmptyTurnMeta; exports.createChatStreamReducer = createChatStreamReducer; exports.DEFAULT_DIALOG_SIDE = DEFAULT_DIALOG_SIDE; exports.DEFAULT_MAX_REDUCERS = DEFAULT_MAX_REDUCERS; exports.MAX_PENDING_RETAIN_KEYS = MAX_PENDING_RETAIN_KEYS; exports.createChatDialogStore = createChatDialogStore; exports.createDeltaBatcher = createDeltaBatcher; exports.useChatStreamReducer = useChatStreamReducer; exports.useSseChatAdapter = useSseChatAdapter; exports.decodeHistoricalMessageData = decodeHistoricalMessageData; exports.processHistoricalMessages = processHistoricalMessages; exports.extractErrorMessages = extractErrorMessages; exports.processHistoricalMessagesWithErrors = processHistoricalMessagesWithErrors; exports.extractIncompleteMessageState = extractIncompleteMessageState; exports.extractIncompleteTailState = extractIncompleteTailState; exports.mapProcessedToUnified = mapProcessedToUnified; exports.historicalToUnified = historicalToUnified; exports.useNatsChatAdapter = useNatsChatAdapter; exports.useUnifiedChat = useUnifiedChat; exports.SYNTHETIC_REALTIME_ID_PREFIXES = SYNTHETIC_REALTIME_ID_PREFIXES; exports.flattenMessagePagesChronological = flattenMessagePagesChronological; exports.maxPersistedStreamSeq = maxPersistedStreamSeq; exports.mergeHistoryWithRealtime = mergeHistoryWithRealtime; exports.computeHistoryPrepend = computeHistoryPrepend; exports.CHIP_ACTION_BUTTON_CLASS = CHIP_ACTION_BUTTON_CLASS; exports.chatChipClass = chatChipClass; exports.flattenAssistantContent = flattenAssistantContent; exports.clickupTaskUrl = clickupTaskUrl; exports.normalizeHistoricalMessageData = normalizeHistoricalMessageData; exports.isHistoricalUserTurn = isHistoricalUserTurn; exports.buildStreamFrames = buildStreamFrames; exports.EmbeddableChat = EmbeddableChat; exports.BackButton = BackButton; exports.FilterCheckboxItem = FilterCheckboxItem; exports.TagKeyValueFilter = TagKeyValueFilter; exports.FilterModal = FilterModal; exports.PageActions = PageActions; exports.usePageActionsBottomPadding = usePageActionsBottomPadding; exports.PageContainer = PageContainer; exports.ListPageContainer = ListPageContainer; exports.DetailPageContainer = DetailPageContainer; exports.FormPageContainer = FormPageContainer; exports.ContentPageContainer = ContentPageContainer; exports.ListPageLayout = ListPageLayout; exports.EntityImage = EntityImage; exports.TITLE_BLOCK_MIN_HEIGHT = TITLE_BLOCK_MIN_HEIGHT; exports.TitleBlock = TitleBlock; exports.PageLayout = PageLayout; exports.PageShell = PageShell; exports.ArticleDetailLayout = ArticleDetailLayout; exports.toggleVariants = toggleVariants; exports.Toggle = Toggle; exports.ToggleGroup = ToggleGroup; exports.ToggleGroupItem = ToggleGroupItem; exports.delay = delay; exports.generateRandomString = generateRandomString; exports.truncateString = truncateString; exports.serializeJsonLd = serializeJsonLd; exports.deepClone = deepClone; exports.getSlackCommunityJoinUrl = getSlackCommunityJoinUrl; exports.SEO_TITLE_MAX_LENGTH = SEO_TITLE_MAX_LENGTH; exports.SEO_DESCRIPTION_MAX_LENGTH = SEO_DESCRIPTION_MAX_LENGTH; exports.BRAND_MARK_SVGS = BRAND_MARK_SVGS; exports.brandMarkDataUri = brandMarkDataUri; exports.OS_PLATFORMS = OS_PLATFORMS; exports.DEFAULT_OS_PLATFORM = DEFAULT_OS_PLATFORM; exports.isValidEmailDomain = isValidEmailDomain; exports.validateEmailDomain = validateEmailDomain; exports.validateEmailDomainList = validateEmailDomainList; exports.cleanEmailDomain = cleanEmailDomain; exports.getConfidenceColorClass = getConfidenceColorClass; exports.getConfidenceLevel = getConfidenceLevel; exports.getConfidenceBorderClass = getConfidenceBorderClass; exports.getConfidenceTextClass = getConfidenceTextClass; exports.getConfidenceBgClass = getConfidenceBgClass; exports.getConfidenceLabel = getConfidenceLabel; exports.DEV_SECTION_PARAM_KEYS = DEV_SECTION_PARAM_KEYS; exports.devSectionAnchorId = devSectionAnchorId; exports.TICKET_OPEN_PARAM = TICKET_OPEN_PARAM; exports.buildTicketOpenHref = buildTicketOpenHref; exports.normalizeToolType = normalizeToolType; exports.normalizeToolTypeWithFallback = normalizeToolTypeWithFallback; exports.toToolLabel = toToolLabel; exports.isValidToolType = isValidToolType; exports.getToolTypeAliases = getToolTypeAliases; exports.getToolLabel = getToolLabel; exports.ShellTypeValues = ShellTypeValues; exports.SHELL_TYPES = SHELL_TYPES; exports.shellLabels = shellLabels; exports.getShellLabel = getShellLabel; exports.getShellIcon = getShellIcon; exports.BITE_ID_RE = BITE_ID_RE; exports.generateBiteId = generateBiteId; exports.ensureBiteIds = ensureBiteIds; exports.matchBiteElement = matchBiteElement; exports.OSTypeValues = OSTypeValues; exports.OS_TYPES = OS_TYPES; exports.osLabels = osLabels; exports.normalizeOSType = normalizeOSType; exports.getOSLabel = getOSLabel; exports.getOSIcon = getOSIcon; exports.getOSTypeDefinition = getOSTypeDefinition; exports.getOSPlatformId = getOSPlatformId; exports.isOSPlatform = isOSPlatform; exports.getCountryPhoneData = getCountryPhoneData; exports.getCountryByCode = getCountryByCode; exports.validatePhoneNumber = validatePhoneNumber; exports.formatPhoneE164 = formatPhoneE164; exports.GENERIC_EMAIL_DOMAINS = GENERIC_EMAIL_DOMAINS; exports.extractDomainFromEmail = extractDomainFromEmail; exports.normalizeDomain = normalizeDomain; exports.isGenericDomain = isGenericDomain; exports.hasGenericEmailDomain = hasGenericEmailDomain; exports.isGenericWebsiteDomain = isGenericWebsiteDomain; exports.isDismissedCookieValue = isDismissedCookieValue; exports.readDismissCookie = readDismissCookie; exports.writeDismissCookie = writeDismissCookie; exports.clearDismissCookie = clearDismissCookie; exports.announcementDismissCookieName = announcementDismissCookieName; exports.dismissAnnouncement = dismissAnnouncement; exports.isAnnouncementDismissed = isAnnouncementDismissed; exports.clearAnnouncementDismissals = clearAnnouncementDismissals; exports.clearLegacyAnnouncementCache = clearLegacyAnnouncementCache; exports.WALKTHROUGH_VIDEO_DISMISS_KEY = WALKTHROUGH_VIDEO_DISMISS_KEY; exports.walkthroughDismissCookieName = walkthroughDismissCookieName; exports.isWalkthroughDismissed = isWalkthroughDismissed; exports.dismissWalkthrough = dismissWalkthrough; exports.clearWalkthroughDismissal = clearWalkthroughDismissal; exports.WALKTHROUGH_OPEN_QUERY_PARAM = WALKTHROUGH_OPEN_QUERY_PARAM; exports.withWalkthroughOpenParam = withWalkthroughOpenParam; exports.createSseSubscription = createSseSubscription; exports.readLeadingDecisionFrame = readLeadingDecisionFrame; exports.ANNOUNCEMENT_CTA_DEFAULTS = ANNOUNCEMENT_CTA_DEFAULTS; exports.AVAILABLE_SVG_ICONS = AVAILABLE_SVG_ICONS; exports.releaseTypeOptions = releaseTypeOptions; exports.releaseStatusOptions = releaseStatusOptions; exports.changelogLabels = changelogLabels; exports.SEMVER_REGEX = SEMVER_REGEX; exports.TASK_TYPE_LABELS = TASK_TYPE_LABELS; exports.TASK_TYPE_TEXT_COLORS = TASK_TYPE_TEXT_COLORS; exports.TMCG_ROLES = TMCG_ROLES; exports.TMCG_ROLE_DISPLAY_NAMES = TMCG_ROLE_DISPLAY_NAMES; exports.TMCG_SOCIAL_PLATFORMS = TMCG_SOCIAL_PLATFORMS; exports.ROADMAP_STATUS_OPTIONS = ROADMAP_STATUS_OPTIONS; exports.DELIVERY_TASK_TYPE_OPTIONS = DELIVERY_TASK_TYPE_OPTIONS; exports.TICKET_STATUS_OPTIONS = TICKET_STATUS_OPTIONS; exports.OPENFRAME_DEV_SECTIONS = OPENFRAME_DEV_SECTIONS; exports.faqSectionSlug = faqSectionSlug; exports.faqItemAnchor = faqItemAnchor; exports.parseFaqHash = parseFaqHash; exports.CONTENT_REF_GROUPS = CONTENT_REF_GROUPS; exports.getContentRefLabel = getContentRefLabel; exports.getContentRefLabelOrTitleCase = getContentRefLabelOrTitleCase; exports.orderContentRefTypes = orderContentRefTypes; exports.buildSuggestionUrl = buildSuggestionUrl; exports.DEFAULT_CONTENT_SUFFIXES = DEFAULT_CONTENT_SUFFIXES; exports.makeComposeContentUrl = makeComposeContentUrl; exports.buildDefaultHref = buildDefaultHref; exports.resolveContentHref = resolveContentHref; exports.DEFAULT_FOLDER_INDEX_FILE = DEFAULT_FOLDER_INDEX_FILE; exports.stripFolderIndexFromPath = stripFolderIndexFromPath; exports.findDocNodeByPath = findDocNodeByPath; exports.getDocAncestorNodeIds = getDocAncestorNodeIds; exports.resolveContentFetchPath = resolveContentFetchPath; exports.getInitialExpandedNodeIds = getInitialExpandedNodeIds; exports.getDocSourceDefaultPath = getDocSourceDefaultPath; exports.toDocSlug = toDocSlug; exports.pathToNodeId = pathToNodeId; exports.normalizeDocPath = normalizeDocPath; exports.formatDocName = formatDocName; exports.sortTreeChildren = sortTreeChildren; exports.buildDocumentTree = buildDocumentTree; exports.extractSections = extractSections; exports.SCHEDULING_SLUG_SHAPE = SCHEDULING_SLUG_SHAPE; exports.MAX_MONTH_OFFSET = MAX_MONTH_OFFSET; exports.isValidSchedulingSlug = isValidSchedulingSlug; exports.parseSchedulingLinkName = parseSchedulingLinkName; exports.isListedSchedulingName = isListedSchedulingName; exports.schedulingAudienceKey = schedulingAudienceKey; exports.SECTION_HERO_ICON_CLASS = SECTION_HERO_ICON_CLASS; exports.FIRST_TOUCH_ATTRIBUTION_KEY = FIRST_TOUCH_ATTRIBUTION_KEY; exports.sanitizeLandingUrl = sanitizeLandingUrl; exports.parseAttributionFromUrl = parseAttributionFromUrl; exports.captureFirstTouchAttribution = captureFirstTouchAttribution; exports.getFirstTouchAttribution = getFirstTouchAttribution; exports.withFirstTouchAttribution = withFirstTouchAttribution; exports.clearFirstTouchAttribution = clearFirstTouchAttribution; exports.BenefitCard = BenefitCard; exports.BenefitCardGrid = BenefitCardGrid; exports.BrandAssociationCard = BrandAssociationCard; exports.BrandAssociationGrid = BrandAssociationGrid; exports.BulletList = BulletList; exports.ChevronButton = ChevronButton; exports.CircularProgress = CircularProgress; exports.CheckIcon = CheckIcon2; exports.XIcon = XIcon2; exports.MinusIcon = MinusIcon; exports.CheckCircleIcon = CheckCircleIcon2; exports.XCircleIcon = XCircleIcon; exports.DashboardInfoCard = DashboardInfoCard; exports.InfoCardRow = InfoCardRow; exports.OSTypeBadge = OSTypeBadge; exports.OSTypeIcon = OSTypeIcon; exports.OSTypeLabel = OSTypeLabel; exports.DeviceCard = DeviceCard; exports.DeviceCardCompact = DeviceCardCompact; exports.FeatureCardGrid = FeatureCardGrid; exports.FeatureList = FeatureList; exports.HighlightCard = HighlightCard; exports.HighlightCardGrid = HighlightCardGrid; exports.IconsBlock = IconsBlock; exports.DropdownButton = DropdownButton; exports.MoreActionsMenu = MoreActionsMenu; exports.OrganizationCard = OrganizationCard; exports.ServiceCard = ServiceCard; exports.Slider = Slider; exports.AvatarStack = AvatarStack; exports.TitleContentBlock = TitleContentBlock; exports.ErrorState = ErrorState; exports.PageError = PageError; exports.LoadError = LoadError; exports.NotFoundError = NotFoundError; exports.ContentLoader = ContentLoader; exports.CardLoader = CardLoader; exports.FormLoader = FormLoader; exports.DetailLoader = DetailLoader; exports.ListLoader = ListLoader; exports.Pagination = Pagination; exports.PaginationContent = PaginationContent; exports.PaginationItem = PaginationItem; exports.PaginationLink = PaginationLink; exports.PaginationEllipsis = PaginationEllipsis; exports.PaginationPrevious = PaginationPrevious; exports.PaginationNext = PaginationNext; exports.init_pagination = init_pagination; exports.CursorPagination = CursorPagination; exports.CursorPaginationSimple = CursorPaginationSimple; exports.TableEmptyState = TableEmptyState; exports.DynamicThemeProvider = DynamicThemeProvider; exports.useDynamicTheme = useDynamicTheme; exports.THEME_STORAGE_KEY = THEME_STORAGE_KEY; exports.THEME_ATTRIBUTE = THEME_ATTRIBUTE; exports.DEFAULT_THEME = DEFAULT_THEME; exports.ThemeProvider = ThemeProvider; exports.useTheme = useTheme; exports.useThemeToggle = useThemeToggle; exports.ArrayEntryManager = ArrayEntryManager; exports.AuthBenefitsPanel = AuthBenefitsPanel; exports.OpenFrameWordmark = OpenFrameWordmark; exports.PoweredByFlamingo = PoweredByFlamingo; exports.AuthShell = AuthShell; exports.BackToLoginLink = BackToLoginLink; exports.PasswordInput = PasswordInput; exports.PROVIDER_META = PROVIDER_META; exports.SsoProviderButtons = SsoProviderButtons; exports.CompleteAccountForm = CompleteAccountForm; exports.TermsAgreementLabel = TermsAgreementLabel; exports.CreateOrganizationForm = CreateOrganizationForm; exports.InviteLinkInvalidModal = InviteLinkInvalidModal; exports.LoginForm = LoginForm; exports.OpenFrameSsoLoginForm = OpenFrameSsoLoginForm; exports.OpenFrameSsoSignUpForm = OpenFrameSsoSignUpForm; exports.PasswordResetForm = PasswordResetForm; exports.SsoAuthShell = SsoAuthShell; exports.ProviderButton = ProviderButton; exports.AuthProvidersList = AuthProvidersList; exports.ChangelogManager = ChangelogManager; exports.ChangelogSectionsManager = ChangelogSectionsManager; exports.ClickUpTasksManager = ClickUpTasksManager; exports.CommandBox = CommandBox; exports.TAG_BADGE_CLASS = TAG_BADGE_CLASS; exports.EntityTagBadges = EntityTagBadges; exports.ErrorBoundary = ErrorBoundary; exports.SectionSelector = SectionSelector; exports.FigmaPrototypeViewer = FigmaPrototypeViewer; exports.FiltersDropdown = FiltersDropdown; exports.useFiltersDropdown = useFiltersDropdown; exports.GitHubReleasesManager = GitHubReleasesManager; exports.KnowledgeBaseLinksManager = KnowledgeBaseLinksManager; exports.LoadingProvider = LoadingProvider; exports.useLoading = useLoading; exports.MediaGalleryManager = MediaGalleryManager; exports.MoreAboutButton = MoreAboutButton; exports.OSTypeBadgeGroup = OSTypeBadgeGroup; exports.ParallaxImageShowcase = ParallaxImageShowcase; exports.PathsDisplay = PathsDisplay; exports.OPENFRAME_PATHS = OPENFRAME_PATHS; exports.getOpenFramePaths = getOpenFramePaths; exports.OPENFRAME_DOCTOR_COMMANDS = OPENFRAME_DOCTOR_COMMANDS; exports.getOpenFrameDoctorCommand = getOpenFrameDoctorCommand; exports.PlatformFilterComponent = PlatformFilterComponent; exports.PushButtonSelector = PushButtonSelector; exports.ReleaseMediaManager = ReleaseMediaManager; exports.SelectButton = SelectButton; exports.SEOEditorPreview = SEOEditorPreview; exports.SocialLinksManager = SocialLinksManager; exports.StartWithOpenFrameButton = StartWithOpenFrameButton; exports.StatusFilterComponent = StatusFilterComponent; exports.TagsSelector = TagsSelector; exports.WarningBlock = WarningBlock; exports.VideoBitesDisplay = VideoBitesDisplay; exports.FloatingWalkthroughVideo = FloatingWalkthroughVideo; exports.useWalkthroughVideo = useWalkthroughVideo; exports.getCaptionsUrl = getCaptionsUrl; exports.VideoSourceSelector = VideoSourceSelector; exports.ConfidenceBadge = ConfidenceBadge; exports.TranscriptSummaryEditor = TranscriptSummaryEditor; exports.AIEnrichButton = AIEnrichButton; exports.AIWarningsSection = AIWarningsSection; exports.AIEnrichSection = AIEnrichSection; exports.HighlightVideoSection = HighlightVideoSection; exports.HighlightConfigSection = HighlightConfigSection; exports.EntitySummaryEditor = EntitySummaryEditor; exports.AIStatusIndicator = AIStatusIndicator; exports.AIRequiredBadge = AIRequiredBadge; exports.TranscribeSummarizeSection = TranscribeSummarizeSection; exports.VideoClipsSection = VideoClipsSection; exports.HighlightGenerationSection = HighlightGenerationSection; exports.HighlightVideoPreview = HighlightVideoPreview; exports.TranscribeAndSummarizeCombinedSection = TranscribeAndSummarizeCombinedSection; exports.HighlightVideoCombinedSection = HighlightVideoCombinedSection; exports.ViewToggle = ViewToggle; exports.PolicyConfigurationPanel = PolicyConfigurationPanel; exports.PhoneInput = PhoneInput; exports.WaitlistForm = WaitlistForm; exports.NotificationsProvider = NotificationsProvider; exports.useNotifications = useNotifications; exports.useOptionalNotifications = useOptionalNotifications; exports.useAppLayoutDrawerContainer = useAppLayoutDrawerContainer; exports.AppLayoutDrawerRoot = AppLayoutDrawerRoot; exports.AppLayoutDrawerTrigger = AppLayoutDrawerTrigger; exports.AppLayoutDrawerClose = AppLayoutDrawerClose; exports.AppLayoutDrawerContent = AppLayoutDrawerContent; exports.AppLayoutDrawerHeader = AppLayoutDrawerHeader; exports.AppLayoutDrawerTitle = AppLayoutDrawerTitle; exports.AppLayoutDrawerDescription = AppLayoutDrawerDescription; exports.AppLayoutDrawerBody = AppLayoutDrawerBody; exports.AppLayoutDrawerFooter = AppLayoutDrawerFooter; exports.NotificationTile = NotificationTile; exports.NotificationDrawer = NotificationDrawer; exports.NotificationPopups = NotificationPopups; exports.ADMIN_APPROVAL_REQUEST_CONTEXT_TYPE = ADMIN_APPROVAL_REQUEST_CONTEXT_TYPE; exports.isApprovalNotification = isApprovalNotification; exports.getApprovalMeta = getApprovalMeta; exports.resolutionToStatus = resolutionToStatus; exports.approvalMetaToBatchData = approvalMetaToBatchData; exports.ApprovalRequestNotificationTile = ApprovalRequestNotificationTile; exports.TimeTrackerProvider = TimeTrackerProvider; exports.useTimeTracker = useTimeTracker; exports.useOptionalTimeTracker = useOptionalTimeTracker; exports.useTrackerClock = useTrackerClock; exports.TimeTrackerPanel = TimeTrackerPanel; exports.UnreadDot = UnreadDot; exports.UnreadCountBadge = UnreadCountBadge; exports.HeaderButton = HeaderButton; exports.TimeTrackerHeaderButton = TimeTrackerHeaderButton; exports.BoardColumnHeader = BoardColumnHeader; exports.tintOnDark = tintOnDark; exports.BoardTicketApproval = BoardTicketApproval; exports.TicketCardBody = TicketCardBody; exports.TicketCardView = TicketCardView; exports.TicketCard = TicketCard; exports.TicketCardSkeleton = TicketCardSkeleton; exports.BoardColumn = BoardColumn; exports.useBoardCollapse = useBoardCollapse; exports.Board = Board; exports.columnFromTicketStatus = columnFromTicketStatus; exports.groupTicketsByStatus = groupTicketsByStatus; exports.TicketStatusConfigList = TicketStatusConfigList; exports.TableHeader = TableHeader; exports.TableCell = TableCell; exports.TableCardSkeleton = TableCardSkeleton; exports.TableRow = TableRow; exports.Table = Table; exports.TableDescriptionCell = TableDescriptionCell; exports.TableTimestampCell = TableTimestampCell; exports.QueryReportTableHeader = QueryReportTableHeader; exports.QueryReportTableRow = QueryReportTableRow; exports.QueryReportTableSkeleton = QueryReportTableSkeleton; exports.deriveColumns = deriveColumns; exports.exportToCSV = exportToCSV; exports.QueryReportTable = QueryReportTable; exports.useDataTableContext = useDataTableContext; exports.DataTableRoot = DataTableRoot; exports.getHideClasses = getHideClasses2; exports.alignJustify = alignJustify; exports.multiSelectFilterFn = multiSelectFilterFn; exports.DataTableHeader = DataTableHeader; exports.DataTableEmpty = DataTableEmpty; exports.ROW_HEIGHT_DESKTOP = ROW_HEIGHT_DESKTOP2; exports.ROW_HEIGHT_MOBILE = ROW_HEIGHT_MOBILE2; exports.ROW_SHELL_CLASSES = ROW_SHELL_CLASSES; exports.DataTableSkeleton = DataTableSkeleton; exports.DataTableRow = DataTableRow; exports.DataTableBody = DataTableBody; exports.DataTableInfiniteFooter = DataTableInfiniteFooter; exports.DataTableCursorFooter = DataTableCursorFooter; exports.DataTableRowCount = DataTableRowCount; exports.useDataTable = useDataTable; exports.DataTable = DataTable; exports.flexRender = _reacttable.flexRender; exports.createColumnHelper = _reacttable.createColumnHelper; exports.getCoreRowModel = _reacttable.getCoreRowModel; exports.getExpandedRowModel = _reacttable.getExpandedRowModel; exports.getFacetedRowModel = _reacttable.getFacetedRowModel; exports.getFacetedUniqueValues = _reacttable.getFacetedUniqueValues; exports.getFilteredRowModel = _reacttable.getFilteredRowModel; exports.getGroupedRowModel = _reacttable.getGroupedRowModel; exports.getPaginationRowModel = _reacttable.getPaginationRowModel; exports.getSortedRowModel = _reacttable.getSortedRowModel; exports.SearchInput = SearchInput; exports.FilterListItem = FilterListItem; exports.FilterList = FilterList; exports.TagSearchInput = TagSearchInput; exports.MarkdownEditor = MarkdownEditor; exports.FileUpload = FileUpload; exports.ImageUploader = ImageUploader; exports.TICKET_STATUS_COLOR_PRESETS = TICKET_STATUS_COLOR_PRESETS; exports.CUSTOM_PRESET_KEY = CUSTOM_PRESET_KEY; exports.DEFAULT_CUSTOM_STATUS_COLOR = DEFAULT_CUSTOM_STATUS_COLOR; exports.ColorPresetSelect = ColorPresetSelect; exports.ColorPickerInput = ColorPickerInput; exports.TicketStatusConfigRow = TicketStatusConfigRow; exports.formatTestRunDuration = formatTestRunDuration; exports.TestResultsSkeleton = TestResultsSkeleton; exports.TestResultsTable = TestResultsTable; exports.TestRunResults = TestRunResults; exports.TimingStat = TimingStat; exports.useTestRunState = useTestRunState; exports.TicketDetailSection = TicketDetailSection; exports.TicketAttachmentsList = TicketAttachmentsList; exports.TicketNoteCard = TicketNoteCard; exports.TicketNotesSection = TicketNotesSection; exports.TicketInfoSection = TicketInfoSection; exports.FilterPillRow = FilterPillRow; exports.MingoAiButton = MingoAiButton; exports.MOBILE_NAV_PANEL_ID = MOBILE_NAV_PANEL_ID; exports.MobileNavPanel = MobileNavPanel; exports.useOptionalTicketLive = useOptionalTicketLive; exports.useTicketLive = useTicketLive; exports.TicketLiveProvider = TicketLiveProvider; exports.isOptimistic = isOptimistic; exports.TICKET_TEXT_MAX_CHARS = TICKET_TEXT_MAX_CHARS; exports.TICKET_MARK_READ_DEBOUNCE_MS = TICKET_MARK_READ_DEBOUNCE_MS; exports.TOAST_COPY = TOAST_COPY; exports.TicketAlertsButton = TicketAlertsButton; exports.TopNavigation = TopNavigation; exports.Header = Header2; exports.HeaderSkeleton = HeaderSkeleton; exports.ClientOnlyHeader = ClientOnlyHeader; exports.SlidingSidebar = SlidingSidebar; exports.StickySectionNav = StickySectionNav; exports.useSectionNavigation = useSectionNavigation; exports.NAVIGATION_SIDEBAR_WIDTH_VAR = NAVIGATION_SIDEBAR_WIDTH_VAR; exports.NavigationSidebar = NavigationSidebar; exports.HeaderGlobalSearch = HeaderGlobalSearch; exports.HeaderMingoButton = HeaderMingoButton; exports.HeaderOrganizationFilter = HeaderOrganizationFilter; exports.AppHeader = AppHeader; exports.MobileBurgerMenu = MobileBurgerMenu; exports.AppLayout = AppLayout; exports.MultiLevelNavigation = MultiLevelNavigation; exports.MobileNavigationDropdown = MobileNavigationDropdown; exports.SoftwareInfo = SoftwareInfo; exports.SoftwareSourceBadge = SoftwareSourceBadge; exports.CveLink = CveLink; exports.ToolBadge = ToolBadge; exports.ShellTypeBadge = ShellTypeBadge; exports.ScriptInfoSection = ScriptInfoSection; exports.ScriptArguments = ScriptArguments; exports.OnboardingStepCard = OnboardingStepCard; exports.OnboardingWalkthrough = OnboardingWalkthrough; exports.LOG_SEVERITY_COLORS = LOG_SEVERITY_COLORS; exports.LOG_SEVERITY_LABELS = LOG_SEVERITY_LABELS; exports.LogSeverityDot = LogSeverityDot; exports.LogsList = LogsList; exports.assets = assets;
60925
+ //# sourceMappingURL=chunk-GOFTC2HV.cjs.map