@flamingo-stack/openframe-frontend-core 0.0.854 → 0.0.856

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 (137) hide show
  1. package/dist/build/export-map.json +1 -1
  2. package/dist/{case-study-card-WP5Z234Q.cjs → case-study-card-6VAMNHLU.cjs} +8 -8
  3. package/dist/{chunk-ZDPPNHA2.cjs → chunk-2BTEERLH.cjs} +3 -3
  4. package/dist/{chunk-FBANHIAG.cjs → chunk-2JCA7BRK.cjs} +19 -19
  5. package/dist/{chunk-GVHCQRUE.cjs → chunk-2P72KAG5.cjs} +23 -23
  6. package/dist/{chunk-YY3WP2YQ.cjs → chunk-3GJ75OUL.cjs} +183 -183
  7. package/dist/{chunk-FJXSKMQJ.cjs → chunk-4H3J57AN.cjs} +25 -25
  8. package/dist/{chunk-6GWRPW6B.cjs → chunk-5NK3FUHY.cjs} +4 -4
  9. package/dist/{chunk-DLTPSP5F.cjs → chunk-5TYG5JNB.cjs} +2 -2
  10. package/dist/{chunk-63ZV3UGG.cjs → chunk-65NMKAPQ.cjs} +12 -12
  11. package/dist/{chunk-IGVAPIEW.cjs → chunk-6C4OR4MZ.cjs} +2 -2
  12. package/dist/{chunk-GG466XFQ.cjs → chunk-6DMH4GXN.cjs} +30 -5
  13. package/dist/{chunk-2IJMHBOK.cjs → chunk-77GX573I.cjs} +9 -9
  14. package/dist/{chunk-O3EKOXFZ.cjs → chunk-AYMY2VNB.cjs} +37 -43
  15. package/dist/{chunk-JKBNK5U6.cjs → chunk-D6GEMVHD.cjs} +3 -3
  16. package/dist/{chunk-SSKMGH5O.cjs → chunk-DXVGGWLG.cjs} +10 -10
  17. package/dist/{chunk-S5P6CF5R.cjs → chunk-E5OQHFM6.cjs} +54 -54
  18. package/dist/{chunk-5TXE7BXT.cjs → chunk-EOUEUYCQ.cjs} +54 -54
  19. package/dist/{chunk-EIHMPQRQ.cjs → chunk-ESGE7CUX.cjs} +14 -14
  20. package/dist/{chunk-ETZFBB7O.cjs → chunk-EXQSIX2I.cjs} +4 -4
  21. package/dist/{chunk-3WXHPD6N.cjs → chunk-F33EAPD2.cjs} +124 -124
  22. package/dist/{chunk-4SSJ3T3N.cjs → chunk-GK577ZLJ.cjs} +3 -13
  23. package/dist/{chunk-ETQNMR2K.cjs → chunk-GTUQGVXH.cjs} +8 -8
  24. package/dist/{chunk-7MOBD44H.cjs → chunk-HGM7WDJT.cjs} +28 -28
  25. package/dist/{chunk-VMAOZA2V.cjs → chunk-HML3JUXF.cjs} +324 -322
  26. package/dist/{chunk-4O5N5CGK.cjs → chunk-J3CFRGZ2.cjs} +17 -17
  27. package/dist/{chunk-LQDAB5V5.cjs → chunk-KZAQPRTA.cjs} +9 -11
  28. package/dist/{chunk-6DCUGIGU.cjs → chunk-LSLRJJFP.cjs} +2 -2
  29. package/dist/{chunk-ONYANAMA.cjs → chunk-MX52LZ6M.cjs} +6 -6
  30. package/dist/{chunk-OH5TXFRR.cjs → chunk-O4CPT3RK.cjs} +7 -7
  31. package/dist/{chunk-BAA3YCLT.cjs → chunk-OW5MQKCI.cjs} +103 -103
  32. package/dist/{chunk-5HMENXSR.cjs → chunk-PCQ2HKU3.cjs} +5 -5
  33. package/dist/{chunk-D2XGRWPW.cjs → chunk-QLFNMWBP.cjs} +90 -90
  34. package/dist/{chunk-UPQ4MAR7.cjs → chunk-QZXCUY36.cjs} +53 -53
  35. package/dist/{chunk-KKFDRCQF.cjs → chunk-RY7INTYU.cjs} +14 -1
  36. package/dist/{chunk-PRJZMZ3X.cjs → chunk-SJZWVMBF.cjs} +678 -678
  37. package/dist/{chunk-GI3MMBP3.cjs → chunk-SQ7YHWEP.cjs} +228 -15
  38. package/dist/{chunk-ACPOJE32.cjs → chunk-STV6VJ3U.cjs} +21 -21
  39. package/dist/{chunk-QD727QFI.cjs → chunk-T54I5ZZY.cjs} +7 -7
  40. package/dist/{chunk-4LTLEUY5.cjs → chunk-TW5Y4D5I.cjs} +7 -7
  41. package/dist/{chunk-6XU3RCK3.cjs → chunk-UHGARY3S.cjs} +27 -27
  42. package/dist/{chunk-7J5NSWJG.cjs → chunk-UZIGMLTH.cjs} +100 -100
  43. package/dist/{chunk-FX35L4Y6.cjs → chunk-XCQ5I27Z.cjs} +3 -3
  44. package/dist/{chunk-5OENPMRU.cjs → chunk-XI3AMOW6.cjs} +65 -62
  45. package/dist/{chunk-TMPLHUUU.cjs → chunk-XTLMWLFB.cjs} +6 -6
  46. package/dist/{chunk-AZEO7HBB.cjs → chunk-Y44EF4JW.cjs} +2 -2
  47. package/dist/{chunk-RMI6O3AE.cjs → chunk-YB244RRB.cjs} +36 -36
  48. package/dist/{chunk-KA3L6D5N.cjs → chunk-YSXVRTGT.cjs} +9 -12
  49. package/dist/{chunk-H3GBPYPS.cjs → chunk-ZYAVIRQV.cjs} +25 -25
  50. package/dist/{cloud-tenants-5RNK4ZAT.cjs → cloud-tenants-J5T4YL2P.cjs} +28 -29
  51. package/dist/components/case-studies/index.cjs +44 -45
  52. package/dist/components/chat/chat-message-row.d.ts +1 -1
  53. package/dist/components/chat/chat-message-row.d.ts.map +1 -1
  54. package/dist/components/chat/chat-message-row.js +4 -4
  55. package/dist/components/chat/entity-cards/use-cover-image-fallback.d.ts +7 -13
  56. package/dist/components/chat/entity-cards/use-cover-image-fallback.d.ts.map +1 -1
  57. package/dist/components/chat/entity-cards/use-cover-image-fallback.js +2 -8
  58. package/dist/components/chat/hooks/use-chat-attachment-image-gallery.d.ts.map +1 -1
  59. package/dist/components/chat/hooks/use-chat-attachment-image-gallery.js +8 -4
  60. package/dist/components/chat/index.cjs +22 -23
  61. package/dist/components/contact/index.cjs +29 -30
  62. package/dist/components/docs/index.cjs +32 -33
  63. package/dist/components/embeds/index.cjs +29 -30
  64. package/dist/components/faq/index.cjs +30 -31
  65. package/dist/components/features/index.cjs +28 -29
  66. package/dist/components/features/remote-session/remote-session-viewers.d.ts +6 -1
  67. package/dist/components/features/remote-session/remote-session-viewers.d.ts.map +1 -1
  68. package/dist/components/features/remote-session/remote-session-viewers.js +10 -3
  69. package/dist/components/help-center-pages/index.cjs +134 -135
  70. package/dist/components/index.cjs +112 -113
  71. package/dist/components/meeting-scheduler/index.cjs +102 -103
  72. package/dist/components/navigation/index.cjs +31 -32
  73. package/dist/components/onboarding-guides/index.cjs +31 -32
  74. package/dist/components/product-demo/index.cjs +39 -40
  75. package/dist/components/related-content/index.cjs +16 -17
  76. package/dist/components/tickets/index.cjs +35 -36
  77. package/dist/components/ui/entity-image.d.ts +1 -2
  78. package/dist/components/ui/entity-image.d.ts.map +1 -1
  79. package/dist/components/ui/entity-image.js +4 -8
  80. package/dist/components/ui/index.cjs +28 -29
  81. package/dist/components/ui/markdown/base-components.d.ts +0 -13
  82. package/dist/components/ui/markdown/base-components.d.ts.map +1 -1
  83. package/dist/components/ui/markdown/base-components.js +7 -7
  84. package/dist/components/ui/square-avatar.d.ts.map +1 -1
  85. package/dist/components/ui/square-avatar.js +3 -8
  86. package/dist/{devices-44O5PZOW.cjs → devices-IJDF7SSK.cjs} +29 -30
  87. package/dist/embed-shims/index.cjs +3 -2
  88. package/dist/embed-shims/next-image.cjs +3 -2
  89. package/dist/embed-shims/next-image.d.ts +2 -0
  90. package/dist/embed-shims/next-image.d.ts.map +1 -1
  91. package/dist/embed-shims/next-image.js +14 -4
  92. package/dist/{embeddable-chat-W3CLMGC3.cjs → embeddable-chat-QD7NFD2H.cjs} +100 -101
  93. package/dist/hooks/index.cjs +23 -16
  94. package/dist/hooks/index.d.ts +1 -0
  95. package/dist/hooks/index.d.ts.map +1 -1
  96. package/dist/hooks/index.js +1 -0
  97. package/dist/hooks/use-authed-asset-src.d.ts +77 -2
  98. package/dist/hooks/use-authed-asset-src.d.ts.map +1 -1
  99. package/dist/hooks/use-authed-asset-src.js +185 -73
  100. package/dist/hooks/use-authed-image-src.d.ts +11 -4
  101. package/dist/hooks/use-authed-image-src.d.ts.map +1 -1
  102. package/dist/hooks/use-authed-image-src.js +6 -2
  103. package/dist/hooks/use-image-fallback.d.ts +16 -0
  104. package/dist/hooks/use-image-fallback.d.ts.map +1 -0
  105. package/dist/hooks/use-image-fallback.js +14 -0
  106. package/dist/index.cjs +40 -36
  107. package/dist/{knowledge-UUU3WVO3.cjs → knowledge-5LIK6Q4E.cjs} +29 -30
  108. package/dist/{logs-DFHNSODA.cjs → logs-FMENCAXT.cjs} +35 -36
  109. package/dist/{policies-RGFUGDBP.cjs → policies-DKQEEKB4.cjs} +32 -33
  110. package/dist/{remote-session-U3H77HKR.cjs → remote-session-6X7CAHBC.cjs} +13 -14
  111. package/dist/{scripts-KOVO5DHW.cjs → scripts-4EPUIFHF.cjs} +35 -36
  112. package/dist/{software-update-4EKHVV5W.cjs → software-update-IMNRXBAI.cjs} +32 -33
  113. package/dist/{tickets-board-YIFOVMDX.cjs → tickets-board-POYZS7BW.cjs} +16 -17
  114. package/dist/utils/app-origins.d.ts +3 -6
  115. package/dist/utils/app-origins.d.ts.map +1 -1
  116. package/dist/utils/app-origins.js +8 -1
  117. package/dist/utils/embed-authed-fetch.d.ts +46 -26
  118. package/dist/utils/embed-authed-fetch.d.ts.map +1 -1
  119. package/dist/utils/embed-authed-fetch.js +24 -8
  120. package/dist/utils/index.cjs +4 -1
  121. package/dist/{video-file-player-XMOB234V.cjs → video-file-player-RIOT24NT.cjs} +3 -4
  122. package/package.json +1 -1
  123. package/src/components/chat/chat-message-row.tsx +8 -7
  124. package/src/components/chat/entity-cards/use-cover-image-fallback.ts +8 -28
  125. package/src/components/chat/hooks/use-chat-attachment-image-gallery.tsx +19 -8
  126. package/src/components/features/remote-session/remote-session-viewers.tsx +16 -3
  127. package/src/components/ui/entity-image.tsx +4 -12
  128. package/src/components/ui/markdown/base-components.tsx +15 -20
  129. package/src/components/ui/square-avatar.tsx +5 -8
  130. package/src/embed-shims/next-image.tsx +34 -3
  131. package/src/hooks/index.ts +1 -0
  132. package/src/hooks/use-authed-asset-src.ts +323 -107
  133. package/src/hooks/use-authed-image-src.ts +15 -5
  134. package/src/hooks/use-image-fallback.ts +31 -0
  135. package/src/utils/app-origins.ts +12 -7
  136. package/src/utils/embed-authed-fetch.ts +71 -32
  137. package/dist/chunk-YSDB6HGQ.cjs +0 -102
@@ -17,7 +17,7 @@
17
17
 
18
18
 
19
19
 
20
- var _chunk63ZV3UGGcjs = require('./chunk-63ZV3UGG.cjs');
20
+ var _chunk65NMKAPQcjs = require('./chunk-65NMKAPQ.cjs');
21
21
 
22
22
 
23
23
 
@@ -42,7 +42,7 @@ var _chunk63ZV3UGGcjs = require('./chunk-63ZV3UGG.cjs');
42
42
 
43
43
 
44
44
 
45
- var _chunkACPOJE32cjs = require('./chunk-ACPOJE32.cjs');
45
+ var _chunkSTV6VJ3Ucjs = require('./chunk-STV6VJ3U.cjs');
46
46
 
47
47
 
48
48
 
@@ -277,14 +277,14 @@ var _chunk7WT2C5YYcjs = require('./chunk-7WT2C5YY.cjs');
277
277
 
278
278
 
279
279
 
280
- var _chunk2IJMHBOKcjs = require('./chunk-2IJMHBOK.cjs');
280
+ var _chunk77GX573Icjs = require('./chunk-77GX573I.cjs');
281
281
 
282
282
 
283
283
 
284
- var _chunkJKBNK5U6cjs = require('./chunk-JKBNK5U6.cjs');
284
+ var _chunkD6GEMVHDcjs = require('./chunk-D6GEMVHD.cjs');
285
285
 
286
286
 
287
- var _chunkIGVAPIEWcjs = require('./chunk-IGVAPIEW.cjs');
287
+ var _chunk6C4OR4MZcjs = require('./chunk-6C4OR4MZ.cjs');
288
288
 
289
289
 
290
290
  var _chunkJKX2C3I2cjs = require('./chunk-JKX2C3I2.cjs');
@@ -327,10 +327,10 @@ var _chunkIX2E3AN7cjs = require('./chunk-IX2E3AN7.cjs');
327
327
 
328
328
 
329
329
 
330
- var _chunkYY3WP2YQcjs = require('./chunk-YY3WP2YQ.cjs');
330
+ var _chunk3GJ75OULcjs = require('./chunk-3GJ75OUL.cjs');
331
331
 
332
332
 
333
- var _chunk6DCUGIGUcjs = require('./chunk-6DCUGIGU.cjs');
333
+ var _chunkLSLRJJFPcjs = require('./chunk-LSLRJJFP.cjs');
334
334
 
335
335
 
336
336
 
@@ -341,7 +341,7 @@ var _chunk6DCUGIGUcjs = require('./chunk-6DCUGIGU.cjs');
341
341
 
342
342
 
343
343
 
344
- var _chunkKA3L6D5Ncjs = require('./chunk-KA3L6D5N.cjs');
344
+ var _chunkYSXVRTGTcjs = require('./chunk-YSXVRTGT.cjs');
345
345
 
346
346
 
347
347
 
@@ -366,33 +366,32 @@ var _chunkKA3L6D5Ncjs = require('./chunk-KA3L6D5N.cjs');
366
366
 
367
367
 
368
368
 
369
- var _chunkO3EKOXFZcjs = require('./chunk-O3EKOXFZ.cjs');
369
+ var _chunkAYMY2VNBcjs = require('./chunk-AYMY2VNB.cjs');
370
370
 
371
371
 
372
372
  var _chunkRUHKTWGBcjs = require('./chunk-RUHKTWGB.cjs');
373
373
 
374
374
 
375
+ var _chunkGK577ZLJcjs = require('./chunk-GK577ZLJ.cjs');
375
376
 
376
- var _chunk4SSJ3T3Ncjs = require('./chunk-4SSJ3T3N.cjs');
377
377
 
378
378
 
379
- var _chunkYSDB6HGQcjs = require('./chunk-YSDB6HGQ.cjs');
380
379
 
381
380
 
382
381
 
382
+ var _chunkEXQSIX2Icjs = require('./chunk-EXQSIX2I.cjs');
383
383
 
384
384
 
385
385
 
386
- var _chunkETZFBB7Ocjs = require('./chunk-ETZFBB7O.cjs');
387
386
 
387
+ var _chunkRY7INTYUcjs = require('./chunk-RY7INTYU.cjs');
388
388
 
389
389
 
390
-
391
- var _chunkKKFDRCQFcjs = require('./chunk-KKFDRCQF.cjs');
390
+ var _chunkNTPX5GXIcjs = require('./chunk-NTPX5GXI.cjs');
392
391
 
393
392
 
394
- var _chunkNTPX5GXIcjs = require('./chunk-NTPX5GXI.cjs');
395
393
 
394
+ var _chunk6DMH4GXNcjs = require('./chunk-6DMH4GXN.cjs');
396
395
 
397
396
 
398
397
 
@@ -401,10 +400,9 @@ var _chunkNTPX5GXIcjs = require('./chunk-NTPX5GXI.cjs');
401
400
 
402
401
 
403
402
 
404
- var _chunkGI3MMBP3cjs = require('./chunk-GI3MMBP3.cjs');
405
403
 
406
404
 
407
- var _chunkGG466XFQcjs = require('./chunk-GG466XFQ.cjs');
405
+ var _chunkSQ7YHWEPcjs = require('./chunk-SQ7YHWEP.cjs');
408
406
 
409
407
 
410
408
 
@@ -688,14 +686,14 @@ function buildHeadingIdMap(content, sectionIds) {
688
686
  for (const section of sectionIds) {
689
687
  sectionIdMap.set(section.title, section.id);
690
688
  sectionIdMap.set(section.title.toLowerCase(), section.id);
691
- sectionIdMap.set(_chunk2IJMHBOKcjs.stripHeadingEmojis.call(void 0, section.title).toLowerCase(), section.id);
689
+ sectionIdMap.set(_chunk77GX573Icjs.stripHeadingEmojis.call(void 0, section.title).toLowerCase(), section.id);
692
690
  }
693
691
  }
694
- const dedupe = _chunk2IJMHBOKcjs.createHeadingIdDeduper.call(void 0, );
692
+ const dedupe = _chunk77GX573Icjs.createHeadingIdDeduper.call(void 0, );
695
693
  const map = /* @__PURE__ */ new Map();
696
694
  let sectionOrdinal = 0;
697
695
  let headingOrdinal = 0;
698
- for (const { line, level: level2, text: rawText } of _chunk2IJMHBOKcjs.scanHeadings.call(void 0, content)) {
696
+ for (const { line, level: level2, text: rawText } of _chunk77GX573Icjs.scanHeadings.call(void 0, content)) {
699
697
  const text3 = stripInlineMarkdown(rawText).trim();
700
698
  headingOrdinal++;
701
699
  if (level2 <= EXTRACTOR_MAX_LEVEL) sectionOrdinal++;
@@ -704,8 +702,8 @@ function buildHeadingIdMap(content, sectionIds) {
704
702
  for (const variation of [
705
703
  text3,
706
704
  text3.toLowerCase(),
707
- _chunk2IJMHBOKcjs.stripHeadingEmojis.call(void 0, text3),
708
- _chunk2IJMHBOKcjs.stripHeadingEmojis.call(void 0, text3).toLowerCase()
705
+ _chunk77GX573Icjs.stripHeadingEmojis.call(void 0, text3),
706
+ _chunk77GX573Icjs.stripHeadingEmojis.call(void 0, text3).toLowerCase()
709
707
  ]) {
710
708
  const id = sectionIdMap.get(variation);
711
709
  if (id) {
@@ -715,7 +713,7 @@ function buildHeadingIdMap(content, sectionIds) {
715
713
  }
716
714
  }
717
715
  if (assigned === void 0) {
718
- const baseId = _chunk2IJMHBOKcjs.slugifyHeadingText.call(void 0, text3);
716
+ const baseId = _chunk77GX573Icjs.slugifyHeadingText.call(void 0, text3);
719
717
  assigned = dedupe(
720
718
  baseId || (level2 <= EXTRACTOR_MAX_LEVEL ? `section-${sectionOrdinal}` : `heading-${headingOrdinal}`)
721
719
  );
@@ -1235,13 +1233,13 @@ function scrubMermaidSvg(svg) {
1235
1233
  }
1236
1234
  function firstMermaidUrl(chart, origins) {
1237
1235
  for (const [candidate] of chart.matchAll(/(?:https?:)?\/\/[^\s"'`)<>\\]+/gi)) {
1238
- if (!_chunkGI3MMBP3cjs.isAppOriginUrl.call(void 0, candidate, origins)) return _chunkGI3MMBP3cjs.absoluteHttpUrl.call(void 0, candidate, origins);
1236
+ if (!_chunkSQ7YHWEPcjs.isAppOriginUrl.call(void 0, candidate, origins)) return _chunkSQ7YHWEPcjs.absoluteHttpUrl.call(void 0, candidate, origins);
1239
1237
  }
1240
1238
  return null;
1241
1239
  }
1242
1240
  var MermaidDiagram = (props) => {
1243
1241
  const media = _react.useContext.call(void 0, MarkdownMediaOriginsContext);
1244
- const origins = media === void 0 ? _chunkGI3MMBP3cjs.readAppOrigins.call(void 0, ) : media;
1242
+ const origins = media === void 0 ? _chunkSQ7YHWEPcjs.readAppOrigins.call(void 0, ) : media;
1245
1243
  if (origins === null) return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, MermaidDiagramView, { ...props, untrusted: false });
1246
1244
  if (MERMAID_REMOTE_LOAD_RE.test(withoutMermaidConfig(props.chart))) {
1247
1245
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, ExternalMediaNotice, { url: firstMermaidUrl(props.chart, origins), kind: "diagram" });
@@ -1256,17 +1254,16 @@ var MARKDOWN_H2_CLASS = "mb-4 mt-8 border-b border-ods-border pb-2 font-sans fon
1256
1254
  var MARKDOWN_PARAGRAPH_CLASS = "mb-4 leading-relaxed text-ods-text-primary first:mt-0 last:mb-0";
1257
1255
  var MarkdownContentImage = ({ src, alt }) => {
1258
1256
  const inScope = _chunk63A4GZMBcjs.useLoadingScope.call(void 0, );
1259
- const authedSrc = _chunk4SSJ3T3Ncjs.useAuthedImageSrc.call(void 0, inScope ? void 0 : src);
1260
- const resolvedSrc = inScope ? src : authedSrc;
1261
- if (!resolvedSrc) return null;
1257
+ const drawable = _chunk6DMH4GXNcjs.useAuthedImageSrc.call(void 0, inScope ? void 0 : src);
1258
+ if (!inScope && !drawable) return null;
1262
1259
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
1263
- _chunkGG466XFQcjs.next_image_default,
1260
+ _chunk6DMH4GXNcjs.next_image_default,
1264
1261
  {
1265
- src: resolvedSrc,
1262
+ src,
1266
1263
  alt: _nullishCoalesce(alt, () => ( "No image available")),
1267
1264
  width: 400,
1268
1265
  height: 400,
1269
- sizes: _chunkKKFDRCQFcjs.IMAGE_SLOT.inline,
1266
+ sizes: _chunkRY7INTYUcjs.IMAGE_SLOT.inline,
1270
1267
  className: "h-auto max-h-[400px] w-auto max-w-full rounded-lg object-contain",
1271
1268
  style: { width: "auto", height: "auto" }
1272
1269
  }
@@ -1330,7 +1327,7 @@ function buildBaseComponents({
1330
1327
  const mapped = useHeadingId(node);
1331
1328
  const taken = useAssignedHeadingIds();
1332
1329
  const explicit = typeof _optionalChain([node, 'optionalAccess', _27 => _27.properties, 'optionalAccess', _28 => _28.id]) === "string" && node.properties.id !== "" ? node.properties.id : void 0;
1333
- const id = _nullishCoalesce(_nullishCoalesce(explicit, () => ( mapped)), () => ( resolveFallbackHeadingId(_chunk2IJMHBOKcjs.slugifyHeadingText.call(void 0, extractText(children)), taken)));
1330
+ const id = _nullishCoalesce(_nullishCoalesce(explicit, () => ( mapped)), () => ( resolveFallbackHeadingId(_chunk77GX573Icjs.slugifyHeadingText.call(void 0, extractText(children)), taken)));
1334
1331
  const EffectiveTag = Tag2 === "h1" && demoteMarkdownH1ToH2 ? "h2" : Tag2;
1335
1332
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, EffectiveTag, { id: id || void 0, className: headingClassName, children });
1336
1333
  }
@@ -1402,10 +1399,10 @@ function buildBaseComponents({
1402
1399
  const handleAnchorClick = (e) => {
1403
1400
  if (inPageAnchorId === null) return;
1404
1401
  if (e.metaKey || e.ctrlKey || e.shiftKey || e.altKey || e.button !== 0) return;
1405
- const target = _chunk2IJMHBOKcjs.getHashTargetElement.call(void 0, inPageAnchorId);
1402
+ const target = _chunk77GX573Icjs.getHashTargetElement.call(void 0, inPageAnchorId);
1406
1403
  if (!_optionalChain([target, 'optionalAccess', _29 => _29.id])) return;
1407
1404
  e.preventDefault();
1408
- _chunk2IJMHBOKcjs.navigateSamePageHash.call(void 0, `#${target.id}`, { headerOffset: _chunk2IJMHBOKcjs.HUB_HEADER_OFFSET_PX });
1405
+ _chunk77GX573Icjs.navigateSamePageHash.call(void 0, `#${target.id}`, { headerOffset: _chunk77GX573Icjs.HUB_HEADER_OFFSET_PX });
1409
1406
  };
1410
1407
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
1411
1408
  _chunkV45KLJQPcjs.next_link_default,
@@ -1421,9 +1418,10 @@ function buildBaseComponents({
1421
1418
  },
1422
1419
  // --- images ---
1423
1420
  // Inline content image renderer (blog, docs, chat attachments) —
1424
- // delegates to `MarkdownContentImage` (above), which handles bearer-mode
1425
- // authed loading for native shells and the 400x400 cap with click-to-
1426
- // expand for full resolution.
1421
+ // delegates to `MarkdownContentImage` (above), which draws nothing until
1422
+ // there is a picture to draw and applies the 400x400 cap with click-to-
1423
+ // expand for full resolution; the boxed `Image` it renders resolves and
1424
+ // authenticates it.
1427
1425
  //
1428
1426
  // A third-party `src` never reaches here unless the composition set
1429
1427
  // `allowRemoteMedia`: `rehypeStripUnsafe` moves it to `data-blocked-src`,
@@ -1869,8 +1867,8 @@ var PIPELINE_CLASSES = /* @__PURE__ */ new Set([
1869
1867
  ]);
1870
1868
  var isPipelineClass = (name) => PIPELINE_CLASSES.has(name) || /^language-[\w+#-]+$/.test(name);
1871
1869
  function hasRemoteMediaUrl(attr, value, origins) {
1872
- if (attr !== "srcset") return !_chunkGI3MMBP3cjs.isAppOriginUrl.call(void 0, value.trim(), origins);
1873
- return value.split(",").some((candidate) => !_chunkGI3MMBP3cjs.isAppOriginUrl.call(void 0, _nullishCoalesce(candidate.trim().split(/\s+/)[0], () => ( "")), origins));
1870
+ if (attr !== "srcset") return !_chunkSQ7YHWEPcjs.isAppOriginUrl.call(void 0, value.trim(), origins);
1871
+ return value.split(",").some((candidate) => !_chunkSQ7YHWEPcjs.isAppOriginUrl.call(void 0, _nullishCoalesce(candidate.trim().split(/\s+/)[0], () => ( "")), origins));
1874
1872
  }
1875
1873
  function scrubProperties(properties, tag, media) {
1876
1874
  if (!properties || typeof properties !== "object") return properties;
@@ -1905,7 +1903,7 @@ function scrubProperties(properties, tag, media) {
1905
1903
  if (typeof v === "string" && hasRemoteMediaUrl(lower, v, media)) {
1906
1904
  _nullishCoalesce(next, () => ( (next = { ...properties })));
1907
1905
  delete next[key];
1908
- if (tag === "img" && lower === "src") blockedSrc = _chunkGI3MMBP3cjs.absoluteHttpUrl.call(void 0, v, media);
1906
+ if (tag === "img" && lower === "src") blockedSrc = _chunkSQ7YHWEPcjs.absoluteHttpUrl.call(void 0, v, media);
1909
1907
  continue;
1910
1908
  }
1911
1909
  }
@@ -1980,7 +1978,7 @@ function scrubElementChildren(children, media) {
1980
1978
  return changed ? out : children;
1981
1979
  }
1982
1980
  function rehypeStripUnsafe({ allowRemoteMedia = false, appOrigins } = {}) {
1983
- const media = allowRemoteMedia ? null : _nullishCoalesce(appOrigins, () => ( _chunkGI3MMBP3cjs.readAppOrigins.call(void 0, )));
1981
+ const media = allowRemoteMedia ? null : _nullishCoalesce(appOrigins, () => ( _chunkSQ7YHWEPcjs.readAppOrigins.call(void 0, )));
1984
1982
  return (tree) => {
1985
1983
  const out = [];
1986
1984
  let changed = false;
@@ -2014,7 +2012,7 @@ function findInlineCodeRanges(source) {
2014
2012
  while (pos <= len) {
2015
2013
  let end = source.indexOf("\n", pos);
2016
2014
  if (end === -1) end = len;
2017
- const blank = _chunk2IJMHBOKcjs.isBlankLine.call(void 0, source.slice(pos, end));
2015
+ const blank = _chunk77GX573Icjs.isBlankLine.call(void 0, source.slice(pos, end));
2018
2016
  if (blank && segStart !== -1) break;
2019
2017
  if (!blank) {
2020
2018
  if (segStart === -1) segStart = pos;
@@ -2096,7 +2094,7 @@ function toMaskLines(source) {
2096
2094
  return out;
2097
2095
  }
2098
2096
  function blankFencedRegions(masked, lines) {
2099
- const fences = _chunk2IJMHBOKcjs.createFenceTracker.call(void 0, );
2097
+ const fences = _chunk77GX573Icjs.createFenceTracker.call(void 0, );
2100
2098
  const ranges = [];
2101
2099
  let openStart = null;
2102
2100
  let lastEnd = 0;
@@ -2135,7 +2133,7 @@ function blankIndentedCode(masked, lines) {
2135
2133
  const listContentCols = [];
2136
2134
  const ranges = [];
2137
2135
  for (const line of lines) {
2138
- if (_chunk2IJMHBOKcjs.isBlankLine.call(void 0, line.content)) continue;
2136
+ if (_chunk77GX573Icjs.isBlankLine.call(void 0, line.content)) continue;
2139
2137
  const indent = leadingIndent(line.content);
2140
2138
  const top = listContentCols.length ? listContentCols[listContentCols.length - 1] : 0;
2141
2139
  if (indent >= top + 4) {
@@ -2226,7 +2224,7 @@ function contPrefixLen(c) {
2226
2224
  function findLabelClose(lines, i, from) {
2227
2225
  for (let j = i; j < lines.length; j++) {
2228
2226
  const c = stripCr(lines[j].content);
2229
- if (j > i && _chunk2IJMHBOKcjs.isBlankLine.call(void 0, c)) return { stoppedAt: j };
2227
+ if (j > i && _chunk77GX573Icjs.isBlankLine.call(void 0, c)) return { stoppedAt: j };
2230
2228
  for (let q = j === i ? from : contPrefixLen(c); q < c.length; q = skipEscaped(c, q)) {
2231
2229
  if (c[q] === "[") return { stoppedAt: j };
2232
2230
  if (c[q] !== "]") continue;
@@ -2244,7 +2242,7 @@ function blankLinkDefinitions(masked, lines) {
2244
2242
  let k = from;
2245
2243
  for (; k < lines.length; k++) {
2246
2244
  const c = stripCr(lines[k].content);
2247
- if (_chunk2IJMHBOKcjs.isBlankLine.call(void 0, c)) break;
2245
+ if (_chunk77GX573Icjs.isBlankLine.call(void 0, c)) break;
2248
2246
  blankLine(lines[k]);
2249
2247
  if (stop(c)) {
2250
2248
  k++;
@@ -2287,7 +2285,7 @@ function blankLinkDefinitions(masked, lines) {
2287
2285
  const k = j + 1;
2288
2286
  if (k >= lines.length) break;
2289
2287
  const c = stripCr(lines[k].content);
2290
- if (_chunk2IJMHBOKcjs.isBlankLine.call(void 0, c)) break;
2288
+ if (_chunk77GX573Icjs.isBlankLine.call(void 0, c)) break;
2291
2289
  const at = contPrefixLen(c);
2292
2290
  const next = tail.k === "needDest" ? parseDefTail(c, at) : parseTitleTail(c, skipSpaces(c, at));
2293
2291
  if (next.k === "decline") break;
@@ -2357,7 +2355,7 @@ function blankUnreferencedFootnotes(masked, lines, folded) {
2357
2355
  let sawBlank = false;
2358
2356
  for (let k = i + 1; k < lines.length; k++) {
2359
2357
  const c = text3(lines[k]);
2360
- if (_chunk2IJMHBOKcjs.isBlankLine.call(void 0, c)) {
2358
+ if (_chunk77GX573Icjs.isBlankLine.call(void 0, c)) {
2361
2359
  sawBlank = true;
2362
2360
  continue;
2363
2361
  }
@@ -2457,7 +2455,7 @@ function paragraphEnd(s, from) {
2457
2455
  lineStart += 1;
2458
2456
  const next = s.indexOf("\n", lineStart);
2459
2457
  const line = s.slice(lineStart, next === -1 ? s.length : next);
2460
- if (_chunk2IJMHBOKcjs.isBlankLine.call(void 0, line)) return lineStart;
2458
+ if (_chunk77GX573Icjs.isBlankLine.call(void 0, line)) return lineStart;
2461
2459
  if (next === -1) break;
2462
2460
  lineStart = next;
2463
2461
  }
@@ -2611,7 +2609,7 @@ function blankListItemCode(masked, lines, depth = 0) {
2611
2609
  run = [];
2612
2610
  };
2613
2611
  for (const line of lines) {
2614
- if (_chunk2IJMHBOKcjs.isBlankLine.call(void 0, line.content)) {
2612
+ if (_chunk77GX573Icjs.isBlankLine.call(void 0, line.content)) {
2615
2613
  if (run.length > 0) run.push({ ...line, content: "" });
2616
2614
  continue;
2617
2615
  }
@@ -2836,7 +2834,7 @@ function htmlBlockStartKind(line, inParagraph) {
2836
2834
  function computeHtmlBlockRanges(text3) {
2837
2835
  if (text3.indexOf("<") === -1) return [];
2838
2836
  const ranges = [];
2839
- const fences = _chunk2IJMHBOKcjs.createFenceTracker.call(void 0, );
2837
+ const fences = _chunk77GX573Icjs.createFenceTracker.call(void 0, );
2840
2838
  let kind = null;
2841
2839
  let start = 0;
2842
2840
  let lastEnd = 0;
@@ -2851,9 +2849,9 @@ function computeHtmlBlockRanges(text3) {
2851
2849
  const expanded = expandTabs(line);
2852
2850
  const norm = stripContainerPrefix(expanded, listContentCol);
2853
2851
  if (norm.openedListCol >= 0) listContentCol = norm.openedListCol;
2854
- else if (!_chunk2IJMHBOKcjs.isBlankLine.call(void 0, norm.text) && norm.text === expanded) listContentCol = 0;
2855
- const normBlank = _chunk2IJMHBOKcjs.isBlankLine.call(void 0, norm.text);
2856
- const blank = openPrefixLen > 0 ? _chunk2IJMHBOKcjs.isBlankLine.call(void 0, expanded.slice(openPrefixLen)) : _chunk2IJMHBOKcjs.isBlankLine.call(void 0, line);
2852
+ else if (!_chunk77GX573Icjs.isBlankLine.call(void 0, norm.text) && norm.text === expanded) listContentCol = 0;
2853
+ const normBlank = _chunk77GX573Icjs.isBlankLine.call(void 0, norm.text);
2854
+ const blank = openPrefixLen > 0 ? _chunk77GX573Icjs.isBlankLine.call(void 0, expanded.slice(openPrefixLen)) : _chunk77GX573Icjs.isBlankLine.call(void 0, line);
2857
2855
  if (kind !== null) {
2858
2856
  if (kind >= 6) {
2859
2857
  if (blank) {
@@ -3007,7 +3005,7 @@ var ScanState = class {
3007
3005
  * `FENCE_RE` plus its own open/close state machine, cross-referenced by a
3008
3006
  * comment) is precisely the drift that produced the `~~~` bug.
3009
3007
  */
3010
- this.fences = _chunk2IJMHBOKcjs.createFenceTracker.call(void 0, );
3008
+ this.fences = _chunk77GX573Icjs.createFenceTracker.call(void 0, );
3011
3009
  /** Depth of currently open raw HTML block containers. */
3012
3010
  this.htmlDepth = 0;
3013
3011
  /** Raw-block tag name of a start tag still waiting for its `>`, or null. */
@@ -3080,7 +3078,7 @@ function splitStreamingBlocks(content) {
3080
3078
  const isListOrQuote = (line) => /^\s{0,3}(?:[-+*]\s|\d{1,9}[.)]\s|>)/.test(line);
3081
3079
  const firstNonBlank = (arr) => {
3082
3080
  for (const line of arr) {
3083
- if (!_chunk2IJMHBOKcjs.isBlankLine.call(void 0, line)) return line;
3081
+ if (!_chunk77GX573Icjs.isBlankLine.call(void 0, line)) return line;
3084
3082
  }
3085
3083
  return void 0;
3086
3084
  };
@@ -3090,10 +3088,10 @@ function splitStreamingBlocks(content) {
3090
3088
  state.scanLine(line);
3091
3089
  if (state.htmlMark() !== markBefore || state.htmlLatched()) currentTouchedHtml = true;
3092
3090
  current.push(line);
3093
- const isBlank = _chunk2IJMHBOKcjs.isBlankLine.call(void 0, line);
3091
+ const isBlank = _chunk77GX573Icjs.isBlankLine.call(void 0, line);
3094
3092
  if (!isBlank || state.fences.openChar() !== null || state.htmlBlocksCut()) continue;
3095
3093
  let j = i + 1;
3096
- while (j < lines.length && _chunk2IJMHBOKcjs.isBlankLine.call(void 0, lines[j])) j++;
3094
+ while (j < lines.length && _chunk77GX573Icjs.isBlankLine.call(void 0, lines[j])) j++;
3097
3095
  if (j >= lines.length) continue;
3098
3096
  const next = lines[j];
3099
3097
  if (/^\s/.test(next)) continue;
@@ -3101,7 +3099,7 @@ function splitStreamingBlocks(content) {
3101
3099
  if (isListOrQuote(next) && unitOpener !== void 0 && isListOrQuote(unitOpener)) {
3102
3100
  continue;
3103
3101
  }
3104
- if (current.every(_chunk2IJMHBOKcjs.isBlankLine)) continue;
3102
+ if (current.every(_chunk77GX573Icjs.isBlankLine)) continue;
3105
3103
  units.push(current);
3106
3104
  unitTouchedHtml.push(currentTouchedHtml);
3107
3105
  current = [];
@@ -3332,7 +3330,7 @@ var MarkdownEngineImpl = ({
3332
3330
  () => [_remarkgfm2.default, _remarkbreaks2.default, ..._nullishCoalesce(additionalRemarkPlugins, () => ( []))],
3333
3331
  [additionalRemarkPlugins]
3334
3332
  );
3335
- const appOrigins = _react.useSyncExternalStore.call(void 0, _chunkGI3MMBP3cjs.subscribeAppOrigins, _chunkGI3MMBP3cjs.readAppOrigins, () => _chunkGI3MMBP3cjs.SERVER_APP_ORIGINS);
3333
+ const appOrigins = _react.useSyncExternalStore.call(void 0, _chunkSQ7YHWEPcjs.subscribeAppOrigins, _chunkSQ7YHWEPcjs.readAppOrigins, () => _chunkSQ7YHWEPcjs.SERVER_APP_ORIGINS);
3336
3334
  const rehypeHighlight = useHighlightPlugin(processedContent);
3337
3335
  const { rehypePlugins, liveRehypePlugins } = _react.useMemo.call(void 0, () => {
3338
3336
  const schema = buildSanitizeSchema({
@@ -3511,7 +3509,7 @@ function onAskAiIntent(run) {
3511
3509
 
3512
3510
  // src/components/chat/chat-appearance-context.tsx
3513
3511
 
3514
- var ChatAppearanceContext = _react.createContext.call(void 0, _chunk63ZV3UGGcjs.CHAT_APPEARANCE.CLASSIC);
3512
+ var ChatAppearanceContext = _react.createContext.call(void 0, _chunk65NMKAPQcjs.CHAT_APPEARANCE.CLASSIC);
3515
3513
  function useChatAppearance() {
3516
3514
  return _react.useContext.call(void 0, ChatAppearanceContext);
3517
3515
  }
@@ -3550,7 +3548,7 @@ var ApprovalRequestMessage = _react.forwardRef.call(void 0,
3550
3548
  ...props
3551
3549
  }, ref) => {
3552
3550
  const [isProcessing, setIsProcessing] = _react.useState.call(void 0, false);
3553
- const isV2 = useChatAppearance() === _chunk63ZV3UGGcjs.CHAT_APPEARANCE.V2;
3551
+ const isV2 = useChatAppearance() === _chunk65NMKAPQcjs.CHAT_APPEARANCE.V2;
3554
3552
  const handleApprove = async () => {
3555
3553
  setIsProcessing(true);
3556
3554
  try {
@@ -3573,7 +3571,7 @@ var ApprovalRequestMessage = _react.forwardRef.call(void 0,
3573
3571
  {
3574
3572
  ref,
3575
3573
  className: _chunk63A4GZMBcjs.cn.call(void 0,
3576
- _chunkACPOJE32cjs.CHAT_BLOCK_CLASS,
3574
+ _chunkSTV6VJ3Ucjs.CHAT_BLOCK_CLASS,
3577
3575
  // v2: the thread owns the space below the card.
3578
3576
  !isV2 && "mb-[var(--spacing-system-xsf)]",
3579
3577
  className
@@ -3581,7 +3579,7 @@ var ApprovalRequestMessage = _react.forwardRef.call(void 0,
3581
3579
  ...props,
3582
3580
  children: [
3583
3581
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { className: "w-full whitespace-pre-line break-words text-ods-text-primary text-h4", children: _optionalChain([data, 'access', _51 => _51.explanation, 'optionalAccess', _52 => _52.trim, 'call', _53 => _53()]) || "Approval required" }),
3584
- showFooterActions && status === "pending" && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkACPOJE32cjs.ApprovalWaitingLine, {}),
3582
+ showFooterActions && status === "pending" && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkSTV6VJ3Ucjs.ApprovalWaitingLine, {}),
3585
3583
  !showFooterActions ? null : status === "pending" ? /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex w-full items-center gap-[var(--spacing-system-xsf)]", children: [
3586
3584
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
3587
3585
  _chunkFCZAUK4Dcjs.Button,
@@ -3613,14 +3611,14 @@ var ApprovalRequestMessage = _react.forwardRef.call(void 0,
3613
3611
  children: "Reject"
3614
3612
  }
3615
3613
  )
3616
- ] }) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "flex w-full", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkACPOJE32cjs.ApprovalStatusTag, { status, resolvedByName, inlineResolver: true }) })
3614
+ ] }) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "flex w-full", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkSTV6VJ3Ucjs.ApprovalStatusTag, { status, resolvedByName, inlineResolver: true }) })
3617
3615
  ]
3618
3616
  }
3619
3617
  );
3620
3618
  }
3621
- return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { ref, className: _chunk63A4GZMBcjs.cn.call(void 0, "mb-[var(--spacing-system-xsf)]", _chunkACPOJE32cjs.CHAT_BLOCK_CLASS, className), ...props, children: [
3619
+ return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { ref, className: _chunk63A4GZMBcjs.cn.call(void 0, "mb-[var(--spacing-system-xsf)]", _chunkSTV6VJ3Ucjs.CHAT_BLOCK_CLASS, className), ...props, children: [
3622
3620
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, ApprovalCardBody, { data }),
3623
- showFooterActions && status === "pending" && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkACPOJE32cjs.ApprovalWaitingLine, {}),
3621
+ showFooterActions && status === "pending" && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkSTV6VJ3Ucjs.ApprovalWaitingLine, {}),
3624
3622
  !showFooterActions ? null : status === "pending" ? /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex items-center gap-[var(--spacing-system-xsf)]", children: [
3625
3623
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
3626
3624
  _chunkFCZAUK4Dcjs.Button,
@@ -3652,7 +3650,7 @@ var ApprovalRequestMessage = _react.forwardRef.call(void 0,
3652
3650
  children: "Reject"
3653
3651
  }
3654
3652
  )
3655
- ] }) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "flex", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkACPOJE32cjs.ApprovalStatusTag, { status, resolvedByName, inlineResolver: true }) })
3653
+ ] }) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "flex", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkSTV6VJ3Ucjs.ApprovalStatusTag, { status, resolvedByName, inlineResolver: true }) })
3656
3654
  ] });
3657
3655
  }
3658
3656
  );
@@ -3682,7 +3680,7 @@ EscalationOfferMessage.displayName = "EscalationOfferMessage";
3682
3680
 
3683
3681
  var AiAssistantInfo = _react.forwardRef.call(void 0,
3684
3682
  ({ className, icon, leading, title, body, timestamp, ...props }, ref) => {
3685
- const isV2 = useChatAppearance() === _chunk63ZV3UGGcjs.CHAT_APPEARANCE.V2;
3683
+ const isV2 = useChatAppearance() === _chunk65NMKAPQcjs.CHAT_APPEARANCE.V2;
3686
3684
  return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
3687
3685
  "div",
3688
3686
  {
@@ -3698,7 +3696,7 @@ var AiAssistantInfo = _react.forwardRef.call(void 0,
3698
3696
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex min-w-0 flex-1 flex-col", children: [
3699
3697
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex w-full items-start", children: [
3700
3698
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { className: "min-w-0 flex-1 truncate text-ods-text-primary text-h4", title, children: title }),
3701
- timestamp && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "shrink-0 text-right text-ods-text-secondary text-h6", children: _chunk63ZV3UGGcjs.formatTime.call(void 0, timestamp) })
3699
+ timestamp && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "shrink-0 text-right text-ods-text-secondary text-h6", children: _chunk65NMKAPQcjs.formatTime.call(void 0, timestamp) })
3702
3700
  ] }),
3703
3701
  body != null && body !== "" && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { className: "w-full break-words text-ods-text-secondary text-h4", children: body })
3704
3702
  ] })
@@ -3813,7 +3811,7 @@ var SystemEventMessage = _react.forwardRef.call(void 0, ({ text: text3, timestam
3813
3811
  AiAssistantInfo,
3814
3812
  {
3815
3813
  ref,
3816
- leading: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkKA3L6D5Ncjs.SquareAvatar, { alt: joined, fallback: joined, size: "lg", variant: "round", className: "shrink-0" }),
3814
+ leading: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkYSXVRTGTcjs.SquareAvatar, { alt: joined, fallback: joined, size: "lg", variant: "round", className: "shrink-0" }),
3817
3815
  title: "Technician Joined",
3818
3816
  body: `You're now chatting with ${joined}.`,
3819
3817
  timestamp,
@@ -3988,7 +3986,7 @@ function nullableText(value) {
3988
3986
  }
3989
3987
  function httpsUrl(value) {
3990
3988
  const candidate = text2(value);
3991
- if (!candidate || _chunkO3EKOXFZcjs.UNSAFE_URL_CHARS.test(candidate)) return void 0;
3989
+ if (!candidate || _chunkAYMY2VNBcjs.UNSAFE_URL_CHARS.test(candidate)) return void 0;
3992
3990
  try {
3993
3991
  return new URL(candidate).protocol === "https:" ? candidate : void 0;
3994
3992
  } catch (e4) {
@@ -4598,7 +4596,7 @@ var thoughtMdClasses = [
4598
4596
  var ThinkingDisplay = _react.forwardRef.call(void 0,
4599
4597
  ({ className, text: text3, isStreaming = false, ...props }, ref) => {
4600
4598
  const [expanded, setExpanded] = _react.useState.call(void 0, false);
4601
- const { innerRef, isOverflowing, containerStyle } = _chunkACPOJE32cjs.useCollapsible.call(void 0, {
4599
+ const { innerRef, isOverflowing, containerStyle } = _chunkSTV6VJ3Ucjs.useCollapsible.call(void 0, {
4602
4600
  expanded,
4603
4601
  collapsedHeight: 19,
4604
4602
  disableTransition: isStreaming
@@ -4613,7 +4611,7 @@ var ThinkingDisplay = _react.forwardRef.call(void 0,
4613
4611
  setExpanded(!expanded);
4614
4612
  }
4615
4613
  };
4616
- return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { ref, className: _chunk63A4GZMBcjs.cn.call(void 0, _chunkACPOJE32cjs.CHAT_BLOCK_FRAME_CLASS, "p-1.5", className), ...props, children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
4614
+ return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { ref, className: _chunk63A4GZMBcjs.cn.call(void 0, _chunkSTV6VJ3Ucjs.CHAT_BLOCK_FRAME_CLASS, "p-1.5", className), ...props, children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
4617
4615
  "div",
4618
4616
  {
4619
4617
  role: "button",
@@ -4631,7 +4629,7 @@ var ThinkingDisplay = _react.forwardRef.call(void 0,
4631
4629
  isStreaming && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkOEP5KAT6cjs.DotsLoaderIcon, { size: 16, className: "text-ods-text-secondary" })
4632
4630
  ] }),
4633
4631
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "min-w-0 flex-1", style: containerStyle, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { ref: innerRef, className: _chunk63A4GZMBcjs.cn.call(void 0, "text-sm leading-snug text-ods-text-secondary", thoughtMdClasses), children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, SimpleMarkdownRenderer, { content: escapeThinkingTags(text3), textSize: "compact" }) }) }),
4634
- canToggle && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "flex h-[19px] shrink-0 items-center", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkACPOJE32cjs.ExpandChevron, { expanded }) })
4632
+ canToggle && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "flex h-[19px] shrink-0 items-center", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkSTV6VJ3Ucjs.ExpandChevron, { expanded }) })
4635
4633
  ]
4636
4634
  }
4637
4635
  ) });
@@ -4770,7 +4768,7 @@ function renderQuickActionIcon(icon) {
4770
4768
  if (!spec.name && !spec.url) return void 0;
4771
4769
  const accentClass = spec.accent ? ACCENT_CLASS[spec.accent] : void 0;
4772
4770
  const props = spec.accent && !accentClass ? { color: spec.accent, ..._nullishCoalesce(spec.props, () => ( {})) } : spec.props;
4773
- return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkO3EKOXFZcjs.EntityIcon, { icon: { name: spec.name, url: spec.url, props }, size: _nullishCoalesce(spec.size, () => ( 16)), className: accentClass });
4771
+ return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkAYMY2VNBcjs.EntityIcon, { icon: { name: spec.name, url: spec.url, props }, size: _nullishCoalesce(spec.size, () => ( 16)), className: accentClass });
4774
4772
  }
4775
4773
  function composeChipLabel(label, lozenge) {
4776
4774
  if (!lozenge) return label;
@@ -4810,7 +4808,7 @@ function QuickActionChipSkeleton({
4810
4808
  }) {
4811
4809
  const question = variant === "question";
4812
4810
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
4813
- _chunkKA3L6D5Ncjs.Tag,
4811
+ _chunkYSXVRTGTcjs.Tag,
4814
4812
  {
4815
4813
  ..._chunk63A4GZMBcjs.loadingItemProps.call(void 0, props),
4816
4814
  variant: "outline",
@@ -4877,7 +4875,7 @@ function QuickActionChipButton({
4877
4875
  const tagSize = question || fill ? "sentence" : size;
4878
4876
  if (!interactive) {
4879
4877
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
4880
- _chunkKA3L6D5Ncjs.Tag,
4878
+ _chunkYSXVRTGTcjs.Tag,
4881
4879
  {
4882
4880
  ...markers,
4883
4881
  variant: tagVariant,
@@ -4906,7 +4904,7 @@ function QuickActionChipButton({
4906
4904
  className
4907
4905
  ),
4908
4906
  children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
4909
- _chunkKA3L6D5Ncjs.Tag,
4907
+ _chunkYSXVRTGTcjs.Tag,
4910
4908
  {
4911
4909
  variant: tagVariant,
4912
4910
  size: tagSize,
@@ -4982,9 +4980,9 @@ var iconTint = {
4982
4980
  var ErrorMessageDisplay = _react.forwardRef.call(void 0,
4983
4981
  ({ className, title, details, type = "error", ...props }, ref) => {
4984
4982
  const [expanded, setExpanded] = _react.useState.call(void 0, false);
4985
- const { innerRef, containerStyle } = _chunkACPOJE32cjs.useCollapsible.call(void 0, { expanded });
4983
+ const { innerRef, containerStyle } = _chunkSTV6VJ3Ucjs.useCollapsible.call(void 0, { expanded });
4986
4984
  const hasDetails = Boolean(details);
4987
- const isV2 = useChatAppearance() === _chunk63ZV3UGGcjs.CHAT_APPEARANCE.V2;
4985
+ const isV2 = useChatAppearance() === _chunk65NMKAPQcjs.CHAT_APPEARANCE.V2;
4988
4986
  return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
4989
4987
  "div",
4990
4988
  {
@@ -5018,7 +5016,7 @@ var ErrorMessageDisplay = _react.forwardRef.call(void 0,
5018
5016
  children: title
5019
5017
  }
5020
5018
  ),
5021
- hasDetails && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkACPOJE32cjs.ExpandChevron, { expanded })
5019
+ hasDetails && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkSTV6VJ3Ucjs.ExpandChevron, { expanded })
5022
5020
  ]
5023
5021
  }
5024
5022
  ),
@@ -5066,7 +5064,7 @@ function MspOrganizationCard({
5066
5064
  const trailing = action && loading ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk63A4GZMBcjs.InertWhileLoading, { children: action }) : action;
5067
5065
  if (footer) {
5068
5066
  return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: _chunk63A4GZMBcjs.cn.call(void 0, FOOTER_FRAME_CLASS, className), children: [
5069
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkKA3L6D5Ncjs.SquareAvatar, { loading, src: logoUrl, alt: name, fallback: name, size: "sm", variant: "square" }),
5067
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkYSXVRTGTcjs.SquareAvatar, { loading, src: logoUrl, alt: name, fallback: name, size: "sm", variant: "square" }),
5070
5068
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: TEXT_STACK_CLASS, children: [
5071
5069
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: FOOTER_CAPTION_CLASS, children: FOOTER_CAPTION }),
5072
5070
  loading ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkPMUCEUFQcjs.TextLineSkeleton, { type: "h4", className: "w-3/5" }) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "truncate text-ods-text-primary text-h4", children: _nullishCoalesce(title, () => ( name)) })
@@ -5075,7 +5073,7 @@ function MspOrganizationCard({
5075
5073
  ] });
5076
5074
  }
5077
5075
  return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: _chunk63A4GZMBcjs.cn.call(void 0, CARD_FRAME_CLASS, className), children: [
5078
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkKA3L6D5Ncjs.SquareAvatar, { loading, src: logoUrl, alt: name, fallback: name, size: "lg", variant: "square" }),
5076
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkYSXVRTGTcjs.SquareAvatar, { loading, src: logoUrl, alt: name, fallback: name, size: "lg", variant: "square" }),
5079
5077
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: TEXT_STACK_CLASS, children: loading ? /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _jsxruntime.Fragment, { children: [
5080
5078
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkPMUCEUFQcjs.TextLineSkeleton, { type: "h3", className: "w-3/5" }),
5081
5079
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkPMUCEUFQcjs.TextLineSkeleton, { type: "h4", className: "w-2/5" })
@@ -5185,7 +5183,7 @@ var ChatHeader = _react.forwardRef.call(void 0,
5185
5183
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex items-center justify-between gap-4 px-4 py-3", children: [
5186
5184
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex items-center gap-3", children: [
5187
5185
  userIcon && !isLoading ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "flex h-16 w-16 items-center justify-center rounded-full bg-ods-accent", children: userIcon }) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
5188
- _chunkKA3L6D5Ncjs.SquareAvatar,
5186
+ _chunkYSXVRTGTcjs.SquareAvatar,
5189
5187
  {
5190
5188
  loading: isLoading,
5191
5189
  src: userAvatar,
@@ -5267,9 +5265,9 @@ var ChatHeader = _react.forwardRef.call(void 0,
5267
5265
  )
5268
5266
  ] }),
5269
5267
  (ticketInfo.status || ticketInfo.statusName) && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
5270
- _chunkACPOJE32cjs.TicketStatusTag,
5268
+ _chunkSTV6VJ3Ucjs.TicketStatusTag,
5271
5269
  {
5272
- ..._chunkACPOJE32cjs.resolveStatusTagProps.call(void 0, {
5270
+ ..._chunkSTV6VJ3Ucjs.resolveStatusTagProps.call(void 0, {
5273
5271
  status: ticketInfo.status,
5274
5272
  statusKind: ticketInfo.statusKind,
5275
5273
  statusName: ticketInfo.statusName,
@@ -5807,7 +5805,7 @@ function InlineChip({
5807
5805
  loading
5808
5806
  }) {
5809
5807
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
5810
- _chunkKA3L6D5Ncjs.Tag,
5808
+ _chunkYSXVRTGTcjs.Tag,
5811
5809
  {
5812
5810
  as: "span",
5813
5811
  variant: "badge",
@@ -5908,11 +5906,11 @@ var remarkMentionChips = () => {
5908
5906
  // src/components/chat/tool-execution-display.tsx
5909
5907
 
5910
5908
 
5911
- var COMMAND_BODY_KEYS = new Set(_chunkACPOJE32cjs.COMMAND_BODY_ARG_KEYS);
5909
+ var COMMAND_BODY_KEYS = new Set(_chunkSTV6VJ3Ucjs.COMMAND_BODY_ARG_KEYS);
5912
5910
  var ToolExecutionDisplay = _react.forwardRef.call(void 0,
5913
5911
  ({ className, message, assistantType, variant = "admin", ...props }, ref) => {
5914
5912
  const [expanded, setExpanded] = _react.useState.call(void 0, false);
5915
- const { innerRef, containerStyle } = _chunkACPOJE32cjs.useCollapsible.call(void 0, { expanded });
5913
+ const { innerRef, containerStyle } = _chunkSTV6VJ3Ucjs.useCollapsible.call(void 0, { expanded });
5916
5914
  const isClient = assistantType === "fae";
5917
5915
  const isClientView = variant === "client";
5918
5916
  const isExecuting = message.type === "EXECUTING_TOOL";
@@ -5931,8 +5929,8 @@ var ToolExecutionDisplay = _react.forwardRef.call(void 0,
5931
5929
  }, [message.parameters, variant]);
5932
5930
  const hasResult = isExecuted && typeof message.result === "string" && message.result.length > 0;
5933
5931
  const review = message.policyReview;
5934
- const reviewRows = _chunkACPOJE32cjs.hasPolicyReviewRows.call(void 0, review);
5935
- const isConciseRemoteRead = !message.integratedToolType && !!previewText && argEntries.length === 0 && !hasResult && !reviewRows && !_chunkACPOJE32cjs.isPolicyEscalated.call(void 0, review);
5932
+ const reviewRows = _chunkSTV6VJ3Ucjs.hasPolicyReviewRows.call(void 0, review);
5933
+ const isConciseRemoteRead = !message.integratedToolType && !!previewText && argEntries.length === 0 && !hasResult && !reviewRows && !_chunkSTV6VJ3Ucjs.isPolicyEscalated.call(void 0, review);
5936
5934
  const isStaticRow = isClientView || isConciseRemoteRead;
5937
5935
  const hasBody = argEntries.length > 0 || reviewRows || hasResult || isExecuting;
5938
5936
  const isExpanded = expanded && hasBody;
@@ -5945,7 +5943,7 @@ var ToolExecutionDisplay = _react.forwardRef.call(void 0,
5945
5943
  const statusTone = isExecuting ? "working" : message.success === false ? "error" : "success";
5946
5944
  const statusLabel = _optionalChain([message, 'access', _98 => _98.statusLabel, 'optionalAccess', _99 => _99.trim, 'call', _100 => _100()]) || (isExecuting ? "Working on it" : message.success === false ? "Failed" : "Done");
5947
5945
  const headerContent = /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _jsxruntime.Fragment, { children: [
5948
- !isClient && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "flex h-5 w-5 shrink-0 items-center justify-center text-ods-text-secondary", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkIGVAPIEWcjs.ToolIcon, { toolType: integratedToolType, size: 16 }) }),
5946
+ !isClient && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "flex h-5 w-5 shrink-0 items-center justify-center text-ods-text-secondary", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk6C4OR4MZcjs.ToolIcon, { toolType: integratedToolType, size: 16 }) }),
5949
5947
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
5950
5948
  "div",
5951
5949
  {
@@ -5957,7 +5955,7 @@ var ToolExecutionDisplay = _react.forwardRef.call(void 0,
5957
5955
  }
5958
5956
  ),
5959
5957
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "flex h-5 w-5 shrink-0 items-center justify-center", children: renderStatusIcon() }),
5960
- !isStaticRow && hasBody && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "flex h-5 w-5 shrink-0 items-center justify-center", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkACPOJE32cjs.ExpandChevron, { expanded: isExpanded }) })
5958
+ !isStaticRow && hasBody && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "flex h-5 w-5 shrink-0 items-center justify-center", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkSTV6VJ3Ucjs.ExpandChevron, { expanded: isExpanded }) })
5961
5959
  ] });
5962
5960
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
5963
5961
  "div",
@@ -5967,7 +5965,7 @@ var ToolExecutionDisplay = _react.forwardRef.call(void 0,
5967
5965
  // The command running block keeps its bordered box in both chats
5968
5966
  // (Figma 1972-6109). CLIENT (Fae) only drops the tool icon below.
5969
5967
  "flex w-full flex-col overflow-hidden",
5970
- _chunkACPOJE32cjs.CHAT_BLOCK_FRAME_CLASS,
5968
+ _chunkSTV6VJ3Ucjs.CHAT_BLOCK_FRAME_CLASS,
5971
5969
  className
5972
5970
  ),
5973
5971
  ...props,
@@ -5978,7 +5976,7 @@ var ToolExecutionDisplay = _react.forwardRef.call(void 0,
5978
5976
  // It reads as a card: what was done, then one status line under it.
5979
5977
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex w-full flex-col gap-[var(--spacing-system-xsf)] p-[var(--spacing-system-sf)] text-left", children: [
5980
5978
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "min-w-0 whitespace-pre-wrap break-words text-ods-text-primary text-h4", children: previewText }),
5981
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkACPOJE32cjs.StatusLine, { tone: statusTone, label: statusLabel })
5979
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkSTV6VJ3Ucjs.StatusLine, { tone: statusTone, label: statusLabel })
5982
5980
  ] })
5983
5981
  ) : /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _jsxruntime.Fragment, { children: [
5984
5982
  hasBody ? (
@@ -5997,16 +5995,16 @@ var ToolExecutionDisplay = _react.forwardRef.call(void 0,
5997
5995
  )
5998
5996
  ) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "flex w-full items-start gap-[var(--spacing-system-xs)] p-[var(--spacing-system-s)] text-left", children: headerContent }),
5999
5997
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "w-full", style: containerStyle, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { ref: innerRef, children: hasBody && /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex w-full flex-col items-start gap-0 border-t border-ods-border p-[var(--spacing-system-sf)] text-h6", children: [
6000
- argEntries.map(([key, value]) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkACPOJE32cjs.ArgRow, { argKey: key, value }, key)),
5998
+ argEntries.map(([key, value]) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkSTV6VJ3Ucjs.ArgRow, { argKey: key, value }, key)),
6001
5999
  reviewRows && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
6002
- _chunkACPOJE32cjs.PolicyReviewRows,
6000
+ _chunkSTV6VJ3Ucjs.PolicyReviewRows,
6003
6001
  {
6004
6002
  review,
6005
6003
  className: argEntries.length > 0 ? "mt-[var(--spacing-system-xsf)]" : void 0
6006
6004
  }
6007
6005
  ),
6008
6006
  hasResult && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
6009
- _chunkACPOJE32cjs.ResultBlock,
6007
+ _chunkSTV6VJ3Ucjs.ResultBlock,
6010
6008
  {
6011
6009
  result: message.result,
6012
6010
  className: argEntries.length > 0 || reviewRows ? "mt-[var(--spacing-system-xsf)]" : void 0
@@ -6026,7 +6024,7 @@ var ToolExecutionDisplay = _react.forwardRef.call(void 0,
6026
6024
  }
6027
6025
  )
6028
6026
  ] }) }) }),
6029
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkACPOJE32cjs.PolicyEscalationAlert, { review, className: "border-t border-ods-border" })
6027
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkSTV6VJ3Ucjs.PolicyEscalationAlert, { review, className: "border-t border-ods-border" })
6030
6028
  ] })
6031
6029
  }
6032
6030
  );
@@ -6047,7 +6045,7 @@ function ChatMarkdownLink({
6047
6045
  ...anchorProps
6048
6046
  }) {
6049
6047
  const runtime = _chunkUJ7AXHRZcjs.useChatRuntime.call(void 0, );
6050
- if (!runtime || _chunkETZFBB7Ocjs.navLinkTarget.call(void 0, runtime, href).isNewTab) {
6048
+ if (!runtime || _chunkEXQSIX2Icjs.navLinkTarget.call(void 0, runtime, href).isNewTab) {
6051
6049
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, Anchor2, { href, className, ...anchorProps, children });
6052
6050
  }
6053
6051
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, Anchor2, { href, ...anchorProps, className: "no-underline", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, InlineChip, { icon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkRD4RFX3Kcjs.BrowserWindowIcon, {}), label: children, className: "hover:bg-ods-bg-hover" }) });
@@ -6055,8 +6053,8 @@ function ChatMarkdownLink({
6055
6053
 
6056
6054
  // src/components/chat/chat-message-layout.ts
6057
6055
  var CHAT_MESSAGE_ROW_PADDING_CLASS = {
6058
- [_chunk63ZV3UGGcjs.CHAT_APPEARANCE.CLASSIC]: "py-[var(--spacing-system-s)]",
6059
- [_chunk63ZV3UGGcjs.CHAT_APPEARANCE.V2]: "py-[calc(var(--spacing-system-m)/2)]"
6056
+ [_chunk65NMKAPQcjs.CHAT_APPEARANCE.CLASSIC]: "py-[var(--spacing-system-s)]",
6057
+ [_chunk65NMKAPQcjs.CHAT_APPEARANCE.V2]: "py-[calc(var(--spacing-system-m)/2)]"
6060
6058
  };
6061
6059
  var CHAT_MESSAGE_STACK_CLASS = "grid min-w-0 grid-cols-1 gap-[var(--spacing-system-xxs)]";
6062
6060
  var CHAT_MESSAGE_HEADER_CLASS = "flex items-center gap-[var(--spacing-system-xs)]";
@@ -6113,8 +6111,8 @@ var remarkStripCitations = () => {
6113
6111
  var MENTION_MARKER_REGEX = /(^|[^\w@])@[a-zA-Z]+:([A-Za-z0-9_.+/=-]*[A-Za-z0-9_+/=])/g;
6114
6112
  var CARD_MARKER_REGEX = createCardMarkerScanner();
6115
6113
  function formatMessageTimestamp(timestamp) {
6116
- const time = _chunk63ZV3UGGcjs.formatTime.call(void 0, timestamp);
6117
- return _chunkACPOJE32cjs.isToday.call(void 0, timestamp) ? time : `${_chunk63ZV3UGGcjs.formatDate.call(void 0, timestamp)} ${time}`;
6114
+ const time = _chunk65NMKAPQcjs.formatTime.call(void 0, timestamp);
6115
+ return _chunkSTV6VJ3Ucjs.isToday.call(void 0, timestamp) ? time : `${_chunk65NMKAPQcjs.formatDate.call(void 0, timestamp)} ${time}`;
6118
6116
  }
6119
6117
  function normalizeContent(content) {
6120
6118
  if (typeof content === "string") {
@@ -6170,7 +6168,7 @@ var ChatMessageEnhanced = _react.forwardRef.call(void 0,
6170
6168
  const isError = role === "error";
6171
6169
  const inheritedAppearance = useChatAppearance();
6172
6170
  const appearance = _nullishCoalesce(appearanceProp, () => ( inheritedAppearance));
6173
- const isV2 = appearance === _chunk63ZV3UGGcjs.CHAT_APPEARANCE.V2;
6171
+ const isV2 = appearance === _chunk65NMKAPQcjs.CHAT_APPEARANCE.V2;
6174
6172
  const authorType = _nullishCoalesce(authorTypeProp, () => ( (isHuman ? "user" : assistantType === "mingo" ? "mingo" : "fae")));
6175
6173
  const isOtherPerson = isHuman && selfAuthorType !== void 0 && authorType !== "system" && authorType !== selfAuthorType;
6176
6174
  const isUser = isHuman && !isOtherPerson;
@@ -6358,9 +6356,9 @@ var ChatMessageEnhanced = _react.forwardRef.call(void 0,
6358
6356
  const faceBox = "h-5 w-5 flex-shrink-0";
6359
6357
  const face = !showAvatar || isSystem ? null : !isHuman && !avatar && assistantIcon ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { title: displayName, className: _chunk63A4GZMBcjs.cn.call(void 0, "flex items-center justify-center", faceBox), children: assistantIcon }) : !isHuman && !avatar && assistantType ? (
6360
6358
  // An agent with no picture shows its packaged mark, never initials.
6361
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { role: "img", "aria-label": displayName, title: displayName, className: _chunk63A4GZMBcjs.cn.call(void 0, "inline-flex", faceBox), children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkACPOJE32cjs.AgentMark, { agent: assistantType, className: "h-full w-full rounded-full" }) })
6359
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { role: "img", "aria-label": displayName, title: displayName, className: _chunk63A4GZMBcjs.cn.call(void 0, "inline-flex", faceBox), children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkSTV6VJ3Ucjs.AgentMark, { agent: assistantType, className: "h-full w-full rounded-full" }) })
6362
6360
  ) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { title: displayName, className: "inline-flex flex-shrink-0", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
6363
- _chunkKA3L6D5Ncjs.SquareAvatar,
6361
+ _chunkYSXVRTGTcjs.SquareAvatar,
6364
6362
  {
6365
6363
  src: avatar || void 0,
6366
6364
  alt: displayName,
@@ -6376,7 +6374,7 @@ var ChatMessageEnhanced = _react.forwardRef.call(void 0,
6376
6374
  "div",
6377
6375
  {
6378
6376
  ref,
6379
- className: _chunk63A4GZMBcjs.cn.call(void 0, "relative", CHAT_MESSAGE_ROW_PADDING_CLASS[_chunk63ZV3UGGcjs.CHAT_APPEARANCE.V2], className),
6377
+ className: _chunk63A4GZMBcjs.cn.call(void 0, "relative", CHAT_MESSAGE_ROW_PADDING_CLASS[_chunk65NMKAPQcjs.CHAT_APPEARANCE.V2], className),
6380
6378
  ...props,
6381
6379
  children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, ChatAppearanceContext.Provider, { value: appearance, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, SystemEventMessage, { text: name, timestamp }) })
6382
6380
  }
@@ -6388,7 +6386,7 @@ var ChatMessageEnhanced = _react.forwardRef.call(void 0,
6388
6386
  ref,
6389
6387
  className: _chunk63A4GZMBcjs.cn.call(void 0,
6390
6388
  "relative",
6391
- CHAT_MESSAGE_ROW_PADDING_CLASS[isV2 ? _chunk63ZV3UGGcjs.CHAT_APPEARANCE.V2 : _chunk63ZV3UGGcjs.CHAT_APPEARANCE.CLASSIC],
6389
+ CHAT_MESSAGE_ROW_PADDING_CLASS[isV2 ? _chunk65NMKAPQcjs.CHAT_APPEARANCE.V2 : _chunk65NMKAPQcjs.CHAT_APPEARANCE.CLASSIC],
6392
6390
  className
6393
6391
  ),
6394
6392
  ...props,
@@ -6445,7 +6443,7 @@ var ChatMessageEnhanced = _react.forwardRef.call(void 0,
6445
6443
  );
6446
6444
  } else if (segment.type === "approval_batch") {
6447
6445
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
6448
- _chunkACPOJE32cjs.ApprovalBatchMessage,
6446
+ _chunkSTV6VJ3Ucjs.ApprovalBatchMessage,
6449
6447
  {
6450
6448
  data: segment.data,
6451
6449
  status: segment.status,
@@ -6531,7 +6529,7 @@ function ChatMessageSkeleton({
6531
6529
  const lines = Math.max(1, bodyLines);
6532
6530
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: _chunk63A4GZMBcjs.cn.call(void 0, "relative", CHAT_MESSAGE_ROW_PADDING_CLASS[appearance], className), ..._chunk63A4GZMBcjs.loadingItemProps.call(void 0, props), children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: CHAT_MESSAGE_STACK_CLASS, children: [
6533
6531
  (showAvatar || showName) && /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: _chunk63A4GZMBcjs.cn.call(void 0, CHAT_MESSAGE_HEADER_CLASS, isUser && "justify-end"), children: [
6534
- showAvatar && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkKA3L6D5Ncjs.SquareAvatar, { loading: true, sizePx: CHAT_MESSAGE_FACE_PX, variant: "round" }),
6532
+ showAvatar && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkYSXVRTGTcjs.SquareAvatar, { loading: true, sizePx: CHAT_MESSAGE_FACE_PX, variant: "round" }),
6535
6533
  showName && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkPMUCEUFQcjs.TextLineSkeleton, { type: "h6", className: "w-24" }),
6536
6534
  showName && showTime && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkPMUCEUFQcjs.TextLineSkeleton, { type: "h6", className: _chunk63A4GZMBcjs.cn.call(void 0, "ml-auto", TIME_BAR_CLASS) })
6537
6535
  ] }),
@@ -6719,7 +6717,7 @@ var ChatMessageList = _react.forwardRef.call(void 0,
6719
6717
  approvalVariant,
6720
6718
  selfAuthorType,
6721
6719
  nameEveryTurn,
6722
- appearance = _chunk63ZV3UGGcjs.CHAT_APPEARANCE.CLASSIC,
6720
+ appearance = _chunk65NMKAPQcjs.CHAT_APPEARANCE.CLASSIC,
6723
6721
  assistantIcon,
6724
6722
  pendingApprovals,
6725
6723
  hasNextPage,
@@ -7584,7 +7582,7 @@ function formatChatAttachmentMarkdownForBubble(att, viewUrlPrefix) {
7584
7582
 
7585
7583
  [Attached: ${safeName}](${url})`;
7586
7584
  }
7587
- var CHAT_ATTACHMENT_VIEW_URL_PREFIX_REGEX_ESCAPED = _chunkYY3WP2YQcjs.escapeRegExp.call(void 0, CHAT_ATTACHMENT_VIEW_URL_PREFIX);
7585
+ var CHAT_ATTACHMENT_VIEW_URL_PREFIX_REGEX_ESCAPED = _chunk3GJ75OULcjs.escapeRegExp.call(void 0, CHAT_ATTACHMENT_VIEW_URL_PREFIX);
7588
7586
  var CHAT_ATTACHMENT_MARKDOWN_PATTERN = new RegExp(
7589
7587
  `^\\s*!?\\[[^\\]]*\\]\\(${CHAT_ATTACHMENT_VIEW_URL_PREFIX_REGEX_ESCAPED}[^)]+\\)\\s*$`,
7590
7588
  "gm"
@@ -7848,7 +7846,7 @@ function MarqueeWallFades({
7848
7846
  }) });
7849
7847
  }
7850
7848
  function CloneCopy({ className, style, children }) {
7851
- const ref = _chunk2IJMHBOKcjs.useSuppressCloneFocus.call(void 0, true);
7849
+ const ref = _chunk77GX573Icjs.useSuppressCloneFocus.call(void 0, true);
7852
7850
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { ref, "aria-hidden": true, "data-marquee-copy": "clone", className, style, children });
7853
7851
  }
7854
7852
  function MarqueeWall({
@@ -7875,7 +7873,7 @@ function MarqueeWall({
7875
7873
  const containerRef = _react.useRef.call(void 0, null);
7876
7874
  const trackRef = _react.useRef.call(void 0, null);
7877
7875
  const copyRef = _react.useRef.call(void 0, null);
7878
- const reducedMotion = _nullishCoalesce(_chunk4SSJ3T3Ncjs.useMediaQuery.call(void 0, "(prefers-reduced-motion: reduce)"), () => ( false));
7876
+ const reducedMotion = _nullishCoalesce(_chunkGK577ZLJcjs.useMediaQuery.call(void 0, "(prefers-reduced-motion: reduce)"), () => ( false));
7879
7877
  const [overflows, setOverflows] = _react.useState.call(void 0, false);
7880
7878
  const copySizeRef = _react.useRef.call(void 0, 0);
7881
7879
  const wrapSizeRef = _react.useRef.call(void 0, 0);
@@ -7902,7 +7900,7 @@ function MarqueeWall({
7902
7900
  ro.observe(copy);
7903
7901
  return () => ro.disconnect();
7904
7902
  }, [measure, marqueeMounted]);
7905
- const { ref: observe, inView: nearViewport } = _chunk2IJMHBOKcjs.useInView.call(void 0, {
7903
+ const { ref: observe, inView: nearViewport } = _chunk77GX573Icjs.useInView.call(void 0, {
7906
7904
  rootMargin: _chunkNTPX5GXIcjs.NEAR_VIEWPORT_ROOT_MARGIN,
7907
7905
  initial: true
7908
7906
  });
@@ -7910,7 +7908,7 @@ function MarqueeWall({
7910
7908
  observe(containerRef.current);
7911
7909
  return () => observe(null);
7912
7910
  }, [observe]);
7913
- const autoplay = _chunk2IJMHBOKcjs.useAutoplay.call(void 0, nearViewport);
7911
+ const autoplay = _chunk77GX573Icjs.useAutoplay.call(void 0, nearViewport);
7914
7912
  const pointerInsideRef = _react.useRef.call(void 0, false);
7915
7913
  const clearPointerInside = _react.useCallback.call(void 0, () => {
7916
7914
  pointerInsideRef.current = false;
@@ -7923,7 +7921,7 @@ function MarqueeWall({
7923
7921
  if (e.pointerType === "touch") return;
7924
7922
  pointerInsideRef.current = false;
7925
7923
  }, []);
7926
- _chunk2IJMHBOKcjs.useResetOnPageHidden.call(void 0, clearPointerInside);
7924
+ _chunk77GX573Icjs.useResetOnPageHidden.call(void 0, clearPointerInside);
7927
7925
  const draggingRef = _react.useRef.call(void 0, false);
7928
7926
  const dragSuppressUntilRef = _react.useRef.call(void 0, 0);
7929
7927
  const applyTransform = _react.useCallback.call(void 0,
@@ -7976,7 +7974,7 @@ function MarqueeWall({
7976
7974
  if (!sync) return void 0;
7977
7975
  return sync.register(member);
7978
7976
  }, [sync, member]);
7979
- const { posRef, wrap } = _chunk2IJMHBOKcjs.useMarqueeEngine.call(void 0, {
7977
+ const { posRef, wrap } = _chunk77GX573Icjs.useMarqueeEngine.call(void 0, {
7980
7978
  active: marqueeActive && autoplay.playing && isDriver,
7981
7979
  speed,
7982
7980
  isPaused: (now) => pauseOnHover && pointerInsideRef.current || draggingRef.current || now < dragSuppressUntilRef.current,
@@ -8484,9 +8482,9 @@ function chatDayLabel(timestamp, now = /* @__PURE__ */ new Date()) {
8484
8482
  if (time >= startOfToday) return "Today";
8485
8483
  const startOfYesterday = new Date(now.getFullYear(), now.getMonth(), now.getDate() - 1).getTime();
8486
8484
  if (time >= startOfYesterday) return "Yesterday";
8487
- return _chunkKA3L6D5Ncjs.formatDateWithTimezone.call(void 0,
8485
+ return _chunkYSXVRTGTcjs.formatDateWithTimezone.call(void 0,
8488
8486
  date,
8489
- _chunkKA3L6D5Ncjs.VIEWER_TIMEZONE,
8487
+ _chunkYSXVRTGTcjs.VIEWER_TIMEZONE,
8490
8488
  { day: "numeric", month: "short", year: date.getFullYear() === now.getFullYear() ? void 0 : "numeric" },
8491
8489
  { viewerLocale: true }
8492
8490
  );
@@ -8690,7 +8688,7 @@ function MingoChatHistoryRow({
8690
8688
  !loading && "cursor-pointer focus:outline-none focus-visible:ring-2 focus-visible:ring-inset focus-visible:ring-ods-accent"
8691
8689
  ),
8692
8690
  children: [
8693
- loading ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkPMUCEUFQcjs.TextLineSkeleton, { type: "h4", className: _chunk63ZV3UGGcjs.SKELETON_TITLE_WIDTHS[skeletonIndex % _chunk63ZV3UGGcjs.SKELETON_TITLE_WIDTHS.length] }) : null,
8691
+ loading ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkPMUCEUFQcjs.TextLineSkeleton, { type: "h4", className: _chunk65NMKAPQcjs.SKELETON_TITLE_WIDTHS[skeletonIndex % _chunk65NMKAPQcjs.SKELETON_TITLE_WIDTHS.length] }) : null,
8694
8692
  !loading && unread > 0 ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "flex h-8 min-w-8 shrink-0 items-center justify-center rounded-md bg-ods-accent px-[var(--spacing-system-xsf)] text-ods-text-on-accent text-h5", children: unread > 99 ? "99+" : unread }) : null,
8695
8693
  loading ? null : /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
8696
8694
  "span",
@@ -8760,7 +8758,7 @@ function MingoChatHistoryRow({
8760
8758
  hasMenu && (menuOpen ? "pointer-events-none opacity-0" : "md:group-hover/row:pointer-events-none md:group-hover/row:opacity-0 md:peer-[:focus-within]/menu:pointer-events-none md:peer-[:focus-within]/menu:opacity-0")
8761
8759
  ),
8762
8760
  children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
8763
- _chunkKA3L6D5Ncjs.SquareAvatar,
8761
+ _chunkYSXVRTGTcjs.SquareAvatar,
8764
8762
  {
8765
8763
  variant: "round",
8766
8764
  sizePx: 24,
@@ -8817,7 +8815,7 @@ function MingoChatHistory({
8817
8815
  const isLoading = _chunk63A4GZMBcjs.useLoadingScope.call(void 0, ) || loading;
8818
8816
  const groups = _react.useMemo.call(void 0, () => groupDialogs(dialogs), [dialogs]);
8819
8817
  const noSearchResults = groups.length === 0 && !!_optionalChain([searchQuery, 'optionalAccess', _171 => _171.trim, 'call', _172 => _172()]);
8820
- const { scrollRef, fadeTop, fadeBottom, update: updateFade } = _chunk63ZV3UGGcjs.useScrollFade.call(void 0, );
8818
+ const { scrollRef, fadeTop, fadeBottom, update: updateFade } = _chunk65NMKAPQcjs.useScrollFade.call(void 0, );
8821
8819
  const onScroll = loadMore === "scroll";
8822
8820
  const sentinelRef = useLoadMoreSentinel({
8823
8821
  hasMore: hasMore && onScroll,
@@ -8880,8 +8878,8 @@ function MingoChatHistory({
8880
8878
  ]
8881
8879
  }
8882
8880
  ),
8883
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk63ZV3UGGcjs.ScrollFadeOverlay, { edge: "top", visible: fadeTop, color: "var(--color-bg-card)", className: "h-12" }),
8884
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk63ZV3UGGcjs.ScrollFadeOverlay, { edge: "bottom", visible: fadeBottom, color: "var(--color-bg-card)", className: "h-12" })
8881
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk65NMKAPQcjs.ScrollFadeOverlay, { edge: "top", visible: fadeTop, color: "var(--color-bg-card)", className: "h-12" }),
8882
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk65NMKAPQcjs.ScrollFadeOverlay, { edge: "bottom", visible: fadeBottom, color: "var(--color-bg-card)", className: "h-12" })
8885
8883
  ] }) });
8886
8884
  }
8887
8885
 
@@ -8935,7 +8933,7 @@ function MingoWelcome({
8935
8933
  } catch (e8) {
8936
8934
  }
8937
8935
  }, [promoStorage, promoStorageKey]);
8938
- const { scrollRef, fadeTop, fadeBottom, update: updateScrollFade } = _chunk63ZV3UGGcjs.useScrollFade.call(void 0, );
8936
+ const { scrollRef, fadeTop, fadeBottom, update: updateScrollFade } = _chunk65NMKAPQcjs.useScrollFade.call(void 0, );
8939
8937
  const showPinnedRegion = !!dialogHistory || !historyLoading && !loadError;
8940
8938
  return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
8941
8939
  "div",
@@ -8967,7 +8965,7 @@ function MingoWelcome({
8967
8965
  onScroll: updateScrollFade,
8968
8966
  className: "flex min-h-0 flex-1 flex-col gap-[var(--spacing-system-m)] overflow-y-auto overscroll-contain",
8969
8967
  children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex flex-1 flex-col items-center justify-center gap-[var(--spacing-system-l)] px-[var(--spacing-system-l)] py-[var(--spacing-system-xxl)] text-center", children: [
8970
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkACPOJE32cjs.AgentMark, { agent: "mingo", className: "h-12 w-12" }),
8968
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkSTV6VJ3Ucjs.AgentMark, { agent: "mingo", className: "h-12 w-12" }),
8971
8969
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex w-full flex-col gap-[var(--spacing-system-l)]", children: [
8972
8970
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { className: "text-ods-text-primary text-h2", children: heading }),
8973
8971
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { className: "text-ods-text-secondary text-h4", children: subtitle })
@@ -8975,8 +8973,8 @@ function MingoWelcome({
8975
8973
  ] })
8976
8974
  }
8977
8975
  ),
8978
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk63ZV3UGGcjs.ScrollFadeOverlay, { edge: "top", visible: fadeTop, className: "h-12" }),
8979
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk63ZV3UGGcjs.ScrollFadeOverlay, { edge: "bottom", visible: fadeBottom, className: "h-12" })
8976
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk65NMKAPQcjs.ScrollFadeOverlay, { edge: "top", visible: fadeTop, className: "h-12" }),
8977
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk65NMKAPQcjs.ScrollFadeOverlay, { edge: "bottom", visible: fadeBottom, className: "h-12" })
8980
8978
  ] }) })))),
8981
8979
  showPinnedRegion && /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex shrink-0 flex-col gap-[var(--spacing-system-m)]", children: [
8982
8980
  resolvedPromo && !promoDismissed && /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "relative flex shrink-0 items-center gap-[var(--spacing-system-m)] rounded-md border border-ods-border bg-ods-bg p-[var(--spacing-system-m)] pr-[var(--spacing-system-xl)]", children: [
@@ -9039,7 +9037,7 @@ function GuideWelcome({
9039
9037
  children,
9040
9038
  className
9041
9039
  }) {
9042
- const { scrollRef, fadeTop, fadeBottom, update: updateScrollFade } = _chunk63ZV3UGGcjs.useScrollFade.call(void 0, );
9040
+ const { scrollRef, fadeTop, fadeBottom, update: updateScrollFade } = _chunk65NMKAPQcjs.useScrollFade.call(void 0, );
9043
9041
  const inLoadingScope = _chunk63A4GZMBcjs.useLoadingScope.call(void 0, );
9044
9042
  const subtitleIsLoading = inLoadingScope || subtitleLoading && !subtitle;
9045
9043
  const chipsAreLoading = inLoadingScope || quickActionsLoading && quickActions.length === 0;
@@ -9075,8 +9073,8 @@ function GuideWelcome({
9075
9073
  icon && (icon.name || icon.url) ? (
9076
9074
  // Agent-mode identity glyph (chat-config Identity tab). Sized to
9077
9075
  // match the default Mingo mark (48px).
9078
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkO3EKOXFZcjs.EntityIcon, { icon: { name: icon.name, url: icon.url, props: icon.props }, size: 48 })
9079
- ) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkACPOJE32cjs.AgentMark, { agent: "mingo", className: "h-12 w-12" }),
9076
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkAYMY2VNBcjs.EntityIcon, { icon: { name: icon.name, url: icon.url, props: icon.props }, size: 48 })
9077
+ ) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkSTV6VJ3Ucjs.AgentMark, { agent: "mingo", className: "h-12 w-12" }),
9080
9078
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex w-full flex-col gap-[var(--spacing-system-l)]", children: [
9081
9079
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { className: "text-ods-text-primary text-h2", children: title }),
9082
9080
  subtitleIsLoading ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "flex w-full justify-center", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkPMUCEUFQcjs.TextLineSkeleton, { type: "h4", className: "w-3/4 max-w-80" }) }) : subtitle ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { className: "text-ods-text-secondary text-h4", children: subtitle }) : null
@@ -9086,8 +9084,8 @@ function GuideWelcome({
9086
9084
  ]
9087
9085
  }
9088
9086
  ),
9089
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk63ZV3UGGcjs.ScrollFadeOverlay, { edge: "top", visible: fadeTop, className: "h-12" }),
9090
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk63ZV3UGGcjs.ScrollFadeOverlay, { edge: "bottom", visible: fadeBottom, className: "h-12" })
9087
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk65NMKAPQcjs.ScrollFadeOverlay, { edge: "top", visible: fadeTop, className: "h-12" }),
9088
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk65NMKAPQcjs.ScrollFadeOverlay, { edge: "bottom", visible: fadeBottom, className: "h-12" })
9091
9089
  ] }),
9092
9090
  (quickActions.length > 0 || chipsAreLoading) && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, QuickActionSet, { chips: chipItems, loading: chipsAreLoading, showTopic: showTopicProp })
9093
9091
  ] });
@@ -9157,17 +9155,17 @@ function MingoArchiveList({
9157
9155
  className: "flex min-h-0 flex-1 flex-col gap-[var(--spacing-system-xxs)] px-[var(--spacing-system-xs)] pt-[var(--spacing-system-mf)]",
9158
9156
  children: [
9159
9157
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { className: "shrink-0 px-[var(--spacing-system-xs)] pt-[var(--spacing-system-xs)] text-ods-text-secondary text-h5", children: "Archived Chats" }),
9160
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "flex min-h-0 flex-1 flex-col gap-[var(--spacing-system-xxs)] overflow-y-auto overscroll-contain pb-[var(--spacing-system-mf)]", children: loading ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk63ZV3UGGcjs.ChatListItemLoadingPage, { count: pageSize, trailing: true }) : dialogs.length > 0 ? /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _jsxruntime.Fragment, { children: [
9158
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "flex min-h-0 flex-1 flex-col gap-[var(--spacing-system-xxs)] overflow-y-auto overscroll-contain pb-[var(--spacing-system-mf)]", children: loading ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk65NMKAPQcjs.ChatListItemLoadingPage, { count: pageSize, trailing: true }) : dialogs.length > 0 ? /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _jsxruntime.Fragment, { children: [
9161
9159
  dialogs.map((dialog) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
9162
- _chunk63ZV3UGGcjs.ChatListItem,
9160
+ _chunk65NMKAPQcjs.ChatListItem,
9163
9161
  {
9164
9162
  "data-loading-item": true,
9165
9163
  title: dialog.title || "Untitled Chat",
9166
9164
  onClick: () => _optionalChain([onSelectDialog, 'optionalCall', _178 => _178(dialog.id)]),
9167
9165
  trailing: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: "flex items-center gap-[var(--spacing-system-xs)]", children: [
9168
- dialog.timestamp && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "whitespace-nowrap text-ods-text-secondary text-h6", children: _chunkACPOJE32cjs.formatRelativeTime.call(void 0, dialog.timestamp) }),
9166
+ dialog.timestamp && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "whitespace-nowrap text-ods-text-secondary text-h6", children: _chunkSTV6VJ3Ucjs.formatRelativeTime.call(void 0, dialog.timestamp) }),
9169
9167
  dialog.owner && (dialog.owner.name || dialog.owner.avatarUrl) ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
9170
- _chunkKA3L6D5Ncjs.SquareAvatar,
9168
+ _chunkYSXVRTGTcjs.SquareAvatar,
9171
9169
  {
9172
9170
  variant: "round",
9173
9171
  sizePx: 24,
@@ -9300,7 +9298,7 @@ function MingoChatHeader({
9300
9298
  !renaming && subtitle && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { className: "truncate text-ods-text-secondary text-h6", children: subtitle })
9301
9299
  ] }),
9302
9300
  avatar && (avatar.name || avatar.avatarUrl) ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
9303
- _chunkKA3L6D5Ncjs.SquareAvatar,
9301
+ _chunkYSXVRTGTcjs.SquareAvatar,
9304
9302
  {
9305
9303
  variant: "round",
9306
9304
  sizePx: 32,
@@ -9349,7 +9347,7 @@ function ChatHeaderSearchField({
9349
9347
  className
9350
9348
  }) {
9351
9349
  const [value, setValue] = _react.useState.call(void 0, _nullishCoalesce(initialValue, () => ( "")));
9352
- const debounced = _chunk2IJMHBOKcjs.useDebounce.call(void 0, value, 300);
9350
+ const debounced = _chunk77GX573Icjs.useDebounce.call(void 0, value, 300);
9353
9351
  const lastEmitted = _react.useRef.call(void 0, _nullishCoalesce(initialValue, () => ( "")));
9354
9352
  const [exiting, setExiting] = _react.useState.call(void 0, false);
9355
9353
  const collapsedRef = _react.useRef.call(void 0, false);
@@ -9506,10 +9504,10 @@ function SearchInput({
9506
9504
  }) {
9507
9505
  const [internalValue, setInternalValue] = _react.useState.call(void 0, defaultValue);
9508
9506
  const currentValue = onChange ? _nullishCoalesce(value, () => ( "")) : internalValue;
9509
- const debouncedValue = _chunk2IJMHBOKcjs.useDebounce.call(void 0, currentValue, debounceMs);
9507
+ const debouncedValue = _chunk77GX573Icjs.useDebounce.call(void 0, currentValue, debounceMs);
9510
9508
  const [isOpen, setIsOpen] = _react.useState.call(void 0, false);
9511
9509
  const [highlightedIndex, setHighlightedIndex] = _react.useState.call(void 0, -1);
9512
- const keyboardPadding = _chunkJKBNK5U6cjs.useKeyboardCollisionPadding.call(void 0, );
9510
+ const keyboardPadding = _chunkD6GEMVHDcjs.useKeyboardCollisionPadding.call(void 0, );
9513
9511
  const containerRef = _react.useRef.call(void 0, null);
9514
9512
  const currentPlaceholder = filterChips.length > 0 ? "Add filter..." : placeholder;
9515
9513
  const {
@@ -9519,7 +9517,7 @@ function SearchInput({
9519
9517
  textMeasureRef,
9520
9518
  badgeRef,
9521
9519
  inputRef
9522
- } = _chunkJKBNK5U6cjs.useAutoLimitTags.call(void 0, {
9520
+ } = _chunkD6GEMVHDcjs.useAutoLimitTags.call(void 0, {
9523
9521
  count: filterChips.length,
9524
9522
  limitTags,
9525
9523
  // When chips exist, pass empty placeholder so the hook only reserves input minWidth,
@@ -9541,7 +9539,7 @@ function SearchInput({
9541
9539
  document.addEventListener("mousedown", handleClick);
9542
9540
  return () => document.removeEventListener("mousedown", handleClick);
9543
9541
  }, [showHiddenTags]);
9544
- _chunkYSDB6HGQcjs.useIsomorphicLayoutEffect.call(void 0, () => {
9542
+ _chunkSQ7YHWEPcjs.useIsomorphicLayoutEffect.call(void 0, () => {
9545
9543
  const popup = hiddenTagsPopupRef.current;
9546
9544
  const badge = badgeRef.current;
9547
9545
  if (!popup || !badge) return;
@@ -9716,7 +9714,7 @@ function SearchInput({
9716
9714
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "flex-shrink-0 text-ods-text-secondary transition-colors duration-200 group-has-[:focus]:text-ods-accent [&_svg]:size-4 content-md:[&_svg]:size-6", children: startAdornment !== void 0 ? startAdornment : /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkZ74QE57Tcjs.SearchIcon, {}) }),
9717
9715
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { ref: middleRef, className: "flex min-w-0 flex-1 items-center gap-2 overflow-hidden", children: [
9718
9716
  visibleChips.map((chip) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
9719
- _chunkKA3L6D5Ncjs.Tag,
9717
+ _chunkYSXVRTGTcjs.Tag,
9720
9718
  {
9721
9719
  variant: chipVariantToTagVariant(chip.variant),
9722
9720
  label: chip.label,
@@ -9809,7 +9807,7 @@ function SearchInput({
9809
9807
  )
9810
9808
  ] }),
9811
9809
  showHiddenTags && hiddenCount > 0 && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
9812
- _chunk63ZV3UGGcjs.HiddenTagsPopup,
9810
+ _chunk65NMKAPQcjs.HiddenTagsPopup,
9813
9811
  {
9814
9812
  ref: hiddenTagsPopupRef,
9815
9813
  items: hiddenChips.map((chip) => ({ label: chip.label, value: chip.id })),
@@ -9829,7 +9827,7 @@ function SearchInput({
9829
9827
  }
9830
9828
  ),
9831
9829
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { ref: measureRef, "aria-hidden": "true", className: "pointer-events-none fixed -left-[9999px] top-0 flex gap-2", children: filterChips.map((chip) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
9832
- _chunkKA3L6D5Ncjs.Tag,
9830
+ _chunkYSXVRTGTcjs.Tag,
9833
9831
  {
9834
9832
  variant: chipVariantToTagVariant(chip.variant),
9835
9833
  label: chip.label,
@@ -9979,7 +9977,7 @@ function MingoChatHistorySection({
9979
9977
  className
9980
9978
  }) {
9981
9979
  const captionId = _react.useId.call(void 0, );
9982
- const visitor = _chunk2IJMHBOKcjs.useVisitorOs.call(void 0, );
9980
+ const visitor = _chunk77GX573Icjs.useVisitorOs.call(void 0, );
9983
9981
  const [searchOpen, setSearchOpen] = _reactusecontrollablestate.useControllableState.call(void 0, {
9984
9982
  prop: searchOpenProp,
9985
9983
  defaultProp: false,
@@ -9987,7 +9985,7 @@ function MingoChatHistorySection({
9987
9985
  });
9988
9986
  const hasSearch = !!_optionalChain([searchQuery, 'optionalAccess', _216 => _216.trim, 'call', _217 => _217()]);
9989
9987
  const showSearch = searchOpen && !!onSearchChange;
9990
- const shortcut = visitor.known ? _chunk2IJMHBOKcjs.shortcutLabel.call(void 0, visitor.os, "K") : null;
9988
+ const shortcut = visitor.known ? _chunk77GX573Icjs.shortcutLabel.call(void 0, visitor.os, "K") : null;
9991
9989
  const listProps = {
9992
9990
  dialogs,
9993
9991
  activeDialogId,
@@ -10052,7 +10050,7 @@ function MingoChatHistorySection({
10052
10050
  variant: "transparent",
10053
10051
  size: "icon",
10054
10052
  "aria-label": "Search chats",
10055
- "aria-keyshortcuts": shortcut ? _chunk2IJMHBOKcjs.usesCommandKey.call(void 0, visitor.os) ? "Meta+K" : "Control+K" : void 0,
10053
+ "aria-keyshortcuts": shortcut ? _chunk77GX573Icjs.usesCommandKey.call(void 0, visitor.os) ? "Meta+K" : "Control+K" : void 0,
10056
10054
  onClick: () => setSearchOpen(true),
10057
10055
  className: ICON_BUTTON_CLASS,
10058
10056
  children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkZ74QE57Tcjs.SearchIcon, { size: 20 })
@@ -10153,7 +10151,7 @@ function MingoChatSearchModal({
10153
10151
  }
10154
10152
  function SearchModalContent({ initialValue, onSearchChange, onClose, children }) {
10155
10153
  const [value, setValue] = _react.useState.call(void 0, _nullishCoalesce(initialValue, () => ( "")));
10156
- const debounced = _chunk2IJMHBOKcjs.useDebounce.call(void 0, value, 300);
10154
+ const debounced = _chunk77GX573Icjs.useDebounce.call(void 0, value, 300);
10157
10155
  const lastSent = _react.useRef.call(void 0, _nullishCoalesce(initialValue, () => ( "")));
10158
10156
  const fieldRef = _react.useRef.call(void 0, null);
10159
10157
  const send = (term) => {
@@ -10174,8 +10172,8 @@ function SearchModalContent({ initialValue, onSearchChange, onClose, children })
10174
10172
  send("");
10175
10173
  onClose();
10176
10174
  };
10177
- return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunk63ZV3UGGcjs.Modal, { isOpen: true, onClose: close, className: "md:max-w-[600px]", children: [
10178
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk63ZV3UGGcjs.ModalHeader, { children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk63ZV3UGGcjs.ModalTitle, { children: "Search chats" }) }),
10175
+ return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunk65NMKAPQcjs.Modal, { isOpen: true, onClose: close, className: "md:max-w-[600px]", children: [
10176
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk65NMKAPQcjs.ModalHeader, { children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk65NMKAPQcjs.ModalTitle, { children: "Search chats" }) }),
10179
10177
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { ref: fieldRef, role: "search", "aria-label": "Search chats", className: "w-full", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
10180
10178
  SearchInput,
10181
10179
  {
@@ -10231,7 +10229,7 @@ function SectionRow({
10231
10229
  // A row that lands in a day already on screen (the next page) fades in too.
10232
10230
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "group/row relative shrink-0 duration-300 animate-in fade-in motion-reduce:animate-none", children: [
10233
10231
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
10234
- _chunk63ZV3UGGcjs.ChatListItem,
10232
+ _chunk65NMKAPQcjs.ChatListItem,
10235
10233
  {
10236
10234
  active,
10237
10235
  title,
@@ -10253,7 +10251,7 @@ function SectionRow({
10253
10251
  children: [
10254
10252
  glyph && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { role: "img", "aria-label": glyph.label, className: "flex", children: glyph.icon }),
10255
10253
  ownerName && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
10256
- _chunkKA3L6D5Ncjs.SquareAvatar,
10254
+ _chunkYSXVRTGTcjs.SquareAvatar,
10257
10255
  {
10258
10256
  role: "img",
10259
10257
  "aria-label": `Owner: ${ownerName}`,
@@ -10398,7 +10396,7 @@ function MingoChatRailPanel({
10398
10396
  if (loadError) {
10399
10397
  list = /* @__PURE__ */ _jsxruntime.jsx.call(void 0, ChatListLoadError, { onRetry, className: "px-[var(--spacing-system-xs)] py-[var(--spacing-system-l)]" });
10400
10398
  } else if (loading) {
10401
- list = /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk63ZV3UGGcjs.ChatListItemLoadingPage, { count: pageSize });
10399
+ list = /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk65NMKAPQcjs.ChatListItemLoadingPage, { count: pageSize });
10402
10400
  } else if (dialogs.length === 0 && !draftTitle) {
10403
10401
  list = hasSearch ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { className: "px-[var(--spacing-system-xs)] py-[var(--spacing-system-s)] text-ods-text-secondary text-h6", children: "No chats found" }) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
10404
10402
  ChatListEmptyState,
@@ -10410,7 +10408,7 @@ function MingoChatRailPanel({
10410
10408
  );
10411
10409
  } else {
10412
10410
  list = /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _jsxruntime.Fragment, { children: [
10413
- draftTitle && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk63ZV3UGGcjs.ChatListItem, { active: true, title: draftTitle, tabIndex: -1, className: "cursor-default" }),
10411
+ draftTitle && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk65NMKAPQcjs.ChatListItem, { active: true, title: draftTitle, tabIndex: -1, className: "cursor-default" }),
10414
10412
  dialogs.map((dialog) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
10415
10413
  MingoChatRailRow,
10416
10414
  {
@@ -10432,13 +10430,13 @@ function MingoChatRailPanel({
10432
10430
  ] });
10433
10431
  }
10434
10432
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
10435
- _chunk63ZV3UGGcjs.ChatNavSidebar,
10433
+ _chunk65NMKAPQcjs.ChatNavSidebar,
10436
10434
  {
10437
10435
  className,
10438
10436
  "data-accent": "mingo",
10439
10437
  "aria-label": "Mingo chats",
10440
10438
  logo: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex flex-1 items-center justify-between", children: [
10441
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkACPOJE32cjs.AgentMark, { agent: "mingo", className: "size-6 text-ods-text-primary" }),
10439
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkSTV6VJ3Ucjs.AgentMark, { agent: "mingo", className: "size-6 text-ods-text-primary" }),
10442
10440
  onExpand && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
10443
10441
  _chunkFCZAUK4Dcjs.Button,
10444
10442
  {
@@ -10491,7 +10489,7 @@ function MingoChatRailRow({ dialog, active, status, onSelect, menuItems, ...prop
10491
10489
  const title = dialog.title || "Untitled Chat";
10492
10490
  return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { ..._chunk63A4GZMBcjs.loadingItemProps.call(void 0, props), className: "group/row relative shrink-0", children: [
10493
10491
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
10494
- _chunk63ZV3UGGcjs.ChatListItem,
10492
+ _chunk65NMKAPQcjs.ChatListItem,
10495
10493
  {
10496
10494
  active,
10497
10495
  title,
@@ -10588,7 +10586,7 @@ function MingoHistoryRail({
10588
10586
  }
10589
10587
  ),
10590
10588
  scope && onScopeChange && !loadError ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
10591
- _chunkACPOJE32cjs.TabSelector,
10589
+ _chunkSTV6VJ3Ucjs.TabSelector,
10592
10590
  {
10593
10591
  className: "shrink-0",
10594
10592
  value: scope,
@@ -10648,8 +10646,8 @@ function RenameChatModal({ isOpen, initialName = "", onClose, onSave }) {
10648
10646
  const save = () => {
10649
10647
  if (canSave) onSave(name.trim());
10650
10648
  };
10651
- return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunk63ZV3UGGcjs.Modal, { isOpen, onClose, className: "md:max-w-[600px]", children: [
10652
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk63ZV3UGGcjs.ModalHeader, { children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk63ZV3UGGcjs.ModalTitle, { children: "Rename Chat" }) }),
10649
+ return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunk65NMKAPQcjs.Modal, { isOpen, onClose, className: "md:max-w-[600px]", children: [
10650
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk65NMKAPQcjs.ModalHeader, { children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk65NMKAPQcjs.ModalTitle, { children: "Rename Chat" }) }),
10653
10651
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex w-full flex-col gap-[var(--spacing-system-xxs)]", children: [
10654
10652
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkVCFQHPOOcjs.Label, { htmlFor: "rename-chat-input", variant: "large", children: "Chat Name" }),
10655
10653
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
@@ -10666,27 +10664,27 @@ function RenameChatModal({ isOpen, initialName = "", onClose, onSave }) {
10666
10664
  }
10667
10665
  )
10668
10666
  ] }),
10669
- /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunk63ZV3UGGcjs.ModalFooter, { children: [
10667
+ /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunk65NMKAPQcjs.ModalFooter, { children: [
10670
10668
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkFCZAUK4Dcjs.Button, { variant: "outline", type: "button", onClick: onClose, className: footerBtn, children: "Cancel" }),
10671
10669
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkFCZAUK4Dcjs.Button, { variant: "accent", type: "button", onClick: save, disabled: !canSave, className: footerBtn, children: "Save" })
10672
10670
  ] })
10673
10671
  ] });
10674
10672
  }
10675
10673
  function ArchiveChatModal({ isOpen, onClose, onConfirm }) {
10676
- return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunk63ZV3UGGcjs.Modal, { isOpen, onClose, className: "md:max-w-[600px]", children: [
10677
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk63ZV3UGGcjs.ModalHeader, { children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk63ZV3UGGcjs.ModalTitle, { children: "Archive Chat" }) }),
10674
+ return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunk65NMKAPQcjs.Modal, { isOpen, onClose, className: "md:max-w-[600px]", children: [
10675
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk65NMKAPQcjs.ModalHeader, { children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk65NMKAPQcjs.ModalTitle, { children: "Archive Chat" }) }),
10678
10676
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { className: "w-full text-ods-text-primary text-h4", children: "This chat will be hidden from your current chats." }),
10679
- /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunk63ZV3UGGcjs.ModalFooter, { children: [
10677
+ /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunk65NMKAPQcjs.ModalFooter, { children: [
10680
10678
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkFCZAUK4Dcjs.Button, { variant: "outline", type: "button", onClick: onClose, className: footerBtn, children: "Cancel" }),
10681
10679
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkFCZAUK4Dcjs.Button, { variant: "destructive", type: "button", onClick: onConfirm, className: footerBtn, children: "Archive Chat" })
10682
10680
  ] })
10683
10681
  ] });
10684
10682
  }
10685
10683
  function UnarchiveChatModal({ isOpen, onClose, onConfirm }) {
10686
- return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunk63ZV3UGGcjs.Modal, { isOpen, onClose, className: "md:max-w-[600px]", children: [
10687
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk63ZV3UGGcjs.ModalHeader, { children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk63ZV3UGGcjs.ModalTitle, { children: "Unarchive Chat" }) }),
10684
+ return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunk65NMKAPQcjs.Modal, { isOpen, onClose, className: "md:max-w-[600px]", children: [
10685
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk65NMKAPQcjs.ModalHeader, { children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk65NMKAPQcjs.ModalTitle, { children: "Unarchive Chat" }) }),
10688
10686
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { className: "w-full text-ods-text-primary text-h4", children: "This chat will be moved back to your current chats." }),
10689
- /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunk63ZV3UGGcjs.ModalFooter, { children: [
10687
+ /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunk65NMKAPQcjs.ModalFooter, { children: [
10690
10688
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkFCZAUK4Dcjs.Button, { variant: "outline", type: "button", onClick: onClose, className: footerBtn, children: "Cancel" }),
10691
10689
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkFCZAUK4Dcjs.Button, { variant: "accent", type: "button", onClick: onConfirm, className: footerBtn, children: "Unarchive Chat" })
10692
10690
  ] })
@@ -10859,7 +10857,7 @@ function ChatPanelHeader({
10859
10857
  avatar && (avatar.name || avatar.avatarUrl) ? (
10860
10858
  // Owner avatar at the title cell's right edge (Figma 113:63273).
10861
10859
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
10862
- _chunkKA3L6D5Ncjs.SquareAvatar,
10860
+ _chunkYSXVRTGTcjs.SquareAvatar,
10863
10861
  {
10864
10862
  variant: "round",
10865
10863
  sizePx: 32,
@@ -11027,8 +11025,8 @@ function AttachmentChip({ attachment, onRemove, disabled, size = "default" }) {
11027
11025
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "truncate text-ods-text-primary text-h6", title: file.name, children: file.name }),
11028
11026
  (!compact || status !== "ready") && /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "text-ods-text-muted text-h6", children: [
11029
11027
  status === "sniffing" && "Checking the file",
11030
- status === "uploading" && `${progress}% \xB7 ${_chunkKA3L6D5Ncjs.formatFileSize.call(void 0, file.size)}`,
11031
- status === "ready" && _chunkKA3L6D5Ncjs.formatFileSize.call(void 0, file.size),
11028
+ status === "uploading" && `${progress}% \xB7 ${_chunkYSXVRTGTcjs.formatFileSize.call(void 0, file.size)}`,
11029
+ status === "ready" && _chunkYSXVRTGTcjs.formatFileSize.call(void 0, file.size),
11032
11030
  status === "error" && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "text-ods-error", title: errorMessage, children: _nullishCoalesce(errorMessage, () => ( "Upload failed")) })
11033
11031
  ] })
11034
11032
  ] }),
@@ -11291,7 +11289,7 @@ var ModelDisplay = _react2.default.forwardRef(
11291
11289
  const isLoading = _chunk63A4GZMBcjs.useLoadingScope.call(void 0, ) || loading;
11292
11290
  const icon = getProviderIcon(provider);
11293
11291
  const name = displayName || modelName;
11294
- const isV2 = useChatAppearance() === _chunk63ZV3UGGcjs.CHAT_APPEARANCE.V2;
11292
+ const isV2 = useChatAppearance() === _chunk65NMKAPQcjs.CHAT_APPEARANCE.V2;
11295
11293
  const formatCount = (count) => isV2 ? count.toLocaleString("en-US") : formatTokenCount(count);
11296
11294
  if (isLoading) {
11297
11295
  return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { ref, "aria-hidden": true, className: _chunk63A4GZMBcjs.cn.call(void 0, MODEL_DISPLAY_ROW_CLASS, className), ...props, children: [
@@ -11477,7 +11475,7 @@ function ChatComposer({
11477
11475
  const showLegacyAttach = !contextEnabled && showAttachmentButton && !!onAddFiles;
11478
11476
  const showFooterRow = showLegacyAttach || !!model || !!footerActions;
11479
11477
  const inputNode = /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
11480
- _chunk63ZV3UGGcjs.ChatInput,
11478
+ _chunk65NMKAPQcjs.ChatInput,
11481
11479
  {
11482
11480
  ref: inputRef,
11483
11481
  onSend,
@@ -11667,7 +11665,7 @@ function ChatArchivePage(props) {
11667
11665
 
11668
11666
 
11669
11667
  function useNavLinkTarget(href, targetPlatform, openIn) {
11670
- return _chunkETZFBB7Ocjs.navLinkTarget.call(void 0, _chunkUJ7AXHRZcjs.useRequiredChatRuntime.call(void 0, ), href, targetPlatform, { openIn });
11668
+ return _chunkEXQSIX2Icjs.navLinkTarget.call(void 0, _chunkUJ7AXHRZcjs.useRequiredChatRuntime.call(void 0, ), href, targetPlatform, { openIn });
11671
11669
  }
11672
11670
  function useNavLinkViaRuntime({
11673
11671
  href,
@@ -11683,22 +11681,22 @@ function useNavLinkViaRuntime({
11683
11681
  const onClick = (e) => {
11684
11682
  _optionalChain([onClickProp, 'optionalCall', _249 => _249(e)]);
11685
11683
  if (e.defaultPrevented) return;
11686
- const handled = _chunk2IJMHBOKcjs.executeNavigation.call(void 0, { event: e, runtime, href: resolvedHref, path, targetPlatform, openIn });
11684
+ const handled = _chunk77GX573Icjs.executeNavigation.call(void 0, { event: e, runtime, href: resolvedHref, path, targetPlatform, openIn });
11687
11685
  if (handled && !isNewTab && _optionalChain([panel, 'optionalAccess', _250 => _250.closeChat])) panel.closeChat();
11688
11686
  };
11689
- return { href: resolvedHref, ..._chunkETZFBB7Ocjs.newTabAnchorAttrs.call(void 0, isNewTab, resolvedHref, targetPlatform), onClick };
11687
+ return { href: resolvedHref, ..._chunkEXQSIX2Icjs.newTabAnchorAttrs.call(void 0, isNewTab, resolvedHref, targetPlatform), onClick };
11690
11688
  }
11691
11689
  function useNavigateViaRuntime() {
11692
11690
  const runtime = _chunkUJ7AXHRZcjs.useRequiredChatRuntime.call(void 0, );
11693
11691
  return _react.useCallback.call(void 0,
11694
11692
  ({ href, path, targetPlatform, openIn, modifierEvent }) => {
11695
11693
  if (!href) return;
11696
- if (modifierEvent && _chunkETZFBB7Ocjs.isModifierClick.call(void 0, modifierEvent)) {
11694
+ if (modifierEvent && _chunkEXQSIX2Icjs.isModifierClick.call(void 0, modifierEvent)) {
11697
11695
  const button = _nullishCoalesce(modifierEvent.button, () => ( 0));
11698
- if (button === 0 || button === 1) _chunk2IJMHBOKcjs.executeNewTabNavigation.call(void 0, { runtime, href, targetPlatform });
11696
+ if (button === 0 || button === 1) _chunk77GX573Icjs.executeNewTabNavigation.call(void 0, { runtime, href, targetPlatform });
11699
11697
  return;
11700
11698
  }
11701
- _chunk2IJMHBOKcjs.executeNavigationImperative.call(void 0, { runtime, href, path, targetPlatform, openIn });
11699
+ _chunk77GX573Icjs.executeNavigationImperative.call(void 0, { runtime, href, path, targetPlatform, openIn });
11702
11700
  },
11703
11701
  [runtime]
11704
11702
  );
@@ -11765,7 +11763,7 @@ function FooterAction({
11765
11763
  leftIcon: showLabel ? mark : void 0,
11766
11764
  rightIcon: trailingIcon ? mark : void 0,
11767
11765
  className: _chunk63A4GZMBcjs.cn.call(void 0, className, "pointer-events-none"),
11768
- children: showLabel ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkACPOJE32cjs.TextHold, { children: label }) : mark
11766
+ children: showLabel ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkSTV6VJ3Ucjs.TextHold, { children: label }) : mark
11769
11767
  }
11770
11768
  ) });
11771
11769
  }
@@ -11888,7 +11886,7 @@ function UserDisplay({
11888
11886
  compact = false,
11889
11887
  className
11890
11888
  }) {
11891
- const avatarSrc = _chunkYY3WP2YQcjs.useProxiedImageUrl.call(void 0, avatarUrl);
11889
+ const avatarSrc = _chunk3GJ75OULcjs.useProxiedImageUrl.call(void 0, avatarUrl);
11892
11890
  if (_chunk63A4GZMBcjs.useLoadingScope.call(void 0, )) {
11893
11891
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
11894
11892
  UserDisplaySkeleton,
@@ -11902,7 +11900,7 @@ function UserDisplay({
11902
11900
  );
11903
11901
  }
11904
11902
  return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: _chunk63A4GZMBcjs.cn.call(void 0, USER_ROW_CLASS, className), children: [
11905
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkKA3L6D5Ncjs.SquareAvatar, { src: avatarSrc || void 0, fallback: name, alt: name, sizePx: size, variant: shape }),
11903
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkYSXVRTGTcjs.SquareAvatar, { src: avatarSrc || void 0, fallback: name, alt: name, sizePx: size, variant: shape }),
11906
11904
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: USER_TEXT_CLASS, children: [
11907
11905
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { className: _chunk63A4GZMBcjs.cn.call(void 0, "truncate text-ods-text-primary", compact ? "text-h6" : "text-h4"), children: name }),
11908
11906
  subtitle && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "block truncate text-ods-text-secondary text-h6", children: subtitle })
@@ -11917,7 +11915,7 @@ function UserDisplaySkeleton({
11917
11915
  className
11918
11916
  }) {
11919
11917
  return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: _chunk63A4GZMBcjs.cn.call(void 0, USER_ROW_CLASS, className), "aria-hidden": true, children: [
11920
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkKA3L6D5Ncjs.SquareAvatar, { loading: true, sizePx: size, variant: shape }),
11918
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkYSXVRTGTcjs.SquareAvatar, { loading: true, sizePx: size, variant: shape }),
11921
11919
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: USER_TEXT_CLASS, children: [
11922
11920
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkPMUCEUFQcjs.TextLineSkeleton, { type: compact ? "h6" : "h4", className: "w-28" }),
11923
11921
  subtitle && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkPMUCEUFQcjs.TextLineSkeleton, { type: "h6", className: "w-16" })
@@ -12028,7 +12026,7 @@ function ManagedCell({
12028
12026
  }) {
12029
12027
  const hintedWidth = _react2.default.isValidElement(item) ? item.props["data-strip-cell-width"] : void 0;
12030
12028
  const desktopWidth = typeof hintedWidth === "number" ? hintedWidth : cardWidthDesktop;
12031
- const cloneRef = _chunk2IJMHBOKcjs.useSuppressCloneFocus.call(void 0, ctx.isClone);
12029
+ const cloneRef = _chunk77GX573Icjs.useSuppressCloneFocus.call(void 0, ctx.isClone);
12032
12030
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
12033
12031
  "div",
12034
12032
  {
@@ -12146,12 +12144,12 @@ function CardsStrip(props) {
12146
12144
  }, [measure, items.length, marqueeActive, isMobile]);
12147
12145
  const chevronSuppressUntilRef = _react.useRef.call(void 0, 0);
12148
12146
  const userScrollSuppressUntilRef = _react.useRef.call(void 0, 0);
12149
- const { ref: observe, inView: nearViewport } = _chunk2IJMHBOKcjs.useInView.call(void 0, { rootMargin: "200px", initial: true });
12147
+ const { ref: observe, inView: nearViewport } = _chunk77GX573Icjs.useInView.call(void 0, { rootMargin: "200px", initial: true });
12150
12148
  _react.useEffect.call(void 0, () => {
12151
12149
  observe(wrapperRef.current);
12152
12150
  return () => observe(null);
12153
12151
  }, [observe]);
12154
- const autoplay = _chunk2IJMHBOKcjs.useAutoplay.call(void 0, nearViewport);
12152
+ const autoplay = _chunk77GX573Icjs.useAutoplay.call(void 0, nearViewport);
12155
12153
  const [activeKey, setActiveKey] = _react.useState.call(void 0, null);
12156
12154
  const activeKeyRef = _react.useRef.call(void 0, null);
12157
12155
  const activate = _react.useCallback.call(void 0, (key) => {
@@ -12198,7 +12196,7 @@ function CardsStrip(props) {
12198
12196
  const current = activeKeyRef.current;
12199
12197
  if (current !== null) deactivate(current);
12200
12198
  }, [deactivate]);
12201
- _chunk2IJMHBOKcjs.useResetOnPageHidden.call(void 0, clearHover);
12199
+ _chunk77GX573Icjs.useResetOnPageHidden.call(void 0, clearHover);
12202
12200
  const syncHoverIfScrolled = _react.useCallback.call(void 0, () => {
12203
12201
  const scroller = scrollerRef.current;
12204
12202
  if (!scroller) return;
@@ -12219,7 +12217,7 @@ function CardsStrip(props) {
12219
12217
  },
12220
12218
  [reverse, seamBuffer]
12221
12219
  );
12222
- const { posRef: marqueePosRef, glideBy } = _chunk2IJMHBOKcjs.useMarqueeEngine.call(void 0, {
12220
+ const { posRef: marqueePosRef, glideBy } = _chunk77GX573Icjs.useMarqueeEngine.call(void 0, {
12223
12221
  // Viewport gates `active` (the rAF fully stops off-screen — a paused
12224
12222
  // engine would keep scheduling frames forever), same treatment as
12225
12223
  // <MarqueeWall>; the envelope persists, so re-entry resumes at cruise.
@@ -12356,7 +12354,7 @@ function CardsStrip(props) {
12356
12354
  }
12357
12355
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, ManagedCell, { item, ctx, cardWidthMobile, cardWidthDesktop });
12358
12356
  };
12359
- const heading = showTitle && title && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "h2", { className: `${_chunkYY3WP2YQcjs.SECTION_HEADING_CLASS} break-words`, children: _chunkYY3WP2YQcjs.accentSentenceMarks.call(void 0, title) });
12357
+ const heading = showTitle && title && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "h2", { className: `${_chunk3GJ75OULcjs.SECTION_HEADING_CLASS} break-words`, children: _chunk3GJ75OULcjs.accentSentenceMarks.call(void 0, title) });
12360
12358
  if (items.length === 0) {
12361
12359
  if (!inScope || !skeleton) return null;
12362
12360
  return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: _chunk63A4GZMBcjs.cn.call(void 0, STRIP_ROOT_CLASS, className), children: [
@@ -12546,7 +12544,7 @@ var VIDEO_BITES_SKELETON_COUNT = Math.ceil(
12546
12544
  );
12547
12545
  function VideoBitesStrip({
12548
12546
  bites,
12549
- title = _chunkO3EKOXFZcjs.DEFAULT_VIDEO_BITES_TITLE,
12547
+ title = _chunkAYMY2VNBcjs.DEFAULT_VIDEO_BITES_TITLE,
12550
12548
  showTitle = true,
12551
12549
  filterPublished = true,
12552
12550
  profile = null,
@@ -12559,7 +12557,7 @@ function VideoBitesStrip({
12559
12557
  cardHeightMobile = VIDEO_BITES_CARD_HEIGHT_MOBILE_PX,
12560
12558
  showChevrons = true,
12561
12559
  onBiteNavigate,
12562
- sortComparator = _chunkO3EKOXFZcjs.sortBitesByCreatedAtDesc,
12560
+ sortComparator = _chunkAYMY2VNBcjs.sortBitesByCreatedAtDesc,
12563
12561
  skeletonCount,
12564
12562
  className
12565
12563
  }) {
@@ -12657,7 +12655,7 @@ function VideoBiteCardSkeleton({ aspect = "9:16", height, heightMobile, classNam
12657
12655
  function VideoBitesStripSkeleton({
12658
12656
  count = VIDEO_BITES_SKELETON_COUNT,
12659
12657
  aspect = "9:16",
12660
- title = _chunkO3EKOXFZcjs.DEFAULT_VIDEO_BITES_TITLE,
12658
+ title = _chunkAYMY2VNBcjs.DEFAULT_VIDEO_BITES_TITLE,
12661
12659
  showTitle = true,
12662
12660
  headerSlot,
12663
12661
  cardHeightDesktop = VIDEO_BITES_CARD_HEIGHT_DESKTOP_PX,
@@ -12712,7 +12710,7 @@ function VideoBiteCard({
12712
12710
  const activate = () => controlled ? _optionalChain([onActivate, 'optionalCall', _275 => _275(key)]) : setSelfActive(true);
12713
12711
  const deactivate = () => controlled ? _optionalChain([onDeactivate, 'optionalCall', _276 => _276(key)]) : setSelfActive(false);
12714
12712
  const titleInputRef = _react.useRef.call(void 0, null);
12715
- _chunkYSDB6HGQcjs.useIsomorphicLayoutEffect.call(void 0, () => {
12713
+ _chunkSQ7YHWEPcjs.useIsomorphicLayoutEffect.call(void 0, () => {
12716
12714
  const el = titleInputRef.current;
12717
12715
  if (!el) return;
12718
12716
  el.style.height = "auto";
@@ -12789,7 +12787,7 @@ function VideoBiteCard({
12789
12787
  style: biteMediaStyle(cssAspect, height, heightMobile),
12790
12788
  children: [
12791
12789
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
12792
- _chunkO3EKOXFZcjs.VideoHoverPreviewSurface,
12790
+ _chunkAYMY2VNBcjs.VideoHoverPreviewSurface,
12793
12791
  {
12794
12792
  url: bite.url,
12795
12793
  posterUrl: bite.thumbnail_url,
@@ -12861,7 +12859,7 @@ function EntityVideoSection({
12861
12859
  title = "Video",
12862
12860
  videoSummary,
12863
12861
  videoBites,
12864
- bitesTitle = _chunkO3EKOXFZcjs.DEFAULT_VIDEO_BITES_TITLE,
12862
+ bitesTitle = _chunkAYMY2VNBcjs.DEFAULT_VIDEO_BITES_TITLE,
12865
12863
  filterPublishedBites = true,
12866
12864
  bitesProfile = null,
12867
12865
  bitesHref,
@@ -12896,7 +12894,7 @@ function EntityVideoSection({
12896
12894
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, TabsTrigger, { value: "highlights", className: VIDEO_TAB_TRIGGER_CLASS, children: HIGHLIGHTS_TAB_LABEL })
12897
12895
  ] }),
12898
12896
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, TabsContent, { value: "full-video", className: VIDEO_TAB_CONTENT_CLASS, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
12899
- _chunkO3EKOXFZcjs.Video,
12897
+ _chunkAYMY2VNBcjs.Video,
12900
12898
  {
12901
12899
  kind: fullVideoKind,
12902
12900
  url: fullVideoUrl,
@@ -12908,7 +12906,7 @@ function EntityVideoSection({
12908
12906
  }
12909
12907
  ) }),
12910
12908
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, TabsContent, { value: "highlights", className: VIDEO_TAB_CONTENT_CLASS, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
12911
- _chunkO3EKOXFZcjs.Video,
12909
+ _chunkAYMY2VNBcjs.Video,
12912
12910
  {
12913
12911
  url: highlightVideoUrl,
12914
12912
  poster: highlightVideoThumbnail,
@@ -12917,7 +12915,7 @@ function EntityVideoSection({
12917
12915
  }
12918
12916
  ) })
12919
12917
  ] }) : fullVideoUrl ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
12920
- _chunkO3EKOXFZcjs.Video,
12918
+ _chunkAYMY2VNBcjs.Video,
12921
12919
  {
12922
12920
  kind: fullVideoKind,
12923
12921
  url: fullVideoUrl,
@@ -12928,7 +12926,7 @@ function EntityVideoSection({
12928
12926
  priority
12929
12927
  }
12930
12928
  ) : highlightVideoUrl ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
12931
- _chunkO3EKOXFZcjs.Video,
12929
+ _chunkAYMY2VNBcjs.Video,
12932
12930
  {
12933
12931
  url: highlightVideoUrl,
12934
12932
  poster: highlightVideoThumbnail,
@@ -12938,7 +12936,7 @@ function EntityVideoSection({
12938
12936
  }
12939
12937
  ) : null),
12940
12938
  videoSummary && MarkdownRenderer && /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex w-full min-w-0 flex-col gap-6", children: [
12941
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "h2", { className: `${_chunkYY3WP2YQcjs.SECTION_HEADING_CLASS} break-words`, children: "Summary" }),
12939
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "h2", { className: `${_chunk3GJ75OULcjs.SECTION_HEADING_CLASS} break-words`, children: "Summary" }),
12942
12940
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "overflow-hidden break-words text-ods-text-primary text-h4", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, MarkdownRenderer, { content: videoSummary }) })
12943
12941
  ] }),
12944
12942
  videoBites && videoBites.length > 0 && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
@@ -12957,13 +12955,13 @@ function EntityVideoSection({
12957
12955
  ] });
12958
12956
  }
12959
12957
  function EntityVideoSectionSkeleton({ tabs = false, className }) {
12960
- if (!tabs) return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkO3EKOXFZcjs.Video, { loading: true, url: "", layout: "centered", className });
12958
+ if (!tabs) return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkAYMY2VNBcjs.Video, { loading: true, url: "", layout: "centered", className });
12961
12959
  return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, Tabs, { defaultValue: "full-video", className: _chunk63A4GZMBcjs.cn.call(void 0, "w-full", className), "aria-hidden": true, inert: true, children: [
12962
12960
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, TabsList, { className: VIDEO_TAB_LIST_CLASS, children: [
12963
12961
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, TabsTrigger, { value: "full-video", className: VIDEO_TAB_TRIGGER_CLASS, children: FULL_VIDEO_TAB_LABEL }),
12964
12962
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, TabsTrigger, { value: "highlights", className: VIDEO_TAB_TRIGGER_CLASS, children: HIGHLIGHTS_TAB_LABEL })
12965
12963
  ] }),
12966
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, TabsContent, { value: "full-video", className: VIDEO_TAB_CONTENT_CLASS, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkO3EKOXFZcjs.Video, { loading: true, url: "", layout: "centered" }) })
12964
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, TabsContent, { value: "full-video", className: VIDEO_TAB_CONTENT_CLASS, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkAYMY2VNBcjs.Video, { loading: true, url: "", layout: "centered" }) })
12967
12965
  ] });
12968
12966
  }
12969
12967
 
@@ -13055,7 +13053,7 @@ function ChatCardDisclosureButton({
13055
13053
  {
13056
13054
  label,
13057
13055
  icon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, Icon, { className: "!h-3 !w-3" }),
13058
- trailingIcon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkACPOJE32cjs.ExpandChevron, { expanded: open, className: "!h-3 !w-3" }),
13056
+ trailingIcon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkSTV6VJ3Ucjs.ExpandChevron, { expanded: open, className: "!h-3 !w-3" }),
13059
13057
  onClick: (e) => {
13060
13058
  e.preventDefault();
13061
13059
  e.stopPropagation();
@@ -13069,7 +13067,7 @@ function ChatCardDisclosureButton({
13069
13067
  );
13070
13068
  }
13071
13069
  function DisclosurePanel({ open, children }) {
13072
- const { innerRef, containerStyle } = _chunkACPOJE32cjs.useCollapsible.call(void 0, { expanded: open });
13070
+ const { innerRef, containerStyle } = _chunkSTV6VJ3Ucjs.useCollapsible.call(void 0, { expanded: open });
13073
13071
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { style: containerStyle, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { ref: innerRef, children }) });
13074
13072
  }
13075
13073
  function useChatCardDisclosure(kind, chatRef, { reserve = false } = {}) {
@@ -13121,7 +13119,7 @@ function designDocPeople(doc) {
13121
13119
  return people;
13122
13120
  }
13123
13121
  function designDocMetaLine(doc) {
13124
- return [_optionalChain([doc, 'access', _296 => _296.author, 'optionalAccess', _297 => _297.full_name]) ? `DRI ${doc.author.full_name}` : null, `updated ${_chunkYY3WP2YQcjs.formatDateShort.call(void 0, doc.updated_at)}`].filter(Boolean).join(" \xB7 ");
13122
+ return [_optionalChain([doc, 'access', _296 => _296.author, 'optionalAccess', _297 => _297.full_name]) ? `DRI ${doc.author.full_name}` : null, `updated ${_chunk3GJ75OULcjs.formatDateShort.call(void 0, doc.updated_at)}`].filter(Boolean).join(" \xB7 ");
13125
13123
  }
13126
13124
  var DESIGN_DOC_CARD_BODY = "flex h-full flex-col gap-[var(--spacing-system-mf)] p-[var(--spacing-system-lf)]";
13127
13125
  var DESIGN_DOC_CARD_HEADER = "flex w-full items-center gap-[16px]";
@@ -13131,27 +13129,27 @@ var DESIGN_DOC_CARD_META_ROW = `flex items-center text-h5 ${_chunkPMUCEUFQcjs.TE
13131
13129
  var DESIGN_DOC_CARD_SUMMARY_ROW = `flex items-center text-h4 ${_chunkPMUCEUFQcjs.TEXT_LINES_MIN[3]}`;
13132
13130
  var DESIGN_DOC_CARD_FOOTER = "flex w-full items-center justify-between gap-2";
13133
13131
  function DesignDocCardSkeleton({ className } = {}) {
13134
- return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: _chunk63A4GZMBcjs.cn.call(void 0, _chunkO3EKOXFZcjs.CONTENT_CARD_SKELETON_FRAME_CLASS, DESIGN_DOC_CARD_BODY, className), "aria-hidden": true, children: [
13132
+ return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: _chunk63A4GZMBcjs.cn.call(void 0, _chunkAYMY2VNBcjs.CONTENT_CARD_SKELETON_FRAME_CLASS, DESIGN_DOC_CARD_BODY, className), "aria-hidden": true, children: [
13135
13133
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: DESIGN_DOC_CARD_HEADER, children: [
13136
13134
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: DESIGN_DOC_CARD_HEADING, children: [
13137
13135
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: DESIGN_DOC_CARD_TITLE_ROW, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkPMUCEUFQcjs.TextLineSkeleton, { type: "h3", lines: 2, className: "w-3/4" }) }),
13138
13136
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: DESIGN_DOC_CARD_META_ROW, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkPMUCEUFQcjs.TextLineSkeleton, { type: "h5", className: "w-1/3" }) })
13139
13137
  ] }),
13140
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkO3EKOXFZcjs.StatusBadge, { loading: true, text: "", variant: "button", className: "hidden md:inline-flex" })
13138
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkAYMY2VNBcjs.StatusBadge, { loading: true, text: "", variant: "button", className: "hidden md:inline-flex" })
13141
13139
  ] }),
13142
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "md:hidden", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkO3EKOXFZcjs.StatusBadge, { loading: true, text: "", variant: "button" }) }),
13140
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "md:hidden", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkAYMY2VNBcjs.StatusBadge, { loading: true, text: "", variant: "button" }) }),
13143
13141
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: DESIGN_DOC_CARD_SUMMARY_ROW, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkPMUCEUFQcjs.TextLineSkeleton, { type: "h4", lines: 3, className: "w-full" }) }),
13144
13142
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "flex-1" }),
13145
13143
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: DESIGN_DOC_CARD_FOOTER, children: [
13146
13144
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkPMUCEUFQcjs.TextLineSkeleton, { type: "h6", className: "w-1/3" }),
13147
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk6DCUGIGUcjs.AvatarStack, { loading: true, people: [], max: 1, size: "xs", className: "shrink-0" })
13145
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkLSLRJJFPcjs.AvatarStack, { loading: true, people: [], max: 1, size: "xs", className: "shrink-0" })
13148
13146
  ] })
13149
13147
  ] });
13150
13148
  }
13151
13149
  function DesignDocCard({ doc, href, target, rel, className }) {
13152
13150
  const status = designDocStatusDisplay(doc);
13153
13151
  const people = designDocPeople(doc);
13154
- const link = _chunkO3EKOXFZcjs.safeHref.call(void 0, _nullishCoalesce(href, () => ( null)));
13152
+ const link = _chunkAYMY2VNBcjs.safeHref.call(void 0, _nullishCoalesce(href, () => ( null)));
13155
13153
  if (_chunk63A4GZMBcjs.useLoadingScope.call(void 0, )) return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, DesignDocCardSkeleton, { className });
13156
13154
  const body = /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _jsxruntime.Fragment, { children: [
13157
13155
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: DESIGN_DOC_CARD_HEADER, children: [
@@ -13159,17 +13157,17 @@ function DesignDocCard({ doc, href, target, rel, className }) {
13159
13157
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: DESIGN_DOC_CARD_TITLE_ROW, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "h3", { className: "line-clamp-2 flex-1 text-ods-text-primary text-h3", children: doc.title || "Untitled design doc" }) }),
13160
13158
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: DESIGN_DOC_CARD_META_ROW, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { className: "truncate text-ods-text-secondary text-h5", children: designDocMetaLine(doc) }) })
13161
13159
  ] }),
13162
- status ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkYY3WP2YQcjs.PaletteBadge, { text: status.label, color: status.color_scheme, className: "hidden md:inline-flex" }) : null
13160
+ status ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk3GJ75OULcjs.PaletteBadge, { text: status.label, color: status.color_scheme, className: "hidden md:inline-flex" }) : null
13163
13161
  ] }),
13164
- status ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "md:hidden", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkYY3WP2YQcjs.PaletteBadge, { text: status.label, color: status.color_scheme }) }) : null,
13162
+ status ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "md:hidden", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk3GJ75OULcjs.PaletteBadge, { text: status.label, color: status.color_scheme }) }) : null,
13165
13163
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: DESIGN_DOC_CARD_SUMMARY_ROW, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { className: "line-clamp-3 text-ods-text-secondary text-h4", children: doc.summary || "" }) }),
13166
13164
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "flex-1" }),
13167
13165
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: DESIGN_DOC_CARD_FOOTER, children: [
13168
13166
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "truncate text-ods-text-secondary text-h6", children: formatCompletionLabelWithBlockers(doc.completion) }),
13169
- people.length > 0 ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk6DCUGIGUcjs.AvatarStack, { size: "xs", people, className: "shrink-0" }) : null
13167
+ people.length > 0 ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkLSLRJJFPcjs.AvatarStack, { size: "xs", people, className: "shrink-0" }) : null
13170
13168
  ] })
13171
13169
  ] });
13172
- const outer = _chunk63A4GZMBcjs.cn.call(void 0, _chunkO3EKOXFZcjs.CONTENT_CARD_FRAME_CLASS, DESIGN_DOC_CARD_BODY, className);
13170
+ const outer = _chunk63A4GZMBcjs.cn.call(void 0, _chunkAYMY2VNBcjs.CONTENT_CARD_FRAME_CLASS, DESIGN_DOC_CARD_BODY, className);
13173
13171
  return link ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkV45KLJQPcjs.next_link_default, { href: link, target, rel, className: outer, children: body }) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: outer, children: body });
13174
13172
  }
13175
13173
 
@@ -13277,7 +13275,7 @@ function GitHubActivityCard({ item, variant = "compact", className, anchorProps
13277
13275
  if (_chunk63A4GZMBcjs.useLoadingScope.call(void 0, )) return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, GitHubActivityCardSkeleton, { variant, className });
13278
13276
  const kind = _nullishCoalesce(item.kind, () => ( "commit"));
13279
13277
  const repo = _nullishCoalesce(_nullishCoalesce(item.repo, () => ( parseRepoFromUrl(item.url))), () => ( ""));
13280
- const dateText = _chunkKA3L6D5Ncjs.formatDateUTC.call(void 0, item.dateUpdated, { fallback: "", timezone: "local" });
13278
+ const dateText = _chunkYSXVRTGTcjs.formatDateUTC.call(void 0, item.dateUpdated, { fallback: "", timezone: "local" });
13281
13279
  const idLabel = formatActivityId(item.id, kind);
13282
13280
  const { display: title, reviewState } = parseGithubTitle(item.title, kind);
13283
13281
  const primaryText = kind === "pr_review" ? title.replace(/^by\s+/i, "").trim() || "Reviewer" : title;
@@ -13311,26 +13309,26 @@ function GitHubActivityCard({ item, variant = "compact", className, anchorProps
13311
13309
  metaParts.push(
13312
13310
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "whitespace-nowrap", children: dateText }, "date")
13313
13311
  );
13314
- const href = _chunkO3EKOXFZcjs.safeHref.call(void 0, item.url);
13312
+ const href = _chunkAYMY2VNBcjs.safeHref.call(void 0, item.url);
13315
13313
  const body = /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _jsxruntime.Fragment, { children: [
13316
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: _chunkO3EKOXFZcjs.COMPACT_CARD_ICON_SLOT, children: kindIcon(kind, "h-5 w-5") }),
13317
- /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: _chunkO3EKOXFZcjs.COMPACT_CARD_TEXT_COL, children: [
13318
- /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: `${_chunkO3EKOXFZcjs.COMPACT_CARD_TITLE_ROW} flex-nowrap gap-1.5`, children: [
13314
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: _chunkAYMY2VNBcjs.COMPACT_CARD_ICON_SLOT, children: kindIcon(kind, "h-5 w-5") }),
13315
+ /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: _chunkAYMY2VNBcjs.COMPACT_CARD_TEXT_COL, children: [
13316
+ /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: `${_chunkAYMY2VNBcjs.COMPACT_CARD_TITLE_ROW} flex-nowrap gap-1.5`, children: [
13319
13317
  reviewState ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, ReviewStateBadge, { state: reviewState }) : null,
13320
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: _chunkO3EKOXFZcjs.COMPACT_CARD_TITLE, children: primaryText })
13318
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: _chunkAYMY2VNBcjs.COMPACT_CARD_TITLE, children: primaryText })
13321
13319
  ] }),
13322
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: _chunkO3EKOXFZcjs.COMPACT_CARD_META_ROW_BOX, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: _chunkO3EKOXFZcjs.COMPACT_CARD_META_ROW, children: metaParts.map((part, i) => /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _react2.default.Fragment, { children: [
13320
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: _chunkAYMY2VNBcjs.COMPACT_CARD_META_ROW_BOX, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: _chunkAYMY2VNBcjs.COMPACT_CARD_META_ROW, children: metaParts.map((part, i) => /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _react2.default.Fragment, { children: [
13323
13321
  i > 0 ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "shrink-0 text-ods-text-secondary/40", children: "\xB7" }) : null,
13324
13322
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "min-w-0 truncate", children: part })
13325
13323
  ] }, i)) }) }),
13326
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: _chunkO3EKOXFZcjs.COMPACT_CARD_META_ROW_BOX, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: _chunkO3EKOXFZcjs.COMPACT_CARD_SUMMARY, children: _chunkO3EKOXFZcjs.COMPACT_CARD_ROW_FILLER }) })
13324
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: _chunkAYMY2VNBcjs.COMPACT_CARD_META_ROW_BOX, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: _chunkAYMY2VNBcjs.COMPACT_CARD_SUMMARY, children: _chunkAYMY2VNBcjs.COMPACT_CARD_ROW_FILLER }) })
13327
13325
  ] }),
13328
13326
  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
13329
13327
  ] });
13330
13328
  if (anchorProps) {
13331
- return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkV45KLJQPcjs.next_link_default, { ...anchorProps, className: `${_chunkO3EKOXFZcjs.COMPACT_CARD_OUTER} ${_nullishCoalesce(className, () => ( ""))}`, children: body });
13329
+ return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkV45KLJQPcjs.next_link_default, { ...anchorProps, className: `${_chunkAYMY2VNBcjs.COMPACT_CARD_OUTER} ${_nullishCoalesce(className, () => ( ""))}`, children: body });
13332
13330
  }
13333
- return href ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkV45KLJQPcjs.next_link_default, { href, target: "_blank", rel: "noopener noreferrer", className: `${_chunkO3EKOXFZcjs.COMPACT_CARD_OUTER} ${_nullishCoalesce(className, () => ( ""))}`, children: body }) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: `${_chunkO3EKOXFZcjs.COMPACT_CARD_OUTER_STATIC} ${_nullishCoalesce(className, () => ( ""))}`, "aria-label": "No link available", children: body });
13331
+ return href ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkV45KLJQPcjs.next_link_default, { href, target: "_blank", rel: "noopener noreferrer", className: `${_chunkAYMY2VNBcjs.COMPACT_CARD_OUTER} ${_nullishCoalesce(className, () => ( ""))}`, children: body }) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: `${_chunkAYMY2VNBcjs.COMPACT_CARD_OUTER_STATIC} ${_nullishCoalesce(className, () => ( ""))}`, "aria-label": "No link available", children: body });
13334
13332
  }
13335
13333
  function GitHubActivityCardSkeleton({
13336
13334
  variant = "compact",
@@ -13338,7 +13336,7 @@ function GitHubActivityCardSkeleton({
13338
13336
  }) {
13339
13337
  if (variant === "row") {
13340
13338
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
13341
- _chunkO3EKOXFZcjs.ActivityRowSkeleton,
13339
+ _chunkAYMY2VNBcjs.ActivityRowSkeleton,
13342
13340
  {
13343
13341
  lead: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex w-28 shrink-0 items-center gap-2", children: [
13344
13342
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkPMUCEUFQcjs.UnifiedSkeleton, { className: "h-3.5 w-3.5 rounded" }),
@@ -13349,7 +13347,7 @@ function GitHubActivityCardSkeleton({
13349
13347
  }
13350
13348
  );
13351
13349
  }
13352
- return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkO3EKOXFZcjs.CompactCardSkeleton, { titleWidth: "w-2/3", rows: [{ width: "w-1/2" }, {}], trailingIcon: true, className });
13350
+ return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkAYMY2VNBcjs.CompactCardSkeleton, { titleWidth: "w-2/3", rows: [{ width: "w-1/2" }, {}], trailingIcon: true, className });
13353
13351
  }
13354
13352
 
13355
13353
  // src/utils/url-fix.ts
@@ -13405,9 +13403,9 @@ function VendorIcon({
13405
13403
  ...props
13406
13404
  }) {
13407
13405
  const logoUrl = getVendorLogo(vendor);
13408
- const logoSrc = _chunkYY3WP2YQcjs.useProxiedImageUrl.call(void 0, logoUrl, { directHttps: false });
13406
+ const logoSrc = _chunk3GJ75OULcjs.useProxiedImageUrl.call(void 0, logoUrl, { directHttps: false });
13409
13407
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
13410
- _chunkKA3L6D5Ncjs.SquareAvatar,
13408
+ _chunkYSXVRTGTcjs.SquareAvatar,
13411
13409
  {
13412
13410
  src: logoUrl ? logoSrc || void 0 : void 0,
13413
13411
  alt: `${vendor.title} logo`,
@@ -13436,11 +13434,11 @@ function useChatCardItem(type, id) {
13436
13434
  queryKey: ["chat-card-item", type, id],
13437
13435
  queryFn: async () => {
13438
13436
  if (!url) return null;
13439
- const res = await _chunkGI3MMBP3cjs.embedAuthedFetch.call(void 0, url);
13437
+ const res = await _chunkSQ7YHWEPcjs.embedAuthedFetch.call(void 0, url);
13440
13438
  if (!res.ok) throw new Error(`chat card fetch failed: ${res.status}`);
13441
13439
  const data = await res.json();
13442
- const items = _chunkYY3WP2YQcjs.extractCardItems.call(void 0, type, data);
13443
- const match = items.find((it) => _chunkYY3WP2YQcjs.extractItemId.call(void 0, type, it) === id);
13440
+ const items = _chunk3GJ75OULcjs.extractCardItems.call(void 0, type, data);
13441
+ const match = items.find((it) => _chunk3GJ75OULcjs.extractItemId.call(void 0, type, it) === id);
13444
13442
  return _nullishCoalesce(match, () => ( null));
13445
13443
  },
13446
13444
  enabled: !!url && id.length > 0,
@@ -13482,9 +13480,9 @@ var TRAILING_CELL_LAYOUT = "w-[56px] md:w-[68px]";
13482
13480
  function CardMedia({ imageSrc, imageAlt, icon }) {
13483
13481
  if (imageSrc) {
13484
13482
  return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: "relative block size-10 shrink-0", children: [
13485
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "absolute inset-0 flex items-center justify-center rounded-sm border border-ods-border bg-ods-bg text-ods-text-primary text-h6", children: _chunkKA3L6D5Ncjs.personInitials.call(void 0, imageAlt) || "?" }),
13483
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "absolute inset-0 flex items-center justify-center rounded-sm border border-ods-border bg-ods-bg text-ods-text-primary text-h6", children: _chunkYSXVRTGTcjs.personInitials.call(void 0, imageAlt) || "?" }),
13486
13484
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
13487
- _chunkGG466XFQcjs.next_image_default,
13485
+ _chunk6DMH4GXNcjs.next_image_default,
13488
13486
  {
13489
13487
  src: imageSrc,
13490
13488
  alt: imageAlt || "",
@@ -13554,7 +13552,7 @@ function MingoInfoCard({
13554
13552
  status ? (
13555
13553
  // Reuse the shared Tag palette (single source of truth for colours)
13556
13554
  // without rendering Tag's `<div>` — span-only for `<p>` validity.
13557
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: _chunk63A4GZMBcjs.cn.call(void 0, _chunkKA3L6D5Ncjs.tagVariants.call(void 0, { variant: _nullishCoalesce(status.variant, () => ( "success")) }), "shrink-0"), children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "truncate uppercase tracking-[-0.28px]", children: status.label }) })
13555
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: _chunk63A4GZMBcjs.cn.call(void 0, _chunkYSXVRTGTcjs.tagVariants.call(void 0, { variant: _nullishCoalesce(status.variant, () => ( "success")) }), "shrink-0"), children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "truncate uppercase tracking-[-0.28px]", children: status.label }) })
13558
13556
  ) : null
13559
13557
  ] });
13560
13558
  const contentClass = _chunk63A4GZMBcjs.cn.call(void 0,
@@ -13646,7 +13644,7 @@ function resolveFetchedCardHref({
13646
13644
  composeContentUrl
13647
13645
  }) {
13648
13646
  if (!composeContentUrl || !contentRefType || !id) return null;
13649
- const canonicalType = _chunkYY3WP2YQcjs.canonicalContentRefType.call(void 0, contentRefType);
13647
+ const canonicalType = _chunk3GJ75OULcjs.canonicalContentRefType.call(void 0, contentRefType);
13650
13648
  return composeContentUrl({
13651
13649
  // The card registry keys some entries by the legacy rail vocabulary
13652
13650
  // (`blog_post_existing`) because that is what `buildListUrl` expects.
@@ -13670,7 +13668,7 @@ function sourceRowCtxFromRuntime(runtime) {
13670
13668
  }
13671
13669
  function pickSourceIcon(sourceRepo, documentType) {
13672
13670
  const iconName = sourceRepo ? getSourceIconName(sourceRepo) : void 0;
13673
- const icon = iconName ? _chunkKKFDRCQFcjs.resolveIcon.call(void 0, iconName, { variant: "brand" }) : _lucidereact.FileText;
13671
+ const icon = iconName ? _chunkRY7INTYUcjs.resolveIcon.call(void 0, iconName, { variant: "brand" }) : _lucidereact.FileText;
13674
13672
  const iconLabel = _nullishCoalesce(documentType, () => ( "Source"));
13675
13673
  return { icon, iconLabel };
13676
13674
  }
@@ -13689,16 +13687,16 @@ function resolveSourceRowCTA(row, ctx = {}) {
13689
13687
  // Canonical vocabulary only — a rail-vocab alias would miss the host's
13690
13688
  // `hostedTypes` / `overrides` and fall through to the seam's default
13691
13689
  // `<origin>/<type>/<id>` branch. Same canonicalizer `buildListUrl` uses.
13692
- type: _chunkYY3WP2YQcjs.canonicalContentRefType.call(void 0, row.documentType),
13690
+ type: _chunk3GJ75OULcjs.canonicalContentRefType.call(void 0, row.documentType),
13693
13691
  identifier: idValue,
13694
13692
  ...docPath ? { slug: docPath } : {},
13695
13693
  externalUrl: _nullishCoalesce(row.externalUrl, () => ( null)),
13696
13694
  targetPlatform: _nullishCoalesce(row.targetPlatform, () => ( null))
13697
13695
  });
13698
- href = composed.href ? _nullishCoalesce(_chunkO3EKOXFZcjs.safeHref.call(void 0, composed.href), () => ( null)) : null;
13696
+ href = composed.href ? _nullishCoalesce(_chunkAYMY2VNBcjs.safeHref.call(void 0, composed.href), () => ( null)) : null;
13699
13697
  targetPlatform = composed.targetPlatform;
13700
13698
  } else if (row.externalUrl) {
13701
- href = _nullishCoalesce(_chunkO3EKOXFZcjs.safeHref.call(void 0, row.externalUrl), () => ( null));
13699
+ href = _nullishCoalesce(_chunkAYMY2VNBcjs.safeHref.call(void 0, row.externalUrl), () => ( null));
13702
13700
  targetPlatform = _nullishCoalesce(row.targetPlatform, () => ( null));
13703
13701
  }
13704
13702
  const documentType = row.documentType;
@@ -13765,7 +13763,7 @@ function resolveCardDestination({
13765
13763
  itemHref: _nullishCoalesce(_optionalChain([entry, 'access', _306 => _306.fallbackHref, 'optionalCall', _307 => _307(item)]), () => ( null)),
13766
13764
  allowComposed: !entry.noComposedHref
13767
13765
  });
13768
- const url = choice ? _nullishCoalesce(_chunkO3EKOXFZcjs.safeHref.call(void 0, choice.href), () => ( null)) : null;
13766
+ const url = choice ? _nullishCoalesce(_chunkAYMY2VNBcjs.safeHref.call(void 0, choice.href), () => ( null)) : null;
13769
13767
  if (choice && url) {
13770
13768
  return { url, targetPlatform: _nullishCoalesce(choice.targetPlatform, () => ( rowPlatform)), path, source: choice.source };
13771
13769
  }
@@ -13778,11 +13776,11 @@ function resolveCardDestination({
13778
13776
 
13779
13777
  function DeletedDataCard({ title, entityLabel, recoveryNote, className }) {
13780
13778
  const label = entityLabel || "Item";
13781
- return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: `${_chunkO3EKOXFZcjs.COMPACT_CARD_OUTER_STATIC} opacity-70 ${_nullishCoalesce(className, () => ( ""))}`, children: [
13782
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: _chunkO3EKOXFZcjs.COMPACT_CARD_ICON_SLOT, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _lucidereact.Trash2, { className: "h-4 w-4 text-ods-text-secondary" }) }),
13783
- /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: _chunkO3EKOXFZcjs.COMPACT_CARD_TEXT_COL, children: [
13784
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: _chunkO3EKOXFZcjs.COMPACT_CARD_TITLE_ROW, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: `${_chunkO3EKOXFZcjs.COMPACT_CARD_TITLE} text-ods-text-secondary line-through`, children: title || `Deleted ${label.toLowerCase()}` }) }),
13785
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: _chunkO3EKOXFZcjs.COMPACT_CARD_META_ROW, children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: "text-ods-text-secondary", children: [
13779
+ return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: `${_chunkAYMY2VNBcjs.COMPACT_CARD_OUTER_STATIC} opacity-70 ${_nullishCoalesce(className, () => ( ""))}`, children: [
13780
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: _chunkAYMY2VNBcjs.COMPACT_CARD_ICON_SLOT, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _lucidereact.Trash2, { className: "h-4 w-4 text-ods-text-secondary" }) }),
13781
+ /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: _chunkAYMY2VNBcjs.COMPACT_CARD_TEXT_COL, children: [
13782
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: _chunkAYMY2VNBcjs.COMPACT_CARD_TITLE_ROW, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: `${_chunkAYMY2VNBcjs.COMPACT_CARD_TITLE} text-ods-text-secondary line-through`, children: title || `Deleted ${label.toLowerCase()}` }) }),
13783
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: _chunkAYMY2VNBcjs.COMPACT_CARD_META_ROW, children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: "text-ods-text-secondary", children: [
13786
13784
  label,
13787
13785
  " deleted",
13788
13786
  recoveryNote ? ` \xB7 ${recoveryNote}` : ""
@@ -13828,7 +13826,7 @@ function GitHubChatCard({
13828
13826
  const title = kind === "pr_review" ? display.replace(/^by\s+/i, "").trim() || "Reviewer" : display;
13829
13827
  const status = kind === "pr_review" && reviewState ? { label: reviewStateLabel(reviewState), variant: reviewStateToVariant(reviewState) } : { label: kindLabel(kind), variant: "grey" };
13830
13828
  const idLabel = formatActivityId(chatRef.id, kind);
13831
- const dateText = _chunkKA3L6D5Ncjs.formatDateUTC.call(void 0, _nullishCoalesce(chatRef.date, () => ( null)), { fallback: "", timezone: "local" });
13829
+ const dateText = _chunkYSXVRTGTcjs.formatDateUTC.call(void 0, _nullishCoalesce(chatRef.date, () => ( null)), { fallback: "", timezone: "local" });
13832
13830
  const description = [idLabel, dateText].filter(Boolean).join(" \xB7 ") || void 0;
13833
13831
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
13834
13832
  MingoInfoCard,
@@ -13837,7 +13835,7 @@ function GitHubChatCard({
13837
13835
  description,
13838
13836
  icon: githubKindIcon(kind),
13839
13837
  status,
13840
- anchorProps: _chunkETZFBB7Ocjs.buildAnchorProps.call(void 0, chatRef.url, isNewTab, chatRef.targetPlatform),
13838
+ anchorProps: _chunkEXQSIX2Icjs.buildAnchorProps.call(void 0, chatRef.url, isNewTab, chatRef.targetPlatform),
13841
13839
  menuGroups: cardMenuGroups(chatRef.url, discuss),
13842
13840
  menuAriaLabel: "Activity actions"
13843
13841
  }
@@ -13960,7 +13958,7 @@ function HubspotTicketChatCard({
13960
13958
  description: _nullishCoalesce(chatRef.preview, () => ( void 0)),
13961
13959
  icon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkOSS23NHHcjs.TagIcon, { size: 24 }),
13962
13960
  status: statusText ? { label: statusText, variant: hubspotStatusToVariant(status) } : void 0,
13963
- anchorProps: _chunkETZFBB7Ocjs.buildAnchorProps.call(void 0, chatRef.url, isNewTab, chatRef.targetPlatform),
13961
+ anchorProps: _chunkEXQSIX2Icjs.buildAnchorProps.call(void 0, chatRef.url, isNewTab, chatRef.targetPlatform),
13964
13962
  menuGroups: cardMenuGroups(chatRef.url, discuss, {
13965
13963
  label: "Open Ticket Details",
13966
13964
  icon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkOSS23NHHcjs.TagIcon, { size: 20 })
@@ -13983,7 +13981,7 @@ function FaqChatCard({
13983
13981
  description: _nullishCoalesce(chatRef.preview, () => ( void 0)),
13984
13982
  icon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkFO6DOP6Mcjs.QuestionCircleIcon, { size: 24 }),
13985
13983
  status: { label: statusLabel, variant: "grey" },
13986
- anchorProps: _chunkETZFBB7Ocjs.buildAnchorProps.call(void 0, chatRef.url, isNewTab, chatRef.targetPlatform),
13984
+ anchorProps: _chunkEXQSIX2Icjs.buildAnchorProps.call(void 0, chatRef.url, isNewTab, chatRef.targetPlatform),
13987
13985
  menuGroups: cardMenuGroups(chatRef.url, discuss),
13988
13986
  menuAriaLabel: "FAQ actions"
13989
13987
  }
@@ -14003,7 +14001,7 @@ function SlackChatCard({
14003
14001
  title,
14004
14002
  description: _nullishCoalesce(chatRef.preview, () => ( void 0)),
14005
14003
  icon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkZUHFVG4Fcjs.SlackLogoGreyIcon, { size: 24 }),
14006
- anchorProps: _chunkETZFBB7Ocjs.buildAnchorProps.call(void 0, chatRef.url, isNewTab, chatRef.targetPlatform),
14004
+ anchorProps: _chunkEXQSIX2Icjs.buildAnchorProps.call(void 0, chatRef.url, isNewTab, chatRef.targetPlatform),
14007
14005
  menuGroups: cardMenuGroups(chatRef.url, discuss),
14008
14006
  menuAriaLabel: "Message actions"
14009
14007
  }
@@ -14021,7 +14019,7 @@ function GlyphChatCard({
14021
14019
  title: chatRef.title,
14022
14020
  description: _nullishCoalesce(chatRef.preview, () => ( void 0)),
14023
14021
  icon,
14024
- anchorProps: _chunkETZFBB7Ocjs.buildAnchorProps.call(void 0, chatRef.url, isNewTab, chatRef.targetPlatform),
14022
+ anchorProps: _chunkEXQSIX2Icjs.buildAnchorProps.call(void 0, chatRef.url, isNewTab, chatRef.targetPlatform),
14025
14023
  menuGroups: cardMenuGroups(chatRef.url, discuss),
14026
14024
  menuAriaLabel: "Card actions"
14027
14025
  }
@@ -14039,20 +14037,20 @@ function TrustCenterChatCard({
14039
14037
  }) {
14040
14038
  const raw2 = _optionalChain([item, 'optionalAccess', _321 => _321.frameworks]);
14041
14039
  const frameworks = Array.isArray(raw2) ? raw2 : [];
14042
- const summary = _chunkYY3WP2YQcjs.trustFrameworksSummary.call(void 0, frameworks);
14040
+ const summary = _chunk3GJ75OULcjs.trustFrameworksSummary.call(void 0, frameworks);
14043
14041
  const leadFramework = frameworks[0];
14044
14042
  const lead = leadFramework ? {
14045
- label: _chunkYY3WP2YQcjs.trustFrameworkBadge.call(void 0, leadFramework),
14046
- color: _chunkYY3WP2YQcjs.trustFrameworkMonitoringEntry.call(void 0, leadFramework.monitoring).color
14043
+ label: _chunk3GJ75OULcjs.trustFrameworkBadge.call(void 0, leadFramework),
14044
+ color: _chunk3GJ75OULcjs.trustFrameworkMonitoringEntry.call(void 0, leadFramework.monitoring).color
14047
14045
  } : void 0;
14048
14046
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
14049
14047
  MingoInfoCard,
14050
14048
  {
14051
- title: _chunkYY3WP2YQcjs.TRUST_CENTER_TITLE,
14052
- description: summary || _chunkYY3WP2YQcjs.TRUST_CENTER_TAGLINE,
14049
+ title: _chunk3GJ75OULcjs.TRUST_CENTER_TITLE,
14050
+ description: summary || _chunk3GJ75OULcjs.TRUST_CENTER_TAGLINE,
14053
14051
  icon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkOBGYDNT6cjs.ShieldCheckIcon, { size: 24 }),
14054
14052
  status: lead ? { label: lead.label, variant: TRUST_STATUS_TAG_VARIANT[lead.color] } : void 0,
14055
- anchorProps: _chunkETZFBB7Ocjs.buildAnchorProps.call(void 0, chatRef.url, isNewTab, chatRef.targetPlatform),
14053
+ anchorProps: _chunkEXQSIX2Icjs.buildAnchorProps.call(void 0, chatRef.url, isNewTab, chatRef.targetPlatform),
14056
14054
  menuGroups: cardMenuGroups(chatRef.url, discuss, {
14057
14055
  label: "View trust center",
14058
14056
  icon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkOBGYDNT6cjs.ShieldCheckIcon, { size: 20 })
@@ -14074,7 +14072,7 @@ function DataRoomDocChatCard({
14074
14072
  description: _nullishCoalesce(chatRef.preview, () => ( void 0)),
14075
14073
  icon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkU4USZF42cjs.FileContentIcon, { size: 24 }),
14076
14074
  status: { label: badgeText, variant: "grey" },
14077
- anchorProps: _chunkETZFBB7Ocjs.buildAnchorProps.call(void 0, chatRef.url, isNewTab, chatRef.targetPlatform),
14075
+ anchorProps: _chunkEXQSIX2Icjs.buildAnchorProps.call(void 0, chatRef.url, isNewTab, chatRef.targetPlatform),
14078
14076
  menuGroups: cardMenuGroups(chatRef.url, discuss),
14079
14077
  menuAriaLabel: "Document actions"
14080
14078
  }
@@ -14093,7 +14091,7 @@ function GenericFinancialChatCard({
14093
14091
  title: chatRef.title,
14094
14092
  description: subtitle,
14095
14093
  icon,
14096
- anchorProps: _chunkETZFBB7Ocjs.buildAnchorProps.call(void 0, chatRef.url, isNewTab, chatRef.targetPlatform),
14094
+ anchorProps: _chunkEXQSIX2Icjs.buildAnchorProps.call(void 0, chatRef.url, isNewTab, chatRef.targetPlatform),
14097
14095
  menuGroups: cardMenuGroups(chatRef.url, discuss),
14098
14096
  menuAriaLabel: "Document actions"
14099
14097
  }
@@ -14184,7 +14182,7 @@ function CampaignChatCard({
14184
14182
  }) {
14185
14183
  const goalsCount = Array.isArray(_optionalChain([item, 'optionalAccess', _327 => _327.goals])) ? item.goals.length : 0;
14186
14184
  const meta = [
14187
- _optionalChain([item, 'optionalAccess', _328 => _328.start_date]) ? _chunkYY3WP2YQcjs.formatDateShort.call(void 0, item.start_date) : null,
14185
+ _optionalChain([item, 'optionalAccess', _328 => _328.start_date]) ? _chunk3GJ75OULcjs.formatDateShort.call(void 0, item.start_date) : null,
14188
14186
  goalsCount > 0 ? `${goalsCount} goal${goalsCount !== 1 ? "s" : ""}` : null,
14189
14187
  "Marketing campaign"
14190
14188
  ].filter(Boolean).join(" \xB7 ");
@@ -14223,7 +14221,7 @@ function EntityMingoCard({
14223
14221
  imageAlt: typeof title === "string" ? title : void 0,
14224
14222
  icon: fallbackIcon,
14225
14223
  status,
14226
- anchorProps: _chunkETZFBB7Ocjs.buildAnchorProps.call(void 0, chatRef.url, isNewTab, chatRef.targetPlatform),
14224
+ anchorProps: _chunkEXQSIX2Icjs.buildAnchorProps.call(void 0, chatRef.url, isNewTab, chatRef.targetPlatform),
14227
14225
  menuGroups: cardMenuGroups(chatRef.url, discuss, openDetails, externalLink),
14228
14226
  menuAriaLabel
14229
14227
  }
@@ -14235,7 +14233,7 @@ function entityCover(image, ogPlaceholder) {
14235
14233
  function statusPill(status) {
14236
14234
  const s = typeof status === "string" ? status.trim() : "";
14237
14235
  if (!s) return void 0;
14238
- const scheme = _chunkYY3WP2YQcjs.getStatusColorScheme.call(void 0, s);
14236
+ const scheme = _chunk3GJ75OULcjs.getStatusColorScheme.call(void 0, s);
14239
14237
  const variant = scheme === "success" || scheme === "error" || scheme === "warning" ? scheme : "grey";
14240
14238
  return { label: s, variant };
14241
14239
  }
@@ -14325,8 +14323,8 @@ function DesignDocChatCard({
14325
14323
  title: _nullishCoalesce(_optionalChain([doc, 'optionalAccess', _355 => _355.title]), () => ( displayRef.title)),
14326
14324
  description: doc ? [designDocMetaLine(doc), formatCompletionLabel(doc.completion)].join(" \xB7 ") : _nullishCoalesce(displayRef.preview, () => ( void 0)),
14327
14325
  icon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkU4USZF42cjs.FileContentIcon, { size: 24 }),
14328
- status: status ? { label: status.label, variant: _chunkKA3L6D5Ncjs.tagVariantForBadgeColor.call(void 0, status.color_scheme) } : { label: "Design doc", variant: "grey" },
14329
- anchorProps: _chunkETZFBB7Ocjs.buildAnchorProps.call(void 0, displayRef.url, isNewTab, displayRef.targetPlatform),
14326
+ status: status ? { label: status.label, variant: _chunkYSXVRTGTcjs.tagVariantForBadgeColor.call(void 0, status.color_scheme) } : { label: "Design doc", variant: "grey" },
14327
+ anchorProps: _chunkEXQSIX2Icjs.buildAnchorProps.call(void 0, displayRef.url, isNewTab, displayRef.targetPlatform),
14330
14328
  menuGroups: cardMenuGroups(displayRef.url, discuss),
14331
14329
  menuAriaLabel: "Design doc actions"
14332
14330
  }
@@ -14344,7 +14342,7 @@ function InvestorUpdateChatCard({
14344
14342
  EntityMingoCard,
14345
14343
  {
14346
14344
  title,
14347
- description: _optionalChain([item, 'optionalAccess', _358 => _358.strategic_update]) || _optionalChain([item, 'optionalAccess', _359 => _359.content]) || _chunkYY3WP2YQcjs.formatInvestorUpdatePeriod.call(void 0, _nullishCoalesce(_optionalChain([item, 'optionalAccess', _360 => _360.period_start]), () => ( null)), _nullishCoalesce(_optionalChain([item, 'optionalAccess', _361 => _361.period_end]), () => ( null))) || void 0,
14345
+ description: _optionalChain([item, 'optionalAccess', _358 => _358.strategic_update]) || _optionalChain([item, 'optionalAccess', _359 => _359.content]) || _chunk3GJ75OULcjs.formatInvestorUpdatePeriod.call(void 0, _nullishCoalesce(_optionalChain([item, 'optionalAccess', _360 => _360.period_start]), () => ( null)), _nullishCoalesce(_optionalChain([item, 'optionalAccess', _361 => _361.period_end]), () => ( null))) || void 0,
14348
14346
  cover: entityCover(_optionalChain([item, 'optionalAccess', _362 => _362.featured_image]), ogPlaceholder),
14349
14347
  fallbackIcon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk37SGOMF5cjs.PresentationLineIcon, { size: 24 }),
14350
14348
  status: { label: "Investor update", variant: "grey" },
@@ -14388,7 +14386,7 @@ function ProgramChatCard({
14388
14386
  discuss
14389
14387
  }) {
14390
14388
  const icon = configKey === "webinar" ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkGZ6NU2C2cjs.PresentationBarIcon, { size: 24 }) : configKey === "event" ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkM4KPLFFAcjs.CalendarIcon, { size: 24 }) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkZL4LQNYXcjs.MicrophoneIcon, { size: 24 });
14391
- const { line: meta } = _chunkYY3WP2YQcjs.programMetaLine.call(void 0, _nullishCoalesce(item, () => ( {})), configKey, _chunkYY3WP2YQcjs.programMetaFormatters.call(void 0, _chunkYY3WP2YQcjs.PROGRAM_META_RENDERERS));
14389
+ const { line: meta } = _chunk3GJ75OULcjs.programMetaLine.call(void 0, _nullishCoalesce(item, () => ( {})), configKey, _chunk3GJ75OULcjs.programMetaFormatters.call(void 0, _chunk3GJ75OULcjs.PROGRAM_META_RENDERERS));
14392
14390
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
14393
14391
  EntityMingoCard,
14394
14392
  {
@@ -14414,17 +14412,17 @@ function RoadmapChatCard({
14414
14412
  const logoUrl = typeof _optionalChain([item, 'optionalAccess', _372 => _372.icon]) === "string" && item.icon.startsWith("http") ? item.icon : void 0;
14415
14413
  const useTypeIcon = cardType === "internal_task" || !logoUrl && _optionalChain([item, 'optionalAccess', _373 => _373.customItemId]) != null;
14416
14414
  const defaultIcon = cardType === "delivery_item" ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk3UIJR4PYcjs.TruckFastIcon, { size: 24 }) : cardType === "internal_task" ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk6DN5HKRWcjs.CheckSquareIcon, { size: 24 }) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkMQDSQKK2cjs.MapIcon, { size: 24 });
14417
- const icon = useTypeIcon ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkYY3WP2YQcjs.TaskTypeIcon, { customItemId: _optionalChain([item, 'optionalAccess', _374 => _374.customItemId]), className: "size-6" }) : logoUrl ? (
14415
+ const icon = useTypeIcon ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk3GJ75OULcjs.TaskTypeIcon, { customItemId: _optionalChain([item, 'optionalAccess', _374 => _374.customItemId]), className: "size-6" }) : logoUrl ? (
14418
14416
  // Contained (not full-bleed) so the integration logo keeps its aspect
14419
14417
  // ratio inside the bordered icon box — matches RoadmapCard.
14420
14418
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
14421
- _chunkGG466XFQcjs.next_image_default,
14419
+ _chunk6DMH4GXNcjs.next_image_default,
14422
14420
  {
14423
14421
  src: logoUrl,
14424
14422
  alt: "",
14425
14423
  className: "size-6 object-contain",
14426
- width: _chunkKKFDRCQFcjs.IMAGE_FIXED_PX.glyph,
14427
- height: _chunkKKFDRCQFcjs.IMAGE_FIXED_PX.glyph,
14424
+ width: _chunkRY7INTYUcjs.IMAGE_FIXED_PX.glyph,
14425
+ height: _chunkRY7INTYUcjs.IMAGE_FIXED_PX.glyph,
14428
14426
  unoptimized: true
14429
14427
  }
14430
14428
  )
@@ -14490,11 +14488,11 @@ function refText(ref, key) {
14490
14488
  return typeof value === "string" && value.length > 0 ? value : null;
14491
14489
  }
14492
14490
  function VendorGlyph({ title, logoUrl }) {
14493
- if (!logoUrl) return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkO3EKOXFZcjs.EntityIcon, { icon: { name: SOURCE_ICON_NAMES.vendors }, size: 24 });
14491
+ if (!logoUrl) return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkAYMY2VNBcjs.EntityIcon, { icon: { name: SOURCE_ICON_NAMES.vendors }, size: 24 });
14494
14492
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, VendorIcon, { vendor: { title, logo_url: logoUrl }, size: "xs", showBackground: false });
14495
14493
  }
14496
14494
  function SitePageGlyph({ iconName }) {
14497
- return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkO3EKOXFZcjs.EntityIcon, { icon: { name: _nullishCoalesce(iconName, () => ( SOURCE_ICON_NAMES["website-pages"])) }, size: 24 });
14495
+ return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkAYMY2VNBcjs.EntityIcon, { icon: { name: _nullishCoalesce(iconName, () => ( SOURCE_ICON_NAMES["website-pages"])) }, size: 24 });
14498
14496
  }
14499
14497
  var GITHUB_CARD_CONFIGS = {
14500
14498
  github_commit: { label: "GitHub commit", kind: "commit" },
@@ -14622,7 +14620,7 @@ function programRegistryEntries() {
14622
14620
  contentRefType: cfg.contentRefType,
14623
14621
  bareInline: true,
14624
14622
  disclosure: cfg.disclosure,
14625
- skeleton: () => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkYY3WP2YQcjs.ProgramCard, { loading: true, size: "sm" }),
14623
+ skeleton: () => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk3GJ75OULcjs.ProgramCard, { loading: true, size: "sm" }),
14626
14624
  render: (item, chatRef, opts) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
14627
14625
  ProgramChatCard,
14628
14626
  {
@@ -14663,7 +14661,7 @@ function roadmapRegistryEntries() {
14663
14661
  bareInline: true,
14664
14662
  ...cfg.noComposedHref ? { noComposedHref: true } : {},
14665
14663
  ...cfg.fallbackHref ? { fallbackHref: cfg.fallbackHref } : {},
14666
- skeleton: () => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkYY3WP2YQcjs.RoadmapCard, { loading: true, size: "sm" }),
14664
+ skeleton: () => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk3GJ75OULcjs.RoadmapCard, { loading: true, size: "sm" }),
14667
14665
  render: (item, chatRef, opts) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
14668
14666
  RoadmapChatCard,
14669
14667
  {
@@ -14721,12 +14719,12 @@ var CHAT_CARD_REGISTRY = {
14721
14719
  // projection route; `extractCardItems` turns its object payload into the
14722
14720
  // single matched row. Destination is the public page unless the host
14723
14721
  // re-homes the type (`composeContentUrl` override).
14724
- [_chunkYY3WP2YQcjs.TRUST_CENTER_DOCUMENT_TYPE]: {
14722
+ [_chunk3GJ75OULcjs.TRUST_CENTER_DOCUMENT_TYPE]: {
14725
14723
  label: "Trust center",
14726
14724
  bareInline: true,
14727
- contentRefType: _chunkYY3WP2YQcjs.TRUST_CENTER_DOCUMENT_TYPE,
14725
+ contentRefType: _chunk3GJ75OULcjs.TRUST_CENTER_DOCUMENT_TYPE,
14728
14726
  noComposedHref: true,
14729
- fallbackHref: () => _chunkYY3WP2YQcjs.TRUST_CENTER_PAGE_PATH,
14727
+ fallbackHref: () => _chunk3GJ75OULcjs.TRUST_CENTER_PAGE_PATH,
14730
14728
  skeleton: () => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, MingoInfoCard, { loading: true, title: "" }),
14731
14729
  render: (item, chatRef, opts) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, TrustCenterChatCard, { item, chatRef, isNewTab: opts.isNewTab, discuss: opts.discuss })
14732
14730
  },
@@ -14753,7 +14751,7 @@ var CHAT_CARD_REGISTRY = {
14753
14751
  label: "Blog post",
14754
14752
  contentRefType: "blog_post_existing",
14755
14753
  bareInline: true,
14756
- skeleton: () => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkYY3WP2YQcjs.BlogCard, { loading: true, size: "sm" }),
14754
+ skeleton: () => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk3GJ75OULcjs.BlogCard, { loading: true, size: "sm" }),
14757
14755
  render: (item, chatRef, opts) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
14758
14756
  BlogChatCard,
14759
14757
  {
@@ -14771,7 +14769,7 @@ var CHAT_CARD_REGISTRY = {
14771
14769
  label: "Case study",
14772
14770
  contentRefType: "case_study",
14773
14771
  bareInline: true,
14774
- skeleton: () => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkO3EKOXFZcjs.CaseStudyCard, { loading: true, size: "sm" }),
14772
+ skeleton: () => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkAYMY2VNBcjs.CaseStudyCard, { loading: true, size: "sm" }),
14775
14773
  render: (item, chatRef, opts) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
14776
14774
  CaseStudyChatCard,
14777
14775
  {
@@ -14797,7 +14795,7 @@ var CHAT_CARD_REGISTRY = {
14797
14795
  label: "Customer interview",
14798
14796
  contentRefType: "customer_interview",
14799
14797
  bareInline: true,
14800
- skeleton: () => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkYY3WP2YQcjs.CustomerInterviewCard, { loading: true, size: "sm" }),
14798
+ skeleton: () => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk3GJ75OULcjs.CustomerInterviewCard, { loading: true, size: "sm" }),
14801
14799
  render: (item, chatRef, opts) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
14802
14800
  CustomerInterviewChatCard,
14803
14801
  {
@@ -14814,9 +14812,9 @@ var CHAT_CARD_REGISTRY = {
14814
14812
  label: "Product release",
14815
14813
  contentRefType: "product_release",
14816
14814
  bareInline: true,
14817
- skeleton: () => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkYY3WP2YQcjs.ProductReleaseCard, { loading: true, size: "sm" }),
14815
+ skeleton: () => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk3GJ75OULcjs.ProductReleaseCard, { loading: true, size: "sm" }),
14818
14816
  render: (item, chatRef, opts) => {
14819
- const builder = _nullishCoalesce(_optionalChain([opts, 'optionalAccess', _415 => _415.extras, 'optionalAccess', _416 => _416.buildProductReleaseCardProps]), () => ( _chunkYY3WP2YQcjs.defaultBuildProductReleaseCardProps));
14817
+ const builder = _nullishCoalesce(_optionalChain([opts, 'optionalAccess', _415 => _415.extras, 'optionalAccess', _416 => _416.buildProductReleaseCardProps]), () => ( _chunk3GJ75OULcjs.defaultBuildProductReleaseCardProps));
14820
14818
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
14821
14819
  ProductReleaseChatCard,
14822
14820
  {
@@ -14835,7 +14833,7 @@ var CHAT_CARD_REGISTRY = {
14835
14833
  label: "Investor update",
14836
14834
  contentRefType: "investor_update",
14837
14835
  bareInline: true,
14838
- skeleton: () => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkYY3WP2YQcjs.InvestorUpdateCard, { loading: true, size: "sm" }),
14836
+ skeleton: () => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk3GJ75OULcjs.InvestorUpdateCard, { loading: true, size: "sm" }),
14839
14837
  render: (item, chatRef, opts) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
14840
14838
  InvestorUpdateChatCard,
14841
14839
  {
@@ -14854,7 +14852,7 @@ var CHAT_CARD_REGISTRY = {
14854
14852
  bareInline: true,
14855
14853
  // "Display" affordance (verbatim guide body) instead of "Ask".
14856
14854
  displayAction: true,
14857
- skeleton: () => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkYY3WP2YQcjs.OnboardingGuideCard, { loading: true, size: "sm" }),
14855
+ skeleton: () => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk3GJ75OULcjs.OnboardingGuideCard, { loading: true, size: "sm" }),
14858
14856
  render: (item, chatRef, opts) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
14859
14857
  OnboardingGuideChatCard,
14860
14858
  {
@@ -14898,7 +14896,7 @@ function ChatCardNavWrap({
14898
14896
  if (!_optionalChain([host, 'optionalAccess', _428 => _428.contains, 'call', _429 => _429(targetEl)])) return;
14899
14897
  if (_optionalChain([targetEl, 'optionalAccess', _430 => _430.closest, 'optionalCall', _431 => _431("button")])) return;
14900
14898
  if (!_optionalChain([targetEl, 'optionalAccess', _432 => _432.closest, 'optionalCall', _433 => _433("a")])) return;
14901
- const handled = _chunk2IJMHBOKcjs.executeNavigation.call(void 0, { event: e, runtime, href, path, targetPlatform, hostRoute });
14899
+ const handled = _chunk77GX573Icjs.executeNavigation.call(void 0, { event: e, runtime, href, path, targetPlatform, hostRoute });
14902
14900
  if (!handled) return;
14903
14901
  e.stopPropagation();
14904
14902
  if (!isNewTab && _optionalChain([panel, 'optionalAccess', _434 => _434.closeChat])) panel.closeChat();
@@ -14936,7 +14934,7 @@ function ChatCardLoader({ chatRef, onDiscuss, onDisplay, extras }) {
14936
14934
  entry: fetchEntry,
14937
14935
  ctx: sourceRowCtxFromRuntime(runtime),
14938
14936
  composeContentUrl: runtime.composeContentUrl,
14939
- resolveHref: (href) => _chunkETZFBB7Ocjs.navLinkTarget.call(void 0, runtime, href).href
14937
+ resolveHref: (href) => _chunkEXQSIX2Icjs.navLinkTarget.call(void 0, runtime, href).href
14940
14938
  });
14941
14939
  const hrefResolvedChatRef = {
14942
14940
  ...chatRef,
@@ -14947,13 +14945,13 @@ function ChatCardLoader({ chatRef, onDiscuss, onDisplay, extras }) {
14947
14945
  };
14948
14946
  const fetchedTitle = fetchEntry && item ? readFetchedCardTitle(item) : null;
14949
14947
  const finalChatRef = fetchedTitle && (!hrefResolvedChatRef.title || hrefResolvedChatRef.title === hrefResolvedChatRef.id) ? { ...hrefResolvedChatRef, title: fetchedTitle } : hrefResolvedChatRef;
14950
- const hostRoute = (destination.source === "composed" || destination.source === "hostOverride") && !!finalChatRef.url && _chunkETZFBB7Ocjs.isRelativeHref.call(void 0, finalChatRef.url);
14951
- const isNewTab = finalChatRef.url ? _chunkETZFBB7Ocjs.navLinkTarget.call(void 0, runtime, finalChatRef.url, finalChatRef.targetPlatform, { hostRoute }).isNewTab : false;
14948
+ const hostRoute = (destination.source === "composed" || destination.source === "hostOverride") && !!finalChatRef.url && _chunkEXQSIX2Icjs.isRelativeHref.call(void 0, finalChatRef.url);
14949
+ const isNewTab = finalChatRef.url ? _chunkEXQSIX2Icjs.navLinkTarget.call(void 0, runtime, finalChatRef.url, finalChatRef.targetPlatform, { hostRoute }).isNewTab : false;
14952
14950
  const useDisplay = !!entry.displayAction && !!onDisplay;
14953
14951
  const discussFn = useDisplay ? onDisplay : onDiscuss;
14954
14952
  const discuss = discussFn ? {
14955
14953
  label: useDisplay ? "Display" : "Ask Mingo",
14956
- icon: useDisplay ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkU4USZF42cjs.FileContentIcon, { size: 20 }) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkACPOJE32cjs.AgentMark, { agent: "mingo", className: "size-5" }),
14954
+ icon: useDisplay ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkU4USZF42cjs.FileContentIcon, { size: 20 }) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkSTV6VJ3Ucjs.AgentMark, { agent: "mingo", className: "size-5" }),
14957
14955
  run: () => discussFn(finalChatRef)
14958
14956
  } : void 0;
14959
14957
  const renderOpts = {
@@ -15034,7 +15032,7 @@ function renderChatInlineEntityCard(chatRef, options = {}) {
15034
15032
  metadata: { ..._nullishCoalesce(chatRef.metadata, () => ( {})), ...decoded }
15035
15033
  };
15036
15034
  const externalUrl = chatRef.id.startsWith("mp4-") && decoded.videoUrl;
15037
- return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, BlockCard, { inline: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, ChatInlineVideoPill, { chatRef: displayRef }), children: externalUrl && !_chunkGI3MMBP3cjs.isAppOriginUrl.call(void 0, externalUrl) ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, ExternalMediaNotice, { url: externalUrl, kind: "video", label: displayRef.title }) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0, ChatCardDisclosureRow, { kind: CHAT_CARD_DISCLOSURE.VIDEO, chatRef: displayRef }) });
15035
+ return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, BlockCard, { inline: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, ChatInlineVideoPill, { chatRef: displayRef }), children: externalUrl && !_chunkSQ7YHWEPcjs.isAppOriginUrl.call(void 0, externalUrl) ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, ExternalMediaNotice, { url: externalUrl, kind: "video", label: displayRef.title }) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0, ChatCardDisclosureRow, { kind: CHAT_CARD_DISCLOSURE.VIDEO, chatRef: displayRef }) });
15038
15036
  }
15039
15037
  return loader;
15040
15038
  }
@@ -15059,12 +15057,12 @@ function makeBatchDedupKey(item) {
15059
15057
  return `${item.messageType}:${seq}:${type}:${text3}:${integratedToolType}:${toolFunction}:${approvalRequestId}`;
15060
15058
  }
15061
15059
  function getChatTypeMessageType(chatType) {
15062
- return chatType === _chunk63ZV3UGGcjs.CHAT_TYPE.ADMIN ? "admin-message" : "message";
15060
+ return chatType === _chunk65NMKAPQcjs.CHAT_TYPE.ADMIN ? "admin-message" : "message";
15063
15061
  }
15064
15062
  function useChunkCatchup({
15065
15063
  dialogId,
15066
15064
  onChunkReceived,
15067
- chatTypes = [_chunk63ZV3UGGcjs.CHAT_TYPE.CLIENT],
15065
+ chatTypes = [_chunk65NMKAPQcjs.CHAT_TYPE.CLIENT],
15068
15066
  fetchChunks
15069
15067
  }) {
15070
15068
  const processedSequenceKeys = _react.useRef.call(void 0, /* @__PURE__ */ new Set());
@@ -15632,7 +15630,7 @@ async function fetchSlashCommands(prefix, signal, commandsUrl) {
15632
15630
  try {
15633
15631
  const url = new URL(commandsUrl, window.location.origin);
15634
15632
  if (prefix) url.searchParams.set("q", prefix);
15635
- const res = await _chunkGI3MMBP3cjs.embedAuthedFetch.call(void 0, url.toString(), { signal, headers: {} });
15633
+ const res = await _chunkSQ7YHWEPcjs.embedAuthedFetch.call(void 0, url.toString(), { signal, headers: {} });
15636
15634
  if (!res.ok) return [];
15637
15635
  const data = await res.json();
15638
15636
  return _nullishCoalesce(data.commands, () => ( []));
@@ -15709,7 +15707,7 @@ var EMPTY_STATE_FALLBACK = {
15709
15707
  async function fetchEmptyStateConfig(signal, emptyStateUrl) {
15710
15708
  try {
15711
15709
  const url = new URL(emptyStateUrl, window.location.origin);
15712
- const res = await _chunkGI3MMBP3cjs.embedAuthedFetch.call(void 0, url.toString(), { signal, headers: {} });
15710
+ const res = await _chunkSQ7YHWEPcjs.embedAuthedFetch.call(void 0, url.toString(), { signal, headers: {} });
15713
15711
  if (!res.ok) {
15714
15712
  if (res.status >= 500) {
15715
15713
  console.error(`[chat] empty-state config fetch failed (${res.status}): ${url.pathname}`);
@@ -15867,7 +15865,7 @@ function useChatAttachments() {
15867
15865
  );
15868
15866
  }
15869
15867
  updateOne(att.id, { status: "uploading", progress: 5 });
15870
- const urlResp = await _chunkGI3MMBP3cjs.embedAuthedFetch.call(void 0, uploadUrlEndpoint, {
15868
+ const urlResp = await _chunkSQ7YHWEPcjs.embedAuthedFetch.call(void 0, uploadUrlEndpoint, {
15871
15869
  method: "POST",
15872
15870
  headers: { "Content-Type": "application/json" },
15873
15871
  signal: _optionalChain([ctrl, 'optionalAccess', _496 => _496.signal]),
@@ -16009,21 +16007,21 @@ function useChatAttachmentImageGallery() {
16009
16007
  const target = ev.target;
16010
16008
  if (!target) return;
16011
16009
  const img = target.closest("img");
16012
- if (!img || !img.src.startsWith(absolutize(viewUrlPrefix))) return;
16010
+ if (!img || !assetSrcOf(img).startsWith(absolutize(viewUrlPrefix))) return;
16013
16011
  const bubble = img.closest("[data-message-role]");
16014
16012
  if (!bubble) {
16015
16013
  ev.preventDefault();
16016
- setState({ isOpen: true, images: [img.src], initialIndex: 0 });
16014
+ setState({ isOpen: true, images: [assetSrcOf(img)], initialIndex: 0 });
16017
16015
  return;
16018
16016
  }
16019
16017
  const allImgs = Array.from(bubble.querySelectorAll("img"));
16020
- const matching = allImgs.filter((el) => el.src.startsWith(absolutize(viewUrlPrefix)));
16018
+ const matching = allImgs.filter((el) => assetSrcOf(el).startsWith(absolutize(viewUrlPrefix)));
16021
16019
  if (matching.length === 0) return;
16022
16020
  const idx = Math.max(0, matching.indexOf(img));
16023
16021
  ev.preventDefault();
16024
16022
  setState({
16025
16023
  isOpen: true,
16026
- images: matching.map((el) => el.src),
16024
+ images: matching.map(assetSrcOf),
16027
16025
  initialIndex: idx
16028
16026
  });
16029
16027
  };
@@ -16031,7 +16029,7 @@ function useChatAttachmentImageGallery() {
16031
16029
  return () => root.removeEventListener("click", onClick);
16032
16030
  }, [viewUrlPrefix]);
16033
16031
  const modal = state.isOpen ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
16034
- _chunkYY3WP2YQcjs.ImageGalleryModal,
16032
+ _chunk3GJ75OULcjs.ImageGalleryModal,
16035
16033
  {
16036
16034
  images: state.images,
16037
16035
  isOpen: state.isOpen,
@@ -16046,6 +16044,10 @@ function absolutize(prefix) {
16046
16044
  if (typeof window === "undefined") return prefix;
16047
16045
  return `${window.location.origin}${prefix.startsWith("/") ? "" : "/"}${prefix}`;
16048
16046
  }
16047
+ function assetSrcOf(img) {
16048
+ const declared = img.dataset.assetSrc;
16049
+ return declared ? new URL(declared, window.location.href).href : img.src;
16050
+ }
16049
16051
 
16050
16052
  // src/components/chat/hooks/use-chat-identity.ts
16051
16053
 
@@ -16058,7 +16060,7 @@ var ANON_DEFAULTS = {
16058
16060
  function useResolveChatIdentity(enabled) {
16059
16061
  const runtime = _chunkUJ7AXHRZcjs.useRequiredChatRuntime.call(void 0, );
16060
16062
  const url = runtime.endpoints.identityUrl;
16061
- const proxyEmail = _nullishCoalesce(_optionalChain([_chunkGI3MMBP3cjs.getEmbedProxyAuth.call(void 0, ), 'optionalAccess', _502 => _502.email]), () => ( null));
16063
+ const proxyEmail = _nullishCoalesce(_optionalChain([_chunkSQ7YHWEPcjs.getEmbedProxyAuth.call(void 0, ), 'optionalAccess', _502 => _502.email]), () => ( null));
16062
16064
  const requestKey = enabled ? `${url}\0${_nullishCoalesce(proxyEmail, () => ( ""))}` : null;
16063
16065
  const [resolved, setResolved] = _react.useState.call(void 0, null);
16064
16066
  const data = _optionalChain([resolved, 'optionalAccess', _503 => _503.key]) === requestKey ? resolved.data : ANON_DEFAULTS;
@@ -16067,7 +16069,7 @@ function useResolveChatIdentity(enabled) {
16067
16069
  if (requestKey === null) return void 0;
16068
16070
  let cancelled = false;
16069
16071
  const ctrl = new AbortController();
16070
- _chunkGI3MMBP3cjs.embedAuthedFetch.call(void 0, url, { signal: ctrl.signal }).then(async (resp) => {
16072
+ _chunkSQ7YHWEPcjs.embedAuthedFetch.call(void 0, url, { signal: ctrl.signal }).then(async (resp) => {
16071
16073
  if (!resp.ok) return ANON_DEFAULTS;
16072
16074
  return await resp.json();
16073
16075
  }).then((next) => {
@@ -17404,7 +17406,7 @@ function createChatStreamReducer(options = {}) {
17404
17406
  const status = approvalStatuses[requestId] || "pending";
17405
17407
  if (!displayInline(approvalType)) {
17406
17408
  const required = _nullishCoalesce(toolCalls.find((c) => c.requiresApproval), () => ( toolCalls[0]));
17407
- const summary = required ? _chunkACPOJE32cjs.getCommandText.call(void 0, required) : `Batch of ${toolCalls.length} tool calls`;
17409
+ const summary = required ? _chunkSTV6VJ3Ucjs.getCommandText.call(void 0, required) : `Batch of ${toolCalls.length} tool calls`;
17408
17410
  pendingEscalated.set(requestId, {
17409
17411
  command: summary,
17410
17412
  explanation: _optionalChain([required, 'optionalAccess', _566 => _566.toolExplanation]),
@@ -17437,7 +17439,7 @@ function createChatStreamReducer(options = {}) {
17437
17439
  if (!call.requiresApproval) continue;
17438
17440
  segments = accumulator.addApprovalRequest(
17439
17441
  requestId,
17440
- _chunkACPOJE32cjs.getCommandText.call(void 0, call),
17442
+ _chunkSTV6VJ3Ucjs.getCommandText.call(void 0, call),
17441
17443
  call.toolExplanation,
17442
17444
  approvalType,
17443
17445
  status,
@@ -17516,7 +17518,7 @@ function createChatStreamReducer(options = {}) {
17516
17518
  if (!call.requiresApproval) continue;
17517
17519
  segments = accumulator.addApprovalRequest(
17518
17520
  requestId,
17519
- _chunkACPOJE32cjs.getCommandText.call(void 0, call),
17521
+ _chunkSTV6VJ3Ucjs.getCommandText.call(void 0, call),
17520
17522
  call.toolExplanation,
17521
17523
  escalatedData.approvalType,
17522
17524
  status
@@ -18442,7 +18444,7 @@ async function failWith(response, fallback) {
18442
18444
  function createChatConversationsApi(baseUrl) {
18443
18445
  const base = baseUrl.replace(/\/+$/, "");
18444
18446
  const patch = async (id, body, what) => {
18445
- const response = await _chunkGI3MMBP3cjs.embedAuthedFetch.call(void 0, `${base}/${encodeURIComponent(id)}`, {
18447
+ const response = await _chunkSQ7YHWEPcjs.embedAuthedFetch.call(void 0, `${base}/${encodeURIComponent(id)}`, {
18446
18448
  method: "PATCH",
18447
18449
  body: JSON.stringify(body)
18448
18450
  });
@@ -18455,7 +18457,7 @@ function createChatConversationsApi(baseUrl) {
18455
18457
  if (limit !== void 0) qs.set("limit", String(limit));
18456
18458
  if (cursor) qs.set("cursor", cursor);
18457
18459
  if (search) qs.set("search", search);
18458
- const response = await _chunkGI3MMBP3cjs.embedAuthedFetch.call(void 0, `${base}?${qs.toString()}`, { method: "GET" });
18460
+ const response = await _chunkSQ7YHWEPcjs.embedAuthedFetch.call(void 0, `${base}?${qs.toString()}`, { method: "GET" });
18459
18461
  if (!response.ok) await failWith(response, "Conversation list failed");
18460
18462
  const body = unwrapEnvelope(await response.json());
18461
18463
  const rawDialogs = isRecord(body) && Array.isArray(body.dialogs) ? body.dialogs : [];
@@ -18796,11 +18798,11 @@ function createSseFrameDecoder() {
18796
18798
  var STORAGE_KEY = "conversation";
18797
18799
  var namespaceFor = (source) => {
18798
18800
  const base = `mingo-chat-${source}`;
18799
- const auth = _chunkGI3MMBP3cjs.getEmbedProxyAuth.call(void 0, );
18801
+ const auth = _chunkSQ7YHWEPcjs.getEmbedProxyAuth.call(void 0, );
18800
18802
  return _optionalChain([auth, 'optionalAccess', _598 => _598.email]) ? `${base}-u-${encodeURIComponent(auth.email.toLowerCase())}` : base;
18801
18803
  };
18802
18804
  function createChatConversationStorage(source) {
18803
- return _chunkGI3MMBP3cjs.createLocalStorageAdapter.call(void 0, {
18805
+ return _chunkSQ7YHWEPcjs.createLocalStorageAdapter.call(void 0, {
18804
18806
  key: STORAGE_KEY,
18805
18807
  namespace: () => namespaceFor(source),
18806
18808
  validate: (parsed) => !!parsed && typeof parsed.conversationId === "string" && parsed.conversationId.length > 0,
@@ -18856,7 +18858,7 @@ function useChatHistoryHydration({
18856
18858
  setIsHydratingHistory(true);
18857
18859
  void (async () => {
18858
18860
  try {
18859
- const res = await _chunkGI3MMBP3cjs.embedAuthedFetch.call(void 0, `${historyUrl}?conversationId=${encodeURIComponent(conversationId)}`, {
18861
+ const res = await _chunkSQ7YHWEPcjs.embedAuthedFetch.call(void 0, `${historyUrl}?conversationId=${encodeURIComponent(conversationId)}`, {
18860
18862
  method: "GET"
18861
18863
  });
18862
18864
  if (!res.ok) {
@@ -19167,7 +19169,7 @@ function useSseChatAdapter(options, runtimeOptions = {}) {
19167
19169
  abortControllerRef.current = ctrl;
19168
19170
  let mintedThisTurn = false;
19169
19171
  try {
19170
- const response = await _chunkGI3MMBP3cjs.embedAuthedFetch.call(void 0, targetPath, {
19172
+ const response = await _chunkSQ7YHWEPcjs.embedAuthedFetch.call(void 0, targetPath, {
19171
19173
  method: "POST",
19172
19174
  body: JSON.stringify(requestBody),
19173
19175
  signal: ctrl.signal
@@ -19530,12 +19532,12 @@ function withNormalizedReview(call) {
19530
19532
  return { ...rest, ...policyReviewField(raw2) };
19531
19533
  }
19532
19534
  function getOwnerDisplayName(owner) {
19533
- if (_optionalChain([owner, 'optionalAccess', _642 => _642.type]) === _chunk63ZV3UGGcjs.OWNER_TYPE.ADMIN && owner.user) {
19535
+ if (_optionalChain([owner, 'optionalAccess', _642 => _642.type]) === _chunk65NMKAPQcjs.OWNER_TYPE.ADMIN && owner.user) {
19534
19536
  const { firstName, lastName } = owner.user;
19535
19537
  const name = [firstName, lastName].filter(Boolean).join(" ");
19536
19538
  if (name) return name;
19537
19539
  }
19538
- return _optionalChain([owner, 'optionalAccess', _643 => _643.type]) === _chunk63ZV3UGGcjs.OWNER_TYPE.ADMIN ? "Admin" : "You";
19540
+ return _optionalChain([owner, 'optionalAccess', _643 => _643.type]) === _chunk65NMKAPQcjs.OWNER_TYPE.ADMIN ? "Admin" : "You";
19539
19541
  }
19540
19542
  function getOwnerAvatar(owner) {
19541
19543
  return _nullishCoalesce(_optionalChain([owner, 'optionalAccess', _644 => _644.user, 'optionalAccess', _645 => _645.image, 'optionalAccess', _646 => _646.imageUrl]), () => ( void 0));
@@ -19799,7 +19801,7 @@ function applyHistoryEvent(event, accumulator, approvalStatuses, options, escala
19799
19801
  if (!call.requiresApproval) continue;
19800
19802
  accumulator.addApprovalRequest(
19801
19803
  event.requestId,
19802
- _chunkACPOJE32cjs.getCommandText.call(void 0, call),
19804
+ _chunkSTV6VJ3Ucjs.getCommandText.call(void 0, call),
19803
19805
  call.toolExplanation,
19804
19806
  approvalType,
19805
19807
  status,
@@ -19860,7 +19862,7 @@ function applyHistoryEvent(event, accumulator, approvalStatuses, options, escala
19860
19862
  if (!call.requiresApproval) continue;
19861
19863
  accumulator.addApprovalRequest(
19862
19864
  requestId,
19863
- _chunkACPOJE32cjs.getCommandText.call(void 0, call),
19865
+ _chunkSTV6VJ3Ucjs.getCommandText.call(void 0, call),
19864
19866
  call.toolExplanation,
19865
19867
  escalatedData.approvalType,
19866
19868
  status
@@ -19968,10 +19970,10 @@ function processHistoricalMessages(messages, options = {}) {
19968
19970
  pushStandaloneMessages(processedMessages, msg, messageDataArray);
19969
19971
  return;
19970
19972
  }
19971
- const isUserMessage = _optionalChain([msg, 'access', _659 => _659.owner, 'optionalAccess', _660 => _660.type]) === _chunk63ZV3UGGcjs.OWNER_TYPE.CLIENT || _optionalChain([msg, 'access', _661 => _661.owner, 'optionalAccess', _662 => _662.type]) === _chunk63ZV3UGGcjs.OWNER_TYPE.ADMIN;
19973
+ const isUserMessage = _optionalChain([msg, 'access', _659 => _659.owner, 'optionalAccess', _660 => _660.type]) === _chunk65NMKAPQcjs.OWNER_TYPE.CLIENT || _optionalChain([msg, 'access', _661 => _661.owner, 'optionalAccess', _662 => _662.type]) === _chunk65NMKAPQcjs.OWNER_TYPE.ADMIN;
19972
19974
  if (isUserMessage) {
19973
19975
  flushAssistantMessage();
19974
- const userAuthorType = _optionalChain([msg, 'access', _663 => _663.owner, 'optionalAccess', _664 => _664.type]) === _chunk63ZV3UGGcjs.OWNER_TYPE.ADMIN ? "admin" : "user";
19976
+ const userAuthorType = _optionalChain([msg, 'access', _663 => _663.owner, 'optionalAccess', _664 => _664.type]) === _chunk65NMKAPQcjs.OWNER_TYPE.ADMIN ? "admin" : "user";
19975
19977
  messageDataArray.forEach((data) => {
19976
19978
  if (data.type === MESSAGE_TYPE.TEXT && "text" in data && data.text) {
19977
19979
  const rawContext = data.contextItems;
@@ -20022,7 +20024,7 @@ function processHistoricalMessages(messages, options = {}) {
20022
20024
  });
20023
20025
  const nextMsg = messages[index + 1];
20024
20026
  const isLastMessage = index === messages.length - 1;
20025
- const nextIsFromUser = nextMsg && (_optionalChain([nextMsg, 'access', _667 => _667.owner, 'optionalAccess', _668 => _668.type]) === _chunk63ZV3UGGcjs.OWNER_TYPE.CLIENT || _optionalChain([nextMsg, 'access', _669 => _669.owner, 'optionalAccess', _670 => _670.type]) === _chunk63ZV3UGGcjs.OWNER_TYPE.ADMIN);
20027
+ const nextIsFromUser = nextMsg && (_optionalChain([nextMsg, 'access', _667 => _667.owner, 'optionalAccess', _668 => _668.type]) === _chunk65NMKAPQcjs.OWNER_TYPE.CLIENT || _optionalChain([nextMsg, 'access', _669 => _669.owner, 'optionalAccess', _670 => _670.type]) === _chunk65NMKAPQcjs.OWNER_TYPE.ADMIN);
20026
20028
  if (isLastMessage || nextIsFromUser) {
20027
20029
  flushAssistantMessage();
20028
20030
  }