@flamingo-stack/openframe-frontend-core 0.0.581-snapshot.20260901141954 → 0.0.581

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 (105) hide show
  1. package/dist/{chunk-CR7GPMCM.js → chunk-3GXNCJZI.js} +3 -3
  2. package/dist/{chunk-A5VD6R7N.cjs → chunk-6U45VX5J.cjs} +43 -43
  3. package/dist/{chunk-A5VD6R7N.cjs.map → chunk-6U45VX5J.cjs.map} +1 -1
  4. package/dist/{chunk-SVQVAGZK.js → chunk-7CP5KY5W.js} +3 -3
  5. package/dist/{chunk-WQ236GO3.cjs → chunk-AIALG25H.cjs} +69 -69
  6. package/dist/{chunk-WQ236GO3.cjs.map → chunk-AIALG25H.cjs.map} +1 -1
  7. package/dist/{chunk-ALSLHGBH.cjs → chunk-BTKMTVN5.cjs} +4 -4
  8. package/dist/{chunk-ALSLHGBH.cjs.map → chunk-BTKMTVN5.cjs.map} +1 -1
  9. package/dist/{chunk-FYVL6A4Z.cjs → chunk-DSPQVZFE.cjs} +24 -24
  10. package/dist/{chunk-FYVL6A4Z.cjs.map → chunk-DSPQVZFE.cjs.map} +1 -1
  11. package/dist/{chunk-HQF7VE7B.js → chunk-ESWXXWCL.js} +2 -2
  12. package/dist/{chunk-FRWQ67UM.js → chunk-EZVABFEO.js} +2 -2
  13. package/dist/{chunk-6EUYXDV3.js → chunk-GAHKWML7.js} +6 -6
  14. package/dist/{chunk-L4E2TOSF.cjs → chunk-GMQEHDN2.cjs} +5 -5
  15. package/dist/{chunk-L4E2TOSF.cjs.map → chunk-GMQEHDN2.cjs.map} +1 -1
  16. package/dist/{chunk-K5SCFOD5.cjs → chunk-GUC4JK6O.cjs} +9 -9
  17. package/dist/{chunk-K5SCFOD5.cjs.map → chunk-GUC4JK6O.cjs.map} +1 -1
  18. package/dist/{chunk-U2ZRM3YB.js → chunk-GVM37TRU.js} +4 -4
  19. package/dist/{chunk-F227VMPL.js → chunk-HJVKPG55.js} +15 -125
  20. package/dist/{chunk-F227VMPL.js.map → chunk-HJVKPG55.js.map} +1 -1
  21. package/dist/{chunk-7HHRJTIY.js → chunk-HVSZYUGP.js} +5 -5
  22. package/dist/{chunk-KBOBPKMU.js → chunk-IHFQ5VVR.js} +5 -5
  23. package/dist/{chunk-A3SVEK7A.js → chunk-JW53WPB5.js} +3 -3
  24. package/dist/{chunk-646JEAY4.js → chunk-KAEVE7W2.js} +2 -2
  25. package/dist/{chunk-R3J2ERH2.cjs → chunk-KNBXZ22O.cjs} +3 -3
  26. package/dist/{chunk-R3J2ERH2.cjs.map → chunk-KNBXZ22O.cjs.map} +1 -1
  27. package/dist/{chunk-BUOYMIFJ.js → chunk-LWDIDSCF.js} +3 -3
  28. package/dist/{chunk-ORQQZQBB.cjs → chunk-M4KQWGEL.cjs} +32 -32
  29. package/dist/{chunk-ORQQZQBB.cjs.map → chunk-M4KQWGEL.cjs.map} +1 -1
  30. package/dist/{chunk-SKGMU7TZ.js → chunk-OKA3DJJ3.js} +2 -2
  31. package/dist/{chunk-DQVM4FTL.cjs → chunk-PBRXT7TD.cjs} +10 -10
  32. package/dist/{chunk-DQVM4FTL.cjs.map → chunk-PBRXT7TD.cjs.map} +1 -1
  33. package/dist/{chunk-4KWAHIYA.js → chunk-R5JVRFSW.js} +3 -3
  34. package/dist/{chunk-BQPCCBGO.cjs → chunk-SEZ25E22.cjs} +10 -10
  35. package/dist/{chunk-BQPCCBGO.cjs.map → chunk-SEZ25E22.cjs.map} +1 -1
  36. package/dist/{chunk-DGZPX2G3.cjs → chunk-U3W2ZVN4.cjs} +159 -159
  37. package/dist/{chunk-DGZPX2G3.cjs.map → chunk-U3W2ZVN4.cjs.map} +1 -1
  38. package/dist/{chunk-KAOXOYRT.cjs → chunk-UKHM2S6I.cjs} +15 -15
  39. package/dist/{chunk-KAOXOYRT.cjs.map → chunk-UKHM2S6I.cjs.map} +1 -1
  40. package/dist/{chunk-J5I3TKAH.cjs → chunk-VDRCKHML.cjs} +3 -3
  41. package/dist/{chunk-J5I3TKAH.cjs.map → chunk-VDRCKHML.cjs.map} +1 -1
  42. package/dist/{chunk-GD3OAM4T.js → chunk-VXUUSLD5.js} +2 -2
  43. package/dist/{chunk-T32XVOFP.cjs → chunk-W2TXSZTM.cjs} +21 -21
  44. package/dist/{chunk-T32XVOFP.cjs.map → chunk-W2TXSZTM.cjs.map} +1 -1
  45. package/dist/{chunk-RMOUILHT.cjs → chunk-WHFEG6UU.cjs} +22 -22
  46. package/dist/{chunk-RMOUILHT.cjs.map → chunk-WHFEG6UU.cjs.map} +1 -1
  47. package/dist/{chunk-LOJ5KQ6B.cjs → chunk-YU2UJPAT.cjs} +356 -466
  48. package/dist/chunk-YU2UJPAT.cjs.map +1 -0
  49. package/dist/{chunk-QDSVTIO5.js → chunk-ZEZMGXYV.js} +5 -5
  50. package/dist/components/case-studies/index.cjs +9 -9
  51. package/dist/components/case-studies/index.js +3 -3
  52. package/dist/components/chat/index.cjs +2 -2
  53. package/dist/components/chat/index.js +1 -1
  54. package/dist/components/contact/index.cjs +4 -4
  55. package/dist/components/contact/index.js +3 -3
  56. package/dist/components/docs/index.cjs +7 -7
  57. package/dist/components/docs/index.js +6 -6
  58. package/dist/components/embeds/index.cjs +4 -4
  59. package/dist/components/embeds/index.js +3 -3
  60. package/dist/components/faq/index.cjs +4 -4
  61. package/dist/components/faq/index.js +3 -3
  62. package/dist/components/features/index.cjs +3 -5
  63. package/dist/components/features/index.cjs.map +1 -1
  64. package/dist/components/features/index.js +2 -4
  65. package/dist/components/features/video.d.ts +0 -12
  66. package/dist/components/features/video.d.ts.map +1 -1
  67. package/dist/components/help-center-pages/index.cjs +23 -23
  68. package/dist/components/help-center-pages/index.js +14 -14
  69. package/dist/components/index.cjs +121 -123
  70. package/dist/components/index.cjs.map +1 -1
  71. package/dist/components/index.js +13 -15
  72. package/dist/components/index.js.map +1 -1
  73. package/dist/components/meeting-scheduler/index.cjs +21 -21
  74. package/dist/components/meeting-scheduler/index.js +2 -2
  75. package/dist/components/navigation/index.cjs +6 -6
  76. package/dist/components/navigation/index.js +5 -5
  77. package/dist/components/onboarding-guides/index.cjs +6 -6
  78. package/dist/components/onboarding-guides/index.js +5 -5
  79. package/dist/components/tickets/index.cjs +7 -7
  80. package/dist/components/tickets/index.js +6 -6
  81. package/dist/components/ui/index.cjs +3 -3
  82. package/dist/components/ui/index.js +2 -2
  83. package/dist/index.cjs +7 -9
  84. package/dist/index.cjs.map +1 -1
  85. package/dist/index.js +6 -8
  86. package/dist/index.js.map +1 -1
  87. package/package.json +1 -1
  88. package/src/components/features/video.tsx +16 -198
  89. package/dist/chunk-LOJ5KQ6B.cjs.map +0 -1
  90. package/src/components/features/__tests__/video-playback-failure.test.tsx +0 -250
  91. /package/dist/{chunk-CR7GPMCM.js.map → chunk-3GXNCJZI.js.map} +0 -0
  92. /package/dist/{chunk-SVQVAGZK.js.map → chunk-7CP5KY5W.js.map} +0 -0
  93. /package/dist/{chunk-HQF7VE7B.js.map → chunk-ESWXXWCL.js.map} +0 -0
  94. /package/dist/{chunk-FRWQ67UM.js.map → chunk-EZVABFEO.js.map} +0 -0
  95. /package/dist/{chunk-6EUYXDV3.js.map → chunk-GAHKWML7.js.map} +0 -0
  96. /package/dist/{chunk-U2ZRM3YB.js.map → chunk-GVM37TRU.js.map} +0 -0
  97. /package/dist/{chunk-7HHRJTIY.js.map → chunk-HVSZYUGP.js.map} +0 -0
  98. /package/dist/{chunk-KBOBPKMU.js.map → chunk-IHFQ5VVR.js.map} +0 -0
  99. /package/dist/{chunk-A3SVEK7A.js.map → chunk-JW53WPB5.js.map} +0 -0
  100. /package/dist/{chunk-646JEAY4.js.map → chunk-KAEVE7W2.js.map} +0 -0
  101. /package/dist/{chunk-BUOYMIFJ.js.map → chunk-LWDIDSCF.js.map} +0 -0
  102. /package/dist/{chunk-SKGMU7TZ.js.map → chunk-OKA3DJJ3.js.map} +0 -0
  103. /package/dist/{chunk-4KWAHIYA.js.map → chunk-R5JVRFSW.js.map} +0 -0
  104. /package/dist/{chunk-GD3OAM4T.js.map → chunk-VXUUSLD5.js.map} +0 -0
  105. /package/dist/{chunk-QDSVTIO5.js.map → chunk-ZEZMGXYV.js.map} +0 -0
@@ -11935,36 +11935,6 @@ function extractYouTubeId(url) {
11935
11935
  const m = u.pathname.match(YT_PATH_RE);
11936
11936
  return m ? m[1] : null;
11937
11937
  }
11938
- var VIDEO_PLAYBACK_FAILED_EVENT = "flamingo:video-playback-failed";
11939
- function reportPlaybackFailure(detail) {
11940
- if (typeof window === "undefined") return;
11941
- try {
11942
- window.dispatchEvent(new CustomEvent(VIDEO_PLAYBACK_FAILED_EVENT, { detail }));
11943
- } catch (e20) {
11944
- }
11945
- }
11946
- var VIDEO_STALL_TIMEOUT_MS = 15e3;
11947
- function VideoErrorOverlay({
11948
- onRetry,
11949
- watchOnYouTubeId
11950
- }) {
11951
- return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "absolute inset-0 z-10 flex flex-col items-center justify-center gap-[var(--spacing-system-sf)] bg-ods-overlay p-[var(--spacing-system-lf)] text-center", children: [
11952
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { className: "text-ods-text-secondary text-h6", children: "This video failed to play." }),
11953
- /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex items-center gap-[var(--spacing-system-sf)]", children: [
11954
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkYHNIPSG6cjs.Button, { variant: "outline", size: "small", onClick: onRetry, children: "Try again" }),
11955
- watchOnYouTubeId ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
11956
- _chunkYHNIPSG6cjs.Button,
11957
- {
11958
- variant: "transparent",
11959
- size: "small",
11960
- href: `https://www.youtube.com/watch?v=${watchOnYouTubeId}`,
11961
- openInNewTab: true,
11962
- children: "Watch on YouTube"
11963
- }
11964
- ) : null
11965
- ] })
11966
- ] });
11967
- }
11968
11938
  var VIDEO_FILE_PLAYBACK_KEYS = [
11969
11939
  "srtContent",
11970
11940
  "captionsUrl",
@@ -12102,7 +12072,7 @@ function FilePlayer({
12102
12072
  if (perfListenerRef.current) {
12103
12073
  try {
12104
12074
  _optionalChain([hoverPlayerRef, 'access', _225 => _225.current, 'optionalAccess', _226 => _226.removeEventListener, 'optionalCall', _227 => _227("playing", perfListenerRef.current)]);
12105
- } catch (e21) {
12075
+ } catch (e20) {
12106
12076
  }
12107
12077
  perfListenerRef.current = null;
12108
12078
  }
@@ -12137,7 +12107,7 @@ function FilePlayer({
12137
12107
  perfListenerRef.current = onPlaying;
12138
12108
  try {
12139
12109
  _optionalChain([el, 'access', _228 => _228.addEventListener, 'optionalCall', _229 => _229("playing", onPlaying)]);
12140
- } catch (e22) {
12110
+ } catch (e21) {
12141
12111
  }
12142
12112
  }
12143
12113
  try {
@@ -12155,7 +12125,7 @@ function FilePlayer({
12155
12125
  }
12156
12126
  })]);
12157
12127
  setHoverMutedFallback(true);
12158
- } catch (e23) {
12128
+ } catch (e22) {
12159
12129
  }
12160
12130
  }
12161
12131
  })]);
@@ -12174,7 +12144,7 @@ function FilePlayer({
12174
12144
  try {
12175
12145
  el.muted = false;
12176
12146
  el.volume = 0.5;
12177
- } catch (e24) {
12147
+ } catch (e23) {
12178
12148
  }
12179
12149
  setHoverMutedFallback(false);
12180
12150
  }
@@ -12182,7 +12152,7 @@ function FilePlayer({
12182
12152
  activationWaiterRef.current = waiter;
12183
12153
  activationWaiters.add(waiter);
12184
12154
  }
12185
- } catch (e25) {
12155
+ } catch (e24) {
12186
12156
  }
12187
12157
  }, [clearActivationWaiter, clearPerfListener]);
12188
12158
  const stopHoverPlayback = _react.useCallback.call(void 0, () => {
@@ -12192,7 +12162,7 @@ function FilePlayer({
12192
12162
  clearPerfListener();
12193
12163
  try {
12194
12164
  _optionalChain([hoverPlayerRef, 'access', _243 => _243.current, 'optionalAccess', _244 => _244.pause, 'optionalCall', _245 => _245()]);
12195
- } catch (e26) {
12165
+ } catch (e25) {
12196
12166
  }
12197
12167
  }, [clearActivationWaiter, clearPerfListener]);
12198
12168
  const unmuteNow = _react.useCallback.call(void 0, (e) => {
@@ -12206,7 +12176,7 @@ function FilePlayer({
12206
12176
  _optionalChain([el, 'access', _246 => _246.play, 'optionalCall', _247 => _247(), 'optionalAccess', _248 => _248.catch, 'optionalCall', _249 => _249(() => {
12207
12177
  })]);
12208
12178
  }
12209
- } catch (e27) {
12179
+ } catch (e26) {
12210
12180
  }
12211
12181
  setHoverMutedFallback(false);
12212
12182
  }, []);
@@ -12237,13 +12207,13 @@ function FilePlayer({
12237
12207
  autoPlayKickedRef.current = true;
12238
12208
  try {
12239
12209
  mutedEl.muted = true;
12240
- } catch (e28) {
12210
+ } catch (e27) {
12241
12211
  }
12242
12212
  if (autoPlay) {
12243
12213
  const reportBlocked = () => setMutedFallbackBlocked(true);
12244
12214
  try {
12245
12215
  _optionalChain([mutedEl, 'access', _252 => _252.play, 'optionalCall', _253 => _253(), 'optionalAccess', _254 => _254.catch, 'optionalCall', _255 => _255(reportBlocked)]);
12246
- } catch (e29) {
12216
+ } catch (e28) {
12247
12217
  reportBlocked();
12248
12218
  }
12249
12219
  }
@@ -12267,12 +12237,12 @@ function FilePlayer({
12267
12237
  })]);
12268
12238
  setMutedFallbackBlocked(false);
12269
12239
  setHoverMutedFallback(true);
12270
- } catch (e30) {
12240
+ } catch (e29) {
12271
12241
  setMutedFallbackBlocked(true);
12272
12242
  setHoverMutedFallback(true);
12273
12243
  }
12274
12244
  })]);
12275
- } catch (e31) {
12245
+ } catch (e30) {
12276
12246
  }
12277
12247
  }, [autoPlayUnmuted, startMuted, autoPlay]);
12278
12248
  _react.useEffect.call(void 0, () => {
@@ -12286,12 +12256,12 @@ function FilePlayer({
12286
12256
  };
12287
12257
  try {
12288
12258
  el.addEventListener("volumechange", onVolumeChange);
12289
- } catch (e32) {
12259
+ } catch (e31) {
12290
12260
  }
12291
12261
  return () => {
12292
12262
  try {
12293
12263
  _optionalChain([el, 'access', _266 => _266.removeEventListener, 'optionalCall', _267 => _267("volumechange", onVolumeChange)]);
12294
- } catch (e33) {
12264
+ } catch (e32) {
12295
12265
  }
12296
12266
  };
12297
12267
  }, []);
@@ -12301,12 +12271,12 @@ function FilePlayer({
12301
12271
  const onPlaying = () => setMutedFallbackBlocked(false);
12302
12272
  try {
12303
12273
  el.addEventListener("playing", onPlaying);
12304
- } catch (e34) {
12274
+ } catch (e33) {
12305
12275
  }
12306
12276
  return () => {
12307
12277
  try {
12308
12278
  _optionalChain([el, 'access', _269 => _269.removeEventListener, 'optionalCall', _270 => _270("playing", onPlaying)]);
12309
- } catch (e35) {
12279
+ } catch (e34) {
12310
12280
  }
12311
12281
  };
12312
12282
  }, []);
@@ -12320,12 +12290,12 @@ function FilePlayer({
12320
12290
  const handler = () => _optionalChain([onEndedRef, 'access', _272 => _272.current, 'optionalCall', _273 => _273()]);
12321
12291
  try {
12322
12292
  el.addEventListener("ended", handler);
12323
- } catch (e36) {
12293
+ } catch (e35) {
12324
12294
  }
12325
12295
  return () => {
12326
12296
  try {
12327
12297
  _optionalChain([el, 'access', _274 => _274.removeEventListener, 'optionalCall', _275 => _275("ended", handler)]);
12328
- } catch (e37) {
12298
+ } catch (e36) {
12329
12299
  }
12330
12300
  };
12331
12301
  }, []);
@@ -12346,7 +12316,7 @@ function FilePlayer({
12346
12316
  pause: () => {
12347
12317
  try {
12348
12318
  _optionalChain([hoverPlayerRef, 'access', _287 => _287.current, 'optionalAccess', _288 => _288.pause, 'optionalCall', _289 => _289()]);
12349
- } catch (e38) {
12319
+ } catch (e37) {
12350
12320
  }
12351
12321
  },
12352
12322
  setMuted: (m) => {
@@ -12358,7 +12328,7 @@ function FilePlayer({
12358
12328
  setMutedFallbackBlocked(false);
12359
12329
  setHoverMutedFallback(false);
12360
12330
  }
12361
- } catch (e39) {
12331
+ } catch (e38) {
12362
12332
  }
12363
12333
  }
12364
12334
  }),
@@ -12369,76 +12339,10 @@ function FilePlayer({
12369
12339
  "[Video] srtContent supplied without captionsUrl \u2014 captions will not render. Pass captionsUrl (the VTT URL) instead; raw SRT text overlays are no longer supported."
12370
12340
  );
12371
12341
  }
12372
- const monitorHealth = !chromeless;
12373
- const [playbackFailed, setPlaybackFailed] = _react.useState.call(void 0, false);
12374
- const stallTimerRef = _react.useRef.call(void 0, null);
12375
- const clearStallTimer = _react.useCallback.call(void 0, () => {
12376
- if (stallTimerRef.current !== null) {
12377
- clearTimeout(stallTimerRef.current);
12378
- stallTimerRef.current = null;
12379
- }
12380
- }, []);
12381
- _react.useEffect.call(void 0, () => clearStallTimer, [clearStallTimer]);
12382
- const failPlayback = _react.useCallback.call(void 0,
12383
- (reason) => {
12384
- clearStallTimer();
12385
- setPlaybackFailed(true);
12386
- reportPlaybackFailure({ kind: "file", src: url, reason });
12387
- },
12388
- [clearStallTimer, url]
12389
- );
12390
- const armStallTimer = _react.useCallback.call(void 0, () => {
12391
- if (!monitorHealth) return;
12392
- const el = hoverPlayerRef.current;
12393
- if (!el || el.paused || el.ended) return;
12394
- if (stallTimerRef.current !== null) return;
12395
- stallTimerRef.current = setTimeout(() => {
12396
- stallTimerRef.current = null;
12397
- failPlayback("stall");
12398
- }, VIDEO_STALL_TIMEOUT_MS);
12399
- }, [monitorHealth, failPlayback]);
12400
- const handlePlaybackProgress = _react.useCallback.call(void 0, () => {
12401
- clearStallTimer();
12402
- setPlaybackFailed(false);
12403
- }, [clearStallTimer]);
12404
- const handleMediaError = _react.useCallback.call(void 0, () => {
12405
- if (!monitorHealth) return;
12406
- failPlayback("error");
12407
- }, [monitorHealth, failPlayback]);
12408
- const retryPlayback = _react.useCallback.call(void 0, () => {
12409
- setPlaybackFailed(false);
12410
- clearStallTimer();
12411
- const el = hoverPlayerRef.current;
12412
- if (!el) return;
12413
- const resumeAt = typeof el.currentTime === "number" ? el.currentTime : 0;
12414
- try {
12415
- _optionalChain([el, 'access', _290 => _290.load, 'optionalCall', _291 => _291()]);
12416
- if (resumeAt > 0 && el.addEventListener && el.removeEventListener) {
12417
- const seekBack = () => {
12418
- _optionalChain([el, 'access', _292 => _292.removeEventListener, 'optionalCall', _293 => _293("loadedmetadata", seekBack)]);
12419
- try {
12420
- el.currentTime = resumeAt;
12421
- } catch (e40) {
12422
- }
12423
- };
12424
- el.addEventListener("loadedmetadata", seekBack);
12425
- }
12426
- _optionalChain([el, 'access', _294 => _294.play, 'optionalCall', _295 => _295(), 'optionalAccess', _296 => _296.catch, 'optionalCall', _297 => _297(() => {
12427
- })]);
12428
- } catch (e41) {
12429
- }
12430
- }, [clearStallTimer]);
12431
- const errorOverlay = monitorHealth && playbackFailed ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, VideoErrorOverlay, { onRetry: retryPlayback }) : null;
12432
12342
  const player = /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
12433
12343
  _muxplayerreact2.default,
12434
12344
  {
12435
12345
  ref: hoverPlayerRef,
12436
- onError: handleMediaError,
12437
- onWaiting: armStallTimer,
12438
- onStalled: armStallTimer,
12439
- onPlaying: handlePlaybackProgress,
12440
- onTimeUpdate: handlePlaybackProgress,
12441
- onPause: clearStallTimer,
12442
12346
  src: url,
12443
12347
  poster: poster || void 0,
12444
12348
  streamType: "on-demand",
@@ -12476,15 +12380,19 @@ function FilePlayer({
12476
12380
  if (playOnHover && !hoverControlled) {
12477
12381
  return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "relative h-full w-full", onPointerEnter: handleHoverEnter, onPointerLeave: handleHoverLeave, children: [
12478
12382
  player,
12479
- unmuteBadge,
12480
- errorOverlay
12383
+ unmuteBadge
12481
12384
  ] });
12482
12385
  }
12483
- if (hoverControlled || autoPlayUnmuted || startMuted || monitorHealth) {
12386
+ if (hoverControlled) {
12484
12387
  return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "relative h-full w-full", children: [
12485
12388
  player,
12486
- unmuteBadge,
12487
- errorOverlay
12389
+ unmuteBadge
12390
+ ] });
12391
+ }
12392
+ if (autoPlayUnmuted || startMuted) {
12393
+ return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "relative h-full w-full", children: [
12394
+ player,
12395
+ unmuteBadge
12488
12396
  ] });
12489
12397
  }
12490
12398
  return player;
@@ -12526,8 +12434,7 @@ function toYouTubeMessage(parsed) {
12526
12434
  const playerState = typeof info === "object" && info !== null && "playerState" in info ? info.playerState : void 0;
12527
12435
  return {
12528
12436
  event: typeof event === "string" ? event : void 0,
12529
- info: { playerState: typeof playerState === "number" ? playerState : void 0 },
12530
- errorCode: typeof info === "number" ? info : void 0
12437
+ info: { playerState: typeof playerState === "number" ? playerState : void 0 }
12531
12438
  };
12532
12439
  }
12533
12440
  function YouTubeFacadeInner({
@@ -12540,13 +12447,7 @@ function YouTubeFacadeInner({
12540
12447
  suspended
12541
12448
  }) {
12542
12449
  const [activated, setActivated] = _react.useState.call(void 0, Boolean(autoActivate));
12543
- const [failed, setFailed] = _react.useState.call(void 0, false);
12544
- const [reloadNonce, setReloadNonce] = _react.useState.call(void 0, 0);
12545
12450
  const iframeRef = _react.useRef.call(void 0, null);
12546
- const retry = _react.useCallback.call(void 0, () => {
12547
- setFailed(false);
12548
- setReloadNonce((n) => n + 1);
12549
- }, []);
12550
12451
  const embedUrl = _react.useMemo.call(void 0, () => {
12551
12452
  const params = new URLSearchParams({
12552
12453
  autoplay: "1",
@@ -12578,11 +12479,11 @@ function YouTubeFacadeInner({
12578
12479
  const posterWebp = `https://i.ytimg.com/vi_webp/${videoId}/${posterQuality}.webp`;
12579
12480
  const handlePosterError = () => setPosterTier((tier) => Math.min(tier + 1, YT_POSTER_TIERS.length - 1));
12580
12481
  _react.useEffect.call(void 0, () => {
12581
- if (!activated || failed) return void 0;
12482
+ if (!activated) return void 0;
12582
12483
  const iframe = iframeRef.current;
12583
12484
  if (!iframe) return void 0;
12584
12485
  function subscribe2() {
12585
- _optionalChain([iframe, 'optionalAccess', _298 => _298.contentWindow, 'optionalAccess', _299 => _299.postMessage, 'call', _300 => _300('{"event":"listening"}', YT_NOCOOKIE_ORIGIN)]);
12486
+ _optionalChain([iframe, 'optionalAccess', _290 => _290.contentWindow, 'optionalAccess', _291 => _291.postMessage, 'call', _292 => _292('{"event":"listening"}', YT_NOCOOKIE_ORIGIN)]);
12586
12487
  }
12587
12488
  iframe.addEventListener("load", subscribe2);
12588
12489
  subscribe2();
@@ -12593,23 +12494,17 @@ function YouTubeFacadeInner({
12593
12494
  let payload = null;
12594
12495
  try {
12595
12496
  payload = toYouTubeMessage(JSON.parse(event.data));
12596
- } catch (e42) {
12597
- return;
12598
- }
12599
- if (!payload) return;
12600
- if (payload.event === "onError") {
12601
- setFailed(true);
12602
- reportPlaybackFailure({ kind: "youtube", src: videoId, reason: "error", errorCode: payload.errorCode });
12497
+ } catch (e39) {
12603
12498
  return;
12604
12499
  }
12605
- if (payload.event !== "infoDelivery") return;
12606
- const state = _optionalChain([payload, 'access', _301 => _301.info, 'optionalAccess', _302 => _302.playerState]);
12500
+ if (!payload || payload.event !== "infoDelivery") return;
12501
+ const state = _optionalChain([payload, 'access', _293 => _293.info, 'optionalAccess', _294 => _294.playerState]);
12607
12502
  if (typeof state !== "number") return;
12608
12503
  if (state === YT_STATE_PLAYING) {
12609
12504
  if (blurTimer !== null) return;
12610
12505
  blurTimer = setTimeout(() => {
12611
12506
  blurTimer = null;
12612
- _optionalChain([iframeRef, 'access', _303 => _303.current, 'optionalAccess', _304 => _304.blur, 'call', _305 => _305()]);
12507
+ _optionalChain([iframeRef, 'access', _295 => _295.current, 'optionalAccess', _296 => _296.blur, 'call', _297 => _297()]);
12613
12508
  }, YT_PLAYING_BLUR_DELAY_MS);
12614
12509
  return;
12615
12510
  }
@@ -12623,14 +12518,14 @@ function YouTubeFacadeInner({
12623
12518
  window.removeEventListener("message", handleMessage);
12624
12519
  if (blurTimer !== null) clearTimeout(blurTimer);
12625
12520
  };
12626
- }, [activated, failed, reloadNonce, videoId]);
12521
+ }, [activated]);
12627
12522
  const prevSuspendedRef = _react.useRef.call(void 0, false);
12628
12523
  _react.useEffect.call(void 0, () => {
12629
12524
  const wasSuspended = prevSuspendedRef.current;
12630
12525
  prevSuspendedRef.current = Boolean(suspended);
12631
12526
  if (!activated) return;
12632
12527
  if (suspended && !wasSuspended) {
12633
- _optionalChain([iframeRef, 'access', _306 => _306.current, 'optionalAccess', _307 => _307.contentWindow, 'optionalAccess', _308 => _308.postMessage, 'call', _309 => _309(
12528
+ _optionalChain([iframeRef, 'access', _298 => _298.current, 'optionalAccess', _299 => _299.contentWindow, 'optionalAccess', _300 => _300.postMessage, 'call', _301 => _301(
12634
12529
  '{"event":"command","func":"pauseVideo","args":[]}',
12635
12530
  YT_NOCOOKIE_ORIGIN
12636
12531
  )]);
@@ -12638,9 +12533,6 @@ function YouTubeFacadeInner({
12638
12533
  }, [suspended, activated]);
12639
12534
  const wrapperClass = `relative w-full ${_nullishCoalesce(className, () => ( ""))}`;
12640
12535
  const wrapperStyle = { paddingBottom: "56.25%" };
12641
- if (activated && failed) {
12642
- return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: wrapperClass, style: wrapperStyle, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, VideoErrorOverlay, { onRetry: retry, watchOnYouTubeId: videoId }) });
12643
- }
12644
12536
  if (activated) {
12645
12537
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: wrapperClass, style: wrapperStyle, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
12646
12538
  "iframe",
@@ -12652,8 +12544,7 @@ function YouTubeFacadeInner({
12652
12544
  referrerPolicy: "strict-origin-when-cross-origin",
12653
12545
  title,
12654
12546
  className: "absolute inset-0 h-full w-full rounded-lg border-0"
12655
- },
12656
- reloadNonce
12547
+ }
12657
12548
  ) });
12658
12549
  }
12659
12550
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: wrapperClass, style: wrapperStyle, children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
@@ -12884,7 +12775,7 @@ function CardsStrip(props) {
12884
12775
  _react.useEffect.call(void 0, () => {
12885
12776
  const el = wrapperRef.current;
12886
12777
  if (!el || typeof IntersectionObserver === "undefined") return void 0;
12887
- const io = new IntersectionObserver((entries) => setNearViewport(_nullishCoalesce(_optionalChain([entries, 'access', _310 => _310[0], 'optionalAccess', _311 => _311.isIntersecting]), () => ( true))), {
12778
+ const io = new IntersectionObserver((entries) => setNearViewport(_nullishCoalesce(_optionalChain([entries, 'access', _302 => _302[0], 'optionalAccess', _303 => _303.isIntersecting]), () => ( true))), {
12888
12779
  rootMargin: "200px"
12889
12780
  });
12890
12781
  io.observe(el);
@@ -12906,9 +12797,9 @@ function CardsStrip(props) {
12906
12797
  const p = hoverPointerRef.current;
12907
12798
  if (!p.inside) return;
12908
12799
  const el = typeof document !== "undefined" ? document.elementFromPoint(p.x, p.y) : null;
12909
- const cardEl = _optionalChain([el, 'optionalAccess', _312 => _312.closest, 'optionalCall', _313 => _313("[data-strip-card-key]")]);
12910
- const scoped = cardEl && _optionalChain([scrollerRef, 'access', _314 => _314.current, 'optionalAccess', _315 => _315.contains, 'call', _316 => _316(cardEl)]) ? cardEl : null;
12911
- const key = _nullishCoalesce(_optionalChain([scoped, 'optionalAccess', _317 => _317.getAttribute, 'call', _318 => _318("data-strip-card-key")]), () => ( null));
12800
+ const cardEl = _optionalChain([el, 'optionalAccess', _304 => _304.closest, 'optionalCall', _305 => _305("[data-strip-card-key]")]);
12801
+ const scoped = cardEl && _optionalChain([scrollerRef, 'access', _306 => _306.current, 'optionalAccess', _307 => _307.contains, 'call', _308 => _308(cardEl)]) ? cardEl : null;
12802
+ const key = _nullishCoalesce(_optionalChain([scoped, 'optionalAccess', _309 => _309.getAttribute, 'call', _310 => _310("data-strip-card-key")]), () => ( null));
12912
12803
  const current = activeKeyRef.current;
12913
12804
  if (key === current) return;
12914
12805
  if (current !== null) deactivate(current);
@@ -12946,7 +12837,7 @@ function CardsStrip(props) {
12946
12837
  }, [syncHoverToPointer]);
12947
12838
  const seamBuffer = _react.useCallback.call(void 0, () => {
12948
12839
  const half = singleCopyWidthRef.current;
12949
- const viewport = _nullishCoalesce(_optionalChain([scrollerRef, 'access', _319 => _319.current, 'optionalAccess', _320 => _320.clientWidth]), () => ( 0));
12840
+ const viewport = _nullishCoalesce(_optionalChain([scrollerRef, 'access', _311 => _311.current, 'optionalAccess', _312 => _312.clientWidth]), () => ( 0));
12950
12841
  return Math.max(0, Math.min(200, half / 4, half - viewport - TRACK_GAP_PX - 1));
12951
12842
  }, []);
12952
12843
  const { posRef: marqueePosRef, glideBy } = _chunkZI27ALYXcjs.useMarqueeEngine.call(void 0, {
@@ -12962,7 +12853,7 @@ function CardsStrip(props) {
12962
12853
  const scroller = scrollerRef.current;
12963
12854
  if (scroller) scroller.scrollLeft = pos;
12964
12855
  },
12965
- readBack: () => _nullishCoalesce(_optionalChain([scrollerRef, 'access', _321 => _321.current, 'optionalAccess', _322 => _322.scrollLeft]), () => ( 0)),
12856
+ readBack: () => _nullishCoalesce(_optionalChain([scrollerRef, 'access', _313 => _313.current, 'optionalAccess', _314 => _314.scrollLeft]), () => ( 0)),
12966
12857
  onAfterFrame: syncHoverIfScrolled
12967
12858
  });
12968
12859
  const [mountedIdx, setMountedIdx] = _react.useState.call(void 0, () => /* @__PURE__ */ new Set());
@@ -13010,11 +12901,11 @@ function CardsStrip(props) {
13010
12901
  fn = (el) => {
13011
12902
  if (!el) return void 0;
13012
12903
  cardElIdxRef.current.set(el, idx);
13013
- _optionalChain([cardObserverRef, 'access', _323 => _323.current, 'optionalAccess', _324 => _324.observe, 'call', _325 => _325(el)]);
12904
+ _optionalChain([cardObserverRef, 'access', _315 => _315.current, 'optionalAccess', _316 => _316.observe, 'call', _317 => _317(el)]);
13014
12905
  return () => {
13015
12906
  cardElIdxRef.current.delete(el);
13016
12907
  cardElNearRef.current.delete(el);
13017
- _optionalChain([cardObserverRef, 'access', _326 => _326.current, 'optionalAccess', _327 => _327.unobserve, 'call', _328 => _328(el)]);
12908
+ _optionalChain([cardObserverRef, 'access', _318 => _318.current, 'optionalAccess', _319 => _319.unobserve, 'call', _320 => _320(el)]);
13018
12909
  };
13019
12910
  };
13020
12911
  cardRefFns.set(idx, fn);
@@ -13033,7 +12924,7 @@ function CardsStrip(props) {
13033
12924
  const track = trackRef.current;
13034
12925
  if (!scroller || !track) return;
13035
12926
  const firstCard = track.firstElementChild;
13036
- const step = (_nullishCoalesce(_optionalChain([firstCard, 'optionalAccess', _329 => _329.offsetWidth]), () => ( 320))) + TRACK_GAP_PX;
12927
+ const step = (_nullishCoalesce(_optionalChain([firstCard, 'optionalAccess', _321 => _321.offsetWidth]), () => ( 320))) + TRACK_GAP_PX;
13037
12928
  chevronSuppressUntilRef.current = performance.now() + CHEVRON_SUPPRESS_MS;
13038
12929
  if (marqueeActiveRef.current) {
13039
12930
  glideBy(dir * step);
@@ -13090,7 +12981,7 @@ function CardsStrip(props) {
13090
12981
  {
13091
12982
  ref: (node) => {
13092
12983
  wrapperRef.current = node;
13093
- _optionalChain([rootRef, 'optionalCall', _330 => _330(node)]);
12984
+ _optionalChain([rootRef, 'optionalCall', _322 => _322(node)]);
13094
12985
  },
13095
12986
  className: _chunkPRPZBXWZcjs.cn.call(void 0, "flex w-full min-w-0 flex-col gap-6", className),
13096
12987
  children: [
@@ -13202,7 +13093,7 @@ function VideoHoverPreviewSurface({
13202
13093
  if (gateControlled) return void 0;
13203
13094
  const el = rootElRef.current;
13204
13095
  if (!el || typeof IntersectionObserver === "undefined") return void 0;
13205
- const io = new IntersectionObserver((entries) => setIsNear(_nullishCoalesce(_optionalChain([entries, 'access', _331 => _331[0], 'optionalAccess', _332 => _332.isIntersecting]), () => ( false))), {
13096
+ const io = new IntersectionObserver((entries) => setIsNear(_nullishCoalesce(_optionalChain([entries, 'access', _323 => _323[0], 'optionalAccess', _324 => _324.isIntersecting]), () => ( false))), {
13206
13097
  rootMargin: _chunkZI27ALYXcjs.NEAR_VIEWPORT_ROOT_MARGIN
13207
13098
  });
13208
13099
  io.observe(el);
@@ -13347,7 +13238,7 @@ function VideoBitesStrip({
13347
13238
  const filtered = filterPublished ? bites.filter((b) => b.published) : [...bites];
13348
13239
  return filtered.sort(sortComparator);
13349
13240
  }, [bites, filterPublished, sortComparator]);
13350
- const warmup = useVideoWarmup({ videoUrl: _optionalChain([items, 'access', _333 => _333[0], 'optionalAccess', _334 => _334.url]) || null });
13241
+ const warmup = useVideoWarmup({ videoUrl: _optionalChain([items, 'access', _325 => _325[0], 'optionalAccess', _326 => _326.url]) || null });
13351
13242
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
13352
13243
  CardsStrip,
13353
13244
  {
@@ -13414,8 +13305,8 @@ function VideoBiteCard({
13414
13305
  const controlled = active !== void 0;
13415
13306
  const [selfActive, setSelfActive] = _react.useState.call(void 0, false);
13416
13307
  const isActive = controlled ? !!active : selfActive;
13417
- const activate = () => controlled ? _optionalChain([onActivate, 'optionalCall', _335 => _335(key)]) : setSelfActive(true);
13418
- const deactivate = () => controlled ? _optionalChain([onDeactivate, 'optionalCall', _336 => _336(key)]) : setSelfActive(false);
13308
+ const activate = () => controlled ? _optionalChain([onActivate, 'optionalCall', _327 => _327(key)]) : setSelfActive(true);
13309
+ const deactivate = () => controlled ? _optionalChain([onDeactivate, 'optionalCall', _328 => _328(key)]) : setSelfActive(false);
13419
13310
  const titleInputRef = _react.useRef.call(void 0, null);
13420
13311
  _chunkZI27ALYXcjs.useIsomorphicLayoutEffect.call(void 0, () => {
13421
13312
  const el = titleInputRef.current;
@@ -13425,7 +13316,7 @@ function VideoBiteCard({
13425
13316
  });
13426
13317
  const navigate = () => {
13427
13318
  if (bite.onNavigate) bite.onNavigate();
13428
- else _optionalChain([onBiteNavigate, 'optionalCall', _337 => _337(bite, index)]);
13319
+ else _optionalChain([onBiteNavigate, 'optionalCall', _329 => _329(bite, index)]);
13429
13320
  };
13430
13321
  const handlePointerEnter = () => {
13431
13322
  if (!isTouch) activate();
@@ -13450,9 +13341,9 @@ function VideoBiteCard({
13450
13341
  placeholder: "Title (optional)",
13451
13342
  "aria-label": "Bite title",
13452
13343
  rows: 1,
13453
- onChange: (e) => _optionalChain([onTitleChange, 'optionalCall', _338 => _338(e.target.value)]),
13344
+ onChange: (e) => _optionalChain([onTitleChange, 'optionalCall', _330 => _330(e.target.value)]),
13454
13345
  ref: titleInputRef,
13455
- onBlur: (e) => _optionalChain([onTitleCommit, 'optionalCall', _339 => _339(e.target.value)]),
13346
+ onBlur: (e) => _optionalChain([onTitleCommit, 'optionalCall', _331 => _331(e.target.value)]),
13456
13347
  onClick: (e) => e.stopPropagation(),
13457
13348
  className: _chunkPRPZBXWZcjs.cn.call(void 0,
13458
13349
  titleClass,
@@ -13529,7 +13420,7 @@ function VideoBiteCard({
13529
13420
  return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
13530
13421
  "div",
13531
13422
  {
13532
- ref: (node) => _optionalChain([rootRef, 'optionalCall', _340 => _340(node)]),
13423
+ ref: (node) => _optionalChain([rootRef, 'optionalCall', _332 => _332(node)]),
13533
13424
  "aria-hidden": isClone || void 0,
13534
13425
  "data-strip-card-key": key,
13535
13426
  className: _chunkPRPZBXWZcjs.cn.call(void 0,
@@ -13584,8 +13475,8 @@ function EntityVideoSection({
13584
13475
  const hasHighlight = !!highlightVideoUrl;
13585
13476
  const hasVideo = hasFullVideo || hasHighlight;
13586
13477
  const derivedCaptions = captionsEntity ? captions.forEntityId(captionsEntity.type, captionsEntity.id) : null;
13587
- const captionsUrl = _nullishCoalesce(captionsUrlProp, () => ( _optionalChain([derivedCaptions, 'optionalAccess', _341 => _341.captionsUrl])));
13588
- const highlightCaptionsUrl = _nullishCoalesce(highlightCaptionsUrlProp, () => ( _optionalChain([derivedCaptions, 'optionalAccess', _342 => _342.highlightCaptionsUrl])));
13478
+ const captionsUrl = _nullishCoalesce(captionsUrlProp, () => ( _optionalChain([derivedCaptions, 'optionalAccess', _333 => _333.captionsUrl])));
13479
+ const highlightCaptionsUrl = _nullishCoalesce(highlightCaptionsUrlProp, () => ( _optionalChain([derivedCaptions, 'optionalAccess', _334 => _334.highlightCaptionsUrl])));
13589
13480
  if (!hasVideo && !videoSummary && (!videoBites || videoBites.length === 0)) {
13590
13481
  return null;
13591
13482
  }
@@ -13712,7 +13603,7 @@ function parseRepoFromUrl(url) {
13712
13603
  if (u.host !== "github.com") return null;
13713
13604
  const parts = u.pathname.split("/").filter(Boolean);
13714
13605
  if (parts.length >= 2) return `${parts[0]}/${parts[1]}`;
13715
- } catch (e43) {
13606
+ } catch (e40) {
13716
13607
  }
13717
13608
  return null;
13718
13609
  }
@@ -13897,7 +13788,7 @@ function parseChannelFromUrl(url) {
13897
13788
  const parts = u.pathname.split("/").filter(Boolean);
13898
13789
  const archivesIdx = parts.indexOf("archives");
13899
13790
  if (archivesIdx !== -1 && parts.length > archivesIdx + 1) return parts[archivesIdx + 1];
13900
- } catch (e44) {
13791
+ } catch (e41) {
13901
13792
  }
13902
13793
  return null;
13903
13794
  }
@@ -14104,7 +13995,7 @@ function DataRoomDocCard({ item, className, badgeText, anchorProps }) {
14104
13995
  ] }) : null,
14105
13996
  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
14106
13997
  ] }),
14107
- _optionalChain([anchorProps, 'optionalAccess', _343 => _343.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
13998
+ _optionalChain([anchorProps, 'optionalAccess', _335 => _335.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
14108
13999
  ] });
14109
14000
  if (!anchorProps) {
14110
14001
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: `${_chunkNNFQLTJ3cjs.COMPACT_CARD_OUTER_STATIC} ${_nullishCoalesce(className, () => ( ""))}`, "aria-label": "No link available", children: body });
@@ -14132,7 +14023,7 @@ function DataRoomDocCardSkeleton({ className }) {
14132
14023
 
14133
14024
 
14134
14025
  function CampaignCardAdmin({ campaign, className, anchorProps }) {
14135
- const goalsCount = _optionalChain([campaign, 'access', _344 => _344.goals, 'optionalAccess', _345 => _345.length]) || 0;
14026
+ const goalsCount = _optionalChain([campaign, 'access', _336 => _336.goals, 'optionalAccess', _337 => _337.length]) || 0;
14136
14027
  const innerChildren = /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _jsxruntime.Fragment, { children: [
14137
14028
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: _chunkNNFQLTJ3cjs.COMPACT_CARD_ICON_SLOT, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _lucidereact.Megaphone, { className: "h-5 w-5" }) }),
14138
14029
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: _chunkNNFQLTJ3cjs.COMPACT_CARD_TEXT_COL, children: [
@@ -14426,7 +14317,7 @@ function pickFetchedCardHref({
14426
14317
  itemHref,
14427
14318
  allowComposed
14428
14319
  }) {
14429
- if (_optionalChain([composed, 'optionalAccess', _346 => _346.hostOverride])) {
14320
+ if (_optionalChain([composed, 'optionalAccess', _338 => _338.hostOverride])) {
14430
14321
  return { source: "hostOverride", href: composed.href, targetPlatform: composed.targetPlatform };
14431
14322
  }
14432
14323
  if (itemHref) return { source: "item", href: itemHref };
@@ -14621,7 +14512,7 @@ function resolveSourceRowCTA(row, ctx = {}) {
14621
14512
  if (row.path && shouldFallbackToPathNav(row) && !row.externalUrl) {
14622
14513
  const safePath = sanitizePath(row.path);
14623
14514
  if (safePath) {
14624
- const docTarget = row.documentType ? _optionalChain([ctx, 'access', _347 => _347.docPlatformTargets, 'optionalAccess', _348 => _348[row.documentType]]) : void 0;
14515
+ const docTarget = row.documentType ? _optionalChain([ctx, 'access', _339 => _339.docPlatformTargets, 'optionalAccess', _340 => _340[row.documentType]]) : void 0;
14625
14516
  if (docTarget) {
14626
14517
  const seg = docTarget.basePath.split("/").filter(Boolean).join("/");
14627
14518
  const base = `${_chunkPRPZBXWZcjs.getBaseUrl.call(void 0, docTarget.platform)}${seg ? `/${seg}` : ""}/`;
@@ -14764,8 +14655,8 @@ function cardMenuGroups(href, discuss, openDetails, externalLink) {
14764
14655
  if (href) {
14765
14656
  items.push({
14766
14657
  id: "open-details",
14767
- label: _nullishCoalesce(_optionalChain([openDetails, 'optionalAccess', _349 => _349.label]), () => ( "Open Details")),
14768
- icon: _nullishCoalesce(_optionalChain([openDetails, 'optionalAccess', _350 => _350.icon]), () => ( /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkGSQM4PDRcjs.EyeIcon, { size: 20 }))),
14658
+ label: _nullishCoalesce(_optionalChain([openDetails, 'optionalAccess', _341 => _341.label]), () => ( "Open Details")),
14659
+ icon: _nullishCoalesce(_optionalChain([openDetails, 'optionalAccess', _342 => _342.icon]), () => ( /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkGSQM4PDRcjs.EyeIcon, { size: 20 }))),
14769
14660
  // Main row → open the entity (same tab, soft Link nav).
14770
14661
  href,
14771
14662
  // Trailing 40px ↗ side-button → open in a new tab.
@@ -14813,7 +14704,7 @@ function decodeVideoMarkerId(id) {
14813
14704
  const url = atob(b64);
14814
14705
  if (!/^https:\/\//.test(url)) return null;
14815
14706
  return { videoUrl: url };
14816
- } catch (e45) {
14707
+ } catch (e42) {
14817
14708
  return null;
14818
14709
  }
14819
14710
  }
@@ -14825,18 +14716,18 @@ function itemVideoMetadata(item) {
14825
14716
  for (const v of vals) if (typeof v === "string" && v.length > 0) return v;
14826
14717
  return void 0;
14827
14718
  };
14828
- const m = _nullishCoalesce(_optionalChain([item, 'optionalAccess', _351 => _351.metadata]), () => ( {}));
14719
+ const m = _nullishCoalesce(_optionalChain([item, 'optionalAccess', _343 => _343.metadata]), () => ( {}));
14829
14720
  const out = {};
14830
- const videoUrl = pick(m.videoUrl, _optionalChain([item, 'optionalAccess', _352 => _352.custom_video_url]), _optionalChain([item, 'optionalAccess', _353 => _353.main_video_url]));
14831
- const youtubeUrl = pick(m.youtubeUrl, _optionalChain([item, 'optionalAccess', _354 => _354.youtube_url]), _optionalChain([item, 'optionalAccess', _355 => _355.testimonial_video_url]));
14832
- const highlightVideoUrl = pick(m.highlightVideoUrl, _optionalChain([item, 'optionalAccess', _356 => _356.highlight_video_url]));
14721
+ const videoUrl = pick(m.videoUrl, _optionalChain([item, 'optionalAccess', _344 => _344.custom_video_url]), _optionalChain([item, 'optionalAccess', _345 => _345.main_video_url]));
14722
+ const youtubeUrl = pick(m.youtubeUrl, _optionalChain([item, 'optionalAccess', _346 => _346.youtube_url]), _optionalChain([item, 'optionalAccess', _347 => _347.testimonial_video_url]));
14723
+ const highlightVideoUrl = pick(m.highlightVideoUrl, _optionalChain([item, 'optionalAccess', _348 => _348.highlight_video_url]));
14833
14724
  const videoPoster = pick(
14834
14725
  m.videoPoster,
14835
- _optionalChain([item, 'optionalAccess', _357 => _357.main_video_thumbnail]),
14836
- _optionalChain([item, 'optionalAccess', _358 => _358.highlight_video_thumbnail]),
14837
- _optionalChain([item, 'optionalAccess', _359 => _359.featured_image])
14726
+ _optionalChain([item, 'optionalAccess', _349 => _349.main_video_thumbnail]),
14727
+ _optionalChain([item, 'optionalAccess', _350 => _350.highlight_video_thumbnail]),
14728
+ _optionalChain([item, 'optionalAccess', _351 => _351.featured_image])
14838
14729
  );
14839
- const highlightVideoPoster = pick(m.highlightVideoPoster, _optionalChain([item, 'optionalAccess', _360 => _360.highlight_video_thumbnail]));
14730
+ const highlightVideoPoster = pick(m.highlightVideoPoster, _optionalChain([item, 'optionalAccess', _352 => _352.highlight_video_thumbnail]));
14840
14731
  if (videoUrl) out.videoUrl = videoUrl;
14841
14732
  if (youtubeUrl) out.youtubeUrl = youtubeUrl;
14842
14733
  if (highlightVideoUrl) out.highlightVideoUrl = highlightVideoUrl;
@@ -14866,15 +14757,15 @@ function fetchedItemDisplayRef(item, chatRef) {
14866
14757
  }
14867
14758
  function fetchedFaqDisplayRef(item, chatRef) {
14868
14759
  const it = item;
14869
- const answer = typeof _optionalChain([it, 'optionalAccess', _361 => _361.answer]) === "string" && it.answer.trim().length > 0 ? it.answer.trim() : null;
14760
+ const answer = typeof _optionalChain([it, 'optionalAccess', _353 => _353.answer]) === "string" && it.answer.trim().length > 0 ? it.answer.trim() : null;
14870
14761
  return {
14871
14762
  type: "faq",
14872
14763
  id: chatRef.id,
14873
14764
  sourceRepo: chatRef.sourceRepo,
14874
- title: typeof _optionalChain([it, 'optionalAccess', _362 => _362.question]) === "string" && it.question ? it.question : chatRef.id,
14765
+ title: typeof _optionalChain([it, 'optionalAccess', _354 => _354.question]) === "string" && it.question ? it.question : chatRef.id,
14875
14766
  url: _nullishCoalesce(chatRef.url, () => ( null)),
14876
14767
  ...answer ? { preview: answer.length > 400 ? `${answer.slice(0, 397)}\u2026` : answer } : {},
14877
- metadata: typeof _optionalChain([it, 'optionalAccess', _363 => _363.section]) === "string" && it.section ? { section: it.section } : {}
14768
+ metadata: typeof _optionalChain([it, 'optionalAccess', _355 => _355.section]) === "string" && it.section ? { section: it.section } : {}
14878
14769
  };
14879
14770
  }
14880
14771
  function HubspotTicketChatCard({
@@ -14882,8 +14773,8 @@ function HubspotTicketChatCard({
14882
14773
  isNewTab,
14883
14774
  discuss
14884
14775
  }) {
14885
- const status = typeof _optionalChain([chatRef, 'access', _364 => _364.metadata, 'optionalAccess', _365 => _365.status]) === "string" ? chatRef.metadata.status : void 0;
14886
- const statusLabel = typeof _optionalChain([chatRef, 'access', _366 => _366.metadata, 'optionalAccess', _367 => _367.statusLabel]) === "string" ? chatRef.metadata.statusLabel : void 0;
14776
+ const status = typeof _optionalChain([chatRef, 'access', _356 => _356.metadata, 'optionalAccess', _357 => _357.status]) === "string" ? chatRef.metadata.status : void 0;
14777
+ const statusLabel = typeof _optionalChain([chatRef, 'access', _358 => _358.metadata, 'optionalAccess', _359 => _359.statusLabel]) === "string" ? chatRef.metadata.statusLabel : void 0;
14887
14778
  const statusText = _nullishCoalesce(statusLabel, () => ( formatStatusToken(status)));
14888
14779
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
14889
14780
  MingoInfoCard,
@@ -14906,7 +14797,7 @@ function FaqChatCard({
14906
14797
  isNewTab,
14907
14798
  discuss
14908
14799
  }) {
14909
- const section = typeof _optionalChain([chatRef, 'access', _368 => _368.metadata, 'optionalAccess', _369 => _369.section]) === "string" ? chatRef.metadata.section.trim() : void 0;
14800
+ const section = typeof _optionalChain([chatRef, 'access', _360 => _360.metadata, 'optionalAccess', _361 => _361.section]) === "string" ? chatRef.metadata.section.trim() : void 0;
14910
14801
  const statusLabel = section && section.length > 0 ? section : "FAQ";
14911
14802
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
14912
14803
  MingoInfoCard,
@@ -14926,7 +14817,7 @@ function SlackChatCard({
14926
14817
  isNewTab,
14927
14818
  discuss
14928
14819
  }) {
14929
- const channelName = typeof _optionalChain([chatRef, 'access', _370 => _370.metadata, 'optionalAccess', _371 => _371.channelName]) === "string" ? chatRef.metadata.channelName.trim() : void 0;
14820
+ const channelName = typeof _optionalChain([chatRef, 'access', _362 => _362.metadata, 'optionalAccess', _363 => _363.channelName]) === "string" ? chatRef.metadata.channelName.trim() : void 0;
14930
14821
  const channelPretty = channelName ? channelName.startsWith("#") ? channelName : `#${channelName}` : void 0;
14931
14822
  const title = channelPretty ? `${chatRef.title} \xB7 ${channelPretty}` : chatRef.title;
14932
14823
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
@@ -14966,7 +14857,7 @@ function GenericFinancialChatCard({
14966
14857
  isNewTab,
14967
14858
  discuss
14968
14859
  }) {
14969
- const subtitle = typeof _optionalChain([chatRef, 'access', _372 => _372.metadata, 'optionalAccess', _373 => _373.subtitle]) === "string" ? chatRef.metadata.subtitle : void 0;
14860
+ const subtitle = typeof _optionalChain([chatRef, 'access', _364 => _364.metadata, 'optionalAccess', _365 => _365.subtitle]) === "string" ? chatRef.metadata.subtitle : void 0;
14970
14861
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
14971
14862
  MingoInfoCard,
14972
14863
  {
@@ -15035,12 +14926,12 @@ function ProductReleaseChatCard({
15035
14926
  discuss
15036
14927
  }) {
15037
14928
  const releaseProps = buildProps(item);
15038
- const status = _optionalChain([item, 'optionalAccess', _374 => _374.version]) ? { label: String(item.version), variant: "grey" } : { label: "Release", variant: "grey" };
14929
+ const status = _optionalChain([item, 'optionalAccess', _366 => _366.version]) ? { label: String(item.version), variant: "grey" } : { label: "Release", variant: "grey" };
15039
14930
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
15040
14931
  EntityMingoCard,
15041
14932
  {
15042
- title: _nullishCoalesce(_optionalChain([item, 'optionalAccess', _375 => _375.title]), () => ( "")),
15043
- description: _optionalChain([item, 'optionalAccess', _376 => _376.summary]) || releaseProps.formattedDate || void 0,
14933
+ title: _nullishCoalesce(_optionalChain([item, 'optionalAccess', _367 => _367.title]), () => ( "")),
14934
+ description: _optionalChain([item, 'optionalAccess', _368 => _368.summary]) || releaseProps.formattedDate || void 0,
15044
14935
  cover: releaseProps.coverImage || void 0,
15045
14936
  fallbackIcon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkGSQM4PDRcjs.Rocket02Icon, { size: 24 }),
15046
14937
  status,
@@ -15057,17 +14948,17 @@ function CampaignChatCard({
15057
14948
  isNewTab,
15058
14949
  discuss
15059
14950
  }) {
15060
- const goalsCount = Array.isArray(_optionalChain([item, 'optionalAccess', _377 => _377.goals])) ? item.goals.length : 0;
14951
+ const goalsCount = Array.isArray(_optionalChain([item, 'optionalAccess', _369 => _369.goals])) ? item.goals.length : 0;
15061
14952
  const meta = [
15062
- _optionalChain([item, 'optionalAccess', _378 => _378.start_date]) ? _chunkNNFQLTJ3cjs.formatDateShort.call(void 0, item.start_date) : null,
14953
+ _optionalChain([item, 'optionalAccess', _370 => _370.start_date]) ? _chunkNNFQLTJ3cjs.formatDateShort.call(void 0, item.start_date) : null,
15063
14954
  goalsCount > 0 ? `${goalsCount} goal${goalsCount !== 1 ? "s" : ""}` : null,
15064
14955
  "Marketing campaign"
15065
14956
  ].filter(Boolean).join(" \xB7 ");
15066
14957
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
15067
14958
  EntityMingoCard,
15068
14959
  {
15069
- title: _nullishCoalesce(_optionalChain([item, 'optionalAccess', _379 => _379.name]), () => ( "")),
15070
- description: meta || _optionalChain([item, 'optionalAccess', _380 => _380.description]) || void 0,
14960
+ title: _nullishCoalesce(_optionalChain([item, 'optionalAccess', _371 => _371.name]), () => ( "")),
14961
+ description: meta || _optionalChain([item, 'optionalAccess', _372 => _372.description]) || void 0,
15071
14962
  fallbackIcon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkGSQM4PDRcjs.Megaphone01Icon, { size: 24 }),
15072
14963
  chatRef,
15073
14964
  isNewTab,
@@ -15122,14 +15013,14 @@ function BlogChatCard({
15122
15013
  hasEmbeddedVideo,
15123
15014
  discuss
15124
15015
  }) {
15125
- const category = Array.isArray(_optionalChain([item, 'optionalAccess', _381 => _381.categories])) ? _nullishCoalesce(_optionalChain([item, 'access', _382 => _382.categories, 'access', _383 => _383.find, 'call', _384 => _384((c) => _optionalChain([c, 'optionalAccess', _385 => _385.name])), 'optionalAccess', _386 => _386.name]), () => ( void 0)) : void 0;
15016
+ const category = Array.isArray(_optionalChain([item, 'optionalAccess', _373 => _373.categories])) ? _nullishCoalesce(_optionalChain([item, 'access', _374 => _374.categories, 'access', _375 => _375.find, 'call', _376 => _376((c) => _optionalChain([c, 'optionalAccess', _377 => _377.name])), 'optionalAccess', _378 => _378.name]), () => ( void 0)) : void 0;
15126
15017
  const status = hasEmbeddedVideo ? { label: "Video", variant: "primary" } : category ? { label: category, variant: "grey" } : void 0;
15127
15018
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
15128
15019
  EntityMingoCard,
15129
15020
  {
15130
- title: _nullishCoalesce(_optionalChain([item, 'optionalAccess', _387 => _387.title]), () => ( "")),
15131
- description: _nullishCoalesce(_optionalChain([item, 'optionalAccess', _388 => _388.summary]), () => ( void 0)),
15132
- cover: entityCover(_optionalChain([item, 'optionalAccess', _389 => _389.featured_image]), ogPlaceholder),
15021
+ title: _nullishCoalesce(_optionalChain([item, 'optionalAccess', _379 => _379.title]), () => ( "")),
15022
+ description: _nullishCoalesce(_optionalChain([item, 'optionalAccess', _380 => _380.summary]), () => ( void 0)),
15023
+ cover: entityCover(_optionalChain([item, 'optionalAccess', _381 => _381.featured_image]), ogPlaceholder),
15133
15024
  fallbackIcon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkGSQM4PDRcjs.NewspaperIcon, { size: 24 }),
15134
15025
  status,
15135
15026
  chatRef,
@@ -15146,13 +15037,13 @@ function CaseStudyChatCard({
15146
15037
  ogPlaceholder,
15147
15038
  discuss
15148
15039
  }) {
15149
- const meta = [_optionalChain([item, 'optionalAccess', _390 => _390.msp, 'optionalAccess', _391 => _391.name]), _optionalChain([item, 'optionalAccess', _392 => _392.user, 'optionalAccess', _393 => _393.full_name])].filter(Boolean).join(" \xB7 ");
15040
+ const meta = [_optionalChain([item, 'optionalAccess', _382 => _382.msp, 'optionalAccess', _383 => _383.name]), _optionalChain([item, 'optionalAccess', _384 => _384.user, 'optionalAccess', _385 => _385.full_name])].filter(Boolean).join(" \xB7 ");
15150
15041
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
15151
15042
  EntityMingoCard,
15152
15043
  {
15153
- title: _nullishCoalesce(_optionalChain([item, 'optionalAccess', _394 => _394.title]), () => ( "")),
15154
- description: _optionalChain([item, 'optionalAccess', _395 => _395.summary]) || meta || void 0,
15155
- cover: entityCover(_optionalChain([item, 'optionalAccess', _396 => _396.featured_image]), ogPlaceholder),
15044
+ title: _nullishCoalesce(_optionalChain([item, 'optionalAccess', _386 => _386.title]), () => ( "")),
15045
+ description: _optionalChain([item, 'optionalAccess', _387 => _387.summary]) || meta || void 0,
15046
+ cover: entityCover(_optionalChain([item, 'optionalAccess', _388 => _388.featured_image]), ogPlaceholder),
15156
15047
  fallbackIcon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkGSQM4PDRcjs.TrophyIcon, { size: 24 }),
15157
15048
  status: { label: "Case study", variant: "grey" },
15158
15049
  chatRef,
@@ -15169,13 +15060,13 @@ function CustomerInterviewChatCard({
15169
15060
  ogPlaceholder,
15170
15061
  discuss
15171
15062
  }) {
15172
- const meta = [_optionalChain([item, 'optionalAccess', _397 => _397.user, 'optionalAccess', _398 => _398.full_name]), _optionalChain([item, 'optionalAccess', _399 => _399.msp, 'optionalAccess', _400 => _400.name])].filter(Boolean).join(" \xB7 ");
15063
+ const meta = [_optionalChain([item, 'optionalAccess', _389 => _389.user, 'optionalAccess', _390 => _390.full_name]), _optionalChain([item, 'optionalAccess', _391 => _391.msp, 'optionalAccess', _392 => _392.name])].filter(Boolean).join(" \xB7 ");
15173
15064
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
15174
15065
  EntityMingoCard,
15175
15066
  {
15176
- title: _nullishCoalesce(_optionalChain([item, 'optionalAccess', _401 => _401.title]), () => ( "")),
15177
- description: _optionalChain([item, 'optionalAccess', _402 => _402.video_summary]) || meta || void 0,
15178
- cover: entityCover(_optionalChain([item, 'optionalAccess', _403 => _403.featured_image]), ogPlaceholder),
15067
+ title: _nullishCoalesce(_optionalChain([item, 'optionalAccess', _393 => _393.title]), () => ( "")),
15068
+ description: _optionalChain([item, 'optionalAccess', _394 => _394.video_summary]) || meta || void 0,
15069
+ cover: entityCover(_optionalChain([item, 'optionalAccess', _395 => _395.featured_image]), ogPlaceholder),
15179
15070
  fallbackIcon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkGSQM4PDRcjs.MicrophoneIcon, { size: 24 }),
15180
15071
  status: { label: "Interview", variant: "grey" },
15181
15072
  chatRef,
@@ -15192,13 +15083,13 @@ function InvestorUpdateChatCard({
15192
15083
  ogPlaceholder,
15193
15084
  discuss
15194
15085
  }) {
15195
- const title = _optionalChain([item, 'optionalAccess', _404 => _404.title]) || `Update #${_nullishCoalesce(_optionalChain([item, 'optionalAccess', _405 => _405.update_number]), () => ( "?"))}`;
15086
+ const title = _optionalChain([item, 'optionalAccess', _396 => _396.title]) || `Update #${_nullishCoalesce(_optionalChain([item, 'optionalAccess', _397 => _397.update_number]), () => ( "?"))}`;
15196
15087
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
15197
15088
  EntityMingoCard,
15198
15089
  {
15199
15090
  title,
15200
- description: _optionalChain([item, 'optionalAccess', _406 => _406.strategic_update]) || _optionalChain([item, 'optionalAccess', _407 => _407.content]) || _chunkNNFQLTJ3cjs.formatInvestorUpdatePeriod.call(void 0, _nullishCoalesce(_optionalChain([item, 'optionalAccess', _408 => _408.period_start]), () => ( null)), _nullishCoalesce(_optionalChain([item, 'optionalAccess', _409 => _409.period_end]), () => ( null))) || void 0,
15201
- cover: entityCover(_optionalChain([item, 'optionalAccess', _410 => _410.featured_image]), ogPlaceholder),
15091
+ description: _optionalChain([item, 'optionalAccess', _398 => _398.strategic_update]) || _optionalChain([item, 'optionalAccess', _399 => _399.content]) || _chunkNNFQLTJ3cjs.formatInvestorUpdatePeriod.call(void 0, _nullishCoalesce(_optionalChain([item, 'optionalAccess', _400 => _400.period_start]), () => ( null)), _nullishCoalesce(_optionalChain([item, 'optionalAccess', _401 => _401.period_end]), () => ( null))) || void 0,
15092
+ cover: entityCover(_optionalChain([item, 'optionalAccess', _402 => _402.featured_image]), ogPlaceholder),
15202
15093
  fallbackIcon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkGSQM4PDRcjs.PresentationLineIcon, { size: 24 }),
15203
15094
  status: { label: "Investor update", variant: "grey" },
15204
15095
  chatRef,
@@ -15215,12 +15106,12 @@ function OnboardingGuideChatCard({
15215
15106
  ogPlaceholder,
15216
15107
  discuss
15217
15108
  }) {
15218
- const cover = _nullishCoalesce(_nullishCoalesce(entityCover(_optionalChain([item, 'optionalAccess', _411 => _411.featured_image])), () => ( entityCover(_optionalChain([item, 'optionalAccess', _412 => _412.main_video_thumbnail])))), () => ( entityCover(_optionalChain([item, 'optionalAccess', _413 => _413.og_image_url]), ogPlaceholder)));
15109
+ const cover = _nullishCoalesce(_nullishCoalesce(entityCover(_optionalChain([item, 'optionalAccess', _403 => _403.featured_image])), () => ( entityCover(_optionalChain([item, 'optionalAccess', _404 => _404.main_video_thumbnail])))), () => ( entityCover(_optionalChain([item, 'optionalAccess', _405 => _405.og_image_url]), ogPlaceholder)));
15219
15110
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
15220
15111
  EntityMingoCard,
15221
15112
  {
15222
- title: _nullishCoalesce(_optionalChain([item, 'optionalAccess', _414 => _414.title]), () => ( "")),
15223
- description: _nullishCoalesce(_nullishCoalesce(_optionalChain([item, 'optionalAccess', _415 => _415.summary]), () => ( _optionalChain([item, 'optionalAccess', _416 => _416.description]))), () => ( void 0)),
15113
+ title: _nullishCoalesce(_optionalChain([item, 'optionalAccess', _406 => _406.title]), () => ( "")),
15114
+ description: _nullishCoalesce(_nullishCoalesce(_optionalChain([item, 'optionalAccess', _407 => _407.summary]), () => ( _optionalChain([item, 'optionalAccess', _408 => _408.description]))), () => ( void 0)),
15224
15115
  cover,
15225
15116
  fallbackIcon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkGSQM4PDRcjs.CompassIcon, { size: 24 }),
15226
15117
  status: { label: "Guide", variant: "grey" },
@@ -15241,25 +15132,25 @@ function ProgramChatCard({
15241
15132
  discuss
15242
15133
  }) {
15243
15134
  const icon = configKey === "webinar" ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkGSQM4PDRcjs.PresentationBarIcon, { size: 24 }) : configKey === "event" ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkGSQM4PDRcjs.CalendarIcon, { size: 24 }) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkGSQM4PDRcjs.MicrophoneIcon, { size: 24 });
15244
- const isScheduled = _optionalChain([item, 'optionalAccess', _417 => _417.status]) === "scheduled";
15135
+ const isScheduled = _optionalChain([item, 'optionalAccess', _409 => _409.status]) === "scheduled";
15245
15136
  let typeMeta;
15246
- if (configKey === "podcast" && typeof _optionalChain([item, 'optionalAccess', _418 => _418.duration_seconds]) === "number" && item.duration_seconds > 0 && !isScheduled) {
15137
+ if (configKey === "podcast" && typeof _optionalChain([item, 'optionalAccess', _410 => _410.duration_seconds]) === "number" && item.duration_seconds > 0 && !isScheduled) {
15247
15138
  typeMeta = _chunkNNFQLTJ3cjs.formatDurationCompact.call(void 0, item.duration_seconds);
15248
- } else if (configKey === "event" && typeof _optionalChain([item, 'optionalAccess', _419 => _419.location_name]) === "string" && item.location_name.trim().length > 0) {
15139
+ } else if (configKey === "event" && typeof _optionalChain([item, 'optionalAccess', _411 => _411.location_name]) === "string" && item.location_name.trim().length > 0) {
15249
15140
  typeMeta = item.location_name;
15250
- } else if (configKey === "webinar" && _optionalChain([item, 'optionalAccess', _420 => _420.start_at])) {
15141
+ } else if (configKey === "webinar" && _optionalChain([item, 'optionalAccess', _412 => _412.start_at])) {
15251
15142
  const time = _chunkNNFQLTJ3cjs.formatTimeWithTimezone.call(void 0, item.start_at, _nullishCoalesce(item.timezone, () => ( null)));
15252
15143
  const dur = _chunkNNFQLTJ3cjs.formatDurationFromRange.call(void 0, item.start_at, item.end_at);
15253
15144
  typeMeta = dur ? `${time} \xB7 ${dur}` : time;
15254
15145
  }
15255
- const itemDate = _chunkNNFQLTJ3cjs.formatDateUTC.call(void 0, _nullishCoalesce(_optionalChain([item, 'optionalAccess', _421 => _421.date]), () => ( null)), { fallback: "", timezone: "local" });
15146
+ const itemDate = _chunkNNFQLTJ3cjs.formatDateUTC.call(void 0, _nullishCoalesce(_optionalChain([item, 'optionalAccess', _413 => _413.date]), () => ( null)), { fallback: "", timezone: "local" });
15256
15147
  const meta = [itemDate, typeMeta].filter(Boolean).join(" \xB7 ");
15257
15148
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
15258
15149
  EntityMingoCard,
15259
15150
  {
15260
- title: _nullishCoalesce(_optionalChain([item, 'optionalAccess', _422 => _422.title]), () => ( "")),
15261
- description: meta || _optionalChain([item, 'optionalAccess', _423 => _423.description]) || void 0,
15262
- cover: entityCover(_optionalChain([item, 'optionalAccess', _424 => _424.cover_url]), ogPlaceholder),
15151
+ title: _nullishCoalesce(_optionalChain([item, 'optionalAccess', _414 => _414.title]), () => ( "")),
15152
+ description: meta || _optionalChain([item, 'optionalAccess', _415 => _415.description]) || void 0,
15153
+ cover: entityCover(_optionalChain([item, 'optionalAccess', _416 => _416.cover_url]), ogPlaceholder),
15263
15154
  fallbackIcon: icon,
15264
15155
  status: { label, variant: "grey" },
15265
15156
  chatRef,
@@ -15276,10 +15167,10 @@ function RoadmapChatCard({
15276
15167
  cardType,
15277
15168
  discuss
15278
15169
  }) {
15279
- const logoUrl = typeof _optionalChain([item, 'optionalAccess', _425 => _425.icon]) === "string" && item.icon.startsWith("http") ? item.icon : void 0;
15280
- const useTypeIcon = cardType === "internal_task" || !logoUrl && _optionalChain([item, 'optionalAccess', _426 => _426.customItemId]) != null;
15170
+ const logoUrl = typeof _optionalChain([item, 'optionalAccess', _417 => _417.icon]) === "string" && item.icon.startsWith("http") ? item.icon : void 0;
15171
+ const useTypeIcon = cardType === "internal_task" || !logoUrl && _optionalChain([item, 'optionalAccess', _418 => _418.customItemId]) != null;
15281
15172
  const defaultIcon = cardType === "delivery_item" ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkGSQM4PDRcjs.TruckFastIcon, { size: 24 }) : cardType === "internal_task" ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkGSQM4PDRcjs.CheckSquareIcon, { size: 24 }) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkGSQM4PDRcjs.MapIcon, { size: 24 });
15282
- const icon = useTypeIcon ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkNNFQLTJ3cjs.TaskTypeIcon, { customItemId: _optionalChain([item, 'optionalAccess', _427 => _427.customItemId]), className: "size-6" }) : logoUrl ? (
15173
+ const icon = useTypeIcon ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkNNFQLTJ3cjs.TaskTypeIcon, { customItemId: _optionalChain([item, 'optionalAccess', _419 => _419.customItemId]), className: "size-6" }) : logoUrl ? (
15283
15174
  // Contained (not full-bleed) so the integration logo keeps its aspect
15284
15175
  // ratio inside the bordered icon box — matches RoadmapCard.
15285
15176
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkWLSFBRT5cjs.next_image_default, { src: logoUrl, alt: "", className: "size-6 object-contain", width: 24, height: 24, unoptimized: true })
@@ -15290,10 +15181,10 @@ function RoadmapChatCard({
15290
15181
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
15291
15182
  EntityMingoCard,
15292
15183
  {
15293
- title: _nullishCoalesce(_optionalChain([item, 'optionalAccess', _428 => _428.title]), () => ( "")),
15294
- description: _nullishCoalesce(_optionalChain([item, 'optionalAccess', _429 => _429.description]), () => ( void 0)),
15184
+ title: _nullishCoalesce(_optionalChain([item, 'optionalAccess', _420 => _420.title]), () => ( "")),
15185
+ description: _nullishCoalesce(_optionalChain([item, 'optionalAccess', _421 => _421.description]), () => ( void 0)),
15295
15186
  fallbackIcon: icon,
15296
- status: statusPill(_optionalChain([item, 'optionalAccess', _430 => _430.status])),
15187
+ status: statusPill(_optionalChain([item, 'optionalAccess', _422 => _422.status])),
15297
15188
  chatRef,
15298
15189
  isNewTab,
15299
15190
  discuss,
@@ -15309,7 +15200,7 @@ function refHydratedEntry(docType, label, renderRef) {
15309
15200
  bareInline: true,
15310
15201
  contentRefType: docType,
15311
15202
  noComposedHref: true,
15312
- fallbackHref: (item) => _nullishCoalesce(_optionalChain([item, 'optionalAccess', _431 => _431.url]), () => ( null)),
15203
+ fallbackHref: (item) => _nullishCoalesce(_optionalChain([item, 'optionalAccess', _423 => _423.url]), () => ( null)),
15313
15204
  skeleton: () => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, MingoInfoCardSkeleton, {}),
15314
15205
  render: (item, chatRef, opts) => renderRef(fetchedItemDisplayRef(item, chatRef), opts)
15315
15206
  };
@@ -15374,7 +15265,7 @@ function programRegistryEntries() {
15374
15265
  discuss: opts.discuss,
15375
15266
  configKey: cfg.configKey,
15376
15267
  label: cfg.configKey.charAt(0).toUpperCase() + cfg.configKey.slice(1),
15377
- ogPlaceholder: _nullishCoalesce(_optionalChain([opts, 'optionalAccess', _432 => _432.extras, 'optionalAccess', _433 => _433.buildOgPlaceholderUrl, 'optionalCall', _434 => _434(_nullishCoalesce(_optionalChain([item, 'optionalAccess', _435 => _435.title]), () => ( "")))]), () => ( null))
15268
+ ogPlaceholder: _nullishCoalesce(_optionalChain([opts, 'optionalAccess', _424 => _424.extras, 'optionalAccess', _425 => _425.buildOgPlaceholderUrl, 'optionalCall', _426 => _426(_nullishCoalesce(_optionalChain([item, 'optionalAccess', _427 => _427.title]), () => ( "")))]), () => ( null))
15378
15269
  }
15379
15270
  )
15380
15271
  }));
@@ -15395,7 +15286,7 @@ var ROADMAP_CARD_CONFIGS = {
15395
15286
  // The card's destination IS the ClickUp deep link, derived from the
15396
15287
  // task id post-fetch (the refs frame used to carry it).
15397
15288
  noComposedHref: true,
15398
- fallbackHref: (item) => _optionalChain([item, 'optionalAccess', _436 => _436.id]) != null ? clickupTaskUrl(String(item.id)) : null
15289
+ fallbackHref: (item) => _optionalChain([item, 'optionalAccess', _428 => _428.id]) != null ? clickupTaskUrl(String(item.id)) : null
15399
15290
  }
15400
15291
  };
15401
15292
  function roadmapRegistryEntries() {
@@ -15437,8 +15328,8 @@ var CHAT_CARD_REGISTRY = {
15437
15328
  DeletedDataCard,
15438
15329
  {
15439
15330
  title: chatRef.title && chatRef.title !== chatRef.id ? chatRef.title : null,
15440
- entityLabel: _nullishCoalesce(_optionalChain([chatRef, 'access', _437 => _437.metadata, 'optionalAccess', _438 => _438.entity_label]), () => ( null)),
15441
- recoveryNote: _nullishCoalesce(_optionalChain([chatRef, 'access', _439 => _439.metadata, 'optionalAccess', _440 => _440.recovery_note]), () => ( null))
15331
+ entityLabel: _nullishCoalesce(_optionalChain([chatRef, 'access', _429 => _429.metadata, 'optionalAccess', _430 => _430.entity_label]), () => ( null)),
15332
+ recoveryNote: _nullishCoalesce(_optionalChain([chatRef, 'access', _431 => _431.metadata, 'optionalAccess', _432 => _432.recovery_note]), () => ( null))
15442
15333
  }
15443
15334
  )
15444
15335
  },
@@ -15452,7 +15343,7 @@ var CHAT_CARD_REGISTRY = {
15452
15343
  bareInline: true,
15453
15344
  contentRefType: "faq",
15454
15345
  noComposedHref: true,
15455
- fallbackHref: (item) => _optionalChain([item, 'optionalAccess', _441 => _441.id]) != null ? `/faqs#${faqItemAnchor(item.id)}` : null,
15346
+ fallbackHref: (item) => _optionalChain([item, 'optionalAccess', _433 => _433.id]) != null ? `/faqs#${faqItemAnchor(item.id)}` : null,
15456
15347
  skeleton: () => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, MingoInfoCardSkeleton, {}),
15457
15348
  render: (item, chatRef, opts) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, FaqChatCard, { chatRef: fetchedFaqDisplayRef(item, chatRef), isNewTab: opts.isNewTab, discuss: opts.discuss })
15458
15349
  },
@@ -15486,8 +15377,8 @@ var CHAT_CARD_REGISTRY = {
15486
15377
  chatRef,
15487
15378
  isNewTab: opts.isNewTab,
15488
15379
  discuss: opts.discuss,
15489
- ogPlaceholder: _nullishCoalesce(_optionalChain([opts, 'optionalAccess', _442 => _442.extras, 'optionalAccess', _443 => _443.buildOgPlaceholderUrl, 'optionalCall', _444 => _444(_nullishCoalesce(_optionalChain([item, 'optionalAccess', _445 => _445.title]), () => ( "")))]), () => ( null)),
15490
- hasEmbeddedVideo: _optionalChain([chatRef, 'access', _446 => _446.metadata, 'optionalAccess', _447 => _447.hasEmbeddedVideo]) === true
15380
+ ogPlaceholder: _nullishCoalesce(_optionalChain([opts, 'optionalAccess', _434 => _434.extras, 'optionalAccess', _435 => _435.buildOgPlaceholderUrl, 'optionalCall', _436 => _436(_nullishCoalesce(_optionalChain([item, 'optionalAccess', _437 => _437.title]), () => ( "")))]), () => ( null)),
15381
+ hasEmbeddedVideo: _optionalChain([chatRef, 'access', _438 => _438.metadata, 'optionalAccess', _439 => _439.hasEmbeddedVideo]) === true
15491
15382
  }
15492
15383
  )
15493
15384
  },
@@ -15503,7 +15394,7 @@ var CHAT_CARD_REGISTRY = {
15503
15394
  chatRef,
15504
15395
  isNewTab: opts.isNewTab,
15505
15396
  discuss: opts.discuss,
15506
- ogPlaceholder: _nullishCoalesce(_optionalChain([opts, 'optionalAccess', _448 => _448.extras, 'optionalAccess', _449 => _449.buildOgPlaceholderUrl, 'optionalCall', _450 => _450(_nullishCoalesce(_optionalChain([item, 'optionalAccess', _451 => _451.title]), () => ( "")))]), () => ( null))
15397
+ ogPlaceholder: _nullishCoalesce(_optionalChain([opts, 'optionalAccess', _440 => _440.extras, 'optionalAccess', _441 => _441.buildOgPlaceholderUrl, 'optionalCall', _442 => _442(_nullishCoalesce(_optionalChain([item, 'optionalAccess', _443 => _443.title]), () => ( "")))]), () => ( null))
15507
15398
  }
15508
15399
  )
15509
15400
  },
@@ -15519,7 +15410,7 @@ var CHAT_CARD_REGISTRY = {
15519
15410
  chatRef,
15520
15411
  isNewTab: opts.isNewTab,
15521
15412
  discuss: opts.discuss,
15522
- ogPlaceholder: _nullishCoalesce(_optionalChain([opts, 'optionalAccess', _452 => _452.extras, 'optionalAccess', _453 => _453.buildOgPlaceholderUrl, 'optionalCall', _454 => _454(_nullishCoalesce(_optionalChain([item, 'optionalAccess', _455 => _455.title]), () => ( "")))]), () => ( null))
15413
+ ogPlaceholder: _nullishCoalesce(_optionalChain([opts, 'optionalAccess', _444 => _444.extras, 'optionalAccess', _445 => _445.buildOgPlaceholderUrl, 'optionalCall', _446 => _446(_nullishCoalesce(_optionalChain([item, 'optionalAccess', _447 => _447.title]), () => ( "")))]), () => ( null))
15523
15414
  }
15524
15415
  )
15525
15416
  },
@@ -15529,7 +15420,7 @@ var CHAT_CARD_REGISTRY = {
15529
15420
  bareInline: true,
15530
15421
  skeleton: () => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkNNFQLTJ3cjs.ProductReleaseCardSkeleton, { size: "sm" }),
15531
15422
  render: (item, chatRef, opts) => {
15532
- const builder = _nullishCoalesce(_optionalChain([opts, 'optionalAccess', _456 => _456.extras, 'optionalAccess', _457 => _457.buildProductReleaseCardProps]), () => ( _chunkNNFQLTJ3cjs.defaultBuildProductReleaseCardProps));
15423
+ const builder = _nullishCoalesce(_optionalChain([opts, 'optionalAccess', _448 => _448.extras, 'optionalAccess', _449 => _449.buildProductReleaseCardProps]), () => ( _chunkNNFQLTJ3cjs.defaultBuildProductReleaseCardProps));
15533
15424
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
15534
15425
  ProductReleaseChatCard,
15535
15426
  {
@@ -15555,7 +15446,7 @@ var CHAT_CARD_REGISTRY = {
15555
15446
  chatRef,
15556
15447
  isNewTab: opts.isNewTab,
15557
15448
  discuss: opts.discuss,
15558
- ogPlaceholder: _nullishCoalesce(_optionalChain([opts, 'optionalAccess', _458 => _458.extras, 'optionalAccess', _459 => _459.buildOgPlaceholderUrl, 'optionalCall', _460 => _460(_nullishCoalesce(_optionalChain([item, 'optionalAccess', _461 => _461.title]), () => ( "")))]), () => ( null))
15449
+ ogPlaceholder: _nullishCoalesce(_optionalChain([opts, 'optionalAccess', _450 => _450.extras, 'optionalAccess', _451 => _451.buildOgPlaceholderUrl, 'optionalCall', _452 => _452(_nullishCoalesce(_optionalChain([item, 'optionalAccess', _453 => _453.title]), () => ( "")))]), () => ( null))
15559
15450
  }
15560
15451
  )
15561
15452
  },
@@ -15573,7 +15464,7 @@ var CHAT_CARD_REGISTRY = {
15573
15464
  chatRef,
15574
15465
  isNewTab: opts.isNewTab,
15575
15466
  discuss: opts.discuss,
15576
- ogPlaceholder: _nullishCoalesce(_optionalChain([opts, 'optionalAccess', _462 => _462.extras, 'optionalAccess', _463 => _463.buildOgPlaceholderUrl, 'optionalCall', _464 => _464(_nullishCoalesce(_optionalChain([item, 'optionalAccess', _465 => _465.title]), () => ( "")))]), () => ( null))
15467
+ ogPlaceholder: _nullishCoalesce(_optionalChain([opts, 'optionalAccess', _454 => _454.extras, 'optionalAccess', _455 => _455.buildOgPlaceholderUrl, 'optionalCall', _456 => _456(_nullishCoalesce(_optionalChain([item, 'optionalAccess', _457 => _457.title]), () => ( "")))]), () => ( null))
15577
15468
  }
15578
15469
  )
15579
15470
  },
@@ -15584,7 +15475,7 @@ var CHAT_CARD_REGISTRY = {
15584
15475
  skeleton: () => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, CampaignCardAdminSkeleton, {}),
15585
15476
  // No public viewer — synthesize the hub-internal admin URL post-fetch
15586
15477
  // so the wrapper + isNewTab computation see the actual destination.
15587
- fallbackHref: (item) => _optionalChain([item, 'optionalAccess', _466 => _466.id]) ? `/admin/campaigns/${encodeURIComponent(String(item.id))}` : null,
15478
+ fallbackHref: (item) => _optionalChain([item, 'optionalAccess', _458 => _458.id]) ? `/admin/campaigns/${encodeURIComponent(String(item.id))}` : null,
15588
15479
  render: (item, chatRef, opts) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, CampaignChatCard, { item, chatRef, isNewTab: opts.isNewTab, discuss: opts.discuss })
15589
15480
  },
15590
15481
  ...roadmapRegistryEntries()
@@ -15603,13 +15494,13 @@ function ChatCardNavWrap({
15603
15494
  if (!href) return;
15604
15495
  const targetEl = e.target;
15605
15496
  const host = e.currentTarget;
15606
- if (!_optionalChain([host, 'optionalAccess', _467 => _467.contains, 'call', _468 => _468(targetEl)])) return;
15607
- if (_optionalChain([targetEl, 'optionalAccess', _469 => _469.closest, 'optionalCall', _470 => _470("button")])) return;
15608
- if (!_optionalChain([targetEl, 'optionalAccess', _471 => _471.closest, 'optionalCall', _472 => _472("a")])) return;
15497
+ if (!_optionalChain([host, 'optionalAccess', _459 => _459.contains, 'call', _460 => _460(targetEl)])) return;
15498
+ if (_optionalChain([targetEl, 'optionalAccess', _461 => _461.closest, 'optionalCall', _462 => _462("button")])) return;
15499
+ if (!_optionalChain([targetEl, 'optionalAccess', _463 => _463.closest, 'optionalCall', _464 => _464("a")])) return;
15609
15500
  const handled = executeNavigation({ event: e, runtime, href, path, targetPlatform, fallbackNavigate: router.push });
15610
15501
  if (!handled) return;
15611
15502
  e.stopPropagation();
15612
- if (!isNewTab && _optionalChain([panel, 'optionalAccess', _473 => _473.closeChat])) panel.closeChat();
15503
+ if (!isNewTab && _optionalChain([panel, 'optionalAccess', _465 => _465.closeChat])) panel.closeChat();
15613
15504
  };
15614
15505
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "contents", onClickCapture, children });
15615
15506
  }
@@ -15631,7 +15522,7 @@ function ChatCardLoader({
15631
15522
  title: chatRef.title,
15632
15523
  externalUrl: chatRef.url,
15633
15524
  targetPlatform: chatRef.targetPlatform,
15634
- path: typeof _optionalChain([chatRef, 'access', _474 => _474.metadata, 'optionalAccess', _475 => _475.path]) === "string" ? chatRef.metadata.path : null
15525
+ path: typeof _optionalChain([chatRef, 'access', _466 => _466.metadata, 'optionalAccess', _467 => _467.path]) === "string" ? chatRef.metadata.path : null
15635
15526
  },
15636
15527
  sourceRowCtxFromRuntime(runtime, { baseRoute, chipBasePlatform })
15637
15528
  );
@@ -15645,11 +15536,11 @@ function ChatCardLoader({
15645
15536
  const entry = CHAT_CARD_REGISTRY[resolvedChatRef.type];
15646
15537
  const fetchEntry = entry && entry.contentRefType ? entry : null;
15647
15538
  const { item, isLoading, isError, isFetched } = useChatCardItem(
15648
- _nullishCoalesce(_optionalChain([fetchEntry, 'optionalAccess', _476 => _476.contentRefType]), () => ( "")),
15539
+ _nullishCoalesce(_optionalChain([fetchEntry, 'optionalAccess', _468 => _468.contentRefType]), () => ( "")),
15649
15540
  fetchEntry ? resolvedChatRef.id : ""
15650
15541
  );
15651
15542
  if (!entry) return null;
15652
- const composedHref = _optionalChain([fetchEntry, 'optionalAccess', _477 => _477.contentRefType]) && !resolvedChatRef.url && item ? resolveFetchedCardHref({
15543
+ const composedHref = _optionalChain([fetchEntry, 'optionalAccess', _469 => _469.contentRefType]) && !resolvedChatRef.url && item ? resolveFetchedCardHref({
15653
15544
  contentRefType: fetchEntry.contentRefType,
15654
15545
  id: resolvedChatRef.id,
15655
15546
  item,
@@ -15657,7 +15548,7 @@ function ChatCardLoader({
15657
15548
  }) : null;
15658
15549
  const hrefChoice = fetchEntry && !resolvedChatRef.url && item ? pickFetchedCardHref({
15659
15550
  composed: composedHref,
15660
- itemHref: _nullishCoalesce(_optionalChain([fetchEntry, 'access', _478 => _478.fallbackHref, 'optionalCall', _479 => _479(item)]), () => ( null)),
15551
+ itemHref: _nullishCoalesce(_optionalChain([fetchEntry, 'access', _470 => _470.fallbackHref, 'optionalCall', _471 => _471(item)]), () => ( null)),
15661
15552
  allowComposed: !fetchEntry.noComposedHref
15662
15553
  }) : null;
15663
15554
  const hrefResolvedChatRef = hrefChoice ? {
@@ -15691,7 +15582,7 @@ function ChatCardLoader({
15691
15582
  isNewTab,
15692
15583
  discuss
15693
15584
  };
15694
- const path = typeof _optionalChain([finalChatRef, 'access', _480 => _480.metadata, 'optionalAccess', _481 => _481.path]) === "string" ? finalChatRef.metadata.path : null;
15585
+ const path = typeof _optionalChain([finalChatRef, 'access', _472 => _472.metadata, 'optionalAccess', _473 => _473.path]) === "string" ? finalChatRef.metadata.path : null;
15695
15586
  const navWrap = (children) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
15696
15587
  ChatCardNavWrap,
15697
15588
  {
@@ -15715,7 +15606,7 @@ function ChatCardLoader({
15715
15606
  if (!fetchEntry) {
15716
15607
  return finish(entry.render(void 0, finalChatRef, renderOpts));
15717
15608
  }
15718
- if (isLoading) return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _jsxruntime.Fragment, { children: _nullishCoalesce(_optionalChain([fetchEntry, 'access', _482 => _482.skeleton, 'optionalCall', _483 => _483()]), () => ( null)) });
15609
+ if (isLoading) return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _jsxruntime.Fragment, { children: _nullishCoalesce(_optionalChain([fetchEntry, 'access', _474 => _474.skeleton, 'optionalCall', _475 => _475()]), () => ( null)) });
15719
15610
  if (!item) {
15720
15611
  if (isError) {
15721
15612
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, CardLoadFailure, { label: entry.label, id: finalChatRef.id, detail: "Failed to load" });
@@ -16075,7 +15966,7 @@ function useChunkCatchup({
16075
15966
  if (catchupRun.current === run) {
16076
15967
  if (currentDialogId !== dialogIdRef.current) {
16077
15968
  catchupRun.current = null;
16078
- if (_optionalChain([pendingCatchupRef, 'access', _484 => _484.current, 'optionalAccess', _485 => _485.dialogId]) === currentDialogId) {
15969
+ if (_optionalChain([pendingCatchupRef, 'access', _476 => _476.current, 'optionalAccess', _477 => _477.dialogId]) === currentDialogId) {
16079
15970
  pendingCatchupRef.current = null;
16080
15971
  }
16081
15972
  } else {
@@ -16086,7 +15977,7 @@ function useChunkCatchup({
16086
15977
  if (pending.dialogId === currentDialogId) {
16087
15978
  rearmForQueuedCatchup();
16088
15979
  try {
16089
- await _optionalChain([catchUpChunksRef, 'access', _486 => _486.current, 'optionalCall', _487 => _487(pending.fromSequenceId)]);
15980
+ await _optionalChain([catchUpChunksRef, 'access', _478 => _478.current, 'optionalCall', _479 => _479(pending.fromSequenceId)]);
16090
15981
  } catch (rerunError) {
16091
15982
  console.error("Queued catch-up re-run failed:", rerunError);
16092
15983
  }
@@ -16153,7 +16044,7 @@ function useChunkCatchup({
16153
16044
 
16154
16045
  var EMPTY_FRAME = { messages: [], phase: "idle", typing: false, delayMs: 0 };
16155
16046
  function prefersReducedMotion() {
16156
- return typeof window !== "undefined" && _optionalChain([window, 'access', _488 => _488.matchMedia, 'optionalCall', _489 => _489("(prefers-reduced-motion: reduce)"), 'access', _490 => _490.matches]) === true;
16047
+ return typeof window !== "undefined" && _optionalChain([window, 'access', _480 => _480.matchMedia, 'optionalCall', _481 => _481("(prefers-reduced-motion: reduce)"), 'access', _482 => _482.matches]) === true;
16157
16048
  }
16158
16049
  function useScriptedStream(frames, resetKey, enabled = true) {
16159
16050
  const [index, setIndex] = _react.useState.call(void 0, 0);
@@ -16164,7 +16055,7 @@ function useScriptedStream(frames, resetKey, enabled = true) {
16164
16055
  setIndex(0);
16165
16056
  }
16166
16057
  _react.useEffect.call(void 0, () => {
16167
- const mq = _optionalChain([window, 'access', _491 => _491.matchMedia, 'optionalCall', _492 => _492("(prefers-reduced-motion: reduce)")]);
16058
+ const mq = _optionalChain([window, 'access', _483 => _483.matchMedia, 'optionalCall', _484 => _484("(prefers-reduced-motion: reduce)")]);
16168
16059
  const sync = () => setReducedMotion(mq ? mq.matches : prefersReducedMotion());
16169
16060
  sync();
16170
16061
  if (!mq) return void 0;
@@ -16299,7 +16190,7 @@ function useJetStreamDialogSubscription({
16299
16190
  if (subscriptionRef.current) {
16300
16191
  try {
16301
16192
  subscriptionRef.current.unsubscribe();
16302
- } catch (e46) {
16193
+ } catch (e43) {
16303
16194
  }
16304
16195
  subscriptionRef.current = null;
16305
16196
  }
@@ -16307,7 +16198,7 @@ function useJetStreamDialogSubscription({
16307
16198
  const lifecycle = _chunkI5JVSFNVcjs.startConnectionLifecycle.call(void 0, {
16308
16199
  conn: sharedConn,
16309
16200
  wsUrl,
16310
- onBeforeReconnect: () => _optionalChain([onBeforeReconnectRef, 'access', _493 => _493.current, 'optionalCall', _494 => _494()]),
16201
+ onBeforeReconnect: () => _optionalChain([onBeforeReconnectRef, 'access', _485 => _485.current, 'optionalCall', _486 => _486()]),
16311
16202
  backoff: reconnectionBackoffRef.current,
16312
16203
  getFreshUrl: () => getNatsWsUrlRef.current(),
16313
16204
  // JetStream emits 'error' for protocol-level failures (e.g. -ERR Permissions
@@ -16322,7 +16213,7 @@ function useJetStreamDialogSubscription({
16322
16213
  setReconnectionCount((c) => c + 1);
16323
16214
  }
16324
16215
  hadConnectionBeforeRef.current = true;
16325
- _optionalChain([onConnectRef, 'access', _495 => _495.current, 'optionalCall', _496 => _496()]);
16216
+ _optionalChain([onConnectRef, 'access', _487 => _487.current, 'optionalCall', _488 => _488()]);
16326
16217
  }
16327
16218
  if (status === "error") {
16328
16219
  console.warn("[JetStream] NATS protocol error:", evt.data);
@@ -16332,7 +16223,7 @@ function useJetStreamDialogSubscription({
16332
16223
  setIsConnected(false);
16333
16224
  setIsSubscribed(false);
16334
16225
  tearDownSubscription();
16335
- _optionalChain([onDisconnectRef, 'access', _497 => _497.current, 'optionalCall', _498 => _498()]);
16226
+ _optionalChain([onDisconnectRef, 'access', _489 => _489.current, 'optionalCall', _490 => _490()]);
16336
16227
  }
16337
16228
  }
16338
16229
  });
@@ -16393,7 +16284,7 @@ function useJetStreamDialogSubscription({
16393
16284
  if (subscriptionRef.current) {
16394
16285
  try {
16395
16286
  subscriptionRef.current.unsubscribe();
16396
- } catch (e47) {
16287
+ } catch (e44) {
16397
16288
  }
16398
16289
  subscriptionRef.current = null;
16399
16290
  }
@@ -16428,7 +16319,7 @@ function useJetStreamDialogSubscription({
16428
16319
  parsed.streamSeq = streamSeq;
16429
16320
  }
16430
16321
  cb(parsed, topic);
16431
- } catch (e48) {
16322
+ } catch (e45) {
16432
16323
  }
16433
16324
  },
16434
16325
  {
@@ -16452,14 +16343,14 @@ function useJetStreamDialogSubscription({
16452
16343
  if (cancelled) {
16453
16344
  try {
16454
16345
  handle.unsubscribe();
16455
- } catch (e49) {
16346
+ } catch (e46) {
16456
16347
  }
16457
16348
  return;
16458
16349
  }
16459
16350
  subscriptionRef.current = handle;
16460
16351
  setIsSubscribed(true);
16461
- _optionalChain([onSubscribedRef, 'access', _499 => _499.current, 'optionalCall', _500 => _500()]);
16462
- } catch (e50) {
16352
+ _optionalChain([onSubscribedRef, 'access', _491 => _491.current, 'optionalCall', _492 => _492()]);
16353
+ } catch (e47) {
16463
16354
  if (!cancelled) {
16464
16355
  setIsSubscribed(false);
16465
16356
  }
@@ -16471,7 +16362,7 @@ function useJetStreamDialogSubscription({
16471
16362
  if (subscriptionRef.current) {
16472
16363
  try {
16473
16364
  subscriptionRef.current.unsubscribe();
16474
- } catch (e51) {
16365
+ } catch (e48) {
16475
16366
  }
16476
16367
  subscriptionRef.current = null;
16477
16368
  }
@@ -16574,20 +16465,20 @@ function useNatsDialogSubscription({
16574
16465
  const tearDownSubscriptions = () => {
16575
16466
  subscriptionRefs.current.forEach((sub) => {
16576
16467
  try {
16577
- _optionalChain([sub, 'optionalAccess', _501 => _501.unsubscribe, 'call', _502 => _502()]);
16578
- } catch (e52) {
16468
+ _optionalChain([sub, 'optionalAccess', _493 => _493.unsubscribe, 'call', _494 => _494()]);
16469
+ } catch (e49) {
16579
16470
  }
16580
16471
  });
16581
16472
  subscriptionRefs.current.clear();
16582
16473
  lastSubscribedDialogIdRef.current = null;
16583
- _optionalChain([abortControllerRef, 'access', _503 => _503.current, 'optionalAccess', _504 => _504.abort, 'call', _505 => _505()]);
16474
+ _optionalChain([abortControllerRef, 'access', _495 => _495.current, 'optionalAccess', _496 => _496.abort, 'call', _497 => _497()]);
16584
16475
  abortControllerRef.current = null;
16585
16476
  };
16586
16477
  const isDisconnectStatus = (status) => status === "closed" || status === "disconnected";
16587
16478
  const lifecycle = _chunkI5JVSFNVcjs.startConnectionLifecycle.call(void 0, {
16588
16479
  conn: sharedConn,
16589
16480
  wsUrl,
16590
- onBeforeReconnect: () => _optionalChain([onBeforeReconnectRef, 'access', _506 => _506.current, 'optionalCall', _507 => _507()]),
16481
+ onBeforeReconnect: () => _optionalChain([onBeforeReconnectRef, 'access', _498 => _498.current, 'optionalCall', _499 => _499()]),
16591
16482
  backoff: reconnectionBackoffRef.current,
16592
16483
  getFreshUrl: () => getNatsWsUrlRef.current(),
16593
16484
  shouldRetryOn: isDisconnectStatus,
@@ -16598,7 +16489,7 @@ function useNatsDialogSubscription({
16598
16489
  setReconnectionCount((c) => c + 1);
16599
16490
  }
16600
16491
  hadConnectionBeforeRef.current = true;
16601
- _optionalChain([onConnectRef, 'access', _508 => _508.current, 'optionalCall', _509 => _509()]);
16492
+ _optionalChain([onConnectRef, 'access', _500 => _500.current, 'optionalCall', _501 => _501()]);
16602
16493
  }
16603
16494
  if (status === "error") {
16604
16495
  console.warn("[NATS] protocol error:", evt.data);
@@ -16608,7 +16499,7 @@ function useNatsDialogSubscription({
16608
16499
  setIsConnected(false);
16609
16500
  setIsSubscribed(false);
16610
16501
  tearDownSubscriptions();
16611
- _optionalChain([onDisconnectRef, 'access', _510 => _510.current, 'optionalCall', _511 => _511()]);
16502
+ _optionalChain([onDisconnectRef, 'access', _502 => _502.current, 'optionalCall', _503 => _503()]);
16612
16503
  }
16613
16504
  }
16614
16505
  });
@@ -16639,13 +16530,13 @@ function useNatsDialogSubscription({
16639
16530
  setIsSubscribed(false);
16640
16531
  subscriptionRefs.current.forEach((sub) => {
16641
16532
  try {
16642
- _optionalChain([sub, 'optionalAccess', _512 => _512.unsubscribe, 'call', _513 => _513()]);
16643
- } catch (e53) {
16533
+ _optionalChain([sub, 'optionalAccess', _504 => _504.unsubscribe, 'call', _505 => _505()]);
16534
+ } catch (e50) {
16644
16535
  }
16645
16536
  });
16646
16537
  subscriptionRefs.current.clear();
16647
16538
  lastSubscribedDialogIdRef.current = null;
16648
- _optionalChain([abortControllerRef, 'access', _514 => _514.current, 'optionalAccess', _515 => _515.abort, 'call', _516 => _516()]);
16539
+ _optionalChain([abortControllerRef, 'access', _506 => _506.current, 'optionalAccess', _507 => _507.abort, 'call', _508 => _508()]);
16649
16540
  abortControllerRef.current = null;
16650
16541
  }
16651
16542
  return void 0;
@@ -16657,12 +16548,12 @@ function useNatsDialogSubscription({
16657
16548
  if (subscriptionRefs.current.size > 0) {
16658
16549
  subscriptionRefs.current.forEach((sub) => {
16659
16550
  try {
16660
- _optionalChain([sub, 'optionalAccess', _517 => _517.unsubscribe, 'call', _518 => _518()]);
16661
- } catch (e54) {
16551
+ _optionalChain([sub, 'optionalAccess', _509 => _509.unsubscribe, 'call', _510 => _510()]);
16552
+ } catch (e51) {
16662
16553
  }
16663
16554
  });
16664
16555
  subscriptionRefs.current.clear();
16665
- _optionalChain([abortControllerRef, 'access', _519 => _519.current, 'optionalAccess', _520 => _520.abort, 'call', _521 => _521()]);
16556
+ _optionalChain([abortControllerRef, 'access', _511 => _511.current, 'optionalAccess', _512 => _512.abort, 'call', _513 => _513()]);
16666
16557
  }
16667
16558
  abortControllerRef.current = new AbortController();
16668
16559
  const abort = abortControllerRef.current;
@@ -16681,7 +16572,7 @@ function useNatsDialogSubscription({
16681
16572
  const dataStr = decoder.decode(msg.data);
16682
16573
  const parsed = JSON.parse(dataStr);
16683
16574
  onEventRef.current(parsed, messageType);
16684
- } catch (e55) {
16575
+ } catch (e52) {
16685
16576
  }
16686
16577
  };
16687
16578
  topicsRef.current.forEach((topic) => {
@@ -16692,7 +16583,7 @@ function useNatsDialogSubscription({
16692
16583
  });
16693
16584
  lastSubscribedDialogIdRef.current = dialogId;
16694
16585
  setIsSubscribed(true);
16695
- _optionalChain([onSubscribedRef, 'access', _522 => _522.current, 'optionalCall', _523 => _523()]);
16586
+ _optionalChain([onSubscribedRef, 'access', _514 => _514.current, 'optionalCall', _515 => _515()]);
16696
16587
  };
16697
16588
  if (isConnectedRef.current) {
16698
16589
  createSubscriptions();
@@ -16703,8 +16594,8 @@ function useNatsDialogSubscription({
16703
16594
  abort.abort();
16704
16595
  subscriptions.forEach((sub) => {
16705
16596
  try {
16706
- _optionalChain([sub, 'optionalAccess', _524 => _524.unsubscribe, 'call', _525 => _525()]);
16707
- } catch (e56) {
16597
+ _optionalChain([sub, 'optionalAccess', _516 => _516.unsubscribe, 'call', _517 => _517()]);
16598
+ } catch (e53) {
16708
16599
  }
16709
16600
  });
16710
16601
  subscriptions.clear();
@@ -16731,7 +16622,7 @@ function useNatsDialogSubscription({
16731
16622
  const dataStr = decoder.decode(msg.data);
16732
16623
  const parsed = JSON.parse(dataStr);
16733
16624
  onEventRef.current(parsed, messageType);
16734
- } catch (e57) {
16625
+ } catch (e54) {
16735
16626
  }
16736
16627
  };
16737
16628
  topicsRef.current.forEach((topic) => {
@@ -16742,7 +16633,7 @@ function useNatsDialogSubscription({
16742
16633
  });
16743
16634
  lastSubscribedDialogIdRef.current = currentDialogId;
16744
16635
  setIsSubscribed(true);
16745
- _optionalChain([onSubscribedRef, 'access', _526 => _526.current, 'optionalCall', _527 => _527()]);
16636
+ _optionalChain([onSubscribedRef, 'access', _518 => _518.current, 'optionalCall', _519 => _519()]);
16746
16637
  } else if (subscriptionRefs.current.size > 0) {
16747
16638
  setIsSubscribed(true);
16748
16639
  }
@@ -16750,10 +16641,10 @@ function useNatsDialogSubscription({
16750
16641
  return { isConnected, isSubscribed, reconnectionCount };
16751
16642
  }
16752
16643
  function buildNatsWsUrl(apiBaseUrl, options) {
16753
- const path = _optionalChain([options, 'optionalAccess', _528 => _528.source]) === "dashboard" ? "/ws/nats-api" : "/ws/nats";
16644
+ const path = _optionalChain([options, 'optionalAccess', _520 => _520.source]) === "dashboard" ? "/ws/nats-api" : "/ws/nats";
16754
16645
  const u = new URL(path, apiBaseUrl);
16755
16646
  u.protocol = u.protocol === "https:" ? "wss:" : "ws:";
16756
- if (_optionalChain([options, 'optionalAccess', _529 => _529.includeAuthParam]) && _optionalChain([options, 'optionalAccess', _530 => _530.token])) {
16647
+ if (_optionalChain([options, 'optionalAccess', _521 => _521.includeAuthParam]) && _optionalChain([options, 'optionalAccess', _522 => _522.token])) {
16757
16648
  u.searchParams.set("authorization", options.token);
16758
16649
  }
16759
16650
  return u.toString();
@@ -16771,7 +16662,7 @@ async function fetchSlashCommands(prefix, signal, commandsUrl) {
16771
16662
  const data = await res.json();
16772
16663
  return _nullishCoalesce(data.commands, () => ( []));
16773
16664
  } catch (err) {
16774
- if (_optionalChain([err, 'optionalAccess', _531 => _531.name]) === "AbortError") throw err;
16665
+ if (_optionalChain([err, 'optionalAccess', _523 => _523.name]) === "AbortError") throw err;
16775
16666
  console.warn("[chat] slash-commands fetch failed, showing none:", err);
16776
16667
  return [];
16777
16668
  }
@@ -16779,8 +16670,8 @@ async function fetchSlashCommands(prefix, signal, commandsUrl) {
16779
16670
  var NO_COMMANDS = [];
16780
16671
  function useSlashCommands(prefix, commandsUrl) {
16781
16672
  const [answered, setAnswered] = _react.useState.call(void 0, null);
16782
- const commands = prefix != null && _optionalChain([answered, 'optionalAccess', _532 => _532.prefix]) === prefix ? answered.commands : NO_COMMANDS;
16783
- const loading = prefix != null && _optionalChain([answered, 'optionalAccess', _533 => _533.prefix]) !== prefix;
16673
+ const commands = prefix != null && _optionalChain([answered, 'optionalAccess', _524 => _524.prefix]) === prefix ? answered.commands : NO_COMMANDS;
16674
+ const loading = prefix != null && _optionalChain([answered, 'optionalAccess', _525 => _525.prefix]) !== prefix;
16784
16675
  _react.useEffect.call(void 0, () => {
16785
16676
  if (prefix == null) return void 0;
16786
16677
  let cancelled = false;
@@ -16790,7 +16681,7 @@ function useSlashCommands(prefix, commandsUrl) {
16790
16681
  const next = await fetchSlashCommands(prefix, ctrl.signal, commandsUrl);
16791
16682
  if (!cancelled) setAnswered({ prefix, commands: next });
16792
16683
  } catch (err) {
16793
- if (!cancelled && _optionalChain([err, 'optionalAccess', _534 => _534.name]) !== "AbortError") {
16684
+ if (!cancelled && _optionalChain([err, 'optionalAccess', _526 => _526.name]) !== "AbortError") {
16794
16685
  console.warn("[use-slash-commands] fetch failed:", err);
16795
16686
  setAnswered({ prefix, commands: NO_COMMANDS });
16796
16687
  }
@@ -16813,7 +16704,7 @@ function useSlashCommandRegistry(commandsUrl, options) {
16813
16704
  const query = _reactquery.useQuery.call(void 0, {
16814
16705
  queryKey: ["chat-slash-commands", commandsUrl],
16815
16706
  queryFn: ({ signal }) => fetchSlashCommands("", signal, commandsUrl),
16816
- enabled: _nullishCoalesce(_optionalChain([options, 'optionalAccess', _535 => _535.enabled]), () => ( true)),
16707
+ enabled: _nullishCoalesce(_optionalChain([options, 'optionalAccess', _527 => _527.enabled]), () => ( true)),
16817
16708
  staleTime: Infinity,
16818
16709
  gcTime: Infinity,
16819
16710
  // The commands registry is non-critical chrome — a failure degrades to an
@@ -16852,21 +16743,21 @@ async function fetchEmptyStateConfig(signal, emptyStateUrl) {
16852
16743
  }
16853
16744
  const data = await res.json();
16854
16745
  return {
16855
- name: _nullishCoalesce(_optionalChain([data, 'optionalAccess', _536 => _536.name]), () => ( null)),
16856
- icon: _nullishCoalesce(_optionalChain([data, 'optionalAccess', _537 => _537.icon]), () => ( null)),
16857
- greeting: _nullishCoalesce(_optionalChain([data, 'optionalAccess', _538 => _538.greeting]), () => ( null)),
16858
- enabledRagTableIds: _nullishCoalesce(_optionalChain([data, 'optionalAccess', _539 => _539.enabledRagTableIds]), () => ( [])),
16859
- quickActions: _nullishCoalesce(_optionalChain([data, 'optionalAccess', _540 => _540.quickActions]), () => ( [])),
16860
- suggestedQueries: _nullishCoalesce(_optionalChain([data, 'optionalAccess', _541 => _541.suggestedQueries]), () => ( []))
16746
+ name: _nullishCoalesce(_optionalChain([data, 'optionalAccess', _528 => _528.name]), () => ( null)),
16747
+ icon: _nullishCoalesce(_optionalChain([data, 'optionalAccess', _529 => _529.icon]), () => ( null)),
16748
+ greeting: _nullishCoalesce(_optionalChain([data, 'optionalAccess', _530 => _530.greeting]), () => ( null)),
16749
+ enabledRagTableIds: _nullishCoalesce(_optionalChain([data, 'optionalAccess', _531 => _531.enabledRagTableIds]), () => ( [])),
16750
+ quickActions: _nullishCoalesce(_optionalChain([data, 'optionalAccess', _532 => _532.quickActions]), () => ( [])),
16751
+ suggestedQueries: _nullishCoalesce(_optionalChain([data, 'optionalAccess', _533 => _533.suggestedQueries]), () => ( []))
16861
16752
  };
16862
16753
  } catch (err) {
16863
- if (_optionalChain([err, 'optionalAccess', _542 => _542.name]) === "AbortError") throw err;
16754
+ if (_optionalChain([err, 'optionalAccess', _534 => _534.name]) === "AbortError") throw err;
16864
16755
  console.warn("[chat] empty-state config fetch failed, using neutral defaults:", err);
16865
16756
  return EMPTY_STATE_FALLBACK;
16866
16757
  }
16867
16758
  }
16868
16759
  function useEmptyStateConfig(emptyStateUrl, options) {
16869
- const enabled = (_nullishCoalesce(_optionalChain([options, 'optionalAccess', _543 => _543.enabled]), () => ( true))) && !!emptyStateUrl;
16760
+ const enabled = (_nullishCoalesce(_optionalChain([options, 'optionalAccess', _535 => _535.enabled]), () => ( true))) && !!emptyStateUrl;
16870
16761
  const query = _reactquery.useQuery.call(void 0, {
16871
16762
  queryKey: ["chat-empty-state", emptyStateUrl],
16872
16763
  queryFn: ({ signal }) => fetchEmptyStateConfig(signal, emptyStateUrl),
@@ -16895,7 +16786,7 @@ var CHAT_ATTACHMENT_MAX_SIZE_BYTES = 25 * 1024 * 1024;
16895
16786
  var STORAGE_CACHE_CONTROL_IMMUTABLE = "public, max-age=31536000, immutable";
16896
16787
  function uploadWithProgress(url, file, token, onProgress, signal) {
16897
16788
  return new Promise((resolve, reject) => {
16898
- if (_optionalChain([signal, 'optionalAccess', _544 => _544.aborted])) {
16789
+ if (_optionalChain([signal, 'optionalAccess', _536 => _536.aborted])) {
16899
16790
  reject(new Error("Upload cancelled"));
16900
16791
  return;
16901
16792
  }
@@ -16937,7 +16828,7 @@ function uploadWithProgress(url, file, token, onProgress, signal) {
16937
16828
  const handleSignalAbort = () => {
16938
16829
  xhr.abort();
16939
16830
  };
16940
- _optionalChain([signal, 'optionalAccess', _545 => _545.addEventListener, 'call', _546 => _546("abort", handleSignalAbort, { once: true, signal: listeners.signal })]);
16831
+ _optionalChain([signal, 'optionalAccess', _537 => _537.addEventListener, 'call', _538 => _538("abort", handleSignalAbort, { once: true, signal: listeners.signal })]);
16941
16832
  xhr.upload.addEventListener("progress", handleProgress, { signal: listeners.signal });
16942
16833
  xhr.addEventListener("load", handleLoad, { signal: listeners.signal });
16943
16834
  xhr.addEventListener("error", handleError, { signal: listeners.signal });
@@ -16981,10 +16872,10 @@ function useChatAttachments() {
16981
16872
  try {
16982
16873
  sniffed = await _filetype.fileTypeFromBlob.call(void 0, att.file);
16983
16874
  } catch (err) {
16984
- if (_optionalChain([ctrl, 'optionalAccess', _547 => _547.signal, 'access', _548 => _548.aborted])) return;
16875
+ if (_optionalChain([ctrl, 'optionalAccess', _539 => _539.signal, 'access', _540 => _540.aborted])) return;
16985
16876
  throw new Error(`Could not read file content: ${err instanceof Error ? err.message : String(err)}`);
16986
16877
  }
16987
- if (_optionalChain([ctrl, 'optionalAccess', _549 => _549.signal, 'access', _550 => _550.aborted])) return;
16878
+ if (_optionalChain([ctrl, 'optionalAccess', _541 => _541.signal, 'access', _542 => _542.aborted])) return;
16988
16879
  if (!sniffed) {
16989
16880
  throw new Error("Unrecognized file format");
16990
16881
  }
@@ -16998,7 +16889,7 @@ function useChatAttachments() {
16998
16889
  const urlResp = await _chunkCP6TIRONcjs.embedAuthedFetch.call(void 0, uploadUrlEndpoint, {
16999
16890
  method: "POST",
17000
16891
  headers: { "Content-Type": "application/json" },
17001
- signal: _optionalChain([ctrl, 'optionalAccess', _551 => _551.signal]),
16892
+ signal: _optionalChain([ctrl, 'optionalAccess', _543 => _543.signal]),
17002
16893
  body: JSON.stringify({
17003
16894
  fileName: att.file.name,
17004
16895
  // Pass the SNIFFED MIME (not `file.type`, which can be a
@@ -17027,9 +16918,9 @@ function useChatAttachments() {
17027
16918
  (pct) => {
17028
16919
  updateOne(att.id, { progress: pct });
17029
16920
  },
17030
- _optionalChain([ctrl, 'optionalAccess', _552 => _552.signal])
16921
+ _optionalChain([ctrl, 'optionalAccess', _544 => _544.signal])
17031
16922
  );
17032
- if (_optionalChain([ctrl, 'optionalAccess', _553 => _553.signal, 'access', _554 => _554.aborted])) return;
16923
+ if (_optionalChain([ctrl, 'optionalAccess', _545 => _545.signal, 'access', _546 => _546.aborted])) return;
17033
16924
  updateOne(att.id, {
17034
16925
  status: "ready",
17035
16926
  progress: 100,
@@ -17037,7 +16928,7 @@ function useChatAttachments() {
17037
16928
  viewToken: mintData.viewToken
17038
16929
  });
17039
16930
  } catch (err) {
17040
- if (_optionalChain([ctrl, 'optionalAccess', _555 => _555.signal, 'access', _556 => _556.aborted])) return;
16931
+ if (_optionalChain([ctrl, 'optionalAccess', _547 => _547.signal, 'access', _548 => _548.aborted])) return;
17041
16932
  const message = err instanceof Error ? err.message : String(err);
17042
16933
  updateOne(att.id, { status: "error", progress: 0, errorMessage: message });
17043
16934
  } finally {
@@ -17186,11 +17077,11 @@ var ANON_DEFAULTS = {
17186
17077
  function useResolveChatIdentity(enabled) {
17187
17078
  const runtime = _chunkRDTOMWDNcjs.useRequiredChatRuntime.call(void 0, );
17188
17079
  const url = runtime.endpoints.identityUrl;
17189
- const proxyEmail = _nullishCoalesce(_optionalChain([_chunkCP6TIRONcjs.getEmbedProxyAuth.call(void 0, ), 'optionalAccess', _557 => _557.email]), () => ( null));
17080
+ const proxyEmail = _nullishCoalesce(_optionalChain([_chunkCP6TIRONcjs.getEmbedProxyAuth.call(void 0, ), 'optionalAccess', _549 => _549.email]), () => ( null));
17190
17081
  const requestKey = enabled ? `${url}\0${_nullishCoalesce(proxyEmail, () => ( ""))}` : null;
17191
17082
  const [resolved, setResolved] = _react.useState.call(void 0, null);
17192
- const data = _optionalChain([resolved, 'optionalAccess', _558 => _558.key]) === requestKey ? resolved.data : ANON_DEFAULTS;
17193
- const isLoading = requestKey !== null && _optionalChain([resolved, 'optionalAccess', _559 => _559.key]) !== requestKey;
17083
+ const data = _optionalChain([resolved, 'optionalAccess', _550 => _550.key]) === requestKey ? resolved.data : ANON_DEFAULTS;
17084
+ const isLoading = requestKey !== null && _optionalChain([resolved, 'optionalAccess', _551 => _551.key]) !== requestKey;
17194
17085
  _react.useEffect.call(void 0, () => {
17195
17086
  if (requestKey === null) return void 0;
17196
17087
  let cancelled = false;
@@ -17337,7 +17228,7 @@ function useChat({
17337
17228
  onMessagesChangeRef.current = onMessagesChange;
17338
17229
  });
17339
17230
  _react.useEffect.call(void 0, () => {
17340
- _optionalChain([onMessagesChangeRef, 'access', _560 => _560.current, 'optionalCall', _561 => _561(messages)]);
17231
+ _optionalChain([onMessagesChangeRef, 'access', _552 => _552.current, 'optionalCall', _553 => _553(messages)]);
17341
17232
  }, [messages]);
17342
17233
  const {
17343
17234
  streamMessage,
@@ -17374,7 +17265,7 @@ function useChat({
17374
17265
  name: "You",
17375
17266
  content: text,
17376
17267
  timestamp: /* @__PURE__ */ new Date(),
17377
- ..._optionalChain([options, 'optionalAccess', _562 => _562.hidden]) ? { hidden: true } : {}
17268
+ ..._optionalChain([options, 'optionalAccess', _554 => _554.hidden]) ? { hidden: true } : {}
17378
17269
  };
17379
17270
  addMessage(userMessage);
17380
17271
  setIsTyping(true);
@@ -17588,8 +17479,8 @@ function buildConfirmToolBody(request) {
17588
17479
  async function readServerErrorMessage(response) {
17589
17480
  try {
17590
17481
  const body = await response.json();
17591
- if (typeof _optionalChain([body, 'optionalAccess', _563 => _563.error]) === "string" && body.error.length > 0) return body.error;
17592
- } catch (e58) {
17482
+ if (typeof _optionalChain([body, 'optionalAccess', _555 => _555.error]) === "string" && body.error.length > 0) return body.error;
17483
+ } catch (e55) {
17593
17484
  }
17594
17485
  return null;
17595
17486
  }
@@ -17760,7 +17651,7 @@ function createSseFrameDecoder() {
17760
17651
  let meta;
17761
17652
  try {
17762
17653
  meta = JSON.parse(metaStr);
17763
- } catch (e59) {
17654
+ } catch (e56) {
17764
17655
  inText = true;
17765
17656
  out.push({ type: "turn-start", implicit: true });
17766
17657
  if (buffer.length > 0) {
@@ -17814,7 +17705,7 @@ function createSseFrameDecoder() {
17814
17705
  debug: meta.debug
17815
17706
  });
17816
17707
  }
17817
- } catch (e60) {
17708
+ } catch (e57) {
17818
17709
  }
17819
17710
  }
17820
17711
  return out;
@@ -17846,7 +17737,7 @@ function errorDetailsMessage(details) {
17846
17737
  let parsed;
17847
17738
  try {
17848
17739
  parsed = JSON.parse(details);
17849
- } catch (e61) {
17740
+ } catch (e58) {
17850
17741
  return details;
17851
17742
  }
17852
17743
  if (typeof parsed !== "object" || parsed === null) return void 0;
@@ -17916,9 +17807,9 @@ function appendToTrailingAssistant(prev, segments) {
17916
17807
  for (const seg of segments) {
17917
17808
  const tail = merged[merged.length - 1];
17918
17809
  const key = upsertKey(seg);
17919
- if (seg.type === "text" && _optionalChain([tail, 'optionalAccess', _564 => _564.type]) === "text") {
17810
+ if (seg.type === "text" && _optionalChain([tail, 'optionalAccess', _556 => _556.type]) === "text") {
17920
17811
  merged[merged.length - 1] = { type: "text", text: tail.text + seg.text };
17921
- } else if (seg.type === "thinking" && _optionalChain([tail, 'optionalAccess', _565 => _565.type]) === "thinking") {
17812
+ } else if (seg.type === "thinking" && _optionalChain([tail, 'optionalAccess', _557 => _557.type]) === "thinking") {
17922
17813
  merged[merged.length - 1] = { type: "thinking", text: tail.text + seg.text };
17923
17814
  } else if (key) {
17924
17815
  const idx = merged.findIndex((m) => upsertKey(m) === key);
@@ -17958,7 +17849,7 @@ function applyApprovalStatusToSegment(s, requestId, status, resolvedByName) {
17958
17849
  }
17959
17850
  if (s.type !== "approval_batch") return s;
17960
17851
  const isAnchor = s.data.approvalRequestId === requestId;
17961
- const hasRow = _optionalChain([s, 'access', _566 => _566.data, 'access', _567 => _567.toolCalls, 'optionalAccess', _568 => _568.some, 'call', _569 => _569((c) => c.toolExecutionRequestId === requestId)]);
17852
+ const hasRow = _optionalChain([s, 'access', _558 => _558.data, 'access', _559 => _559.toolCalls, 'optionalAccess', _560 => _560.some, 'call', _561 => _561((c) => c.toolExecutionRequestId === requestId)]);
17962
17853
  if (!isAnchor && !hasRow) return s;
17963
17854
  const nextResolvedBy = _nullishCoalesce(resolvedByName, () => ( s.resolvedByName));
17964
17855
  const nextExecutions = hasRow ? {
@@ -17980,8 +17871,8 @@ function applyApprovalStatusToSegment(s, requestId, status, resolvedByName) {
17980
17871
  };
17981
17872
  }
17982
17873
  function nextBatchExecution(prevExec, toolData) {
17983
- if (toolData.type === "EXECUTING_TOOL" && _optionalChain([prevExec, 'optionalAccess', _570 => _570.status]) === "done") return null;
17984
- return toolData.type === "EXECUTED_TOOL" ? { status: "done", result: toolData.result, success: toolData.success } : { status: "executing", result: _optionalChain([prevExec, 'optionalAccess', _571 => _571.result]), success: _optionalChain([prevExec, 'optionalAccess', _572 => _572.success]) };
17874
+ if (toolData.type === "EXECUTING_TOOL" && _optionalChain([prevExec, 'optionalAccess', _562 => _562.status]) === "done") return null;
17875
+ return toolData.type === "EXECUTED_TOOL" ? { status: "done", result: toolData.result, success: toolData.success } : { status: "executing", result: _optionalChain([prevExec, 'optionalAccess', _563 => _563.result]), success: _optionalChain([prevExec, 'optionalAccess', _564 => _564.success]) };
17985
17876
  }
17986
17877
  function withBatchExecution(seg, execId, state) {
17987
17878
  return {
@@ -17998,11 +17889,11 @@ function projectBatchStatusToMessages(prev, anchorId, status) {
17998
17889
  }
17999
17890
  function projectBatchRowFailureToMessages(prev, rowRequestId) {
18000
17891
  return mapSegments(prev, (s) => {
18001
- if (s.type !== "approval_batch" || !_optionalChain([s, 'access', _573 => _573.data, 'access', _574 => _574.toolCalls, 'optionalAccess', _575 => _575.some, 'call', _576 => _576((c) => c.toolExecutionRequestId === rowRequestId)])) {
17892
+ if (s.type !== "approval_batch" || !_optionalChain([s, 'access', _565 => _565.data, 'access', _566 => _566.toolCalls, 'optionalAccess', _567 => _567.some, 'call', _568 => _568((c) => c.toolExecutionRequestId === rowRequestId)])) {
18002
17893
  return s;
18003
17894
  }
18004
- const existing = _optionalChain([s, 'access', _577 => _577.data, 'access', _578 => _578.executions, 'optionalAccess', _579 => _579[rowRequestId]]);
18005
- if (_optionalChain([existing, 'optionalAccess', _580 => _580.status]) === "done") return s;
17895
+ const existing = _optionalChain([s, 'access', _569 => _569.data, 'access', _570 => _570.executions, 'optionalAccess', _571 => _571[rowRequestId]]);
17896
+ if (_optionalChain([existing, 'optionalAccess', _572 => _572.status]) === "done") return s;
18006
17897
  return withBatchExecution(s, rowRequestId, { status: "done", success: false });
18007
17898
  });
18008
17899
  }
@@ -18038,7 +17929,7 @@ function mergeToolExecutionIfPresent(prev, segment) {
18038
17929
  for (let j = message.segments.length - 1; j >= 0; j--) {
18039
17930
  const seg = message.segments[j];
18040
17931
  if (execId && seg.type === "approval_batch" && seg.data.toolCalls.some((c) => c.toolExecutionRequestId === execId)) {
18041
- const prevExec = _optionalChain([seg, 'access', _581 => _581.data, 'access', _582 => _582.executions, 'optionalAccess', _583 => _583[execId]]);
17932
+ const prevExec = _optionalChain([seg, 'access', _573 => _573.data, 'access', _574 => _574.executions, 'optionalAccess', _575 => _575[execId]]);
18042
17933
  const nextExec = nextBatchExecution(prevExec, toolData);
18043
17934
  if (nextExec === null) return prev;
18044
17935
  if (sameExecutionState(prevExec, nextExec)) return prev;
@@ -18211,9 +18102,9 @@ var MessageSegmentAccumulator = class {
18211
18102
  type: "tool_execution",
18212
18103
  data: {
18213
18104
  ...toolData,
18214
- toolTitle: _nullishCoalesce(_nullishCoalesce(toolData.toolTitle, () => ( _optionalChain([existingExecuting, 'optionalAccess', _584 => _584.data, 'access', _585 => _585.toolTitle]))), () => ( _optionalChain([executingTool, 'optionalAccess', _586 => _586.toolTitle]))),
18215
- toolExplanation: _nullishCoalesce(_nullishCoalesce(toolData.toolExplanation, () => ( _optionalChain([existingExecuting, 'optionalAccess', _587 => _587.data, 'access', _588 => _588.toolExplanation]))), () => ( _optionalChain([executingTool, 'optionalAccess', _589 => _589.toolExplanation]))),
18216
- parameters: toolData.parameters || _optionalChain([executingTool, 'optionalAccess', _590 => _590.parameters])
18105
+ toolTitle: _nullishCoalesce(_nullishCoalesce(toolData.toolTitle, () => ( _optionalChain([existingExecuting, 'optionalAccess', _576 => _576.data, 'access', _577 => _577.toolTitle]))), () => ( _optionalChain([executingTool, 'optionalAccess', _578 => _578.toolTitle]))),
18106
+ toolExplanation: _nullishCoalesce(_nullishCoalesce(toolData.toolExplanation, () => ( _optionalChain([existingExecuting, 'optionalAccess', _579 => _579.data, 'access', _580 => _580.toolExplanation]))), () => ( _optionalChain([executingTool, 'optionalAccess', _581 => _581.toolExplanation]))),
18107
+ parameters: toolData.parameters || _optionalChain([executingTool, 'optionalAccess', _582 => _582.parameters])
18217
18108
  }
18218
18109
  };
18219
18110
  if (existingIndex !== -1) {
@@ -18237,7 +18128,7 @@ var MessageSegmentAccumulator = class {
18237
18128
  if (seg.type !== "approval_batch") return seg;
18238
18129
  const hasCall = seg.data.toolCalls.some((c) => c.toolExecutionRequestId === execId);
18239
18130
  if (!hasCall) return seg;
18240
- const prev = _optionalChain([seg, 'access', _591 => _591.data, 'access', _592 => _592.executions, 'optionalAccess', _593 => _593[execId]]);
18131
+ const prev = _optionalChain([seg, 'access', _583 => _583.data, 'access', _584 => _584.executions, 'optionalAccess', _585 => _585[execId]]);
18241
18132
  const next = nextBatchExecution(prev, toolData);
18242
18133
  matched = true;
18243
18134
  if (next === null) return seg;
@@ -18371,8 +18262,8 @@ var MessageSegmentAccumulator = class {
18371
18262
  requestId,
18372
18263
  {
18373
18264
  ...pendingApproval,
18374
- command: _optionalChain([pendingApproval, 'optionalAccess', _594 => _594.command]) || "",
18375
- approvalType: _optionalChain([pendingApproval, 'optionalAccess', _595 => _595.approvalType]) || approvalType
18265
+ command: _optionalChain([pendingApproval, 'optionalAccess', _586 => _586.command]) || "",
18266
+ approvalType: _optionalChain([pendingApproval, 'optionalAccess', _587 => _587.approvalType]) || approvalType
18376
18267
  },
18377
18268
  status
18378
18269
  );
@@ -18397,9 +18288,9 @@ var MessageSegmentAccumulator = class {
18397
18288
  type: "escalation_offer",
18398
18289
  // The resolved chunk carries no text/origin — a redelivered offer must
18399
18290
  // not blank the card the PENDING chunk already painted.
18400
- data: { offerId, text: text || _optionalChain([existing, 'optionalAccess', _596 => _596.data, 'access', _597 => _597.text]) || "", origin: _nullishCoalesce(origin, () => ( _optionalChain([existing, 'optionalAccess', _598 => _598.data, 'access', _599 => _599.origin]))) },
18291
+ data: { offerId, text: text || _optionalChain([existing, 'optionalAccess', _588 => _588.data, 'access', _589 => _589.text]) || "", origin: _nullishCoalesce(origin, () => ( _optionalChain([existing, 'optionalAccess', _590 => _590.data, 'access', _591 => _591.origin]))) },
18401
18292
  status,
18402
- resolvedByName: _nullishCoalesce(resolvedByName, () => ( _optionalChain([existing, 'optionalAccess', _600 => _600.resolvedByName]))),
18293
+ resolvedByName: _nullishCoalesce(resolvedByName, () => ( _optionalChain([existing, 'optionalAccess', _592 => _592.resolvedByName]))),
18403
18294
  onApprove: this.callbacks.onEscalationApprove,
18404
18295
  onReject: this.callbacks.onEscalationReject
18405
18296
  };
@@ -18724,7 +18615,7 @@ function createChatStreamReducer(options = {}) {
18724
18615
  let stateCache = null;
18725
18616
  function invalidate() {
18726
18617
  stateCache = null;
18727
- _optionalChain([onChange, 'optionalCall', _601 => _601()]);
18618
+ _optionalChain([onChange, 'optionalCall', _593 => _593()]);
18728
18619
  }
18729
18620
  function getState() {
18730
18621
  if (!stateCache) {
@@ -18740,7 +18631,7 @@ function createChatStreamReducer(options = {}) {
18740
18631
  return stateCache;
18741
18632
  }
18742
18633
  function emit(name, ...args) {
18743
- _optionalChain([onEffect, 'optionalCall', _602 => _602({ name, args })]);
18634
+ _optionalChain([onEffect, 'optionalCall', _594 => _594({ name, args })]);
18744
18635
  }
18745
18636
  function setMessagesInternal(next) {
18746
18637
  if (next !== messages) {
@@ -18771,12 +18662,12 @@ function createChatStreamReducer(options = {}) {
18771
18662
  return [...next.slice(0, -1), { ...last, streamSeq: seq }];
18772
18663
  }
18773
18664
  function applySegmentsToState(segments, meta) {
18774
- const seq = _optionalChain([meta, 'optionalAccess', _603 => _603.streamSeq]);
18775
- if (_optionalChain([meta, 'optionalAccess', _604 => _604.append]) && meta.isCompacting) {
18665
+ const seq = _optionalChain([meta, 'optionalAccess', _595 => _595.streamSeq]);
18666
+ if (_optionalChain([meta, 'optionalAccess', _596 => _596.append]) && meta.isCompacting) {
18776
18667
  setMessagesInternal(stampTrailingAssistantSeq(upsertTrailingCompaction(messages, segments), seq));
18777
18668
  return;
18778
18669
  }
18779
- if (_optionalChain([meta, 'optionalAccess', _605 => _605.append])) {
18670
+ if (_optionalChain([meta, 'optionalAccess', _597 => _597.append])) {
18780
18671
  setMessagesInternal(stampTrailingAssistantSeq(appendToTrailingAssistant(messages, segments), seq));
18781
18672
  return;
18782
18673
  }
@@ -18788,7 +18679,7 @@ function createChatStreamReducer(options = {}) {
18788
18679
  adoptTrailingAssistant = false;
18789
18680
  const last = messages[messages.length - 1];
18790
18681
  if (!last || last.role !== "assistant" || adoptTail) return;
18791
- const hasContent = (_nullishCoalesce(_optionalChain([last, 'access', _606 => _606.segments, 'optionalAccess', _607 => _607.length]), () => ( 0))) > 0 || last.content !== "";
18682
+ const hasContent = (_nullishCoalesce(_optionalChain([last, 'access', _598 => _598.segments, 'optionalAccess', _599 => _599.length]), () => ( 0))) > 0 || last.content !== "";
18792
18683
  if (!hasContent) return;
18793
18684
  setMessagesInternal([...messages, { id: nextId("assistant"), role: "assistant", content: "", segments: [] }]);
18794
18685
  }
@@ -18998,13 +18889,13 @@ function createChatStreamReducer(options = {}) {
18998
18889
  const summary = required ? getCommandText(required) : `Batch of ${toolCalls.length} tool calls`;
18999
18890
  pendingEscalated.set(requestId, {
19000
18891
  command: summary,
19001
- explanation: _optionalChain([required, 'optionalAccess', _608 => _608.toolExplanation]),
18892
+ explanation: _optionalChain([required, 'optionalAccess', _600 => _600.toolExplanation]),
19002
18893
  approvalType,
19003
18894
  toolCalls
19004
18895
  });
19005
18896
  emit("onEscalatedApproval", requestId, {
19006
18897
  command: summary,
19007
- explanation: _optionalChain([required, 'optionalAccess', _609 => _609.toolExplanation]),
18898
+ explanation: _optionalChain([required, 'optionalAccess', _601 => _601.toolExplanation]),
19008
18899
  approvalType
19009
18900
  });
19010
18901
  break;
@@ -19388,7 +19279,7 @@ function createChatStreamReducer(options = {}) {
19388
19279
  const resolveBatch = (status, confirm) => async () => {
19389
19280
  setMessagesInternal(projectBatchStatusToMessages(messages, anchorId, status));
19390
19281
  for (const id of ids) {
19391
- const ok = await _optionalChain([confirm, 'optionalCall', _610 => _610(id)]);
19282
+ const ok = await _optionalChain([confirm, 'optionalCall', _602 => _602(id)]);
19392
19283
  if (ok === false) {
19393
19284
  setMessagesInternal(projectBatchRowFailureToMessages(messages, id));
19394
19285
  }
@@ -19524,8 +19415,8 @@ function createChatStreamReducer(options = {}) {
19524
19415
  }
19525
19416
  }
19526
19417
  }
19527
- hasEverStreamed = hasEverStreamed || (_nullishCoalesce(_optionalChain([extras, 'optionalAccess', _611 => _611.resumed]), () => ( messages.length > 0)));
19528
- if (_optionalChain([extras, 'optionalAccess', _612 => _612.agentBusy])) agentBusyState();
19418
+ hasEverStreamed = hasEverStreamed || (_nullishCoalesce(_optionalChain([extras, 'optionalAccess', _603 => _603.resumed]), () => ( messages.length > 0)));
19419
+ if (_optionalChain([extras, 'optionalAccess', _604 => _604.agentBusy])) agentBusyState();
19529
19420
  invalidate();
19530
19421
  }
19531
19422
  return {
@@ -19610,7 +19501,7 @@ function createChatStreamReducer(options = {}) {
19610
19501
  },
19611
19502
  endSseTurn() {
19612
19503
  const last = messages[messages.length - 1];
19613
- if (last && last.role === "assistant" && (_nullishCoalesce(_optionalChain([last, 'access', _613 => _613.segments, 'optionalAccess', _614 => _614.length]), () => ( 0))) === 0 && last.content === "") {
19504
+ if (last && last.role === "assistant" && (_nullishCoalesce(_optionalChain([last, 'access', _605 => _605.segments, 'optionalAccess', _606 => _606.length]), () => ( 0))) === 0 && last.content === "") {
19614
19505
  messages = messages.slice(0, -1);
19615
19506
  }
19616
19507
  sseCurrentText = "";
@@ -19763,10 +19654,10 @@ function createChatDialogStore(options = {}) {
19763
19654
  if (onEvict) {
19764
19655
  const sep = key.indexOf(KEY_SEP);
19765
19656
  onEvict(key.slice(0, sep), key.slice(sep + 1), {
19766
- messages: _nullishCoalesce(_optionalChain([dropped, 'optionalAccess', _615 => _615.state, 'access', _616 => _616.messages]), () => ( EMPTY_STATE.messages)),
19767
- approvalStatuses: _nullishCoalesce(_optionalChain([dropped, 'optionalAccess', _617 => _617.state, 'access', _618 => _618.approvalStatuses]), () => ( EMPTY_STATE.approvalStatuses)),
19768
- lastAppliedSeq: _nullishCoalesce(_optionalChain([dropped, 'optionalAccess', _619 => _619.getLastAppliedSeq, 'call', _620 => _620()]), () => ( Number.NEGATIVE_INFINITY)),
19769
- pendingEchoes: _nullishCoalesce(_optionalChain([dropped, 'optionalAccess', _621 => _621.getPendingEchoes, 'call', _622 => _622()]), () => ( EMPTY_PENDING_ECHOES))
19657
+ messages: _nullishCoalesce(_optionalChain([dropped, 'optionalAccess', _607 => _607.state, 'access', _608 => _608.messages]), () => ( EMPTY_STATE.messages)),
19658
+ approvalStatuses: _nullishCoalesce(_optionalChain([dropped, 'optionalAccess', _609 => _609.state, 'access', _610 => _610.approvalStatuses]), () => ( EMPTY_STATE.approvalStatuses)),
19659
+ lastAppliedSeq: _nullishCoalesce(_optionalChain([dropped, 'optionalAccess', _611 => _611.getLastAppliedSeq, 'call', _612 => _612()]), () => ( Number.NEGATIVE_INFINITY)),
19660
+ pendingEchoes: _nullishCoalesce(_optionalChain([dropped, 'optionalAccess', _613 => _613.getPendingEchoes, 'call', _614 => _614()]), () => ( EMPTY_PENDING_ECHOES))
19770
19661
  });
19771
19662
  }
19772
19663
  }
@@ -19776,12 +19667,12 @@ function createChatDialogStore(options = {}) {
19776
19667
  const key = keyOf(dialogId, side);
19777
19668
  let reducer = reducers.get(key);
19778
19669
  if (!reducer) {
19779
- const base = _nullishCoalesce(_optionalChain([(_nullishCoalesce(createOptions, () => ( defaultCreateOptions))), 'optionalCall', _623 => _623(dialogId, side)]), () => ( {}));
19670
+ const base = _nullishCoalesce(_optionalChain([(_nullishCoalesce(createOptions, () => ( defaultCreateOptions))), 'optionalCall', _615 => _615(dialogId, side)]), () => ( {}));
19780
19671
  const userOnChange = base.onChange;
19781
19672
  reducer = createChatStreamReducer({
19782
19673
  ...base,
19783
19674
  onChange: () => {
19784
- _optionalChain([userOnChange, 'optionalCall', _624 => _624()]);
19675
+ _optionalChain([userOnChange, 'optionalCall', _616 => _616()]);
19785
19676
  notify();
19786
19677
  }
19787
19678
  });
@@ -19826,7 +19717,7 @@ function createChatDialogStore(options = {}) {
19826
19717
  };
19827
19718
  }
19828
19719
  function getSnapshot2(dialogId, side = DEFAULT_DIALOG_SIDE) {
19829
- return _nullishCoalesce(_optionalChain([reducers, 'access', _625 => _625.get, 'call', _626 => _626(keyOf(dialogId, side)), 'optionalAccess', _627 => _627.state]), () => ( EMPTY_STATE));
19720
+ return _nullishCoalesce(_optionalChain([reducers, 'access', _617 => _617.get, 'call', _618 => _618(keyOf(dialogId, side)), 'optionalAccess', _619 => _619.state]), () => ( EMPTY_STATE));
19830
19721
  }
19831
19722
  function getServerSnapshot2() {
19832
19723
  return EMPTY_STATE;
@@ -19918,7 +19809,7 @@ function createDeltaBatcher({
19918
19809
  pending = [];
19919
19810
  const key = pendingKey;
19920
19811
  for (const delta of batch) applyOne(delta, key);
19921
- _optionalChain([onFlushed, 'optionalCall', _628 => _628(batch.length)]);
19812
+ _optionalChain([onFlushed, 'optionalCall', _620 => _620(batch.length)]);
19922
19813
  }
19923
19814
  function schedule() {
19924
19815
  if (raf !== null || timer !== null) return;
@@ -19942,7 +19833,7 @@ function createDeltaBatcher({
19942
19833
  }
19943
19834
  if (!isDeltaEvent(event)) return false;
19944
19835
  const tail = pending[pending.length - 1];
19945
- const seqAdvances = _optionalChain([tail, 'optionalAccess', _629 => _629.seq]) == null ? event.seq == null : event.seq != null && event.seq > tail.seq;
19836
+ const seqAdvances = _optionalChain([tail, 'optionalAccess', _621 => _621.seq]) == null ? event.seq == null : event.seq != null && event.seq > tail.seq;
19946
19837
  if (tail && seqAdvances && tail.type === event.type && (tail.type !== "text-delta" || tail.leading === event.leading)) {
19947
19838
  pending[pending.length - 1] = {
19948
19839
  ...tail,
@@ -19973,7 +19864,7 @@ function useChatStreamReducer({
19973
19864
  side = DEFAULT_DIALOG_SIDE,
19974
19865
  createReducerOptions
19975
19866
  }) {
19976
- const reducer = store.getReducer(dialogId, side, () => _nullishCoalesce(_optionalChain([createReducerOptions, 'optionalCall', _630 => _630()]), () => ( {})));
19867
+ const reducer = store.getReducer(dialogId, side, () => _nullishCoalesce(_optionalChain([createReducerOptions, 'optionalCall', _622 => _622()]), () => ( {})));
19977
19868
  const getSnapshot2 = _react.useCallback.call(void 0, () => store.getSnapshot(dialogId, side), [store, dialogId, side]);
19978
19869
  const getServerSnapshot2 = _react.useCallback.call(void 0, () => store.getServerSnapshot(), [store]);
19979
19870
  const subscribe2 = _react.useCallback.call(void 0, (listener) => store.subscribe(listener), [store]);
@@ -20012,7 +19903,7 @@ var STORAGE_KEY = "conversation";
20012
19903
  var namespaceFor = (source) => {
20013
19904
  const base = `mingo-chat-${source}`;
20014
19905
  const auth = _chunkCP6TIRONcjs.getEmbedProxyAuth.call(void 0, );
20015
- return _optionalChain([auth, 'optionalAccess', _631 => _631.email]) ? `${base}-u-${encodeURIComponent(auth.email.toLowerCase())}` : base;
19906
+ return _optionalChain([auth, 'optionalAccess', _623 => _623.email]) ? `${base}-u-${encodeURIComponent(auth.email.toLowerCase())}` : base;
20016
19907
  };
20017
19908
  function createChatConversationStorage(source) {
20018
19909
  return _chunkCP6TIRONcjs.createLocalStorageAdapter.call(void 0, {
@@ -20040,7 +19931,7 @@ function pruneStaleChatConversationStorage(source) {
20040
19931
  for (const k of toRemove) {
20041
19932
  window.localStorage.removeItem(k);
20042
19933
  }
20043
- } catch (e62) {
19934
+ } catch (e59) {
20044
19935
  }
20045
19936
  }
20046
19937
 
@@ -20076,7 +19967,7 @@ function formatSingularLookupInvocation(cmdId, value) {
20076
19967
  return safe ? `/${cmdId} "${safe}"` : `/${cmdId}`;
20077
19968
  }
20078
19969
  function extractEntityIdFilter(override, expectedTableId) {
20079
- const f = _optionalChain([override, 'optionalAccess', _632 => _632.entityIdFilter]);
19970
+ const f = _optionalChain([override, 'optionalAccess', _624 => _624.entityIdFilter]);
20080
19971
  if (!f) return null;
20081
19972
  const tableId = typeof f.tableId === "string" ? f.tableId : "";
20082
19973
  const id = typeof f.id === "string" ? f.id : "";
@@ -20115,7 +20006,7 @@ var AUTO_CONTINUATION_DIRECTIVE_PREFIX = "[internal-auto-continuation]";
20115
20006
  function buildAutoContinuationDirective(toolName, opts = {}) {
20116
20007
  const ticketRef = opts.ticketId ? ` (ticket #${opts.ticketId})` : "";
20117
20008
  const ticketHash = opts.ticketId ? ` #${opts.ticketId}` : "";
20118
- const isClose = toolName === "update_ticket" && _optionalChain([opts, 'access', _633 => _633.status, 'optionalAccess', _634 => _634.toUpperCase, 'call', _635 => _635()]) === "CLOSED";
20009
+ const isClose = toolName === "update_ticket" && _optionalChain([opts, 'access', _625 => _625.status, 'optionalAccess', _626 => _626.toUpperCase, 'call', _627 => _627()]) === "CLOSED";
20119
20010
  if (toolName === "create_ticket") {
20120
20011
  return `${AUTO_CONTINUATION_DIRECTIVE_PREFIX} The user just approved create_ticket${ticketRef}. Per ticket-protocol \xA71a, ask 2-4 SHORT, issue-specific diagnostic follow-up questions tailored to the symptom they reported in their original message. When they answer, propose an update_ticket with content_addendum carrying a clean Q&A digest. Do NOT call any tool in this turn \u2014 just write the questions as prose.`;
20121
20012
  }
@@ -20187,7 +20078,7 @@ function useChatHistoryHydration({
20187
20078
  sendCountRef.current = userTurns;
20188
20079
  hydrateMessages(hydrated, Array.from(sourcesSeed.entries()));
20189
20080
  bumpMetaTick();
20190
- } catch (e63) {
20081
+ } catch (e60) {
20191
20082
  } finally {
20192
20083
  if (!cancelled) setIsHydratingHistory(false);
20193
20084
  }
@@ -20238,7 +20129,7 @@ function useSseChatAdapter(options, runtimeOptions = {}) {
20238
20129
  const { active = true } = runtimeOptions;
20239
20130
  const runtime = _chunkRDTOMWDNcjs.useRequiredChatRuntime.call(void 0, );
20240
20131
  const source = runtime.source || DEFAULT_CHAT_SOURCE;
20241
- const tableIdForDocumentType = _nullishCoalesce(_optionalChain([options, 'optionalAccess', _636 => _636.tableIdForDocumentType]), () => ( defaultTableIdForDocumentType));
20132
+ const tableIdForDocumentType = _nullishCoalesce(_optionalChain([options, 'optionalAccess', _628 => _628.tableIdForDocumentType]), () => ( defaultTableIdForDocumentType));
20242
20133
  const sendMessageRef = _react.useRef.call(void 0,
20243
20134
  () => Promise.resolve(true)
20244
20135
  );
@@ -20275,7 +20166,7 @@ function useSseChatAdapter(options, runtimeOptions = {}) {
20275
20166
  if (!restoredConversationRef.current) {
20276
20167
  restoredConversationRef.current = true;
20277
20168
  pruneStaleChatConversationStorage(source);
20278
- conversationIdRef.current = _nullishCoalesce(_optionalChain([conversationStorage, 'access', _637 => _637.load, 'call', _638 => _638(), 'optionalAccess', _639 => _639.conversationId]), () => ( null));
20169
+ conversationIdRef.current = _nullishCoalesce(_optionalChain([conversationStorage, 'access', _629 => _629.load, 'call', _630 => _630(), 'optionalAccess', _631 => _631.conversationId]), () => ( null));
20279
20170
  }
20280
20171
  const commandsUrl = runtime.endpoints.commandsUrl;
20281
20172
  const { commands: slashCommands } = useSlashCommandRegistry(commandsUrl, {
@@ -20380,7 +20271,7 @@ function useSseChatAdapter(options, runtimeOptions = {}) {
20380
20271
  const serverMessage = await readServerErrorMessage(response);
20381
20272
  throw new Error(_nullishCoalesce(serverMessage, () => ( `Chat request failed: ${response.status}`)));
20382
20273
  }
20383
- const reader = _optionalChain([response, 'access', _640 => _640.body, 'optionalAccess', _641 => _641.getReader, 'call', _642 => _642()]);
20274
+ const reader = _optionalChain([response, 'access', _632 => _632.body, 'optionalAccess', _633 => _633.getReader, 'call', _634 => _634()]);
20384
20275
  if (!reader) throw new Error("No response body");
20385
20276
  const frameDecoder = createSseFrameDecoder();
20386
20277
  let finished = false;
@@ -20403,7 +20294,7 @@ function useSseChatAdapter(options, runtimeOptions = {}) {
20403
20294
  }
20404
20295
  return true;
20405
20296
  } catch (err) {
20406
- if (_optionalChain([err, 'optionalAccess', _643 => _643.name]) === "AbortError" || ctrl.signal.aborted) {
20297
+ if (_optionalChain([err, 'optionalAccess', _635 => _635.name]) === "AbortError" || ctrl.signal.aborted) {
20407
20298
  return true;
20408
20299
  }
20409
20300
  flushDeltas();
@@ -20423,7 +20314,7 @@ function useSseChatAdapter(options, runtimeOptions = {}) {
20423
20314
  );
20424
20315
  sendMessageRef.current = sendMessage;
20425
20316
  const stopMessage = _react.useCallback.call(void 0, () => {
20426
- _optionalChain([abortControllerRef, 'access', _644 => _644.current, 'optionalAccess', _645 => _645.abort, 'call', _646 => _646()]);
20317
+ _optionalChain([abortControllerRef, 'access', _636 => _636.current, 'optionalAccess', _637 => _637.abort, 'call', _638 => _638()]);
20427
20318
  flushDeltas();
20428
20319
  mutate((r) => r.setPhase("idle"));
20429
20320
  }, [mutate, flushDeltas]);
@@ -20439,7 +20330,7 @@ function useSseChatAdapter(options, runtimeOptions = {}) {
20439
20330
  let sendIdx = -1;
20440
20331
  return state.messages.map((m) => {
20441
20332
  const segments = m.segments;
20442
- const content = typeof m.content === "string" && !segments ? m.content : _nullishCoalesce(_optionalChain([segments, 'optionalAccess', _647 => _647.filter, 'call', _648 => _648((s) => s.type === "text"), 'access', _649 => _649.map, 'call', _650 => _650((s) => s.text), 'access', _651 => _651.join, 'call', _652 => _652("")]), () => ( ""));
20333
+ const content = typeof m.content === "string" && !segments ? m.content : _nullishCoalesce(_optionalChain([segments, 'optionalAccess', _639 => _639.filter, 'call', _640 => _640((s) => s.type === "text"), 'access', _641 => _641.map, 'call', _642 => _642((s) => s.text), 'access', _643 => _643.join, 'call', _644 => _644("")]), () => ( ""));
20443
20334
  let sources;
20444
20335
  let scrollAnchor;
20445
20336
  if (m.role === "user" && !m.hidden) {
@@ -20448,7 +20339,7 @@ function useSseChatAdapter(options, runtimeOptions = {}) {
20448
20339
  if (m.role === "assistant") {
20449
20340
  const lookupIdx = sendIdx >= 0 ? sendIdx : 0;
20450
20341
  sources = sourcesMap.get(lookupIdx);
20451
- scrollAnchor = _nullishCoalesce(_optionalChain([meta, 'access', _653 => _653.get, 'call', _654 => _654(lookupIdx), 'optionalAccess', _655 => _655.scrollAnchor]), () => ( void 0));
20342
+ scrollAnchor = _nullishCoalesce(_optionalChain([meta, 'access', _645 => _645.get, 'call', _646 => _646(lookupIdx), 'optionalAccess', _647 => _647.scrollAnchor]), () => ( void 0));
20452
20343
  }
20453
20344
  return {
20454
20345
  id: m.id,
@@ -20475,7 +20366,7 @@ function useSseChatAdapter(options, runtimeOptions = {}) {
20475
20366
  );
20476
20367
  return;
20477
20368
  }
20478
- const refSlug = typeof _optionalChain([reference, 'access', _656 => _656.metadata, 'optionalAccess', _657 => _657.slug]) === "string" && reference.metadata.slug.length > 0 ? reference.metadata.slug : "";
20369
+ const refSlug = typeof _optionalChain([reference, 'access', _648 => _648.metadata, 'optionalAccess', _649 => _649.slug]) === "string" && reference.metadata.slug.length > 0 ? reference.metadata.slug : "";
20479
20370
  const queryValue = refSlug || sanitizeTitleForChat(reference.title) || reference.id;
20480
20371
  const escaped = queryValue.replace(/\\/g, "\\\\").replace(/"/g, '\\"');
20481
20372
  const text = `/${cmdId} display "${escaped}"`;
@@ -20521,18 +20412,18 @@ function useSseChatAdapter(options, runtimeOptions = {}) {
20521
20412
  /** True while the mount-time rebuild from the server transcript runs. */
20522
20413
  isHydratingHistory,
20523
20414
  /** Provider key for the lib's `<ModelDisplay>` icon. */
20524
- currentProvider: _nullishCoalesce(_optionalChain([latestMeta, 'optionalAccess', _658 => _658.provider]), () => ( null)),
20525
- currentModelLabel: _nullishCoalesce(_optionalChain([latestMeta, 'optionalAccess', _659 => _659.modelLabel]), () => ( null)),
20526
- currentContextWindowMaxTokens: _nullishCoalesce(_optionalChain([latestMeta, 'optionalAccess', _660 => _660.contextWindowMaxTokens]), () => ( null)),
20415
+ currentProvider: _nullishCoalesce(_optionalChain([latestMeta, 'optionalAccess', _650 => _650.provider]), () => ( null)),
20416
+ currentModelLabel: _nullishCoalesce(_optionalChain([latestMeta, 'optionalAccess', _651 => _651.modelLabel]), () => ( null)),
20417
+ currentContextWindowMaxTokens: _nullishCoalesce(_optionalChain([latestMeta, 'optionalAccess', _652 => _652.contextWindowMaxTokens]), () => ( null)),
20527
20418
  /** Input tokens (known after server's message_start frame; null until). */
20528
- currentInputTokens: _nullishCoalesce(_optionalChain([latestMeta, 'optionalAccess', _661 => _661.inputTokens]), () => ( null)),
20419
+ currentInputTokens: _nullishCoalesce(_optionalChain([latestMeta, 'optionalAccess', _653 => _653.inputTokens]), () => ( null)),
20529
20420
  /** Output tokens (known only after server's trailing usage frame). */
20530
- currentOutputTokens: _nullishCoalesce(_optionalChain([latestMeta, 'optionalAccess', _662 => _662.outputTokens]), () => ( null)),
20421
+ currentOutputTokens: _nullishCoalesce(_optionalChain([latestMeta, 'optionalAccess', _654 => _654.outputTokens]), () => ( null)),
20531
20422
  /** Cache hit % (read / total-input × 100). null during streaming. */
20532
- currentCacheHitRatePct: _nullishCoalesce(_optionalChain([latestMeta, 'optionalAccess', _663 => _663.cacheHitRatePct]), () => ( null)),
20423
+ currentCacheHitRatePct: _nullishCoalesce(_optionalChain([latestMeta, 'optionalAccess', _655 => _655.cacheHitRatePct]), () => ( null)),
20533
20424
  /** Cross-call usage breakdown (Haiku rewriter/classifier/summarizer
20534
20425
  * token counts). null until the trailing usage frame lands. */
20535
- currentUsageBreakdown: _nullishCoalesce(_optionalChain([latestMeta, 'optionalAccess', _664 => _664.breakdown]), () => ( null)),
20426
+ currentUsageBreakdown: _nullishCoalesce(_optionalChain([latestMeta, 'optionalAccess', _656 => _656.breakdown]), () => ( null)),
20536
20427
  // ─── Dialog management — stubs for v1 ────────────────────────────────
20537
20428
  // Guide mode keeps ONE server-side conversation per stored id
20538
20429
  // (`chat_conversations`, hydrated on mount). Surfacing multiple threads
@@ -20777,7 +20668,7 @@ function decodeNatsChunk(chunk) {
20777
20668
  userId: typeof data.userId === "string" ? data.userId : void 0,
20778
20669
  // Wire shape carries no label; fall back to the id (parity with
20779
20670
  // the history path in `process-historical-messages.ts`).
20780
- contextItems: Array.isArray(data.contextItems) ? data.contextItems.filter((it) => typeof _optionalChain([it, 'optionalAccess', _665 => _665.type]) === "string" && typeof _optionalChain([it, 'optionalAccess', _666 => _666.id]) === "string").map((it) => ({
20671
+ contextItems: Array.isArray(data.contextItems) ? data.contextItems.filter((it) => typeof _optionalChain([it, 'optionalAccess', _657 => _657.type]) === "string" && typeof _optionalChain([it, 'optionalAccess', _658 => _658.id]) === "string").map((it) => ({
20781
20672
  type: it.type,
20782
20673
  id: it.id,
20783
20674
  label: it.id
@@ -20868,7 +20759,7 @@ function extractIncompleteMessageState(lastMessage) {
20868
20759
  }
20869
20760
  break;
20870
20761
  case "approval_batch": {
20871
- const allDone = !!segment.data.executions && segment.data.toolCalls.every((c) => _optionalChain([segment, 'access', _667 => _667.data, 'access', _668 => _668.executions, 'optionalAccess', _669 => _669[c.toolExecutionRequestId], 'optionalAccess', _670 => _670.status]) === "done");
20762
+ const allDone = !!segment.data.executions && segment.data.toolCalls.every((c) => _optionalChain([segment, 'access', _659 => _659.data, 'access', _660 => _660.executions, 'optionalAccess', _661 => _661[c.toolExecutionRequestId], 'optionalAccess', _662 => _662.status]) === "done");
20872
20763
  if (segment.status !== "rejected" && !allDone) {
20873
20764
  hasIncompleteState = true;
20874
20765
  }
@@ -20930,11 +20821,11 @@ function extractIncompleteMessageState(lastMessage) {
20930
20821
  function extractIncompleteTailState(messages) {
20931
20822
  if (!messages || messages.length === 0) return void 0;
20932
20823
  let start = messages.length;
20933
- while (start > 0 && _optionalChain([messages, 'access', _671 => _671[start - 1], 'optionalAccess', _672 => _672.role]) === "assistant") start -= 1;
20824
+ while (start > 0 && _optionalChain([messages, 'access', _663 => _663[start - 1], 'optionalAccess', _664 => _664.role]) === "assistant") start -= 1;
20934
20825
  if (start === messages.length) return void 0;
20935
20826
  const segments = [];
20936
20827
  for (let i = start; i < messages.length; i += 1) {
20937
- const content = _optionalChain([messages, 'access', _673 => _673[i], 'optionalAccess', _674 => _674.content]);
20828
+ const content = _optionalChain([messages, 'access', _665 => _665[i], 'optionalAccess', _666 => _666.content]);
20938
20829
  if (Array.isArray(content)) segments.push(...content);
20939
20830
  }
20940
20831
  if (segments.length === 0) return void 0;
@@ -20947,15 +20838,15 @@ function extractIncompleteTailState(messages) {
20947
20838
 
20948
20839
  // src/components/chat/utils/process-historical-messages.ts
20949
20840
  function getOwnerDisplayName(owner) {
20950
- if (_optionalChain([owner, 'optionalAccess', _675 => _675.type]) === OWNER_TYPE.ADMIN && owner.user) {
20841
+ if (_optionalChain([owner, 'optionalAccess', _667 => _667.type]) === OWNER_TYPE.ADMIN && owner.user) {
20951
20842
  const { firstName, lastName } = owner.user;
20952
20843
  const name = [firstName, lastName].filter(Boolean).join(" ");
20953
20844
  if (name) return name;
20954
20845
  }
20955
- return _optionalChain([owner, 'optionalAccess', _676 => _676.type]) === OWNER_TYPE.ADMIN ? "Admin" : "You";
20846
+ return _optionalChain([owner, 'optionalAccess', _668 => _668.type]) === OWNER_TYPE.ADMIN ? "Admin" : "You";
20956
20847
  }
20957
20848
  function getOwnerAvatar(owner) {
20958
- return _nullishCoalesce(_optionalChain([owner, 'optionalAccess', _677 => _677.user, 'optionalAccess', _678 => _678.image, 'optionalAccess', _679 => _679.imageUrl]), () => ( void 0));
20849
+ return _nullishCoalesce(_optionalChain([owner, 'optionalAccess', _669 => _669.user, 'optionalAccess', _670 => _670.image, 'optionalAccess', _671 => _671.imageUrl]), () => ( void 0));
20959
20850
  }
20960
20851
  function pushStandaloneMessages(processedMessages, msg, messageDataArray) {
20961
20852
  messageDataArray.forEach((data) => {
@@ -21139,7 +21030,7 @@ function applyHistoryEvent(event, accumulator, approvalStatuses, options, escala
21139
21030
  event.offerId,
21140
21031
  event.text,
21141
21032
  event.origin,
21142
- _nullishCoalesce(_optionalChain([escalationOfferStates, 'optionalAccess', _680 => _680[event.offerId]]), () => ( "pending"))
21033
+ _nullishCoalesce(_optionalChain([escalationOfferStates, 'optionalAccess', _672 => _672[event.offerId]]), () => ( "pending"))
21143
21034
  );
21144
21035
  break;
21145
21036
  case "ticket-escalated":
@@ -21169,7 +21060,7 @@ function applyHistoryEvent(event, accumulator, approvalStatuses, options, escala
21169
21060
  );
21170
21061
  break;
21171
21062
  case "escalation-offer-resolved":
21172
- _optionalChain([offerResolutions, 'optionalAccess', _681 => _681.set, 'call', _682 => _682(event.offerId, {
21063
+ _optionalChain([offerResolutions, 'optionalAccess', _673 => _673.set, 'call', _674 => _674(event.offerId, {
21173
21064
  status: event.status,
21174
21065
  resolvedByName: event.resolvedByName
21175
21066
  })]);
@@ -21233,7 +21124,7 @@ function applyHistoryEvent(event, accumulator, approvalStatuses, options, escala
21233
21124
  }
21234
21125
  }
21235
21126
  } else {
21236
- _optionalChain([escalatedApprovals, 'optionalAccess', _683 => _683.set, 'call', _684 => _684(event.requestId, {
21127
+ _optionalChain([escalatedApprovals, 'optionalAccess', _675 => _675.set, 'call', _676 => _676(event.requestId, {
21237
21128
  command: event.command || "",
21238
21129
  explanation: event.explanation,
21239
21130
  approvalType,
@@ -21248,8 +21139,8 @@ function applyHistoryEvent(event, accumulator, approvalStatuses, options, escala
21248
21139
  const existingStatus = approvalStatuses[requestId];
21249
21140
  const status = existingStatus || event.status;
21250
21141
  const resolvedByName = event.resolvedByName;
21251
- const escalatedData = _optionalChain([escalatedApprovals, 'optionalAccess', _685 => _685.get, 'call', _686 => _686(requestId)]);
21252
- if (_optionalChain([escalatedData, 'optionalAccess', _687 => _687.toolCalls]) && escalatedData.toolCalls.length > 0) {
21142
+ const escalatedData = _optionalChain([escalatedApprovals, 'optionalAccess', _677 => _677.get, 'call', _678 => _678(requestId)]);
21143
+ if (_optionalChain([escalatedData, 'optionalAccess', _679 => _679.toolCalls]) && escalatedData.toolCalls.length > 0) {
21253
21144
  if (batchApprovalsEnabled) {
21254
21145
  accumulator.addApprovalBatch(
21255
21146
  requestId,
@@ -21271,7 +21162,7 @@ function applyHistoryEvent(event, accumulator, approvalStatuses, options, escala
21271
21162
  );
21272
21163
  }
21273
21164
  }
21274
- _optionalChain([escalatedApprovals, 'optionalAccess', _688 => _688.delete, 'call', _689 => _689(requestId)]);
21165
+ _optionalChain([escalatedApprovals, 'optionalAccess', _680 => _680.delete, 'call', _681 => _681(requestId)]);
21275
21166
  break;
21276
21167
  }
21277
21168
  if (escalatedData) {
@@ -21280,7 +21171,7 @@ function applyHistoryEvent(event, accumulator, approvalStatuses, options, escala
21280
21171
  explanation: escalatedData.explanation,
21281
21172
  approvalType: escalatedData.approvalType
21282
21173
  });
21283
- _optionalChain([escalatedApprovals, 'optionalAccess', _690 => _690.delete, 'call', _691 => _691(requestId)]);
21174
+ _optionalChain([escalatedApprovals, 'optionalAccess', _682 => _682.delete, 'call', _683 => _683(requestId)]);
21284
21175
  }
21285
21176
  const before = accumulator.getSegments();
21286
21177
  const after = accumulator.updateApprovalStatus(requestId, status, resolvedByName);
@@ -21369,14 +21260,14 @@ function processHistoricalMessages(messages, options = {}) {
21369
21260
  pushStandaloneMessages(processedMessages, msg, messageDataArray);
21370
21261
  return;
21371
21262
  }
21372
- const isUserMessage = _optionalChain([msg, 'access', _692 => _692.owner, 'optionalAccess', _693 => _693.type]) === OWNER_TYPE.CLIENT || _optionalChain([msg, 'access', _694 => _694.owner, 'optionalAccess', _695 => _695.type]) === OWNER_TYPE.ADMIN;
21263
+ const isUserMessage = _optionalChain([msg, 'access', _684 => _684.owner, 'optionalAccess', _685 => _685.type]) === OWNER_TYPE.CLIENT || _optionalChain([msg, 'access', _686 => _686.owner, 'optionalAccess', _687 => _687.type]) === OWNER_TYPE.ADMIN;
21373
21264
  if (isUserMessage) {
21374
21265
  flushAssistantMessage();
21375
- const userAuthorType = _optionalChain([msg, 'access', _696 => _696.owner, 'optionalAccess', _697 => _697.type]) === OWNER_TYPE.ADMIN ? "admin" : "user";
21266
+ const userAuthorType = _optionalChain([msg, 'access', _688 => _688.owner, 'optionalAccess', _689 => _689.type]) === OWNER_TYPE.ADMIN ? "admin" : "user";
21376
21267
  messageDataArray.forEach((data) => {
21377
21268
  if (data.type === MESSAGE_TYPE.TEXT && "text" in data && data.text) {
21378
21269
  const rawContext = data.contextItems;
21379
- const contextItems = Array.isArray(rawContext) ? rawContext.filter((c) => typeof _optionalChain([c, 'optionalAccess', _698 => _698.type]) === "string" && typeof _optionalChain([c, 'optionalAccess', _699 => _699.id]) === "string").map((c) => ({ type: c.type, id: c.id, label: c.id })) : void 0;
21270
+ const contextItems = Array.isArray(rawContext) ? rawContext.filter((c) => typeof _optionalChain([c, 'optionalAccess', _690 => _690.type]) === "string" && typeof _optionalChain([c, 'optionalAccess', _691 => _691.id]) === "string").map((c) => ({ type: c.type, id: c.id, label: c.id })) : void 0;
21380
21271
  processedMessages.push({
21381
21272
  id: msg.id,
21382
21273
  role: "user",
@@ -21414,7 +21305,7 @@ function processHistoricalMessages(messages, options = {}) {
21414
21305
  });
21415
21306
  const nextMsg = messages[index + 1];
21416
21307
  const isLastMessage = index === messages.length - 1;
21417
- const nextIsFromUser = nextMsg && (_optionalChain([nextMsg, 'access', _700 => _700.owner, 'optionalAccess', _701 => _701.type]) === OWNER_TYPE.CLIENT || _optionalChain([nextMsg, 'access', _702 => _702.owner, 'optionalAccess', _703 => _703.type]) === OWNER_TYPE.ADMIN);
21308
+ const nextIsFromUser = nextMsg && (_optionalChain([nextMsg, 'access', _692 => _692.owner, 'optionalAccess', _693 => _693.type]) === OWNER_TYPE.CLIENT || _optionalChain([nextMsg, 'access', _694 => _694.owner, 'optionalAccess', _695 => _695.type]) === OWNER_TYPE.ADMIN);
21418
21309
  if (isLastMessage || nextIsFromUser) {
21419
21310
  flushAssistantMessage();
21420
21311
  }
@@ -21812,7 +21703,7 @@ function useNatsChatAdapter(config, options = {}) {
21812
21703
  }, [active, fetchDialogs, loadDialogsPage]);
21813
21704
  const sendMessage = _react.useCallback.call(void 0,
21814
21705
  async (text, sendOptions) => {
21815
- const hidden = _nullishCoalesce(_optionalChain([sendOptions, 'optionalAccess', _704 => _704.hidden]), () => ( false));
21706
+ const hidden = _nullishCoalesce(_optionalChain([sendOptions, 'optionalAccess', _696 => _696.hidden]), () => ( false));
21816
21707
  mutate((r) => r.pushOptimisticSend(text, hidden));
21817
21708
  await publishUserMessage(text, { hidden, dialogId });
21818
21709
  },
@@ -21958,11 +21849,11 @@ function useNatsChatAdapter(config, options = {}) {
21958
21849
  // Tokens: live `token_usage` frame / dialog snapshot (`dialogTokenUsage`).
21959
21850
  // contextWindow uses the dialog's `contextSize` (the "X / Y" denominator,
21960
21851
  // matching the /mingo page). cacheHitRate/breakdown are SSE-only → null.
21961
- currentProvider: _nullishCoalesce(_nullishCoalesce(_optionalChain([liveModel, 'optionalAccess', _705 => _705.provider]), () => ( modelProvider)), () => ( null)),
21962
- currentModelLabel: _nullishCoalesce(_nullishCoalesce(_optionalChain([liveModel, 'optionalAccess', _706 => _706.modelLabel]), () => ( modelLabel)), () => ( null)),
21963
- currentContextWindowMaxTokens: _nullishCoalesce(_nullishCoalesce(_optionalChain([dialogTokenUsage, 'optionalAccess', _707 => _707.contextSize]), () => ( _optionalChain([liveModel, 'optionalAccess', _708 => _708.contextWindowMaxTokens]))), () => ( null)),
21964
- currentInputTokens: _nullishCoalesce(_optionalChain([dialogTokenUsage, 'optionalAccess', _709 => _709.inputTokensSize]), () => ( null)),
21965
- currentOutputTokens: _nullishCoalesce(_optionalChain([dialogTokenUsage, 'optionalAccess', _710 => _710.outputTokensSize]), () => ( null)),
21852
+ currentProvider: _nullishCoalesce(_nullishCoalesce(_optionalChain([liveModel, 'optionalAccess', _697 => _697.provider]), () => ( modelProvider)), () => ( null)),
21853
+ currentModelLabel: _nullishCoalesce(_nullishCoalesce(_optionalChain([liveModel, 'optionalAccess', _698 => _698.modelLabel]), () => ( modelLabel)), () => ( null)),
21854
+ currentContextWindowMaxTokens: _nullishCoalesce(_nullishCoalesce(_optionalChain([dialogTokenUsage, 'optionalAccess', _699 => _699.contextSize]), () => ( _optionalChain([liveModel, 'optionalAccess', _700 => _700.contextWindowMaxTokens]))), () => ( null)),
21855
+ currentInputTokens: _nullishCoalesce(_optionalChain([dialogTokenUsage, 'optionalAccess', _701 => _701.inputTokensSize]), () => ( null)),
21856
+ currentOutputTokens: _nullishCoalesce(_optionalChain([dialogTokenUsage, 'optionalAccess', _702 => _702.outputTokensSize]), () => ( null)),
21966
21857
  currentCacheHitRatePct: null,
21967
21858
  currentUsageBreakdown: null,
21968
21859
  // Dialog management
@@ -22063,7 +21954,7 @@ function useUnifiedChat(options) {
22063
21954
  []
22064
21955
  );
22065
21956
  const displayRefForward = _react.useCallback.call(void 0,
22066
- (ref) => _optionalChain([activeStateRef, 'access', _711 => _711.current, 'access', _712 => _712.displayRef, 'optionalCall', _713 => _713(ref)]),
21957
+ (ref) => _optionalChain([activeStateRef, 'access', _703 => _703.current, 'access', _704 => _704.displayRef, 'optionalCall', _705 => _705(ref)]),
22067
21958
  []
22068
21959
  );
22069
21960
  const displayRef = activeState.displayRef ? displayRefForward : void 0;
@@ -22073,7 +21964,7 @@ function useUnifiedChat(options) {
22073
21964
  const renameDialog = _react.useCallback.call(void 0, (id, title) => activeStateRef.current.renameDialog(id, title), []);
22074
21965
  const archiveDialog = _react.useCallback.call(void 0, (id) => activeStateRef.current.archiveDialog(id), []);
22075
21966
  const loadMoreDialogs = _react.useCallback.call(void 0, () => activeStateRef.current.loadMoreDialogs(), []);
22076
- const setDialogScope = _react.useCallback.call(void 0, (scope) => _optionalChain([activeStateRef, 'access', _714 => _714.current, 'access', _715 => _715.setDialogScope, 'optionalCall', _716 => _716(scope)]), []);
21967
+ const setDialogScope = _react.useCallback.call(void 0, (scope) => _optionalChain([activeStateRef, 'access', _706 => _706.current, 'access', _707 => _707.setDialogScope, 'optionalCall', _708 => _708(scope)]), []);
22077
21968
  const reloadDialogs = _react.useCallback.call(void 0, () => activeStateRef.current.reloadDialogs(), []);
22078
21969
  const loadMoreMessages = _react.useCallback.call(void 0, () => activeStateRef.current.loadMoreMessages(), []);
22079
21970
  const approveRequest = _react.useCallback.call(void 0, (requestId) => activeStateRef.current.approveRequest(requestId), []);
@@ -22166,19 +22057,19 @@ function turnRequestKeys(content) {
22166
22057
  if (!Array.isArray(content)) return keys;
22167
22058
  for (const seg of content) {
22168
22059
  if (seg.type === "tool_execution") {
22169
- const id = _optionalChain([seg, 'access', _717 => _717.data, 'optionalAccess', _718 => _718.toolExecutionRequestId]);
22060
+ const id = _optionalChain([seg, 'access', _709 => _709.data, 'optionalAccess', _710 => _710.toolExecutionRequestId]);
22170
22061
  if (id) keys.add(id);
22171
22062
  } else if (seg.type === "approval_request") {
22172
- const id = _optionalChain([seg, 'access', _719 => _719.data, 'optionalAccess', _720 => _720.requestId]);
22063
+ const id = _optionalChain([seg, 'access', _711 => _711.data, 'optionalAccess', _712 => _712.requestId]);
22173
22064
  if (id) keys.add(id);
22174
22065
  } else if (seg.type === "escalation_offer") {
22175
- const id = _optionalChain([seg, 'access', _721 => _721.data, 'optionalAccess', _722 => _722.offerId]);
22066
+ const id = _optionalChain([seg, 'access', _713 => _713.data, 'optionalAccess', _714 => _714.offerId]);
22176
22067
  if (id) keys.add(id);
22177
22068
  } else if (seg.type === "approval_batch") {
22178
22069
  const data = seg.data;
22179
- if (_optionalChain([data, 'optionalAccess', _723 => _723.approvalRequestId])) keys.add(data.approvalRequestId);
22180
- for (const call of _nullishCoalesce(_optionalChain([data, 'optionalAccess', _724 => _724.toolCalls]), () => ( []))) {
22181
- if (_optionalChain([call, 'optionalAccess', _725 => _725.toolExecutionRequestId])) keys.add(call.toolExecutionRequestId);
22070
+ if (_optionalChain([data, 'optionalAccess', _715 => _715.approvalRequestId])) keys.add(data.approvalRequestId);
22071
+ for (const call of _nullishCoalesce(_optionalChain([data, 'optionalAccess', _716 => _716.toolCalls]), () => ( []))) {
22072
+ if (_optionalChain([call, 'optionalAccess', _717 => _717.toolExecutionRequestId])) keys.add(call.toolExecutionRequestId);
22182
22073
  }
22183
22074
  }
22184
22075
  }
@@ -22230,18 +22121,18 @@ function mergeHistoryWithRealtime(input) {
22230
22121
  }
22231
22122
  }
22232
22123
  const trailing = processedHistory[processedHistory.length - 1];
22233
- const historyTrailingAssistant = _optionalChain([trailing, 'optionalAccess', _726 => _726.role]) === "assistant" ? trailing : null;
22234
- const historyBatchId = historyTrailingAssistant && Array.isArray(historyTrailingAssistant.content) ? _nullishCoalesce(_optionalChain([historyTrailingAssistant, 'access', _727 => _727.content, 'access', _728 => _728.find, 'call', _729 => _729((s) => s.type === "approval_batch"), 'optionalAccess', _730 => _730.data, 'optionalAccess', _731 => _731.approvalRequestId]), () => ( null)) : null;
22124
+ const historyTrailingAssistant = _optionalChain([trailing, 'optionalAccess', _718 => _718.role]) === "assistant" ? trailing : null;
22125
+ const historyBatchId = historyTrailingAssistant && Array.isArray(historyTrailingAssistant.content) ? _nullishCoalesce(_optionalChain([historyTrailingAssistant, 'access', _719 => _719.content, 'access', _720 => _720.find, 'call', _721 => _721((s) => s.type === "approval_batch"), 'optionalAccess', _722 => _722.data, 'optionalAccess', _723 => _723.approvalRequestId]), () => ( null)) : null;
22235
22126
  let processedToUse = processedHistory;
22236
22127
  const pinnedSyntheticIds = /* @__PURE__ */ new Set();
22237
22128
  const droppedSyntheticIds = /* @__PURE__ */ new Set();
22238
22129
  if (historyBatchId) {
22239
22130
  const batchTwins = existingMessages.filter(
22240
- (m) => m.role === "assistant" && Array.isArray(m.content) && m.content.some((s) => s.type === "approval_batch" && _optionalChain([s, 'access', _732 => _732.data, 'optionalAccess', _733 => _733.approvalRequestId]) === historyBatchId)
22131
+ (m) => m.role === "assistant" && Array.isArray(m.content) && m.content.some((s) => s.type === "approval_batch" && _optionalChain([s, 'access', _724 => _724.data, 'optionalAccess', _725 => _725.approvalRequestId]) === historyBatchId)
22241
22132
  );
22242
22133
  const existingWithSameBatch = _nullishCoalesce(batchTwins.find((m) => m.id === streamingMessageId), () => ( batchTwins[batchTwins.length - 1]));
22243
22134
  if (existingWithSameBatch && Array.isArray(existingWithSameBatch.content)) {
22244
- const histSize = Array.isArray(_optionalChain([historyTrailingAssistant, 'optionalAccess', _734 => _734.content])) ? historyTrailingAssistant.content.length : 0;
22135
+ const histSize = Array.isArray(_optionalChain([historyTrailingAssistant, 'optionalAccess', _726 => _726.content])) ? historyTrailingAssistant.content.length : 0;
22245
22136
  const realtimeSize = existingWithSameBatch.content.length;
22246
22137
  if (existingWithSameBatch.id === streamingMessageId || realtimeSize > histSize) {
22247
22138
  processedToUse = processedHistory.slice(0, -1);
@@ -22283,9 +22174,9 @@ function mergeHistoryWithRealtime(input) {
22283
22174
  if (pinnedSyntheticIds.has(m.id)) return true;
22284
22175
  if (droppedSyntheticIds.has(m.id)) return false;
22285
22176
  if (processedIds.has(m.id)) return false;
22286
- if (_optionalChain([rawHistoryIds, 'optionalAccess', _735 => _735.has, 'call', _736 => _736(m.id)])) return false;
22177
+ if (_optionalChain([rawHistoryIds, 'optionalAccess', _727 => _727.has, 'call', _728 => _728(m.id)])) return false;
22287
22178
  if (m.role === "user" && m.id.startsWith("optimistic-") && typeof m.content === "string") {
22288
- const canBeInSnapshot = (_nullishCoalesce(_optionalChain([m, 'access', _737 => _737.timestamp, 'optionalAccess', _738 => _738.getTime, 'call', _739 => _739()]), () => ( 0))) <= historyFetchedAt;
22179
+ const canBeInSnapshot = (_nullishCoalesce(_optionalChain([m, 'access', _729 => _729.timestamp, 'optionalAccess', _730 => _730.getTime, 'call', _731 => _731()]), () => ( 0))) <= historyFetchedAt;
22289
22180
  return !(canBeInSnapshot && processedToUse.some((pm) => pm.role === "user" && pm.content === m.content));
22290
22181
  }
22291
22182
  if (isSyntheticRealtimeId(m.id) && m.id !== streamingMessageId) {
@@ -22309,7 +22200,7 @@ function mergeHistoryWithRealtime(input) {
22309
22200
  } else if (typeof m.streamSeq === "number") {
22310
22201
  covered = historyMaxStreamSeq > 0 && historyMaxStreamSeq >= m.streamSeq;
22311
22202
  } else {
22312
- covered = historyCoversRealtime !== null ? historyCoversRealtime : (_nullishCoalesce(_optionalChain([m, 'access', _740 => _740.timestamp, 'optionalAccess', _741 => _741.getTime, 'call', _742 => _742()]), () => ( 0))) <= historyFetchedAt;
22203
+ covered = historyCoversRealtime !== null ? historyCoversRealtime : (_nullishCoalesce(_optionalChain([m, 'access', _732 => _732.timestamp, 'optionalAccess', _733 => _733.getTime, 'call', _734 => _734()]), () => ( 0))) <= historyFetchedAt;
22313
22204
  }
22314
22205
  if (covered) return false;
22315
22206
  }
@@ -22379,7 +22270,7 @@ function normalizeHistoricalMessageData(md) {
22379
22270
  function isHistoricalUserTurn(m) {
22380
22271
  return !!m.owner;
22381
22272
  }
22382
- var isTextSegment = (d) => _optionalChain([d, 'optionalAccess', _743 => _743.type]) === "TEXT" && typeof d.text === "string";
22273
+ var isTextSegment = (d) => _optionalChain([d, 'optionalAccess', _735 => _735.type]) === "TEXT" && typeof d.text === "string";
22383
22274
  var THINK_MS = 550;
22384
22275
  var TOKEN_MS = 55;
22385
22276
  var USER_MS = 480;
@@ -22564,7 +22455,7 @@ function useResizableSize({ enabled, isHorizontal, minSize, maxSize, defaultSize
22564
22455
  const parsed = parseFloat(raw);
22565
22456
  if (!Number.isFinite(parsed)) return clampToViewport(defaultSize);
22566
22457
  return clampToViewport(parsed);
22567
- } catch (e64) {
22458
+ } catch (e61) {
22568
22459
  return clampToViewport(defaultSize);
22569
22460
  }
22570
22461
  }, [enabled, storageKey, defaultSize, clampToViewport]);
@@ -22574,7 +22465,7 @@ function useResizableSize({ enabled, isHorizontal, minSize, maxSize, defaultSize
22574
22465
  if (!enabled || !storageKey || typeof window === "undefined") return;
22575
22466
  try {
22576
22467
  window.localStorage.setItem(storageKey, String(Math.round(size2)));
22577
- } catch (e65) {
22468
+ } catch (e62) {
22578
22469
  }
22579
22470
  }, [enabled, size2, storageKey]);
22580
22471
  _react.useEffect.call(void 0, () => {
@@ -22608,7 +22499,7 @@ function DrawerResizeHandle({ side, size: size2, minSize, maxSize, onSize, ariaL
22608
22499
  startRef.current = null;
22609
22500
  try {
22610
22501
  e.currentTarget.releasePointerCapture(e.pointerId);
22611
- } catch (e66) {
22502
+ } catch (e63) {
22612
22503
  }
22613
22504
  document.body.style.cursor = "";
22614
22505
  document.body.style.userSelect = "";
@@ -23003,7 +22894,7 @@ function useChatDialogManager({
23003
22894
  const handleConfirmRestore = _react.useCallback.call(void 0, async () => {
23004
22895
  if (restoreTarget) {
23005
22896
  try {
23006
- await _optionalChain([unarchiveDialog, 'optionalCall', _744 => _744(restoreTarget.id)]);
22897
+ await _optionalChain([unarchiveDialog, 'optionalCall', _736 => _736(restoreTarget.id)]);
23007
22898
  } catch (err) {
23008
22899
  console.error("[useChatDialogManager] unarchive failed:", err);
23009
22900
  return;
@@ -23483,7 +23374,7 @@ function EmbeddableChatInner({
23483
23374
  }),
23484
23375
  [commandsUrl]
23485
23376
  );
23486
- const headerUserName = _optionalChain([identityUser, 'optionalAccess', _745 => _745.name, 'optionalAccess', _746 => _746.trim, 'call', _747 => _747()]) || [_optionalChain([identityUser, 'optionalAccess', _748 => _748.firstName]), _optionalChain([identityUser, 'optionalAccess', _749 => _749.lastName])].filter(Boolean).join(" ").trim() || _optionalChain([userDisplayName, 'optionalAccess', _750 => _750.trim, 'call', _751 => _751()]) || void 0;
23377
+ const headerUserName = _optionalChain([identityUser, 'optionalAccess', _737 => _737.name, 'optionalAccess', _738 => _738.trim, 'call', _739 => _739()]) || [_optionalChain([identityUser, 'optionalAccess', _740 => _740.firstName]), _optionalChain([identityUser, 'optionalAccess', _741 => _741.lastName])].filter(Boolean).join(" ").trim() || _optionalChain([userDisplayName, 'optionalAccess', _742 => _742.trim, 'call', _743 => _743()]) || void 0;
23487
23378
  const effectiveModes = _react.useMemo.call(void 0, () => {
23488
23379
  if (modes) return modes;
23489
23380
  const guideOptions = tableIdForDocumentType ? { tableIdForDocumentType } : {};
@@ -23492,20 +23383,20 @@ function EmbeddableChatInner({
23492
23383
  const mingoCaps = _react.useMemo.call(void 0, () => {
23493
23384
  if (mingoState) {
23494
23385
  return {
23495
- canRename: _nullishCoalesce(_optionalChain([mingoDialogCapabilities, 'optionalAccess', _752 => _752.canRename]), () => ( false)),
23496
- canArchive: _nullishCoalesce(_optionalChain([mingoDialogCapabilities, 'optionalAccess', _753 => _753.canArchive]), () => ( false)),
23497
- fetchArchivedDialogs: _optionalChain([mingoDialogCapabilities, 'optionalAccess', _754 => _754.fetchArchivedDialogs]),
23498
- unarchiveDialog: _optionalChain([mingoDialogCapabilities, 'optionalAccess', _755 => _755.unarchiveDialog]),
23499
- searchQuery: _optionalChain([mingoDialogCapabilities, 'optionalAccess', _756 => _756.searchQuery]),
23500
- onSearchChange: _optionalChain([mingoDialogCapabilities, 'optionalAccess', _757 => _757.onSearchChange]),
23501
- onCopyLink: _optionalChain([mingoDialogCapabilities, 'optionalAccess', _758 => _758.onCopyLink])
23386
+ canRename: _nullishCoalesce(_optionalChain([mingoDialogCapabilities, 'optionalAccess', _744 => _744.canRename]), () => ( false)),
23387
+ canArchive: _nullishCoalesce(_optionalChain([mingoDialogCapabilities, 'optionalAccess', _745 => _745.canArchive]), () => ( false)),
23388
+ fetchArchivedDialogs: _optionalChain([mingoDialogCapabilities, 'optionalAccess', _746 => _746.fetchArchivedDialogs]),
23389
+ unarchiveDialog: _optionalChain([mingoDialogCapabilities, 'optionalAccess', _747 => _747.unarchiveDialog]),
23390
+ searchQuery: _optionalChain([mingoDialogCapabilities, 'optionalAccess', _748 => _748.searchQuery]),
23391
+ onSearchChange: _optionalChain([mingoDialogCapabilities, 'optionalAccess', _749 => _749.onSearchChange]),
23392
+ onCopyLink: _optionalChain([mingoDialogCapabilities, 'optionalAccess', _750 => _750.onCopyLink])
23502
23393
  };
23503
23394
  }
23504
23395
  return {
23505
- canRename: !!_optionalChain([effectiveModes, 'access', _759 => _759.mingo, 'optionalAccess', _760 => _760.renameDialog]),
23506
- canArchive: !!_optionalChain([effectiveModes, 'access', _761 => _761.mingo, 'optionalAccess', _762 => _762.archiveDialog]),
23507
- fetchArchivedDialogs: _optionalChain([effectiveModes, 'access', _763 => _763.mingo, 'optionalAccess', _764 => _764.fetchArchivedDialogs]),
23508
- unarchiveDialog: _optionalChain([effectiveModes, 'access', _765 => _765.mingo, 'optionalAccess', _766 => _766.unarchiveDialog]),
23396
+ canRename: !!_optionalChain([effectiveModes, 'access', _751 => _751.mingo, 'optionalAccess', _752 => _752.renameDialog]),
23397
+ canArchive: !!_optionalChain([effectiveModes, 'access', _753 => _753.mingo, 'optionalAccess', _754 => _754.archiveDialog]),
23398
+ fetchArchivedDialogs: _optionalChain([effectiveModes, 'access', _755 => _755.mingo, 'optionalAccess', _756 => _756.fetchArchivedDialogs]),
23399
+ unarchiveDialog: _optionalChain([effectiveModes, 'access', _757 => _757.mingo, 'optionalAccess', _758 => _758.unarchiveDialog]),
23509
23400
  searchQuery: void 0,
23510
23401
  onSearchChange: void 0,
23511
23402
  onCopyLink: void 0
@@ -23520,7 +23411,7 @@ function EmbeddableChatInner({
23520
23411
  if (controlledActiveMode === void 0) {
23521
23412
  setUncontrolledActiveMode(next);
23522
23413
  }
23523
- _optionalChain([onActiveModeChange, 'optionalCall', _767 => _767(next)]);
23414
+ _optionalChain([onActiveModeChange, 'optionalCall', _759 => _759(next)]);
23524
23415
  },
23525
23416
  [controlledActiveMode, onActiveModeChange]
23526
23417
  );
@@ -23547,7 +23438,7 @@ function EmbeddableChatInner({
23547
23438
  );
23548
23439
  const effectiveAssistantName = emptyStateConfig.name;
23549
23440
  const effectiveAssistantIcon = emptyStateConfig.icon;
23550
- const headerAssistantName = _nullishCoalesce(effectiveAssistantName, () => ( (typeof _optionalChain([guideWelcome, 'optionalAccess', _768 => _768.title]) === "string" ? guideWelcome.title : null)));
23441
+ const headerAssistantName = _nullishCoalesce(effectiveAssistantName, () => ( (typeof _optionalChain([guideWelcome, 'optionalAccess', _760 => _760.title]) === "string" ? guideWelcome.title : null)));
23551
23442
  const {
23552
23443
  messages: rawMessages,
23553
23444
  isLoading: chatLoading,
@@ -23591,7 +23482,7 @@ function EmbeddableChatInner({
23591
23482
  void sendMessage(guidePendingPrompt).catch((err) => {
23592
23483
  console.error("[EmbeddableChat] guide launcher prompt failed:", err);
23593
23484
  });
23594
- _optionalChain([onGuidePromptConsumed, 'optionalCall', _769 => _769()]);
23485
+ _optionalChain([onGuidePromptConsumed, 'optionalCall', _761 => _761()]);
23595
23486
  }, [guidePendingPrompt, activeMode, sendMessage, onGuidePromptConsumed]);
23596
23487
  const {
23597
23488
  attachments: stagedAttachments,
@@ -23602,7 +23493,7 @@ function EmbeddableChatInner({
23602
23493
  clear: clearAttachments
23603
23494
  } = useChatAttachments();
23604
23495
  const { panelRef: galleryPanelRef, modal: galleryModal } = useChatAttachmentImageGallery();
23605
- const contextMaxItems = _nullishCoalesce(_optionalChain([contextPicker, 'optionalAccess', _770 => _770.maxItems]), () => ( 10));
23496
+ const contextMaxItems = _nullishCoalesce(_optionalChain([contextPicker, 'optionalAccess', _762 => _762.maxItems]), () => ( 10));
23606
23497
  const contextPickerForMode = activeMode === "mingo" ? contextPicker : void 0;
23607
23498
  const [contextItems, setContextItems] = _react.useState.call(void 0, NO_CONTEXT_ITEMS);
23608
23499
  const [contextPickerOpen, setContextPickerOpen] = _react.useState.call(void 0, false);
@@ -23623,10 +23514,10 @@ function EmbeddableChatInner({
23623
23514
  }, [activeDialogId, activeMode]);
23624
23515
  const mentionMarkerByType = _react.useMemo.call(void 0, () => {
23625
23516
  const m = /* @__PURE__ */ new Map();
23626
- for (const t of _nullishCoalesce(_optionalChain([contextPicker, 'optionalAccess', _771 => _771.entityTypes]), () => ( []))) if (t.marker) m.set(t.type, t.marker);
23517
+ for (const t of _nullishCoalesce(_optionalChain([contextPicker, 'optionalAccess', _763 => _763.entityTypes]), () => ( []))) if (t.marker) m.set(t.type, t.marker);
23627
23518
  return m;
23628
- }, [_optionalChain([contextPicker, 'optionalAccess', _772 => _772.entityTypes])]);
23629
- const contextEntityTypes = _optionalChain([contextPicker, 'optionalAccess', _773 => _773.entityTypes]);
23519
+ }, [_optionalChain([contextPicker, 'optionalAccess', _764 => _764.entityTypes])]);
23520
+ const contextEntityTypes = _optionalChain([contextPicker, 'optionalAccess', _765 => _765.entityTypes]);
23630
23521
  const resolveContextIcon = _react.useMemo.call(void 0, () => {
23631
23522
  const byType = /* @__PURE__ */ new Map();
23632
23523
  for (const t of _nullishCoalesce(contextEntityTypes, () => ( []))) byType.set(t.type, t.icon);
@@ -23638,7 +23529,7 @@ function EmbeddableChatInner({
23638
23529
  if (mentionActiveRef.current) {
23639
23530
  if (contextItems.some((p) => `${p.type}:${p.id}` === key)) return;
23640
23531
  if (contextItems.length >= contextMaxItems) return;
23641
- _optionalChain([chatInputRef, 'access', _774 => _774.current, 'optionalAccess', _775 => _775.commitMention, 'call', _776 => _776(mentionTokenOf(key, mentionMarkerByType), {
23532
+ _optionalChain([chatInputRef, 'access', _766 => _766.current, 'optionalAccess', _767 => _767.commitMention, 'call', _768 => _768(mentionTokenOf(key, mentionMarkerByType), {
23642
23533
  label: item.label,
23643
23534
  icon: resolveContextIcon(item)
23644
23535
  })]);
@@ -23661,9 +23552,9 @@ function EmbeddableChatInner({
23661
23552
  setContextItems((prev) => prev.filter((p) => `${p.type}:${p.id}` !== key));
23662
23553
  if (mentionKeysRef.current.has(key)) {
23663
23554
  mentionKeysRef.current.delete(key);
23664
- const cur = _nullishCoalesce(_optionalChain([chatInputRef, 'access', _777 => _777.current, 'optionalAccess', _778 => _778.getValue, 'call', _779 => _779()]), () => ( ""));
23555
+ const cur = _nullishCoalesce(_optionalChain([chatInputRef, 'access', _769 => _769.current, 'optionalAccess', _770 => _770.getValue, 'call', _771 => _771()]), () => ( ""));
23665
23556
  const next = cur.replace(`@${mentionTokenOf(key, mentionMarkerByType)}`, "").replace(/\s{2,}/g, " ").trimStart();
23666
- _optionalChain([chatInputRef, 'access', _780 => _780.current, 'optionalAccess', _781 => _781.setValue, 'call', _782 => _782(next)]);
23557
+ _optionalChain([chatInputRef, 'access', _772 => _772.current, 'optionalAccess', _773 => _773.setValue, 'call', _774 => _774(next)]);
23667
23558
  }
23668
23559
  },
23669
23560
  [mentionMarkerByType]
@@ -23685,7 +23576,7 @@ function EmbeddableChatInner({
23685
23576
  }, []);
23686
23577
  const closeContextPicker = _react.useCallback.call(void 0, () => {
23687
23578
  if (mentionActiveRef.current) {
23688
- _optionalChain([chatInputRef, 'access', _783 => _783.current, 'optionalAccess', _784 => _784.removeMentionTrigger, 'call', _785 => _785()]);
23579
+ _optionalChain([chatInputRef, 'access', _775 => _775.current, 'optionalAccess', _776 => _776.removeMentionTrigger, 'call', _777 => _777()]);
23689
23580
  }
23690
23581
  setContextPickerOpen(false);
23691
23582
  setMentionQuery(null);
@@ -23719,8 +23610,8 @@ function EmbeddableChatInner({
23719
23610
  [effectiveAssistantIcon]
23720
23611
  );
23721
23612
  const [timestampCache] = _react.useState.call(void 0, () => /* @__PURE__ */ new Map());
23722
- const guideUserName = activeMode === "guide" ? [_optionalChain([identityUser, 'optionalAccess', _786 => _786.firstName]), _optionalChain([identityUser, 'optionalAccess', _787 => _787.lastName])].filter(Boolean).join(" ").trim() || _optionalChain([identityUser, 'optionalAccess', _788 => _788.name, 'optionalAccess', _789 => _789.trim, 'call', _790 => _790()]) || void 0 : void 0;
23723
- const guideUserAvatar = activeMode === "guide" ? _optionalChain([identityUser, 'optionalAccess', _791 => _791.avatarUrl, 'optionalAccess', _792 => _792.trim, 'call', _793 => _793()]) || void 0 : void 0;
23613
+ const guideUserName = activeMode === "guide" ? [_optionalChain([identityUser, 'optionalAccess', _778 => _778.firstName]), _optionalChain([identityUser, 'optionalAccess', _779 => _779.lastName])].filter(Boolean).join(" ").trim() || _optionalChain([identityUser, 'optionalAccess', _780 => _780.name, 'optionalAccess', _781 => _781.trim, 'call', _782 => _782()]) || void 0 : void 0;
23614
+ const guideUserAvatar = activeMode === "guide" ? _optionalChain([identityUser, 'optionalAccess', _783 => _783.avatarUrl, 'optionalAccess', _784 => _784.trim, 'call', _785 => _785()]) || void 0 : void 0;
23724
23615
  const messages = _react.useMemo.call(void 0, () => {
23725
23616
  const cache = timestampCache;
23726
23617
  const seenIds = /* @__PURE__ */ new Set();
@@ -23909,9 +23800,9 @@ function EmbeddableChatInner({
23909
23800
  const lastAssistantMsg = [...rawMessages].reverse().find((m) => m.role === "assistant");
23910
23801
  const lastSources = _react.useMemo.call(void 0, () => {
23911
23802
  if (chatLoading) return void 0;
23912
- const sources = _optionalChain([lastAssistantMsg, 'optionalAccess', _794 => _794.sources]);
23803
+ const sources = _optionalChain([lastAssistantMsg, 'optionalAccess', _786 => _786.sources]);
23913
23804
  if (!sources || sources.length === 0) return void 0;
23914
- const content = _optionalChain([lastAssistantMsg, 'optionalAccess', _795 => _795.content]) || "";
23805
+ const content = _optionalChain([lastAssistantMsg, 'optionalAccess', _787 => _787.content]) || "";
23915
23806
  const citationOrder = [...content.matchAll(/\[(\d+)\]/g)].map((m) => parseInt(m[1], 10));
23916
23807
  const seenOrder = /* @__PURE__ */ new Map();
23917
23808
  citationOrder.forEach((idx) => {
@@ -23929,7 +23820,7 @@ function EmbeddableChatInner({
23929
23820
  const el = panelMeasureRef.current;
23930
23821
  if (!el || typeof ResizeObserver === "undefined") return void 0;
23931
23822
  const ro = new ResizeObserver((entries) => {
23932
- const w = _optionalChain([entries, 'access', _796 => _796[0], 'optionalAccess', _797 => _797.contentRect, 'optionalAccess', _798 => _798.width]);
23823
+ const w = _optionalChain([entries, 'access', _788 => _788[0], 'optionalAccess', _789 => _789.contentRect, 'optionalAccess', _790 => _790.width]);
23933
23824
  if (typeof w === "number") setPanelWidth(w);
23934
23825
  });
23935
23826
  ro.observe(el);
@@ -23947,7 +23838,7 @@ function EmbeddableChatInner({
23947
23838
  setRailStorageRead(true);
23948
23839
  try {
23949
23840
  if (window.localStorage.getItem(RAIL_COLLAPSED_STORAGE_KEY) === "1") setRailCollapsed(true);
23950
- } catch (e67) {
23841
+ } catch (e64) {
23951
23842
  }
23952
23843
  }
23953
23844
  const toggleRailCollapsed = _react.useCallback.call(void 0, () => {
@@ -23955,7 +23846,7 @@ function EmbeddableChatInner({
23955
23846
  const next = !prev;
23956
23847
  try {
23957
23848
  window.localStorage.setItem(RAIL_COLLAPSED_STORAGE_KEY, next ? "1" : "0");
23958
- } catch (e68) {
23849
+ } catch (e65) {
23959
23850
  }
23960
23851
  return next;
23961
23852
  });
@@ -23972,17 +23863,17 @@ function EmbeddableChatInner({
23972
23863
  const isMingoMode = activeMode === "mingo";
23973
23864
  const stackedListView = isMingoMode && !hasConversation && !archiveOpen && !wideMingo && !composeOpen;
23974
23865
  const headerShowBack = hasConversation || guideCanReturnToMingo;
23975
- const headerTitle = hasConversation ? _optionalChain([activeDialog, 'optionalAccess', _799 => _799.title]) || "New Chat" : isGuideEmpty ? _nullishCoalesce(headerAssistantName, () => ( "Mingo Guide")) : "Current Chats";
23866
+ const headerTitle = hasConversation ? _optionalChain([activeDialog, 'optionalAccess', _791 => _791.title]) || "New Chat" : isGuideEmpty ? _nullishCoalesce(headerAssistantName, () => ( "Mingo Guide")) : "Current Chats";
23976
23867
  const headerBackAriaLabel = hasConversation ? isViewingArchived ? "Back to archive" : "Back" : "Back to Mingo";
23977
23868
  const headerOnBack = hasConversation ? handleBack : () => handleActiveModeChange("mingo");
23978
23869
  const headerOnRestore = isViewingArchived && unarchiveDialog && activeDialog ? () => setRestoreTarget(activeDialog) : void 0;
23979
23870
  const headerOnRename = activeDialogId && activeDialog && mingoCaps.canRename ? () => setRenameTarget(activeDialog) : void 0;
23980
23871
  const headerOnArchive = activeDialogId && activeDialog && mingoCaps.canArchive ? () => setArchiveTarget(activeDialog) : void 0;
23981
- const headerOnCopyLink = activeDialogId && activeDialog && mingoCaps.onCopyLink ? () => _optionalChain([mingoCaps, 'access', _800 => _800.onCopyLink, 'optionalCall', _801 => _801(activeDialog)]) : void 0;
23872
+ const headerOnCopyLink = activeDialogId && activeDialog && mingoCaps.onCopyLink ? () => _optionalChain([mingoCaps, 'access', _792 => _792.onCopyLink, 'optionalCall', _793 => _793(activeDialog)]) : void 0;
23982
23873
  const headerOnOpenArchive = fetchArchivedDialogs ? openArchive : void 0;
23983
- const headerOwner = hasConversation ? _optionalChain([activeDialog, 'optionalAccess', _802 => _802.owner]) : void 0;
23984
- const headerPersonName = _optionalChain([headerOwner, 'optionalAccess', _803 => _803.name, 'optionalAccess', _804 => _804.trim, 'call', _805 => _805()]) || headerUserName;
23985
- const headerPersonAvatarUrl = headerOwner ? _optionalChain([headerOwner, 'access', _806 => _806.avatarUrl, 'optionalAccess', _807 => _807.trim, 'call', _808 => _808()]) || void 0 : _optionalChain([identityUser, 'optionalAccess', _809 => _809.avatarUrl, 'optionalAccess', _810 => _810.trim, 'call', _811 => _811()]) || _optionalChain([userAvatarUrl, 'optionalAccess', _812 => _812.trim, 'call', _813 => _813()]) || void 0;
23874
+ const headerOwner = hasConversation ? _optionalChain([activeDialog, 'optionalAccess', _794 => _794.owner]) : void 0;
23875
+ const headerPersonName = _optionalChain([headerOwner, 'optionalAccess', _795 => _795.name, 'optionalAccess', _796 => _796.trim, 'call', _797 => _797()]) || headerUserName;
23876
+ const headerPersonAvatarUrl = headerOwner ? _optionalChain([headerOwner, 'access', _798 => _798.avatarUrl, 'optionalAccess', _799 => _799.trim, 'call', _800 => _800()]) || void 0 : _optionalChain([identityUser, 'optionalAccess', _801 => _801.avatarUrl, 'optionalAccess', _802 => _802.trim, 'call', _803 => _803()]) || _optionalChain([userAvatarUrl, 'optionalAccess', _804 => _804.trim, 'call', _805 => _805()]) || void 0;
23986
23877
  const headerAvatar = headerPersonName || headerPersonAvatarUrl ? { name: headerPersonName, avatarUrl: headerPersonAvatarUrl } : void 0;
23987
23878
  const handleNewChat = _react.useCallback.call(void 0, () => {
23988
23879
  resetToNewChat();
@@ -24312,9 +24203,9 @@ function EmbeddableChatInner({
24312
24203
  subtitle: _nullishCoalesce(effectiveGreeting, () => ( void 0)),
24313
24204
  subtitleLoading: emptyStateLoading,
24314
24205
  ...guideWelcome,
24315
- title: _nullishCoalesce(effectiveAssistantName, () => ( _optionalChain([guideWelcome, 'optionalAccess', _814 => _814.title]))),
24316
- icon: _nullishCoalesce(effectiveAssistantIcon, () => ( _optionalChain([guideWelcome, 'optionalAccess', _815 => _815.icon]))),
24317
- quickActions: agentConfigUrl && guideSuggestedActions.length > 0 ? guideSuggestedActions : _nullishCoalesce(_optionalChain([guideWelcome, 'optionalAccess', _816 => _816.quickActions]), () => ( guideSuggestedActions)),
24206
+ title: _nullishCoalesce(effectiveAssistantName, () => ( _optionalChain([guideWelcome, 'optionalAccess', _806 => _806.title]))),
24207
+ icon: _nullishCoalesce(effectiveAssistantIcon, () => ( _optionalChain([guideWelcome, 'optionalAccess', _807 => _807.icon]))),
24208
+ quickActions: agentConfigUrl && guideSuggestedActions.length > 0 ? guideSuggestedActions : _nullishCoalesce(_optionalChain([guideWelcome, 'optionalAccess', _808 => _808.quickActions]), () => ( guideSuggestedActions)),
24318
24209
  onQuickAction: (action) => {
24319
24210
  setQuickActionPreview(null);
24320
24211
  handleSend(_nullishCoalesce(action.prompt, () => ( action.label)));
@@ -24388,8 +24279,8 @@ function EmbeddableChatInner({
24388
24279
  selectedContextItems: contextItems,
24389
24280
  onToggleContextItem: toggleContextItem,
24390
24281
  onRemoveContextItem: removeContextItem,
24391
- contextMemoryItems: _optionalChain([contextMemory, 'optionalAccess', _817 => _817.items]),
24392
- onRemoveContextMemoryItem: _optionalChain([contextMemory, 'optionalAccess', _818 => _818.onRemove]),
24282
+ contextMemoryItems: _optionalChain([contextMemory, 'optionalAccess', _809 => _809.items]),
24283
+ onRemoveContextMemoryItem: _optionalChain([contextMemory, 'optionalAccess', _810 => _810.onRemove]),
24393
24284
  contextPickerOpen,
24394
24285
  onOpenContextPicker: openContextPicker,
24395
24286
  onCloseContextPicker: closeContextPicker,
@@ -24846,6 +24737,5 @@ function EmbeddableChatInner({
24846
24737
 
24847
24738
 
24848
24739
 
24849
-
24850
- exports.FloatingTooltip = FloatingTooltip; exports.tagVariants = tagVariants; exports.Tag = Tag; exports.formatTicketRelativeTime = formatTicketRelativeTime; exports.formatTicketFullTimestamp = formatTicketFullTimestamp; exports.formatRelativeTime = formatRelativeTime; exports.formatAbsoluteDate = formatAbsoluteDate; exports.formatDateTime = formatDateTime; exports.getDetailedTimeDifference = getDetailedTimeDifference; exports.isToday = isToday; exports.isWithinMinutes = isWithinMinutes; exports.createUTCTimestamp = createUTCTimestamp; exports.DESIGN_PALETTE = DESIGN_PALETTE; exports.getContrastRatio = getContrastRatio; exports.pickReadableTextColor = pickReadableTextColor; exports.extractDominantColor = extractDominantColor; exports.getBestContrastColor = getBestContrastColor; exports.analyzeImageColor = analyzeImageColor; exports.extractImageEdgeColorAsync = extractImageEdgeColorAsync; exports.getPlatformAccentColor = getPlatformAccentColor; exports.getCurrentPlatform = getCurrentPlatform; exports.getReadableTextColor = getReadableTextColor; exports.HEX_PATTERN = HEX_PATTERN; exports.hexToRgb = hexToRgb2; exports.rgbToHex = rgbToHex; exports.deriveHoverColor = deriveHoverColor; exports.deriveActiveColor = deriveActiveColor; exports.rgbToHsl = rgbToHsl; exports.hslToRgb = hslToRgb; exports.ActionsMenu = ActionsMenu; exports.ActionsMenuDropdown = ActionsMenuDropdown; exports.ColorSwatch = ColorSwatch; exports.TooltipProvider = TooltipProvider; exports.Tooltip = Tooltip; exports.TooltipTrigger = TooltipTrigger; exports.TooltipContent = TooltipContent; exports.resolveTicketStatus = resolveTicketStatus; exports.getTicketStatusConfig = getTicketStatusConfig; exports.getTicketStatusTag = getTicketStatusTag; exports.kindToCanonicalStatus = kindToCanonicalStatus; exports.usesCanonicalStatusStyle = usesCanonicalStatusStyle; exports.resolveStatusTagProps = resolveStatusTagProps; exports.TicketStatusTag = TicketStatusTag; exports.useScrollFade = useScrollFade; exports.ScrollFadeOverlay = ScrollFadeOverlay; exports.ScrollShadow = ScrollShadow; exports.Modal = Modal; exports.ModalContent = ModalContent; exports.ModalTwoColumn = ModalTwoColumn; exports.ModalHeader = ModalHeader; exports.ModalTitle = ModalTitle; exports.ModalFooter = ModalFooter; exports.OVERLAY_BACKDROP_CLASS = OVERLAY_BACKDROP_CLASS; exports.Drawer = Drawer; exports.DrawerTrigger = DrawerTrigger; exports.DrawerClose = DrawerClose; exports.DrawerPortal = DrawerPortal; exports.DrawerOverlay = DrawerOverlay; exports.DrawerContent = DrawerContent; exports.DrawerHeader = DrawerHeader; exports.DrawerTitle = DrawerTitle; exports.DrawerDescription = DrawerDescription; exports.DrawerBody = DrawerBody; exports.DrawerFooter = DrawerFooter; exports.Tabs = Tabs; exports.TabsList = TabsList; exports.TabsTrigger = TabsTrigger; exports.TabsContent = TabsContent; exports.stripInlineMarkdown = stripInlineMarkdown; exports.markdownToPlainText = markdownToPlainText; exports.buildHeadingIdMap = buildHeadingIdMap; exports.useHeadingIdMap = useHeadingIdMap; exports.extractText = extractText; exports.useIsHydrated = useIsHydrated; exports.MermaidDiagram = MermaidDiagram; exports.hasRenderableSrc = hasRenderableSrc; exports.buildStandardLeafRenderers = buildStandardLeafRenderers; exports.SAFE_HTML_TAGS = SAFE_HTML_TAGS; exports.SVG_TAGS = SVG_TAGS; exports.buildEffectiveTagSet = buildEffectiveTagSet; exports.buildSanitizeSchema = buildSanitizeSchema; exports.rehypeStripUnsafe = rehypeStripUnsafe; exports.escapeUnknownHtmlTags = escapeUnknownHtmlTags; exports.cardAwareUrlTransform = cardAwareUrlTransform; exports.splitStreamingBlocks = splitStreamingBlocks; exports.completeStreamingTail = completeStreamingTail; exports.TEXT_SIZE_PRESETS = TEXT_SIZE_PRESETS; exports.resolveTextSizeConfig = resolveTextSizeConfig; exports.NO_BROKEN_LINKS = NO_BROKEN_LINKS; exports.MarkdownEngine = MarkdownEngine; exports.SimpleMarkdownRenderer = SimpleMarkdownRenderer; exports.fetchPriorityProp = fetchPriorityProp; exports.MUX_STREAM_ORIGIN = MUX_STREAM_ORIGIN; exports.MUX_IMAGE_ORIGIN = MUX_IMAGE_ORIGIN; exports.saveDataEnabled = saveDataEnabled; exports.useVideoOriginPreconnect = useVideoOriginPreconnect; exports.useVideoWarmup = useVideoWarmup; exports.VideoPlayBadge = VideoPlayBadge; exports.VideoUnmuteGlyph = VideoUnmuteGlyph; exports.extractYouTubeId = extractYouTubeId; exports.VIDEO_PLAYBACK_FAILED_EVENT = VIDEO_PLAYBACK_FAILED_EVENT; exports.Video = Video2; exports.HoverDropdown = HoverDropdown; exports.ExpandChevron = ExpandChevron; exports.useCollapsible = useCollapsible; exports.getCommandText = getCommandText; exports.ArgRow = ArgRow; exports.ResultBlock = ResultBlock; exports.CommandBlock = CommandBlock; exports.ApprovalStatusTag = ApprovalStatusTag; exports.ApprovalBatchMessage = ApprovalBatchMessage; exports.ApprovalRequestMessage = ApprovalRequestMessage; exports.EscalationOfferMessage = EscalationOfferMessage; exports.formatTime = formatTime; exports.AiAssistantInfo = AiAssistantInfo; exports.TicketEscalatedMessage = TicketEscalatedMessage; exports.MESSAGE_TYPE = MESSAGE_TYPE; exports.SCROLL_ANCHOR = SCROLL_ANCHOR; exports.TICKET_EVENT_KIND = TICKET_EVENT_KIND; exports.TicketEventMessage = TicketEventMessage; exports.ContextCompactionDisplay = ContextCompactionDisplay; exports.ThinkingDisplay = ThinkingDisplay; exports.AskDisplay = AskDisplay; exports.ErrorMessageDisplay = ErrorMessageDisplay; exports.MspOrganizationCard = MspOrganizationCard; exports.MspOrganizationCardSkeleton = MspOrganizationCardSkeleton; exports.ChatContainer = ChatContainer; exports.ChatHeader = ChatHeader; exports.ChatContent = ChatContent; exports.ChatFooter = ChatFooter; exports.ChatTypingIndicator = ChatTypingIndicator; exports.MingoOnboardingCard = MingoOnboardingCard; exports.ICON_REGISTRY = ICON_REGISTRY; exports.normalizeIconKey = normalizeIconKey; exports.getIconComponent = getIconComponent; exports.getDynamicIcon = getDynamicIcon; exports.ICON_ALIASES = ICON_ALIASES; exports.resolveIcon = resolveIcon; exports.ICON_OPTIONS = ICON_OPTIONS; exports.SlashCommandSuggestions = SlashCommandSuggestions; exports.ChatInput = ChatInput; exports.CONTEXT_ROW_CLASS = CONTEXT_ROW_CLASS; exports.CONTEXT_ICON_CLASS = CONTEXT_ICON_CLASS; exports.CONTEXT_LABEL_CLASS = CONTEXT_LABEL_CLASS; exports.CONTEXT_BACK_CLASS = CONTEXT_BACK_CLASS; exports.CONTEXT_STATE_CLASS = CONTEXT_STATE_CLASS; exports.ContextMenuRow = ContextMenuRow; exports.ContextItemsSkeleton = ContextItemsSkeleton; exports.ContextItemsList = ContextItemsList; exports.ContextErrorBoundary = ContextErrorBoundary; exports.CHAT_CONTEXT_ITEMS_DEFAULT_MAX = CHAT_CONTEXT_ITEMS_DEFAULT_MAX; exports.ChatComposerPlusMenu = ChatComposerPlusMenu; exports.ChatContextPicker = ChatContextPicker; exports.ChatContextChipStrip = ChatContextChipStrip; exports.BlockCard = BlockCard; exports.remarkCardLinks = remarkCardLinks; exports.remarkMentionChips = remarkMentionChips; exports.ToolExecutionDisplay = ToolExecutionDisplay; exports.MemoizedChatMessageEnhanced = MemoizedChatMessageEnhanced; exports.ChatMessageSkeleton = ChatMessageSkeleton; exports.ChatMessageListSkeleton = ChatMessageListSkeleton; exports.ChatMessageList = ChatMessageList; exports.useProxiedImageUrl = useProxiedImageUrl; exports.ChatMessageRow = ChatMessageRow; exports.ChatMessageRowSkeleton = ChatMessageRowSkeleton; exports.FAE_AVATAR_DATA_URI = FAE_AVATAR_DATA_URI; exports.AgentMark = AgentMark; exports.EntityIcon = EntityIcon; exports.getAgentAccent = getAgentAccent; exports.accentFromIdentityIcon = accentFromIdentityIcon; exports.isQuickActionIconSpec = isQuickActionIconSpec; exports.renderQuickActionIcon = renderQuickActionIcon; exports.QuickActionChipSkeleton = QuickActionChipSkeleton; exports.QuickActionChipButton = QuickActionChipButton; exports.QuickActionChipFromData = QuickActionChipFromData; exports.useMarqueeSync = useMarqueeSync; exports.getMarqueeTrackOffset = getMarqueeTrackOffset; exports.getMarqueeAppliedOffset = getMarqueeAppliedOffset; exports.getMarqueeCloneTwin = getMarqueeCloneTwin; exports.MarqueeWallFades = MarqueeWallFades; exports.MarqueeWall = MarqueeWall; exports.WALL_SKELETON_LABEL_CH = WALL_SKELETON_LABEL_CH; exports.interleave = interleave; exports.QuickActionWall = QuickActionWall; exports.QuickActionMarquee = QuickActionMarquee; exports.ChatTicketItem = ChatTicketItem; exports.ChatTicketList = ChatTicketList; exports.MingoOnboardingCardSkeleton = MingoOnboardingCardSkeleton; exports.MingoOnboardingListSkeleton = MingoOnboardingListSkeleton; exports.MingoChatHistorySkeleton = MingoChatHistorySkeleton; exports.MingoChatHistory = MingoChatHistory; exports.MingoWelcome = MingoWelcome; exports.GuideWelcome = GuideWelcome; exports.GuideModeBanner = GuideModeBanner; exports.TabSelector = TabSelector; exports.MingoHistoryRail = MingoHistoryRail; exports.RenameChatModal = RenameChatModal; exports.ArchiveChatModal = ArchiveChatModal; exports.UnarchiveChatModal = UnarchiveChatModal; exports.ChatDialogModals = ChatDialogModals; exports.ChatHeaderIconButton = ChatHeaderIconButton; exports.ChatHeaderSearchField = ChatHeaderSearchField; exports.ChatPanelHeader = ChatPanelHeader; exports.CHAT_ATTACHMENT_VIEW_URL_PREFIX = CHAT_ATTACHMENT_VIEW_URL_PREFIX; exports.CHAT_ATTACHMENT_VIEW_TOKEN_QUERY_PARAM = CHAT_ATTACHMENT_VIEW_TOKEN_QUERY_PARAM; exports.ANTHROPIC_SUPPORTED_IMAGE_MIME = ANTHROPIC_SUPPORTED_IMAGE_MIME; exports.buildChatAttachmentViewUrl = buildChatAttachmentViewUrl; exports.escapeMarkdownInline = escapeMarkdownInline; exports.formatChatAttachmentMarkdownForBubble = formatChatAttachmentMarkdownForBubble; exports.CHAT_ATTACHMENT_VIEW_URL_PREFIX_REGEX_ESCAPED = CHAT_ATTACHMENT_VIEW_URL_PREFIX_REGEX_ESCAPED; exports.CHAT_ATTACHMENT_MARKDOWN_PATTERN = CHAT_ATTACHMENT_MARKDOWN_PATTERN; exports.stripChatAttachmentMarkdown = stripChatAttachmentMarkdown; exports.CHAT_ATTACHMENT_MIME_TYPES = CHAT_ATTACHMENT_MIME_TYPES; exports.CHAT_ATTACHMENT_CONCURRENT_UPLOADS_PER_USER = CHAT_ATTACHMENT_CONCURRENT_UPLOADS_PER_USER; exports.ChatAttachmentAddButton = ChatAttachmentAddButton; exports.ChatAttachmentChipStrip = ChatAttachmentChipStrip; exports.ChatContextMemoryBar = ChatContextMemoryBar; exports.HoverCard = HoverCard; exports.HoverCardTrigger = HoverCardTrigger; exports.HoverCardContent = HoverCardContent; exports.ModelDisplay = ModelDisplay; exports.ModelDisplaySkeleton = ModelDisplaySkeleton; exports.ChatComposer = ChatComposer; exports.ChatArchivePage = ChatArchivePage; exports.DialogListItem = DialogListItem; exports.ChatSidebar = ChatSidebar; exports.NEW_TAB_FEATURES = NEW_TAB_FEATURES; exports.isModifierClick = isModifierClick; exports.stripSameOriginToPath = stripSameOriginToPath; exports.resolveExternalNavigation = resolveExternalNavigation; exports.executeNavigation = executeNavigation; exports.executeNavigationImperative = executeNavigationImperative; exports.handleChatNavClick = handleChatNavClick; exports.NavLinkAnchorViaRuntime = NavLinkAnchorViaRuntime; exports.SourceActionButton = SourceActionButton; exports.getCaptionsUrl = getCaptionsUrl; exports.rebaseCaptionsUrl = rebaseCaptionsUrl; exports.buildCaptionsUrl = buildCaptionsUrl; exports.getEntityCaptionUrls = getEntityCaptionUrls; exports.getEntityCaptionUrlsById = getEntityCaptionUrlsById; exports.captionsEntityTypeForDocType = captionsEntityTypeForDocType; exports.PAGE_HEADING_CLASS = PAGE_HEADING_CLASS; exports.SECTION_HEADING_CLASS = SECTION_HEADING_CLASS; exports.PageHeading = PageHeading; exports.useCaptions = useCaptions; exports.UserDisplay = UserDisplay; exports.CardHitLayer = CardHitLayer; exports.STRIP_CELL_MAX_WIDTH = STRIP_CELL_MAX_WIDTH; exports.CardsStrip = CardsStrip; exports.VideoHoverPreviewSurface = VideoHoverPreviewSurface; exports.RATIO_GRID_CLASS = RATIO_GRID_CLASS; exports.RATIO_TO_CSS_ASPECT = RATIO_TO_CSS_ASPECT; exports.RatioTabs = RatioTabs; exports.detectAspectRatio = detectAspectRatio; exports.ratioToCategory = ratioToCategory; exports.groupByAspectRatio = groupByAspectRatio; exports.VideoBitesStrip = VideoBitesStrip; exports.VideoBiteCard = VideoBiteCard; exports.EntityVideoSection = EntityVideoSection; exports.ChatVideoEntityCard = ChatVideoEntityCard; exports.GitHubActivityCard = GitHubActivityCard; exports.GitHubActivityCardSkeleton = GitHubActivityCardSkeleton; exports.SlackMessageCard = SlackMessageCard; exports.SlackMessageCardSkeleton = SlackMessageCardSkeleton; exports.HubspotTicketCard = HubspotTicketCard; exports.HubspotTicketCardSkeleton = HubspotTicketCardSkeleton; exports.DataRoomDocCard = DataRoomDocCard; exports.DataRoomDocCardSkeleton = DataRoomDocCardSkeleton; exports.CampaignCardAdmin = CampaignCardAdmin; exports.CampaignCardAdminSkeleton = CampaignCardAdminSkeleton; exports.GenericEntityCard = GenericEntityCard; exports.GenericEntityCardSkeleton = GenericEntityCardSkeleton; exports.faqSectionSlug = faqSectionSlug; exports.faqItemAnchor = faqItemAnchor; exports.parseFaqHash = parseFaqHash; exports.useChatCardItem = useChatCardItem; exports.clickupTaskUrl = clickupTaskUrl; exports.readFetchedCardTitle = readFetchedCardTitle; exports.resolveFetchedCardHref = resolveFetchedCardHref; exports.SOURCE_ICON_NAMES = SOURCE_ICON_NAMES; exports.getSourceIconName = getSourceIconName; exports.SOURCE_LABELS_BY_TABLE = SOURCE_LABELS_BY_TABLE; exports.getSourceLabel = getSourceLabel; exports.DEFAULT_DOCUMENT_TYPE_TO_TABLE_ID = DEFAULT_DOCUMENT_TYPE_TO_TABLE_ID; exports.defaultTableIdForDocumentType = defaultTableIdForDocumentType; exports.resolveSourceRowCTA = resolveSourceRowCTA; exports.resolveSourceIcon = resolveSourceIcon; exports.ChatCardLoader = ChatCardLoader; exports.renderChatInlineEntityCard = renderChatInlineEntityCard; exports.CHAT_TYPE = CHAT_TYPE; exports.OWNER_TYPE = OWNER_TYPE; exports.MESSAGE_ROLE = MESSAGE_ROLE; exports.ASSISTANT_TYPE = ASSISTANT_TYPE; exports.AUTHOR_TYPE = AUTHOR_TYPE; exports.APPROVAL_STATUS = APPROVAL_STATUS; exports.APPROVAL_BLOCK_VARIANT = APPROVAL_BLOCK_VARIANT; exports.CONNECTION_STATUS = CONNECTION_STATUS; exports.isStructuredContent = isStructuredContent; exports.normalizeContent = normalizeContent2; exports.NETWORK_CONFIG = NETWORK_CONFIG; exports.useChunkCatchup = useChunkCatchup; exports.useScriptedStream = useScriptedStream; exports.RESYNC_AFTER_HIDDEN_MS = RESYNC_AFTER_HIDDEN_MS; exports.useJetStreamDialogSubscription = useJetStreamDialogSubscription; exports.useNatsDialogSubscription = useNatsDialogSubscription; exports.buildNatsWsUrl = buildNatsWsUrl; exports.fetchSlashCommands = fetchSlashCommands; exports.useSlashCommands = useSlashCommands; exports.useSlashCommandRegistry = useSlashCommandRegistry; exports.fetchEmptyStateConfig = fetchEmptyStateConfig; exports.useEmptyStateConfig = useEmptyStateConfig; exports.useChatAttachments = useChatAttachments; exports.useChatAttachmentImageGallery = useChatAttachmentImageGallery; exports.ChatIdentityProvider = ChatIdentityProvider; exports.useChatIdentity = useChatIdentity; exports.useCloseOnNavigation = useCloseOnNavigation; exports.useSSE = useSSE; exports.useChat = useChat; exports.approvalDisplaysInline = approvalDisplaysInline; exports.appendToTrailingAssistant = appendToTrailingAssistant; exports.upsertTrailingCompaction = upsertTrailingCompaction; exports.applyToolExecutionToMessages = applyToolExecutionToMessages; exports.MessageSegmentAccumulator = MessageSegmentAccumulator; exports.createMessageSegmentAccumulator = createMessageSegmentAccumulator; exports.SCROLL_ANCHOR_WIRE_KEY = SCROLL_ANCHOR_WIRE_KEY; exports.parseScrollAnchor = parseScrollAnchor; exports.createEmptyTurnMeta = createEmptyTurnMeta; exports.createChatStreamReducer = createChatStreamReducer; exports.DEFAULT_DIALOG_SIDE = DEFAULT_DIALOG_SIDE; exports.DEFAULT_MAX_REDUCERS = DEFAULT_MAX_REDUCERS; exports.MAX_PENDING_RETAIN_KEYS = MAX_PENDING_RETAIN_KEYS; exports.createChatDialogStore = createChatDialogStore; exports.createDeltaBatcher = createDeltaBatcher; exports.useChatStreamReducer = useChatStreamReducer; exports.parseWireCommandOverride = parseWireCommandOverride; exports.sanitizeTitleForChat = sanitizeTitleForChat; exports.formatSingularLookupInvocation = formatSingularLookupInvocation; exports.extractEntityIdFilter = extractEntityIdFilter; exports.buildDiscussAddendum = buildDiscussAddendum; exports.buildDiscussPrompt = buildDiscussPrompt; exports.AUTO_CONTINUATION_DIRECTIVE_PREFIX = AUTO_CONTINUATION_DIRECTIVE_PREFIX; exports.buildAutoContinuationDirective = buildAutoContinuationDirective; exports.useSseChatAdapter = useSseChatAdapter; exports.extractIncompleteMessageState = extractIncompleteMessageState; exports.extractIncompleteTailState = extractIncompleteTailState; exports.decodeHistoricalMessageData = decodeHistoricalMessageData; exports.processHistoricalMessages = processHistoricalMessages; exports.extractErrorMessages = extractErrorMessages; exports.processHistoricalMessagesWithErrors = processHistoricalMessagesWithErrors; exports.mapProcessedToUnified = mapProcessedToUnified; exports.historicalToUnified = historicalToUnified; exports.useNatsChatAdapter = useNatsChatAdapter; exports.useUnifiedChat = useUnifiedChat; exports.SYNTHETIC_REALTIME_ID_PREFIXES = SYNTHETIC_REALTIME_ID_PREFIXES; exports.flattenMessagePagesChronological = flattenMessagePagesChronological; exports.maxPersistedStreamSeq = maxPersistedStreamSeq; exports.mergeHistoryWithRealtime = mergeHistoryWithRealtime; exports.computeHistoryPrepend = computeHistoryPrepend; exports.CHIP_ACTION_BUTTON_CLASS = CHIP_ACTION_BUTTON_CLASS; exports.chatChipClass = chatChipClass; exports.flattenAssistantContent = flattenAssistantContent; exports.normalizeHistoricalMessageData = normalizeHistoricalMessageData; exports.isHistoricalUserTurn = isHistoricalUserTurn; exports.buildStreamFrames = buildStreamFrames; exports.EmbeddableChat = EmbeddableChat;
24851
- //# sourceMappingURL=chunk-LOJ5KQ6B.cjs.map
24740
+ exports.FloatingTooltip = FloatingTooltip; exports.tagVariants = tagVariants; exports.Tag = Tag; exports.formatTicketRelativeTime = formatTicketRelativeTime; exports.formatTicketFullTimestamp = formatTicketFullTimestamp; exports.formatRelativeTime = formatRelativeTime; exports.formatAbsoluteDate = formatAbsoluteDate; exports.formatDateTime = formatDateTime; exports.getDetailedTimeDifference = getDetailedTimeDifference; exports.isToday = isToday; exports.isWithinMinutes = isWithinMinutes; exports.createUTCTimestamp = createUTCTimestamp; exports.DESIGN_PALETTE = DESIGN_PALETTE; exports.getContrastRatio = getContrastRatio; exports.pickReadableTextColor = pickReadableTextColor; exports.extractDominantColor = extractDominantColor; exports.getBestContrastColor = getBestContrastColor; exports.analyzeImageColor = analyzeImageColor; exports.extractImageEdgeColorAsync = extractImageEdgeColorAsync; exports.getPlatformAccentColor = getPlatformAccentColor; exports.getCurrentPlatform = getCurrentPlatform; exports.getReadableTextColor = getReadableTextColor; exports.HEX_PATTERN = HEX_PATTERN; exports.hexToRgb = hexToRgb2; exports.rgbToHex = rgbToHex; exports.deriveHoverColor = deriveHoverColor; exports.deriveActiveColor = deriveActiveColor; exports.rgbToHsl = rgbToHsl; exports.hslToRgb = hslToRgb; exports.ActionsMenu = ActionsMenu; exports.ActionsMenuDropdown = ActionsMenuDropdown; exports.ColorSwatch = ColorSwatch; exports.TooltipProvider = TooltipProvider; exports.Tooltip = Tooltip; exports.TooltipTrigger = TooltipTrigger; exports.TooltipContent = TooltipContent; exports.resolveTicketStatus = resolveTicketStatus; exports.getTicketStatusConfig = getTicketStatusConfig; exports.getTicketStatusTag = getTicketStatusTag; exports.kindToCanonicalStatus = kindToCanonicalStatus; exports.usesCanonicalStatusStyle = usesCanonicalStatusStyle; exports.resolveStatusTagProps = resolveStatusTagProps; exports.TicketStatusTag = TicketStatusTag; exports.useScrollFade = useScrollFade; exports.ScrollFadeOverlay = ScrollFadeOverlay; exports.ScrollShadow = ScrollShadow; exports.Modal = Modal; exports.ModalContent = ModalContent; exports.ModalTwoColumn = ModalTwoColumn; exports.ModalHeader = ModalHeader; exports.ModalTitle = ModalTitle; exports.ModalFooter = ModalFooter; exports.OVERLAY_BACKDROP_CLASS = OVERLAY_BACKDROP_CLASS; exports.Drawer = Drawer; exports.DrawerTrigger = DrawerTrigger; exports.DrawerClose = DrawerClose; exports.DrawerPortal = DrawerPortal; exports.DrawerOverlay = DrawerOverlay; exports.DrawerContent = DrawerContent; exports.DrawerHeader = DrawerHeader; exports.DrawerTitle = DrawerTitle; exports.DrawerDescription = DrawerDescription; exports.DrawerBody = DrawerBody; exports.DrawerFooter = DrawerFooter; exports.Tabs = Tabs; exports.TabsList = TabsList; exports.TabsTrigger = TabsTrigger; exports.TabsContent = TabsContent; exports.stripInlineMarkdown = stripInlineMarkdown; exports.markdownToPlainText = markdownToPlainText; exports.buildHeadingIdMap = buildHeadingIdMap; exports.useHeadingIdMap = useHeadingIdMap; exports.extractText = extractText; exports.useIsHydrated = useIsHydrated; exports.MermaidDiagram = MermaidDiagram; exports.hasRenderableSrc = hasRenderableSrc; exports.buildStandardLeafRenderers = buildStandardLeafRenderers; exports.SAFE_HTML_TAGS = SAFE_HTML_TAGS; exports.SVG_TAGS = SVG_TAGS; exports.buildEffectiveTagSet = buildEffectiveTagSet; exports.buildSanitizeSchema = buildSanitizeSchema; exports.rehypeStripUnsafe = rehypeStripUnsafe; exports.escapeUnknownHtmlTags = escapeUnknownHtmlTags; exports.cardAwareUrlTransform = cardAwareUrlTransform; exports.splitStreamingBlocks = splitStreamingBlocks; exports.completeStreamingTail = completeStreamingTail; exports.TEXT_SIZE_PRESETS = TEXT_SIZE_PRESETS; exports.resolveTextSizeConfig = resolveTextSizeConfig; exports.NO_BROKEN_LINKS = NO_BROKEN_LINKS; exports.MarkdownEngine = MarkdownEngine; exports.SimpleMarkdownRenderer = SimpleMarkdownRenderer; exports.fetchPriorityProp = fetchPriorityProp; exports.MUX_STREAM_ORIGIN = MUX_STREAM_ORIGIN; exports.MUX_IMAGE_ORIGIN = MUX_IMAGE_ORIGIN; exports.saveDataEnabled = saveDataEnabled; exports.useVideoOriginPreconnect = useVideoOriginPreconnect; exports.useVideoWarmup = useVideoWarmup; exports.VideoPlayBadge = VideoPlayBadge; exports.VideoUnmuteGlyph = VideoUnmuteGlyph; exports.extractYouTubeId = extractYouTubeId; exports.Video = Video2; exports.HoverDropdown = HoverDropdown; exports.ExpandChevron = ExpandChevron; exports.useCollapsible = useCollapsible; exports.getCommandText = getCommandText; exports.ArgRow = ArgRow; exports.ResultBlock = ResultBlock; exports.CommandBlock = CommandBlock; exports.ApprovalStatusTag = ApprovalStatusTag; exports.ApprovalBatchMessage = ApprovalBatchMessage; exports.ApprovalRequestMessage = ApprovalRequestMessage; exports.EscalationOfferMessage = EscalationOfferMessage; exports.formatTime = formatTime; exports.AiAssistantInfo = AiAssistantInfo; exports.TicketEscalatedMessage = TicketEscalatedMessage; exports.MESSAGE_TYPE = MESSAGE_TYPE; exports.SCROLL_ANCHOR = SCROLL_ANCHOR; exports.TICKET_EVENT_KIND = TICKET_EVENT_KIND; exports.TicketEventMessage = TicketEventMessage; exports.ContextCompactionDisplay = ContextCompactionDisplay; exports.ThinkingDisplay = ThinkingDisplay; exports.AskDisplay = AskDisplay; exports.ErrorMessageDisplay = ErrorMessageDisplay; exports.MspOrganizationCard = MspOrganizationCard; exports.MspOrganizationCardSkeleton = MspOrganizationCardSkeleton; exports.ChatContainer = ChatContainer; exports.ChatHeader = ChatHeader; exports.ChatContent = ChatContent; exports.ChatFooter = ChatFooter; exports.ChatTypingIndicator = ChatTypingIndicator; exports.MingoOnboardingCard = MingoOnboardingCard; exports.ICON_REGISTRY = ICON_REGISTRY; exports.normalizeIconKey = normalizeIconKey; exports.getIconComponent = getIconComponent; exports.getDynamicIcon = getDynamicIcon; exports.ICON_ALIASES = ICON_ALIASES; exports.resolveIcon = resolveIcon; exports.ICON_OPTIONS = ICON_OPTIONS; exports.SlashCommandSuggestions = SlashCommandSuggestions; exports.ChatInput = ChatInput; exports.CONTEXT_ROW_CLASS = CONTEXT_ROW_CLASS; exports.CONTEXT_ICON_CLASS = CONTEXT_ICON_CLASS; exports.CONTEXT_LABEL_CLASS = CONTEXT_LABEL_CLASS; exports.CONTEXT_BACK_CLASS = CONTEXT_BACK_CLASS; exports.CONTEXT_STATE_CLASS = CONTEXT_STATE_CLASS; exports.ContextMenuRow = ContextMenuRow; exports.ContextItemsSkeleton = ContextItemsSkeleton; exports.ContextItemsList = ContextItemsList; exports.ContextErrorBoundary = ContextErrorBoundary; exports.CHAT_CONTEXT_ITEMS_DEFAULT_MAX = CHAT_CONTEXT_ITEMS_DEFAULT_MAX; exports.ChatComposerPlusMenu = ChatComposerPlusMenu; exports.ChatContextPicker = ChatContextPicker; exports.ChatContextChipStrip = ChatContextChipStrip; exports.BlockCard = BlockCard; exports.remarkCardLinks = remarkCardLinks; exports.remarkMentionChips = remarkMentionChips; exports.ToolExecutionDisplay = ToolExecutionDisplay; exports.MemoizedChatMessageEnhanced = MemoizedChatMessageEnhanced; exports.ChatMessageSkeleton = ChatMessageSkeleton; exports.ChatMessageListSkeleton = ChatMessageListSkeleton; exports.ChatMessageList = ChatMessageList; exports.useProxiedImageUrl = useProxiedImageUrl; exports.ChatMessageRow = ChatMessageRow; exports.ChatMessageRowSkeleton = ChatMessageRowSkeleton; exports.FAE_AVATAR_DATA_URI = FAE_AVATAR_DATA_URI; exports.AgentMark = AgentMark; exports.EntityIcon = EntityIcon; exports.getAgentAccent = getAgentAccent; exports.accentFromIdentityIcon = accentFromIdentityIcon; exports.isQuickActionIconSpec = isQuickActionIconSpec; exports.renderQuickActionIcon = renderQuickActionIcon; exports.QuickActionChipSkeleton = QuickActionChipSkeleton; exports.QuickActionChipButton = QuickActionChipButton; exports.QuickActionChipFromData = QuickActionChipFromData; exports.useMarqueeSync = useMarqueeSync; exports.getMarqueeTrackOffset = getMarqueeTrackOffset; exports.getMarqueeAppliedOffset = getMarqueeAppliedOffset; exports.getMarqueeCloneTwin = getMarqueeCloneTwin; exports.MarqueeWallFades = MarqueeWallFades; exports.MarqueeWall = MarqueeWall; exports.WALL_SKELETON_LABEL_CH = WALL_SKELETON_LABEL_CH; exports.interleave = interleave; exports.QuickActionWall = QuickActionWall; exports.QuickActionMarquee = QuickActionMarquee; exports.ChatTicketItem = ChatTicketItem; exports.ChatTicketList = ChatTicketList; exports.MingoOnboardingCardSkeleton = MingoOnboardingCardSkeleton; exports.MingoOnboardingListSkeleton = MingoOnboardingListSkeleton; exports.MingoChatHistorySkeleton = MingoChatHistorySkeleton; exports.MingoChatHistory = MingoChatHistory; exports.MingoWelcome = MingoWelcome; exports.GuideWelcome = GuideWelcome; exports.GuideModeBanner = GuideModeBanner; exports.TabSelector = TabSelector; exports.MingoHistoryRail = MingoHistoryRail; exports.RenameChatModal = RenameChatModal; exports.ArchiveChatModal = ArchiveChatModal; exports.UnarchiveChatModal = UnarchiveChatModal; exports.ChatDialogModals = ChatDialogModals; exports.ChatHeaderIconButton = ChatHeaderIconButton; exports.ChatHeaderSearchField = ChatHeaderSearchField; exports.ChatPanelHeader = ChatPanelHeader; exports.CHAT_ATTACHMENT_VIEW_URL_PREFIX = CHAT_ATTACHMENT_VIEW_URL_PREFIX; exports.CHAT_ATTACHMENT_VIEW_TOKEN_QUERY_PARAM = CHAT_ATTACHMENT_VIEW_TOKEN_QUERY_PARAM; exports.ANTHROPIC_SUPPORTED_IMAGE_MIME = ANTHROPIC_SUPPORTED_IMAGE_MIME; exports.buildChatAttachmentViewUrl = buildChatAttachmentViewUrl; exports.escapeMarkdownInline = escapeMarkdownInline; exports.formatChatAttachmentMarkdownForBubble = formatChatAttachmentMarkdownForBubble; exports.CHAT_ATTACHMENT_VIEW_URL_PREFIX_REGEX_ESCAPED = CHAT_ATTACHMENT_VIEW_URL_PREFIX_REGEX_ESCAPED; exports.CHAT_ATTACHMENT_MARKDOWN_PATTERN = CHAT_ATTACHMENT_MARKDOWN_PATTERN; exports.stripChatAttachmentMarkdown = stripChatAttachmentMarkdown; exports.CHAT_ATTACHMENT_MIME_TYPES = CHAT_ATTACHMENT_MIME_TYPES; exports.CHAT_ATTACHMENT_CONCURRENT_UPLOADS_PER_USER = CHAT_ATTACHMENT_CONCURRENT_UPLOADS_PER_USER; exports.ChatAttachmentAddButton = ChatAttachmentAddButton; exports.ChatAttachmentChipStrip = ChatAttachmentChipStrip; exports.ChatContextMemoryBar = ChatContextMemoryBar; exports.HoverCard = HoverCard; exports.HoverCardTrigger = HoverCardTrigger; exports.HoverCardContent = HoverCardContent; exports.ModelDisplay = ModelDisplay; exports.ModelDisplaySkeleton = ModelDisplaySkeleton; exports.ChatComposer = ChatComposer; exports.ChatArchivePage = ChatArchivePage; exports.DialogListItem = DialogListItem; exports.ChatSidebar = ChatSidebar; exports.NEW_TAB_FEATURES = NEW_TAB_FEATURES; exports.isModifierClick = isModifierClick; exports.stripSameOriginToPath = stripSameOriginToPath; exports.resolveExternalNavigation = resolveExternalNavigation; exports.executeNavigation = executeNavigation; exports.executeNavigationImperative = executeNavigationImperative; exports.handleChatNavClick = handleChatNavClick; exports.NavLinkAnchorViaRuntime = NavLinkAnchorViaRuntime; exports.SourceActionButton = SourceActionButton; exports.getCaptionsUrl = getCaptionsUrl; exports.rebaseCaptionsUrl = rebaseCaptionsUrl; exports.buildCaptionsUrl = buildCaptionsUrl; exports.getEntityCaptionUrls = getEntityCaptionUrls; exports.getEntityCaptionUrlsById = getEntityCaptionUrlsById; exports.captionsEntityTypeForDocType = captionsEntityTypeForDocType; exports.PAGE_HEADING_CLASS = PAGE_HEADING_CLASS; exports.SECTION_HEADING_CLASS = SECTION_HEADING_CLASS; exports.PageHeading = PageHeading; exports.useCaptions = useCaptions; exports.UserDisplay = UserDisplay; exports.CardHitLayer = CardHitLayer; exports.STRIP_CELL_MAX_WIDTH = STRIP_CELL_MAX_WIDTH; exports.CardsStrip = CardsStrip; exports.VideoHoverPreviewSurface = VideoHoverPreviewSurface; exports.RATIO_GRID_CLASS = RATIO_GRID_CLASS; exports.RATIO_TO_CSS_ASPECT = RATIO_TO_CSS_ASPECT; exports.RatioTabs = RatioTabs; exports.detectAspectRatio = detectAspectRatio; exports.ratioToCategory = ratioToCategory; exports.groupByAspectRatio = groupByAspectRatio; exports.VideoBitesStrip = VideoBitesStrip; exports.VideoBiteCard = VideoBiteCard; exports.EntityVideoSection = EntityVideoSection; exports.ChatVideoEntityCard = ChatVideoEntityCard; exports.GitHubActivityCard = GitHubActivityCard; exports.GitHubActivityCardSkeleton = GitHubActivityCardSkeleton; exports.SlackMessageCard = SlackMessageCard; exports.SlackMessageCardSkeleton = SlackMessageCardSkeleton; exports.HubspotTicketCard = HubspotTicketCard; exports.HubspotTicketCardSkeleton = HubspotTicketCardSkeleton; exports.DataRoomDocCard = DataRoomDocCard; exports.DataRoomDocCardSkeleton = DataRoomDocCardSkeleton; exports.CampaignCardAdmin = CampaignCardAdmin; exports.CampaignCardAdminSkeleton = CampaignCardAdminSkeleton; exports.GenericEntityCard = GenericEntityCard; exports.GenericEntityCardSkeleton = GenericEntityCardSkeleton; exports.faqSectionSlug = faqSectionSlug; exports.faqItemAnchor = faqItemAnchor; exports.parseFaqHash = parseFaqHash; exports.useChatCardItem = useChatCardItem; exports.clickupTaskUrl = clickupTaskUrl; exports.readFetchedCardTitle = readFetchedCardTitle; exports.resolveFetchedCardHref = resolveFetchedCardHref; exports.SOURCE_ICON_NAMES = SOURCE_ICON_NAMES; exports.getSourceIconName = getSourceIconName; exports.SOURCE_LABELS_BY_TABLE = SOURCE_LABELS_BY_TABLE; exports.getSourceLabel = getSourceLabel; exports.DEFAULT_DOCUMENT_TYPE_TO_TABLE_ID = DEFAULT_DOCUMENT_TYPE_TO_TABLE_ID; exports.defaultTableIdForDocumentType = defaultTableIdForDocumentType; exports.resolveSourceRowCTA = resolveSourceRowCTA; exports.resolveSourceIcon = resolveSourceIcon; exports.ChatCardLoader = ChatCardLoader; exports.renderChatInlineEntityCard = renderChatInlineEntityCard; exports.CHAT_TYPE = CHAT_TYPE; exports.OWNER_TYPE = OWNER_TYPE; exports.MESSAGE_ROLE = MESSAGE_ROLE; exports.ASSISTANT_TYPE = ASSISTANT_TYPE; exports.AUTHOR_TYPE = AUTHOR_TYPE; exports.APPROVAL_STATUS = APPROVAL_STATUS; exports.APPROVAL_BLOCK_VARIANT = APPROVAL_BLOCK_VARIANT; exports.CONNECTION_STATUS = CONNECTION_STATUS; exports.isStructuredContent = isStructuredContent; exports.normalizeContent = normalizeContent2; exports.NETWORK_CONFIG = NETWORK_CONFIG; exports.useChunkCatchup = useChunkCatchup; exports.useScriptedStream = useScriptedStream; exports.RESYNC_AFTER_HIDDEN_MS = RESYNC_AFTER_HIDDEN_MS; exports.useJetStreamDialogSubscription = useJetStreamDialogSubscription; exports.useNatsDialogSubscription = useNatsDialogSubscription; exports.buildNatsWsUrl = buildNatsWsUrl; exports.fetchSlashCommands = fetchSlashCommands; exports.useSlashCommands = useSlashCommands; exports.useSlashCommandRegistry = useSlashCommandRegistry; exports.fetchEmptyStateConfig = fetchEmptyStateConfig; exports.useEmptyStateConfig = useEmptyStateConfig; exports.useChatAttachments = useChatAttachments; exports.useChatAttachmentImageGallery = useChatAttachmentImageGallery; exports.ChatIdentityProvider = ChatIdentityProvider; exports.useChatIdentity = useChatIdentity; exports.useCloseOnNavigation = useCloseOnNavigation; exports.useSSE = useSSE; exports.useChat = useChat; exports.approvalDisplaysInline = approvalDisplaysInline; exports.appendToTrailingAssistant = appendToTrailingAssistant; exports.upsertTrailingCompaction = upsertTrailingCompaction; exports.applyToolExecutionToMessages = applyToolExecutionToMessages; exports.MessageSegmentAccumulator = MessageSegmentAccumulator; exports.createMessageSegmentAccumulator = createMessageSegmentAccumulator; exports.SCROLL_ANCHOR_WIRE_KEY = SCROLL_ANCHOR_WIRE_KEY; exports.parseScrollAnchor = parseScrollAnchor; exports.createEmptyTurnMeta = createEmptyTurnMeta; exports.createChatStreamReducer = createChatStreamReducer; exports.DEFAULT_DIALOG_SIDE = DEFAULT_DIALOG_SIDE; exports.DEFAULT_MAX_REDUCERS = DEFAULT_MAX_REDUCERS; exports.MAX_PENDING_RETAIN_KEYS = MAX_PENDING_RETAIN_KEYS; exports.createChatDialogStore = createChatDialogStore; exports.createDeltaBatcher = createDeltaBatcher; exports.useChatStreamReducer = useChatStreamReducer; exports.parseWireCommandOverride = parseWireCommandOverride; exports.sanitizeTitleForChat = sanitizeTitleForChat; exports.formatSingularLookupInvocation = formatSingularLookupInvocation; exports.extractEntityIdFilter = extractEntityIdFilter; exports.buildDiscussAddendum = buildDiscussAddendum; exports.buildDiscussPrompt = buildDiscussPrompt; exports.AUTO_CONTINUATION_DIRECTIVE_PREFIX = AUTO_CONTINUATION_DIRECTIVE_PREFIX; exports.buildAutoContinuationDirective = buildAutoContinuationDirective; exports.useSseChatAdapter = useSseChatAdapter; exports.extractIncompleteMessageState = extractIncompleteMessageState; exports.extractIncompleteTailState = extractIncompleteTailState; exports.decodeHistoricalMessageData = decodeHistoricalMessageData; exports.processHistoricalMessages = processHistoricalMessages; exports.extractErrorMessages = extractErrorMessages; exports.processHistoricalMessagesWithErrors = processHistoricalMessagesWithErrors; exports.mapProcessedToUnified = mapProcessedToUnified; exports.historicalToUnified = historicalToUnified; exports.useNatsChatAdapter = useNatsChatAdapter; exports.useUnifiedChat = useUnifiedChat; exports.SYNTHETIC_REALTIME_ID_PREFIXES = SYNTHETIC_REALTIME_ID_PREFIXES; exports.flattenMessagePagesChronological = flattenMessagePagesChronological; exports.maxPersistedStreamSeq = maxPersistedStreamSeq; exports.mergeHistoryWithRealtime = mergeHistoryWithRealtime; exports.computeHistoryPrepend = computeHistoryPrepend; exports.CHIP_ACTION_BUTTON_CLASS = CHIP_ACTION_BUTTON_CLASS; exports.chatChipClass = chatChipClass; exports.flattenAssistantContent = flattenAssistantContent; exports.normalizeHistoricalMessageData = normalizeHistoricalMessageData; exports.isHistoricalUserTurn = isHistoricalUserTurn; exports.buildStreamFrames = buildStreamFrames; exports.EmbeddableChat = EmbeddableChat;
24741
+ //# sourceMappingURL=chunk-YU2UJPAT.cjs.map