@flamingo-stack/openframe-frontend-core 0.0.752 → 0.0.754

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 (111) hide show
  1. package/dist/build/export-map.json +1 -1
  2. package/dist/{chunk-OXEAN3EQ.cjs → chunk-35BJY5RR.cjs} +44 -44
  3. package/dist/{chunk-ZYRRRKSZ.cjs → chunk-5E6JHOGX.cjs} +3 -3
  4. package/dist/{chunk-35RU25PJ.cjs → chunk-7Z4EQOIX.cjs} +44 -44
  5. package/dist/{chunk-4PEG4JTM.cjs → chunk-B27XV2TC.cjs} +6 -6
  6. package/dist/{chunk-4OTCQEP3.cjs → chunk-BLZIUELR.cjs} +11 -11
  7. package/dist/{chunk-KBJSZFBZ.cjs → chunk-BQQ3JGEO.cjs} +3 -3
  8. package/dist/{chunk-RDH63XXW.cjs → chunk-DW5OKTUP.cjs} +34 -34
  9. package/dist/{chunk-KUVYVAS2.cjs → chunk-EDSFLB7J.cjs} +19 -17
  10. package/dist/{chunk-WQCLN27R.cjs → chunk-FAFFWYEH.cjs} +4 -4
  11. package/dist/{chunk-P4ODFQGA.cjs → chunk-GQYCVZJI.cjs} +4 -4
  12. package/dist/{chunk-Y6PVZRYL.cjs → chunk-IVAAQSOU.cjs} +12 -12
  13. package/dist/{chunk-EUQJ7QHW.cjs → chunk-JXACH52M.cjs} +4 -4
  14. package/dist/{chunk-JI6NRWCC.cjs → chunk-MOEILCEX.cjs} +13 -13
  15. package/dist/{chunk-IPVJAML5.cjs → chunk-OGKV5NOP.cjs} +69 -69
  16. package/dist/{chunk-OXCGQV6B.cjs → chunk-RTQN35EP.cjs} +153 -146
  17. package/dist/{chunk-EM4OEWCM.cjs → chunk-SDF5UUTE.cjs} +749 -608
  18. package/dist/{chunk-7OEVVMAU.cjs → chunk-T4BBZ5ST.cjs} +2 -2
  19. package/dist/{chunk-XADJG35G.cjs → chunk-TBDVF4SN.cjs} +31 -31
  20. package/dist/{chunk-G44V3UGE.cjs → chunk-TPJTFN7O.cjs} +81 -81
  21. package/dist/{chunk-J5G4CF2V.cjs → chunk-U4I3QR2A.cjs} +16 -16
  22. package/dist/{chunk-U2AE4UG7.cjs → chunk-UNRNLSG4.cjs} +2 -2
  23. package/dist/{chunk-ZVOXBSDP.cjs → chunk-WBOHLXFC.cjs} +2 -2
  24. package/dist/{chunk-VD3XBUQR.cjs → chunk-YSFOYBYC.cjs} +158 -158
  25. package/dist/{chunk-7WEGXNNS.cjs → chunk-ZNV5FE4T.cjs} +30 -30
  26. package/dist/{cloud-tenants-WAOMZZQ2.cjs → cloud-tenants-5OTPO7FL.cjs} +7 -7
  27. package/dist/components/announcement-bar.d.ts +1 -1
  28. package/dist/components/announcement-bar.d.ts.map +1 -1
  29. package/dist/components/announcement-bar.js +3 -1
  30. package/dist/components/case-studies/index.cjs +20 -20
  31. package/dist/components/chat/chat-dialog-menu-items.js +6 -6
  32. package/dist/components/chat/chat-message-enhanced.d.ts.map +1 -1
  33. package/dist/components/chat/chat-message-enhanced.js +3 -0
  34. package/dist/components/chat/chat-panel-context.d.ts +3 -0
  35. package/dist/components/chat/chat-panel-context.d.ts.map +1 -1
  36. package/dist/components/chat/embeddable-chat.d.ts +20 -0
  37. package/dist/components/chat/embeddable-chat.d.ts.map +1 -1
  38. package/dist/components/chat/embeddable-chat.js +78 -8
  39. package/dist/components/chat/hooks/index.d.ts +1 -0
  40. package/dist/components/chat/hooks/index.d.ts.map +1 -1
  41. package/dist/components/chat/hooks/index.js +1 -0
  42. package/dist/components/chat/hooks/use-what-to-ask.d.ts +69 -0
  43. package/dist/components/chat/hooks/use-what-to-ask.d.ts.map +1 -0
  44. package/dist/components/chat/hooks/use-what-to-ask.js +106 -0
  45. package/dist/components/chat/index.cjs +13 -5
  46. package/dist/components/chat/index.d.ts +1 -0
  47. package/dist/components/chat/index.d.ts.map +1 -1
  48. package/dist/components/chat/index.js +1 -0
  49. package/dist/components/chat/mingo-chat-header.d.ts +4 -2
  50. package/dist/components/chat/mingo-chat-header.d.ts.map +1 -1
  51. package/dist/components/chat/mingo-chat-header.js +7 -2
  52. package/dist/components/chat/suggestions-display.d.ts +11 -0
  53. package/dist/components/chat/suggestions-display.d.ts.map +1 -0
  54. package/dist/components/chat/suggestions-display.js +27 -0
  55. package/dist/components/chat/types/message.types.d.ts +27 -1
  56. package/dist/components/chat/types/message.types.d.ts.map +1 -1
  57. package/dist/components/chat/utils/extract-incomplete-message-state.d.ts.map +1 -1
  58. package/dist/components/chat/utils/extract-incomplete-message-state.js +2 -0
  59. package/dist/components/chat/utils/message-segment-accumulator.d.ts.map +1 -1
  60. package/dist/components/chat/utils/message-segment-accumulator.js +3 -0
  61. package/dist/components/contact/index.cjs +8 -8
  62. package/dist/components/docs/index.cjs +11 -11
  63. package/dist/components/embeds/index.cjs +8 -8
  64. package/dist/components/faq/index.cjs +9 -9
  65. package/dist/components/features/index.cjs +7 -7
  66. package/dist/components/help-center-pages/index.cjs +84 -84
  67. package/dist/components/index.cjs +66 -56
  68. package/dist/components/meeting-scheduler/index.cjs +31 -31
  69. package/dist/components/navigation/index.cjs +10 -10
  70. package/dist/components/onboarding-guides/index.cjs +10 -10
  71. package/dist/components/product-demo/index.cjs +7 -7
  72. package/dist/components/related-content/index.cjs +5 -5
  73. package/dist/components/tickets/index.cjs +13 -13
  74. package/dist/components/ui/index.cjs +15 -7
  75. package/dist/{devices-VFEPXW2N.cjs → devices-MBGMD7BO.cjs} +8 -8
  76. package/dist/{embeddable-chat-BYQBABDV.cjs → embeddable-chat-CMEHSDV7.cjs} +163 -91
  77. package/dist/index.cjs +23 -11
  78. package/dist/{knowledge-4TE7AWZX.cjs → knowledge-LO5RK6PM.cjs} +8 -8
  79. package/dist/{logs-3B2P3JXN.cjs → logs-QRGJSZ4G.cjs} +15 -15
  80. package/dist/{policies-DVI6V22X.cjs → policies-OIQDO6F5.cjs} +11 -11
  81. package/dist/{scripts-JJ2BVYQ5.cjs → scripts-XULUNPDV.cjs} +12 -12
  82. package/dist/{software-update-BN23RATE.cjs → software-update-SRF55434.cjs} +10 -10
  83. package/dist/types/announcement.cjs +2 -0
  84. package/dist/types/announcement.d.ts +21 -0
  85. package/dist/types/announcement.d.ts.map +1 -1
  86. package/dist/types/announcement.js +2 -0
  87. package/dist/types/index.cjs +2 -0
  88. package/dist/utils/announcement-surface.d.ts +8 -0
  89. package/dist/utils/announcement-surface.d.ts.map +1 -0
  90. package/dist/utils/announcement-surface.js +7 -0
  91. package/dist/utils/index.cjs +7 -0
  92. package/dist/utils/index.d.ts +1 -0
  93. package/dist/utils/index.d.ts.map +1 -1
  94. package/dist/utils/index.js +1 -0
  95. package/package.json +1 -1
  96. package/src/components/announcement-bar.tsx +9 -1
  97. package/src/components/chat/chat-dialog-menu-items.tsx +6 -6
  98. package/src/components/chat/chat-message-enhanced.tsx +3 -0
  99. package/src/components/chat/chat-panel-context.tsx +3 -0
  100. package/src/components/chat/embeddable-chat.tsx +132 -9
  101. package/src/components/chat/hooks/index.ts +1 -0
  102. package/src/components/chat/hooks/use-what-to-ask.ts +203 -0
  103. package/src/components/chat/index.ts +1 -0
  104. package/src/components/chat/mingo-chat-header.tsx +11 -4
  105. package/src/components/chat/suggestions-display.tsx +41 -0
  106. package/src/components/chat/types/message.types.ts +31 -1
  107. package/src/components/chat/utils/extract-incomplete-message-state.ts +2 -0
  108. package/src/components/chat/utils/message-segment-accumulator.ts +4 -0
  109. package/src/types/announcement.ts +22 -0
  110. package/src/utils/announcement-surface.ts +14 -0
  111. package/src/utils/index.ts +2 -0
@@ -12,7 +12,7 @@
12
12
 
13
13
 
14
14
 
15
- var _chunkEM4OEWCMcjs = require('./chunk-EM4OEWCM.cjs');
15
+ var _chunkSDF5UUTEcjs = require('./chunk-SDF5UUTE.cjs');
16
16
 
17
17
 
18
18
 
@@ -100,7 +100,7 @@ var _chunkJKX2C3I2cjs = require('./chunk-JKX2C3I2.cjs');
100
100
  var _chunkEWPR7662cjs = require('./chunk-EWPR7662.cjs');
101
101
 
102
102
 
103
- var _chunk4PEG4JTMcjs = require('./chunk-4PEG4JTM.cjs');
103
+ var _chunkB27XV2TCcjs = require('./chunk-B27XV2TC.cjs');
104
104
 
105
105
 
106
106
 
@@ -120,7 +120,7 @@ var _chunk4PEG4JTMcjs = require('./chunk-4PEG4JTM.cjs');
120
120
 
121
121
 
122
122
 
123
- var _chunk35RU25PJcjs = require('./chunk-35RU25PJ.cjs');
123
+ var _chunk7Z4EQOIXcjs = require('./chunk-7Z4EQOIX.cjs');
124
124
 
125
125
 
126
126
 
@@ -179,7 +179,7 @@ var _react = require('react'); var _react2 = _interopRequireDefault(_react);
179
179
  // src/components/chat/hooks/use-proxied-image-url.ts
180
180
  function useProxiedImageUrl(url) {
181
181
  const r = _chunkUJ7AXHRZcjs.useRequiredChatRuntime.call(void 0, );
182
- return _nullishCoalesce(_chunk35RU25PJcjs.getProxiedImageUrl.call(void 0, _nullishCoalesce(url, () => ( "")), {
182
+ return _nullishCoalesce(_chunk7Z4EQOIXcjs.getProxiedImageUrl.call(void 0, _nullishCoalesce(url, () => ( "")), {
183
183
  proxyPrefix: r.endpoints.imageProxyUrlPrefix,
184
184
  skipDomains: r.endpoints.imageProxySkipDomains,
185
185
  directHttps: true
@@ -1186,6 +1186,12 @@ function clearLegacyAnnouncementCache(platform) {
1186
1186
  }
1187
1187
  }
1188
1188
 
1189
+ // src/utils/announcement-surface.ts
1190
+ function isAnnouncementOnSurface(announcement, surface) {
1191
+ const surfaces = announcement.surfaces;
1192
+ return !_optionalChain([surfaces, 'optionalAccess', _26 => _26.length]) || surfaces.includes(surface);
1193
+ }
1194
+
1189
1195
  // src/utils/dismissal-storage.ts
1190
1196
  var WALKTHROUGH_VIDEO_DISMISS_KEY = "walkthrough-video-dismissed";
1191
1197
  function walkthroughDismissCookieName(platform) {
@@ -1250,7 +1256,7 @@ function createSseSubscription(options) {
1250
1256
  if (connected === next) return;
1251
1257
  connected = next;
1252
1258
  try {
1253
- _optionalChain([onConnectedChange, 'optionalCall', _26 => _26(next)]);
1259
+ _optionalChain([onConnectedChange, 'optionalCall', _27 => _27(next)]);
1254
1260
  } catch (err) {
1255
1261
  console.error("[sse-subscription] onConnectedChange threw:", err);
1256
1262
  }
@@ -1266,7 +1272,7 @@ function createSseSubscription(options) {
1266
1272
  if (status !== "open") {
1267
1273
  confirmTimerId = clearLifecycleTimer(confirmTimerId);
1268
1274
  }
1269
- _optionalChain([onStatusChange, 'optionalCall', _27 => _27(status)]);
1275
+ _optionalChain([onStatusChange, 'optionalCall', _28 => _28(status)]);
1270
1276
  };
1271
1277
  const internalReconnect = (delayMs) => {
1272
1278
  failedDelayTimerId = clearLifecycleTimer(failedDelayTimerId);
@@ -1280,7 +1286,7 @@ function createSseSubscription(options) {
1280
1286
  }, delayMs);
1281
1287
  };
1282
1288
  const handleServerStatus = (data) => {
1283
- const status = _optionalChain([data, 'optionalAccess', _28 => _28.status]);
1289
+ const status = _optionalChain([data, 'optionalAccess', _29 => _29.status]);
1284
1290
  if (status === "subscribed") {
1285
1291
  confirmTimerId = clearLifecycleTimer(confirmTimerId);
1286
1292
  serverGraceTimerId = clearLifecycleTimer(serverGraceTimerId);
@@ -1321,7 +1327,7 @@ function createSseSubscription(options) {
1321
1327
  const armSilenceTimer = () => {
1322
1328
  if (silenceTimerId) clearTimeout(silenceTimerId);
1323
1329
  silenceTimerId = setTimeout(() => {
1324
- _optionalChain([abortController, 'optionalAccess', _29 => _29.abort, 'call', _30 => _30()]);
1330
+ _optionalChain([abortController, 'optionalAccess', _30 => _30.abort, 'call', _31 => _31()]);
1325
1331
  }, silenceTimeoutMs);
1326
1332
  };
1327
1333
  const scheduleReconnect = (delayMs) => {
@@ -1474,7 +1480,7 @@ function createSseSubscription(options) {
1474
1480
  generation += 1;
1475
1481
  clearTimers();
1476
1482
  attempt = 0;
1477
- _optionalChain([abortController, 'optionalAccess', _31 => _31.abort, 'call', _32 => _32()]);
1483
+ _optionalChain([abortController, 'optionalAccess', _32 => _32.abort, 'call', _33 => _33()]);
1478
1484
  void connect();
1479
1485
  }
1480
1486
  const suspend = () => {
@@ -1482,7 +1488,7 @@ function createSseSubscription(options) {
1482
1488
  suspended = true;
1483
1489
  generation += 1;
1484
1490
  clearTimers();
1485
- _optionalChain([abortController, 'optionalAccess', _33 => _33.abort, 'call', _34 => _34()]);
1491
+ _optionalChain([abortController, 'optionalAccess', _34 => _34.abort, 'call', _35 => _35()]);
1486
1492
  setStatus("suspended");
1487
1493
  };
1488
1494
  const retryIfStalled = () => {
@@ -1527,15 +1533,15 @@ function createSseSubscription(options) {
1527
1533
  generation += 1;
1528
1534
  clearTimers();
1529
1535
  hiddenGraceTimerId = clearLifecycleTimer(hiddenGraceTimerId);
1530
- _optionalChain([abortController, 'optionalAccess', _35 => _35.abort, 'call', _36 => _36()]);
1536
+ _optionalChain([abortController, 'optionalAccess', _36 => _36.abort, 'call', _37 => _37()]);
1531
1537
  if (listenersActive) {
1532
1538
  document.removeEventListener("visibilitychange", onVisibilityChange);
1533
1539
  window.removeEventListener("online", onOnline);
1534
1540
  window.removeEventListener("focus", retryIfStalled);
1535
1541
  }
1536
- _optionalChain([unsubscribeCredentials, 'optionalCall', _37 => _37()]);
1542
+ _optionalChain([unsubscribeCredentials, 'optionalCall', _38 => _38()]);
1537
1543
  setConnected(false);
1538
- _optionalChain([onStatusChange, 'optionalCall', _38 => _38("closed")]);
1544
+ _optionalChain([onStatusChange, 'optionalCall', _39 => _39("closed")]);
1539
1545
  },
1540
1546
  reconnectNow: () => {
1541
1547
  if (closed) return;
@@ -1547,7 +1553,7 @@ function createSseSubscription(options) {
1547
1553
 
1548
1554
  // src/utils/sse-decision-frame.ts
1549
1555
  async function readLeadingDecisionFrame(response) {
1550
- const reader = _optionalChain([response, 'access', _39 => _39.body, 'optionalAccess', _40 => _40.getReader, 'call', _41 => _41()]);
1556
+ const reader = _optionalChain([response, 'access', _40 => _40.body, 'optionalAccess', _41 => _41.getReader, 'call', _42 => _42()]);
1551
1557
  if (!reader) throw new Error("readLeadingDecisionFrame: response has no body");
1552
1558
  const decoder = new TextDecoder();
1553
1559
  let buffer = "";
@@ -1572,8 +1578,8 @@ async function readLeadingDecisionFrame(response) {
1572
1578
  throw new Error(`readLeadingDecisionFrame: leading JSON parse failed: ${err.message}`);
1573
1579
  }
1574
1580
  const obj = parsed;
1575
- if (_optionalChain([obj, 'optionalAccess', _42 => _42.kind]) !== "decision_resolved") {
1576
- throw new Error(`readLeadingDecisionFrame: expected decision_resolved, got kind=${String(_optionalChain([obj, 'optionalAccess', _43 => _43.kind]))}`);
1581
+ if (_optionalChain([obj, 'optionalAccess', _43 => _43.kind]) !== "decision_resolved") {
1582
+ throw new Error(`readLeadingDecisionFrame: expected decision_resolved, got kind=${String(_optionalChain([obj, 'optionalAccess', _44 => _44.kind]))}`);
1577
1583
  }
1578
1584
  frame = normalizeDecisionFrame(obj);
1579
1585
  buffer = buffer.slice(nullIdx + 1);
@@ -1779,12 +1785,12 @@ var FullscreenSwitchController = class {
1779
1785
  if (fullscreenElementOf(doc)) {
1780
1786
  if (doc.exitFullscreen) doc.exitFullscreen().catch(() => {
1781
1787
  });
1782
- else _optionalChain([doc, 'access', _44 => _44.webkitExitFullscreen, 'optionalCall', _45 => _45()]);
1788
+ else _optionalChain([doc, 'access', _45 => _45.webkitExitFullscreen, 'optionalCall', _46 => _46()]);
1783
1789
  } else {
1784
- const el = _nullishCoalesce(_optionalChain([this, 'access', _46 => _46.opts, 'access', _47 => _47.target, 'optionalCall', _48 => _48()]), () => ( document.documentElement));
1790
+ const el = _nullishCoalesce(_optionalChain([this, 'access', _47 => _47.opts, 'access', _48 => _48.target, 'optionalCall', _49 => _49()]), () => ( document.documentElement));
1785
1791
  if (el.requestFullscreen) el.requestFullscreen({ navigationUI: "hide" }).catch(() => {
1786
1792
  });
1787
- else _optionalChain([el, 'access', _49 => _49.webkitRequestFullscreen, 'optionalCall', _50 => _50()]);
1793
+ else _optionalChain([el, 'access', _50 => _50.webkitRequestFullscreen, 'optionalCall', _51 => _51()]);
1788
1794
  }
1789
1795
  };
1790
1796
  /** Raise the mask + start tracking. Idempotent — safe from the pre-emptive
@@ -1799,7 +1805,7 @@ var FullscreenSwitchController = class {
1799
1805
  window.clearTimeout(this.quietTimer);
1800
1806
  window.clearTimeout(this.capTimer);
1801
1807
  window.removeEventListener("resize", this.onResize);
1802
- _optionalChain([this, 'access', _51 => _51.opts, 'access', _52 => _52.onGeometryPulse, 'optionalCall', _53 => _53()]);
1808
+ _optionalChain([this, 'access', _52 => _52.opts, 'access', _53 => _53.onGeometryPulse, 'optionalCall', _54 => _54()]);
1803
1809
  if (this.opts.switchingClass) document.documentElement.classList.remove(this.opts.switchingClass);
1804
1810
  };
1805
1811
  this.armQuiet = () => {
@@ -1807,7 +1813,7 @@ var FullscreenSwitchController = class {
1807
1813
  this.quietTimer = window.setTimeout(this.endSwitch, _nullishCoalesce(this.opts.quietMs, () => ( DEFAULT_QUIET_MS)));
1808
1814
  };
1809
1815
  this.onResize = () => {
1810
- _optionalChain([this, 'access', _54 => _54.opts, 'access', _55 => _55.onGeometryPulse, 'optionalCall', _56 => _56()]);
1816
+ _optionalChain([this, 'access', _55 => _55.opts, 'access', _56 => _56.onGeometryPulse, 'optionalCall', _57 => _57()]);
1811
1817
  this.armQuiet();
1812
1818
  };
1813
1819
  /** Escape is the one exit path that skips toggle() — pre-mask on the
@@ -1819,7 +1825,7 @@ var FullscreenSwitchController = class {
1819
1825
  const fs = this.isFullscreen;
1820
1826
  if (this.opts.activeClass) document.documentElement.classList.toggle(this.opts.activeClass, fs);
1821
1827
  this.beginSwitch();
1822
- requestAnimationFrame(() => _optionalChain([this, 'access', _57 => _57.opts, 'access', _58 => _58.onGeometryPulse, 'optionalCall', _59 => _59()]));
1828
+ requestAnimationFrame(() => _optionalChain([this, 'access', _58 => _58.opts, 'access', _59 => _59.onGeometryPulse, 'optionalCall', _60 => _60()]));
1823
1829
  this.armQuiet();
1824
1830
  this.opts.onFullscreenChange(fs);
1825
1831
  };
@@ -1833,7 +1839,7 @@ var FullscreenSwitchController = class {
1833
1839
  }
1834
1840
  get isFullscreen() {
1835
1841
  const fs = fullscreenElementOf(document);
1836
- const target = _optionalChain([this, 'access', _60 => _60.opts, 'access', _61 => _61.target, 'optionalCall', _62 => _62()]);
1842
+ const target = _optionalChain([this, 'access', _61 => _61.opts, 'access', _62 => _62.target, 'optionalCall', _63 => _63()]);
1837
1843
  return target ? fs === target : Boolean(fs);
1838
1844
  }
1839
1845
  attach() {
@@ -1880,7 +1886,7 @@ function primaryPlatformOf(platforms) {
1880
1886
  if (!Array.isArray(platforms)) return null;
1881
1887
  for (const entry of platforms) {
1882
1888
  const row = entry;
1883
- const name = _nullishCoalesce(_nullishCoalesce(_optionalChain([row, 'optionalAccess', _63 => _63.platforms, 'optionalAccess', _64 => _64.name]), () => ( _optionalChain([row, 'optionalAccess', _65 => _65.platform_name]))), () => ( _optionalChain([row, 'optionalAccess', _66 => _66.name])));
1889
+ const name = _nullishCoalesce(_nullishCoalesce(_optionalChain([row, 'optionalAccess', _64 => _64.platforms, 'optionalAccess', _65 => _65.name]), () => ( _optionalChain([row, 'optionalAccess', _66 => _66.platform_name]))), () => ( _optionalChain([row, 'optionalAccess', _67 => _67.name])));
1884
1890
  if (typeof name === "string" && name.trim()) return name.trim();
1885
1891
  }
1886
1892
  return null;
@@ -1897,21 +1903,21 @@ function lastPathSegment(url) {
1897
1903
  function makeComposeContentUrl(opts) {
1898
1904
  const suffixes = _nullishCoalesce(opts.suffixes, () => ( DEFAULT_CONTENT_SUFFIXES));
1899
1905
  return ({ type: rawType, identifier, slug: slugHint, externalUrl, targetPlatform, platforms }) => {
1900
- const type = _chunk35RU25PJcjs.canonicalContentRefType.call(void 0, rawType);
1906
+ const type = _chunk7Z4EQOIXcjs.canonicalContentRefType.call(void 0, rawType);
1901
1907
  const override = opts.overrides && Object.prototype.hasOwnProperty.call(opts.overrides, type) ? opts.overrides[type] : void 0;
1902
1908
  if (override) return { ...override(identifier), hostOverride: true };
1903
1909
  const seg = _nullishCoalesce((Object.prototype.hasOwnProperty.call(suffixes, type) ? suffixes[type] : void 0), () => ( type));
1904
1910
  if (opts.hostedTypes.has(type)) {
1905
1911
  const recovered = externalUrl ? lastPathSegment(externalUrl) : null;
1906
- const slug = recovered && recovered !== seg ? recovered : _optionalChain([slugHint, 'optionalAccess', _67 => _67.trim, 'call', _68 => _68()]) || identifier;
1912
+ const slug = recovered && recovered !== seg ? recovered : _optionalChain([slugHint, 'optionalAccess', _68 => _68.trim, 'call', _69 => _69()]) || identifier;
1907
1913
  return { href: `/${seg}/${slug}`, targetPlatform: null };
1908
1914
  }
1909
1915
  if (externalUrl) return { href: externalUrl, targetPlatform: _nullishCoalesce(targetPlatform, () => ( null)) };
1910
1916
  const claimedOwner = _nullishCoalesce(targetPlatform, () => ( primaryPlatformOf(platforms)));
1911
- const owner = claimedOwner && _chunkEM4OEWCMcjs.byKey.call(void 0, claimedOwner) ? claimedOwner : null;
1912
- const origin = owner ? _chunkEM4OEWCMcjs.getPlatformProductionUrl.call(void 0, owner) : opts.contentOrigin;
1917
+ const owner = claimedOwner && _chunkSDF5UUTEcjs.byKey.call(void 0, claimedOwner) ? claimedOwner : null;
1918
+ const origin = owner ? _chunkSDF5UUTEcjs.getPlatformProductionUrl.call(void 0, owner) : opts.contentOrigin;
1913
1919
  return {
1914
- href: `${origin.replace(/\/+$/, "")}/${seg}/${_optionalChain([slugHint, 'optionalAccess', _69 => _69.trim, 'call', _70 => _70()]) || identifier}`,
1920
+ href: `${origin.replace(/\/+$/, "")}/${seg}/${_optionalChain([slugHint, 'optionalAccess', _70 => _70.trim, 'call', _71 => _71()]) || identifier}`,
1915
1921
  // Report the owner so `decideNewTab` can compare it against the current
1916
1922
  // app instead of falling back to an origin guess (which is unreliable in
1917
1923
  // dev, where every platform shares localhost). `null` whenever the href
@@ -1987,7 +1993,7 @@ function getDocSourceDefaultPath(structure, folderIndexFile = DEFAULT_FOLDER_IND
1987
1993
  const hasRootIndex = structure.some((node) => node.type === "file" && node.path === folderIndexFile);
1988
1994
  if (hasRootIndex) return null;
1989
1995
  const firstFolderWithReadme = structure.find((node) => node.type === "folder" && node.hasReadme && !!node.path);
1990
- return _nullishCoalesce(_optionalChain([firstFolderWithReadme, 'optionalAccess', _71 => _71.path]), () => ( null));
1996
+ return _nullishCoalesce(_optionalChain([firstFolderWithReadme, 'optionalAccess', _72 => _72.path]), () => ( null));
1991
1997
  }
1992
1998
 
1993
1999
  // src/utils/doc-path-utils.ts
@@ -1998,7 +2004,7 @@ function pathToNodeId(path) {
1998
2004
  return path.replace(/[/\s]/g, "-").toLowerCase();
1999
2005
  }
2000
2006
  function normalizeDocPath(segments, folderIndexFile = DEFAULT_FOLDER_INDEX_FILE) {
2001
- const lowerPath = (_optionalChain([segments, 'optionalAccess', _72 => _72.join, 'call', _73 => _73("/")]) || "").toLowerCase();
2007
+ const lowerPath = (_optionalChain([segments, 'optionalAccess', _73 => _73.join, 'call', _74 => _74("/")]) || "").toLowerCase();
2002
2008
  const lowerIndex = folderIndexFile.toLowerCase();
2003
2009
  const suffix = `/${lowerIndex}`;
2004
2010
  if (lowerPath.endsWith(suffix)) return lowerPath.slice(0, -suffix.length);
@@ -2090,7 +2096,7 @@ function extractSections(markdown, options = {}) {
2090
2096
  if (heading.level > opts.maxLevel) continue;
2091
2097
  let title = heading.text;
2092
2098
  if (opts.stripFormattingMarkers) {
2093
- title = _chunkEM4OEWCMcjs.stripInlineMarkdown.call(void 0, title).trim();
2099
+ title = _chunkSDF5UUTEcjs.stripInlineMarkdown.call(void 0, title).trim();
2094
2100
  }
2095
2101
  const baseId = _chunkCSJO7ZGNcjs.slugifyHeadingBase.call(void 0, opts.removeEmojis ? _chunkCSJO7ZGNcjs.stripHeadingEmojis.call(void 0, title) : title);
2096
2102
  const cleanId = baseId || `section-${sections.length + 1}`;
@@ -2356,7 +2362,7 @@ function isValidPathPattern(pattern) {
2356
2362
  return pattern.trim().length > 0 && compile(pattern.trim()) !== null;
2357
2363
  }
2358
2364
  function matchesPathPattern(pathname, pattern) {
2359
- return _nullishCoalesce(_optionalChain([compile, 'call', _74 => _74(pattern.trim()), 'optionalAccess', _75 => _75.test, 'call', _76 => _76(pathname)]), () => ( false));
2365
+ return _nullishCoalesce(_optionalChain([compile, 'call', _75 => _75(pattern.trim()), 'optionalAccess', _76 => _76.test, 'call', _77 => _77(pathname)]), () => ( false));
2360
2366
  }
2361
2367
  function pathMatchesAny(pathname, patterns) {
2362
2368
  return (_nullishCoalesce(patterns, () => ( []))).some((pattern) => matchesPathPattern(pathname, pattern));
@@ -2403,9 +2409,9 @@ function demoClockTimes(seed, options = {}) {
2403
2409
  // src/components/navigation/mingo-ai-button.tsx
2404
2410
 
2405
2411
  function openAskAi(source, options) {
2406
- const prompt = _optionalChain([options, 'optionalAccess', _77 => _77.prompt, 'optionalAccess', _78 => _78.trim, 'call', _79 => _79()]);
2412
+ const prompt = _optionalChain([options, 'optionalAccess', _78 => _78.prompt, 'optionalAccess', _79 => _79.trim, 'call', _80 => _80()]);
2407
2413
  const detail = prompt ? { source: _nullishCoalesce(source, () => ( "")), prompt } : { source: _nullishCoalesce(source, () => ( "")) };
2408
- window.dispatchEvent(new CustomEvent(_chunkEM4OEWCMcjs.ASK_AI_OPEN_EVENT, { detail }));
2414
+ window.dispatchEvent(new CustomEvent(_chunkSDF5UUTEcjs.ASK_AI_OPEN_EVENT, { detail }));
2409
2415
  }
2410
2416
  function MingoAiButton({
2411
2417
  source,
@@ -2422,10 +2428,10 @@ function MingoAiButton({
2422
2428
  const inPage = variant === "button";
2423
2429
  const commandKey = visitor.known && _chunkW2RM764Dcjs.usesCommandKey.call(void 0, visitor.os);
2424
2430
  const assistant = _chunkEWPR7662cjs.useAssistantRuntime.call(void 0, );
2425
- const label = _nullishCoalesce(labelProp, () => ( _optionalChain([assistant, 'optionalAccess', _80 => _80.name])));
2426
- const icon = _nullishCoalesce(iconProp, () => ( _optionalChain([assistant, 'optionalAccess', _81 => _81.icon])));
2427
- const runtimeOpen = _optionalChain([assistant, 'optionalAccess', _82 => _82.open]);
2428
- const eventSource = _nullishCoalesce(source, () => ( _optionalChain([assistant, 'optionalAccess', _83 => _83.source])));
2431
+ const label = _nullishCoalesce(labelProp, () => ( _optionalChain([assistant, 'optionalAccess', _81 => _81.name])));
2432
+ const icon = _nullishCoalesce(iconProp, () => ( _optionalChain([assistant, 'optionalAccess', _82 => _82.icon])));
2433
+ const runtimeOpen = _optionalChain([assistant, 'optionalAccess', _83 => _83.open]);
2434
+ const eventSource = _nullishCoalesce(source, () => ( _optionalChain([assistant, 'optionalAccess', _84 => _84.source])));
2429
2435
  const openRef = _react.useRef.call(void 0, () => void 0);
2430
2436
  _react.useEffect.call(void 0, () => {
2431
2437
  openRef.current = () => runtimeOpen ? runtimeOpen({}) : openAskAi(eventSource);
@@ -2455,7 +2461,7 @@ function MingoAiButton({
2455
2461
  onClick: (e) => {
2456
2462
  if (runtimeOpen) runtimeOpen({});
2457
2463
  else openAskAi(eventSource);
2458
- _optionalChain([onClick, 'optionalCall', _84 => _84(e)]);
2464
+ _optionalChain([onClick, 'optionalCall', _85 => _85(e)]);
2459
2465
  },
2460
2466
  className: _chunk3ATAYP36cjs.cn.call(void 0,
2461
2467
  "group/mingo flex shrink-0 justify-start focus-visible:ring-ods-accent",
@@ -2551,13 +2557,13 @@ function QuestionChips({
2551
2557
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _jsxruntime.Fragment, { children: Array.from({ length: count }, (_, slot) => {
2552
2558
  const prompt = loading ? void 0 : prompts[slot];
2553
2559
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: _nullishCoalesce(slotClassName, () => ( CHIP_SLOT_CLASS)), children: loading ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
2554
- _chunkEM4OEWCMcjs.QuickActionChipSkeleton,
2560
+ _chunkSDF5UUTEcjs.QuickActionChipSkeleton,
2555
2561
  {
2556
2562
  variant: "question",
2557
2563
  labelCh: SKELETON_LABEL_CH[slot % SKELETON_LABEL_CH.length]
2558
2564
  }
2559
2565
  ) : prompt ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
2560
- _chunkEM4OEWCMcjs.QuickActionChipButton,
2566
+ _chunkSDF5UUTEcjs.QuickActionChipButton,
2561
2567
  {
2562
2568
  variant: "question",
2563
2569
  label: prompt.label,
@@ -2566,10 +2572,10 @@ function QuestionChips({
2566
2572
  const request = { prompt: _nullishCoalesce(prompt.prompt, () => ( prompt.label)) };
2567
2573
  if (onOpen) onOpen(request);
2568
2574
  else openAskAi(source, request);
2569
- _optionalChain([onAsk, 'optionalCall', _85 => _85(prompt)]);
2575
+ _optionalChain([onAsk, 'optionalCall', _86 => _86(prompt)]);
2570
2576
  }
2571
2577
  }
2572
- ) : null }, _nullishCoalesce(_optionalChain([prompt, 'optionalAccess', _86 => _86.id]), () => ( `slot-${slot}`)));
2578
+ ) : null }, _nullishCoalesce(_optionalChain([prompt, 'optionalAccess', _87 => _87.id]), () => ( `slot-${slot}`)));
2573
2579
  }) });
2574
2580
  }
2575
2581
  function AskPrompts({
@@ -2589,7 +2595,7 @@ function AskPrompts({
2589
2595
  if (!loading && prompts.length === 0) return null;
2590
2596
  const end = align === "end";
2591
2597
  return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
2592
- _chunkEM4OEWCMcjs.ScrollShadow,
2598
+ _chunkSDF5UUTEcjs.ScrollShadow,
2593
2599
  {
2594
2600
  axis: "horizontal",
2595
2601
  color: fadeColor,
@@ -2680,7 +2686,7 @@ function buildAskPromptsUrl(base, { count, topic, exclude = [] }) {
2680
2686
  return `${base}${base.includes("?") ? "&" : "?"}${params.toString()}`;
2681
2687
  }
2682
2688
  function assistantAvailable(assistant) {
2683
- return !!_optionalChain([assistant, 'optionalAccess', _87 => _87.available]);
2689
+ return !!_optionalChain([assistant, 'optionalAccess', _88 => _88.available]);
2684
2690
  }
2685
2691
  function useAskPrompts({
2686
2692
  topic,
@@ -2691,14 +2697,14 @@ function useAskPrompts({
2691
2697
  const assistant = _chunkEWPR7662cjs.useAssistantRuntime.call(void 0, );
2692
2698
  const base = assistantAvailable(assistant) ? assistant.askPromptsUrl : void 0;
2693
2699
  const url = base && enabled ? buildAskPromptsUrl(base, { count, topic, exclude }) : null;
2694
- const { data, dataUrl, error } = _chunk4PEG4JTMcjs.useSelfFetch.call(void 0, url);
2700
+ const { data, dataUrl, error } = _chunkB27XV2TCcjs.useSelfFetch.call(void 0, url);
2695
2701
  const landed = url !== null && (dataUrl === url || error);
2696
- return { prompts: landed ? _nullishCoalesce(_optionalChain([data, 'optionalAccess', _88 => _88.prompts]), () => ( [])) : [], isLoading: !!base && !landed, supported: !!base };
2702
+ return { prompts: landed ? _nullishCoalesce(_optionalChain([data, 'optionalAccess', _89 => _89.prompts]), () => ( [])) : [], isLoading: !!base && !landed, supported: !!base };
2697
2703
  }
2698
2704
  function useAssistantOpen(topic, onOpen) {
2699
2705
  const assistant = _chunkEWPR7662cjs.useAssistantRuntime.call(void 0, );
2700
- const runtimeOpen = _optionalChain([assistant, 'optionalAccess', _89 => _89.open]);
2701
- const source = _optionalChain([assistant, 'optionalAccess', _90 => _90.source]);
2706
+ const runtimeOpen = _optionalChain([assistant, 'optionalAccess', _90 => _90.open]);
2707
+ const source = _optionalChain([assistant, 'optionalAccess', _91 => _91.source]);
2702
2708
  return _react.useCallback.call(void 0,
2703
2709
  (request) => {
2704
2710
  const full = { ...request, topic };
@@ -2724,7 +2730,7 @@ function createAskQueue() {
2724
2730
  },
2725
2731
  settle(surface, ids) {
2726
2732
  const entry = entries.get(surface);
2727
- if (!entry || (_nullishCoalesce(_optionalChain([entry, 'access', _91 => _91.ids, 'optionalAccess', _92 => _92.join, 'call', _93 => _93(",")]), () => ( null))) === (_nullishCoalesce(_optionalChain([ids, 'optionalAccess', _94 => _94.join, 'call', _95 => _95(",")]), () => ( null)))) return;
2733
+ if (!entry || (_nullishCoalesce(_optionalChain([entry, 'access', _92 => _92.ids, 'optionalAccess', _93 => _93.join, 'call', _94 => _94(",")]), () => ( null))) === (_nullishCoalesce(_optionalChain([ids, 'optionalAccess', _95 => _95.join, 'call', _96 => _96(",")]), () => ( null)))) return;
2728
2734
  entry.ids = ids;
2729
2735
  publish();
2730
2736
  },
@@ -2753,7 +2759,7 @@ function createAskQueue() {
2753
2759
  }
2754
2760
  var askQueues = /* @__PURE__ */ new Map();
2755
2761
  function useAskQueue() {
2756
- const scope = _nullishCoalesce(_optionalChain([_chunkEWPR7662cjs.useAssistantRuntime.call(void 0, ), 'optionalAccess', _96 => _96.askPromptsUrl]), () => ( ""));
2762
+ const scope = _nullishCoalesce(_optionalChain([_chunkEWPR7662cjs.useAssistantRuntime.call(void 0, ), 'optionalAccess', _97 => _97.askPromptsUrl]), () => ( ""));
2757
2763
  let queue = askQueues.get(scope);
2758
2764
  if (!queue) {
2759
2765
  queue = createAskQueue();
@@ -2798,8 +2804,8 @@ function useAskSurface({
2798
2804
  }, [queue, surface, settled]);
2799
2805
  const open = useAssistantOpen(topic, onOpen);
2800
2806
  const scoped = _react.useMemo.call(void 0, () => assistant ? { ...assistant, open } : null, [assistant, open]);
2801
- const onAsk = _optionalChain([assistant, 'optionalAccess', _97 => _97.onAsk]);
2802
- const reportAsk = _react.useCallback.call(void 0, (prompt) => _optionalChain([onAsk, 'optionalCall', _98 => _98({ promptId: prompt.id, topic })]), [onAsk, topic]);
2807
+ const onAsk = _optionalChain([assistant, 'optionalAccess', _98 => _98.onAsk]);
2808
+ const reportAsk = _react.useCallback.call(void 0, (prompt) => _optionalChain([onAsk, 'optionalCall', _99 => _99({ promptId: prompt.id, topic })]), [onAsk, topic]);
2803
2809
  return { assistant, scoped, prompts, isLoading: supported && (!picks || isLoading), supported, open, reportAsk };
2804
2810
  }
2805
2811
 
@@ -2827,7 +2833,7 @@ function AssistantAskPrompts({
2827
2833
  }) {
2828
2834
  const card = variant === "card";
2829
2835
  const assistant = _chunkEWPR7662cjs.useAssistantRuntime.call(void 0, );
2830
- const slots = _nullishCoalesce(_nullishCoalesce(count, () => ( (card ? _optionalChain([assistant, 'optionalAccess', _99 => _99.askCard, 'optionalAccess', _100 => _100.count]) : void 0))), () => ( ASK_PROMPTS_DEFAULT_COUNT));
2836
+ const slots = _nullishCoalesce(_nullishCoalesce(count, () => ( (card ? _optionalChain([assistant, 'optionalAccess', _100 => _100.askCard, 'optionalAccess', _101 => _101.count]) : void 0))), () => ( ASK_PROMPTS_DEFAULT_COUNT));
2831
2837
  const ask = useAskSurface({ topic, count: slots, exclude, enabled, onOpen });
2832
2838
  if (!assistantAvailable(assistant)) return null;
2833
2839
  const shared = {
@@ -2841,12 +2847,12 @@ function AssistantAskPrompts({
2841
2847
  if (card) {
2842
2848
  const name = _nullishCoalesce(label, () => ( assistant.name));
2843
2849
  if (!name) return null;
2844
- const words2 = _nullishCoalesce(_nullishCoalesce(description, () => ( _optionalChain([assistant, 'access', _101 => _101.askCard, 'optionalAccess', _102 => _102.description]))), () => ( DEFAULT_ASK_CARD.description));
2850
+ const words2 = _nullishCoalesce(_nullishCoalesce(description, () => ( _optionalChain([assistant, 'access', _102 => _102.askCard, 'optionalAccess', _103 => _103.description]))), () => ( DEFAULT_ASK_CARD.description));
2845
2851
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkEWPR7662cjs.AssistantRuntimeContext.Provider, { value: ask.scoped, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
2846
2852
  AskCard,
2847
2853
  {
2848
2854
  ...shared,
2849
- title: fillAssistant(_nullishCoalesce(_nullishCoalesce(title, () => ( _optionalChain([assistant, 'access', _103 => _103.askCard, 'optionalAccess', _104 => _104.title]))), () => ( DEFAULT_ASK_CARD.title)), name),
2855
+ title: fillAssistant(_nullishCoalesce(_nullishCoalesce(title, () => ( _optionalChain([assistant, 'access', _104 => _104.askCard, 'optionalAccess', _105 => _105.title]))), () => ( DEFAULT_ASK_CARD.title)), name),
2850
2856
  description: words2 ? fillAssistant(words2, name) : void 0,
2851
2857
  count: ask.supported ? slots : 0,
2852
2858
  label: name,
@@ -2893,7 +2899,7 @@ function QuickActionMarquee({
2893
2899
  );
2894
2900
  if (items.length === 0) return null;
2895
2901
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
2896
- _chunkEM4OEWCMcjs.QuickActionWall,
2902
+ _chunkSDF5UUTEcjs.QuickActionWall,
2897
2903
  {
2898
2904
  chips,
2899
2905
  mode,
@@ -2956,7 +2962,7 @@ var ChatTicketItem = _react.forwardRef.call(void 0,
2956
2962
  {
2957
2963
  ref,
2958
2964
  type: "button",
2959
- onClick: () => _optionalChain([onClick, 'optionalCall', _105 => _105(ticket.id)]),
2965
+ onClick: () => _optionalChain([onClick, 'optionalCall', _106 => _106(ticket.id)]),
2960
2966
  className: _chunk3ATAYP36cjs.cn.call(void 0,
2961
2967
  "flex h-20 w-full items-center gap-4 px-4",
2962
2968
  "border-b border-ods-border bg-ods-card",
@@ -3027,7 +3033,7 @@ ChatTicketItem.displayName = "ChatTicketItem";
3027
3033
 
3028
3034
  var ChatTicketList = _react.forwardRef.call(void 0,
3029
3035
  ({ className, tickets, onTicketClick, isLoading = false, skeletonCount = 5, ...props }, ref) => {
3030
- const { scrollRef, fadeTop, fadeBottom, update: updateFade } = _chunkEM4OEWCMcjs.useScrollFade.call(void 0, );
3036
+ const { scrollRef, fadeTop, fadeBottom, update: updateFade } = _chunkSDF5UUTEcjs.useScrollFade.call(void 0, );
3031
3037
  if (isLoading) {
3032
3038
  return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { ref, className: _chunk3ATAYP36cjs.cn.call(void 0, "flex min-h-0 flex-col gap-2", className), ...props, children: [
3033
3039
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { className: "shrink-0 text-ods-text-secondary text-h5", children: "Your Chats:" }),
@@ -3047,8 +3053,8 @@ var ChatTicketList = _react.forwardRef.call(void 0,
3047
3053
  ),
3048
3054
  children: [
3049
3055
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { ref: scrollRef, className: "h-full overflow-y-auto overscroll-contain", onScroll: updateFade, children: tickets.map((ticket) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, ChatTicketItem, { ticket, onClick: onTicketClick }, ticket.id)) }),
3050
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkEM4OEWCMcjs.ScrollFadeOverlay, { edge: "top", visible: fadeTop }),
3051
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkEM4OEWCMcjs.ScrollFadeOverlay, { edge: "bottom", visible: fadeBottom })
3056
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkSDF5UUTEcjs.ScrollFadeOverlay, { edge: "top", visible: fadeTop }),
3057
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkSDF5UUTEcjs.ScrollFadeOverlay, { edge: "bottom", visible: fadeBottom })
3052
3058
  ]
3053
3059
  }
3054
3060
  )
@@ -3121,8 +3127,8 @@ ChatSidebarSkeleton.displayName = "ChatSidebarSkeleton";
3121
3127
  var DialogListItem = _react.forwardRef.call(void 0,
3122
3128
  ({ className, dialog, isActive, onDialogSelect, onClick, ...props }, ref) => {
3123
3129
  const handleClick = (e) => {
3124
- _optionalChain([onDialogSelect, 'optionalCall', _106 => _106(dialog.id)]);
3125
- _optionalChain([onClick, 'optionalCall', _107 => _107(e)]);
3130
+ _optionalChain([onDialogSelect, 'optionalCall', _107 => _107(dialog.id)]);
3131
+ _optionalChain([onClick, 'optionalCall', _108 => _108(e)]);
3126
3132
  };
3127
3133
  const formatTimestamp = (timestamp) => {
3128
3134
  return _chunkJHQNUWFMcjs.formatDateWithTimezone.call(void 0, timestamp, _chunkJHQNUWFMcjs.VIEWER_TIMEZONE, "numericDateTime24h");
@@ -3195,7 +3201,7 @@ var ChatSidebar = _react.forwardRef.call(void 0,
3195
3201
  (entries) => {
3196
3202
  const [entry] = entries;
3197
3203
  if (entry.isIntersecting && !isFetchingRef.current) {
3198
- _optionalChain([onLoadMoreRef, 'access', _108 => _108.current, 'optionalCall', _109 => _109()]);
3204
+ _optionalChain([onLoadMoreRef, 'access', _109 => _109.current, 'optionalCall', _110 => _110()]);
3199
3205
  }
3200
3206
  },
3201
3207
  { root: scrollContainer, rootMargin: "100px", threshold: 0.1 }
@@ -3410,7 +3416,7 @@ function OnboardingCarousel({
3410
3416
  " of ",
3411
3417
  steps.length,
3412
3418
  ": ",
3413
- _optionalChain([steps, 'access', _110 => _110[index], 'optionalAccess', _111 => _111.title])
3419
+ _optionalChain([steps, 'access', _111 => _111[index], 'optionalAccess', _112 => _112.title])
3414
3420
  ] }),
3415
3421
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "flex items-center", role: "group", "aria-label": "Choose step", children: steps.map((step, i) => {
3416
3422
  const isCurrent = i === index;
@@ -3498,23 +3504,23 @@ function SlackMessageCard({ item, variant = "compact", className, anchorProps })
3498
3504
  metaParts.push(
3499
3505
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "whitespace-nowrap", children: dateText }, "date")
3500
3506
  );
3501
- const href = _chunk35RU25PJcjs.safeHref.call(void 0, item.url);
3507
+ const href = _chunk7Z4EQOIXcjs.safeHref.call(void 0, item.url);
3502
3508
  const body = /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _jsxruntime.Fragment, { children: [
3503
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: _chunk35RU25PJcjs.COMPACT_CARD_ICON_SLOT, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkOWDRZM73cjs.SlackIcon, { className: "h-5 w-5" }) }),
3504
- /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: _chunk35RU25PJcjs.COMPACT_CARD_TEXT_COL, children: [
3505
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: _chunk35RU25PJcjs.COMPACT_CARD_TITLE_ROW, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: _chunk35RU25PJcjs.COMPACT_CARD_TITLE, children: item.title }) }),
3506
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: _chunk35RU25PJcjs.COMPACT_CARD_META_ROW_BOX, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: _chunk35RU25PJcjs.COMPACT_CARD_SUMMARY, children: item.preview || _chunk35RU25PJcjs.COMPACT_CARD_ROW_FILLER }) }),
3507
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: _chunk35RU25PJcjs.COMPACT_CARD_META_ROW_BOX, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: _chunk35RU25PJcjs.COMPACT_CARD_META_ROW, children: metaParts.length > 0 ? metaParts.map((part, i) => /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _react2.default.Fragment, { children: [
3509
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: _chunk7Z4EQOIXcjs.COMPACT_CARD_ICON_SLOT, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkOWDRZM73cjs.SlackIcon, { className: "h-5 w-5" }) }),
3510
+ /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: _chunk7Z4EQOIXcjs.COMPACT_CARD_TEXT_COL, children: [
3511
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: _chunk7Z4EQOIXcjs.COMPACT_CARD_TITLE_ROW, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: _chunk7Z4EQOIXcjs.COMPACT_CARD_TITLE, children: item.title }) }),
3512
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: _chunk7Z4EQOIXcjs.COMPACT_CARD_META_ROW_BOX, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: _chunk7Z4EQOIXcjs.COMPACT_CARD_SUMMARY, children: item.preview || _chunk7Z4EQOIXcjs.COMPACT_CARD_ROW_FILLER }) }),
3513
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: _chunk7Z4EQOIXcjs.COMPACT_CARD_META_ROW_BOX, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: _chunk7Z4EQOIXcjs.COMPACT_CARD_META_ROW, children: metaParts.length > 0 ? metaParts.map((part, i) => /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _react2.default.Fragment, { children: [
3508
3514
  i > 0 ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "shrink-0 text-ods-text-secondary/40", children: "\xB7" }) : null,
3509
3515
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "min-w-0 truncate", children: part })
3510
- ] }, i)) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: _chunk35RU25PJcjs.COMPACT_CARD_SUMMARY, children: _chunk35RU25PJcjs.COMPACT_CARD_ROW_FILLER }) }) })
3516
+ ] }, i)) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: _chunk7Z4EQOIXcjs.COMPACT_CARD_SUMMARY, children: _chunk7Z4EQOIXcjs.COMPACT_CARD_ROW_FILLER }) }) })
3511
3517
  ] }),
3512
3518
  href ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "flex h-5 shrink-0 items-center self-start text-ods-text-secondary", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _lucidereact.ExternalLink, { className: "h-3.5 w-3.5" }) }) : null
3513
3519
  ] });
3514
3520
  if (anchorProps) {
3515
- return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkV45KLJQPcjs.next_link_default, { ...anchorProps, className: `${_chunk35RU25PJcjs.COMPACT_CARD_OUTER} ${_nullishCoalesce(className, () => ( ""))}`, children: body });
3521
+ return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkV45KLJQPcjs.next_link_default, { ...anchorProps, className: `${_chunk7Z4EQOIXcjs.COMPACT_CARD_OUTER} ${_nullishCoalesce(className, () => ( ""))}`, children: body });
3516
3522
  }
3517
- return href ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkV45KLJQPcjs.next_link_default, { href, target: "_blank", rel: "noopener noreferrer", className: `${_chunk35RU25PJcjs.COMPACT_CARD_OUTER} ${_nullishCoalesce(className, () => ( ""))}`, children: body }) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: `${_chunk35RU25PJcjs.COMPACT_CARD_OUTER_STATIC} ${_nullishCoalesce(className, () => ( ""))}`, "aria-label": "No link available", children: body });
3523
+ return href ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkV45KLJQPcjs.next_link_default, { href, target: "_blank", rel: "noopener noreferrer", className: `${_chunk7Z4EQOIXcjs.COMPACT_CARD_OUTER} ${_nullishCoalesce(className, () => ( ""))}`, children: body }) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: `${_chunk7Z4EQOIXcjs.COMPACT_CARD_OUTER_STATIC} ${_nullishCoalesce(className, () => ( ""))}`, "aria-label": "No link available", children: body });
3518
3524
  }
3519
3525
  function SlackMessageCardSkeleton({
3520
3526
  variant = "compact",
@@ -3529,12 +3535,12 @@ function SlackMessageCardSkeleton({
3529
3535
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkH3RYUTNDcjs.UnifiedSkeleton, { className: "h-3 w-20 shrink-0 rounded" })
3530
3536
  ] });
3531
3537
  }
3532
- return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: `${_chunk35RU25PJcjs.COMPACT_CARD_SKELETON_OUTER} ${_nullishCoalesce(className, () => ( ""))}`, children: [
3533
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkH3RYUTNDcjs.UnifiedSkeleton, { as: "span", className: _chunk35RU25PJcjs.COMPACT_CARD_SKELETON_IMAGE_SLOT }),
3534
- /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: _chunk35RU25PJcjs.COMPACT_CARD_TEXT_COL, children: [
3535
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: _chunk35RU25PJcjs.COMPACT_CARD_TITLE_ROW, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkH3RYUTNDcjs.UnifiedSkeleton, { as: "span", className: "h-3.5 w-2/3 rounded" }) }),
3536
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: _chunk35RU25PJcjs.COMPACT_CARD_META_ROW_BOX, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkH3RYUTNDcjs.UnifiedSkeleton, { as: "span", className: "h-3 w-5/6 rounded" }) }),
3537
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: _chunk35RU25PJcjs.COMPACT_CARD_META_ROW_BOX, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkH3RYUTNDcjs.UnifiedSkeleton, { as: "span", className: "h-3 w-1/3 rounded" }) })
3538
+ return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: `${_chunk7Z4EQOIXcjs.COMPACT_CARD_SKELETON_OUTER} ${_nullishCoalesce(className, () => ( ""))}`, children: [
3539
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkH3RYUTNDcjs.UnifiedSkeleton, { as: "span", className: _chunk7Z4EQOIXcjs.COMPACT_CARD_SKELETON_IMAGE_SLOT }),
3540
+ /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: _chunk7Z4EQOIXcjs.COMPACT_CARD_TEXT_COL, children: [
3541
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: _chunk7Z4EQOIXcjs.COMPACT_CARD_TITLE_ROW, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkH3RYUTNDcjs.UnifiedSkeleton, { as: "span", className: "h-3.5 w-2/3 rounded" }) }),
3542
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: _chunk7Z4EQOIXcjs.COMPACT_CARD_META_ROW_BOX, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkH3RYUTNDcjs.UnifiedSkeleton, { as: "span", className: "h-3 w-5/6 rounded" }) }),
3543
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: _chunk7Z4EQOIXcjs.COMPACT_CARD_META_ROW_BOX, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkH3RYUTNDcjs.UnifiedSkeleton, { as: "span", className: "h-3 w-1/3 rounded" }) })
3538
3544
  ] }),
3539
3545
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "flex h-5 shrink-0 items-center self-start", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkH3RYUTNDcjs.UnifiedSkeleton, { as: "span", className: "h-3.5 w-3.5 rounded" }) })
3540
3546
  ] });
@@ -3570,7 +3576,7 @@ function HubspotTicketCard({ item, variant = "compact", className, anchorProps }
3570
3576
  return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: `flex min-w-0 items-center gap-3 ${_nullishCoalesce(className, () => ( ""))}`, children: [
3571
3577
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "max-w-[260px] shrink-0 truncate text-ods-text-primary text-h6", children: item.title }),
3572
3578
  item.preview ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "min-w-0 flex-1 truncate text-ods-text-secondary text-h6", children: item.preview }) : null,
3573
- statusText ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk35RU25PJcjs.StatusBadge, { text: statusText, variant: "button", colorScheme: statusScheme(item.status) }) : null,
3579
+ statusText ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk7Z4EQOIXcjs.StatusBadge, { text: statusText, variant: "button", colorScheme: statusScheme(item.status) }) : null,
3574
3580
  dateText ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "w-24 shrink-0 text-right text-ods-text-secondary text-h6", children: dateText }) : null
3575
3581
  ] });
3576
3582
  }
@@ -3584,13 +3590,13 @@ function HubspotTicketCard({ item, variant = "compact", className, anchorProps }
3584
3590
  metaParts.push(
3585
3591
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "whitespace-nowrap", children: dateText }, "date")
3586
3592
  );
3587
- const href = _chunk35RU25PJcjs.safeHref.call(void 0, item.url);
3593
+ const href = _chunk7Z4EQOIXcjs.safeHref.call(void 0, item.url);
3588
3594
  const body = /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _jsxruntime.Fragment, { children: [
3589
- /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: _chunk35RU25PJcjs.COMPACT_CARD_TEXT_COL, children: [
3595
+ /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: _chunk7Z4EQOIXcjs.COMPACT_CARD_TEXT_COL, children: [
3590
3596
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: "flex min-w-0 flex-wrap items-center gap-1.5", children: [
3591
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: `${_chunk35RU25PJcjs.COMPACT_CARD_TITLE} min-w-0 shrink`, children: item.title }),
3597
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: `${_chunk7Z4EQOIXcjs.COMPACT_CARD_TITLE} min-w-0 shrink`, children: item.title }),
3592
3598
  priorityText ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
3593
- _chunk35RU25PJcjs.StatusBadge,
3599
+ _chunk7Z4EQOIXcjs.StatusBadge,
3594
3600
  {
3595
3601
  text: priorityText,
3596
3602
  variant: "button",
@@ -3599,7 +3605,7 @@ function HubspotTicketCard({ item, variant = "compact", className, anchorProps }
3599
3605
  }
3600
3606
  ) : null,
3601
3607
  statusText ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
3602
- _chunk35RU25PJcjs.StatusBadge,
3608
+ _chunk7Z4EQOIXcjs.StatusBadge,
3603
3609
  {
3604
3610
  text: statusText,
3605
3611
  variant: "button",
@@ -3613,7 +3619,7 @@ function HubspotTicketCard({ item, variant = "compact", className, anchorProps }
3613
3619
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "min-w-0 truncate", children: item.customerEmail })
3614
3620
  ] }) : null,
3615
3621
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "flex min-w-0", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "line-clamp-4 whitespace-pre-wrap break-words text-ods-text-secondary text-h6", children: item.preview || /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "italic text-ods-text-secondary/60", children: "No description provided." }) }) }),
3616
- metaParts.length > 0 ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: _chunk35RU25PJcjs.COMPACT_CARD_META_ROW_BOX, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: _chunk35RU25PJcjs.COMPACT_CARD_META_ROW, children: metaParts.map((part, i) => /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _react2.default.Fragment, { children: [
3622
+ metaParts.length > 0 ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: _chunk7Z4EQOIXcjs.COMPACT_CARD_META_ROW_BOX, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: _chunk7Z4EQOIXcjs.COMPACT_CARD_META_ROW, children: metaParts.map((part, i) => /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _react2.default.Fragment, { children: [
3617
3623
  i > 0 ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "shrink-0 text-ods-text-secondary/40", children: "\xB7" }) : null,
3618
3624
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "min-w-0 truncate", children: part })
3619
3625
  ] }, i)) }) }) : null
@@ -3621,9 +3627,9 @@ function HubspotTicketCard({ item, variant = "compact", className, anchorProps }
3621
3627
  href ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "flex h-5 shrink-0 items-center self-start text-ods-text-secondary", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _lucidereact.ExternalLink, { className: "h-3.5 w-3.5" }) }) : null
3622
3628
  ] });
3623
3629
  if (anchorProps) {
3624
- return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkV45KLJQPcjs.next_link_default, { ...anchorProps, className: `${_chunk35RU25PJcjs.COMPACT_CARD_OUTER} ${_nullishCoalesce(className, () => ( ""))}`, children: body });
3630
+ return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkV45KLJQPcjs.next_link_default, { ...anchorProps, className: `${_chunk7Z4EQOIXcjs.COMPACT_CARD_OUTER} ${_nullishCoalesce(className, () => ( ""))}`, children: body });
3625
3631
  }
3626
- return href ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkV45KLJQPcjs.next_link_default, { href, target: "_blank", rel: "noopener noreferrer", className: `${_chunk35RU25PJcjs.COMPACT_CARD_OUTER} ${_nullishCoalesce(className, () => ( ""))}`, children: body }) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: `${_chunk35RU25PJcjs.COMPACT_CARD_OUTER_STATIC} ${_nullishCoalesce(className, () => ( ""))}`, "aria-label": "No link available", children: body });
3632
+ return href ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkV45KLJQPcjs.next_link_default, { href, target: "_blank", rel: "noopener noreferrer", className: `${_chunk7Z4EQOIXcjs.COMPACT_CARD_OUTER} ${_nullishCoalesce(className, () => ( ""))}`, children: body }) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: `${_chunk7Z4EQOIXcjs.COMPACT_CARD_OUTER_STATIC} ${_nullishCoalesce(className, () => ( ""))}`, "aria-label": "No link available", children: body });
3627
3633
  }
3628
3634
  function HubspotTicketCardSkeleton({
3629
3635
  variant = "compact",
@@ -3637,8 +3643,8 @@ function HubspotTicketCardSkeleton({
3637
3643
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkH3RYUTNDcjs.UnifiedSkeleton, { className: "h-3 w-20 shrink-0 rounded" })
3638
3644
  ] });
3639
3645
  }
3640
- return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: `${_chunk35RU25PJcjs.COMPACT_CARD_SKELETON_OUTER} ${_nullishCoalesce(className, () => ( ""))}`, children: [
3641
- /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: _chunk35RU25PJcjs.COMPACT_CARD_TEXT_COL, children: [
3646
+ return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: `${_chunk7Z4EQOIXcjs.COMPACT_CARD_SKELETON_OUTER} ${_nullishCoalesce(className, () => ( ""))}`, children: [
3647
+ /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: _chunk7Z4EQOIXcjs.COMPACT_CARD_TEXT_COL, children: [
3642
3648
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: "flex min-w-0 flex-wrap items-center gap-1.5", children: [
3643
3649
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkH3RYUTNDcjs.UnifiedSkeleton, { as: "span", className: "h-3.5 w-2/3 rounded" }),
3644
3650
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkH3RYUTNDcjs.UnifiedSkeleton, { as: "span", className: "h-4 w-12 rounded-full" }),
@@ -3651,7 +3657,7 @@ function HubspotTicketCardSkeleton({
3651
3657
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkH3RYUTNDcjs.UnifiedSkeleton, { as: "span", className: "h-5 w-3/4 rounded" }),
3652
3658
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkH3RYUTNDcjs.UnifiedSkeleton, { as: "span", className: "h-5 w-2/5 rounded" })
3653
3659
  ] }),
3654
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: _chunk35RU25PJcjs.COMPACT_CARD_META_ROW_BOX, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkH3RYUTNDcjs.UnifiedSkeleton, { as: "span", className: "h-3 w-1/3 rounded" }) })
3660
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: _chunk7Z4EQOIXcjs.COMPACT_CARD_META_ROW_BOX, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkH3RYUTNDcjs.UnifiedSkeleton, { as: "span", className: "h-3 w-1/3 rounded" }) })
3655
3661
  ] }),
3656
3662
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "flex h-5 shrink-0 items-center self-start", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkH3RYUTNDcjs.UnifiedSkeleton, { as: "span", className: "h-3.5 w-3.5 rounded" }) })
3657
3663
  ] });
@@ -3662,10 +3668,10 @@ function HubspotTicketCardSkeleton({
3662
3668
 
3663
3669
  function DataRoomDocCard({ item, className, badgeText, anchorProps }) {
3664
3670
  const body = /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _jsxruntime.Fragment, { children: [
3665
- /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: _chunk35RU25PJcjs.COMPACT_CARD_TEXT_COL, children: [
3671
+ /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: _chunk7Z4EQOIXcjs.COMPACT_CARD_TEXT_COL, children: [
3666
3672
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: "flex min-w-0 flex-wrap items-center gap-1.5", children: [
3667
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: `${_chunk35RU25PJcjs.COMPACT_CARD_TITLE} min-w-0 shrink`, children: item.title }),
3668
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk35RU25PJcjs.StatusBadge, { text: badgeText, variant: "button", colorScheme: "cyan", className: "shrink-0" })
3673
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: `${_chunk7Z4EQOIXcjs.COMPACT_CARD_TITLE} min-w-0 shrink`, children: item.title }),
3674
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk7Z4EQOIXcjs.StatusBadge, { text: badgeText, variant: "button", colorScheme: "cyan", className: "shrink-0" })
3669
3675
  ] }),
3670
3676
  item.path ? /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: "flex min-w-0 items-center gap-1 text-ods-text-secondary text-h6", children: [
3671
3677
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "shrink-0 text-ods-text-secondary/70", children: "Path:" }),
@@ -3673,16 +3679,16 @@ function DataRoomDocCard({ item, className, badgeText, anchorProps }) {
3673
3679
  ] }) : null,
3674
3680
  item.preview ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "flex min-w-0", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "line-clamp-2 whitespace-pre-wrap break-words text-ods-text-secondary text-h6", children: item.preview }) }) : null
3675
3681
  ] }),
3676
- _optionalChain([anchorProps, 'optionalAccess', _112 => _112.href]) ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "flex h-5 shrink-0 items-center self-start text-ods-text-secondary", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _lucidereact.ExternalLink, { className: "h-3.5 w-3.5" }) }) : null
3682
+ _optionalChain([anchorProps, 'optionalAccess', _113 => _113.href]) ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "flex h-5 shrink-0 items-center self-start text-ods-text-secondary", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _lucidereact.ExternalLink, { className: "h-3.5 w-3.5" }) }) : null
3677
3683
  ] });
3678
3684
  if (!anchorProps) {
3679
- return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: `${_chunk35RU25PJcjs.COMPACT_CARD_OUTER_STATIC} ${_nullishCoalesce(className, () => ( ""))}`, "aria-label": "No link available", children: body });
3685
+ return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: `${_chunk7Z4EQOIXcjs.COMPACT_CARD_OUTER_STATIC} ${_nullishCoalesce(className, () => ( ""))}`, "aria-label": "No link available", children: body });
3680
3686
  }
3681
- return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkV45KLJQPcjs.next_link_default, { ...anchorProps, className: `${_chunk35RU25PJcjs.COMPACT_CARD_OUTER} ${_nullishCoalesce(className, () => ( ""))}`, children: body });
3687
+ return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkV45KLJQPcjs.next_link_default, { ...anchorProps, className: `${_chunk7Z4EQOIXcjs.COMPACT_CARD_OUTER} ${_nullishCoalesce(className, () => ( ""))}`, children: body });
3682
3688
  }
3683
3689
  function DataRoomDocCardSkeleton({ className }) {
3684
- return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: `${_chunk35RU25PJcjs.COMPACT_CARD_SKELETON_OUTER} ${_nullishCoalesce(className, () => ( ""))}`, children: [
3685
- /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: _chunk35RU25PJcjs.COMPACT_CARD_TEXT_COL, children: [
3690
+ return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: `${_chunk7Z4EQOIXcjs.COMPACT_CARD_SKELETON_OUTER} ${_nullishCoalesce(className, () => ( ""))}`, children: [
3691
+ /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: _chunk7Z4EQOIXcjs.COMPACT_CARD_TEXT_COL, children: [
3686
3692
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: "flex min-w-0 items-center gap-1.5", children: [
3687
3693
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkH3RYUTNDcjs.UnifiedSkeleton, { as: "span", className: "h-3.5 w-2/3 rounded" }),
3688
3694
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkH3RYUTNDcjs.UnifiedSkeleton, { as: "span", className: "h-4 w-16 rounded-full" })
@@ -3701,14 +3707,14 @@ function DataRoomDocCardSkeleton({ className }) {
3701
3707
 
3702
3708
 
3703
3709
  function GenericEntityCard({ item, className, anchorProps }) {
3704
- const href = _chunk35RU25PJcjs.safeHref.call(void 0, item.url);
3710
+ const href = _chunk7Z4EQOIXcjs.safeHref.call(void 0, item.url);
3705
3711
  const dateText = _chunkJHQNUWFMcjs.formatDateUTC.call(void 0, item.dateUpdated, { fallback: "", timezone: "local" });
3706
3712
  const body = /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _jsxruntime.Fragment, { children: [
3707
- /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: _chunk35RU25PJcjs.COMPACT_CARD_TEXT_COL, children: [
3713
+ /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: _chunk7Z4EQOIXcjs.COMPACT_CARD_TEXT_COL, children: [
3708
3714
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: "flex min-w-0 flex-wrap items-center gap-1.5", children: [
3709
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: `${_chunk35RU25PJcjs.COMPACT_CARD_TITLE} min-w-0 shrink`, children: item.title }),
3715
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: `${_chunk7Z4EQOIXcjs.COMPACT_CARD_TITLE} min-w-0 shrink`, children: item.title }),
3710
3716
  item.badge ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
3711
- _chunk35RU25PJcjs.StatusBadge,
3717
+ _chunk7Z4EQOIXcjs.StatusBadge,
3712
3718
  {
3713
3719
  text: item.badge.text,
3714
3720
  variant: "button",
@@ -3726,18 +3732,18 @@ function GenericEntityCard({ item, className, anchorProps }) {
3726
3732
  ] }),
3727
3733
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "truncate font-medium text-ods-text-primary", children: f.value })
3728
3734
  ] }, i)) }) : null,
3729
- dateText ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: _chunk35RU25PJcjs.COMPACT_CARD_META_ROW_BOX, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: _chunk35RU25PJcjs.COMPACT_CARD_META_ROW, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "whitespace-nowrap", children: dateText }) }) }) : null
3735
+ dateText ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: _chunk7Z4EQOIXcjs.COMPACT_CARD_META_ROW_BOX, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: _chunk7Z4EQOIXcjs.COMPACT_CARD_META_ROW, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "whitespace-nowrap", children: dateText }) }) }) : null
3730
3736
  ] }),
3731
3737
  href ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "flex h-5 shrink-0 items-center self-start text-ods-text-secondary", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _lucidereact.ExternalLink, { className: "h-3.5 w-3.5" }) }) : null
3732
3738
  ] });
3733
3739
  if (anchorProps) {
3734
- return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkV45KLJQPcjs.next_link_default, { ...anchorProps, className: `${_chunk35RU25PJcjs.COMPACT_CARD_OUTER} ${_nullishCoalesce(className, () => ( ""))}`, children: body });
3740
+ return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkV45KLJQPcjs.next_link_default, { ...anchorProps, className: `${_chunk7Z4EQOIXcjs.COMPACT_CARD_OUTER} ${_nullishCoalesce(className, () => ( ""))}`, children: body });
3735
3741
  }
3736
- return href ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkV45KLJQPcjs.next_link_default, { href, className: `${_chunk35RU25PJcjs.COMPACT_CARD_OUTER} ${_nullishCoalesce(className, () => ( ""))}`, children: body }) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: `${_chunk35RU25PJcjs.COMPACT_CARD_OUTER_STATIC} ${_nullishCoalesce(className, () => ( ""))}`, "aria-label": "No link available", children: body });
3742
+ return href ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkV45KLJQPcjs.next_link_default, { href, className: `${_chunk7Z4EQOIXcjs.COMPACT_CARD_OUTER} ${_nullishCoalesce(className, () => ( ""))}`, children: body }) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: `${_chunk7Z4EQOIXcjs.COMPACT_CARD_OUTER_STATIC} ${_nullishCoalesce(className, () => ( ""))}`, "aria-label": "No link available", children: body });
3737
3743
  }
3738
3744
  function GenericEntityCardSkeleton({ className }) {
3739
- return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: `${_chunk35RU25PJcjs.COMPACT_CARD_SKELETON_OUTER} ${_nullishCoalesce(className, () => ( ""))}`, children: [
3740
- /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: _chunk35RU25PJcjs.COMPACT_CARD_TEXT_COL, children: [
3745
+ return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: `${_chunk7Z4EQOIXcjs.COMPACT_CARD_SKELETON_OUTER} ${_nullishCoalesce(className, () => ( ""))}`, children: [
3746
+ /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: _chunk7Z4EQOIXcjs.COMPACT_CARD_TEXT_COL, children: [
3741
3747
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: "flex min-w-0 items-center gap-1.5", children: [
3742
3748
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkH3RYUTNDcjs.UnifiedSkeleton, { as: "span", className: "h-3.5 w-2/3 rounded" }),
3743
3749
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkH3RYUTNDcjs.UnifiedSkeleton, { as: "span", className: "h-4 w-16 rounded-full" })
@@ -3771,7 +3777,7 @@ var NETWORK_CONFIG = {
3771
3777
 
3772
3778
  var EMPTY_FRAME = { messages: [], phase: "idle", typing: false, delayMs: 0 };
3773
3779
  function prefersReducedMotion() {
3774
- return typeof window !== "undefined" && _optionalChain([window, 'access', _113 => _113.matchMedia, 'optionalCall', _114 => _114("(prefers-reduced-motion: reduce)"), 'access', _115 => _115.matches]) === true;
3780
+ return typeof window !== "undefined" && _optionalChain([window, 'access', _114 => _114.matchMedia, 'optionalCall', _115 => _115("(prefers-reduced-motion: reduce)"), 'access', _116 => _116.matches]) === true;
3775
3781
  }
3776
3782
  function useScriptedStream(frames, resetKey, enabled = true) {
3777
3783
  const [index, setIndex] = _react.useState.call(void 0, 0);
@@ -3782,7 +3788,7 @@ function useScriptedStream(frames, resetKey, enabled = true) {
3782
3788
  setIndex(0);
3783
3789
  }
3784
3790
  _react.useEffect.call(void 0, () => {
3785
- const mq = _optionalChain([window, 'access', _116 => _116.matchMedia, 'optionalCall', _117 => _117("(prefers-reduced-motion: reduce)")]);
3791
+ const mq = _optionalChain([window, 'access', _117 => _117.matchMedia, 'optionalCall', _118 => _118("(prefers-reduced-motion: reduce)")]);
3786
3792
  const sync = () => setReducedMotion(mq ? mq.matches : prefersReducedMotion());
3787
3793
  sync();
3788
3794
  if (!mq) return void 0;
@@ -3927,7 +3933,7 @@ function useJetStreamDialogSubscription({
3927
3933
  const lifecycle = _chunkKHKPLOU4cjs.startConnectionLifecycle.call(void 0, {
3928
3934
  conn: sharedConn,
3929
3935
  wsUrl,
3930
- onBeforeReconnect: () => _optionalChain([onBeforeReconnectRef, 'access', _118 => _118.current, 'optionalCall', _119 => _119()]),
3936
+ onBeforeReconnect: () => _optionalChain([onBeforeReconnectRef, 'access', _119 => _119.current, 'optionalCall', _120 => _120()]),
3931
3937
  backoff: reconnectionBackoffRef.current,
3932
3938
  getFreshUrl: () => getNatsWsUrlRef.current(),
3933
3939
  // JetStream emits 'error' for protocol-level failures (e.g. -ERR Permissions
@@ -3942,7 +3948,7 @@ function useJetStreamDialogSubscription({
3942
3948
  setReconnectionCount((c) => c + 1);
3943
3949
  }
3944
3950
  hadConnectionBeforeRef.current = true;
3945
- _optionalChain([onConnectRef, 'access', _120 => _120.current, 'optionalCall', _121 => _121()]);
3951
+ _optionalChain([onConnectRef, 'access', _121 => _121.current, 'optionalCall', _122 => _122()]);
3946
3952
  }
3947
3953
  if (status === "error") {
3948
3954
  console.warn("[JetStream] NATS protocol error:", evt.data);
@@ -3952,7 +3958,7 @@ function useJetStreamDialogSubscription({
3952
3958
  setIsConnected(false);
3953
3959
  setIsSubscribed(false);
3954
3960
  tearDownSubscription();
3955
- _optionalChain([onDisconnectRef, 'access', _122 => _122.current, 'optionalCall', _123 => _123()]);
3961
+ _optionalChain([onDisconnectRef, 'access', _123 => _123.current, 'optionalCall', _124 => _124()]);
3956
3962
  }
3957
3963
  }
3958
3964
  });
@@ -4096,7 +4102,7 @@ function useJetStreamDialogSubscription({
4096
4102
  subscriptionRef.current = handle;
4097
4103
  setIsSubscribed(true);
4098
4104
  try {
4099
- _optionalChain([onSubscribedRef, 'access', _124 => _124.current, 'optionalCall', _125 => _125()]);
4105
+ _optionalChain([onSubscribedRef, 'access', _125 => _125.current, 'optionalCall', _126 => _126()]);
4100
4106
  } catch (e) {
4101
4107
  console.warn("[JetStream] onSubscribed threw:", e);
4102
4108
  }
@@ -4208,7 +4214,7 @@ function useChat({
4208
4214
  onMessagesChangeRef.current = onMessagesChange;
4209
4215
  });
4210
4216
  _react.useEffect.call(void 0, () => {
4211
- _optionalChain([onMessagesChangeRef, 'access', _126 => _126.current, 'optionalCall', _127 => _127(messages)]);
4217
+ _optionalChain([onMessagesChangeRef, 'access', _127 => _127.current, 'optionalCall', _128 => _128(messages)]);
4212
4218
  }, [messages]);
4213
4219
  const {
4214
4220
  streamMessage,
@@ -4245,7 +4251,7 @@ function useChat({
4245
4251
  name: "You",
4246
4252
  content: text,
4247
4253
  timestamp: /* @__PURE__ */ new Date(),
4248
- ..._optionalChain([options, 'optionalAccess', _128 => _128.hidden]) ? { hidden: true } : {}
4254
+ ..._optionalChain([options, 'optionalAccess', _129 => _129.hidden]) ? { hidden: true } : {}
4249
4255
  };
4250
4256
  addMessage(userMessage);
4251
4257
  setIsTyping(true);
@@ -4476,19 +4482,19 @@ function turnRequestKeys(content) {
4476
4482
  if (!Array.isArray(content)) return keys;
4477
4483
  for (const seg of content) {
4478
4484
  if (seg.type === "tool_execution") {
4479
- const id = _optionalChain([seg, 'access', _129 => _129.data, 'optionalAccess', _130 => _130.toolExecutionRequestId]);
4485
+ const id = _optionalChain([seg, 'access', _130 => _130.data, 'optionalAccess', _131 => _131.toolExecutionRequestId]);
4480
4486
  if (id) keys.add(id);
4481
4487
  } else if (seg.type === "approval_request") {
4482
- const id = _optionalChain([seg, 'access', _131 => _131.data, 'optionalAccess', _132 => _132.requestId]);
4488
+ const id = _optionalChain([seg, 'access', _132 => _132.data, 'optionalAccess', _133 => _133.requestId]);
4483
4489
  if (id) keys.add(id);
4484
4490
  } else if (seg.type === "escalation_offer") {
4485
- const id = _optionalChain([seg, 'access', _133 => _133.data, 'optionalAccess', _134 => _134.offerId]);
4491
+ const id = _optionalChain([seg, 'access', _134 => _134.data, 'optionalAccess', _135 => _135.offerId]);
4486
4492
  if (id) keys.add(id);
4487
4493
  } else if (seg.type === "approval_batch") {
4488
4494
  const data = seg.data;
4489
- if (_optionalChain([data, 'optionalAccess', _135 => _135.approvalRequestId])) keys.add(data.approvalRequestId);
4490
- for (const call of _nullishCoalesce(_optionalChain([data, 'optionalAccess', _136 => _136.toolCalls]), () => ( []))) {
4491
- if (_optionalChain([call, 'optionalAccess', _137 => _137.toolExecutionRequestId])) keys.add(call.toolExecutionRequestId);
4495
+ if (_optionalChain([data, 'optionalAccess', _136 => _136.approvalRequestId])) keys.add(data.approvalRequestId);
4496
+ for (const call of _nullishCoalesce(_optionalChain([data, 'optionalAccess', _137 => _137.toolCalls]), () => ( []))) {
4497
+ if (_optionalChain([call, 'optionalAccess', _138 => _138.toolExecutionRequestId])) keys.add(call.toolExecutionRequestId);
4492
4498
  }
4493
4499
  }
4494
4500
  }
@@ -4592,18 +4598,18 @@ function mergeHistoryWithRealtime(input) {
4592
4598
  }
4593
4599
  }
4594
4600
  const trailing = processedHistory[processedHistory.length - 1];
4595
- const historyTrailingAssistant = _optionalChain([trailing, 'optionalAccess', _138 => _138.role]) === "assistant" ? trailing : null;
4596
- const historyBatchId = historyTrailingAssistant && Array.isArray(historyTrailingAssistant.content) ? _nullishCoalesce(_optionalChain([historyTrailingAssistant, 'access', _139 => _139.content, 'access', _140 => _140.find, 'call', _141 => _141((s) => s.type === "approval_batch"), 'optionalAccess', _142 => _142.data, 'optionalAccess', _143 => _143.approvalRequestId]), () => ( null)) : null;
4601
+ const historyTrailingAssistant = _optionalChain([trailing, 'optionalAccess', _139 => _139.role]) === "assistant" ? trailing : null;
4602
+ const historyBatchId = historyTrailingAssistant && Array.isArray(historyTrailingAssistant.content) ? _nullishCoalesce(_optionalChain([historyTrailingAssistant, 'access', _140 => _140.content, 'access', _141 => _141.find, 'call', _142 => _142((s) => s.type === "approval_batch"), 'optionalAccess', _143 => _143.data, 'optionalAccess', _144 => _144.approvalRequestId]), () => ( null)) : null;
4597
4603
  let processedToUse = processedHistory;
4598
4604
  const pinnedSyntheticIds = /* @__PURE__ */ new Set();
4599
4605
  const droppedSyntheticIds = /* @__PURE__ */ new Set();
4600
4606
  if (historyBatchId) {
4601
4607
  const batchTwins = existingMessages.filter(
4602
- (m) => m.role === "assistant" && Array.isArray(m.content) && m.content.some((s) => s.type === "approval_batch" && _optionalChain([s, 'access', _144 => _144.data, 'optionalAccess', _145 => _145.approvalRequestId]) === historyBatchId)
4608
+ (m) => m.role === "assistant" && Array.isArray(m.content) && m.content.some((s) => s.type === "approval_batch" && _optionalChain([s, 'access', _145 => _145.data, 'optionalAccess', _146 => _146.approvalRequestId]) === historyBatchId)
4603
4609
  );
4604
4610
  const existingWithSameBatch = _nullishCoalesce(batchTwins.find((m) => m.id === streamingMessageId), () => ( batchTwins[batchTwins.length - 1]));
4605
4611
  if (existingWithSameBatch && Array.isArray(existingWithSameBatch.content)) {
4606
- const histSize = Array.isArray(_optionalChain([historyTrailingAssistant, 'optionalAccess', _146 => _146.content])) ? historyTrailingAssistant.content.length : 0;
4612
+ const histSize = Array.isArray(_optionalChain([historyTrailingAssistant, 'optionalAccess', _147 => _147.content])) ? historyTrailingAssistant.content.length : 0;
4607
4613
  const realtimeSize = existingWithSameBatch.content.length;
4608
4614
  if (existingWithSameBatch.id === streamingMessageId || realtimeSize > histSize) {
4609
4615
  processedToUse = processedHistory.slice(0, -1);
@@ -4636,9 +4642,9 @@ function mergeHistoryWithRealtime(input) {
4636
4642
  const trailingAssistantText = lastProcessed && lastProcessed.role === "assistant" ? assistantAnswerText(lastProcessed.content) : "";
4637
4643
  const windowSignals = collectTwinSignals(processedToUse);
4638
4644
  const seenUserSyntheticByContent = /* @__PURE__ */ new Map();
4639
- const isInWindow = (m) => processedIds.has(m.id) || (_nullishCoalesce(_optionalChain([rawHistoryIds, 'optionalAccess', _147 => _147.has, 'call', _148 => _148(m.id)]), () => ( false)));
4645
+ const isInWindow = (m) => processedIds.has(m.id) || (_nullishCoalesce(_optionalChain([rawHistoryIds, 'optionalAccess', _148 => _148.has, 'call', _149 => _149(m.id)]), () => ( false)));
4640
4646
  const firstWindowIndex = existingMessages.findIndex(isInWindow);
4641
- const isPersistedOlder = (m) => !isClientMintedId(m.id) && (_nullishCoalesce(_optionalChain([m, 'access', _149 => _149.timestamp, 'optionalAccess', _150 => _150.getTime, 'call', _151 => _151()]), () => ( 0))) <= historyFetchedAt;
4647
+ const isPersistedOlder = (m) => !isClientMintedId(m.id) && (_nullishCoalesce(_optionalChain([m, 'access', _150 => _150.timestamp, 'optionalAccess', _151 => _151.getTime, 'call', _152 => _152()]), () => ( 0))) <= historyFetchedAt;
4642
4648
  let lastOlderPersistedIndex = -1;
4643
4649
  if (firstWindowIndex < 0) {
4644
4650
  for (const [index, m] of existingMessages.entries()) {
@@ -4656,7 +4662,7 @@ function mergeHistoryWithRealtime(input) {
4656
4662
  } else if (pm.role === "assistant") {
4657
4663
  windowHasUnstampedAssistant = true;
4658
4664
  }
4659
- const time = _optionalChain([pm, 'access', _152 => _152.timestamp, 'optionalAccess', _153 => _153.getTime, 'call', _154 => _154()]);
4665
+ const time = _optionalChain([pm, 'access', _153 => _153.timestamp, 'optionalAccess', _154 => _154.getTime, 'call', _155 => _155()]);
4660
4666
  if (typeof time === "number" && time < windowMinTime) windowMinTime = time;
4661
4667
  }
4662
4668
  const threadHasClientMintedRow = existingMessages.some((m) => isClientMintedId(m.id));
@@ -4674,14 +4680,14 @@ function mergeHistoryWithRealtime(input) {
4674
4680
  const verdict = twinVerdict(windowSignals, m);
4675
4681
  return verdict === "unknown" ? !seqCanMislead(m) : verdict === "distinct";
4676
4682
  }
4677
- const time = _optionalChain([m, 'access', _155 => _155.timestamp, 'optionalAccess', _156 => _156.getTime, 'call', _157 => _157()]);
4683
+ const time = _optionalChain([m, 'access', _156 => _156.timestamp, 'optionalAccess', _157 => _157.getTime, 'call', _158 => _158()]);
4678
4684
  if (typeof time !== "number" || time > historyFetchedAt) return false;
4679
4685
  if (!Number.isFinite(windowMinTime) || time >= windowMinTime) return false;
4680
4686
  return twinVerdict(windowSignals, m) === "distinct";
4681
4687
  };
4682
4688
  const keepRealtime = (m) => {
4683
4689
  if (m.role === "user" && isOptimisticId(m.id) && typeof m.content === "string") {
4684
- const canBeInSnapshot = (_nullishCoalesce(_optionalChain([m, 'access', _158 => _158.timestamp, 'optionalAccess', _159 => _159.getTime, 'call', _160 => _160()]), () => ( 0))) <= historyFetchedAt;
4690
+ const canBeInSnapshot = (_nullishCoalesce(_optionalChain([m, 'access', _159 => _159.timestamp, 'optionalAccess', _160 => _160.getTime, 'call', _161 => _161()]), () => ( 0))) <= historyFetchedAt;
4685
4691
  return !(canBeInSnapshot && windowSignals.userContents.has(userTwinKey(m)));
4686
4692
  }
4687
4693
  if (isSyntheticRealtimeId(m.id) && m.id !== streamingMessageId) {
@@ -4706,7 +4712,7 @@ function mergeHistoryWithRealtime(input) {
4706
4712
  } else if (typeof m.streamSeq === "number") {
4707
4713
  covered = historyMaxStreamSeq > 0 && historyMaxStreamSeq >= m.streamSeq;
4708
4714
  } else {
4709
- covered = historyCoversRealtime !== null ? historyCoversRealtime : (_nullishCoalesce(_optionalChain([m, 'access', _161 => _161.timestamp, 'optionalAccess', _162 => _162.getTime, 'call', _163 => _163()]), () => ( 0))) <= historyFetchedAt;
4715
+ covered = historyCoversRealtime !== null ? historyCoversRealtime : (_nullishCoalesce(_optionalChain([m, 'access', _162 => _162.timestamp, 'optionalAccess', _163 => _163.getTime, 'call', _164 => _164()]), () => ( 0))) <= historyFetchedAt;
4710
4716
  }
4711
4717
  if (covered) return false;
4712
4718
  }
@@ -4797,7 +4803,7 @@ function normalizeHistoricalMessageData(md) {
4797
4803
  function isHistoricalUserTurn(m) {
4798
4804
  return !!m.owner;
4799
4805
  }
4800
- var isTextSegment = (d) => _optionalChain([d, 'optionalAccess', _164 => _164.type]) === "TEXT" && typeof d.text === "string";
4806
+ var isTextSegment = (d) => _optionalChain([d, 'optionalAccess', _165 => _165.type]) === "TEXT" && typeof d.text === "string";
4801
4807
  var THINK_MS = 550;
4802
4808
  var TOKEN_MS = 55;
4803
4809
  var USER_MS = 480;
@@ -4964,7 +4970,7 @@ var GROUPS = [
4964
4970
  }
4965
4971
  ];
4966
4972
  function maskKey(key) {
4967
- const prefix = _nullishCoalesce(_optionalChain([/^fpk_[a-z0-9-]+_/i, 'access', _165 => _165.exec, 'call', _166 => _166(key), 'optionalAccess', _167 => _167[0]]), () => ( ""));
4973
+ const prefix = _nullishCoalesce(_optionalChain([/^fpk_[a-z0-9-]+_/i, 'access', _166 => _166.exec, 'call', _167 => _167(key), 'optionalAccess', _168 => _168[0]]), () => ( ""));
4968
4974
  return key.length - prefix.length <= 8 ? `${prefix}\u2022\u2022\u2022\u2022` : `${prefix}\u2026${key.slice(-4)}`;
4969
4975
  }
4970
4976
  function HeaderName({ children }) {
@@ -4980,7 +4986,7 @@ function Section({ title, description, children }) {
4980
4986
  ] });
4981
4987
  }
4982
4988
  function ProxyCredentialsPanel({ description }) {
4983
- const hydrated = _chunkEM4OEWCMcjs.useIsHydrated.call(void 0, );
4989
+ const hydrated = _chunkSDF5UUTEcjs.useIsHydrated.call(void 0, );
4984
4990
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
4985
4991
  ProxyCredentialsForm,
4986
4992
  {
@@ -5001,8 +5007,8 @@ function ProxyCredentialsForm({ description, saved }) {
5001
5007
  const errors = _react.useMemo.call(void 0, () => {
5002
5008
  const out = {};
5003
5009
  for (const { field } of _chunkDGFDBPO7cjs.EMBED_PROXY_OPTIONAL_HEADERS) {
5004
- const value = _optionalChain([optional, 'access', _168 => _168[field], 'optionalAccess', _169 => _169.trim, 'call', _170 => _170()]);
5005
- const message = value ? _optionalChain([OPTIONAL_FIELD_COPY, 'access', _171 => _171[field], 'access', _172 => _172.validate, 'optionalCall', _173 => _173(value)]) : null;
5010
+ const value = _optionalChain([optional, 'access', _169 => _169[field], 'optionalAccess', _170 => _170.trim, 'call', _171 => _171()]);
5011
+ const message = value ? _optionalChain([OPTIONAL_FIELD_COPY, 'access', _172 => _172[field], 'access', _173 => _173.validate, 'optionalCall', _174 => _174(value)]) : null;
5006
5012
  if (message) out[field] = message;
5007
5013
  }
5008
5014
  return out;
@@ -5014,12 +5020,12 @@ function ProxyCredentialsForm({ description, saved }) {
5014
5020
  ...keyForPreview ? [["Authorization", `Bearer ${keyForPreview}`]] : [],
5015
5021
  ...email.trim() ? [["X-Chat-Act-As", email.trim().toLowerCase()]] : [],
5016
5022
  ..._chunkDGFDBPO7cjs.EMBED_PROXY_OPTIONAL_HEADERS.flatMap(({ field, header }) => {
5017
- const value = _optionalChain([optional, 'access', _174 => _174[field], 'optionalAccess', _175 => _175.trim, 'call', _176 => _176()]);
5023
+ const value = _optionalChain([optional, 'access', _175 => _175[field], 'optionalAccess', _176 => _176.trim, 'call', _177 => _177()]);
5018
5024
  return value ? [[header, value]] : [];
5019
5025
  })
5020
5026
  ];
5021
5027
  const save = () => {
5022
- const key = secret.trim() || _optionalChain([_chunkDGFDBPO7cjs.getEmbedProxyAuth.call(void 0, ), 'optionalAccess', _177 => _177.secret]);
5028
+ const key = secret.trim() || _optionalChain([_chunkDGFDBPO7cjs.getEmbedProxyAuth.call(void 0, ), 'optionalAccess', _178 => _178.secret]);
5023
5029
  const actAs = email.trim().toLowerCase();
5024
5030
  if (!key || !actAs || hasErrors) {
5025
5031
  setStatus(hasErrors ? "Fix the highlighted fields first." : "API key and act-as email are required.");
@@ -5041,13 +5047,13 @@ function ProxyCredentialsForm({ description, saved }) {
5041
5047
  setStatus("Cleared. Requests use the session again.");
5042
5048
  };
5043
5049
  const setField = (field, value) => setOptional((prev) => ({ ...prev, [field]: value }));
5044
- return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk35RU25PJcjs.Card, { children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunk35RU25PJcjs.CardContent, { className: "space-y-[var(--spacing-system-lf)] p-[var(--spacing-system-mf)]", children: [
5050
+ return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk7Z4EQOIXcjs.Card, { children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunk7Z4EQOIXcjs.CardContent, { className: "space-y-[var(--spacing-system-lf)] p-[var(--spacing-system-mf)]", children: [
5045
5051
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "header", { className: "flex flex-col gap-[var(--spacing-system-sf)] sm:flex-row sm:items-start sm:justify-between", children: [
5046
5052
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { children: [
5047
5053
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "h2", { className: "text-ods-text-primary text-h3", children: "Proxy credentials" }),
5048
5054
  description && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { className: "text-ods-text-secondary text-h6", children: description })
5049
5055
  ] }),
5050
- activeEmail && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "self-start", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk35RU25PJcjs.StatusBadge, { singleLine: true, colorScheme: "success", text: `Active: ${activeEmail}` }) })
5056
+ activeEmail && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "self-start", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk7Z4EQOIXcjs.StatusBadge, { singleLine: true, colorScheme: "success", text: `Active: ${activeEmail}` }) })
5051
5057
  ] }),
5052
5058
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
5053
5059
  Section,
@@ -5144,10 +5150,10 @@ function ProxyCredentialsForm({ description, saved }) {
5144
5150
 
5145
5151
  // src/components/chat/index.ts
5146
5152
  var LoadedEmbeddableChat = _react.lazy.call(void 0,
5147
- () => Promise.resolve().then(() => _interopRequireWildcard(require("./embeddable-chat-BYQBABDV.cjs"))).then((module) => ({ default: module.EmbeddableChat }))
5153
+ () => Promise.resolve().then(() => _interopRequireWildcard(require("./embeddable-chat-CMEHSDV7.cjs"))).then((module) => ({ default: module.EmbeddableChat }))
5148
5154
  );
5149
5155
  var EmbeddableChat = _react.forwardRef.call(void 0, (props, ref) => {
5150
- _react.useEffect.call(void 0, () => _chunkEM4OEWCMcjs.holdAskAiOpens.call(void 0, ), []);
5156
+ _react.useEffect.call(void 0, () => _chunkSDF5UUTEcjs.holdAskAiOpens.call(void 0, ), []);
5151
5157
  return _react.createElement.call(void 0, _react.Suspense, { fallback: null }, _react.createElement.call(void 0, LoadedEmbeddableChat, { ...props, ref }));
5152
5158
  });
5153
5159
  EmbeddableChat.displayName = "EmbeddableChat";
@@ -5360,4 +5366,5 @@ EmbeddableChat.displayName = "EmbeddableChat";
5360
5366
 
5361
5367
 
5362
5368
 
5363
- exports.InfoHint = InfoHint; exports.Field = Field; exports.HUBSPOT_DO_NOT_COLLECT_FORM_PROPS = HUBSPOT_DO_NOT_COLLECT_FORM_PROPS; exports.FullscreenSwitchController = FullscreenSwitchController; exports.SOCIAL_PLATFORM_ALIASES = SOCIAL_PLATFORM_ALIASES; exports.normalizeSocialPlatform = normalizeSocialPlatform; exports.hostMatches = hostMatches; exports.SOCIAL_PLATFORM_ALT_HOSTS = SOCIAL_PLATFORM_ALT_HOSTS; exports.socialPlatformHosts = socialPlatformHosts; exports.classifySocialHost = classifySocialHost; exports.pickSocialLink = pickSocialLink; exports.useProxiedImageUrl = useProxiedImageUrl; exports.ChatMessageRow = ChatMessageRow; exports.ChatMessageRowSkeleton = ChatMessageRowSkeleton; exports.ChatTurn = ChatTurn; exports.AI_PROVIDERS = AI_PROVIDERS; exports.aiProvider = aiProvider; exports.TOKEN_RATE_EMPTY = TOKEN_RATE_EMPTY; exports.formatTokenRate = formatTokenRate; exports.tokenCost = tokenCost; exports.formatTokenAmount = formatTokenAmount; exports.tokensForBalance = tokensForBalance; exports.tokenRateProviderLabel = tokenRateProviderLabel; exports.groupTokenRatesByProvider = groupTokenRatesByProvider; exports.TRIAL_TERMS = TRIAL_TERMS; exports.trialLengthLabel = trialLengthLabel; exports.trialLabels = trialLabels; 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.ToolTypeValues = ToolTypeValues; exports.toolLabels = toolLabels; 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.DOWNLOAD_PAGE_PATH = DOWNLOAD_PAGE_PATH; exports.resolveMobileStoreUrl = resolveMobileStoreUrl; exports.getCountryPhoneData = getCountryPhoneData; exports.getCountryByCode = getCountryByCode; exports.getCountryByName = getCountryByName; exports.getFlagFromCountryName = getFlagFromCountryName; exports.validatePhoneNumber = validatePhoneNumber; exports.formatPhoneE164 = formatPhoneE164; exports.COMPLIANCE_STANDARDS = COMPLIANCE_STANDARDS; exports.complianceStandardForName = complianceStandardForName; 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.releaseTypeOptions = releaseTypeOptions; exports.releaseStatusOptions = releaseStatusOptions; exports.changelogLabels = changelogLabels; exports.SEMVER_REGEX = SEMVER_REGEX; 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.openInNewTab = openInNewTab; exports.DEFAULT_CONTENT_SUFFIXES = DEFAULT_CONTENT_SUFFIXES; exports.makeComposeContentUrl = makeComposeContentUrl; exports.buildDefaultHref = buildDefaultHref; exports.resolveContentHref = resolveContentHref; exports.LEGAL_DOCUMENT_TYPES = LEGAL_DOCUMENT_TYPES; exports.isLegalDocumentType = isLegalDocumentType; 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.normalizeSchedulingSlug = normalizeSchedulingSlug; 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.ODS_SPACING_TOKENS = ODS_SPACING_TOKENS; exports.ODS_SPACING_TOKEN_PATTERN = ODS_SPACING_TOKEN_PATTERN; exports.ODS_SPACING_PROPS = ODS_SPACING_PROPS; exports.TAILWIND_STEP_TO_ODS_TOKEN = TAILWIND_STEP_TO_ODS_TOKEN; exports.CSV_CONTENT_TYPE = CSV_CONTENT_TYPE; exports.csvEscape = csvEscape; exports.toCsv = toCsv; exports.copyrightLine = copyrightLine; exports.isValidPathPattern = isValidPathPattern; exports.matchesPathPattern = matchesPathPattern; exports.pathMatchesAny = pathMatchesAny; exports.formatDemoClock = formatDemoClock; exports.demoClockTimes = demoClockTimes; exports.openAskAi = openAskAi; exports.MingoAiButton = MingoAiButton; exports.AskPrompts = AskPrompts; exports.AskCard = AskCard; exports.ASK_PROMPTS_DEFAULT_COUNT = ASK_PROMPTS_DEFAULT_COUNT; exports.buildAskPromptsUrl = buildAskPromptsUrl; exports.assistantAvailable = assistantAvailable; exports.useAskPrompts = useAskPrompts; exports.useAssistantOpen = useAssistantOpen; exports.useAskSurface = useAskSurface; exports.AssistantAskPrompts = AssistantAskPrompts; exports.QuickActionMarquee = QuickActionMarquee; exports.ChatTicketItem = ChatTicketItem; exports.ChatTicketList = ChatTicketList; exports.DialogListItem = DialogListItem; exports.ChatSidebar = ChatSidebar; exports.ChatTopNavigation = ChatTopNavigation; exports.OnboardingCarousel = OnboardingCarousel; exports.SlackMessageCard = SlackMessageCard; exports.SlackMessageCardSkeleton = SlackMessageCardSkeleton; exports.HubspotTicketCard = HubspotTicketCard; exports.HubspotTicketCardSkeleton = HubspotTicketCardSkeleton; exports.DataRoomDocCard = DataRoomDocCard; exports.DataRoomDocCardSkeleton = DataRoomDocCardSkeleton; exports.GenericEntityCard = GenericEntityCard; exports.GenericEntityCardSkeleton = GenericEntityCardSkeleton; exports.NETWORK_CONFIG = NETWORK_CONFIG; exports.useScriptedStream = useScriptedStream; exports.RESYNC_AFTER_HIDDEN_MS = RESYNC_AFTER_HIDDEN_MS; exports.useJetStreamDialogSubscription = useJetStreamDialogSubscription; exports.useSSE = useSSE; exports.useChat = useChat; 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.normalizeHistoricalMessageData = normalizeHistoricalMessageData; exports.isHistoricalUserTurn = isHistoricalUserTurn; exports.buildStreamFrames = buildStreamFrames; exports.ProxyCredentialsPanel = ProxyCredentialsPanel; exports.EmbeddableChat = EmbeddableChat;
5369
+
5370
+ exports.InfoHint = InfoHint; exports.Field = Field; exports.HUBSPOT_DO_NOT_COLLECT_FORM_PROPS = HUBSPOT_DO_NOT_COLLECT_FORM_PROPS; exports.FullscreenSwitchController = FullscreenSwitchController; exports.SOCIAL_PLATFORM_ALIASES = SOCIAL_PLATFORM_ALIASES; exports.normalizeSocialPlatform = normalizeSocialPlatform; exports.hostMatches = hostMatches; exports.SOCIAL_PLATFORM_ALT_HOSTS = SOCIAL_PLATFORM_ALT_HOSTS; exports.socialPlatformHosts = socialPlatformHosts; exports.classifySocialHost = classifySocialHost; exports.pickSocialLink = pickSocialLink; exports.useProxiedImageUrl = useProxiedImageUrl; exports.ChatMessageRow = ChatMessageRow; exports.ChatMessageRowSkeleton = ChatMessageRowSkeleton; exports.ChatTurn = ChatTurn; exports.AI_PROVIDERS = AI_PROVIDERS; exports.aiProvider = aiProvider; exports.TOKEN_RATE_EMPTY = TOKEN_RATE_EMPTY; exports.formatTokenRate = formatTokenRate; exports.tokenCost = tokenCost; exports.formatTokenAmount = formatTokenAmount; exports.tokensForBalance = tokensForBalance; exports.tokenRateProviderLabel = tokenRateProviderLabel; exports.groupTokenRatesByProvider = groupTokenRatesByProvider; exports.TRIAL_TERMS = TRIAL_TERMS; exports.trialLengthLabel = trialLengthLabel; exports.trialLabels = trialLabels; 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.ToolTypeValues = ToolTypeValues; exports.toolLabels = toolLabels; 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.DOWNLOAD_PAGE_PATH = DOWNLOAD_PAGE_PATH; exports.resolveMobileStoreUrl = resolveMobileStoreUrl; exports.getCountryPhoneData = getCountryPhoneData; exports.getCountryByCode = getCountryByCode; exports.getCountryByName = getCountryByName; exports.getFlagFromCountryName = getFlagFromCountryName; exports.validatePhoneNumber = validatePhoneNumber; exports.formatPhoneE164 = formatPhoneE164; exports.COMPLIANCE_STANDARDS = COMPLIANCE_STANDARDS; exports.complianceStandardForName = complianceStandardForName; 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.isAnnouncementOnSurface = isAnnouncementOnSurface; 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.releaseTypeOptions = releaseTypeOptions; exports.releaseStatusOptions = releaseStatusOptions; exports.changelogLabels = changelogLabels; exports.SEMVER_REGEX = SEMVER_REGEX; 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.openInNewTab = openInNewTab; exports.DEFAULT_CONTENT_SUFFIXES = DEFAULT_CONTENT_SUFFIXES; exports.makeComposeContentUrl = makeComposeContentUrl; exports.buildDefaultHref = buildDefaultHref; exports.resolveContentHref = resolveContentHref; exports.LEGAL_DOCUMENT_TYPES = LEGAL_DOCUMENT_TYPES; exports.isLegalDocumentType = isLegalDocumentType; 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.normalizeSchedulingSlug = normalizeSchedulingSlug; 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.ODS_SPACING_TOKENS = ODS_SPACING_TOKENS; exports.ODS_SPACING_TOKEN_PATTERN = ODS_SPACING_TOKEN_PATTERN; exports.ODS_SPACING_PROPS = ODS_SPACING_PROPS; exports.TAILWIND_STEP_TO_ODS_TOKEN = TAILWIND_STEP_TO_ODS_TOKEN; exports.CSV_CONTENT_TYPE = CSV_CONTENT_TYPE; exports.csvEscape = csvEscape; exports.toCsv = toCsv; exports.copyrightLine = copyrightLine; exports.isValidPathPattern = isValidPathPattern; exports.matchesPathPattern = matchesPathPattern; exports.pathMatchesAny = pathMatchesAny; exports.formatDemoClock = formatDemoClock; exports.demoClockTimes = demoClockTimes; exports.openAskAi = openAskAi; exports.MingoAiButton = MingoAiButton; exports.AskPrompts = AskPrompts; exports.AskCard = AskCard; exports.ASK_PROMPTS_DEFAULT_COUNT = ASK_PROMPTS_DEFAULT_COUNT; exports.buildAskPromptsUrl = buildAskPromptsUrl; exports.assistantAvailable = assistantAvailable; exports.useAskPrompts = useAskPrompts; exports.useAssistantOpen = useAssistantOpen; exports.useAskSurface = useAskSurface; exports.AssistantAskPrompts = AssistantAskPrompts; exports.QuickActionMarquee = QuickActionMarquee; exports.ChatTicketItem = ChatTicketItem; exports.ChatTicketList = ChatTicketList; exports.DialogListItem = DialogListItem; exports.ChatSidebar = ChatSidebar; exports.ChatTopNavigation = ChatTopNavigation; exports.OnboardingCarousel = OnboardingCarousel; exports.SlackMessageCard = SlackMessageCard; exports.SlackMessageCardSkeleton = SlackMessageCardSkeleton; exports.HubspotTicketCard = HubspotTicketCard; exports.HubspotTicketCardSkeleton = HubspotTicketCardSkeleton; exports.DataRoomDocCard = DataRoomDocCard; exports.DataRoomDocCardSkeleton = DataRoomDocCardSkeleton; exports.GenericEntityCard = GenericEntityCard; exports.GenericEntityCardSkeleton = GenericEntityCardSkeleton; exports.NETWORK_CONFIG = NETWORK_CONFIG; exports.useScriptedStream = useScriptedStream; exports.RESYNC_AFTER_HIDDEN_MS = RESYNC_AFTER_HIDDEN_MS; exports.useJetStreamDialogSubscription = useJetStreamDialogSubscription; exports.useSSE = useSSE; exports.useChat = useChat; 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.normalizeHistoricalMessageData = normalizeHistoricalMessageData; exports.isHistoricalUserTurn = isHistoricalUserTurn; exports.buildStreamFrames = buildStreamFrames; exports.ProxyCredentialsPanel = ProxyCredentialsPanel; exports.EmbeddableChat = EmbeddableChat;