@flamingo-stack/openframe-frontend-core 0.0.704 → 0.0.705

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 (90) hide show
  1. package/dist/{chunk-MGGGBHYD.cjs → chunk-2QEUFXNS.cjs} +10 -10
  2. package/dist/{chunk-LDPEQGKT.cjs → chunk-3MX5S4CF.cjs} +132 -80
  3. package/dist/{chunk-UK62YTH6.cjs → chunk-4I45Y3DN.cjs} +2 -2
  4. package/dist/{chunk-AMYY3PNL.cjs → chunk-4KX6OED2.cjs} +42 -42
  5. package/dist/{chunk-4DQMTBMK.cjs → chunk-6NJKKO73.cjs} +11 -11
  6. package/dist/{chunk-JEYRXT5L.js → chunk-6SEANMOU.js} +7 -7
  7. package/dist/{chunk-C7XGRLT5.cjs → chunk-7LS22BZU.cjs} +6 -6
  8. package/dist/{chunk-2JDVL7UV.js → chunk-7VVFKJY5.js} +70 -18
  9. package/dist/{chunk-7JIL3WOH.cjs → chunk-A75QY6CD.cjs} +14 -14
  10. package/dist/{chunk-VTASHWER.js → chunk-AQWZNP6A.js} +3 -3
  11. package/dist/{chunk-ZQFZSFQI.js → chunk-DENB2XJC.js} +2 -2
  12. package/dist/{chunk-FXENTYE5.js → chunk-DW7G4KG3.js} +1 -1
  13. package/dist/{chunk-I7DFUQMN.js → chunk-F6AFPNDF.js} +5 -6
  14. package/dist/{chunk-5QJDM6UV.js → chunk-F6I6XZMN.js} +3 -3
  15. package/dist/{chunk-4KGXLVCF.js → chunk-FCGC42TS.js} +3 -3
  16. package/dist/{chunk-2G546OND.js → chunk-G5A3PSPV.js} +19 -7
  17. package/dist/{chunk-N3TO7JV3.cjs → chunk-HPWWNJE7.cjs} +49 -49
  18. package/dist/{chunk-MI3JUJ75.cjs → chunk-IHERL5V4.cjs} +21 -21
  19. package/dist/{chunk-XIFOBQRQ.cjs → chunk-IKTQ3ZAG.cjs} +4 -4
  20. package/dist/{chunk-262YQFOS.cjs → chunk-JEZKGCZI.cjs} +24 -24
  21. package/dist/{chunk-L3IC42IF.cjs → chunk-KOWVJD4V.cjs} +17 -18
  22. package/dist/{chunk-IHU5ANUY.js → chunk-MKXO4Q5P.js} +1 -1
  23. package/dist/{chunk-IZGDG5X6.cjs → chunk-OUY3HHW6.cjs} +57 -45
  24. package/dist/{chunk-WUJNYGO2.js → chunk-PDWVPI3S.js} +0 -4
  25. package/dist/{chunk-ERCV6HHJ.js → chunk-PN2RKPDF.js} +4 -4
  26. package/dist/{chunk-7LFIKJX2.js → chunk-QFXRPRFT.js} +2 -2
  27. package/dist/{chunk-NRLJUBCS.js → chunk-RBDP4WDE.js} +2 -2
  28. package/dist/{chunk-C3BWIU7R.cjs → chunk-TYWLNCNH.cjs} +1 -5
  29. package/dist/{chunk-XATTBO5X.js → chunk-VA5T32XA.js} +1 -1
  30. package/dist/{chunk-LTSTC3N5.cjs → chunk-VESKITRQ.cjs} +379 -379
  31. package/dist/{chunk-HFJW24JJ.cjs → chunk-WA6GUYQ4.cjs} +79 -79
  32. package/dist/{chunk-QVSFBSWV.js → chunk-X5MQ7JRP.js} +4 -4
  33. package/dist/{chunk-XJKZ4IKT.cjs → chunk-YFBM2K6X.cjs} +4 -4
  34. package/dist/{chunk-6WQIUQUC.js → chunk-YHM5AWTT.js} +5 -5
  35. package/dist/{chunk-SYXQLETR.cjs → chunk-ZSAGLQOD.cjs} +9 -9
  36. package/dist/{chunk-HJAYVKWQ.js → chunk-ZSAO2HBW.js} +6 -6
  37. package/dist/components/case-studies/index.cjs +17 -17
  38. package/dist/components/case-studies/index.js +5 -5
  39. package/dist/components/chat/chat-input.d.ts.map +1 -1
  40. package/dist/components/chat/chat-message-enhanced.d.ts.map +1 -1
  41. package/dist/components/chat/embeddable-chat.d.ts +8 -0
  42. package/dist/components/chat/embeddable-chat.d.ts.map +1 -1
  43. package/dist/components/chat/index.cjs +5 -3
  44. package/dist/components/chat/index.d.ts +1 -1
  45. package/dist/components/chat/index.d.ts.map +1 -1
  46. package/dist/components/chat/index.js +4 -2
  47. package/dist/components/chat/mingo-chat-rail.d.ts +3 -1
  48. package/dist/components/chat/mingo-chat-rail.d.ts.map +1 -1
  49. package/dist/components/contact/index.cjs +6 -6
  50. package/dist/components/contact/index.js +5 -5
  51. package/dist/components/docs/index.cjs +9 -9
  52. package/dist/components/docs/index.js +8 -8
  53. package/dist/components/embeds/index.cjs +6 -6
  54. package/dist/components/embeds/index.js +5 -5
  55. package/dist/components/faq/index.cjs +6 -6
  56. package/dist/components/faq/index.js +5 -5
  57. package/dist/components/features/index.cjs +5 -5
  58. package/dist/components/features/index.js +4 -4
  59. package/dist/components/help-center-pages/index.cjs +81 -81
  60. package/dist/components/help-center-pages/index.js +16 -16
  61. package/dist/components/index.cjs +51 -47
  62. package/dist/components/index.js +19 -15
  63. package/dist/components/meeting-scheduler/index.cjs +32 -32
  64. package/dist/components/meeting-scheduler/index.js +4 -4
  65. package/dist/components/navigation/app-layout-side-panel.d.ts +18 -1
  66. package/dist/components/navigation/app-layout-side-panel.d.ts.map +1 -1
  67. package/dist/components/navigation/index.cjs +10 -8
  68. package/dist/components/navigation/index.d.ts +1 -0
  69. package/dist/components/navigation/index.d.ts.map +1 -1
  70. package/dist/components/navigation/index.js +9 -7
  71. package/dist/components/onboarding-guides/index.cjs +8 -8
  72. package/dist/components/onboarding-guides/index.js +7 -7
  73. package/dist/components/tickets/index.cjs +9 -9
  74. package/dist/components/tickets/index.js +8 -8
  75. package/dist/components/ui/index.cjs +7 -5
  76. package/dist/components/ui/index.js +6 -4
  77. package/dist/hooks/index.cjs +3 -3
  78. package/dist/hooks/index.js +2 -2
  79. package/dist/index.cjs +14 -10
  80. package/dist/index.js +12 -8
  81. package/package.json +1 -1
  82. package/src/components/chat/chat-input.tsx +5 -1
  83. package/src/components/chat/chat-message-enhanced.tsx +4 -3
  84. package/src/components/chat/embeddable-chat.tsx +64 -6
  85. package/src/components/chat/index.ts +1 -0
  86. package/src/components/chat/mingo-chat-rail.tsx +24 -7
  87. package/src/components/navigation/app-layout-side-panel.tsx +30 -2
  88. package/src/components/navigation/index.ts +1 -0
  89. package/src/components/platform/SoftwareSourceBadge.tsx +1 -1
  90. package/src/styles/app-globals.css +13 -0
@@ -21,7 +21,7 @@
21
21
 
22
22
 
23
23
 
24
- var _chunkC3BWIU7Rcjs = require('./chunk-C3BWIU7R.cjs');
24
+ var _chunkTYWLNCNHcjs = require('./chunk-TYWLNCNH.cjs');
25
25
 
26
26
 
27
27
  var _chunk7DNL734Scjs = require('./chunk-7DNL734S.cjs');
@@ -540,7 +540,7 @@ function ToolCallRow({ call, expanded, onToggle, batchStatus, execution, showExe
540
540
  onClick: onToggle,
541
541
  className: "flex w-full cursor-pointer items-start gap-[var(--spacing-system-xsf)] p-[var(--spacing-system-sf)] text-left",
542
542
  children: [
543
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "flex h-5 w-5 shrink-0 items-center justify-center text-ods-text-secondary", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkC3BWIU7Rcjs.ToolIcon, { toolType, size: 16 }) }),
543
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "flex h-5 w-5 shrink-0 items-center justify-center text-ods-text-secondary", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkTYWLNCNHcjs.ToolIcon, { toolType, size: 16 }) }),
544
544
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
545
545
  "div",
546
546
  {
@@ -1167,14 +1167,14 @@ function buildHeadingIdMap(content, sectionIds) {
1167
1167
  for (const section of sectionIds) {
1168
1168
  sectionIdMap.set(section.title, section.id);
1169
1169
  sectionIdMap.set(section.title.toLowerCase(), section.id);
1170
- sectionIdMap.set(_chunkC3BWIU7Rcjs.stripHeadingEmojis.call(void 0, section.title).toLowerCase(), section.id);
1170
+ sectionIdMap.set(_chunkTYWLNCNHcjs.stripHeadingEmojis.call(void 0, section.title).toLowerCase(), section.id);
1171
1171
  }
1172
1172
  }
1173
- const dedupe = _chunkC3BWIU7Rcjs.createHeadingIdDeduper.call(void 0, );
1173
+ const dedupe = _chunkTYWLNCNHcjs.createHeadingIdDeduper.call(void 0, );
1174
1174
  const map = /* @__PURE__ */ new Map();
1175
1175
  let sectionOrdinal = 0;
1176
1176
  let headingOrdinal = 0;
1177
- for (const { line, level, text: rawText } of _chunkC3BWIU7Rcjs.scanHeadings.call(void 0, content)) {
1177
+ for (const { line, level, text: rawText } of _chunkTYWLNCNHcjs.scanHeadings.call(void 0, content)) {
1178
1178
  const text2 = stripInlineMarkdown(rawText).trim();
1179
1179
  headingOrdinal++;
1180
1180
  if (level <= EXTRACTOR_MAX_LEVEL) sectionOrdinal++;
@@ -1183,8 +1183,8 @@ function buildHeadingIdMap(content, sectionIds) {
1183
1183
  for (const variation of [
1184
1184
  text2,
1185
1185
  text2.toLowerCase(),
1186
- _chunkC3BWIU7Rcjs.stripHeadingEmojis.call(void 0, text2),
1187
- _chunkC3BWIU7Rcjs.stripHeadingEmojis.call(void 0, text2).toLowerCase()
1186
+ _chunkTYWLNCNHcjs.stripHeadingEmojis.call(void 0, text2),
1187
+ _chunkTYWLNCNHcjs.stripHeadingEmojis.call(void 0, text2).toLowerCase()
1188
1188
  ]) {
1189
1189
  const id = sectionIdMap.get(variation);
1190
1190
  if (id) {
@@ -1194,7 +1194,7 @@ function buildHeadingIdMap(content, sectionIds) {
1194
1194
  }
1195
1195
  }
1196
1196
  if (assigned === void 0) {
1197
- const baseId = _chunkC3BWIU7Rcjs.slugifyHeadingText.call(void 0, text2);
1197
+ const baseId = _chunkTYWLNCNHcjs.slugifyHeadingText.call(void 0, text2);
1198
1198
  assigned = dedupe(
1199
1199
  baseId || (level <= EXTRACTOR_MAX_LEVEL ? `section-${sectionOrdinal}` : `heading-${headingOrdinal}`)
1200
1200
  );
@@ -1696,7 +1696,7 @@ function buildBaseComponents({
1696
1696
  const mapped = useHeadingId(node);
1697
1697
  const taken = useAssignedHeadingIds();
1698
1698
  const explicit = typeof _optionalChain([node, 'optionalAccess', _53 => _53.properties, 'optionalAccess', _54 => _54.id]) === "string" && node.properties.id !== "" ? node.properties.id : void 0;
1699
- const id = _nullishCoalesce(_nullishCoalesce(explicit, () => ( mapped)), () => ( resolveFallbackHeadingId(_chunkC3BWIU7Rcjs.slugifyHeadingText.call(void 0, extractText(children)), taken)));
1699
+ const id = _nullishCoalesce(_nullishCoalesce(explicit, () => ( mapped)), () => ( resolveFallbackHeadingId(_chunkTYWLNCNHcjs.slugifyHeadingText.call(void 0, extractText(children)), taken)));
1700
1700
  const EffectiveTag = Tag2 === "h1" && demoteMarkdownH1ToH2 ? "h2" : Tag2;
1701
1701
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, EffectiveTag, { id: id || void 0, className: headingClassName, children });
1702
1702
  }
@@ -1771,10 +1771,10 @@ function buildBaseComponents({
1771
1771
  const handleAnchorClick = (e) => {
1772
1772
  if (inPageAnchorId === null) return;
1773
1773
  if (e.metaKey || e.ctrlKey || e.shiftKey || e.altKey || e.button !== 0) return;
1774
- const target = _chunkC3BWIU7Rcjs.getHashTargetElement.call(void 0, inPageAnchorId);
1774
+ const target = _chunkTYWLNCNHcjs.getHashTargetElement.call(void 0, inPageAnchorId);
1775
1775
  if (!_optionalChain([target, 'optionalAccess', _55 => _55.id])) return;
1776
1776
  e.preventDefault();
1777
- _chunkC3BWIU7Rcjs.navigateSamePageHash.call(void 0, `#${target.id}`, { headerOffset: _chunkC3BWIU7Rcjs.HUB_HEADER_OFFSET_PX });
1777
+ _chunkTYWLNCNHcjs.navigateSamePageHash.call(void 0, `#${target.id}`, { headerOffset: _chunkTYWLNCNHcjs.HUB_HEADER_OFFSET_PX });
1778
1778
  };
1779
1779
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
1780
1780
  "a",
@@ -2314,7 +2314,7 @@ function findInlineCodeRanges(source) {
2314
2314
  while (pos <= len) {
2315
2315
  let end = source.indexOf("\n", pos);
2316
2316
  if (end === -1) end = len;
2317
- const blank = _chunkC3BWIU7Rcjs.isBlankLine.call(void 0, source.slice(pos, end));
2317
+ const blank = _chunkTYWLNCNHcjs.isBlankLine.call(void 0, source.slice(pos, end));
2318
2318
  if (blank && segStart !== -1) break;
2319
2319
  if (!blank) {
2320
2320
  if (segStart === -1) segStart = pos;
@@ -2396,7 +2396,7 @@ function toMaskLines(source) {
2396
2396
  return out;
2397
2397
  }
2398
2398
  function blankFencedRegions(masked, lines) {
2399
- const fences = _chunkC3BWIU7Rcjs.createFenceTracker.call(void 0, );
2399
+ const fences = _chunkTYWLNCNHcjs.createFenceTracker.call(void 0, );
2400
2400
  const ranges = [];
2401
2401
  let openStart = null;
2402
2402
  let lastEnd = 0;
@@ -2435,7 +2435,7 @@ function blankIndentedCode(masked, lines) {
2435
2435
  const listContentCols = [];
2436
2436
  const ranges = [];
2437
2437
  for (const line of lines) {
2438
- if (_chunkC3BWIU7Rcjs.isBlankLine.call(void 0, line.content)) continue;
2438
+ if (_chunkTYWLNCNHcjs.isBlankLine.call(void 0, line.content)) continue;
2439
2439
  const indent = leadingIndent(line.content);
2440
2440
  const top = listContentCols.length ? listContentCols[listContentCols.length - 1] : 0;
2441
2441
  if (indent >= top + 4) {
@@ -2526,7 +2526,7 @@ function contPrefixLen(c) {
2526
2526
  function findLabelClose(lines, i, from) {
2527
2527
  for (let j = i; j < lines.length; j++) {
2528
2528
  const c = stripCr(lines[j].content);
2529
- if (j > i && _chunkC3BWIU7Rcjs.isBlankLine.call(void 0, c)) return { stoppedAt: j };
2529
+ if (j > i && _chunkTYWLNCNHcjs.isBlankLine.call(void 0, c)) return { stoppedAt: j };
2530
2530
  for (let q = j === i ? from : contPrefixLen(c); q < c.length; q = skipEscaped(c, q)) {
2531
2531
  if (c[q] === "[") return { stoppedAt: j };
2532
2532
  if (c[q] !== "]") continue;
@@ -2544,7 +2544,7 @@ function blankLinkDefinitions(masked, lines) {
2544
2544
  let k = from;
2545
2545
  for (; k < lines.length; k++) {
2546
2546
  const c = stripCr(lines[k].content);
2547
- if (_chunkC3BWIU7Rcjs.isBlankLine.call(void 0, c)) break;
2547
+ if (_chunkTYWLNCNHcjs.isBlankLine.call(void 0, c)) break;
2548
2548
  blankLine(lines[k]);
2549
2549
  if (stop(c)) {
2550
2550
  k++;
@@ -2587,7 +2587,7 @@ function blankLinkDefinitions(masked, lines) {
2587
2587
  const k = j + 1;
2588
2588
  if (k >= lines.length) break;
2589
2589
  const c = stripCr(lines[k].content);
2590
- if (_chunkC3BWIU7Rcjs.isBlankLine.call(void 0, c)) break;
2590
+ if (_chunkTYWLNCNHcjs.isBlankLine.call(void 0, c)) break;
2591
2591
  const at = contPrefixLen(c);
2592
2592
  const next = tail.k === "needDest" ? parseDefTail(c, at) : parseTitleTail(c, skipSpaces(c, at));
2593
2593
  if (next.k === "decline") break;
@@ -2657,7 +2657,7 @@ function blankUnreferencedFootnotes(masked, lines, folded) {
2657
2657
  let sawBlank = false;
2658
2658
  for (let k = i + 1; k < lines.length; k++) {
2659
2659
  const c = text2(lines[k]);
2660
- if (_chunkC3BWIU7Rcjs.isBlankLine.call(void 0, c)) {
2660
+ if (_chunkTYWLNCNHcjs.isBlankLine.call(void 0, c)) {
2661
2661
  sawBlank = true;
2662
2662
  continue;
2663
2663
  }
@@ -2757,7 +2757,7 @@ function paragraphEnd(s, from) {
2757
2757
  lineStart += 1;
2758
2758
  const next = s.indexOf("\n", lineStart);
2759
2759
  const line = s.slice(lineStart, next === -1 ? s.length : next);
2760
- if (_chunkC3BWIU7Rcjs.isBlankLine.call(void 0, line)) return lineStart;
2760
+ if (_chunkTYWLNCNHcjs.isBlankLine.call(void 0, line)) return lineStart;
2761
2761
  if (next === -1) break;
2762
2762
  lineStart = next;
2763
2763
  }
@@ -2911,7 +2911,7 @@ function blankListItemCode(masked, lines, depth = 0) {
2911
2911
  run = [];
2912
2912
  };
2913
2913
  for (const line of lines) {
2914
- if (_chunkC3BWIU7Rcjs.isBlankLine.call(void 0, line.content)) {
2914
+ if (_chunkTYWLNCNHcjs.isBlankLine.call(void 0, line.content)) {
2915
2915
  if (run.length > 0) run.push({ ...line, content: "" });
2916
2916
  continue;
2917
2917
  }
@@ -3136,7 +3136,7 @@ function htmlBlockStartKind(line, inParagraph) {
3136
3136
  function computeHtmlBlockRanges(text2) {
3137
3137
  if (text2.indexOf("<") === -1) return [];
3138
3138
  const ranges = [];
3139
- const fences = _chunkC3BWIU7Rcjs.createFenceTracker.call(void 0, );
3139
+ const fences = _chunkTYWLNCNHcjs.createFenceTracker.call(void 0, );
3140
3140
  let kind = null;
3141
3141
  let start = 0;
3142
3142
  let lastEnd = 0;
@@ -3151,9 +3151,9 @@ function computeHtmlBlockRanges(text2) {
3151
3151
  const expanded = expandTabs(line);
3152
3152
  const norm = stripContainerPrefix(expanded, listContentCol);
3153
3153
  if (norm.openedListCol >= 0) listContentCol = norm.openedListCol;
3154
- else if (!_chunkC3BWIU7Rcjs.isBlankLine.call(void 0, norm.text) && norm.text === expanded) listContentCol = 0;
3155
- const normBlank = _chunkC3BWIU7Rcjs.isBlankLine.call(void 0, norm.text);
3156
- const blank = openPrefixLen > 0 ? _chunkC3BWIU7Rcjs.isBlankLine.call(void 0, expanded.slice(openPrefixLen)) : _chunkC3BWIU7Rcjs.isBlankLine.call(void 0, line);
3154
+ else if (!_chunkTYWLNCNHcjs.isBlankLine.call(void 0, norm.text) && norm.text === expanded) listContentCol = 0;
3155
+ const normBlank = _chunkTYWLNCNHcjs.isBlankLine.call(void 0, norm.text);
3156
+ const blank = openPrefixLen > 0 ? _chunkTYWLNCNHcjs.isBlankLine.call(void 0, expanded.slice(openPrefixLen)) : _chunkTYWLNCNHcjs.isBlankLine.call(void 0, line);
3157
3157
  if (kind !== null) {
3158
3158
  if (kind >= 6) {
3159
3159
  if (blank) {
@@ -3307,7 +3307,7 @@ var ScanState = class {
3307
3307
  * `FENCE_RE` plus its own open/close state machine, cross-referenced by a
3308
3308
  * comment) is precisely the drift that produced the `~~~` bug.
3309
3309
  */
3310
- this.fences = _chunkC3BWIU7Rcjs.createFenceTracker.call(void 0, );
3310
+ this.fences = _chunkTYWLNCNHcjs.createFenceTracker.call(void 0, );
3311
3311
  /** Depth of currently open raw HTML block containers. */
3312
3312
  this.htmlDepth = 0;
3313
3313
  /** Raw-block tag name of a start tag still waiting for its `>`, or null. */
@@ -3380,7 +3380,7 @@ function splitStreamingBlocks(content) {
3380
3380
  const isListOrQuote = (line) => /^\s{0,3}(?:[-+*]\s|\d{1,9}[.)]\s|>)/.test(line);
3381
3381
  const firstNonBlank = (arr) => {
3382
3382
  for (const line of arr) {
3383
- if (!_chunkC3BWIU7Rcjs.isBlankLine.call(void 0, line)) return line;
3383
+ if (!_chunkTYWLNCNHcjs.isBlankLine.call(void 0, line)) return line;
3384
3384
  }
3385
3385
  return void 0;
3386
3386
  };
@@ -3390,10 +3390,10 @@ function splitStreamingBlocks(content) {
3390
3390
  state.scanLine(line);
3391
3391
  if (state.htmlMark() !== markBefore || state.htmlLatched()) currentTouchedHtml = true;
3392
3392
  current.push(line);
3393
- const isBlank = _chunkC3BWIU7Rcjs.isBlankLine.call(void 0, line);
3393
+ const isBlank = _chunkTYWLNCNHcjs.isBlankLine.call(void 0, line);
3394
3394
  if (!isBlank || state.fences.openChar() !== null || state.htmlBlocksCut()) continue;
3395
3395
  let j = i + 1;
3396
- while (j < lines.length && _chunkC3BWIU7Rcjs.isBlankLine.call(void 0, lines[j])) j++;
3396
+ while (j < lines.length && _chunkTYWLNCNHcjs.isBlankLine.call(void 0, lines[j])) j++;
3397
3397
  if (j >= lines.length) continue;
3398
3398
  const next = lines[j];
3399
3399
  if (/^\s/.test(next)) continue;
@@ -3401,7 +3401,7 @@ function splitStreamingBlocks(content) {
3401
3401
  if (isListOrQuote(next) && unitOpener !== void 0 && isListOrQuote(unitOpener)) {
3402
3402
  continue;
3403
3403
  }
3404
- if (current.every(_chunkC3BWIU7Rcjs.isBlankLine)) continue;
3404
+ if (current.every(_chunkTYWLNCNHcjs.isBlankLine)) continue;
3405
3405
  units.push(current);
3406
3406
  unitTouchedHtml.push(currentTouchedHtml);
3407
3407
  current = [];
@@ -4223,7 +4223,7 @@ function hexToRgb2(hex) {
4223
4223
  return { r: n >> 16 & 255, g: n >> 8 & 255, b: n & 255 };
4224
4224
  }
4225
4225
  function rgbToHex(r, g, b) {
4226
- const to = (n) => _chunkC3BWIU7Rcjs.clamp.call(void 0, Math.round(n), 0, 255).toString(16).padStart(2, "0");
4226
+ const to = (n) => _chunkTYWLNCNHcjs.clamp.call(void 0, Math.round(n), 0, 255).toString(16).padStart(2, "0");
4227
4227
  return `#${to(r)}${to(g)}${to(b)}`;
4228
4228
  }
4229
4229
  var HOVER_DARKEN_STEP = 10;
@@ -4257,8 +4257,8 @@ function rgbToHsl(r, g, b) {
4257
4257
  return { h: Math.round(h), s: Math.round(s * 100), l: Math.round(l * 100) };
4258
4258
  }
4259
4259
  function hslToRgb(h, s, l) {
4260
- const sn = _chunkC3BWIU7Rcjs.clamp.call(void 0, s, 0, 100) / 100;
4261
- const ln = _chunkC3BWIU7Rcjs.clamp.call(void 0, l, 0, 100) / 100;
4260
+ const sn = _chunkTYWLNCNHcjs.clamp.call(void 0, s, 0, 100) / 100;
4261
+ const ln = _chunkTYWLNCNHcjs.clamp.call(void 0, l, 0, 100) / 100;
4262
4262
  const hn = (h % 360 + 360) % 360;
4263
4263
  if (sn === 0) {
4264
4264
  const v = Math.round(ln * 255);
@@ -6306,6 +6306,7 @@ var ChatInput = _react.forwardRef.call(void 0, (allProps, ref) => {
6306
6306
  isEmpty && !showPreview && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
6307
6307
  "span",
6308
6308
  {
6309
+ "data-editor-ghost": true,
6309
6310
  className: _chunk3ATAYP36cjs.cn.call(void 0,
6310
6311
  // One line, clipped with an ellipsis (Figma 954:28455): the
6311
6312
  // disabled copy is a sentence, and the panel's narrowest
@@ -6321,6 +6322,7 @@ var ChatInput = _react.forwardRef.call(void 0, (allProps, ref) => {
6321
6322
  showPreview && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
6322
6323
  "p",
6323
6324
  {
6325
+ "data-editor-ghost": true,
6324
6326
  className: _chunk3ATAYP36cjs.cn.call(void 0,
6325
6327
  "pointer-events-none absolute inset-x-0 top-0 m-0 select-none truncate text-ods-text-secondary text-h4",
6326
6328
  hasChips && "!leading-9"
@@ -7102,7 +7104,7 @@ var ToolExecutionDisplay = _react.forwardRef.call(void 0,
7102
7104
  const statusTone = isExecuting ? "working" : message.success === false ? "error" : "success";
7103
7105
  const statusLabel = _optionalChain([message, 'access', _129 => _129.statusLabel, 'optionalAccess', _130 => _130.trim, 'call', _131 => _131()]) || (isExecuting ? "Working on it" : message.success === false ? "Failed" : "Done");
7104
7106
  const headerContent = /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _jsxruntime.Fragment, { children: [
7105
- !isClient && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "flex h-5 w-5 shrink-0 items-center justify-center text-ods-text-secondary", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkC3BWIU7Rcjs.ToolIcon, { toolType: integratedToolType, size: 16 }) }),
7107
+ !isClient && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "flex h-5 w-5 shrink-0 items-center justify-center text-ods-text-secondary", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkTYWLNCNHcjs.ToolIcon, { toolType: integratedToolType, size: 16 }) }),
7106
7108
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
7107
7109
  "div",
7108
7110
  {
@@ -7416,7 +7418,7 @@ var ChatMessageEnhanced = _react.forwardRef.call(void 0,
7416
7418
  });
7417
7419
  };
7418
7420
  const isSystem = authorType === "system";
7419
- const showName = isSystem || authorType === "admin";
7421
+ const showName = isSystem || authorType === "admin" && !isUser;
7420
7422
  const displayName = name || (isUser ? "User" : assistantType === "mingo" ? "Mingo" : "Fae");
7421
7423
  const faceBox = "h-5 w-5 flex-shrink-0";
7422
7424
  const face = !showAvatar || isSystem ? null : !isUser && !avatar && assistantIcon ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { title: displayName, className: _chunk3ATAYP36cjs.cn.call(void 0, "flex items-center justify-center", faceBox), children: assistantIcon }) : !isUser && !avatar && assistantType ? (
@@ -8614,7 +8616,7 @@ function MarqueeWallFades({
8614
8616
  }) });
8615
8617
  }
8616
8618
  function CloneCopy({ className, style, children }) {
8617
- const ref = _chunkC3BWIU7Rcjs.useSuppressCloneFocus.call(void 0, true);
8619
+ const ref = _chunkTYWLNCNHcjs.useSuppressCloneFocus.call(void 0, true);
8618
8620
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { ref, "aria-hidden": true, "data-marquee-copy": "clone", className, style, children });
8619
8621
  }
8620
8622
  function MarqueeWall({
@@ -8668,15 +8670,15 @@ function MarqueeWall({
8668
8670
  ro.observe(copy);
8669
8671
  return () => ro.disconnect();
8670
8672
  }, [measure, marqueeMounted]);
8671
- const { ref: observe, inView: nearViewport } = _chunkC3BWIU7Rcjs.useInView.call(void 0, {
8672
- rootMargin: _chunkC3BWIU7Rcjs.NEAR_VIEWPORT_ROOT_MARGIN,
8673
+ const { ref: observe, inView: nearViewport } = _chunkTYWLNCNHcjs.useInView.call(void 0, {
8674
+ rootMargin: _chunkTYWLNCNHcjs.NEAR_VIEWPORT_ROOT_MARGIN,
8673
8675
  initial: true
8674
8676
  });
8675
8677
  _react.useEffect.call(void 0, () => {
8676
8678
  observe(containerRef.current);
8677
8679
  return () => observe(null);
8678
8680
  }, [observe]);
8679
- const autoplay = _chunkC3BWIU7Rcjs.useAutoplay.call(void 0, nearViewport);
8681
+ const autoplay = _chunkTYWLNCNHcjs.useAutoplay.call(void 0, nearViewport);
8680
8682
  const pointerInsideRef = _react.useRef.call(void 0, false);
8681
8683
  const clearPointerInside = _react.useCallback.call(void 0, () => {
8682
8684
  pointerInsideRef.current = false;
@@ -8689,7 +8691,7 @@ function MarqueeWall({
8689
8691
  if (e.pointerType === "touch") return;
8690
8692
  pointerInsideRef.current = false;
8691
8693
  }, []);
8692
- _chunkC3BWIU7Rcjs.useResetOnPageHidden.call(void 0, clearPointerInside);
8694
+ _chunkTYWLNCNHcjs.useResetOnPageHidden.call(void 0, clearPointerInside);
8693
8695
  const draggingRef = _react.useRef.call(void 0, false);
8694
8696
  const dragSuppressUntilRef = _react.useRef.call(void 0, 0);
8695
8697
  const applyTransform = _react.useCallback.call(void 0,
@@ -8742,7 +8744,7 @@ function MarqueeWall({
8742
8744
  if (!sync) return void 0;
8743
8745
  return sync.register(member);
8744
8746
  }, [sync, member]);
8745
- const { posRef, wrap } = _chunkC3BWIU7Rcjs.useMarqueeEngine.call(void 0, {
8747
+ const { posRef, wrap } = _chunkTYWLNCNHcjs.useMarqueeEngine.call(void 0, {
8746
8748
  active: marqueeActive && autoplay.playing && isDriver,
8747
8749
  speed,
8748
8750
  isPaused: (now) => pauseOnHover && pointerInsideRef.current || draggingRef.current || now < dragSuppressUntilRef.current,
@@ -10278,7 +10280,7 @@ function ChatHeaderSearchField({
10278
10280
  className
10279
10281
  }) {
10280
10282
  const [value, setValue] = _react.useState.call(void 0, _nullishCoalesce(initialValue, () => ( "")));
10281
- const debounced = _chunkC3BWIU7Rcjs.useDebounce.call(void 0, value, 300);
10283
+ const debounced = _chunkTYWLNCNHcjs.useDebounce.call(void 0, value, 300);
10282
10284
  const lastEmitted = _react.useRef.call(void 0, _nullishCoalesce(initialValue, () => ( "")));
10283
10285
  const [exiting, setExiting] = _react.useState.call(void 0, false);
10284
10286
  const collapsedRef = _react.useRef.call(void 0, false);
@@ -10398,6 +10400,7 @@ function MingoChatRail({
10398
10400
  isLoadingHistory = false,
10399
10401
  loadError = false,
10400
10402
  onRetry,
10403
+ onExpand,
10401
10404
  className
10402
10405
  }) {
10403
10406
  const [searchOpen, setSearchOpen] = _react.useState.call(void 0, !!_optionalChain([searchQuery, 'optionalAccess', _209 => _209.trim, 'call', _210 => _210()]));
@@ -10514,16 +10517,29 @@ function MingoChatRail({
10514
10517
  className,
10515
10518
  "data-accent": "mingo",
10516
10519
  "aria-label": "Mingo chats",
10517
- logo: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
10518
- _chunkX72J4ACLcjs.MingoIcon,
10519
- {
10520
- color: "currentColor",
10521
- eyesColor: "var(--ods-flamingo-cyan-base)",
10522
- cornerColor: "var(--ods-flamingo-cyan-base)",
10523
- className: "size-6 text-ods-text-primary",
10524
- "aria-hidden": true
10525
- }
10526
- ),
10520
+ logo: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex flex-1 items-center justify-between", children: [
10521
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
10522
+ _chunkX72J4ACLcjs.MingoIcon,
10523
+ {
10524
+ color: "currentColor",
10525
+ eyesColor: "var(--ods-flamingo-cyan-base)",
10526
+ cornerColor: "var(--ods-flamingo-cyan-base)",
10527
+ className: "size-6 text-ods-text-primary",
10528
+ "aria-hidden": true
10529
+ }
10530
+ ),
10531
+ onExpand && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
10532
+ _chunkDFQYAYBHcjs.Button,
10533
+ {
10534
+ variant: "transparent",
10535
+ size: "icon",
10536
+ "aria-label": "Expand chat",
10537
+ onClick: onExpand,
10538
+ className: "size-6 p-0 text-ods-text-secondary hover:text-ods-text-primary md:size-6",
10539
+ children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkN3COXDBHcjs.Arrow02LeftIcon, { size: 24 })
10540
+ }
10541
+ )
10542
+ ] }),
10527
10543
  items,
10528
10544
  sectionLabel: "Your Current Chats",
10529
10545
  sectionActions: listMenu.length > 0 ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
@@ -12441,7 +12457,7 @@ function runNavigation(runtime, href, path, targetPlatform, fallbackNavigate) {
12441
12457
  return;
12442
12458
  }
12443
12459
  const target = isForeignOriginHref(href) ? href : stripSameOriginToPath(href);
12444
- if (target.includes("#") && _chunkC3BWIU7Rcjs.navigateSamePageHash.call(void 0, target, { headerOffset: _chunkC3BWIU7Rcjs.STICKY_HEADER_OFFSET_PX })) {
12460
+ if (target.includes("#") && _chunkTYWLNCNHcjs.navigateSamePageHash.call(void 0, target, { headerOffset: _chunkTYWLNCNHcjs.STICKY_HEADER_OFFSET_PX })) {
12445
12461
  return;
12446
12462
  }
12447
12463
  const handled = _nullishCoalesce(_optionalChain([runtime, 'optionalAccess', _243 => _243.navigation, 'access', _244 => _244.navigate, 'optionalCall', _245 => _245({ href, path, targetPlatform })]), () => ( false));
@@ -12764,7 +12780,7 @@ function useVideoWarmup({
12764
12780
  const runtime = _chunkUJ7AXHRZcjs.useChatRuntime.call(void 0, );
12765
12781
  const resolvedOrigin = _nullishCoalesce(supabaseStorageOrigin, () => ( _optionalChain([runtime, 'optionalAccess', _259 => _259.endpoints, 'access', _260 => _260.supabaseStorageOrigin])));
12766
12782
  useVideoOriginPreconnect({ supabaseStorageOrigin: resolvedOrigin });
12767
- const { ref, isNear } = _chunkC3BWIU7Rcjs.useNearViewport.call(void 0, nearMargin);
12783
+ const { ref, isNear } = _chunkTYWLNCNHcjs.useNearViewport.call(void 0, nearMargin);
12768
12784
  _react.useEffect.call(void 0, () => {
12769
12785
  if (!isNear || !videoUrl || !resolvedOrigin) return void 0;
12770
12786
  if (saveDataEnabled()) return void 0;
@@ -12960,7 +12976,7 @@ var VIDEO_YOUTUBE_FACADE_KEYS = [
12960
12976
  ];
12961
12977
  var pickYouTube = (props) => pickForwardedKeys(props, VIDEO_YOUTUBE_FACADE_KEYS);
12962
12978
  function Video2(props) {
12963
- const { ref: nearRef, isNear } = _chunkC3BWIU7Rcjs.useNearViewport.call(void 0, );
12979
+ const { ref: nearRef, isNear } = _chunkTYWLNCNHcjs.useNearViewport.call(void 0, );
12964
12980
  const url = props.url;
12965
12981
  if (!url) return null;
12966
12982
  const effectiveKind = resolveKind(props, url);
@@ -13802,7 +13818,7 @@ function ManagedCell({
13802
13818
  }) {
13803
13819
  const hintedWidth = _react2.default.isValidElement(item) ? item.props["data-strip-cell-width"] : void 0;
13804
13820
  const desktopWidth = typeof hintedWidth === "number" ? hintedWidth : cardWidthDesktop;
13805
- const cloneRef = _chunkC3BWIU7Rcjs.useSuppressCloneFocus.call(void 0, ctx.isClone);
13821
+ const cloneRef = _chunkTYWLNCNHcjs.useSuppressCloneFocus.call(void 0, ctx.isClone);
13806
13822
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
13807
13823
  "div",
13808
13824
  {
@@ -13918,12 +13934,12 @@ function CardsStrip(props) {
13918
13934
  }, [measure, items.length, marqueeActive, isMobile]);
13919
13935
  const chevronSuppressUntilRef = _react.useRef.call(void 0, 0);
13920
13936
  const userScrollSuppressUntilRef = _react.useRef.call(void 0, 0);
13921
- const { ref: observe, inView: nearViewport } = _chunkC3BWIU7Rcjs.useInView.call(void 0, { rootMargin: "200px", initial: true });
13937
+ const { ref: observe, inView: nearViewport } = _chunkTYWLNCNHcjs.useInView.call(void 0, { rootMargin: "200px", initial: true });
13922
13938
  _react.useEffect.call(void 0, () => {
13923
13939
  observe(wrapperRef.current);
13924
13940
  return () => observe(null);
13925
13941
  }, [observe]);
13926
- const autoplay = _chunkC3BWIU7Rcjs.useAutoplay.call(void 0, nearViewport);
13942
+ const autoplay = _chunkTYWLNCNHcjs.useAutoplay.call(void 0, nearViewport);
13927
13943
  const [activeKey, setActiveKey] = _react.useState.call(void 0, null);
13928
13944
  const activeKeyRef = _react.useRef.call(void 0, null);
13929
13945
  const activate = _react.useCallback.call(void 0, (key) => {
@@ -13970,7 +13986,7 @@ function CardsStrip(props) {
13970
13986
  const current = activeKeyRef.current;
13971
13987
  if (current !== null) deactivate(current);
13972
13988
  }, [deactivate]);
13973
- _chunkC3BWIU7Rcjs.useResetOnPageHidden.call(void 0, clearHover);
13989
+ _chunkTYWLNCNHcjs.useResetOnPageHidden.call(void 0, clearHover);
13974
13990
  const syncHoverIfScrolled = _react.useCallback.call(void 0, () => {
13975
13991
  const scroller = scrollerRef.current;
13976
13992
  if (!scroller) return;
@@ -13991,7 +14007,7 @@ function CardsStrip(props) {
13991
14007
  },
13992
14008
  [reverse, seamBuffer]
13993
14009
  );
13994
- const { posRef: marqueePosRef, glideBy } = _chunkC3BWIU7Rcjs.useMarqueeEngine.call(void 0, {
14010
+ const { posRef: marqueePosRef, glideBy } = _chunkTYWLNCNHcjs.useMarqueeEngine.call(void 0, {
13995
14011
  // Viewport gates `active` (the rAF fully stops off-screen — a paused
13996
14012
  // engine would keep scheduling frames forever), same treatment as
13997
14013
  // <MarqueeWall>; the envelope persists, so re-entry resumes at cruise.
@@ -14033,7 +14049,7 @@ function CardsStrip(props) {
14033
14049
  return next;
14034
14050
  });
14035
14051
  },
14036
- { rootMargin: _chunkC3BWIU7Rcjs.NEAR_VIEWPORT_ROOT_MARGIN }
14052
+ { rootMargin: _chunkTYWLNCNHcjs.NEAR_VIEWPORT_ROOT_MARGIN }
14037
14053
  );
14038
14054
  cardObserverRef.current = io;
14039
14055
  cardElIdxRef.current.forEach((_idx, el) => {
@@ -14256,7 +14272,7 @@ function VideoHoverPreviewSurface({
14256
14272
  const el = rootElRef.current;
14257
14273
  if (!el || typeof IntersectionObserver === "undefined") return void 0;
14258
14274
  const io = new IntersectionObserver((entries) => setIsNear(_nullishCoalesce(_optionalChain([entries, 'access', _367 => _367[0], 'optionalAccess', _368 => _368.isIntersecting]), () => ( false))), {
14259
- rootMargin: _chunkC3BWIU7Rcjs.NEAR_VIEWPORT_ROOT_MARGIN
14275
+ rootMargin: _chunkTYWLNCNHcjs.NEAR_VIEWPORT_ROOT_MARGIN
14260
14276
  });
14261
14277
  io.observe(el);
14262
14278
  return () => io.disconnect();
@@ -25075,7 +25091,7 @@ function useResizablePanelSize({
25075
25091
  const clampSize = _react.useCallback.call(void 0,
25076
25092
  (value) => {
25077
25093
  const ceiling = available > 0 ? Math.min(maxSize, available - reserve) : maxSize;
25078
- return _chunkC3BWIU7Rcjs.clamp.call(void 0, value, minSize, Math.max(minSize, ceiling));
25094
+ return _chunkTYWLNCNHcjs.clamp.call(void 0, value, minSize, Math.max(minSize, ceiling));
25079
25095
  },
25080
25096
  [available, reserve, minSize, maxSize]
25081
25097
  );
@@ -25351,7 +25367,7 @@ var DrawerContent = _react.forwardRef.call(void 0,
25351
25367
  }, ref) => {
25352
25368
  const resolvedSide = _nullishCoalesce(side, () => ( "right"));
25353
25369
  const isHorizontal = HORIZONTAL_SIDES2.has(resolvedSide);
25354
- const headerHeight = _chunkC3BWIU7Rcjs.useHeaderHeight.call(void 0, );
25370
+ const headerHeight = _chunkTYWLNCNHcjs.useHeaderHeight.call(void 0, );
25355
25371
  const [isMobile, setIsMobile] = _react.useState.call(void 0, false);
25356
25372
  _react.useEffect.call(void 0, () => {
25357
25373
  if (typeof window === "undefined") return void 0;
@@ -25808,6 +25824,7 @@ function pruneTimestampCache(timestampCache, liveIds) {
25808
25824
  var HISTORY_RAIL_WIDTH = 320;
25809
25825
  var MINGO_V2_RAIL_WIDTH = 296;
25810
25826
  var CHAT_BLOCK_MIN_WIDTH = 400;
25827
+ var MINGO_V2_SPLIT_WIDTH = MINGO_V2_RAIL_WIDTH + CHAT_BLOCK_MIN_WIDTH;
25811
25828
  var SPLIT_MIN_WIDTH = HISTORY_RAIL_WIDTH + CHAT_BLOCK_MIN_WIDTH;
25812
25829
  var DRAWER_DEFAULT_WIDTH_RATIO = 0.5;
25813
25830
  var DRAWER_WIDTH_KEY = "mingo-chat-width-v4";
@@ -26154,6 +26171,7 @@ function EmbeddableChatInner({
26154
26171
  appearance = CHAT_APPEARANCE.CLASSIC,
26155
26172
  onCollapse,
26156
26173
  collapseTo = "list",
26174
+ onExpand,
26157
26175
  dialogStatusOf,
26158
26176
  userDisplayName,
26159
26177
  userAvatarUrl,
@@ -26474,15 +26492,17 @@ function EmbeddableChatInner({
26474
26492
  () => ({ closeChat: handleNavigationClose }),
26475
26493
  [handleNavigationClose]
26476
26494
  );
26495
+ const askAboutRef = _react.useRef.call(void 0, discussRef);
26496
+ const askAbout = _react.useCallback.call(void 0, (reference) => askAboutRef.current(reference), []);
26477
26497
  const renderEntityCard = _react.useCallback.call(void 0,
26478
26498
  (reference) => renderChatInlineEntityCard(reference, {
26479
- onDiscuss: discussRef,
26499
+ onDiscuss: askAbout,
26480
26500
  onDisplay: displayRef,
26481
26501
  baseRoute: resolvedBaseRoute,
26482
26502
  chipBasePlatform,
26483
26503
  extras
26484
26504
  }),
26485
- [discussRef, displayRef, resolvedBaseRoute, chipBasePlatform, extras]
26505
+ [askAbout, displayRef, resolvedBaseRoute, chipBasePlatform, extras]
26486
26506
  );
26487
26507
  const mingoAssistantIcon = _react.useMemo.call(void 0,
26488
26508
  () => effectiveAssistantIcon ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, EntityIcon, { icon: effectiveAssistantIcon, size: 24 }) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkX72J4ACLcjs.MingoIcon, { className: "h-6 w-6", cornerColor: "var(--ods-flamingo-cyan-base)" }),
@@ -26594,11 +26614,11 @@ function EmbeddableChatInner({
26594
26614
  const detail = e.detail;
26595
26615
  if (!detail || detail.source !== source) return;
26596
26616
  setIsOpen(true);
26597
- setTimeout(() => discussRef(detail.ref), 0);
26617
+ setTimeout(() => askAbout(detail.ref), 0);
26598
26618
  };
26599
26619
  window.addEventListener("ask-ai:open-with-ref", handler);
26600
26620
  return () => window.removeEventListener("ask-ai:open-with-ref", handler);
26601
- }, [source, discussRef, setIsOpen]);
26621
+ }, [source, askAbout, setIsOpen]);
26602
26622
  _react.useEffect.call(void 0, () => {
26603
26623
  const handler = (e) => {
26604
26624
  const detail = e.detail;
@@ -26653,11 +26673,11 @@ function EmbeddableChatInner({
26653
26673
  baseRoute: resolvedBaseRoute,
26654
26674
  chipBasePlatform,
26655
26675
  onClose: handleNavigationClose,
26656
- onDiscuss: discussRef
26676
+ onDiscuss: askAbout
26657
26677
  }
26658
26678
  ) });
26659
26679
  },
26660
- [chatLoading, messages.length, resolvedBaseRoute, chipBasePlatform, handleNavigationClose, discussRef]
26680
+ [chatLoading, messages.length, resolvedBaseRoute, chipBasePlatform, handleNavigationClose, askAbout]
26661
26681
  );
26662
26682
  const [portalHost, setPortalHost] = _react.useState.call(void 0, null);
26663
26683
  const [panelBoundary, setPanelBoundary] = _react.useState.call(void 0, null);
@@ -26728,6 +26748,29 @@ function EmbeddableChatInner({
26728
26748
  const handleNewChat = _react.useCallback.call(void 0, () => {
26729
26749
  resetToNewChat();
26730
26750
  }, [resetToNewChat]);
26751
+ const queuedAskRef = _react.useRef.call(void 0, null);
26752
+ _react.useEffect.call(void 0, () => {
26753
+ askAboutRef.current = (reference) => {
26754
+ if (!isViewingArchived) {
26755
+ discussRef(reference);
26756
+ return;
26757
+ }
26758
+ queuedAskRef.current = reference;
26759
+ if (archiveOpen) closeArchive();
26760
+ resetToNewChat();
26761
+ setComposeOpen(true);
26762
+ };
26763
+ });
26764
+ _react.useEffect.call(void 0, () => {
26765
+ const reference = queuedAskRef.current;
26766
+ if (!reference || activeDialogId != null) return;
26767
+ queuedAskRef.current = null;
26768
+ discussRef(reference);
26769
+ }, [activeDialogId, discussRef]);
26770
+ const lastDialogIdRef = _react.useRef.call(void 0, null);
26771
+ _react.useEffect.call(void 0, () => {
26772
+ if (activeDialogId && !isViewingArchived) lastDialogIdRef.current = activeDialogId;
26773
+ }, [activeDialogId, isViewingArchived]);
26731
26774
  const [pendingDraft, setPendingDraft] = _react.useState.call(void 0, null);
26732
26775
  const [seededDraft, setSeededDraft] = _react.useState.call(void 0, null);
26733
26776
  if (pendingDraft && seededDraft !== pendingDraft) {
@@ -27077,6 +27120,14 @@ function EmbeddableChatInner({
27077
27120
  {
27078
27121
  ...mingoRailProps,
27079
27122
  onNewChat: () => setComposeOpen(true),
27123
+ onExpand: onExpand && (() => {
27124
+ const last = lastDialogIdRef.current;
27125
+ const target = last && dialogs.some((d) => d.id === last) ? last : _optionalChain([dialogs, 'access', _913 => _913[0], 'optionalAccess', _914 => _914.id]);
27126
+ if (archiveOpen) closeArchive();
27127
+ if (target) handleSelectDialog(target);
27128
+ else handleNewChat();
27129
+ onExpand();
27130
+ }),
27080
27131
  className: "w-full border-r-0 duration-200 animate-in fade-in-0"
27081
27132
  }
27082
27133
  ) : stackedListView ? (
@@ -27178,9 +27229,9 @@ function EmbeddableChatInner({
27178
27229
  subtitle: _nullishCoalesce(effectiveGreeting, () => ( void 0)),
27179
27230
  subtitleLoading: emptyStateLoading,
27180
27231
  ...guideWelcome,
27181
- title: _nullishCoalesce(effectiveAssistantName, () => ( _optionalChain([guideWelcome, 'optionalAccess', _913 => _913.title]))),
27182
- icon: _nullishCoalesce(effectiveAssistantIcon, () => ( _optionalChain([guideWelcome, 'optionalAccess', _914 => _914.icon]))),
27183
- quickActions: agentConfigUrl && guideSuggestedActions.length > 0 ? guideSuggestedActions : _nullishCoalesce(_optionalChain([guideWelcome, 'optionalAccess', _915 => _915.quickActions]), () => ( guideSuggestedActions)),
27232
+ title: _nullishCoalesce(effectiveAssistantName, () => ( _optionalChain([guideWelcome, 'optionalAccess', _915 => _915.title]))),
27233
+ icon: _nullishCoalesce(effectiveAssistantIcon, () => ( _optionalChain([guideWelcome, 'optionalAccess', _916 => _916.icon]))),
27234
+ quickActions: agentConfigUrl && guideSuggestedActions.length > 0 ? guideSuggestedActions : _nullishCoalesce(_optionalChain([guideWelcome, 'optionalAccess', _917 => _917.quickActions]), () => ( guideSuggestedActions)),
27184
27235
  onQuickAction: (action) => {
27185
27236
  setQuickActionPreview(null);
27186
27237
  handleSend(_nullishCoalesce(action.prompt, () => ( action.label)));
@@ -27255,8 +27306,8 @@ function EmbeddableChatInner({
27255
27306
  selectedContextItems: contextItems,
27256
27307
  onToggleContextItem: toggleContextItem,
27257
27308
  onRemoveContextItem: removeContextItem,
27258
- contextMemoryItems: _optionalChain([contextMemory, 'optionalAccess', _916 => _916.items]),
27259
- onRemoveContextMemoryItem: _optionalChain([contextMemory, 'optionalAccess', _917 => _917.onRemove]),
27309
+ contextMemoryItems: _optionalChain([contextMemory, 'optionalAccess', _918 => _918.items]),
27310
+ onRemoveContextMemoryItem: _optionalChain([contextMemory, 'optionalAccess', _919 => _919.onRemove]),
27260
27311
  contextPickerOpen,
27261
27312
  onOpenContextPicker: openContextPicker,
27262
27313
  onCloseContextPicker: closeContextPicker,
@@ -27469,7 +27520,7 @@ var GROUPS = [
27469
27520
  }
27470
27521
  ];
27471
27522
  function maskKey(key) {
27472
- const prefix = _nullishCoalesce(_optionalChain([/^fpk_[a-z0-9-]+_/i, 'access', _918 => _918.exec, 'call', _919 => _919(key), 'optionalAccess', _920 => _920[0]]), () => ( ""));
27523
+ const prefix = _nullishCoalesce(_optionalChain([/^fpk_[a-z0-9-]+_/i, 'access', _920 => _920.exec, 'call', _921 => _921(key), 'optionalAccess', _922 => _922[0]]), () => ( ""));
27473
27524
  return key.length - prefix.length <= 8 ? `${prefix}\u2022\u2022\u2022\u2022` : `${prefix}\u2026${key.slice(-4)}`;
27474
27525
  }
27475
27526
  function HeaderName({ children }) {
@@ -27506,8 +27557,8 @@ function ProxyCredentialsForm({ description, saved }) {
27506
27557
  const errors = _react.useMemo.call(void 0, () => {
27507
27558
  const out = {};
27508
27559
  for (const { field } of _chunkRKV5B7EUcjs.EMBED_PROXY_OPTIONAL_HEADERS) {
27509
- const value = _optionalChain([optional, 'access', _921 => _921[field], 'optionalAccess', _922 => _922.trim, 'call', _923 => _923()]);
27510
- const message = value ? _optionalChain([OPTIONAL_FIELD_COPY, 'access', _924 => _924[field], 'access', _925 => _925.validate, 'optionalCall', _926 => _926(value)]) : null;
27560
+ const value = _optionalChain([optional, 'access', _923 => _923[field], 'optionalAccess', _924 => _924.trim, 'call', _925 => _925()]);
27561
+ const message = value ? _optionalChain([OPTIONAL_FIELD_COPY, 'access', _926 => _926[field], 'access', _927 => _927.validate, 'optionalCall', _928 => _928(value)]) : null;
27511
27562
  if (message) out[field] = message;
27512
27563
  }
27513
27564
  return out;
@@ -27519,12 +27570,12 @@ function ProxyCredentialsForm({ description, saved }) {
27519
27570
  ...keyForPreview ? [["Authorization", `Bearer ${keyForPreview}`]] : [],
27520
27571
  ...email.trim() ? [["X-Chat-Act-As", email.trim().toLowerCase()]] : [],
27521
27572
  ..._chunkRKV5B7EUcjs.EMBED_PROXY_OPTIONAL_HEADERS.flatMap(({ field, header }) => {
27522
- const value = _optionalChain([optional, 'access', _927 => _927[field], 'optionalAccess', _928 => _928.trim, 'call', _929 => _929()]);
27573
+ const value = _optionalChain([optional, 'access', _929 => _929[field], 'optionalAccess', _930 => _930.trim, 'call', _931 => _931()]);
27523
27574
  return value ? [[header, value]] : [];
27524
27575
  })
27525
27576
  ];
27526
27577
  const save = () => {
27527
- const key = secret.trim() || _optionalChain([_chunkRKV5B7EUcjs.getEmbedProxyAuth.call(void 0, ), 'optionalAccess', _930 => _930.secret]);
27578
+ const key = secret.trim() || _optionalChain([_chunkRKV5B7EUcjs.getEmbedProxyAuth.call(void 0, ), 'optionalAccess', _932 => _932.secret]);
27528
27579
  const actAs = email.trim().toLowerCase();
27529
27580
  if (!key || !actAs || hasErrors) {
27530
27581
  setStatus(hasErrors ? "Fix the highlighted fields first." : "API key and act-as email are required.");
@@ -28063,4 +28114,5 @@ function ProxyCredentialsForm({ description, saved }) {
28063
28114
 
28064
28115
 
28065
28116
 
28066
- exports.InfoHint = InfoHint; exports.Field = Field; 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.DESIGN_PALETTE = DESIGN_PALETTE; exports.getContrastRatio = getContrastRatio; exports.pickReadableTextColor = pickReadableTextColor; exports.extractDominantColor = extractDominantColor; exports.getBestContrastColor = getBestContrastColor; exports.analyzeImageColor = analyzeImageColor; exports.extractImageEdgeColorAsync = extractImageEdgeColorAsync; exports.getCurrentPlatform = getCurrentPlatform; exports.switchPlatformTheme = switchPlatformTheme; exports.getSemanticColor = getSemanticColor; exports.getPlatformConfig = getPlatformConfig; exports.usePlatformColors = usePlatformColors; exports.getReadableTextColor = getReadableTextColor; exports.HEX_PATTERN = HEX_PATTERN; exports.hexToRgb = hexToRgb2; exports.rgbToHex = rgbToHex; exports.deriveHoverColor = deriveHoverColor; exports.deriveActiveColor = deriveActiveColor; exports.rgbToHsl = rgbToHsl; exports.hslToRgb = hslToRgb; exports.ActionsMenu = ActionsMenu; exports.ActionsMenuDropdown = ActionsMenuDropdown; exports.ColorSwatch = ColorSwatch; exports.TooltipProvider = TooltipProvider; exports.Tooltip = Tooltip; exports.TooltipTrigger = TooltipTrigger; exports.TooltipContent = TooltipContent; exports.resolveTicketStatus = resolveTicketStatus; exports.getTicketStatusConfig = getTicketStatusConfig; exports.getTicketStatusTag = getTicketStatusTag; exports.kindToCanonicalStatus = kindToCanonicalStatus; exports.usesCanonicalStatusStyle = usesCanonicalStatusStyle; exports.resolveStatusTagProps = resolveStatusTagProps; exports.TicketStatusTag = TicketStatusTag; exports.useScrollFade = useScrollFade; exports.ScrollFadeOverlay = ScrollFadeOverlay; exports.ScrollShadow = ScrollShadow; exports.Modal = Modal; exports.ModalContent = ModalContent; exports.ModalTwoColumn = ModalTwoColumn; exports.ModalHeader = ModalHeader; exports.ModalTitle = ModalTitle; exports.ModalFooter = ModalFooter; exports.useResizablePanelSize = useResizablePanelSize; exports.PanelResizeHandle = PanelResizeHandle; 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.stripInlineMarkdown = stripInlineMarkdown; exports.markdownToPlainText = markdownToPlainText; exports.buildHeadingIdMap = buildHeadingIdMap; exports.useHeadingIdMap = useHeadingIdMap; exports.extractText = extractText; exports.useIsHydrated = useIsHydrated; exports.MermaidDiagram = MermaidDiagram; exports.hasRenderableSrc = hasRenderableSrc; exports.buildStandardLeafRenderers = buildStandardLeafRenderers; 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.splitStreamingBlocks = splitStreamingBlocks; exports.completeStreamingTail = completeStreamingTail; exports.TEXT_SIZE_PRESETS = TEXT_SIZE_PRESETS; exports.resolveTextSizeConfig = resolveTextSizeConfig; exports.NO_BROKEN_LINKS = NO_BROKEN_LINKS; exports.MarkdownEngine = MarkdownEngine; exports.SimpleMarkdownRenderer = SimpleMarkdownRenderer; 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_PLAYBACK_FAILED_EVENT = VIDEO_PLAYBACK_FAILED_EVENT; exports.Video = Video2; exports.HoverDropdown = HoverDropdown; exports.StatusLine = StatusLine; exports.ExpandChevron = ExpandChevron; exports.useCollapsible = useCollapsible; exports.getCommandText = getCommandText; exports.ArgRow = ArgRow; exports.ResultBlock = ResultBlock; exports.CommandBlock = CommandBlock; exports.ApprovalStatusTag = ApprovalStatusTag; exports.ApprovalWaitingLine = ApprovalWaitingLine; exports.ApprovalBatchMessage = ApprovalBatchMessage; 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.CHAT_APPEARANCE = CHAT_APPEARANCE; exports.CONNECTION_STATUS = CONNECTION_STATUS; exports.isStructuredContent = isStructuredContent; exports.normalizeContent = normalizeContent; exports.ChatAppearanceContext = ChatAppearanceContext; exports.useChatAppearance = useChatAppearance; exports.ApprovalRequestMessage = ApprovalRequestMessage; exports.EscalationOfferMessage = EscalationOfferMessage; exports.formatTime = formatTime; exports.AiAssistantInfo = AiAssistantInfo; exports.TicketEscalatedMessage = TicketEscalatedMessage; exports.MESSAGE_TYPE = MESSAGE_TYPE; exports.SCROLL_ANCHOR = SCROLL_ANCHOR; exports.TICKET_EVENT_KIND = TICKET_EVENT_KIND; exports.TicketEventMessage = TicketEventMessage; exports.SystemEventMessage = SystemEventMessage; exports.ContextCompactionDisplay = ContextCompactionDisplay; exports.ThinkingDisplay = ThinkingDisplay; exports.AskDisplay = AskDisplay; exports.ErrorMessageDisplay = ErrorMessageDisplay; exports.MspOrganizationCard = MspOrganizationCard; exports.MspOrganizationCardSkeleton = MspOrganizationCardSkeleton; exports.ChatContainer = ChatContainer; exports.ChatHeader = ChatHeader; exports.ChatContent = ChatContent; exports.ChatFooter = ChatFooter; exports.ChatTypingIndicator = ChatTypingIndicator; exports.MingoOnboardingCard = MingoOnboardingCard; exports.ICON_REGISTRY = ICON_REGISTRY; exports.normalizeIconKey = normalizeIconKey; exports.getIconComponent = getIconComponent; exports.getDynamicIcon = getDynamicIcon; exports.ICON_ALIASES = ICON_ALIASES; exports.brandLogoForName = brandLogoForName; exports.resolveIcon = resolveIcon; exports.ICON_OPTIONS = ICON_OPTIONS; exports.SlashCommandSuggestions = SlashCommandSuggestions; exports.ChatInput = ChatInput; exports.FAE_AVATAR_DATA_URI = FAE_AVATAR_DATA_URI; exports.AgentMark = AgentMark; 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.BlockCard = BlockCard; exports.remarkCardLinks = remarkCardLinks; exports.remarkMentionChips = remarkMentionChips; exports.ToolExecutionDisplay = ToolExecutionDisplay; exports.MemoizedChatMessageEnhanced = MemoizedChatMessageEnhanced; exports.ChatMessageSkeleton = ChatMessageSkeleton; exports.ChatMessageListSkeleton = ChatMessageListSkeleton; exports.ChatMessageList = ChatMessageList; exports.useProxiedImageUrl = useProxiedImageUrl; exports.ChatMessageRow = ChatMessageRow; exports.ChatMessageRowSkeleton = ChatMessageRowSkeleton; 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.ChatListEmptyState = ChatListEmptyState; exports.MingoChatHistorySkeleton = MingoChatHistorySkeleton; exports.MingoChatHistory = MingoChatHistory; exports.MingoWelcome = MingoWelcome; exports.GuideWelcome = GuideWelcome; exports.GuideModeBanner = GuideModeBanner; exports.ChatNavSidebar = ChatNavSidebar; exports.ChatListItem = ChatListItem; exports.MingoArchiveList = MingoArchiveList; exports.ChatHeaderIconButton = ChatHeaderIconButton; exports.MingoChatHeader = MingoChatHeader; exports.ChatHeaderSearchField = ChatHeaderSearchField; exports.MingoChatRail = MingoChatRail; exports.TabSelector = TabSelector; exports.MingoHistoryRail = MingoHistoryRail; exports.RenameChatModal = RenameChatModal; exports.ArchiveChatModal = ArchiveChatModal; exports.UnarchiveChatModal = UnarchiveChatModal; exports.ChatDialogModals = ChatDialogModals; 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.ChatTopNavigation = ChatTopNavigation; exports.OnboardingCarousel = OnboardingCarousel; 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.getCaptionsUrl = getCaptionsUrl; exports.rebaseCaptionsUrl = rebaseCaptionsUrl; exports.buildCaptionsUrl = buildCaptionsUrl; exports.getEntityCaptionUrls = getEntityCaptionUrls; exports.getEntityCaptionUrlsById = getEntityCaptionUrlsById; exports.captionsEntityTypeForDocType = captionsEntityTypeForDocType; exports.useCaptions = useCaptions; exports.UserDisplay = UserDisplay; exports.CardHitLayer = CardHitLayer; exports.STRIP_CELL_MAX_WIDTH = STRIP_CELL_MAX_WIDTH; exports.CardsStrip = CardsStrip; exports.VideoHoverPreviewSurface = VideoHoverPreviewSurface; 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.VideoBitesStrip = VideoBitesStrip; exports.VideoBiteCard = VideoBiteCard; exports.EntityVideoSection = EntityVideoSection; exports.ChatVideoEntityCard = ChatVideoEntityCard; exports.DESIGN_DOC_READINESS = DESIGN_DOC_READINESS; exports.DESIGN_DOC_READINESS_DISPLAY = DESIGN_DOC_READINESS_DISPLAY; exports.designDocReadiness = designDocReadiness; exports.formatCompletionLabel = formatCompletionLabel; exports.formatCompletionLabelWithBlockers = formatCompletionLabelWithBlockers; exports.UnifiedSkeleton = UnifiedSkeleton; exports.TextSkeleton = TextSkeleton; exports.InteractiveSkeleton = InteractiveSkeleton; exports.MediaSkeleton = MediaSkeleton; exports.designDocPeople = designDocPeople; exports.designDocMetaLine = designDocMetaLine; exports.DesignDocCardSkeleton = DesignDocCardSkeleton; exports.DesignDocCard = DesignDocCard; 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.CampaignCardAdmin = CampaignCardAdmin; exports.CampaignCardAdminSkeleton = CampaignCardAdminSkeleton; exports.GenericEntityCard = GenericEntityCard; exports.GenericEntityCardSkeleton = GenericEntityCardSkeleton; exports.faqSectionSlug = faqSectionSlug; exports.faqItemAnchor = faqItemAnchor; exports.parseFaqHash = parseFaqHash; exports.useChatCardItem = useChatCardItem; exports.readFetchedCardTitle = readFetchedCardTitle; exports.readFetchedCardPath = readFetchedCardPath; exports.resolveFetchedCardHref = resolveFetchedCardHref; exports.byKey = byKey; exports.getPlatformProductionUrl = getPlatformProductionUrl; exports.getPlatformUrl = getPlatformUrl; exports.getDeploymentUrl = getDeploymentUrl; exports.isLocalUrl = isLocalUrl; exports.getRequestOrigin = getRequestOrigin; exports.resolveRedirectTarget = resolveRedirectTarget; exports.getAllPlatformBaseDomains = getAllPlatformBaseDomains; 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.DOC_TABLE_TYPES = DOC_TABLE_TYPES; exports.groupsByTable = groupsByTable; exports.recordCountLabel = recordCountLabel; exports.buildGroupedSource = buildGroupedSource; exports.groupSourcesByTable = groupSourcesByTable; exports.formatCitationIndices = formatCitationIndices; exports.resolveSourceRowCTA = resolveSourceRowCTA; exports.resolveSourceIcon = resolveSourceIcon; exports.resolveCardDestination = resolveCardDestination; exports.clickupTaskUrl = clickupTaskUrl; exports.chatCardLabel = chatCardLabel; exports.ChatCardLoader = ChatCardLoader; exports.renderChatInlineEntityCard = renderChatInlineEntityCard; exports.NETWORK_CONFIG = NETWORK_CONFIG; exports.EMPTY_DIALOG_CAPABILITIES = EMPTY_DIALOG_CAPABILITIES; exports.useChunkCatchup = useChunkCatchup; exports.useScriptedStream = useScriptedStream; exports.RESYNC_AFTER_HIDDEN_MS = RESYNC_AFTER_HIDDEN_MS; exports.useJetStreamDialogSubscription = useJetStreamDialogSubscription; exports.useNatsDialogSubscription = useNatsDialogSubscription; exports.buildNatsWsUrl = buildNatsWsUrl; exports.fetchSlashCommands = fetchSlashCommands; exports.useSlashCommands = useSlashCommands; exports.useSlashCommandRegistry = useSlashCommandRegistry; exports.fetchEmptyStateConfig = fetchEmptyStateConfig; exports.useEmptyStateConfig = useEmptyStateConfig; exports.useChatAttachments = useChatAttachments; exports.useChatAttachmentImageGallery = useChatAttachmentImageGallery; exports.ChatIdentityProvider = ChatIdentityProvider; exports.useChatIdentity = useChatIdentity; exports.useCloseOnNavigation = useCloseOnNavigation; exports.useSSE = useSSE; exports.useChat = useChat; exports.approvalDisplaysInline = approvalDisplaysInline; 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.createChatConversationsApi = createChatConversationsApi; exports.parseWireCommandOverride = parseWireCommandOverride; exports.sanitizeTitleForChat = sanitizeTitleForChat; exports.formatSingularLookupInvocation = formatSingularLookupInvocation; exports.extractEntityIdFilter = extractEntityIdFilter; exports.buildDiscussAddendum = buildDiscussAddendum; exports.buildDiscussPrompt = buildDiscussPrompt; exports.AUTO_CONTINUATION_DIRECTIVE_PREFIX = AUTO_CONTINUATION_DIRECTIVE_PREFIX; exports.buildAutoContinuationDirective = buildAutoContinuationDirective; exports.useManagedDialogList = useManagedDialogList; exports.useSseChatAdapter = useSseChatAdapter; exports.extractIncompleteMessageState = extractIncompleteMessageState; exports.extractIncompleteTailState = extractIncompleteTailState; exports.decodeHistoricalMessageData = decodeHistoricalMessageData; exports.processHistoricalMessages = processHistoricalMessages; exports.extractErrorMessages = extractErrorMessages; exports.processHistoricalMessagesWithErrors = processHistoricalMessagesWithErrors; exports.mapProcessedToUnified = mapProcessedToUnified; exports.historicalToUnified = historicalToUnified; exports.useNatsChatAdapter = useNatsChatAdapter; exports.useStableShallow = useStableShallow; exports.useUnifiedChat = useUnifiedChat; exports.SYNTHETIC_REALTIME_ID_PREFIXES = SYNTHETIC_REALTIME_ID_PREFIXES; exports.flattenMessagePagesChronological = flattenMessagePagesChronological; exports.maxPersistedStreamSeq = maxPersistedStreamSeq; exports.mergeHistoryWithRealtime = mergeHistoryWithRealtime; exports.computeHistoryPrepend = computeHistoryPrepend; exports.CHIP_ACTION_BUTTON_CLASS = CHIP_ACTION_BUTTON_CLASS; exports.chatChipClass = chatChipClass; exports.flattenAssistantContent = flattenAssistantContent; exports.normalizeHistoricalMessageData = normalizeHistoricalMessageData; exports.isHistoricalUserTurn = isHistoricalUserTurn; exports.buildStreamFrames = buildStreamFrames; exports.MINGO_V2_RAIL_WIDTH = MINGO_V2_RAIL_WIDTH; exports.EmbeddableChat = EmbeddableChat; exports.ProxyCredentialsPanel = ProxyCredentialsPanel;
28117
+
28118
+ exports.InfoHint = InfoHint; exports.Field = Field; 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.DESIGN_PALETTE = DESIGN_PALETTE; exports.getContrastRatio = getContrastRatio; exports.pickReadableTextColor = pickReadableTextColor; exports.extractDominantColor = extractDominantColor; exports.getBestContrastColor = getBestContrastColor; exports.analyzeImageColor = analyzeImageColor; exports.extractImageEdgeColorAsync = extractImageEdgeColorAsync; exports.getCurrentPlatform = getCurrentPlatform; exports.switchPlatformTheme = switchPlatformTheme; exports.getSemanticColor = getSemanticColor; exports.getPlatformConfig = getPlatformConfig; exports.usePlatformColors = usePlatformColors; exports.getReadableTextColor = getReadableTextColor; exports.HEX_PATTERN = HEX_PATTERN; exports.hexToRgb = hexToRgb2; exports.rgbToHex = rgbToHex; exports.deriveHoverColor = deriveHoverColor; exports.deriveActiveColor = deriveActiveColor; exports.rgbToHsl = rgbToHsl; exports.hslToRgb = hslToRgb; exports.ActionsMenu = ActionsMenu; exports.ActionsMenuDropdown = ActionsMenuDropdown; exports.ColorSwatch = ColorSwatch; exports.TooltipProvider = TooltipProvider; exports.Tooltip = Tooltip; exports.TooltipTrigger = TooltipTrigger; exports.TooltipContent = TooltipContent; exports.resolveTicketStatus = resolveTicketStatus; exports.getTicketStatusConfig = getTicketStatusConfig; exports.getTicketStatusTag = getTicketStatusTag; exports.kindToCanonicalStatus = kindToCanonicalStatus; exports.usesCanonicalStatusStyle = usesCanonicalStatusStyle; exports.resolveStatusTagProps = resolveStatusTagProps; exports.TicketStatusTag = TicketStatusTag; exports.useScrollFade = useScrollFade; exports.ScrollFadeOverlay = ScrollFadeOverlay; exports.ScrollShadow = ScrollShadow; exports.Modal = Modal; exports.ModalContent = ModalContent; exports.ModalTwoColumn = ModalTwoColumn; exports.ModalHeader = ModalHeader; exports.ModalTitle = ModalTitle; exports.ModalFooter = ModalFooter; exports.useResizablePanelSize = useResizablePanelSize; exports.PanelResizeHandle = PanelResizeHandle; 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.stripInlineMarkdown = stripInlineMarkdown; exports.markdownToPlainText = markdownToPlainText; exports.buildHeadingIdMap = buildHeadingIdMap; exports.useHeadingIdMap = useHeadingIdMap; exports.extractText = extractText; exports.useIsHydrated = useIsHydrated; exports.MermaidDiagram = MermaidDiagram; exports.hasRenderableSrc = hasRenderableSrc; exports.buildStandardLeafRenderers = buildStandardLeafRenderers; 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.splitStreamingBlocks = splitStreamingBlocks; exports.completeStreamingTail = completeStreamingTail; exports.TEXT_SIZE_PRESETS = TEXT_SIZE_PRESETS; exports.resolveTextSizeConfig = resolveTextSizeConfig; exports.NO_BROKEN_LINKS = NO_BROKEN_LINKS; exports.MarkdownEngine = MarkdownEngine; exports.SimpleMarkdownRenderer = SimpleMarkdownRenderer; 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_PLAYBACK_FAILED_EVENT = VIDEO_PLAYBACK_FAILED_EVENT; exports.Video = Video2; exports.HoverDropdown = HoverDropdown; exports.StatusLine = StatusLine; exports.ExpandChevron = ExpandChevron; exports.useCollapsible = useCollapsible; exports.getCommandText = getCommandText; exports.ArgRow = ArgRow; exports.ResultBlock = ResultBlock; exports.CommandBlock = CommandBlock; exports.ApprovalStatusTag = ApprovalStatusTag; exports.ApprovalWaitingLine = ApprovalWaitingLine; exports.ApprovalBatchMessage = ApprovalBatchMessage; 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.CHAT_APPEARANCE = CHAT_APPEARANCE; exports.CONNECTION_STATUS = CONNECTION_STATUS; exports.isStructuredContent = isStructuredContent; exports.normalizeContent = normalizeContent; exports.ChatAppearanceContext = ChatAppearanceContext; exports.useChatAppearance = useChatAppearance; exports.ApprovalRequestMessage = ApprovalRequestMessage; exports.EscalationOfferMessage = EscalationOfferMessage; exports.formatTime = formatTime; exports.AiAssistantInfo = AiAssistantInfo; exports.TicketEscalatedMessage = TicketEscalatedMessage; exports.MESSAGE_TYPE = MESSAGE_TYPE; exports.SCROLL_ANCHOR = SCROLL_ANCHOR; exports.TICKET_EVENT_KIND = TICKET_EVENT_KIND; exports.TicketEventMessage = TicketEventMessage; exports.SystemEventMessage = SystemEventMessage; exports.ContextCompactionDisplay = ContextCompactionDisplay; exports.ThinkingDisplay = ThinkingDisplay; exports.AskDisplay = AskDisplay; exports.ErrorMessageDisplay = ErrorMessageDisplay; exports.MspOrganizationCard = MspOrganizationCard; exports.MspOrganizationCardSkeleton = MspOrganizationCardSkeleton; exports.ChatContainer = ChatContainer; exports.ChatHeader = ChatHeader; exports.ChatContent = ChatContent; exports.ChatFooter = ChatFooter; exports.ChatTypingIndicator = ChatTypingIndicator; exports.MingoOnboardingCard = MingoOnboardingCard; exports.ICON_REGISTRY = ICON_REGISTRY; exports.normalizeIconKey = normalizeIconKey; exports.getIconComponent = getIconComponent; exports.getDynamicIcon = getDynamicIcon; exports.ICON_ALIASES = ICON_ALIASES; exports.brandLogoForName = brandLogoForName; exports.resolveIcon = resolveIcon; exports.ICON_OPTIONS = ICON_OPTIONS; exports.SlashCommandSuggestions = SlashCommandSuggestions; exports.ChatInput = ChatInput; exports.FAE_AVATAR_DATA_URI = FAE_AVATAR_DATA_URI; exports.AgentMark = AgentMark; 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.BlockCard = BlockCard; exports.remarkCardLinks = remarkCardLinks; exports.remarkMentionChips = remarkMentionChips; exports.ToolExecutionDisplay = ToolExecutionDisplay; exports.MemoizedChatMessageEnhanced = MemoizedChatMessageEnhanced; exports.ChatMessageSkeleton = ChatMessageSkeleton; exports.ChatMessageListSkeleton = ChatMessageListSkeleton; exports.ChatMessageList = ChatMessageList; exports.useProxiedImageUrl = useProxiedImageUrl; exports.ChatMessageRow = ChatMessageRow; exports.ChatMessageRowSkeleton = ChatMessageRowSkeleton; 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.ChatListEmptyState = ChatListEmptyState; exports.MingoChatHistorySkeleton = MingoChatHistorySkeleton; exports.MingoChatHistory = MingoChatHistory; exports.MingoWelcome = MingoWelcome; exports.GuideWelcome = GuideWelcome; exports.GuideModeBanner = GuideModeBanner; exports.ChatNavSidebar = ChatNavSidebar; exports.ChatListItem = ChatListItem; exports.MingoArchiveList = MingoArchiveList; exports.ChatHeaderIconButton = ChatHeaderIconButton; exports.MingoChatHeader = MingoChatHeader; exports.ChatHeaderSearchField = ChatHeaderSearchField; exports.MingoChatRail = MingoChatRail; exports.TabSelector = TabSelector; exports.MingoHistoryRail = MingoHistoryRail; exports.RenameChatModal = RenameChatModal; exports.ArchiveChatModal = ArchiveChatModal; exports.UnarchiveChatModal = UnarchiveChatModal; exports.ChatDialogModals = ChatDialogModals; 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.ChatTopNavigation = ChatTopNavigation; exports.OnboardingCarousel = OnboardingCarousel; 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.getCaptionsUrl = getCaptionsUrl; exports.rebaseCaptionsUrl = rebaseCaptionsUrl; exports.buildCaptionsUrl = buildCaptionsUrl; exports.getEntityCaptionUrls = getEntityCaptionUrls; exports.getEntityCaptionUrlsById = getEntityCaptionUrlsById; exports.captionsEntityTypeForDocType = captionsEntityTypeForDocType; exports.useCaptions = useCaptions; exports.UserDisplay = UserDisplay; exports.CardHitLayer = CardHitLayer; exports.STRIP_CELL_MAX_WIDTH = STRIP_CELL_MAX_WIDTH; exports.CardsStrip = CardsStrip; exports.VideoHoverPreviewSurface = VideoHoverPreviewSurface; 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.VideoBitesStrip = VideoBitesStrip; exports.VideoBiteCard = VideoBiteCard; exports.EntityVideoSection = EntityVideoSection; exports.ChatVideoEntityCard = ChatVideoEntityCard; exports.DESIGN_DOC_READINESS = DESIGN_DOC_READINESS; exports.DESIGN_DOC_READINESS_DISPLAY = DESIGN_DOC_READINESS_DISPLAY; exports.designDocReadiness = designDocReadiness; exports.formatCompletionLabel = formatCompletionLabel; exports.formatCompletionLabelWithBlockers = formatCompletionLabelWithBlockers; exports.UnifiedSkeleton = UnifiedSkeleton; exports.TextSkeleton = TextSkeleton; exports.InteractiveSkeleton = InteractiveSkeleton; exports.MediaSkeleton = MediaSkeleton; exports.designDocPeople = designDocPeople; exports.designDocMetaLine = designDocMetaLine; exports.DesignDocCardSkeleton = DesignDocCardSkeleton; exports.DesignDocCard = DesignDocCard; 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.CampaignCardAdmin = CampaignCardAdmin; exports.CampaignCardAdminSkeleton = CampaignCardAdminSkeleton; exports.GenericEntityCard = GenericEntityCard; exports.GenericEntityCardSkeleton = GenericEntityCardSkeleton; exports.faqSectionSlug = faqSectionSlug; exports.faqItemAnchor = faqItemAnchor; exports.parseFaqHash = parseFaqHash; exports.useChatCardItem = useChatCardItem; exports.readFetchedCardTitle = readFetchedCardTitle; exports.readFetchedCardPath = readFetchedCardPath; exports.resolveFetchedCardHref = resolveFetchedCardHref; exports.byKey = byKey; exports.getPlatformProductionUrl = getPlatformProductionUrl; exports.getPlatformUrl = getPlatformUrl; exports.getDeploymentUrl = getDeploymentUrl; exports.isLocalUrl = isLocalUrl; exports.getRequestOrigin = getRequestOrigin; exports.resolveRedirectTarget = resolveRedirectTarget; exports.getAllPlatformBaseDomains = getAllPlatformBaseDomains; 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.DOC_TABLE_TYPES = DOC_TABLE_TYPES; exports.groupsByTable = groupsByTable; exports.recordCountLabel = recordCountLabel; exports.buildGroupedSource = buildGroupedSource; exports.groupSourcesByTable = groupSourcesByTable; exports.formatCitationIndices = formatCitationIndices; exports.resolveSourceRowCTA = resolveSourceRowCTA; exports.resolveSourceIcon = resolveSourceIcon; exports.resolveCardDestination = resolveCardDestination; exports.clickupTaskUrl = clickupTaskUrl; exports.chatCardLabel = chatCardLabel; exports.ChatCardLoader = ChatCardLoader; exports.renderChatInlineEntityCard = renderChatInlineEntityCard; exports.NETWORK_CONFIG = NETWORK_CONFIG; exports.EMPTY_DIALOG_CAPABILITIES = EMPTY_DIALOG_CAPABILITIES; exports.useChunkCatchup = useChunkCatchup; exports.useScriptedStream = useScriptedStream; exports.RESYNC_AFTER_HIDDEN_MS = RESYNC_AFTER_HIDDEN_MS; exports.useJetStreamDialogSubscription = useJetStreamDialogSubscription; exports.useNatsDialogSubscription = useNatsDialogSubscription; exports.buildNatsWsUrl = buildNatsWsUrl; exports.fetchSlashCommands = fetchSlashCommands; exports.useSlashCommands = useSlashCommands; exports.useSlashCommandRegistry = useSlashCommandRegistry; exports.fetchEmptyStateConfig = fetchEmptyStateConfig; exports.useEmptyStateConfig = useEmptyStateConfig; exports.useChatAttachments = useChatAttachments; exports.useChatAttachmentImageGallery = useChatAttachmentImageGallery; exports.ChatIdentityProvider = ChatIdentityProvider; exports.useChatIdentity = useChatIdentity; exports.useCloseOnNavigation = useCloseOnNavigation; exports.useSSE = useSSE; exports.useChat = useChat; exports.approvalDisplaysInline = approvalDisplaysInline; 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.createChatConversationsApi = createChatConversationsApi; exports.parseWireCommandOverride = parseWireCommandOverride; exports.sanitizeTitleForChat = sanitizeTitleForChat; exports.formatSingularLookupInvocation = formatSingularLookupInvocation; exports.extractEntityIdFilter = extractEntityIdFilter; exports.buildDiscussAddendum = buildDiscussAddendum; exports.buildDiscussPrompt = buildDiscussPrompt; exports.AUTO_CONTINUATION_DIRECTIVE_PREFIX = AUTO_CONTINUATION_DIRECTIVE_PREFIX; exports.buildAutoContinuationDirective = buildAutoContinuationDirective; exports.useManagedDialogList = useManagedDialogList; exports.useSseChatAdapter = useSseChatAdapter; exports.extractIncompleteMessageState = extractIncompleteMessageState; exports.extractIncompleteTailState = extractIncompleteTailState; exports.decodeHistoricalMessageData = decodeHistoricalMessageData; exports.processHistoricalMessages = processHistoricalMessages; exports.extractErrorMessages = extractErrorMessages; exports.processHistoricalMessagesWithErrors = processHistoricalMessagesWithErrors; exports.mapProcessedToUnified = mapProcessedToUnified; exports.historicalToUnified = historicalToUnified; exports.useNatsChatAdapter = useNatsChatAdapter; exports.useStableShallow = useStableShallow; exports.useUnifiedChat = useUnifiedChat; exports.SYNTHETIC_REALTIME_ID_PREFIXES = SYNTHETIC_REALTIME_ID_PREFIXES; exports.flattenMessagePagesChronological = flattenMessagePagesChronological; exports.maxPersistedStreamSeq = maxPersistedStreamSeq; exports.mergeHistoryWithRealtime = mergeHistoryWithRealtime; exports.computeHistoryPrepend = computeHistoryPrepend; exports.CHIP_ACTION_BUTTON_CLASS = CHIP_ACTION_BUTTON_CLASS; exports.chatChipClass = chatChipClass; exports.flattenAssistantContent = flattenAssistantContent; exports.normalizeHistoricalMessageData = normalizeHistoricalMessageData; exports.isHistoricalUserTurn = isHistoricalUserTurn; exports.buildStreamFrames = buildStreamFrames; exports.MINGO_V2_RAIL_WIDTH = MINGO_V2_RAIL_WIDTH; exports.MINGO_V2_SPLIT_WIDTH = MINGO_V2_SPLIT_WIDTH; exports.EmbeddableChat = EmbeddableChat; exports.ProxyCredentialsPanel = ProxyCredentialsPanel;