@flamingo-stack/openframe-frontend-core 0.0.699 → 0.0.700

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 (75) hide show
  1. package/dist/{chunk-HVY6MU33.cjs → chunk-2CSYUMNM.cjs} +2 -2
  2. package/dist/{chunk-Q2QS562J.cjs → chunk-4H5Q6MQG.cjs} +44 -44
  3. package/dist/{chunk-ERC2PVUG.cjs → chunk-65YVUYWJ.cjs} +32 -32
  4. package/dist/{chunk-SUXB6YSP.js → chunk-6JG75WVO.js} +4 -4
  5. package/dist/{chunk-Z6R7GE5L.js → chunk-6JPQDYYY.js} +261 -232
  6. package/dist/{chunk-SCUPTMLG.cjs → chunk-7ZDTAABP.cjs} +7 -7
  7. package/dist/{chunk-UDJPRMLP.js → chunk-A5ZGKBN2.js} +1 -1
  8. package/dist/{chunk-U473T27Y.js → chunk-B7M6QEEM.js} +1 -1
  9. package/dist/{chunk-GRTLCRZA.cjs → chunk-BPS7JQCI.cjs} +2 -2
  10. package/dist/{chunk-YJNJINXN.cjs → chunk-BQ34PIFC.cjs} +3 -3
  11. package/dist/{chunk-GZLE67PF.cjs → chunk-BRQY2HKD.cjs} +24 -24
  12. package/dist/{chunk-4CZC5NFR.js → chunk-BZYMGI4L.js} +1 -1
  13. package/dist/{chunk-SNFL3B73.js → chunk-CUPJCGLB.js} +2 -2
  14. package/dist/{chunk-5RYXQ4TX.cjs → chunk-DG2I57UM.cjs} +21 -21
  15. package/dist/{chunk-WYLVP5OC.js → chunk-DJLZXJYB.js} +1 -1
  16. package/dist/{chunk-WTR2GHID.js → chunk-EONNPRAW.js} +2 -2
  17. package/dist/{chunk-36S7W4AD.js → chunk-GD4JALTR.js} +2 -2
  18. package/dist/{chunk-UM44DDPC.cjs → chunk-GFXZMFDX.cjs} +9 -9
  19. package/dist/{chunk-6THYLHRF.js → chunk-JPVDJB27.js} +4 -4
  20. package/dist/{chunk-6ARCZ2VH.js → chunk-MFORWVGD.js} +5 -5
  21. package/dist/{chunk-Z4W4XDDZ.js → chunk-N7DPIH57.js} +1 -1
  22. package/dist/{chunk-SWXXLZLZ.js → chunk-N7HMUQRV.js} +1 -1
  23. package/dist/{chunk-JN7IKMMJ.cjs → chunk-NIT257DV.cjs} +4 -4
  24. package/dist/{chunk-KXRUQCHZ.js → chunk-PNWIVND4.js} +3 -3
  25. package/dist/{chunk-EKPOIGYI.cjs → chunk-QDIX2ZRL.cjs} +313 -313
  26. package/dist/{chunk-ANOZ7Z4A.cjs → chunk-QPNR4N7N.cjs} +20 -20
  27. package/dist/{chunk-QTLRRPDO.cjs → chunk-QZGFJBG5.cjs} +70 -70
  28. package/dist/{chunk-2MVAILI4.cjs → chunk-RTGPIHVO.cjs} +334 -305
  29. package/dist/{chunk-LGEGOCU7.js → chunk-S4ADN25W.js} +2 -2
  30. package/dist/{chunk-IAMMZHYE.js → chunk-V5QNDOEL.js} +4 -4
  31. package/dist/{chunk-K7SNFTIX.cjs → chunk-YBC346FY.cjs} +12 -12
  32. package/dist/{chunk-RD3WWENS.cjs → chunk-ZSPHOHOW.cjs} +9 -9
  33. package/dist/components/case-studies/index.cjs +14 -14
  34. package/dist/components/case-studies/index.js +3 -3
  35. package/dist/components/chat/entity-cards/dispatch.d.ts +50 -1
  36. package/dist/components/chat/entity-cards/dispatch.d.ts.map +1 -1
  37. package/dist/components/chat/index.cjs +6 -2
  38. package/dist/components/chat/index.js +5 -1
  39. package/dist/components/chat/utils/card-destination.d.ts +48 -0
  40. package/dist/components/chat/utils/card-destination.d.ts.map +1 -0
  41. package/dist/components/chat/utils/index.d.ts +2 -1
  42. package/dist/components/chat/utils/index.d.ts.map +1 -1
  43. package/dist/components/chat/utils/resolve-fetched-card-href.d.ts +10 -0
  44. package/dist/components/chat/utils/resolve-fetched-card-href.d.ts.map +1 -1
  45. package/dist/components/contact/index.cjs +4 -4
  46. package/dist/components/contact/index.js +3 -3
  47. package/dist/components/docs/index.cjs +7 -7
  48. package/dist/components/docs/index.js +6 -6
  49. package/dist/components/embeds/index.cjs +4 -4
  50. package/dist/components/embeds/index.js +3 -3
  51. package/dist/components/faq/index.cjs +4 -4
  52. package/dist/components/faq/index.js +3 -3
  53. package/dist/components/features/index.cjs +3 -3
  54. package/dist/components/features/index.js +2 -2
  55. package/dist/components/help-center-pages/index.cjs +71 -71
  56. package/dist/components/help-center-pages/index.js +14 -14
  57. package/dist/components/index.cjs +45 -41
  58. package/dist/components/index.js +17 -13
  59. package/dist/components/meeting-scheduler/index.cjs +25 -25
  60. package/dist/components/meeting-scheduler/index.js +2 -2
  61. package/dist/components/navigation/index.cjs +6 -6
  62. package/dist/components/navigation/index.js +5 -5
  63. package/dist/components/onboarding-guides/index.cjs +6 -6
  64. package/dist/components/onboarding-guides/index.js +5 -5
  65. package/dist/components/tickets/index.cjs +7 -7
  66. package/dist/components/tickets/index.js +6 -6
  67. package/dist/components/ui/index.cjs +7 -3
  68. package/dist/components/ui/index.js +6 -2
  69. package/dist/index.cjs +11 -7
  70. package/dist/index.js +10 -6
  71. package/package.json +1 -1
  72. package/src/components/chat/entity-cards/dispatch.tsx +29 -73
  73. package/src/components/chat/utils/card-destination.ts +103 -0
  74. package/src/components/chat/utils/index.ts +13 -1
  75. package/src/components/chat/utils/resolve-fetched-card-href.ts +17 -0
@@ -15159,9 +15159,6 @@ function GenericEntityCardSkeleton({ className }) {
15159
15159
  ] });
15160
15160
  }
15161
15161
 
15162
- // src/components/chat/entity-cards/dispatch.tsx
15163
-
15164
-
15165
15162
  // src/utils/faq-anchor.ts
15166
15163
  function faqSectionSlug(section) {
15167
15164
  return "faq-" + section.toLowerCase().replace(/[^a-z0-9]+/g, "-").replace(/^-+|-+$/g, "");
@@ -15333,13 +15330,6 @@ function MingoInfoCard({
15333
15330
  );
15334
15331
  }
15335
15332
 
15336
- // src/components/chat/utils/external-app-urls.ts
15337
- var CLICKUP_APP_BASE = "https://app.clickup.com";
15338
- function clickupTaskUrl(externalId) {
15339
- if (!externalId) return null;
15340
- return `${CLICKUP_APP_BASE}/t/${externalId}`;
15341
- }
15342
-
15343
15333
  // src/components/chat/utils/resolve-fetched-card-href.ts
15344
15334
  function readSlug(item) {
15345
15335
  if (!item || typeof item !== "object") return null;
@@ -15354,6 +15344,13 @@ function readFetchedCardTitle(item) {
15354
15344
  }
15355
15345
  return null;
15356
15346
  }
15347
+ function readFetchedCardPath(item) {
15348
+ if (!item || typeof item !== "object") return null;
15349
+ const metadata = item.metadata;
15350
+ if (!metadata || typeof metadata !== "object") return null;
15351
+ const path = metadata.path;
15352
+ return typeof path === "string" && path.trim() ? path.trim() : null;
15353
+ }
15357
15354
  function readPlatforms(item, canonicalType) {
15358
15355
  if (!item || typeof item !== "object") return void 0;
15359
15356
  const obj = item;
@@ -15398,6 +15395,180 @@ function resolveFetchedCardHref({
15398
15395
  });
15399
15396
  }
15400
15397
 
15398
+ // src/components/chat/utils/source-row-cta.ts
15399
+
15400
+
15401
+ // src/platform-domains.ts
15402
+ var PLATFORM_DOMAINS = [
15403
+ { key: "marketing-hub", defaultUrl: "https://marketing-hub.flamingo.so", envVar: "NEXT_PUBLIC_MARKETING_HUB_URL" },
15404
+ { key: "company-hub", defaultUrl: "https://company-hub.flamingo.so", envVar: "NEXT_PUBLIC_COMPANY_HUB_URL" },
15405
+ { key: "product-hub", defaultUrl: "https://product-hub.flamingo.so", envVar: "NEXT_PUBLIC_PRODUCT_HUB_URL" },
15406
+ { key: "revenue-hub", defaultUrl: "https://revenue-hub.flamingo.so", envVar: "NEXT_PUBLIC_REVENUE_HUB_URL" },
15407
+ { key: "people-hub", defaultUrl: "https://people-hub.flamingo.so", envVar: "NEXT_PUBLIC_PEOPLE_HUB_URL" },
15408
+ { key: "openmsp", defaultUrl: "https://www.openmsp.ai", envVar: "NEXT_PUBLIC_OPENMSP_URL" },
15409
+ // ORDERING INVARIANT (first-wins, load-bearing): `flamingo` MUST precede `flamingo-teaser` + `universal`.
15410
+ // All three resolve to www.flamingo.run; the reverse index is first-wins → flamingo claims the shared host,
15411
+ // teaser keeps only its unique flamingo.cx aliases, universal contributes no unique host.
15412
+ // ⚠️ DO NOT REORDER — enforced by the module-load self-check at the bottom of this file.
15413
+ { key: "flamingo", defaultUrl: "https://www.flamingo.run", envVar: "NEXT_PUBLIC_FLAMINGO_URL" },
15414
+ { key: "tmcg", defaultUrl: "https://www.tmcg.miami", envVar: "NEXT_PUBLIC_TMCG_URL" },
15415
+ { key: "mlg", defaultUrl: "https://www.mlg.soccer", envVar: "NEXT_PUBLIC_MLG_URL" },
15416
+ {
15417
+ key: "flamingo-teaser",
15418
+ defaultUrl: "https://www.flamingo.run",
15419
+ envVar: "NEXT_PUBLIC_FLAMINGO_URL",
15420
+ aliasHostnames: ["flamingo.cx", "www.flamingo.cx"]
15421
+ },
15422
+ {
15423
+ key: "openframe",
15424
+ defaultUrl: "https://openframe.ai",
15425
+ envVar: "NEXT_PUBLIC_OPENFRAME_URL",
15426
+ aliasHostnames: ["openframe.ai", "www.openframe.ai", "hub.openframe.ai"]
15427
+ },
15428
+ {
15429
+ key: "openframe-dashboard",
15430
+ defaultUrl: "https://openframe.ai",
15431
+ envVar: "NEXT_PUBLIC_OPENFRAME_DASHBOARD_URL",
15432
+ pseudo: true
15433
+ },
15434
+ { key: "universal", defaultUrl: "https://www.flamingo.run", envVar: "NEXT_PUBLIC_FLAMINGO_URL" }
15435
+ ];
15436
+ var ENV_OVERRIDES = {
15437
+ NEXT_PUBLIC_MARKETING_HUB_URL: process.env.NEXT_PUBLIC_MARKETING_HUB_URL,
15438
+ NEXT_PUBLIC_COMPANY_HUB_URL: process.env.NEXT_PUBLIC_COMPANY_HUB_URL,
15439
+ NEXT_PUBLIC_PRODUCT_HUB_URL: process.env.NEXT_PUBLIC_PRODUCT_HUB_URL,
15440
+ NEXT_PUBLIC_REVENUE_HUB_URL: process.env.NEXT_PUBLIC_REVENUE_HUB_URL,
15441
+ NEXT_PUBLIC_PEOPLE_HUB_URL: process.env.NEXT_PUBLIC_PEOPLE_HUB_URL,
15442
+ NEXT_PUBLIC_OPENMSP_URL: process.env.NEXT_PUBLIC_OPENMSP_URL,
15443
+ NEXT_PUBLIC_FLAMINGO_URL: process.env.NEXT_PUBLIC_FLAMINGO_URL,
15444
+ NEXT_PUBLIC_TMCG_URL: process.env.NEXT_PUBLIC_TMCG_URL,
15445
+ NEXT_PUBLIC_MLG_URL: process.env.NEXT_PUBLIC_MLG_URL,
15446
+ NEXT_PUBLIC_OPENFRAME_URL: process.env.NEXT_PUBLIC_OPENFRAME_URL,
15447
+ NEXT_PUBLIC_OPENFRAME_DASHBOARD_URL: process.env.NEXT_PUBLIC_OPENFRAME_DASHBOARD_URL
15448
+ };
15449
+ function byKey(key) {
15450
+ return PLATFORM_DOMAINS.find((e) => e.key === key);
15451
+ }
15452
+ function envOverrideFor(key) {
15453
+ const envVar = _optionalChain([byKey, 'call', _374 => _374(key), 'optionalAccess', _375 => _375.envVar]);
15454
+ if (!envVar) return null;
15455
+ return ENV_OVERRIDES[envVar] || null;
15456
+ }
15457
+ function ensureScheme(url) {
15458
+ const trimmed = url.trim();
15459
+ if (/^[a-z][a-z0-9+.-]*:\/\//i.test(trimmed)) return trimmed;
15460
+ return `https://${trimmed.replace(/^\/+/, "")}`;
15461
+ }
15462
+ function getPlatformProductionUrl(platform) {
15463
+ const resolved = _nullishCoalesce(_nullishCoalesce(_nullishCoalesce(envOverrideFor(platform), () => ( _optionalChain([byKey, 'call', _376 => _376(platform), 'optionalAccess', _377 => _377.defaultUrl]))), () => ( envOverrideFor("flamingo"))), () => ( "https://www.flamingo.run"));
15464
+ return ensureScheme(resolved);
15465
+ }
15466
+ function getPlatformUrl(platform, options = {}) {
15467
+ const url = options.environment !== "production" && process.env.NODE_ENV !== "production" ? process.env.NEXT_PUBLIC_DEV_URL || "http://localhost:3000" : getPlatformProductionUrl(platform);
15468
+ return url.replace(/\/+$/, "");
15469
+ }
15470
+ function getDeploymentUrl(options) {
15471
+ if (typeof window !== "undefined") return window.location.origin;
15472
+ const configured = _optionalChain([options, 'access', _378 => _378.configuredUrl, 'optionalAccess', _379 => _379.trim, 'call', _380 => _380()]);
15473
+ if (configured) return ensureScheme(configured).replace(/\/+$/, "");
15474
+ if (process.env.VERCEL_ENV === "preview" && process.env.VERCEL_URL) {
15475
+ return ensureScheme(process.env.VERCEL_URL).replace(/\/+$/, "");
15476
+ }
15477
+ if (process.env.VERCEL_ENV === "production" || process.env.NODE_ENV === "production") {
15478
+ return getPlatformUrl(options.platform, { environment: "production" });
15479
+ }
15480
+ return (process.env.NEXT_PUBLIC_DEV_URL || `http://localhost:${_nullishCoalesce(process.env.PORT, () => ( 3e3))}`).replace(/\/+$/, "");
15481
+ }
15482
+ var LOCAL_HOSTNAME = /^(localhost|127(?:\.\d{1,3}){3}|0\.0\.0\.0|\[::1\])$/i;
15483
+ function isLocalUrl(url) {
15484
+ try {
15485
+ return LOCAL_HOSTNAME.test(new URL(url).hostname);
15486
+ } catch (e45) {
15487
+ return false;
15488
+ }
15489
+ }
15490
+ function getRequestOrigin(headers, options) {
15491
+ const host = headers.get("host");
15492
+ if (!host) return getDeploymentUrl(options);
15493
+ const local = LOCAL_HOSTNAME.test(host.replace(/:\d+$/, ""));
15494
+ const proto = _optionalChain([headers, 'access', _381 => _381.get, 'call', _382 => _382("x-forwarded-proto"), 'optionalAccess', _383 => _383.split, 'call', _384 => _384(","), 'access', _385 => _385[0], 'access', _386 => _386.trim, 'call', _387 => _387()]) || (local ? "http" : "https");
15495
+ return `${proto}://${host}`;
15496
+ }
15497
+ function resolveRedirectTarget(origin, target) {
15498
+ const url = new URL(target, origin);
15499
+ if (!/^https?:\/\//i.test(target) && url.origin !== new URL(origin).origin) {
15500
+ throw new Error(`resolveRedirectTarget: "${target}" is not a same-origin path`);
15501
+ }
15502
+ return url;
15503
+ }
15504
+ function hostOf(value) {
15505
+ if (!value) return null;
15506
+ try {
15507
+ return new URL(value).hostname.toLowerCase();
15508
+ } catch (e46) {
15509
+ return null;
15510
+ }
15511
+ }
15512
+ function expandWwwApex(host) {
15513
+ if (host.startsWith("www.")) return [host, host.slice(4)];
15514
+ if (host.split(".").length === 2) return [host, `www.${host}`];
15515
+ return [host];
15516
+ }
15517
+ function toRegistrableBaseDomain(host) {
15518
+ const parts = host.split(".");
15519
+ if (parts.length >= 2) return parts.slice(-2).join(".");
15520
+ return void 0;
15521
+ }
15522
+ function aliasHostsOf(key) {
15523
+ return _nullishCoalesce(_optionalChain([byKey, 'call', _388 => _388(key), 'optionalAccess', _389 => _389.aliasHostnames]), () => ( []));
15524
+ }
15525
+ function hostsForEntry(entry, opts) {
15526
+ const resolved = hostOf(getPlatformProductionUrl(entry.key));
15527
+ const hosts = resolved ? expandWwwApex(resolved) : [];
15528
+ if (opts.includeAliases) hosts.push(...aliasHostsOf(entry.key));
15529
+ return hosts;
15530
+ }
15531
+ function getPlatformByHostname(hostname) {
15532
+ const host = hostname.toLowerCase();
15533
+ for (const entry of PLATFORM_DOMAINS) {
15534
+ if (entry.pseudo) continue;
15535
+ if (hostsForEntry(entry, { includeAliases: true }).includes(host)) return entry.key;
15536
+ }
15537
+ return null;
15538
+ }
15539
+ function isPreviewHost(hostname) {
15540
+ return hostname.endsWith(".vercel.app");
15541
+ }
15542
+ function getAllPlatformBaseDomains() {
15543
+ if (typeof window === "undefined") return [];
15544
+ const hostname = window.location.hostname;
15545
+ if (hostname === "localhost" || hostname === "127.0.0.1" || hostname.startsWith("127.")) {
15546
+ return [];
15547
+ }
15548
+ const previewEnv = process.env.VERCEL_ENV === "preview" || process.env.NEXT_PUBLIC_VERCEL_ENV === "preview" || isPreviewHost(hostname);
15549
+ if (previewEnv) {
15550
+ return [".vercel.app", "vercel.app"];
15551
+ }
15552
+ const baseDomains = /* @__PURE__ */ new Set();
15553
+ for (const entry of PLATFORM_DOMAINS) {
15554
+ if (entry.pseudo) continue;
15555
+ const host = hostOf(getPlatformProductionUrl(entry.key));
15556
+ if (!host) continue;
15557
+ const base = toRegistrableBaseDomain(host);
15558
+ if (base) {
15559
+ baseDomains.add(`.${base}`);
15560
+ baseDomains.add(base);
15561
+ }
15562
+ }
15563
+ return Array.from(baseDomains);
15564
+ }
15565
+ var _orderIdx = (k) => PLATFORM_DOMAINS.findIndex((e) => e.key === k);
15566
+ if (_orderIdx("flamingo") > _orderIdx("flamingo-teaser") || _orderIdx("flamingo") > _orderIdx("universal") || getPlatformByHostname("flamingo.cx") !== "flamingo-teaser" || getPlatformByHostname("hub.openframe.ai") !== "openframe") {
15567
+ console.error(
15568
+ "[platform-domains] \u26A0\uFE0F PLATFORM_DOMAINS ordering invariant violated \u2014 `flamingo` must precede `flamingo-teaser`/`universal`, and the openframe/teaser aliases must be intact. Do not reorder the table."
15569
+ );
15570
+ }
15571
+
15401
15572
  // src/utils/source-icons.ts
15402
15573
  var SOURCE_ICON_NAMES = {
15403
15574
  // Doc tables
@@ -15596,180 +15767,6 @@ function defaultDocumentTypeForTableId(tableId) {
15596
15767
  return null;
15597
15768
  }
15598
15769
 
15599
- // src/components/chat/utils/source-row-cta.ts
15600
-
15601
-
15602
- // src/platform-domains.ts
15603
- var PLATFORM_DOMAINS = [
15604
- { key: "marketing-hub", defaultUrl: "https://marketing-hub.flamingo.so", envVar: "NEXT_PUBLIC_MARKETING_HUB_URL" },
15605
- { key: "company-hub", defaultUrl: "https://company-hub.flamingo.so", envVar: "NEXT_PUBLIC_COMPANY_HUB_URL" },
15606
- { key: "product-hub", defaultUrl: "https://product-hub.flamingo.so", envVar: "NEXT_PUBLIC_PRODUCT_HUB_URL" },
15607
- { key: "revenue-hub", defaultUrl: "https://revenue-hub.flamingo.so", envVar: "NEXT_PUBLIC_REVENUE_HUB_URL" },
15608
- { key: "people-hub", defaultUrl: "https://people-hub.flamingo.so", envVar: "NEXT_PUBLIC_PEOPLE_HUB_URL" },
15609
- { key: "openmsp", defaultUrl: "https://www.openmsp.ai", envVar: "NEXT_PUBLIC_OPENMSP_URL" },
15610
- // ORDERING INVARIANT (first-wins, load-bearing): `flamingo` MUST precede `flamingo-teaser` + `universal`.
15611
- // All three resolve to www.flamingo.run; the reverse index is first-wins → flamingo claims the shared host,
15612
- // teaser keeps only its unique flamingo.cx aliases, universal contributes no unique host.
15613
- // ⚠️ DO NOT REORDER — enforced by the module-load self-check at the bottom of this file.
15614
- { key: "flamingo", defaultUrl: "https://www.flamingo.run", envVar: "NEXT_PUBLIC_FLAMINGO_URL" },
15615
- { key: "tmcg", defaultUrl: "https://www.tmcg.miami", envVar: "NEXT_PUBLIC_TMCG_URL" },
15616
- { key: "mlg", defaultUrl: "https://www.mlg.soccer", envVar: "NEXT_PUBLIC_MLG_URL" },
15617
- {
15618
- key: "flamingo-teaser",
15619
- defaultUrl: "https://www.flamingo.run",
15620
- envVar: "NEXT_PUBLIC_FLAMINGO_URL",
15621
- aliasHostnames: ["flamingo.cx", "www.flamingo.cx"]
15622
- },
15623
- {
15624
- key: "openframe",
15625
- defaultUrl: "https://openframe.ai",
15626
- envVar: "NEXT_PUBLIC_OPENFRAME_URL",
15627
- aliasHostnames: ["openframe.ai", "www.openframe.ai", "hub.openframe.ai"]
15628
- },
15629
- {
15630
- key: "openframe-dashboard",
15631
- defaultUrl: "https://openframe.ai",
15632
- envVar: "NEXT_PUBLIC_OPENFRAME_DASHBOARD_URL",
15633
- pseudo: true
15634
- },
15635
- { key: "universal", defaultUrl: "https://www.flamingo.run", envVar: "NEXT_PUBLIC_FLAMINGO_URL" }
15636
- ];
15637
- var ENV_OVERRIDES = {
15638
- NEXT_PUBLIC_MARKETING_HUB_URL: process.env.NEXT_PUBLIC_MARKETING_HUB_URL,
15639
- NEXT_PUBLIC_COMPANY_HUB_URL: process.env.NEXT_PUBLIC_COMPANY_HUB_URL,
15640
- NEXT_PUBLIC_PRODUCT_HUB_URL: process.env.NEXT_PUBLIC_PRODUCT_HUB_URL,
15641
- NEXT_PUBLIC_REVENUE_HUB_URL: process.env.NEXT_PUBLIC_REVENUE_HUB_URL,
15642
- NEXT_PUBLIC_PEOPLE_HUB_URL: process.env.NEXT_PUBLIC_PEOPLE_HUB_URL,
15643
- NEXT_PUBLIC_OPENMSP_URL: process.env.NEXT_PUBLIC_OPENMSP_URL,
15644
- NEXT_PUBLIC_FLAMINGO_URL: process.env.NEXT_PUBLIC_FLAMINGO_URL,
15645
- NEXT_PUBLIC_TMCG_URL: process.env.NEXT_PUBLIC_TMCG_URL,
15646
- NEXT_PUBLIC_MLG_URL: process.env.NEXT_PUBLIC_MLG_URL,
15647
- NEXT_PUBLIC_OPENFRAME_URL: process.env.NEXT_PUBLIC_OPENFRAME_URL,
15648
- NEXT_PUBLIC_OPENFRAME_DASHBOARD_URL: process.env.NEXT_PUBLIC_OPENFRAME_DASHBOARD_URL
15649
- };
15650
- function byKey(key) {
15651
- return PLATFORM_DOMAINS.find((e) => e.key === key);
15652
- }
15653
- function envOverrideFor(key) {
15654
- const envVar = _optionalChain([byKey, 'call', _374 => _374(key), 'optionalAccess', _375 => _375.envVar]);
15655
- if (!envVar) return null;
15656
- return ENV_OVERRIDES[envVar] || null;
15657
- }
15658
- function ensureScheme(url) {
15659
- const trimmed = url.trim();
15660
- if (/^[a-z][a-z0-9+.-]*:\/\//i.test(trimmed)) return trimmed;
15661
- return `https://${trimmed.replace(/^\/+/, "")}`;
15662
- }
15663
- function getPlatformProductionUrl(platform) {
15664
- const resolved = _nullishCoalesce(_nullishCoalesce(_nullishCoalesce(envOverrideFor(platform), () => ( _optionalChain([byKey, 'call', _376 => _376(platform), 'optionalAccess', _377 => _377.defaultUrl]))), () => ( envOverrideFor("flamingo"))), () => ( "https://www.flamingo.run"));
15665
- return ensureScheme(resolved);
15666
- }
15667
- function getPlatformUrl(platform, options = {}) {
15668
- const url = options.environment !== "production" && process.env.NODE_ENV !== "production" ? process.env.NEXT_PUBLIC_DEV_URL || "http://localhost:3000" : getPlatformProductionUrl(platform);
15669
- return url.replace(/\/+$/, "");
15670
- }
15671
- function getDeploymentUrl(options) {
15672
- if (typeof window !== "undefined") return window.location.origin;
15673
- const configured = _optionalChain([options, 'access', _378 => _378.configuredUrl, 'optionalAccess', _379 => _379.trim, 'call', _380 => _380()]);
15674
- if (configured) return ensureScheme(configured).replace(/\/+$/, "");
15675
- if (process.env.VERCEL_ENV === "preview" && process.env.VERCEL_URL) {
15676
- return ensureScheme(process.env.VERCEL_URL).replace(/\/+$/, "");
15677
- }
15678
- if (process.env.VERCEL_ENV === "production" || process.env.NODE_ENV === "production") {
15679
- return getPlatformUrl(options.platform, { environment: "production" });
15680
- }
15681
- return (process.env.NEXT_PUBLIC_DEV_URL || `http://localhost:${_nullishCoalesce(process.env.PORT, () => ( 3e3))}`).replace(/\/+$/, "");
15682
- }
15683
- var LOCAL_HOSTNAME = /^(localhost|127(?:\.\d{1,3}){3}|0\.0\.0\.0|\[::1\])$/i;
15684
- function isLocalUrl(url) {
15685
- try {
15686
- return LOCAL_HOSTNAME.test(new URL(url).hostname);
15687
- } catch (e45) {
15688
- return false;
15689
- }
15690
- }
15691
- function getRequestOrigin(headers, options) {
15692
- const host = headers.get("host");
15693
- if (!host) return getDeploymentUrl(options);
15694
- const local = LOCAL_HOSTNAME.test(host.replace(/:\d+$/, ""));
15695
- const proto = _optionalChain([headers, 'access', _381 => _381.get, 'call', _382 => _382("x-forwarded-proto"), 'optionalAccess', _383 => _383.split, 'call', _384 => _384(","), 'access', _385 => _385[0], 'access', _386 => _386.trim, 'call', _387 => _387()]) || (local ? "http" : "https");
15696
- return `${proto}://${host}`;
15697
- }
15698
- function resolveRedirectTarget(origin, target) {
15699
- const url = new URL(target, origin);
15700
- if (!/^https?:\/\//i.test(target) && url.origin !== new URL(origin).origin) {
15701
- throw new Error(`resolveRedirectTarget: "${target}" is not a same-origin path`);
15702
- }
15703
- return url;
15704
- }
15705
- function hostOf(value) {
15706
- if (!value) return null;
15707
- try {
15708
- return new URL(value).hostname.toLowerCase();
15709
- } catch (e46) {
15710
- return null;
15711
- }
15712
- }
15713
- function expandWwwApex(host) {
15714
- if (host.startsWith("www.")) return [host, host.slice(4)];
15715
- if (host.split(".").length === 2) return [host, `www.${host}`];
15716
- return [host];
15717
- }
15718
- function toRegistrableBaseDomain(host) {
15719
- const parts = host.split(".");
15720
- if (parts.length >= 2) return parts.slice(-2).join(".");
15721
- return void 0;
15722
- }
15723
- function aliasHostsOf(key) {
15724
- return _nullishCoalesce(_optionalChain([byKey, 'call', _388 => _388(key), 'optionalAccess', _389 => _389.aliasHostnames]), () => ( []));
15725
- }
15726
- function hostsForEntry(entry, opts) {
15727
- const resolved = hostOf(getPlatformProductionUrl(entry.key));
15728
- const hosts = resolved ? expandWwwApex(resolved) : [];
15729
- if (opts.includeAliases) hosts.push(...aliasHostsOf(entry.key));
15730
- return hosts;
15731
- }
15732
- function getPlatformByHostname(hostname) {
15733
- const host = hostname.toLowerCase();
15734
- for (const entry of PLATFORM_DOMAINS) {
15735
- if (entry.pseudo) continue;
15736
- if (hostsForEntry(entry, { includeAliases: true }).includes(host)) return entry.key;
15737
- }
15738
- return null;
15739
- }
15740
- function isPreviewHost(hostname) {
15741
- return hostname.endsWith(".vercel.app");
15742
- }
15743
- function getAllPlatformBaseDomains() {
15744
- if (typeof window === "undefined") return [];
15745
- const hostname = window.location.hostname;
15746
- if (hostname === "localhost" || hostname === "127.0.0.1" || hostname.startsWith("127.")) {
15747
- return [];
15748
- }
15749
- const previewEnv = process.env.VERCEL_ENV === "preview" || process.env.NEXT_PUBLIC_VERCEL_ENV === "preview" || isPreviewHost(hostname);
15750
- if (previewEnv) {
15751
- return [".vercel.app", "vercel.app"];
15752
- }
15753
- const baseDomains = /* @__PURE__ */ new Set();
15754
- for (const entry of PLATFORM_DOMAINS) {
15755
- if (entry.pseudo) continue;
15756
- const host = hostOf(getPlatformProductionUrl(entry.key));
15757
- if (!host) continue;
15758
- const base = toRegistrableBaseDomain(host);
15759
- if (base) {
15760
- baseDomains.add(`.${base}`);
15761
- baseDomains.add(base);
15762
- }
15763
- }
15764
- return Array.from(baseDomains);
15765
- }
15766
- var _orderIdx = (k) => PLATFORM_DOMAINS.findIndex((e) => e.key === k);
15767
- if (_orderIdx("flamingo") > _orderIdx("flamingo-teaser") || _orderIdx("flamingo") > _orderIdx("universal") || getPlatformByHostname("flamingo.cx") !== "flamingo-teaser" || getPlatformByHostname("hub.openframe.ai") !== "openframe") {
15768
- console.error(
15769
- "[platform-domains] \u26A0\uFE0F PLATFORM_DOMAINS ordering invariant violated \u2014 `flamingo` must precede `flamingo-teaser`/`universal`, and the openframe/teaser aliases must be intact. Do not reorder the table."
15770
- );
15771
- }
15772
-
15773
15770
  // src/utils/source-grouping.ts
15774
15771
  var DOC_TABLE_TYPES = ["markdown", "data_room_doc"];
15775
15772
  function groupsByTable(documentType) {
@@ -15965,6 +15962,58 @@ function resolveSourceIcon(input, ctx = {}) {
15965
15962
  return { Icon: icon, label: iconLabel };
15966
15963
  }
15967
15964
 
15965
+ // src/components/chat/utils/card-destination.ts
15966
+ function resolveCardDestination({
15967
+ chatRef,
15968
+ item,
15969
+ entry,
15970
+ ctx,
15971
+ composeContentUrl,
15972
+ resolveHref = (href) => href
15973
+ }) {
15974
+ const refPath = typeof _optionalChain([chatRef, 'access', _397 => _397.metadata, 'optionalAccess', _398 => _398.path]) === "string" && chatRef.metadata.path ? chatRef.metadata.path : null;
15975
+ const path = _nullishCoalesce(refPath, () => ( (item ? readFetchedCardPath(item) : null)));
15976
+ const cta = resolveSourceRowCTA(
15977
+ {
15978
+ sourceRepo: chatRef.sourceRepo,
15979
+ documentType: chatRef.type,
15980
+ id: chatRef.id,
15981
+ title: chatRef.title,
15982
+ externalUrl: chatRef.url,
15983
+ targetPlatform: chatRef.targetPlatform,
15984
+ path
15985
+ },
15986
+ ctx
15987
+ );
15988
+ const rowUrl = cta.href ? resolveHref(cta.href) : _nullishCoalesce(chatRef.url, () => ( null));
15989
+ const rowPlatform = _nullishCoalesce(_nullishCoalesce(cta.targetPlatform, () => ( chatRef.targetPlatform)), () => ( null));
15990
+ if (rowUrl) return { url: rowUrl, targetPlatform: rowPlatform, path, source: "row" };
15991
+ if (_optionalChain([entry, 'optionalAccess', _399 => _399.contentRefType]) && item) {
15992
+ const choice = pickFetchedCardHref({
15993
+ composed: resolveFetchedCardHref({
15994
+ contentRefType: entry.contentRefType,
15995
+ id: chatRef.id,
15996
+ item,
15997
+ composeContentUrl
15998
+ }),
15999
+ itemHref: _nullishCoalesce(_optionalChain([entry, 'access', _400 => _400.fallbackHref, 'optionalCall', _401 => _401(item)]), () => ( null)),
16000
+ allowComposed: !entry.noComposedHref
16001
+ });
16002
+ const url = choice ? _nullishCoalesce(_chunkEMCQGFXDcjs.safeHref.call(void 0, choice.href), () => ( null)) : null;
16003
+ if (choice && url) {
16004
+ return { url, targetPlatform: _nullishCoalesce(choice.targetPlatform, () => ( rowPlatform)), path, source: choice.source };
16005
+ }
16006
+ }
16007
+ return { url: null, targetPlatform: rowPlatform, path, source: "none" };
16008
+ }
16009
+
16010
+ // src/components/chat/utils/external-app-urls.ts
16011
+ var CLICKUP_APP_BASE = "https://app.clickup.com";
16012
+ function clickupTaskUrl(externalId) {
16013
+ if (!externalId) return null;
16014
+ return `${CLICKUP_APP_BASE}/t/${externalId}`;
16015
+ }
16016
+
15968
16017
  // src/components/chat/entity-cards/deleted-data-card.tsx
15969
16018
 
15970
16019
 
@@ -16048,8 +16097,8 @@ function cardMenuGroups(href, discuss, openDetails, externalLink) {
16048
16097
  if (href) {
16049
16098
  items.push({
16050
16099
  id: "open-details",
16051
- label: _nullishCoalesce(_optionalChain([openDetails, 'optionalAccess', _397 => _397.label]), () => ( "Open Details")),
16052
- icon: _nullishCoalesce(_optionalChain([openDetails, 'optionalAccess', _398 => _398.icon]), () => ( /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkN3COXDBHcjs.EyeIcon, { size: 20 }))),
16100
+ label: _nullishCoalesce(_optionalChain([openDetails, 'optionalAccess', _402 => _402.label]), () => ( "Open Details")),
16101
+ icon: _nullishCoalesce(_optionalChain([openDetails, 'optionalAccess', _403 => _403.icon]), () => ( /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkN3COXDBHcjs.EyeIcon, { size: 20 }))),
16053
16102
  // Main row → open the entity (same tab, soft Link nav).
16054
16103
  href,
16055
16104
  // Trailing 40px ↗ side-button → open in a new tab.
@@ -16109,18 +16158,18 @@ function itemVideoMetadata(item) {
16109
16158
  for (const v of vals) if (typeof v === "string" && v.length > 0) return v;
16110
16159
  return void 0;
16111
16160
  };
16112
- const m = _nullishCoalesce(_optionalChain([item, 'optionalAccess', _399 => _399.metadata]), () => ( {}));
16161
+ const m = _nullishCoalesce(_optionalChain([item, 'optionalAccess', _404 => _404.metadata]), () => ( {}));
16113
16162
  const out = {};
16114
- const videoUrl = pick(m.videoUrl, _optionalChain([item, 'optionalAccess', _400 => _400.custom_video_url]), _optionalChain([item, 'optionalAccess', _401 => _401.main_video_url]));
16115
- const youtubeUrl = pick(m.youtubeUrl, _optionalChain([item, 'optionalAccess', _402 => _402.youtube_url]), _optionalChain([item, 'optionalAccess', _403 => _403.testimonial_video_url]));
16116
- const highlightVideoUrl = pick(m.highlightVideoUrl, _optionalChain([item, 'optionalAccess', _404 => _404.highlight_video_url]));
16163
+ const videoUrl = pick(m.videoUrl, _optionalChain([item, 'optionalAccess', _405 => _405.custom_video_url]), _optionalChain([item, 'optionalAccess', _406 => _406.main_video_url]));
16164
+ const youtubeUrl = pick(m.youtubeUrl, _optionalChain([item, 'optionalAccess', _407 => _407.youtube_url]), _optionalChain([item, 'optionalAccess', _408 => _408.testimonial_video_url]));
16165
+ const highlightVideoUrl = pick(m.highlightVideoUrl, _optionalChain([item, 'optionalAccess', _409 => _409.highlight_video_url]));
16117
16166
  const videoPoster = pick(
16118
16167
  m.videoPoster,
16119
- _optionalChain([item, 'optionalAccess', _405 => _405.main_video_thumbnail]),
16120
- _optionalChain([item, 'optionalAccess', _406 => _406.highlight_video_thumbnail]),
16121
- _optionalChain([item, 'optionalAccess', _407 => _407.featured_image])
16168
+ _optionalChain([item, 'optionalAccess', _410 => _410.main_video_thumbnail]),
16169
+ _optionalChain([item, 'optionalAccess', _411 => _411.highlight_video_thumbnail]),
16170
+ _optionalChain([item, 'optionalAccess', _412 => _412.featured_image])
16122
16171
  );
16123
- const highlightVideoPoster = pick(m.highlightVideoPoster, _optionalChain([item, 'optionalAccess', _408 => _408.highlight_video_thumbnail]));
16172
+ const highlightVideoPoster = pick(m.highlightVideoPoster, _optionalChain([item, 'optionalAccess', _413 => _413.highlight_video_thumbnail]));
16124
16173
  if (videoUrl) out.videoUrl = videoUrl;
16125
16174
  if (youtubeUrl) out.youtubeUrl = youtubeUrl;
16126
16175
  if (highlightVideoUrl) out.highlightVideoUrl = highlightVideoUrl;
@@ -16150,15 +16199,15 @@ function fetchedItemDisplayRef(item, chatRef) {
16150
16199
  }
16151
16200
  function fetchedFaqDisplayRef(item, chatRef) {
16152
16201
  const it = item;
16153
- const answer = typeof _optionalChain([it, 'optionalAccess', _409 => _409.answer]) === "string" && it.answer.trim().length > 0 ? it.answer.trim() : null;
16202
+ const answer = typeof _optionalChain([it, 'optionalAccess', _414 => _414.answer]) === "string" && it.answer.trim().length > 0 ? it.answer.trim() : null;
16154
16203
  return {
16155
16204
  type: "faq",
16156
16205
  id: chatRef.id,
16157
16206
  sourceRepo: chatRef.sourceRepo,
16158
- title: typeof _optionalChain([it, 'optionalAccess', _410 => _410.question]) === "string" && it.question ? it.question : chatRef.id,
16207
+ title: typeof _optionalChain([it, 'optionalAccess', _415 => _415.question]) === "string" && it.question ? it.question : chatRef.id,
16159
16208
  url: _nullishCoalesce(chatRef.url, () => ( null)),
16160
16209
  ...answer ? { preview: answer.length > 400 ? `${answer.slice(0, 397)}\u2026` : answer } : {},
16161
- metadata: typeof _optionalChain([it, 'optionalAccess', _411 => _411.section]) === "string" && it.section ? { section: it.section } : {}
16210
+ metadata: typeof _optionalChain([it, 'optionalAccess', _416 => _416.section]) === "string" && it.section ? { section: it.section } : {}
16162
16211
  };
16163
16212
  }
16164
16213
  function HubspotTicketChatCard({
@@ -16166,8 +16215,8 @@ function HubspotTicketChatCard({
16166
16215
  isNewTab,
16167
16216
  discuss
16168
16217
  }) {
16169
- const status = typeof _optionalChain([chatRef, 'access', _412 => _412.metadata, 'optionalAccess', _413 => _413.status]) === "string" ? chatRef.metadata.status : void 0;
16170
- const statusLabel = typeof _optionalChain([chatRef, 'access', _414 => _414.metadata, 'optionalAccess', _415 => _415.statusLabel]) === "string" ? chatRef.metadata.statusLabel : void 0;
16218
+ const status = typeof _optionalChain([chatRef, 'access', _417 => _417.metadata, 'optionalAccess', _418 => _418.status]) === "string" ? chatRef.metadata.status : void 0;
16219
+ const statusLabel = typeof _optionalChain([chatRef, 'access', _419 => _419.metadata, 'optionalAccess', _420 => _420.statusLabel]) === "string" ? chatRef.metadata.statusLabel : void 0;
16171
16220
  const statusText = _nullishCoalesce(statusLabel, () => ( formatStatusToken(status)));
16172
16221
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
16173
16222
  MingoInfoCard,
@@ -16190,7 +16239,7 @@ function FaqChatCard({
16190
16239
  isNewTab,
16191
16240
  discuss
16192
16241
  }) {
16193
- const section = typeof _optionalChain([chatRef, 'access', _416 => _416.metadata, 'optionalAccess', _417 => _417.section]) === "string" ? chatRef.metadata.section.trim() : void 0;
16242
+ const section = typeof _optionalChain([chatRef, 'access', _421 => _421.metadata, 'optionalAccess', _422 => _422.section]) === "string" ? chatRef.metadata.section.trim() : void 0;
16194
16243
  const statusLabel = section && section.length > 0 ? section : "FAQ";
16195
16244
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
16196
16245
  MingoInfoCard,
@@ -16210,7 +16259,7 @@ function SlackChatCard({
16210
16259
  isNewTab,
16211
16260
  discuss
16212
16261
  }) {
16213
- const channelName = typeof _optionalChain([chatRef, 'access', _418 => _418.metadata, 'optionalAccess', _419 => _419.channelName]) === "string" ? chatRef.metadata.channelName.trim() : void 0;
16262
+ const channelName = typeof _optionalChain([chatRef, 'access', _423 => _423.metadata, 'optionalAccess', _424 => _424.channelName]) === "string" ? chatRef.metadata.channelName.trim() : void 0;
16214
16263
  const channelPretty = channelName ? channelName.startsWith("#") ? channelName : `#${channelName}` : void 0;
16215
16264
  const title = channelPretty ? `${chatRef.title} \xB7 ${channelPretty}` : chatRef.title;
16216
16265
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
@@ -16253,7 +16302,7 @@ function TrustCenterChatCard({
16253
16302
  isNewTab,
16254
16303
  discuss
16255
16304
  }) {
16256
- const raw = _optionalChain([item, 'optionalAccess', _420 => _420.frameworks]);
16305
+ const raw = _optionalChain([item, 'optionalAccess', _425 => _425.frameworks]);
16257
16306
  const frameworks = Array.isArray(raw) ? raw : [];
16258
16307
  const summary = _chunkEMCQGFXDcjs.trustFrameworksSummary.call(void 0, frameworks);
16259
16308
  const leadFramework = frameworks[0];
@@ -16302,7 +16351,7 @@ function GenericFinancialChatCard({
16302
16351
  isNewTab,
16303
16352
  discuss
16304
16353
  }) {
16305
- const subtitle = typeof _optionalChain([chatRef, 'access', _421 => _421.metadata, 'optionalAccess', _422 => _422.subtitle]) === "string" ? chatRef.metadata.subtitle : void 0;
16354
+ const subtitle = typeof _optionalChain([chatRef, 'access', _426 => _426.metadata, 'optionalAccess', _427 => _427.subtitle]) === "string" ? chatRef.metadata.subtitle : void 0;
16306
16355
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
16307
16356
  MingoInfoCard,
16308
16357
  {
@@ -16371,12 +16420,12 @@ function ProductReleaseChatCard({
16371
16420
  discuss
16372
16421
  }) {
16373
16422
  const releaseProps = buildProps(item);
16374
- const status = _optionalChain([item, 'optionalAccess', _423 => _423.version]) ? { label: String(item.version), variant: "grey" } : { label: "Release", variant: "grey" };
16423
+ const status = _optionalChain([item, 'optionalAccess', _428 => _428.version]) ? { label: String(item.version), variant: "grey" } : { label: "Release", variant: "grey" };
16375
16424
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
16376
16425
  EntityMingoCard,
16377
16426
  {
16378
- title: _nullishCoalesce(_optionalChain([item, 'optionalAccess', _424 => _424.title]), () => ( "")),
16379
- description: _optionalChain([item, 'optionalAccess', _425 => _425.summary]) || releaseProps.formattedDate || void 0,
16427
+ title: _nullishCoalesce(_optionalChain([item, 'optionalAccess', _429 => _429.title]), () => ( "")),
16428
+ description: _optionalChain([item, 'optionalAccess', _430 => _430.summary]) || releaseProps.formattedDate || void 0,
16380
16429
  cover: releaseProps.coverImage || void 0,
16381
16430
  fallbackIcon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkN3COXDBHcjs.Rocket02Icon, { size: 24 }),
16382
16431
  status,
@@ -16393,17 +16442,17 @@ function CampaignChatCard({
16393
16442
  isNewTab,
16394
16443
  discuss
16395
16444
  }) {
16396
- const goalsCount = Array.isArray(_optionalChain([item, 'optionalAccess', _426 => _426.goals])) ? item.goals.length : 0;
16445
+ const goalsCount = Array.isArray(_optionalChain([item, 'optionalAccess', _431 => _431.goals])) ? item.goals.length : 0;
16397
16446
  const meta = [
16398
- _optionalChain([item, 'optionalAccess', _427 => _427.start_date]) ? _chunkEMCQGFXDcjs.formatDateShort.call(void 0, item.start_date) : null,
16447
+ _optionalChain([item, 'optionalAccess', _432 => _432.start_date]) ? _chunkEMCQGFXDcjs.formatDateShort.call(void 0, item.start_date) : null,
16399
16448
  goalsCount > 0 ? `${goalsCount} goal${goalsCount !== 1 ? "s" : ""}` : null,
16400
16449
  "Marketing campaign"
16401
16450
  ].filter(Boolean).join(" \xB7 ");
16402
16451
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
16403
16452
  EntityMingoCard,
16404
16453
  {
16405
- title: _nullishCoalesce(_optionalChain([item, 'optionalAccess', _428 => _428.name]), () => ( "")),
16406
- description: meta || _optionalChain([item, 'optionalAccess', _429 => _429.description]) || void 0,
16454
+ title: _nullishCoalesce(_optionalChain([item, 'optionalAccess', _433 => _433.name]), () => ( "")),
16455
+ description: meta || _optionalChain([item, 'optionalAccess', _434 => _434.description]) || void 0,
16407
16456
  fallbackIcon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkN3COXDBHcjs.Megaphone01Icon, { size: 24 }),
16408
16457
  chatRef,
16409
16458
  isNewTab,
@@ -16458,14 +16507,14 @@ function BlogChatCard({
16458
16507
  hasEmbeddedVideo,
16459
16508
  discuss
16460
16509
  }) {
16461
- const category = Array.isArray(_optionalChain([item, 'optionalAccess', _430 => _430.categories])) ? _nullishCoalesce(_optionalChain([item, 'access', _431 => _431.categories, 'access', _432 => _432.find, 'call', _433 => _433((c) => _optionalChain([c, 'optionalAccess', _434 => _434.name])), 'optionalAccess', _435 => _435.name]), () => ( void 0)) : void 0;
16510
+ const category = Array.isArray(_optionalChain([item, 'optionalAccess', _435 => _435.categories])) ? _nullishCoalesce(_optionalChain([item, 'access', _436 => _436.categories, 'access', _437 => _437.find, 'call', _438 => _438((c) => _optionalChain([c, 'optionalAccess', _439 => _439.name])), 'optionalAccess', _440 => _440.name]), () => ( void 0)) : void 0;
16462
16511
  const status = hasEmbeddedVideo ? { label: "Video", variant: "primary" } : category ? { label: category, variant: "grey" } : void 0;
16463
16512
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
16464
16513
  EntityMingoCard,
16465
16514
  {
16466
- title: _nullishCoalesce(_optionalChain([item, 'optionalAccess', _436 => _436.title]), () => ( "")),
16467
- description: _nullishCoalesce(_optionalChain([item, 'optionalAccess', _437 => _437.summary]), () => ( void 0)),
16468
- cover: entityCover(_optionalChain([item, 'optionalAccess', _438 => _438.featured_image]), ogPlaceholder),
16515
+ title: _nullishCoalesce(_optionalChain([item, 'optionalAccess', _441 => _441.title]), () => ( "")),
16516
+ description: _nullishCoalesce(_optionalChain([item, 'optionalAccess', _442 => _442.summary]), () => ( void 0)),
16517
+ cover: entityCover(_optionalChain([item, 'optionalAccess', _443 => _443.featured_image]), ogPlaceholder),
16469
16518
  fallbackIcon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkN3COXDBHcjs.NewspaperIcon, { size: 24 }),
16470
16519
  status,
16471
16520
  chatRef,
@@ -16482,13 +16531,13 @@ function CaseStudyChatCard({
16482
16531
  ogPlaceholder,
16483
16532
  discuss
16484
16533
  }) {
16485
- const meta = [_optionalChain([item, 'optionalAccess', _439 => _439.msp, 'optionalAccess', _440 => _440.name]), _optionalChain([item, 'optionalAccess', _441 => _441.user, 'optionalAccess', _442 => _442.full_name])].filter(Boolean).join(" \xB7 ");
16534
+ const meta = [_optionalChain([item, 'optionalAccess', _444 => _444.msp, 'optionalAccess', _445 => _445.name]), _optionalChain([item, 'optionalAccess', _446 => _446.user, 'optionalAccess', _447 => _447.full_name])].filter(Boolean).join(" \xB7 ");
16486
16535
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
16487
16536
  EntityMingoCard,
16488
16537
  {
16489
- title: _nullishCoalesce(_optionalChain([item, 'optionalAccess', _443 => _443.title]), () => ( "")),
16490
- description: _optionalChain([item, 'optionalAccess', _444 => _444.summary]) || meta || void 0,
16491
- cover: entityCover(_optionalChain([item, 'optionalAccess', _445 => _445.featured_image]), ogPlaceholder),
16538
+ title: _nullishCoalesce(_optionalChain([item, 'optionalAccess', _448 => _448.title]), () => ( "")),
16539
+ description: _optionalChain([item, 'optionalAccess', _449 => _449.summary]) || meta || void 0,
16540
+ cover: entityCover(_optionalChain([item, 'optionalAccess', _450 => _450.featured_image]), ogPlaceholder),
16492
16541
  fallbackIcon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkN3COXDBHcjs.TrophyIcon, { size: 24 }),
16493
16542
  status: { label: "Case study", variant: "grey" },
16494
16543
  chatRef,
@@ -16505,13 +16554,13 @@ function CustomerInterviewChatCard({
16505
16554
  ogPlaceholder,
16506
16555
  discuss
16507
16556
  }) {
16508
- const meta = [_optionalChain([item, 'optionalAccess', _446 => _446.user, 'optionalAccess', _447 => _447.full_name]), _optionalChain([item, 'optionalAccess', _448 => _448.msp, 'optionalAccess', _449 => _449.name])].filter(Boolean).join(" \xB7 ");
16557
+ const meta = [_optionalChain([item, 'optionalAccess', _451 => _451.user, 'optionalAccess', _452 => _452.full_name]), _optionalChain([item, 'optionalAccess', _453 => _453.msp, 'optionalAccess', _454 => _454.name])].filter(Boolean).join(" \xB7 ");
16509
16558
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
16510
16559
  EntityMingoCard,
16511
16560
  {
16512
- title: _nullishCoalesce(_optionalChain([item, 'optionalAccess', _450 => _450.title]), () => ( "")),
16513
- description: _optionalChain([item, 'optionalAccess', _451 => _451.video_summary]) || meta || void 0,
16514
- cover: entityCover(_optionalChain([item, 'optionalAccess', _452 => _452.featured_image]), ogPlaceholder),
16561
+ title: _nullishCoalesce(_optionalChain([item, 'optionalAccess', _455 => _455.title]), () => ( "")),
16562
+ description: _optionalChain([item, 'optionalAccess', _456 => _456.video_summary]) || meta || void 0,
16563
+ cover: entityCover(_optionalChain([item, 'optionalAccess', _457 => _457.featured_image]), ogPlaceholder),
16515
16564
  fallbackIcon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkN3COXDBHcjs.MicrophoneIcon, { size: 24 }),
16516
16565
  status: { label: "Interview", variant: "grey" },
16517
16566
  chatRef,
@@ -16528,12 +16577,12 @@ function DesignDocChatCard({
16528
16577
  discuss
16529
16578
  }) {
16530
16579
  const displayRef = fetchedItemDisplayRef(item, chatRef);
16531
- const doc = _optionalChain([item, 'optionalAccess', _453 => _453.doc]);
16580
+ const doc = _optionalChain([item, 'optionalAccess', _458 => _458.doc]);
16532
16581
  const readiness = doc ? DESIGN_DOC_READINESS_DISPLAY[designDocReadiness(doc.completion)] : null;
16533
16582
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
16534
16583
  MingoInfoCard,
16535
16584
  {
16536
- title: _nullishCoalesce(_optionalChain([doc, 'optionalAccess', _454 => _454.title]), () => ( displayRef.title)),
16585
+ title: _nullishCoalesce(_optionalChain([doc, 'optionalAccess', _459 => _459.title]), () => ( displayRef.title)),
16537
16586
  description: doc ? [designDocMetaLine(doc), formatCompletionLabel(doc.completion)].join(" \xB7 ") : _nullishCoalesce(displayRef.preview, () => ( void 0)),
16538
16587
  icon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkN3COXDBHcjs.FileContentIcon, { size: 24 }),
16539
16588
  status: readiness ? { label: readiness.label, variant: readiness.scheme === "success" ? "success" : "grey" } : { label: "Design doc", variant: "grey" },
@@ -16550,13 +16599,13 @@ function InvestorUpdateChatCard({
16550
16599
  ogPlaceholder,
16551
16600
  discuss
16552
16601
  }) {
16553
- const title = _optionalChain([item, 'optionalAccess', _455 => _455.title]) || `Update #${_nullishCoalesce(_optionalChain([item, 'optionalAccess', _456 => _456.update_number]), () => ( "?"))}`;
16602
+ const title = _optionalChain([item, 'optionalAccess', _460 => _460.title]) || `Update #${_nullishCoalesce(_optionalChain([item, 'optionalAccess', _461 => _461.update_number]), () => ( "?"))}`;
16554
16603
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
16555
16604
  EntityMingoCard,
16556
16605
  {
16557
16606
  title,
16558
- description: _optionalChain([item, 'optionalAccess', _457 => _457.strategic_update]) || _optionalChain([item, 'optionalAccess', _458 => _458.content]) || _chunkEMCQGFXDcjs.formatInvestorUpdatePeriod.call(void 0, _nullishCoalesce(_optionalChain([item, 'optionalAccess', _459 => _459.period_start]), () => ( null)), _nullishCoalesce(_optionalChain([item, 'optionalAccess', _460 => _460.period_end]), () => ( null))) || void 0,
16559
- cover: entityCover(_optionalChain([item, 'optionalAccess', _461 => _461.featured_image]), ogPlaceholder),
16607
+ description: _optionalChain([item, 'optionalAccess', _462 => _462.strategic_update]) || _optionalChain([item, 'optionalAccess', _463 => _463.content]) || _chunkEMCQGFXDcjs.formatInvestorUpdatePeriod.call(void 0, _nullishCoalesce(_optionalChain([item, 'optionalAccess', _464 => _464.period_start]), () => ( null)), _nullishCoalesce(_optionalChain([item, 'optionalAccess', _465 => _465.period_end]), () => ( null))) || void 0,
16608
+ cover: entityCover(_optionalChain([item, 'optionalAccess', _466 => _466.featured_image]), ogPlaceholder),
16560
16609
  fallbackIcon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkN3COXDBHcjs.PresentationLineIcon, { size: 24 }),
16561
16610
  status: { label: "Investor update", variant: "grey" },
16562
16611
  chatRef,
@@ -16573,12 +16622,12 @@ function OnboardingGuideChatCard({
16573
16622
  ogPlaceholder,
16574
16623
  discuss
16575
16624
  }) {
16576
- const cover = _nullishCoalesce(_nullishCoalesce(entityCover(_optionalChain([item, 'optionalAccess', _462 => _462.featured_image])), () => ( entityCover(_optionalChain([item, 'optionalAccess', _463 => _463.main_video_thumbnail])))), () => ( entityCover(_optionalChain([item, 'optionalAccess', _464 => _464.og_image_url]), ogPlaceholder)));
16625
+ const cover = _nullishCoalesce(_nullishCoalesce(entityCover(_optionalChain([item, 'optionalAccess', _467 => _467.featured_image])), () => ( entityCover(_optionalChain([item, 'optionalAccess', _468 => _468.main_video_thumbnail])))), () => ( entityCover(_optionalChain([item, 'optionalAccess', _469 => _469.og_image_url]), ogPlaceholder)));
16577
16626
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
16578
16627
  EntityMingoCard,
16579
16628
  {
16580
- title: _nullishCoalesce(_optionalChain([item, 'optionalAccess', _465 => _465.title]), () => ( "")),
16581
- description: _nullishCoalesce(_nullishCoalesce(_optionalChain([item, 'optionalAccess', _466 => _466.summary]), () => ( _optionalChain([item, 'optionalAccess', _467 => _467.description]))), () => ( void 0)),
16629
+ title: _nullishCoalesce(_optionalChain([item, 'optionalAccess', _470 => _470.title]), () => ( "")),
16630
+ description: _nullishCoalesce(_nullishCoalesce(_optionalChain([item, 'optionalAccess', _471 => _471.summary]), () => ( _optionalChain([item, 'optionalAccess', _472 => _472.description]))), () => ( void 0)),
16582
16631
  cover,
16583
16632
  fallbackIcon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkN3COXDBHcjs.CompassIcon, { size: 24 }),
16584
16633
  status: { label: "Guide", variant: "grey" },
@@ -16603,9 +16652,9 @@ function ProgramChatCard({
16603
16652
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
16604
16653
  EntityMingoCard,
16605
16654
  {
16606
- title: _nullishCoalesce(_optionalChain([item, 'optionalAccess', _468 => _468.title]), () => ( "")),
16607
- description: meta || _optionalChain([item, 'optionalAccess', _469 => _469.description]) || void 0,
16608
- cover: entityCover(_optionalChain([item, 'optionalAccess', _470 => _470.cover_url]), ogPlaceholder),
16655
+ title: _nullishCoalesce(_optionalChain([item, 'optionalAccess', _473 => _473.title]), () => ( "")),
16656
+ description: meta || _optionalChain([item, 'optionalAccess', _474 => _474.description]) || void 0,
16657
+ cover: entityCover(_optionalChain([item, 'optionalAccess', _475 => _475.cover_url]), ogPlaceholder),
16609
16658
  fallbackIcon: icon,
16610
16659
  status: { label, variant: "grey" },
16611
16660
  chatRef,
@@ -16622,10 +16671,10 @@ function RoadmapChatCard({
16622
16671
  cardType,
16623
16672
  discuss
16624
16673
  }) {
16625
- const logoUrl = typeof _optionalChain([item, 'optionalAccess', _471 => _471.icon]) === "string" && item.icon.startsWith("http") ? item.icon : void 0;
16626
- const useTypeIcon = cardType === "internal_task" || !logoUrl && _optionalChain([item, 'optionalAccess', _472 => _472.customItemId]) != null;
16674
+ const logoUrl = typeof _optionalChain([item, 'optionalAccess', _476 => _476.icon]) === "string" && item.icon.startsWith("http") ? item.icon : void 0;
16675
+ const useTypeIcon = cardType === "internal_task" || !logoUrl && _optionalChain([item, 'optionalAccess', _477 => _477.customItemId]) != null;
16627
16676
  const defaultIcon = cardType === "delivery_item" ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkN3COXDBHcjs.TruckFastIcon, { size: 24 }) : cardType === "internal_task" ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkN3COXDBHcjs.CheckSquareIcon, { size: 24 }) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkN3COXDBHcjs.MapIcon, { size: 24 });
16628
- const icon = useTypeIcon ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkEMCQGFXDcjs.TaskTypeIcon, { customItemId: _optionalChain([item, 'optionalAccess', _473 => _473.customItemId]), className: "size-6" }) : logoUrl ? (
16677
+ const icon = useTypeIcon ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkEMCQGFXDcjs.TaskTypeIcon, { customItemId: _optionalChain([item, 'optionalAccess', _478 => _478.customItemId]), className: "size-6" }) : logoUrl ? (
16629
16678
  // Contained (not full-bleed) so the integration logo keeps its aspect
16630
16679
  // ratio inside the bordered icon box — matches RoadmapCard.
16631
16680
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkMGHIV4L6cjs.next_image_default, { src: logoUrl, alt: "", className: "size-6 object-contain", width: 24, height: 24, unoptimized: true })
@@ -16636,10 +16685,10 @@ function RoadmapChatCard({
16636
16685
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
16637
16686
  EntityMingoCard,
16638
16687
  {
16639
- title: _nullishCoalesce(_optionalChain([item, 'optionalAccess', _474 => _474.title]), () => ( "")),
16640
- description: _nullishCoalesce(_optionalChain([item, 'optionalAccess', _475 => _475.description]), () => ( void 0)),
16688
+ title: _nullishCoalesce(_optionalChain([item, 'optionalAccess', _479 => _479.title]), () => ( "")),
16689
+ description: _nullishCoalesce(_optionalChain([item, 'optionalAccess', _480 => _480.description]), () => ( void 0)),
16641
16690
  fallbackIcon: icon,
16642
- status: statusPill(_optionalChain([item, 'optionalAccess', _476 => _476.status])),
16691
+ status: statusPill(_optionalChain([item, 'optionalAccess', _481 => _481.status])),
16643
16692
  chatRef,
16644
16693
  isNewTab,
16645
16694
  discuss,
@@ -16655,7 +16704,7 @@ function refHydratedEntry(docType, label, renderRef) {
16655
16704
  bareInline: true,
16656
16705
  contentRefType: docType,
16657
16706
  noComposedHref: true,
16658
- fallbackHref: (item) => _nullishCoalesce(_optionalChain([item, 'optionalAccess', _477 => _477.url]), () => ( null)),
16707
+ fallbackHref: (item) => _nullishCoalesce(_optionalChain([item, 'optionalAccess', _482 => _482.url]), () => ( null)),
16659
16708
  skeleton: () => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, MingoInfoCardSkeleton, {}),
16660
16709
  render: (item, chatRef, opts) => renderRef(fetchedItemDisplayRef(item, chatRef), opts)
16661
16710
  };
@@ -16729,8 +16778,8 @@ function refGlyphRegistryEntries() {
16729
16778
  title: displayRef.title,
16730
16779
  description: _nullishCoalesce(displayRef.preview, () => ( void 0)),
16731
16780
  cover: entityCover(
16732
- _optionalChain([displayRef, 'access', _478 => _478.metadata, 'optionalAccess', _479 => _479.videoPoster]),
16733
- _nullishCoalesce(_optionalChain([opts, 'access', _480 => _480.extras, 'optionalAccess', _481 => _481.buildOgPlaceholderUrl, 'optionalCall', _482 => _482(_nullishCoalesce(displayRef.title, () => ( "")))]), () => ( null))
16781
+ _optionalChain([displayRef, 'access', _483 => _483.metadata, 'optionalAccess', _484 => _484.videoPoster]),
16782
+ _nullishCoalesce(_optionalChain([opts, 'access', _485 => _485.extras, 'optionalAccess', _486 => _486.buildOgPlaceholderUrl, 'optionalCall', _487 => _487(_nullishCoalesce(displayRef.title, () => ( "")))]), () => ( null))
16734
16783
  ),
16735
16784
  fallbackIcon: cfg.icon(),
16736
16785
  status: { label: cfg.label, variant: "grey" },
@@ -16745,9 +16794,9 @@ function refGlyphRegistryEntries() {
16745
16794
  }
16746
16795
  function fetchedEmployeeEntryDisplayRef(item, chatRef) {
16747
16796
  const it = item;
16748
- const title = typeof _optionalChain([it, 'optionalAccess', _483 => _483.title]) === "string" && it.title.trim().length > 0 ? it.title.trim() : chatRef.title;
16749
- const author = typeof _optionalChain([it, 'optionalAccess', _484 => _484.author, 'optionalAccess', _485 => _485.full_name]) === "string" ? it.author.full_name.trim() : "";
16750
- const summary = typeof _optionalChain([it, 'optionalAccess', _486 => _486.summary]) === "string" ? it.summary.trim() : "";
16797
+ const title = typeof _optionalChain([it, 'optionalAccess', _488 => _488.title]) === "string" && it.title.trim().length > 0 ? it.title.trim() : chatRef.title;
16798
+ const author = typeof _optionalChain([it, 'optionalAccess', _489 => _489.author, 'optionalAccess', _490 => _490.full_name]) === "string" ? it.author.full_name.trim() : "";
16799
+ const summary = typeof _optionalChain([it, 'optionalAccess', _491 => _491.summary]) === "string" ? it.summary.trim() : "";
16751
16800
  const preview = [author, summary].filter((x) => x.length > 0).join(" \xB7 ");
16752
16801
  return { ...chatRef, title, preview: preview.length > 0 ? preview : chatRef.preview };
16753
16802
  }
@@ -16799,7 +16848,7 @@ function programRegistryEntries() {
16799
16848
  discuss: opts.discuss,
16800
16849
  configKey: cfg.configKey,
16801
16850
  label: cfg.configKey.charAt(0).toUpperCase() + cfg.configKey.slice(1),
16802
- ogPlaceholder: _nullishCoalesce(_optionalChain([opts, 'optionalAccess', _487 => _487.extras, 'optionalAccess', _488 => _488.buildOgPlaceholderUrl, 'optionalCall', _489 => _489(_nullishCoalesce(_optionalChain([item, 'optionalAccess', _490 => _490.title]), () => ( "")))]), () => ( null))
16851
+ ogPlaceholder: _nullishCoalesce(_optionalChain([opts, 'optionalAccess', _492 => _492.extras, 'optionalAccess', _493 => _493.buildOgPlaceholderUrl, 'optionalCall', _494 => _494(_nullishCoalesce(_optionalChain([item, 'optionalAccess', _495 => _495.title]), () => ( "")))]), () => ( null))
16803
16852
  }
16804
16853
  )
16805
16854
  }));
@@ -16820,7 +16869,7 @@ var ROADMAP_CARD_CONFIGS = {
16820
16869
  // The card's destination IS the ClickUp deep link, derived from the
16821
16870
  // task id post-fetch (the refs frame used to carry it).
16822
16871
  noComposedHref: true,
16823
- fallbackHref: (item) => _optionalChain([item, 'optionalAccess', _491 => _491.id]) != null ? clickupTaskUrl(String(item.id)) : null
16872
+ fallbackHref: (item) => _optionalChain([item, 'optionalAccess', _496 => _496.id]) != null ? clickupTaskUrl(String(item.id)) : null
16824
16873
  }
16825
16874
  };
16826
16875
  function roadmapRegistryEntries() {
@@ -16862,8 +16911,8 @@ var CHAT_CARD_REGISTRY = {
16862
16911
  DeletedDataCard,
16863
16912
  {
16864
16913
  title: chatRef.title && chatRef.title !== chatRef.id ? chatRef.title : null,
16865
- entityLabel: _nullishCoalesce(_optionalChain([chatRef, 'access', _492 => _492.metadata, 'optionalAccess', _493 => _493.entity_label]), () => ( null)),
16866
- recoveryNote: _nullishCoalesce(_optionalChain([chatRef, 'access', _494 => _494.metadata, 'optionalAccess', _495 => _495.recovery_note]), () => ( null))
16914
+ entityLabel: _nullishCoalesce(_optionalChain([chatRef, 'access', _497 => _497.metadata, 'optionalAccess', _498 => _498.entity_label]), () => ( null)),
16915
+ recoveryNote: _nullishCoalesce(_optionalChain([chatRef, 'access', _499 => _499.metadata, 'optionalAccess', _500 => _500.recovery_note]), () => ( null))
16867
16916
  }
16868
16917
  )
16869
16918
  },
@@ -16880,7 +16929,7 @@ var CHAT_CARD_REGISTRY = {
16880
16929
  bareInline: true,
16881
16930
  contentRefType: "faq",
16882
16931
  noComposedHref: true,
16883
- fallbackHref: (item) => _optionalChain([item, 'optionalAccess', _496 => _496.id]) != null ? `/faqs#${faqItemAnchor(item.id)}` : null,
16932
+ fallbackHref: (item) => _optionalChain([item, 'optionalAccess', _501 => _501.id]) != null ? `/faqs#${faqItemAnchor(item.id)}` : null,
16884
16933
  skeleton: () => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, MingoInfoCardSkeleton, {}),
16885
16934
  render: (item, chatRef, opts) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, FaqChatCard, { chatRef: fetchedFaqDisplayRef(item, chatRef), isNewTab: opts.isNewTab, discuss: opts.discuss })
16886
16935
  },
@@ -16927,8 +16976,8 @@ var CHAT_CARD_REGISTRY = {
16927
16976
  chatRef,
16928
16977
  isNewTab: opts.isNewTab,
16929
16978
  discuss: opts.discuss,
16930
- ogPlaceholder: _nullishCoalesce(_optionalChain([opts, 'optionalAccess', _497 => _497.extras, 'optionalAccess', _498 => _498.buildOgPlaceholderUrl, 'optionalCall', _499 => _499(_nullishCoalesce(_optionalChain([item, 'optionalAccess', _500 => _500.title]), () => ( "")))]), () => ( null)),
16931
- hasEmbeddedVideo: _optionalChain([chatRef, 'access', _501 => _501.metadata, 'optionalAccess', _502 => _502.hasEmbeddedVideo]) === true
16979
+ ogPlaceholder: _nullishCoalesce(_optionalChain([opts, 'optionalAccess', _502 => _502.extras, 'optionalAccess', _503 => _503.buildOgPlaceholderUrl, 'optionalCall', _504 => _504(_nullishCoalesce(_optionalChain([item, 'optionalAccess', _505 => _505.title]), () => ( "")))]), () => ( null)),
16980
+ hasEmbeddedVideo: _optionalChain([chatRef, 'access', _506 => _506.metadata, 'optionalAccess', _507 => _507.hasEmbeddedVideo]) === true
16932
16981
  }
16933
16982
  )
16934
16983
  },
@@ -16944,7 +16993,7 @@ var CHAT_CARD_REGISTRY = {
16944
16993
  chatRef,
16945
16994
  isNewTab: opts.isNewTab,
16946
16995
  discuss: opts.discuss,
16947
- ogPlaceholder: _nullishCoalesce(_optionalChain([opts, 'optionalAccess', _503 => _503.extras, 'optionalAccess', _504 => _504.buildOgPlaceholderUrl, 'optionalCall', _505 => _505(_nullishCoalesce(_optionalChain([item, 'optionalAccess', _506 => _506.title]), () => ( "")))]), () => ( null))
16996
+ ogPlaceholder: _nullishCoalesce(_optionalChain([opts, 'optionalAccess', _508 => _508.extras, 'optionalAccess', _509 => _509.buildOgPlaceholderUrl, 'optionalCall', _510 => _510(_nullishCoalesce(_optionalChain([item, 'optionalAccess', _511 => _511.title]), () => ( "")))]), () => ( null))
16948
16997
  }
16949
16998
  )
16950
16999
  },
@@ -16953,7 +17002,7 @@ var CHAT_CARD_REGISTRY = {
16953
17002
  contentRefType: "design_doc",
16954
17003
  bareInline: true,
16955
17004
  noComposedHref: true,
16956
- fallbackHref: (item) => _nullishCoalesce(_optionalChain([item, 'optionalAccess', _507 => _507.url]), () => ( null)),
17005
+ fallbackHref: (item) => _nullishCoalesce(_optionalChain([item, 'optionalAccess', _512 => _512.url]), () => ( null)),
16957
17006
  skeleton: () => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, MingoInfoCardSkeleton, {}),
16958
17007
  render: (item, chatRef, opts) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, DesignDocChatCard, { item, chatRef, isNewTab: opts.isNewTab, discuss: opts.discuss })
16959
17008
  },
@@ -16969,7 +17018,7 @@ var CHAT_CARD_REGISTRY = {
16969
17018
  chatRef,
16970
17019
  isNewTab: opts.isNewTab,
16971
17020
  discuss: opts.discuss,
16972
- ogPlaceholder: _nullishCoalesce(_optionalChain([opts, 'optionalAccess', _508 => _508.extras, 'optionalAccess', _509 => _509.buildOgPlaceholderUrl, 'optionalCall', _510 => _510(_nullishCoalesce(_optionalChain([item, 'optionalAccess', _511 => _511.title]), () => ( "")))]), () => ( null))
17021
+ ogPlaceholder: _nullishCoalesce(_optionalChain([opts, 'optionalAccess', _513 => _513.extras, 'optionalAccess', _514 => _514.buildOgPlaceholderUrl, 'optionalCall', _515 => _515(_nullishCoalesce(_optionalChain([item, 'optionalAccess', _516 => _516.title]), () => ( "")))]), () => ( null))
16973
17022
  }
16974
17023
  )
16975
17024
  },
@@ -16979,7 +17028,7 @@ var CHAT_CARD_REGISTRY = {
16979
17028
  bareInline: true,
16980
17029
  skeleton: () => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkEMCQGFXDcjs.ProductReleaseCardSkeleton, { size: "sm" }),
16981
17030
  render: (item, chatRef, opts) => {
16982
- const builder = _nullishCoalesce(_optionalChain([opts, 'optionalAccess', _512 => _512.extras, 'optionalAccess', _513 => _513.buildProductReleaseCardProps]), () => ( _chunkEMCQGFXDcjs.defaultBuildProductReleaseCardProps));
17031
+ const builder = _nullishCoalesce(_optionalChain([opts, 'optionalAccess', _517 => _517.extras, 'optionalAccess', _518 => _518.buildProductReleaseCardProps]), () => ( _chunkEMCQGFXDcjs.defaultBuildProductReleaseCardProps));
16983
17032
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
16984
17033
  ProductReleaseChatCard,
16985
17034
  {
@@ -17005,7 +17054,7 @@ var CHAT_CARD_REGISTRY = {
17005
17054
  chatRef,
17006
17055
  isNewTab: opts.isNewTab,
17007
17056
  discuss: opts.discuss,
17008
- ogPlaceholder: _nullishCoalesce(_optionalChain([opts, 'optionalAccess', _514 => _514.extras, 'optionalAccess', _515 => _515.buildOgPlaceholderUrl, 'optionalCall', _516 => _516(_nullishCoalesce(_optionalChain([item, 'optionalAccess', _517 => _517.title]), () => ( "")))]), () => ( null))
17057
+ ogPlaceholder: _nullishCoalesce(_optionalChain([opts, 'optionalAccess', _519 => _519.extras, 'optionalAccess', _520 => _520.buildOgPlaceholderUrl, 'optionalCall', _521 => _521(_nullishCoalesce(_optionalChain([item, 'optionalAccess', _522 => _522.title]), () => ( "")))]), () => ( null))
17009
17058
  }
17010
17059
  )
17011
17060
  },
@@ -17023,7 +17072,7 @@ var CHAT_CARD_REGISTRY = {
17023
17072
  chatRef,
17024
17073
  isNewTab: opts.isNewTab,
17025
17074
  discuss: opts.discuss,
17026
- ogPlaceholder: _nullishCoalesce(_optionalChain([opts, 'optionalAccess', _518 => _518.extras, 'optionalAccess', _519 => _519.buildOgPlaceholderUrl, 'optionalCall', _520 => _520(_nullishCoalesce(_optionalChain([item, 'optionalAccess', _521 => _521.title]), () => ( "")))]), () => ( null))
17075
+ ogPlaceholder: _nullishCoalesce(_optionalChain([opts, 'optionalAccess', _523 => _523.extras, 'optionalAccess', _524 => _524.buildOgPlaceholderUrl, 'optionalCall', _525 => _525(_nullishCoalesce(_optionalChain([item, 'optionalAccess', _526 => _526.title]), () => ( "")))]), () => ( null))
17027
17076
  }
17028
17077
  )
17029
17078
  },
@@ -17034,13 +17083,13 @@ var CHAT_CARD_REGISTRY = {
17034
17083
  skeleton: () => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, CampaignCardAdminSkeleton, {}),
17035
17084
  // No public viewer — synthesize the hub-internal admin URL post-fetch
17036
17085
  // so the wrapper + isNewTab computation see the actual destination.
17037
- fallbackHref: (item) => _optionalChain([item, 'optionalAccess', _522 => _522.id]) ? `/admin/campaigns/${encodeURIComponent(String(item.id))}` : null,
17086
+ fallbackHref: (item) => _optionalChain([item, 'optionalAccess', _527 => _527.id]) ? `/admin/campaigns/${encodeURIComponent(String(item.id))}` : null,
17038
17087
  render: (item, chatRef, opts) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, CampaignChatCard, { item, chatRef, isNewTab: opts.isNewTab, discuss: opts.discuss })
17039
17088
  },
17040
17089
  ...roadmapRegistryEntries()
17041
17090
  };
17042
17091
  function chatCardLabel(docType) {
17043
- return _optionalChain([CHAT_CARD_REGISTRY, 'access', _523 => _523[docType], 'optionalAccess', _524 => _524.label]);
17092
+ return _optionalChain([CHAT_CARD_REGISTRY, 'access', _528 => _528[docType], 'optionalAccess', _529 => _529.label]);
17044
17093
  }
17045
17094
  function ChatCardNavWrap({
17046
17095
  href,
@@ -17056,13 +17105,13 @@ function ChatCardNavWrap({
17056
17105
  if (!href) return;
17057
17106
  const targetEl = e.target;
17058
17107
  const host = e.currentTarget;
17059
- if (!_optionalChain([host, 'optionalAccess', _525 => _525.contains, 'call', _526 => _526(targetEl)])) return;
17060
- if (_optionalChain([targetEl, 'optionalAccess', _527 => _527.closest, 'optionalCall', _528 => _528("button")])) return;
17061
- if (!_optionalChain([targetEl, 'optionalAccess', _529 => _529.closest, 'optionalCall', _530 => _530("a")])) return;
17108
+ if (!_optionalChain([host, 'optionalAccess', _530 => _530.contains, 'call', _531 => _531(targetEl)])) return;
17109
+ if (_optionalChain([targetEl, 'optionalAccess', _532 => _532.closest, 'optionalCall', _533 => _533("button")])) return;
17110
+ if (!_optionalChain([targetEl, 'optionalAccess', _534 => _534.closest, 'optionalCall', _535 => _535("a")])) return;
17062
17111
  const handled = executeNavigation({ event: e, runtime, href, path, targetPlatform, fallbackNavigate: router.push });
17063
17112
  if (!handled) return;
17064
17113
  e.stopPropagation();
17065
- if (!isNewTab && _optionalChain([panel, 'optionalAccess', _531 => _531.closeChat])) panel.closeChat();
17114
+ if (!isNewTab && _optionalChain([panel, 'optionalAccess', _536 => _536.closeChat])) panel.closeChat();
17066
17115
  };
17067
17116
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "contents", onClickCapture, children });
17068
17117
  }
@@ -17075,50 +17124,28 @@ function ChatCardLoader({
17075
17124
  extras
17076
17125
  }) {
17077
17126
  const runtime = _chunkUJ7AXHRZcjs.useRequiredChatRuntime.call(void 0, );
17078
- const resolvedChatRef = _react2.default.useMemo(() => {
17079
- const cta = resolveSourceRowCTA(
17080
- {
17081
- sourceRepo: chatRef.sourceRepo,
17082
- documentType: chatRef.type,
17083
- id: chatRef.id,
17084
- title: chatRef.title,
17085
- externalUrl: chatRef.url,
17086
- targetPlatform: chatRef.targetPlatform,
17087
- path: typeof _optionalChain([chatRef, 'access', _532 => _532.metadata, 'optionalAccess', _533 => _533.path]) === "string" ? chatRef.metadata.path : null
17088
- },
17089
- sourceRowCtxFromRuntime(runtime, { baseRoute, chipBasePlatform })
17090
- );
17091
- const finalHref = cta.href ? resolveHrefForRuntime(cta.href, runtime) : null;
17092
- return {
17093
- ...chatRef,
17094
- url: _nullishCoalesce(finalHref, () => ( chatRef.url)),
17095
- targetPlatform: _nullishCoalesce(_nullishCoalesce(cta.targetPlatform, () => ( chatRef.targetPlatform)), () => ( null))
17096
- };
17097
- }, [chatRef, runtime, baseRoute, chipBasePlatform]);
17098
- const entry = CHAT_CARD_REGISTRY[resolvedChatRef.type];
17127
+ const entry = CHAT_CARD_REGISTRY[chatRef.type];
17099
17128
  const fetchEntry = entry && entry.contentRefType ? entry : null;
17100
17129
  const { item, isLoading, isError, isFetched } = useChatCardItem(
17101
- _nullishCoalesce(_optionalChain([fetchEntry, 'optionalAccess', _534 => _534.contentRefType]), () => ( "")),
17102
- fetchEntry ? resolvedChatRef.id : ""
17130
+ _nullishCoalesce(_optionalChain([fetchEntry, 'optionalAccess', _537 => _537.contentRefType]), () => ( "")),
17131
+ fetchEntry ? chatRef.id : ""
17103
17132
  );
17104
17133
  if (!entry) return null;
17105
- const composedHref = _optionalChain([fetchEntry, 'optionalAccess', _535 => _535.contentRefType]) && !resolvedChatRef.url && item ? resolveFetchedCardHref({
17106
- contentRefType: fetchEntry.contentRefType,
17107
- id: resolvedChatRef.id,
17108
- item,
17109
- composeContentUrl: runtime.composeContentUrl
17110
- }) : null;
17111
- const hrefChoice = fetchEntry && !resolvedChatRef.url && item ? pickFetchedCardHref({
17112
- composed: composedHref,
17113
- itemHref: _nullishCoalesce(_optionalChain([fetchEntry, 'access', _536 => _536.fallbackHref, 'optionalCall', _537 => _537(item)]), () => ( null)),
17114
- allowComposed: !fetchEntry.noComposedHref
17115
- }) : null;
17116
- const hrefResolvedChatRef = hrefChoice ? {
17117
- ...resolvedChatRef,
17118
- url: _chunkEMCQGFXDcjs.safeHref.call(void 0, hrefChoice.href),
17119
- // The `item` branch carries no platform of its own — keep the ref's.
17120
- targetPlatform: _nullishCoalesce(_nullishCoalesce(hrefChoice.targetPlatform, () => ( resolvedChatRef.targetPlatform)), () => ( null))
17121
- } : resolvedChatRef;
17134
+ const destination = resolveCardDestination({
17135
+ chatRef,
17136
+ item: fetchEntry ? item : void 0,
17137
+ entry: fetchEntry,
17138
+ ctx: sourceRowCtxFromRuntime(runtime, { baseRoute, chipBasePlatform }),
17139
+ composeContentUrl: runtime.composeContentUrl,
17140
+ resolveHref: (href) => resolveHrefForRuntime(href, runtime)
17141
+ });
17142
+ const hrefResolvedChatRef = {
17143
+ ...chatRef,
17144
+ url: destination.url,
17145
+ targetPlatform: destination.targetPlatform,
17146
+ // The nav wrapper reads the path off the ref for in-app doc navigation.
17147
+ ...destination.path ? { metadata: { ..._nullishCoalesce(chatRef.metadata, () => ( {})), path: destination.path } } : {}
17148
+ };
17122
17149
  const fetchedTitle = fetchEntry && item ? readFetchedCardTitle(item) : null;
17123
17150
  const finalChatRef = fetchedTitle && (!hrefResolvedChatRef.title || hrefResolvedChatRef.title === hrefResolvedChatRef.id) ? { ...hrefResolvedChatRef, title: fetchedTitle } : hrefResolvedChatRef;
17124
17151
  const isNewTab = _chunkEMCQGFXDcjs.computeIsNewTab.call(void 0, runtime, finalChatRef.url, _nullishCoalesce(finalChatRef.targetPlatform, () => ( null)));
@@ -27421,4 +27448,6 @@ function ProxyCredentialsForm({ description, saved }) {
27421
27448
 
27422
27449
 
27423
27450
 
27424
- exports.InfoHint = InfoHint; exports.Field = Field; exports.formatTicketRelativeTime = formatTicketRelativeTime; exports.formatTicketFullTimestamp = formatTicketFullTimestamp; exports.formatRelativeTime = formatRelativeTime; exports.formatAbsoluteDate = formatAbsoluteDate; exports.formatDateTime = formatDateTime; exports.getDetailedTimeDifference = getDetailedTimeDifference; exports.isToday = isToday; exports.isWithinMinutes = isWithinMinutes; exports.createUTCTimestamp = createUTCTimestamp; exports.DESIGN_PALETTE = DESIGN_PALETTE; exports.getContrastRatio = getContrastRatio; exports.pickReadableTextColor = pickReadableTextColor; exports.extractDominantColor = extractDominantColor; exports.getBestContrastColor = getBestContrastColor; exports.analyzeImageColor = analyzeImageColor; exports.extractImageEdgeColorAsync = extractImageEdgeColorAsync; exports.getCurrentPlatform = getCurrentPlatform; exports.switchPlatformTheme = switchPlatformTheme; exports.getSemanticColor = getSemanticColor; exports.getPlatformConfig = getPlatformConfig; exports.usePlatformColors = usePlatformColors; exports.getReadableTextColor = getReadableTextColor; exports.HEX_PATTERN = HEX_PATTERN; exports.hexToRgb = hexToRgb2; exports.rgbToHex = rgbToHex; exports.deriveHoverColor = deriveHoverColor; exports.deriveActiveColor = deriveActiveColor; exports.rgbToHsl = rgbToHsl; exports.hslToRgb = hslToRgb; exports.ActionsMenu = ActionsMenu; exports.ActionsMenuDropdown = ActionsMenuDropdown; exports.ColorSwatch = ColorSwatch; exports.TooltipProvider = TooltipProvider; exports.Tooltip = Tooltip; exports.TooltipTrigger = TooltipTrigger; exports.TooltipContent = TooltipContent; exports.resolveTicketStatus = resolveTicketStatus; exports.getTicketStatusConfig = getTicketStatusConfig; exports.getTicketStatusTag = getTicketStatusTag; exports.kindToCanonicalStatus = kindToCanonicalStatus; exports.usesCanonicalStatusStyle = usesCanonicalStatusStyle; exports.resolveStatusTagProps = resolveStatusTagProps; exports.TicketStatusTag = TicketStatusTag; exports.useScrollFade = useScrollFade; exports.ScrollFadeOverlay = ScrollFadeOverlay; exports.ScrollShadow = ScrollShadow; exports.Modal = Modal; exports.ModalContent = ModalContent; exports.ModalTwoColumn = ModalTwoColumn; exports.ModalHeader = ModalHeader; exports.ModalTitle = ModalTitle; exports.ModalFooter = ModalFooter; exports.OVERLAY_BACKDROP_CLASS = OVERLAY_BACKDROP_CLASS; exports.Drawer = Drawer; exports.DrawerTrigger = DrawerTrigger; exports.DrawerClose = DrawerClose; exports.DrawerPortal = DrawerPortal; exports.DrawerOverlay = DrawerOverlay; exports.DrawerContent = DrawerContent; exports.DrawerHeader = DrawerHeader; exports.DrawerTitle = DrawerTitle; exports.DrawerDescription = DrawerDescription; exports.DrawerBody = DrawerBody; exports.DrawerFooter = DrawerFooter; exports.Tabs = Tabs; exports.TabsList = TabsList; exports.TabsTrigger = TabsTrigger; exports.TabsContent = TabsContent; exports.stripInlineMarkdown = stripInlineMarkdown; exports.markdownToPlainText = markdownToPlainText; exports.buildHeadingIdMap = buildHeadingIdMap; exports.useHeadingIdMap = useHeadingIdMap; exports.extractText = extractText; exports.useIsHydrated = useIsHydrated; exports.MermaidDiagram = MermaidDiagram; exports.hasRenderableSrc = hasRenderableSrc; exports.buildStandardLeafRenderers = buildStandardLeafRenderers; exports.SAFE_HTML_TAGS = SAFE_HTML_TAGS; exports.SVG_TAGS = SVG_TAGS; exports.buildEffectiveTagSet = buildEffectiveTagSet; exports.buildSanitizeSchema = buildSanitizeSchema; exports.rehypeStripUnsafe = rehypeStripUnsafe; exports.escapeUnknownHtmlTags = escapeUnknownHtmlTags; exports.cardAwareUrlTransform = cardAwareUrlTransform; exports.splitStreamingBlocks = splitStreamingBlocks; exports.completeStreamingTail = completeStreamingTail; exports.TEXT_SIZE_PRESETS = TEXT_SIZE_PRESETS; exports.resolveTextSizeConfig = resolveTextSizeConfig; exports.NO_BROKEN_LINKS = NO_BROKEN_LINKS; exports.MarkdownEngine = MarkdownEngine; exports.SimpleMarkdownRenderer = SimpleMarkdownRenderer; exports.fetchPriorityProp = fetchPriorityProp; exports.MUX_STREAM_ORIGIN = MUX_STREAM_ORIGIN; exports.MUX_IMAGE_ORIGIN = MUX_IMAGE_ORIGIN; exports.saveDataEnabled = saveDataEnabled; exports.useVideoOriginPreconnect = useVideoOriginPreconnect; exports.useVideoWarmup = useVideoWarmup; exports.extractYouTubeId = extractYouTubeId; exports.VIDEO_PLAYBACK_FAILED_EVENT = VIDEO_PLAYBACK_FAILED_EVENT; exports.Video = Video2; exports.HoverDropdown = HoverDropdown; exports.StatusLine = StatusLine; exports.ExpandChevron = ExpandChevron; exports.useCollapsible = useCollapsible; exports.getCommandText = getCommandText; exports.ArgRow = ArgRow; exports.ResultBlock = ResultBlock; exports.CommandBlock = CommandBlock; exports.ApprovalStatusTag = ApprovalStatusTag; exports.ApprovalWaitingLine = ApprovalWaitingLine; exports.ApprovalBatchMessage = ApprovalBatchMessage; exports.CHAT_TYPE = CHAT_TYPE; exports.OWNER_TYPE = OWNER_TYPE; exports.MESSAGE_ROLE = MESSAGE_ROLE; exports.ASSISTANT_TYPE = ASSISTANT_TYPE; exports.AUTHOR_TYPE = AUTHOR_TYPE; exports.APPROVAL_STATUS = APPROVAL_STATUS; exports.APPROVAL_BLOCK_VARIANT = APPROVAL_BLOCK_VARIANT; exports.CHAT_APPEARANCE = CHAT_APPEARANCE; exports.CONNECTION_STATUS = CONNECTION_STATUS; exports.isStructuredContent = isStructuredContent; exports.normalizeContent = normalizeContent; exports.ChatAppearanceContext = ChatAppearanceContext; exports.useChatAppearance = useChatAppearance; exports.ApprovalRequestMessage = ApprovalRequestMessage; exports.EscalationOfferMessage = EscalationOfferMessage; exports.formatTime = formatTime; exports.AiAssistantInfo = AiAssistantInfo; exports.TicketEscalatedMessage = TicketEscalatedMessage; exports.MESSAGE_TYPE = MESSAGE_TYPE; exports.SCROLL_ANCHOR = SCROLL_ANCHOR; exports.TICKET_EVENT_KIND = TICKET_EVENT_KIND; exports.TicketEventMessage = TicketEventMessage; exports.SystemEventMessage = SystemEventMessage; exports.ContextCompactionDisplay = ContextCompactionDisplay; exports.ThinkingDisplay = ThinkingDisplay; exports.AskDisplay = AskDisplay; exports.ErrorMessageDisplay = ErrorMessageDisplay; exports.MspOrganizationCard = MspOrganizationCard; exports.MspOrganizationCardSkeleton = MspOrganizationCardSkeleton; exports.ChatContainer = ChatContainer; exports.ChatHeader = ChatHeader; exports.ChatContent = ChatContent; exports.ChatFooter = ChatFooter; exports.ChatTypingIndicator = ChatTypingIndicator; exports.MingoOnboardingCard = MingoOnboardingCard; exports.ICON_REGISTRY = ICON_REGISTRY; exports.normalizeIconKey = normalizeIconKey; exports.getIconComponent = getIconComponent; exports.getDynamicIcon = getDynamicIcon; exports.ICON_ALIASES = ICON_ALIASES; exports.brandLogoForName = brandLogoForName; exports.resolveIcon = resolveIcon; exports.ICON_OPTIONS = ICON_OPTIONS; exports.SlashCommandSuggestions = SlashCommandSuggestions; exports.ChatInput = ChatInput; exports.FAE_AVATAR_DATA_URI = FAE_AVATAR_DATA_URI; exports.AgentMark = AgentMark; exports.CONTEXT_ROW_CLASS = CONTEXT_ROW_CLASS; exports.CONTEXT_ICON_CLASS = CONTEXT_ICON_CLASS; exports.CONTEXT_LABEL_CLASS = CONTEXT_LABEL_CLASS; exports.CONTEXT_BACK_CLASS = CONTEXT_BACK_CLASS; exports.CONTEXT_STATE_CLASS = CONTEXT_STATE_CLASS; exports.ContextMenuRow = ContextMenuRow; exports.ContextItemsSkeleton = ContextItemsSkeleton; exports.ContextItemsList = ContextItemsList; exports.ContextErrorBoundary = ContextErrorBoundary; exports.CHAT_CONTEXT_ITEMS_DEFAULT_MAX = CHAT_CONTEXT_ITEMS_DEFAULT_MAX; exports.ChatComposerPlusMenu = ChatComposerPlusMenu; exports.ChatContextPicker = ChatContextPicker; exports.ChatContextChipStrip = ChatContextChipStrip; exports.BlockCard = BlockCard; exports.remarkCardLinks = remarkCardLinks; exports.remarkMentionChips = remarkMentionChips; exports.ToolExecutionDisplay = ToolExecutionDisplay; exports.MemoizedChatMessageEnhanced = MemoizedChatMessageEnhanced; exports.ChatMessageSkeleton = ChatMessageSkeleton; exports.ChatMessageListSkeleton = ChatMessageListSkeleton; exports.ChatMessageList = ChatMessageList; exports.useProxiedImageUrl = useProxiedImageUrl; exports.ChatMessageRow = ChatMessageRow; exports.ChatMessageRowSkeleton = ChatMessageRowSkeleton; exports.EntityIcon = EntityIcon; exports.getAgentAccent = getAgentAccent; exports.accentFromIdentityIcon = accentFromIdentityIcon; exports.isQuickActionIconSpec = isQuickActionIconSpec; exports.renderQuickActionIcon = renderQuickActionIcon; exports.QuickActionChipSkeleton = QuickActionChipSkeleton; exports.QuickActionChipButton = QuickActionChipButton; exports.QuickActionChipFromData = QuickActionChipFromData; exports.useMarqueeSync = useMarqueeSync; exports.getMarqueeTrackOffset = getMarqueeTrackOffset; exports.getMarqueeAppliedOffset = getMarqueeAppliedOffset; exports.getMarqueeCloneTwin = getMarqueeCloneTwin; exports.MarqueeWallFades = MarqueeWallFades; exports.MarqueeWall = MarqueeWall; exports.WALL_SKELETON_LABEL_CH = WALL_SKELETON_LABEL_CH; exports.interleave = interleave; exports.QuickActionWall = QuickActionWall; exports.QuickActionMarquee = QuickActionMarquee; exports.ChatTicketItem = ChatTicketItem; exports.ChatTicketList = ChatTicketList; exports.MingoOnboardingCardSkeleton = MingoOnboardingCardSkeleton; exports.MingoOnboardingListSkeleton = MingoOnboardingListSkeleton; exports.ChatListEmptyState = ChatListEmptyState; exports.MingoChatHistorySkeleton = MingoChatHistorySkeleton; exports.MingoChatHistory = MingoChatHistory; exports.MingoWelcome = MingoWelcome; exports.GuideWelcome = GuideWelcome; exports.GuideModeBanner = GuideModeBanner; exports.TabSelector = TabSelector; exports.MingoHistoryRail = MingoHistoryRail; exports.RenameChatModal = RenameChatModal; exports.ArchiveChatModal = ArchiveChatModal; exports.UnarchiveChatModal = UnarchiveChatModal; exports.ChatDialogModals = ChatDialogModals; exports.ChatHeaderIconButton = ChatHeaderIconButton; exports.ChatHeaderSearchField = ChatHeaderSearchField; exports.ChatPanelHeader = ChatPanelHeader; exports.CHAT_ATTACHMENT_VIEW_URL_PREFIX = CHAT_ATTACHMENT_VIEW_URL_PREFIX; exports.CHAT_ATTACHMENT_VIEW_TOKEN_QUERY_PARAM = CHAT_ATTACHMENT_VIEW_TOKEN_QUERY_PARAM; exports.ANTHROPIC_SUPPORTED_IMAGE_MIME = ANTHROPIC_SUPPORTED_IMAGE_MIME; exports.buildChatAttachmentViewUrl = buildChatAttachmentViewUrl; exports.escapeMarkdownInline = escapeMarkdownInline; exports.formatChatAttachmentMarkdownForBubble = formatChatAttachmentMarkdownForBubble; exports.CHAT_ATTACHMENT_VIEW_URL_PREFIX_REGEX_ESCAPED = CHAT_ATTACHMENT_VIEW_URL_PREFIX_REGEX_ESCAPED; exports.CHAT_ATTACHMENT_MARKDOWN_PATTERN = CHAT_ATTACHMENT_MARKDOWN_PATTERN; exports.stripChatAttachmentMarkdown = stripChatAttachmentMarkdown; exports.CHAT_ATTACHMENT_MIME_TYPES = CHAT_ATTACHMENT_MIME_TYPES; exports.CHAT_ATTACHMENT_CONCURRENT_UPLOADS_PER_USER = CHAT_ATTACHMENT_CONCURRENT_UPLOADS_PER_USER; exports.ChatAttachmentAddButton = ChatAttachmentAddButton; exports.ChatAttachmentChipStrip = ChatAttachmentChipStrip; exports.ChatContextMemoryBar = ChatContextMemoryBar; exports.HoverCard = HoverCard; exports.HoverCardTrigger = HoverCardTrigger; exports.HoverCardContent = HoverCardContent; exports.ModelDisplay = ModelDisplay; exports.ModelDisplaySkeleton = ModelDisplaySkeleton; exports.ChatComposer = ChatComposer; exports.ChatArchivePage = ChatArchivePage; exports.DialogListItem = DialogListItem; exports.ChatSidebar = ChatSidebar; exports.ChatNavSidebar = ChatNavSidebar; exports.ChatListItem = ChatListItem; exports.ChatTopNavigation = ChatTopNavigation; exports.OnboardingCarousel = OnboardingCarousel; exports.NEW_TAB_FEATURES = NEW_TAB_FEATURES; exports.isModifierClick = isModifierClick; exports.stripSameOriginToPath = stripSameOriginToPath; exports.resolveExternalNavigation = resolveExternalNavigation; exports.executeNavigation = executeNavigation; exports.executeNavigationImperative = executeNavigationImperative; exports.handleChatNavClick = handleChatNavClick; exports.NavLinkAnchorViaRuntime = NavLinkAnchorViaRuntime; exports.SourceActionButton = SourceActionButton; exports.getCaptionsUrl = getCaptionsUrl; exports.rebaseCaptionsUrl = rebaseCaptionsUrl; exports.buildCaptionsUrl = buildCaptionsUrl; exports.getEntityCaptionUrls = getEntityCaptionUrls; exports.getEntityCaptionUrlsById = getEntityCaptionUrlsById; exports.captionsEntityTypeForDocType = captionsEntityTypeForDocType; exports.useCaptions = useCaptions; exports.UserDisplay = UserDisplay; exports.CardHitLayer = CardHitLayer; exports.STRIP_CELL_MAX_WIDTH = STRIP_CELL_MAX_WIDTH; exports.CardsStrip = CardsStrip; exports.VideoHoverPreviewSurface = VideoHoverPreviewSurface; exports.RATIO_GRID_CLASS = RATIO_GRID_CLASS; exports.RATIO_TO_CSS_ASPECT = RATIO_TO_CSS_ASPECT; exports.RatioTabs = RatioTabs; exports.detectAspectRatio = detectAspectRatio; exports.ratioToCategory = ratioToCategory; exports.groupByAspectRatio = groupByAspectRatio; exports.VideoBitesStrip = VideoBitesStrip; exports.VideoBiteCard = VideoBiteCard; exports.EntityVideoSection = EntityVideoSection; exports.ChatVideoEntityCard = ChatVideoEntityCard; exports.DESIGN_DOC_READINESS = DESIGN_DOC_READINESS; exports.DESIGN_DOC_READINESS_DISPLAY = DESIGN_DOC_READINESS_DISPLAY; exports.designDocReadiness = designDocReadiness; exports.formatCompletionLabel = formatCompletionLabel; exports.formatCompletionLabelWithBlockers = formatCompletionLabelWithBlockers; exports.UnifiedSkeleton = UnifiedSkeleton; exports.TextSkeleton = TextSkeleton; exports.InteractiveSkeleton = InteractiveSkeleton; exports.MediaSkeleton = MediaSkeleton; exports.designDocPeople = designDocPeople; exports.designDocMetaLine = designDocMetaLine; exports.DesignDocCardSkeleton = DesignDocCardSkeleton; exports.DesignDocCard = DesignDocCard; exports.GitHubActivityCard = GitHubActivityCard; exports.GitHubActivityCardSkeleton = GitHubActivityCardSkeleton; exports.SlackMessageCard = SlackMessageCard; exports.SlackMessageCardSkeleton = SlackMessageCardSkeleton; exports.HubspotTicketCard = HubspotTicketCard; exports.HubspotTicketCardSkeleton = HubspotTicketCardSkeleton; exports.DataRoomDocCard = DataRoomDocCard; exports.DataRoomDocCardSkeleton = DataRoomDocCardSkeleton; exports.CampaignCardAdmin = CampaignCardAdmin; exports.CampaignCardAdminSkeleton = CampaignCardAdminSkeleton; exports.GenericEntityCard = GenericEntityCard; exports.GenericEntityCardSkeleton = GenericEntityCardSkeleton; exports.faqSectionSlug = faqSectionSlug; exports.faqItemAnchor = faqItemAnchor; exports.parseFaqHash = parseFaqHash; exports.useChatCardItem = useChatCardItem; exports.clickupTaskUrl = clickupTaskUrl; exports.readFetchedCardTitle = readFetchedCardTitle; exports.resolveFetchedCardHref = resolveFetchedCardHref; exports.SOURCE_ICON_NAMES = SOURCE_ICON_NAMES; exports.getSourceIconName = getSourceIconName; exports.SOURCE_LABELS_BY_TABLE = SOURCE_LABELS_BY_TABLE; exports.getSourceLabel = getSourceLabel; exports.DEFAULT_DOCUMENT_TYPE_TO_TABLE_ID = DEFAULT_DOCUMENT_TYPE_TO_TABLE_ID; exports.defaultTableIdForDocumentType = defaultTableIdForDocumentType; exports.byKey = byKey; exports.getPlatformProductionUrl = getPlatformProductionUrl; exports.getPlatformUrl = getPlatformUrl; exports.getDeploymentUrl = getDeploymentUrl; exports.isLocalUrl = isLocalUrl; exports.getRequestOrigin = getRequestOrigin; exports.resolveRedirectTarget = resolveRedirectTarget; exports.getAllPlatformBaseDomains = getAllPlatformBaseDomains; exports.DOC_TABLE_TYPES = DOC_TABLE_TYPES; exports.groupsByTable = groupsByTable; exports.recordCountLabel = recordCountLabel; exports.buildGroupedSource = buildGroupedSource; exports.groupSourcesByTable = groupSourcesByTable; exports.formatCitationIndices = formatCitationIndices; exports.resolveSourceRowCTA = resolveSourceRowCTA; exports.resolveSourceIcon = resolveSourceIcon; exports.chatCardLabel = chatCardLabel; exports.ChatCardLoader = ChatCardLoader; exports.renderChatInlineEntityCard = renderChatInlineEntityCard; exports.NETWORK_CONFIG = NETWORK_CONFIG; exports.EMPTY_DIALOG_CAPABILITIES = EMPTY_DIALOG_CAPABILITIES; exports.useChunkCatchup = useChunkCatchup; exports.useScriptedStream = useScriptedStream; exports.RESYNC_AFTER_HIDDEN_MS = RESYNC_AFTER_HIDDEN_MS; exports.useJetStreamDialogSubscription = useJetStreamDialogSubscription; exports.useNatsDialogSubscription = useNatsDialogSubscription; exports.buildNatsWsUrl = buildNatsWsUrl; exports.fetchSlashCommands = fetchSlashCommands; exports.useSlashCommands = useSlashCommands; exports.useSlashCommandRegistry = useSlashCommandRegistry; exports.fetchEmptyStateConfig = fetchEmptyStateConfig; exports.useEmptyStateConfig = useEmptyStateConfig; exports.useChatAttachments = useChatAttachments; exports.useChatAttachmentImageGallery = useChatAttachmentImageGallery; exports.ChatIdentityProvider = ChatIdentityProvider; exports.useChatIdentity = useChatIdentity; exports.useCloseOnNavigation = useCloseOnNavigation; exports.useSSE = useSSE; exports.useChat = useChat; exports.approvalDisplaysInline = approvalDisplaysInline; exports.appendToTrailingAssistant = appendToTrailingAssistant; exports.upsertTrailingCompaction = upsertTrailingCompaction; exports.applyToolExecutionToMessages = applyToolExecutionToMessages; exports.MessageSegmentAccumulator = MessageSegmentAccumulator; exports.createMessageSegmentAccumulator = createMessageSegmentAccumulator; exports.SCROLL_ANCHOR_WIRE_KEY = SCROLL_ANCHOR_WIRE_KEY; exports.parseScrollAnchor = parseScrollAnchor; exports.createEmptyTurnMeta = createEmptyTurnMeta; exports.createChatStreamReducer = createChatStreamReducer; exports.DEFAULT_DIALOG_SIDE = DEFAULT_DIALOG_SIDE; exports.DEFAULT_MAX_REDUCERS = DEFAULT_MAX_REDUCERS; exports.MAX_PENDING_RETAIN_KEYS = MAX_PENDING_RETAIN_KEYS; exports.createChatDialogStore = createChatDialogStore; exports.createDeltaBatcher = createDeltaBatcher; exports.useChatStreamReducer = useChatStreamReducer; exports.createChatConversationsApi = createChatConversationsApi; exports.parseWireCommandOverride = parseWireCommandOverride; exports.sanitizeTitleForChat = sanitizeTitleForChat; exports.formatSingularLookupInvocation = formatSingularLookupInvocation; exports.extractEntityIdFilter = extractEntityIdFilter; exports.buildDiscussAddendum = buildDiscussAddendum; exports.buildDiscussPrompt = buildDiscussPrompt; exports.AUTO_CONTINUATION_DIRECTIVE_PREFIX = AUTO_CONTINUATION_DIRECTIVE_PREFIX; exports.buildAutoContinuationDirective = buildAutoContinuationDirective; exports.useManagedDialogList = useManagedDialogList; exports.useSseChatAdapter = useSseChatAdapter; exports.extractIncompleteMessageState = extractIncompleteMessageState; exports.extractIncompleteTailState = extractIncompleteTailState; exports.decodeHistoricalMessageData = decodeHistoricalMessageData; exports.processHistoricalMessages = processHistoricalMessages; exports.extractErrorMessages = extractErrorMessages; exports.processHistoricalMessagesWithErrors = processHistoricalMessagesWithErrors; exports.mapProcessedToUnified = mapProcessedToUnified; exports.historicalToUnified = historicalToUnified; exports.useNatsChatAdapter = useNatsChatAdapter; exports.useStableShallow = useStableShallow; exports.useUnifiedChat = useUnifiedChat; exports.SYNTHETIC_REALTIME_ID_PREFIXES = SYNTHETIC_REALTIME_ID_PREFIXES; exports.flattenMessagePagesChronological = flattenMessagePagesChronological; exports.maxPersistedStreamSeq = maxPersistedStreamSeq; exports.mergeHistoryWithRealtime = mergeHistoryWithRealtime; exports.computeHistoryPrepend = computeHistoryPrepend; exports.CHIP_ACTION_BUTTON_CLASS = CHIP_ACTION_BUTTON_CLASS; exports.chatChipClass = chatChipClass; exports.flattenAssistantContent = flattenAssistantContent; exports.normalizeHistoricalMessageData = normalizeHistoricalMessageData; exports.isHistoricalUserTurn = isHistoricalUserTurn; exports.buildStreamFrames = buildStreamFrames; exports.EmbeddableChat = EmbeddableChat; exports.ProxyCredentialsPanel = ProxyCredentialsPanel;
27451
+
27452
+
27453
+ exports.InfoHint = InfoHint; exports.Field = Field; exports.formatTicketRelativeTime = formatTicketRelativeTime; exports.formatTicketFullTimestamp = formatTicketFullTimestamp; exports.formatRelativeTime = formatRelativeTime; exports.formatAbsoluteDate = formatAbsoluteDate; exports.formatDateTime = formatDateTime; exports.getDetailedTimeDifference = getDetailedTimeDifference; exports.isToday = isToday; exports.isWithinMinutes = isWithinMinutes; exports.createUTCTimestamp = createUTCTimestamp; exports.DESIGN_PALETTE = DESIGN_PALETTE; exports.getContrastRatio = getContrastRatio; exports.pickReadableTextColor = pickReadableTextColor; exports.extractDominantColor = extractDominantColor; exports.getBestContrastColor = getBestContrastColor; exports.analyzeImageColor = analyzeImageColor; exports.extractImageEdgeColorAsync = extractImageEdgeColorAsync; exports.getCurrentPlatform = getCurrentPlatform; exports.switchPlatformTheme = switchPlatformTheme; exports.getSemanticColor = getSemanticColor; exports.getPlatformConfig = getPlatformConfig; exports.usePlatformColors = usePlatformColors; exports.getReadableTextColor = getReadableTextColor; exports.HEX_PATTERN = HEX_PATTERN; exports.hexToRgb = hexToRgb2; exports.rgbToHex = rgbToHex; exports.deriveHoverColor = deriveHoverColor; exports.deriveActiveColor = deriveActiveColor; exports.rgbToHsl = rgbToHsl; exports.hslToRgb = hslToRgb; exports.ActionsMenu = ActionsMenu; exports.ActionsMenuDropdown = ActionsMenuDropdown; exports.ColorSwatch = ColorSwatch; exports.TooltipProvider = TooltipProvider; exports.Tooltip = Tooltip; exports.TooltipTrigger = TooltipTrigger; exports.TooltipContent = TooltipContent; exports.resolveTicketStatus = resolveTicketStatus; exports.getTicketStatusConfig = getTicketStatusConfig; exports.getTicketStatusTag = getTicketStatusTag; exports.kindToCanonicalStatus = kindToCanonicalStatus; exports.usesCanonicalStatusStyle = usesCanonicalStatusStyle; exports.resolveStatusTagProps = resolveStatusTagProps; exports.TicketStatusTag = TicketStatusTag; exports.useScrollFade = useScrollFade; exports.ScrollFadeOverlay = ScrollFadeOverlay; exports.ScrollShadow = ScrollShadow; exports.Modal = Modal; exports.ModalContent = ModalContent; exports.ModalTwoColumn = ModalTwoColumn; exports.ModalHeader = ModalHeader; exports.ModalTitle = ModalTitle; exports.ModalFooter = ModalFooter; exports.OVERLAY_BACKDROP_CLASS = OVERLAY_BACKDROP_CLASS; exports.Drawer = Drawer; exports.DrawerTrigger = DrawerTrigger; exports.DrawerClose = DrawerClose; exports.DrawerPortal = DrawerPortal; exports.DrawerOverlay = DrawerOverlay; exports.DrawerContent = DrawerContent; exports.DrawerHeader = DrawerHeader; exports.DrawerTitle = DrawerTitle; exports.DrawerDescription = DrawerDescription; exports.DrawerBody = DrawerBody; exports.DrawerFooter = DrawerFooter; exports.Tabs = Tabs; exports.TabsList = TabsList; exports.TabsTrigger = TabsTrigger; exports.TabsContent = TabsContent; exports.stripInlineMarkdown = stripInlineMarkdown; exports.markdownToPlainText = markdownToPlainText; exports.buildHeadingIdMap = buildHeadingIdMap; exports.useHeadingIdMap = useHeadingIdMap; exports.extractText = extractText; exports.useIsHydrated = useIsHydrated; exports.MermaidDiagram = MermaidDiagram; exports.hasRenderableSrc = hasRenderableSrc; exports.buildStandardLeafRenderers = buildStandardLeafRenderers; exports.SAFE_HTML_TAGS = SAFE_HTML_TAGS; exports.SVG_TAGS = SVG_TAGS; exports.buildEffectiveTagSet = buildEffectiveTagSet; exports.buildSanitizeSchema = buildSanitizeSchema; exports.rehypeStripUnsafe = rehypeStripUnsafe; exports.escapeUnknownHtmlTags = escapeUnknownHtmlTags; exports.cardAwareUrlTransform = cardAwareUrlTransform; exports.splitStreamingBlocks = splitStreamingBlocks; exports.completeStreamingTail = completeStreamingTail; exports.TEXT_SIZE_PRESETS = TEXT_SIZE_PRESETS; exports.resolveTextSizeConfig = resolveTextSizeConfig; exports.NO_BROKEN_LINKS = NO_BROKEN_LINKS; exports.MarkdownEngine = MarkdownEngine; exports.SimpleMarkdownRenderer = SimpleMarkdownRenderer; exports.fetchPriorityProp = fetchPriorityProp; exports.MUX_STREAM_ORIGIN = MUX_STREAM_ORIGIN; exports.MUX_IMAGE_ORIGIN = MUX_IMAGE_ORIGIN; exports.saveDataEnabled = saveDataEnabled; exports.useVideoOriginPreconnect = useVideoOriginPreconnect; exports.useVideoWarmup = useVideoWarmup; exports.extractYouTubeId = extractYouTubeId; exports.VIDEO_PLAYBACK_FAILED_EVENT = VIDEO_PLAYBACK_FAILED_EVENT; exports.Video = Video2; exports.HoverDropdown = HoverDropdown; exports.StatusLine = StatusLine; exports.ExpandChevron = ExpandChevron; exports.useCollapsible = useCollapsible; exports.getCommandText = getCommandText; exports.ArgRow = ArgRow; exports.ResultBlock = ResultBlock; exports.CommandBlock = CommandBlock; exports.ApprovalStatusTag = ApprovalStatusTag; exports.ApprovalWaitingLine = ApprovalWaitingLine; exports.ApprovalBatchMessage = ApprovalBatchMessage; exports.CHAT_TYPE = CHAT_TYPE; exports.OWNER_TYPE = OWNER_TYPE; exports.MESSAGE_ROLE = MESSAGE_ROLE; exports.ASSISTANT_TYPE = ASSISTANT_TYPE; exports.AUTHOR_TYPE = AUTHOR_TYPE; exports.APPROVAL_STATUS = APPROVAL_STATUS; exports.APPROVAL_BLOCK_VARIANT = APPROVAL_BLOCK_VARIANT; exports.CHAT_APPEARANCE = CHAT_APPEARANCE; exports.CONNECTION_STATUS = CONNECTION_STATUS; exports.isStructuredContent = isStructuredContent; exports.normalizeContent = normalizeContent; exports.ChatAppearanceContext = ChatAppearanceContext; exports.useChatAppearance = useChatAppearance; exports.ApprovalRequestMessage = ApprovalRequestMessage; exports.EscalationOfferMessage = EscalationOfferMessage; exports.formatTime = formatTime; exports.AiAssistantInfo = AiAssistantInfo; exports.TicketEscalatedMessage = TicketEscalatedMessage; exports.MESSAGE_TYPE = MESSAGE_TYPE; exports.SCROLL_ANCHOR = SCROLL_ANCHOR; exports.TICKET_EVENT_KIND = TICKET_EVENT_KIND; exports.TicketEventMessage = TicketEventMessage; exports.SystemEventMessage = SystemEventMessage; exports.ContextCompactionDisplay = ContextCompactionDisplay; exports.ThinkingDisplay = ThinkingDisplay; exports.AskDisplay = AskDisplay; exports.ErrorMessageDisplay = ErrorMessageDisplay; exports.MspOrganizationCard = MspOrganizationCard; exports.MspOrganizationCardSkeleton = MspOrganizationCardSkeleton; exports.ChatContainer = ChatContainer; exports.ChatHeader = ChatHeader; exports.ChatContent = ChatContent; exports.ChatFooter = ChatFooter; exports.ChatTypingIndicator = ChatTypingIndicator; exports.MingoOnboardingCard = MingoOnboardingCard; exports.ICON_REGISTRY = ICON_REGISTRY; exports.normalizeIconKey = normalizeIconKey; exports.getIconComponent = getIconComponent; exports.getDynamicIcon = getDynamicIcon; exports.ICON_ALIASES = ICON_ALIASES; exports.brandLogoForName = brandLogoForName; exports.resolveIcon = resolveIcon; exports.ICON_OPTIONS = ICON_OPTIONS; exports.SlashCommandSuggestions = SlashCommandSuggestions; exports.ChatInput = ChatInput; exports.FAE_AVATAR_DATA_URI = FAE_AVATAR_DATA_URI; exports.AgentMark = AgentMark; exports.CONTEXT_ROW_CLASS = CONTEXT_ROW_CLASS; exports.CONTEXT_ICON_CLASS = CONTEXT_ICON_CLASS; exports.CONTEXT_LABEL_CLASS = CONTEXT_LABEL_CLASS; exports.CONTEXT_BACK_CLASS = CONTEXT_BACK_CLASS; exports.CONTEXT_STATE_CLASS = CONTEXT_STATE_CLASS; exports.ContextMenuRow = ContextMenuRow; exports.ContextItemsSkeleton = ContextItemsSkeleton; exports.ContextItemsList = ContextItemsList; exports.ContextErrorBoundary = ContextErrorBoundary; exports.CHAT_CONTEXT_ITEMS_DEFAULT_MAX = CHAT_CONTEXT_ITEMS_DEFAULT_MAX; exports.ChatComposerPlusMenu = ChatComposerPlusMenu; exports.ChatContextPicker = ChatContextPicker; exports.ChatContextChipStrip = ChatContextChipStrip; exports.BlockCard = BlockCard; exports.remarkCardLinks = remarkCardLinks; exports.remarkMentionChips = remarkMentionChips; exports.ToolExecutionDisplay = ToolExecutionDisplay; exports.MemoizedChatMessageEnhanced = MemoizedChatMessageEnhanced; exports.ChatMessageSkeleton = ChatMessageSkeleton; exports.ChatMessageListSkeleton = ChatMessageListSkeleton; exports.ChatMessageList = ChatMessageList; exports.useProxiedImageUrl = useProxiedImageUrl; exports.ChatMessageRow = ChatMessageRow; exports.ChatMessageRowSkeleton = ChatMessageRowSkeleton; exports.EntityIcon = EntityIcon; exports.getAgentAccent = getAgentAccent; exports.accentFromIdentityIcon = accentFromIdentityIcon; exports.isQuickActionIconSpec = isQuickActionIconSpec; exports.renderQuickActionIcon = renderQuickActionIcon; exports.QuickActionChipSkeleton = QuickActionChipSkeleton; exports.QuickActionChipButton = QuickActionChipButton; exports.QuickActionChipFromData = QuickActionChipFromData; exports.useMarqueeSync = useMarqueeSync; exports.getMarqueeTrackOffset = getMarqueeTrackOffset; exports.getMarqueeAppliedOffset = getMarqueeAppliedOffset; exports.getMarqueeCloneTwin = getMarqueeCloneTwin; exports.MarqueeWallFades = MarqueeWallFades; exports.MarqueeWall = MarqueeWall; exports.WALL_SKELETON_LABEL_CH = WALL_SKELETON_LABEL_CH; exports.interleave = interleave; exports.QuickActionWall = QuickActionWall; exports.QuickActionMarquee = QuickActionMarquee; exports.ChatTicketItem = ChatTicketItem; exports.ChatTicketList = ChatTicketList; exports.MingoOnboardingCardSkeleton = MingoOnboardingCardSkeleton; exports.MingoOnboardingListSkeleton = MingoOnboardingListSkeleton; exports.ChatListEmptyState = ChatListEmptyState; exports.MingoChatHistorySkeleton = MingoChatHistorySkeleton; exports.MingoChatHistory = MingoChatHistory; exports.MingoWelcome = MingoWelcome; exports.GuideWelcome = GuideWelcome; exports.GuideModeBanner = GuideModeBanner; exports.TabSelector = TabSelector; exports.MingoHistoryRail = MingoHistoryRail; exports.RenameChatModal = RenameChatModal; exports.ArchiveChatModal = ArchiveChatModal; exports.UnarchiveChatModal = UnarchiveChatModal; exports.ChatDialogModals = ChatDialogModals; exports.ChatHeaderIconButton = ChatHeaderIconButton; exports.ChatHeaderSearchField = ChatHeaderSearchField; exports.ChatPanelHeader = ChatPanelHeader; exports.CHAT_ATTACHMENT_VIEW_URL_PREFIX = CHAT_ATTACHMENT_VIEW_URL_PREFIX; exports.CHAT_ATTACHMENT_VIEW_TOKEN_QUERY_PARAM = CHAT_ATTACHMENT_VIEW_TOKEN_QUERY_PARAM; exports.ANTHROPIC_SUPPORTED_IMAGE_MIME = ANTHROPIC_SUPPORTED_IMAGE_MIME; exports.buildChatAttachmentViewUrl = buildChatAttachmentViewUrl; exports.escapeMarkdownInline = escapeMarkdownInline; exports.formatChatAttachmentMarkdownForBubble = formatChatAttachmentMarkdownForBubble; exports.CHAT_ATTACHMENT_VIEW_URL_PREFIX_REGEX_ESCAPED = CHAT_ATTACHMENT_VIEW_URL_PREFIX_REGEX_ESCAPED; exports.CHAT_ATTACHMENT_MARKDOWN_PATTERN = CHAT_ATTACHMENT_MARKDOWN_PATTERN; exports.stripChatAttachmentMarkdown = stripChatAttachmentMarkdown; exports.CHAT_ATTACHMENT_MIME_TYPES = CHAT_ATTACHMENT_MIME_TYPES; exports.CHAT_ATTACHMENT_CONCURRENT_UPLOADS_PER_USER = CHAT_ATTACHMENT_CONCURRENT_UPLOADS_PER_USER; exports.ChatAttachmentAddButton = ChatAttachmentAddButton; exports.ChatAttachmentChipStrip = ChatAttachmentChipStrip; exports.ChatContextMemoryBar = ChatContextMemoryBar; exports.HoverCard = HoverCard; exports.HoverCardTrigger = HoverCardTrigger; exports.HoverCardContent = HoverCardContent; exports.ModelDisplay = ModelDisplay; exports.ModelDisplaySkeleton = ModelDisplaySkeleton; exports.ChatComposer = ChatComposer; exports.ChatArchivePage = ChatArchivePage; exports.DialogListItem = DialogListItem; exports.ChatSidebar = ChatSidebar; exports.ChatNavSidebar = ChatNavSidebar; exports.ChatListItem = ChatListItem; exports.ChatTopNavigation = ChatTopNavigation; exports.OnboardingCarousel = OnboardingCarousel; exports.NEW_TAB_FEATURES = NEW_TAB_FEATURES; exports.isModifierClick = isModifierClick; exports.stripSameOriginToPath = stripSameOriginToPath; exports.resolveExternalNavigation = resolveExternalNavigation; exports.executeNavigation = executeNavigation; exports.executeNavigationImperative = executeNavigationImperative; exports.handleChatNavClick = handleChatNavClick; exports.NavLinkAnchorViaRuntime = NavLinkAnchorViaRuntime; exports.SourceActionButton = SourceActionButton; exports.getCaptionsUrl = getCaptionsUrl; exports.rebaseCaptionsUrl = rebaseCaptionsUrl; exports.buildCaptionsUrl = buildCaptionsUrl; exports.getEntityCaptionUrls = getEntityCaptionUrls; exports.getEntityCaptionUrlsById = getEntityCaptionUrlsById; exports.captionsEntityTypeForDocType = captionsEntityTypeForDocType; exports.useCaptions = useCaptions; exports.UserDisplay = UserDisplay; exports.CardHitLayer = CardHitLayer; exports.STRIP_CELL_MAX_WIDTH = STRIP_CELL_MAX_WIDTH; exports.CardsStrip = CardsStrip; exports.VideoHoverPreviewSurface = VideoHoverPreviewSurface; exports.RATIO_GRID_CLASS = RATIO_GRID_CLASS; exports.RATIO_TO_CSS_ASPECT = RATIO_TO_CSS_ASPECT; exports.RatioTabs = RatioTabs; exports.detectAspectRatio = detectAspectRatio; exports.ratioToCategory = ratioToCategory; exports.groupByAspectRatio = groupByAspectRatio; exports.VideoBitesStrip = VideoBitesStrip; exports.VideoBiteCard = VideoBiteCard; exports.EntityVideoSection = EntityVideoSection; exports.ChatVideoEntityCard = ChatVideoEntityCard; exports.DESIGN_DOC_READINESS = DESIGN_DOC_READINESS; exports.DESIGN_DOC_READINESS_DISPLAY = DESIGN_DOC_READINESS_DISPLAY; exports.designDocReadiness = designDocReadiness; exports.formatCompletionLabel = formatCompletionLabel; exports.formatCompletionLabelWithBlockers = formatCompletionLabelWithBlockers; exports.UnifiedSkeleton = UnifiedSkeleton; exports.TextSkeleton = TextSkeleton; exports.InteractiveSkeleton = InteractiveSkeleton; exports.MediaSkeleton = MediaSkeleton; exports.designDocPeople = designDocPeople; exports.designDocMetaLine = designDocMetaLine; exports.DesignDocCardSkeleton = DesignDocCardSkeleton; exports.DesignDocCard = DesignDocCard; exports.GitHubActivityCard = GitHubActivityCard; exports.GitHubActivityCardSkeleton = GitHubActivityCardSkeleton; exports.SlackMessageCard = SlackMessageCard; exports.SlackMessageCardSkeleton = SlackMessageCardSkeleton; exports.HubspotTicketCard = HubspotTicketCard; exports.HubspotTicketCardSkeleton = HubspotTicketCardSkeleton; exports.DataRoomDocCard = DataRoomDocCard; exports.DataRoomDocCardSkeleton = DataRoomDocCardSkeleton; exports.CampaignCardAdmin = CampaignCardAdmin; exports.CampaignCardAdminSkeleton = CampaignCardAdminSkeleton; exports.GenericEntityCard = GenericEntityCard; exports.GenericEntityCardSkeleton = GenericEntityCardSkeleton; exports.faqSectionSlug = faqSectionSlug; exports.faqItemAnchor = faqItemAnchor; exports.parseFaqHash = parseFaqHash; exports.useChatCardItem = useChatCardItem; exports.readFetchedCardTitle = readFetchedCardTitle; exports.readFetchedCardPath = readFetchedCardPath; exports.resolveFetchedCardHref = resolveFetchedCardHref; exports.byKey = byKey; exports.getPlatformProductionUrl = getPlatformProductionUrl; exports.getPlatformUrl = getPlatformUrl; exports.getDeploymentUrl = getDeploymentUrl; exports.isLocalUrl = isLocalUrl; exports.getRequestOrigin = getRequestOrigin; exports.resolveRedirectTarget = resolveRedirectTarget; exports.getAllPlatformBaseDomains = getAllPlatformBaseDomains; exports.SOURCE_ICON_NAMES = SOURCE_ICON_NAMES; exports.getSourceIconName = getSourceIconName; exports.SOURCE_LABELS_BY_TABLE = SOURCE_LABELS_BY_TABLE; exports.getSourceLabel = getSourceLabel; exports.DEFAULT_DOCUMENT_TYPE_TO_TABLE_ID = DEFAULT_DOCUMENT_TYPE_TO_TABLE_ID; exports.defaultTableIdForDocumentType = defaultTableIdForDocumentType; exports.DOC_TABLE_TYPES = DOC_TABLE_TYPES; exports.groupsByTable = groupsByTable; exports.recordCountLabel = recordCountLabel; exports.buildGroupedSource = buildGroupedSource; exports.groupSourcesByTable = groupSourcesByTable; exports.formatCitationIndices = formatCitationIndices; exports.resolveSourceRowCTA = resolveSourceRowCTA; exports.resolveSourceIcon = resolveSourceIcon; exports.resolveCardDestination = resolveCardDestination; exports.clickupTaskUrl = clickupTaskUrl; exports.chatCardLabel = chatCardLabel; exports.ChatCardLoader = ChatCardLoader; exports.renderChatInlineEntityCard = renderChatInlineEntityCard; exports.NETWORK_CONFIG = NETWORK_CONFIG; exports.EMPTY_DIALOG_CAPABILITIES = EMPTY_DIALOG_CAPABILITIES; exports.useChunkCatchup = useChunkCatchup; exports.useScriptedStream = useScriptedStream; exports.RESYNC_AFTER_HIDDEN_MS = RESYNC_AFTER_HIDDEN_MS; exports.useJetStreamDialogSubscription = useJetStreamDialogSubscription; exports.useNatsDialogSubscription = useNatsDialogSubscription; exports.buildNatsWsUrl = buildNatsWsUrl; exports.fetchSlashCommands = fetchSlashCommands; exports.useSlashCommands = useSlashCommands; exports.useSlashCommandRegistry = useSlashCommandRegistry; exports.fetchEmptyStateConfig = fetchEmptyStateConfig; exports.useEmptyStateConfig = useEmptyStateConfig; exports.useChatAttachments = useChatAttachments; exports.useChatAttachmentImageGallery = useChatAttachmentImageGallery; exports.ChatIdentityProvider = ChatIdentityProvider; exports.useChatIdentity = useChatIdentity; exports.useCloseOnNavigation = useCloseOnNavigation; exports.useSSE = useSSE; exports.useChat = useChat; exports.approvalDisplaysInline = approvalDisplaysInline; exports.appendToTrailingAssistant = appendToTrailingAssistant; exports.upsertTrailingCompaction = upsertTrailingCompaction; exports.applyToolExecutionToMessages = applyToolExecutionToMessages; exports.MessageSegmentAccumulator = MessageSegmentAccumulator; exports.createMessageSegmentAccumulator = createMessageSegmentAccumulator; exports.SCROLL_ANCHOR_WIRE_KEY = SCROLL_ANCHOR_WIRE_KEY; exports.parseScrollAnchor = parseScrollAnchor; exports.createEmptyTurnMeta = createEmptyTurnMeta; exports.createChatStreamReducer = createChatStreamReducer; exports.DEFAULT_DIALOG_SIDE = DEFAULT_DIALOG_SIDE; exports.DEFAULT_MAX_REDUCERS = DEFAULT_MAX_REDUCERS; exports.MAX_PENDING_RETAIN_KEYS = MAX_PENDING_RETAIN_KEYS; exports.createChatDialogStore = createChatDialogStore; exports.createDeltaBatcher = createDeltaBatcher; exports.useChatStreamReducer = useChatStreamReducer; exports.createChatConversationsApi = createChatConversationsApi; exports.parseWireCommandOverride = parseWireCommandOverride; exports.sanitizeTitleForChat = sanitizeTitleForChat; exports.formatSingularLookupInvocation = formatSingularLookupInvocation; exports.extractEntityIdFilter = extractEntityIdFilter; exports.buildDiscussAddendum = buildDiscussAddendum; exports.buildDiscussPrompt = buildDiscussPrompt; exports.AUTO_CONTINUATION_DIRECTIVE_PREFIX = AUTO_CONTINUATION_DIRECTIVE_PREFIX; exports.buildAutoContinuationDirective = buildAutoContinuationDirective; exports.useManagedDialogList = useManagedDialogList; exports.useSseChatAdapter = useSseChatAdapter; exports.extractIncompleteMessageState = extractIncompleteMessageState; exports.extractIncompleteTailState = extractIncompleteTailState; exports.decodeHistoricalMessageData = decodeHistoricalMessageData; exports.processHistoricalMessages = processHistoricalMessages; exports.extractErrorMessages = extractErrorMessages; exports.processHistoricalMessagesWithErrors = processHistoricalMessagesWithErrors; exports.mapProcessedToUnified = mapProcessedToUnified; exports.historicalToUnified = historicalToUnified; exports.useNatsChatAdapter = useNatsChatAdapter; exports.useStableShallow = useStableShallow; exports.useUnifiedChat = useUnifiedChat; exports.SYNTHETIC_REALTIME_ID_PREFIXES = SYNTHETIC_REALTIME_ID_PREFIXES; exports.flattenMessagePagesChronological = flattenMessagePagesChronological; exports.maxPersistedStreamSeq = maxPersistedStreamSeq; exports.mergeHistoryWithRealtime = mergeHistoryWithRealtime; exports.computeHistoryPrepend = computeHistoryPrepend; exports.CHIP_ACTION_BUTTON_CLASS = CHIP_ACTION_BUTTON_CLASS; exports.chatChipClass = chatChipClass; exports.flattenAssistantContent = flattenAssistantContent; exports.normalizeHistoricalMessageData = normalizeHistoricalMessageData; exports.isHistoricalUserTurn = isHistoricalUserTurn; exports.buildStreamFrames = buildStreamFrames; exports.EmbeddableChat = EmbeddableChat; exports.ProxyCredentialsPanel = ProxyCredentialsPanel;