@burdenoff/fe-libs 2026.1023.12 → 2026.1023.13

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.
@@ -8,6 +8,12 @@ export interface DynamicFooterProps {
8
8
  tagline: string;
9
9
  /** Version string */
10
10
  version?: string;
11
+ /**
12
+ * Copyright line, without the leading "©" (forwarded to `Footer`). Defaults
13
+ * to the shared "<year> Burdenoff. All rights reserved." label; products
14
+ * held by another entity pass their holder here (BUR-SOP-029).
15
+ */
16
+ copyright?: string;
11
17
  /** Custom footer columns (overrides defaults) */
12
18
  columns?: FooterColumn[];
13
19
  /** Custom social links (overrides API-fetched) */
@@ -22,4 +28,4 @@ export interface DynamicFooterProps {
22
28
  */
23
29
  hideOnInstalledApp?: boolean;
24
30
  }
25
- export declare function DynamicFooter({ productSlug, productName, tagline, version, columns: customColumns, socialLinks: customSocialLinks, legalPageOrder, deferRemoteData, hideOnInstalledApp, }: DynamicFooterProps): import('react/jsx-runtime').JSX.Element;
31
+ export declare function DynamicFooter({ productSlug, productName, tagline, version, copyright, columns: customColumns, socialLinks: customSocialLinks, legalPageOrder, deferRemoteData, hideOnInstalledApp, }: DynamicFooterProps): import('react/jsx-runtime').JSX.Element;
@@ -60,12 +60,12 @@ var y = _`
60
60
  function w(e) {
61
61
  return e.trim().replace(/[^A-Za-z0-9 ]/g, "").split(/\s+/).map((e, t) => t === 0 ? e.toLowerCase() : e.charAt(0).toUpperCase() + e.slice(1).toLowerCase()).join("");
62
62
  }
63
- function T({ productSlug: u, productName: f, tagline: p, version: m = "v1.0.0", columns: h, socialLinks: _, legalPageOrder: T = C, deferRemoteData: E = !1, hideOnInstalledApp: D = !0 }) {
64
- let { workspaceId: O, projectId: k } = n(), A = e("global"), { t: j } = t(), [M, N] = l(null), [P, F] = l(null);
63
+ function T({ productSlug: u, productName: f, tagline: p, version: m = "v1.0.0", copyright: h, columns: _, socialLinks: T, legalPageOrder: E = C, deferRemoteData: D = !1, hideOnInstalledApp: O = !0 }) {
64
+ let { workspaceId: k, projectId: A } = n(), j = e("global"), { t: M } = t(), [N, P] = l(null), [F, I] = l(null);
65
65
  s(() => {
66
- if (!A || E) return;
66
+ if (!j || D) return;
67
67
  let e = !1;
68
- return A.query({
68
+ return j.query({
69
69
  query: y,
70
70
  variables: { slug: u },
71
71
  fetchPolicy: "cache-first"
@@ -73,7 +73,7 @@ function T({ productSlug: u, productName: f, tagline: p, version: m = "v1.0.0",
73
73
  if (e) return;
74
74
  let n = t.data?.publicProduct;
75
75
  if (n) {
76
- if (!_) {
76
+ if (!T) {
77
77
  let e = n.socialLinks;
78
78
  if (e && Object.keys(e).length > 0) {
79
79
  let t = Object.entries(e).map(([e, t]) => ({
@@ -82,10 +82,10 @@ function T({ productSlug: u, productName: f, tagline: p, version: m = "v1.0.0",
82
82
  href: t,
83
83
  icon: S[e.toLowerCase()] || /* @__PURE__ */ g(d, { className: "size-5" })
84
84
  }));
85
- t.length > 0 && F(t);
85
+ t.length > 0 && I(t);
86
86
  }
87
87
  }
88
- return A.query({
88
+ return j.query({
89
89
  query: b,
90
90
  variables: {
91
91
  productId: n.id,
@@ -98,28 +98,28 @@ function T({ productSlug: u, productName: f, tagline: p, version: m = "v1.0.0",
98
98
  if (e || !t) return;
99
99
  let n = t.data?.publicContentPages?.items;
100
100
  if (!n) return;
101
- let r = T.map((e) => n.find((t) => t.slug === e)).filter((e) => e != null).map((e) => ({
101
+ let r = E.map((e) => n.find((t) => t.slug === e)).filter((e) => e != null).map((e) => ({
102
102
  id: e.slug,
103
103
  label: e.title,
104
104
  href: `/legal/${x[e.slug] || e.slug}`
105
105
  }));
106
- r.length > 0 && N(r);
106
+ r.length > 0 && P(r);
107
107
  }).catch(() => {}), () => {
108
108
  e = !0;
109
109
  };
110
110
  }, [
111
- _,
112
- E,
113
- A,
114
111
  T,
112
+ D,
113
+ j,
114
+ E,
115
115
  u
116
116
  ]);
117
- let I = c(() => {
118
- let e = h ?? r, t = M ? e.map((e) => e.title === "Legal" ? {
117
+ let L = c(() => {
118
+ let e = _ ?? r, t = N ? e.map((e) => e.title === "Legal" ? {
119
119
  ...e,
120
- links: M
120
+ links: N
121
121
  } : e) : e, n = (e, t) => {
122
- let n = j(e);
122
+ let n = M(e);
123
123
  return n === e ? t : n;
124
124
  };
125
125
  return t.map((e) => ({
@@ -131,21 +131,22 @@ function T({ productSlug: u, productName: f, tagline: p, version: m = "v1.0.0",
131
131
  })
132
132
  }));
133
133
  }, [
134
- M,
135
- h,
136
- j
134
+ N,
135
+ _,
136
+ M
137
137
  ]);
138
138
  return /* @__PURE__ */ g(a, {
139
139
  logo: /* @__PURE__ */ g(o, { size: "sidenav" }),
140
140
  productName: f,
141
141
  tagline: p,
142
- columns: I,
143
- socialLinks: _ ?? P ?? i,
142
+ columns: L,
143
+ socialLinks: T ?? F ?? i,
144
144
  version: m,
145
- hideOnInstalledApp: D,
145
+ copyright: h,
146
+ hideOnInstalledApp: O,
146
147
  context: {
147
- workspace: O ?? void 0,
148
- project: k ?? void 0
148
+ workspace: k ?? void 0,
149
+ project: A ?? void 0
149
150
  },
150
151
  renderLink: ({ href: e, external: t, children: n, className: r }) => t ? /* @__PURE__ */ g("a", {
151
152
  href: e,
@@ -70,7 +70,7 @@ export { resolveAuthBridgeConfig, resolveShellAuthBridgeConfig } from './authBri
70
70
  export type { RuntimeAuthBridgeConfig } from './authBridgeUrls';
71
71
  export { CANONICAL_DOCS_HOSTS, buildProductDocsUrl, canonicalizeDocsOrigin, getCatalogDocsOrigin, normalizeDocsPath, resolveDocsEnvironment, resolveProductDocsOrigin, toEnvironmentDocsOrigin, toTrustedDocsOrigin, } from './docsUrls';
72
72
  export type { DocsEnvironment, ResolveDocsOriginOptions } from './docsUrls';
73
- export { PRODUCTS, PRODUCT_URLS, BOTMANOR_PRODUCT_SLUG, getProductUrl, getProductsWithUrls, findProductConfig, } from './products';
73
+ export { PRODUCTS, PRODUCT_URLS, BOTMANOR_PRODUCT_SLUG, getProductUrl, getProductsWithUrls, findProductConfig, isAlphaAppShell, toAlphaAppUrl, toCurrentEstateAppUrl, } from './products';
74
74
  export type { ProductConfig } from './products';
75
75
  export { PRODUCT_SLUG_RENAMES, PRODUCT_SLUG_EMIT, normalizeProductSlug, legacyProductSlug, isSameProductSlug, emitProductSlug, } from './productSlug';
76
76
  export type { ProductSlugRename } from './productSlug';
@@ -72,6 +72,28 @@ export declare const PRODUCT_URLS: {
72
72
  };
73
73
  };
74
74
  export declare const PRODUCTS: ProductConfig[];
75
+ /**
76
+ * Whether the running shell belongs to the alpha estate.
77
+ *
78
+ * - Desktop (Electron): the baked runtime config's `environment`.
79
+ * - Capacitor: the build's deploy target (the WebView origin is always localhost).
80
+ * - Web: the `alphaapp.*` / `alphaadmin.*` hosts.
81
+ */
82
+ export declare function isAlphaAppShell(hostname?: string): boolean;
83
+ /**
84
+ * The alpha twin of a production app-shell URL: `https://app.<domain>/…` →
85
+ * `https://alphaapp.<domain>/…` for a known product domain. Any other URL
86
+ * (already alpha, a non-product host, unparseable) is returned unchanged, so
87
+ * the call is idempotent and never invents a host outside the product estate.
88
+ */
89
+ export declare function toAlphaAppUrl(url: string): string;
90
+ /**
91
+ * A product's app-shell URL in the estate the current shell runs in: alpha
92
+ * shells link to the other products' alpha shells (cross-product SSO stays on
93
+ * the alpha session), prod shells to prod. Accepts the registry's `appUrl`
94
+ * as well as catalog URLs.
95
+ */
96
+ export declare function toCurrentEstateAppUrl(url: string): string;
75
97
  export declare function getProductUrl(productId: string): string;
76
98
  /** Catalog entry for a product id, accepting either spelling of a renamed slug. */
77
99
  export declare function findProductConfig(productId: string): ProductConfig | undefined;
@@ -1,6 +1,9 @@
1
- import { emitProductSlug as e, isSameProductSlug as t, legacyProductSlug as n } from "./productSlug.js";
1
+ import { isCapacitorNative as e } from "../native/capacitor.js";
2
+ import { getDesktopRuntimeConfig as t } from "../native/desktop.js";
3
+ import { ALL_PRODUCT_DOMAINS as n, ALPHA_HOSTS as r, getCurrentHostname as i, resolveNativeDeployTarget as a } from "./gatewayUrls.js";
4
+ import { emitProductSlug as o, isSameProductSlug as s, legacyProductSlug as c } from "./productSlug.js";
2
5
  //#region src/shared/config/products.ts
3
- var r = e("botmanor"), i = {
6
+ var l = o("botmanor"), u = {
4
7
  development: {
5
8
  fluidgrids: "http://localhost:5147/",
6
9
  bigconsole: "http://localhost:5148/",
@@ -48,7 +51,7 @@ var r = e("botmanor"), i = {
48
51
  theculturepost: "https://app.theculturepost.com/",
49
52
  theglobalfuel: "https://app.theglobalfuel.com/"
50
53
  }
51
- }, a = [
54
+ }, d = [
52
55
  {
53
56
  id: "vibecontrols",
54
57
  name: "VibeControls",
@@ -78,7 +81,7 @@ var r = e("botmanor"), i = {
78
81
  description: "AI development console"
79
82
  },
80
83
  {
81
- id: r,
84
+ id: l,
82
85
  name: "BotManor",
83
86
  icon: "BM",
84
87
  color: "#f59e0b",
@@ -317,27 +320,47 @@ var r = e("botmanor"), i = {
317
320
  description: "Energy, minerals & resources platform"
318
321
  }
319
322
  ];
320
- function o() {
323
+ function f() {
321
324
  return "production";
322
325
  }
323
- function s(e, t) {
324
- return e[t] ?? e[n(t)];
326
+ function p(e, t) {
327
+ return e[t] ?? e[c(t)];
325
328
  }
326
- function c(e) {
327
- return s(i[o()], e) || "#";
329
+ function m(n = i()) {
330
+ let o = t()?.environment;
331
+ return o ? o === "alpha" : e() ? a() === "alpha" : r.has(n.toLowerCase());
328
332
  }
329
- function l(e) {
330
- return a.find((n) => t(n.id, e));
333
+ function h(e) {
334
+ let t;
335
+ try {
336
+ t = new URL(e);
337
+ } catch {
338
+ return e;
339
+ }
340
+ let r = t.hostname.toLowerCase();
341
+ if (t.protocol !== "https:" || !r.startsWith("app.")) return e;
342
+ let i = r.slice(4);
343
+ return n.includes(i) ? (t.hostname = `alphaapp.${i}`, t.toString()) : e;
344
+ }
345
+ function g(e) {
346
+ return m() ? h(e) : e;
347
+ }
348
+ function _(e) {
349
+ let t = f(), n = p(u[t], e);
350
+ return n ? t === "production" ? g(n) : n : "#";
351
+ }
352
+ function v(e) {
353
+ return d.find((t) => s(t.id, e));
331
354
  }
332
- function u(e) {
333
- let t = s(i.production, e);
355
+ function y(e) {
356
+ let t = p(u.production, e);
334
357
  return t ? `${t}icons/icon.svg` : void 0;
335
358
  }
336
- function d() {
337
- return a.map((e) => ({
359
+ function b() {
360
+ return d.map((e) => ({
338
361
  ...e,
339
- url: c(e.id)
362
+ url: _(e.id)
340
363
  }));
341
364
  }
342
365
  //#endregion
343
- export { r as BOTMANOR_PRODUCT_SLUG, a as PRODUCTS, i as PRODUCT_URLS, l as findProductConfig, u as getProductLogoUrl, c as getProductUrl, d as getProductsWithUrls };
366
+ export { l as BOTMANOR_PRODUCT_SLUG, d as PRODUCTS, u as PRODUCT_URLS, v as findProductConfig, y as getProductLogoUrl, _ as getProductUrl, b as getProductsWithUrls, m as isAlphaAppShell, h as toAlphaAppUrl, g as toCurrentEstateAppUrl };
@@ -1,15 +1,15 @@
1
1
  import { normalizeProductSlug as e } from "../../config/productSlug.js";
2
- import { PRODUCTS as t, getProductLogoUrl as n, getProductUrl as r } from "../../config/products.js";
3
- import { useGatewayClient as i } from "../../graphql/GatewayContext.js";
2
+ import { PRODUCTS as t, getProductLogoUrl as n, getProductUrl as r, toCurrentEstateAppUrl as i } from "../../config/products.js";
3
+ import { useGatewayClient as a } from "../../graphql/GatewayContext.js";
4
4
  import "../../../shared-graphql.js";
5
- import { useCallback as a, useEffect as o, useState as s } from "react";
6
- import { gql as c } from "@apollo/client/core";
5
+ import { useCallback as o, useEffect as s, useState as c } from "react";
6
+ import { gql as l } from "@apollo/client/core";
7
7
  //#region src/shared/hooks/shell/useProducts.ts
8
- var l = new Set(t.map((t) => e(t.id))), u = new Map(t.map((t) => [e(t.id), t.comingSoon === !0]));
9
- function d(t, n, r) {
10
- return u.get(e(t)) ? !0 : n !== "ACTIVE" || !r;
8
+ var u = new Set(t.map((t) => e(t.id))), d = new Map(t.map((t) => [e(t.id), t.comingSoon === !0]));
9
+ function f(t, n, r) {
10
+ return d.get(e(t)) ? !0 : n !== "ACTIVE" || !r;
11
11
  }
12
- var f = c`
12
+ var p = l`
13
13
  query GetAccessibleProducts($limit: Int, $offset: Int) {
14
14
  myAccessibleProducts(limit: $limit, offset: $offset) {
15
15
  items {
@@ -26,13 +26,13 @@ var f = c`
26
26
  }
27
27
  }
28
28
  `;
29
- function p(t) {
30
- return l.has(e(t));
31
- }
32
29
  function m(t) {
33
- return new Map(t.filter((e) => p(e.slug)).map((t) => [e(t.slug), t]));
30
+ return u.has(e(t));
31
+ }
32
+ function h(t) {
33
+ return new Map(t.filter((e) => m(e.slug)).map((t) => [e(t.slug), t]));
34
34
  }
35
- function h(e) {
35
+ function g(e) {
36
36
  if (!e || !e.startsWith("https://") || e.includes("localhost") || e.includes("127.0.0.1")) return !1;
37
37
  try {
38
38
  let t = new URL(e);
@@ -41,7 +41,7 @@ function h(e) {
41
41
  return !1;
42
42
  }
43
43
  }
44
- function g() {
44
+ function _() {
45
45
  return t.map((e) => ({
46
46
  id: e.id,
47
47
  name: e.name,
@@ -52,48 +52,48 @@ function g() {
52
52
  comingSoon: e.comingSoon === !0
53
53
  }));
54
54
  }
55
- function _(c) {
56
- let l = i("global"), [u, p] = s(g()), [_, v] = s(c?.autoFetch !== !1), [y, b] = s(null), x = a(async () => {
57
- v(!0), b(null);
55
+ function v(l) {
56
+ let u = a("global"), [d, m] = c(_()), [v, y] = c(l?.autoFetch !== !1), [b, x] = c(null), S = o(async () => {
57
+ y(!0), x(null);
58
58
  try {
59
- let i = m((await l.query({
60
- query: f,
59
+ let a = h((await u.query({
60
+ query: p,
61
61
  variables: {
62
62
  limit: 50,
63
63
  offset: 0
64
64
  },
65
65
  fetchPolicy: "cache-first"
66
- })).data?.myAccessibleProducts?.items || []), a = t.map((t) => {
67
- let a = i.get(e(t.id));
66
+ })).data?.myAccessibleProducts?.items || []), o = t.map((t) => {
67
+ let o = a.get(e(t.id));
68
68
  return {
69
69
  id: t.id,
70
70
  name: t.name,
71
- url: h(a?.appUrl) ? a.appUrl : r(t.id),
71
+ url: g(o?.appUrl) ? i(o.appUrl) : r(t.id),
72
72
  icon: t.icon,
73
- color: a?.metadata && typeof a.metadata.color == "string" ? a.metadata.color : t.color,
73
+ color: o?.metadata && typeof o.metadata.color == "string" ? o.metadata.color : t.color,
74
74
  logoUrl: n(t.id),
75
- comingSoon: a ? d(t.id, a.status, a.appUrl) : t.comingSoon === !0
75
+ comingSoon: o ? f(t.id, o.status, o.appUrl) : t.comingSoon === !0
76
76
  };
77
77
  });
78
- a.sort((e, t) => e.name.localeCompare(t.name)), p(a);
78
+ o.sort((e, t) => e.name.localeCompare(t.name)), m(o);
79
79
  } catch (e) {
80
- b(e instanceof Error ? e.message : "Failed to fetch products"), p(g());
80
+ x(e instanceof Error ? e.message : "Failed to fetch products"), m(_());
81
81
  } finally {
82
- v(!1);
82
+ y(!1);
83
83
  }
84
- }, [l]);
85
- return o(() => {
86
- if (c?.autoFetch === !1) {
87
- v(!1);
84
+ }, [u]);
85
+ return s(() => {
86
+ if (l?.autoFetch === !1) {
87
+ y(!1);
88
88
  return;
89
89
  }
90
- x();
90
+ S();
91
91
  }, []), {
92
- products: u,
93
- isLoading: _,
94
- error: y,
95
- refetch: x
92
+ products: d,
93
+ isLoading: v,
94
+ error: b,
95
+ refetch: S
96
96
  };
97
97
  }
98
98
  //#endregion
99
- export { _ as useProducts };
99
+ export { v as useProducts };
@@ -1,11 +1,11 @@
1
1
  import { resolveGatewayUrls as e } from "./shared/config/gatewayUrls.js";
2
2
  import { resolveAuthBridgeConfig as t, resolveShellAuthBridgeConfig as n } from "./shared/config/authBridgeUrls.js";
3
3
  import { PRODUCT_SLUG_EMIT as r, PRODUCT_SLUG_RENAMES as i, emitProductSlug as a, isSameProductSlug as o, legacyProductSlug as s, normalizeProductSlug as c } from "./shared/config/productSlug.js";
4
- import { BOTMANOR_PRODUCT_SLUG as l, PRODUCTS as u, PRODUCT_URLS as d, findProductConfig as f, getProductUrl as p, getProductsWithUrls as m } from "./shared/config/products.js";
5
- import { CANONICAL_DOCS_HOSTS as h, buildProductDocsUrl as g, canonicalizeDocsOrigin as _, getCatalogDocsOrigin as v, normalizeDocsPath as y, resolveDocsEnvironment as b, resolveProductDocsOrigin as x, toEnvironmentDocsOrigin as S, toTrustedDocsOrigin as C } from "./shared/config/docsUrls.js";
6
- import { COMMON_SHELL_LESS_ROUTES as w, DEFAULT_SHELL_CONFIG as T, getShellConfig as E, isShellLessRoute as D, shouldShowBreadcrumb as O, shouldShowSidebar as k } from "./shared/config/shellRoutes.js";
4
+ import { BOTMANOR_PRODUCT_SLUG as l, PRODUCTS as u, PRODUCT_URLS as d, findProductConfig as f, getProductUrl as p, getProductsWithUrls as m, isAlphaAppShell as h, toAlphaAppUrl as g, toCurrentEstateAppUrl as _ } from "./shared/config/products.js";
5
+ import { CANONICAL_DOCS_HOSTS as v, buildProductDocsUrl as y, canonicalizeDocsOrigin as b, getCatalogDocsOrigin as x, normalizeDocsPath as S, resolveDocsEnvironment as C, resolveProductDocsOrigin as w, toEnvironmentDocsOrigin as T, toTrustedDocsOrigin as E } from "./shared/config/docsUrls.js";
6
+ import { COMMON_SHELL_LESS_ROUTES as D, DEFAULT_SHELL_CONFIG as O, getShellConfig as k, isShellLessRoute as A, shouldShowBreadcrumb as j, shouldShowSidebar as M } from "./shared/config/shellRoutes.js";
7
7
  //#region src/shared/config/index.ts
8
- var A = 20, j = {
8
+ var N = 20, P = {
9
9
  workspace: {
10
10
  defaultBaseUrl: "https://gw-wspace.local.burdenoff.com",
11
11
  graphql: "/workspaces/graphql",
@@ -18,18 +18,18 @@ var A = 20, j = {
18
18
  ws: "/global/graphql/ws"
19
19
  }
20
20
  };
21
- function M(e, t) {
21
+ function F(e, t) {
22
22
  let n = e.endsWith("/") ? e.slice(0, -1) : e;
23
23
  return t === "workspaces" ? `${n}/workspaces/graphql` : `${n}/global/graphql`;
24
24
  }
25
- function N(e) {
26
- return j[e];
25
+ function I(e) {
26
+ return P[e];
27
27
  }
28
- function P(e, t) {
29
- let n = j[t], r = e || F(t) || n.defaultBaseUrl;
28
+ function L(e, t) {
29
+ let n = P[t], r = e || R(t) || n.defaultBaseUrl;
30
30
  return `${r.endsWith("/") ? r.slice(0, -1) : r}${n.graphql}`;
31
31
  }
32
- function F(t) {
32
+ function R(t) {
33
33
  try {
34
34
  let n = e();
35
35
  return t === "workspace" ? n.workspaceBaseUrl : n.globalBaseUrl;
@@ -38,4 +38,4 @@ function F(t) {
38
38
  }
39
39
  }
40
40
  //#endregion
41
- export { l as BOTMANOR_PRODUCT_SLUG, h as CANONICAL_DOCS_HOSTS, w as COMMON_SHELL_LESS_ROUTES, A as DEFAULT_PAGE_SIZE, T as DEFAULT_SHELL_CONFIG, j as GATEWAYS, u as PRODUCTS, r as PRODUCT_SLUG_EMIT, i as PRODUCT_SLUG_RENAMES, d as PRODUCT_URLS, g as buildProductDocsUrl, _ as canonicalizeDocsOrigin, a as emitProductSlug, f as findProductConfig, v as getCatalogDocsOrigin, N as getGatewayConfig, P as getGatewayUrl, M as getGraphQLEndpoint, p as getProductUrl, m as getProductsWithUrls, E as getShellConfig, o as isSameProductSlug, D as isShellLessRoute, s as legacyProductSlug, y as normalizeDocsPath, c as normalizeProductSlug, t as resolveAuthBridgeConfig, b as resolveDocsEnvironment, e as resolveGatewayUrls, x as resolveProductDocsOrigin, n as resolveShellAuthBridgeConfig, O as shouldShowBreadcrumb, k as shouldShowSidebar, S as toEnvironmentDocsOrigin, C as toTrustedDocsOrigin };
41
+ export { l as BOTMANOR_PRODUCT_SLUG, v as CANONICAL_DOCS_HOSTS, D as COMMON_SHELL_LESS_ROUTES, N as DEFAULT_PAGE_SIZE, O as DEFAULT_SHELL_CONFIG, P as GATEWAYS, u as PRODUCTS, r as PRODUCT_SLUG_EMIT, i as PRODUCT_SLUG_RENAMES, d as PRODUCT_URLS, y as buildProductDocsUrl, b as canonicalizeDocsOrigin, a as emitProductSlug, f as findProductConfig, x as getCatalogDocsOrigin, I as getGatewayConfig, L as getGatewayUrl, F as getGraphQLEndpoint, p as getProductUrl, m as getProductsWithUrls, k as getShellConfig, h as isAlphaAppShell, o as isSameProductSlug, A as isShellLessRoute, s as legacyProductSlug, S as normalizeDocsPath, c as normalizeProductSlug, t as resolveAuthBridgeConfig, C as resolveDocsEnvironment, e as resolveGatewayUrls, w as resolveProductDocsOrigin, n as resolveShellAuthBridgeConfig, j as shouldShowBreadcrumb, M as shouldShowSidebar, g as toAlphaAppUrl, _ as toCurrentEstateAppUrl, T as toEnvironmentDocsOrigin, E as toTrustedDocsOrigin };
package/dist/shared.js CHANGED
@@ -11,144 +11,144 @@ import { resolveGatewayUrls as De } from "./shared/config/gatewayUrls.js";
11
11
  import { installGatewayFetchRewrite as Oe, resolveGatewayBases as ke, suppressConsole as Ae } from "./shared/utils/gatewayFetchRewrite.js";
12
12
  import { resolveAuthBridgeConfig as je, resolveShellAuthBridgeConfig as Me } from "./shared/config/authBridgeUrls.js";
13
13
  import { PRODUCT_SLUG_EMIT as Ne, PRODUCT_SLUG_RENAMES as Pe, emitProductSlug as Fe, isSameProductSlug as Ie, legacyProductSlug as Le, normalizeProductSlug as Re } from "./shared/config/productSlug.js";
14
- import { BOTMANOR_PRODUCT_SLUG as ze, PRODUCTS as Be, PRODUCT_URLS as Ve, findProductConfig as He, getProductUrl as Ue, getProductsWithUrls as We } from "./shared/config/products.js";
15
- import { CANONICAL_DOCS_HOSTS as Ge, buildProductDocsUrl as Ke, canonicalizeDocsOrigin as qe, getCatalogDocsOrigin as Je, normalizeDocsPath as Ye, resolveDocsEnvironment as Xe, resolveProductDocsOrigin as Ze, toEnvironmentDocsOrigin as Qe, toTrustedDocsOrigin as $e } from "./shared/config/docsUrls.js";
16
- import { COMMON_SHELL_LESS_ROUTES as et, DEFAULT_SHELL_CONFIG as tt, getShellConfig as nt, isShellLessRoute as rt, shouldShowBreadcrumb as it, shouldShowSidebar as at } from "./shared/config/shellRoutes.js";
17
- import { DEFAULT_PAGE_SIZE as ot, GATEWAYS as st, getGatewayConfig as ct, getGatewayUrl as lt, getGraphQLEndpoint as ut } from "./shared-config.js";
18
- import { getWorkspaceTokenPayload as dt, isWorkspaceTokenValidForContext as ft } from "./shared/graphql/workspaceToken.js";
19
- import { WORKSPACE_CONTEXT_CHANGED as pt, WORKSPACE_CONTEXT_MISMATCH_EVENT as mt, WORKSPACE_WRITE_REFUSED_EVENT as ht, WORKSPACE_WRITE_REFUSED_MESSAGE as gt, WorkspaceContextChangedError as _t, isWorkspaceContextChangedError as vt, readContextInputWorkspaceId as yt } from "./shared/graphql/workspaceOperationGuard.js";
20
- import { BACKEND_ERROR_EVENT as bt, CONNECTION_STATUS_EVENT as xt, dispatchBackendErrorEvent as St, extractBackendError as Ct, isAbortError as wt, isBackendErrorDisplay as Tt, isTransportError as Et, markConnectionHealthy as Dt, shouldToastBackendError as Ot } from "./shared/utils/backendErrors.js";
21
- import { clearGraphqlFetchResponseCache as kt, getStoredAuthToken as At, getStoredLocale as jt, getStoredOrganizationId as Mt, getStoredProjectId as Nt, getStoredWorkspaceId as Pt, getStoredWorkspaceToken as Ft, graphqlFetch as It, resolveGatewayUrl as Lt } from "./shared/graphql/fetch.js";
22
- import { SSELink as Rt } from "./shared/graphql/links/sse-link.js";
23
- import { createGraphQLClient as zt, getGlobalClient as Bt, getWorkspaceClient as Vt, initializeAppClients as Ht, resetAppClients as Ut } from "./shared/graphql/client.js";
24
- import { GatewayProvider as Wt, useGateway as Gt, useGatewayClient as Kt, useSafeGateway as qt, useSafeGatewayClient as Jt } from "./shared/graphql/GatewayContext.js";
25
- import { useHasAuthToken as Yt } from "./shared/graphql/useHasAuthToken.js";
26
- import { WsLink as Xt } from "./shared/graphql/links/ws-link.js";
27
- import { prepareWorkspaceRequest as Zt } from "./shared/graphql/prepareWorkspaceRequest.js";
28
- import { ApolloClient as Qt, ApolloProvider as $t, InMemoryCache as en, gql as tn, useApolloClient as nn, useLazyQuery as rn, useMutation as an, useQuery as on, useSubscription as sn } from "./shared-graphql.js";
29
- import { attemptTokenRefresh as cn, clearAuthSessionStorage as ln, hasAuthGraphQLErrors as un, isAuthGraphQLError as dn, isAuthNetworkError as fn, redirectToLogin as pn } from "./shared/utils/authErrorHandling.js";
30
- import { clearSSoCookie as mn, clearShellSsoCookies as hn, getSSoCookie as gn, isSharedSsoCookieDomain as _n, isTrustedSsoOrigin as vn, readShellSsoCookie as yn, setSSoCookie as bn, setShellSsoCookies as xn } from "./shared/utils/authCookie.js";
31
- import { getNativeBridge as Sn } from "./shared/native/bridge.js";
32
- import { getPlatform as Cn, isAndroid as wn, isElectron as Tn, isIOS as En, isInstalledApp as Dn, isNative as On, isStandalonePWA as kn, isWeb as An, isWebBrowser as jn } from "./shared/native/platform.js";
33
- import { assignLocationWithAllowlist as Mn, isAllowedRedirectUrl as Nn, openUrlInNewTabWithAllowlist as Pn, replaceLocationWithAllowlist as Fn } from "./shared/utils/redirectAllowlist.js";
34
- import { SSORedirectSpinner as In, checkRemoteSLO as Ln, checkSLO as Rn, clearLocalAuthState as zn, getSSORedirectUrl as Bn, redirectToSSO as Vn } from "./shared/components/SSORedirectGuard.js";
35
- import { SSO_DEPOSITED_PARAM as Hn, beginSsoNavigation as Un, buildSsoDepositUrl as Wn, clearSsoDepositState as Gn, clearSsoNavigation as Kn, consumeSsoDepositMarker as qn, isSsoNavigationPending as Jn, markSsoDepositDone as Yn, markSsoDepositPending as Xn, mintSsoSessionTokens as Zn, readSsoDepositState as Qn, shouldAttemptSsoDeposit as $n } from "./shared/utils/ssoDeposit.js";
36
- import { AppInitializer as er, useRegistryHelpers as tr, useShellNavigate as nr } from "./shared/utils/appHelpers.js";
37
- import { LogLevel as rr } from "./shared/logger/types.js";
38
- import { Logger as ir } from "./shared/logger/Logger.js";
39
- import { LogManager as ar, logManager as or } from "./shared/logger/LogManager.js";
40
- import { ConsoleTransport as sr } from "./shared/logger/ConsoleTransport.js";
41
- import { clearUserContext as cr, initializeLogger as lr, setUserContext as ur } from "./shared/utils/loggerInit.js";
42
- import { createProfileScopedStorage as dr, getProfileScopedKey as fr } from "./shared/utils/profileScopedStorage.js";
43
- import { QUOTA_EXHAUSTED_CODE as pr, RESOURCE_CAP_EXCEEDED_CODE as mr, STORAGE_QUOTA_EXCEEDED_CODE as hr, UPGRADE_ERROR_CODES as gr, buildQuotaExhaustedMessage as _r, extractQuotaExhaustedExtensions as vr, extractUpgradeErrorExtensions as yr, isQuotaExhaustedError as br, isUpgradeError as xr } from "./shared/utils/quotaErrors.js";
44
- import { INLINE_ENCODE as Sr, downscaleImage as Cr, selectInlineBase64 as wr } from "./shared/utils/imageDownscale.js";
45
- import { cn as Tr } from "./shared-utils.js";
46
- import { nativeActionSheet as Er, nativeConfirm as Dr, nativeCopyText as Or, nativeImpact as kr, nativeNotify as Ar, nativeOpenUrl as jr, nativeSelection as Mr, nativeShare as Nr, nativeToast as Pr } from "./shared/native/consumers.js";
47
- import { MAIN_CONTENT_ID as Fr, MainLandmark as Ir, PublicLayout as Lr, SkipToContentLink as Rr, focusSkipTarget as zr, useInsideMainLandmark as Br } from "./shared/components/SkipToContent.js";
48
- import { SafeAreaView as Vr } from "./shared/native/SafeAreaView.js";
49
- import { readInitialNetworkStatus as Hr, reduceNetworkStatus as Ur, useNetworkStatus as Wr } from "./shared/native/hooks/useNetworkStatus.js";
50
- import { PULL_TO_REFRESH_THRESHOLD as Gr, computePullOffset as Kr, computePullProgress as qr, usePullToRefresh as Jr } from "./shared/native/hooks/usePullToRefresh.js";
51
- import { useReturnFocus as Yr } from "./shared/hooks/useReturnFocus.js";
52
- import { ActorIdentity as Xr } from "./shared/actors/ActorIdentity.js";
53
- import { buildActorFallback as Zr, useActorProfiles as Qr } from "./shared/actors/useActorProfiles.js";
54
- import { getPushOptInController as $r, recordPushPermissionPromptDismissed as ei, registerPushOptInController as ti, shouldPromptForPushPermission as ni } from "./shared/native/push-optin.js";
55
- import { PUSH_DEVICE_ID_STORAGE_KEY as ri, getOrCreatePushDeviceId as ii, registerPushDevice as ai, unregisterPushDevice as oi } from "./shared/native/push-registration.js";
56
- import { ErrorBoundary as si } from "./shared/components/ErrorBoundary.js";
57
- import { RequireAuth as ci, RequireGuest as li } from "./shared/components/RequireAuth.js";
58
- import { PermissionButton as ui, PermissionGate as di, PermissionLink as fi } from "./shared/components/PermissionGate.js";
59
- import { AccessDenied as pi, PermissionDenied as mi } from "./shared/components/AccessDenied.js";
60
- import { ErrorFallback as hi } from "./shared/components/ErrorFallback.js";
61
- import { LoadingFallback as gi, PageLoadingFallback as _i, SectionLoadingFallback as vi } from "./shared/components/LoadingFallback.js";
62
- import { MicrofrontendErrorBoundary as yi } from "./shared/components/MicrofrontendErrorBoundary.js";
63
- import { ConditionalShell as bi } from "./shared/components/ConditionalShell.js";
64
- import { usePWA as xi } from "./shared/hooks/usePWA.js";
65
- import { PWAInstallBanner as Si } from "./shared/components/PWAInstallBanner.js";
66
- import { ErrorBoundary as Ci } from "./shared/components/AppErrorBoundary.js";
67
- import { FeatureFlagProvider as wi, useFeatureFlags as Ti, useOptionalFeatureFlags as Ei } from "./shared/feature-flags/FeatureFlagProvider.js";
68
- import { useFeatureFlag as Di, useFeatureFlagDetails as Oi, useFeatureFlagValue as ki, useOptionalFeatureFlag as Ai } from "./shared/feature-flags/useFeatureFlag.js";
69
- import { FeatureGate as ji } from "./shared/feature-flags/FeatureGate.js";
14
+ import { BOTMANOR_PRODUCT_SLUG as ze, PRODUCTS as Be, PRODUCT_URLS as Ve, findProductConfig as He, getProductUrl as Ue, getProductsWithUrls as We, isAlphaAppShell as Ge, toAlphaAppUrl as Ke, toCurrentEstateAppUrl as qe } from "./shared/config/products.js";
15
+ import { CANONICAL_DOCS_HOSTS as Je, buildProductDocsUrl as Ye, canonicalizeDocsOrigin as Xe, getCatalogDocsOrigin as Ze, normalizeDocsPath as Qe, resolveDocsEnvironment as $e, resolveProductDocsOrigin as et, toEnvironmentDocsOrigin as tt, toTrustedDocsOrigin as nt } from "./shared/config/docsUrls.js";
16
+ import { COMMON_SHELL_LESS_ROUTES as rt, DEFAULT_SHELL_CONFIG as it, getShellConfig as at, isShellLessRoute as ot, shouldShowBreadcrumb as st, shouldShowSidebar as ct } from "./shared/config/shellRoutes.js";
17
+ import { DEFAULT_PAGE_SIZE as lt, GATEWAYS as ut, getGatewayConfig as dt, getGatewayUrl as ft, getGraphQLEndpoint as pt } from "./shared-config.js";
18
+ import { getWorkspaceTokenPayload as mt, isWorkspaceTokenValidForContext as ht } from "./shared/graphql/workspaceToken.js";
19
+ import { WORKSPACE_CONTEXT_CHANGED as gt, WORKSPACE_CONTEXT_MISMATCH_EVENT as _t, WORKSPACE_WRITE_REFUSED_EVENT as vt, WORKSPACE_WRITE_REFUSED_MESSAGE as yt, WorkspaceContextChangedError as bt, isWorkspaceContextChangedError as xt, readContextInputWorkspaceId as St } from "./shared/graphql/workspaceOperationGuard.js";
20
+ import { BACKEND_ERROR_EVENT as Ct, CONNECTION_STATUS_EVENT as wt, dispatchBackendErrorEvent as Tt, extractBackendError as Et, isAbortError as Dt, isBackendErrorDisplay as Ot, isTransportError as kt, markConnectionHealthy as At, shouldToastBackendError as jt } from "./shared/utils/backendErrors.js";
21
+ import { clearGraphqlFetchResponseCache as Mt, getStoredAuthToken as Nt, getStoredLocale as Pt, getStoredOrganizationId as Ft, getStoredProjectId as It, getStoredWorkspaceId as Lt, getStoredWorkspaceToken as Rt, graphqlFetch as zt, resolveGatewayUrl as Bt } from "./shared/graphql/fetch.js";
22
+ import { SSELink as Vt } from "./shared/graphql/links/sse-link.js";
23
+ import { createGraphQLClient as Ht, getGlobalClient as Ut, getWorkspaceClient as Wt, initializeAppClients as Gt, resetAppClients as Kt } from "./shared/graphql/client.js";
24
+ import { GatewayProvider as qt, useGateway as Jt, useGatewayClient as Yt, useSafeGateway as Xt, useSafeGatewayClient as Zt } from "./shared/graphql/GatewayContext.js";
25
+ import { useHasAuthToken as Qt } from "./shared/graphql/useHasAuthToken.js";
26
+ import { WsLink as $t } from "./shared/graphql/links/ws-link.js";
27
+ import { prepareWorkspaceRequest as en } from "./shared/graphql/prepareWorkspaceRequest.js";
28
+ import { ApolloClient as tn, ApolloProvider as nn, InMemoryCache as rn, gql as an, useApolloClient as on, useLazyQuery as sn, useMutation as cn, useQuery as ln, useSubscription as un } from "./shared-graphql.js";
29
+ import { attemptTokenRefresh as dn, clearAuthSessionStorage as fn, hasAuthGraphQLErrors as pn, isAuthGraphQLError as mn, isAuthNetworkError as hn, redirectToLogin as gn } from "./shared/utils/authErrorHandling.js";
30
+ import { clearSSoCookie as _n, clearShellSsoCookies as vn, getSSoCookie as yn, isSharedSsoCookieDomain as bn, isTrustedSsoOrigin as xn, readShellSsoCookie as Sn, setSSoCookie as Cn, setShellSsoCookies as wn } from "./shared/utils/authCookie.js";
31
+ import { getNativeBridge as Tn } from "./shared/native/bridge.js";
32
+ import { getPlatform as En, isAndroid as Dn, isElectron as On, isIOS as kn, isInstalledApp as An, isNative as jn, isStandalonePWA as Mn, isWeb as Nn, isWebBrowser as Pn } from "./shared/native/platform.js";
33
+ import { assignLocationWithAllowlist as Fn, isAllowedRedirectUrl as In, openUrlInNewTabWithAllowlist as Ln, replaceLocationWithAllowlist as Rn } from "./shared/utils/redirectAllowlist.js";
34
+ import { SSORedirectSpinner as zn, checkRemoteSLO as Bn, checkSLO as Vn, clearLocalAuthState as Hn, getSSORedirectUrl as Un, redirectToSSO as Wn } from "./shared/components/SSORedirectGuard.js";
35
+ import { SSO_DEPOSITED_PARAM as Gn, beginSsoNavigation as Kn, buildSsoDepositUrl as qn, clearSsoDepositState as Jn, clearSsoNavigation as Yn, consumeSsoDepositMarker as Xn, isSsoNavigationPending as Zn, markSsoDepositDone as Qn, markSsoDepositPending as $n, mintSsoSessionTokens as er, readSsoDepositState as tr, shouldAttemptSsoDeposit as nr } from "./shared/utils/ssoDeposit.js";
36
+ import { AppInitializer as rr, useRegistryHelpers as ir, useShellNavigate as ar } from "./shared/utils/appHelpers.js";
37
+ import { LogLevel as or } from "./shared/logger/types.js";
38
+ import { Logger as sr } from "./shared/logger/Logger.js";
39
+ import { LogManager as cr, logManager as lr } from "./shared/logger/LogManager.js";
40
+ import { ConsoleTransport as ur } from "./shared/logger/ConsoleTransport.js";
41
+ import { clearUserContext as dr, initializeLogger as fr, setUserContext as pr } from "./shared/utils/loggerInit.js";
42
+ import { createProfileScopedStorage as mr, getProfileScopedKey as hr } from "./shared/utils/profileScopedStorage.js";
43
+ import { QUOTA_EXHAUSTED_CODE as gr, RESOURCE_CAP_EXCEEDED_CODE as _r, STORAGE_QUOTA_EXCEEDED_CODE as vr, UPGRADE_ERROR_CODES as yr, buildQuotaExhaustedMessage as br, extractQuotaExhaustedExtensions as xr, extractUpgradeErrorExtensions as Sr, isQuotaExhaustedError as Cr, isUpgradeError as wr } from "./shared/utils/quotaErrors.js";
44
+ import { INLINE_ENCODE as Tr, downscaleImage as Er, selectInlineBase64 as Dr } from "./shared/utils/imageDownscale.js";
45
+ import { cn as Or } from "./shared-utils.js";
46
+ import { nativeActionSheet as kr, nativeConfirm as Ar, nativeCopyText as jr, nativeImpact as Mr, nativeNotify as Nr, nativeOpenUrl as Pr, nativeSelection as Fr, nativeShare as Ir, nativeToast as Lr } from "./shared/native/consumers.js";
47
+ import { MAIN_CONTENT_ID as Rr, MainLandmark as zr, PublicLayout as Br, SkipToContentLink as Vr, focusSkipTarget as Hr, useInsideMainLandmark as Ur } from "./shared/components/SkipToContent.js";
48
+ import { SafeAreaView as Wr } from "./shared/native/SafeAreaView.js";
49
+ import { readInitialNetworkStatus as Gr, reduceNetworkStatus as Kr, useNetworkStatus as qr } from "./shared/native/hooks/useNetworkStatus.js";
50
+ import { PULL_TO_REFRESH_THRESHOLD as Jr, computePullOffset as Yr, computePullProgress as Xr, usePullToRefresh as Zr } from "./shared/native/hooks/usePullToRefresh.js";
51
+ import { useReturnFocus as Qr } from "./shared/hooks/useReturnFocus.js";
52
+ import { ActorIdentity as $r } from "./shared/actors/ActorIdentity.js";
53
+ import { buildActorFallback as ei, useActorProfiles as ti } from "./shared/actors/useActorProfiles.js";
54
+ import { getPushOptInController as ni, recordPushPermissionPromptDismissed as ri, registerPushOptInController as ii, shouldPromptForPushPermission as ai } from "./shared/native/push-optin.js";
55
+ import { PUSH_DEVICE_ID_STORAGE_KEY as oi, getOrCreatePushDeviceId as si, registerPushDevice as ci, unregisterPushDevice as li } from "./shared/native/push-registration.js";
56
+ import { ErrorBoundary as ui } from "./shared/components/ErrorBoundary.js";
57
+ import { RequireAuth as di, RequireGuest as fi } from "./shared/components/RequireAuth.js";
58
+ import { PermissionButton as pi, PermissionGate as mi, PermissionLink as hi } from "./shared/components/PermissionGate.js";
59
+ import { AccessDenied as gi, PermissionDenied as _i } from "./shared/components/AccessDenied.js";
60
+ import { ErrorFallback as vi } from "./shared/components/ErrorFallback.js";
61
+ import { LoadingFallback as yi, PageLoadingFallback as bi, SectionLoadingFallback as xi } from "./shared/components/LoadingFallback.js";
62
+ import { MicrofrontendErrorBoundary as Si } from "./shared/components/MicrofrontendErrorBoundary.js";
63
+ import { ConditionalShell as Ci } from "./shared/components/ConditionalShell.js";
64
+ import { usePWA as wi } from "./shared/hooks/usePWA.js";
65
+ import { PWAInstallBanner as Ti } from "./shared/components/PWAInstallBanner.js";
66
+ import { ErrorBoundary as Ei } from "./shared/components/AppErrorBoundary.js";
67
+ import { FeatureFlagProvider as Di, useFeatureFlags as Oi, useOptionalFeatureFlags as ki } from "./shared/feature-flags/FeatureFlagProvider.js";
68
+ import { useFeatureFlag as Ai, useFeatureFlagDetails as ji, useFeatureFlagValue as Mi, useOptionalFeatureFlag as Ni } from "./shared/feature-flags/useFeatureFlag.js";
69
+ import { FeatureGate as Pi } from "./shared/feature-flags/FeatureGate.js";
70
70
  import "./shared-feature-flags.js";
71
- import { ContextConversationWidget as Mi } from "./shared/components/ContextConversationWidget.js";
72
- import { detectPlatform as Ni, formatKeyCombo as Pi, getDisplayKeysForPlatform as Fi, getShortcutLabel as Ii, isMac as Li, isMobileDevice as Ri, isTabletDevice as zi, matchesKeyCombo as Bi, normalizeKey as Vi, normalizePlatformCombo as Hi, parseKeyCombo as Ui, shouldEnableKeyboardShortcuts as Wi, shouldIgnoreShortcut as Gi } from "./shared/keyboard/utils.js";
73
- import { KeyboardHelpDialogWrapper as Ki } from "./shared/components/KeyboardHelpDialogWrapper.js";
74
- import { QuotaMeter as qi } from "./shared/components/QuotaMeter.js";
75
- import { UPGRADE_PROMPT_EVENT as Ji, UpgradePromptModal as Yi, dispatchUpgradePrompt as Xi } from "./shared/components/UpgradePromptModal.js";
76
- import { UpgradeInlineBanner as Zi } from "./shared/components/UpgradeInlineBanner.js";
77
- import { DEFAULT_QUOTA_UPGRADE_COPY as Qi, QuotaUpgradeBridge as $i, captureQuotaDialogOwners as ea, claimQuotaDialog as ta, dispatchProductQuotaExhausted as na, quotaEventKind as ra, resolveQuotaUpgradeCopy as ia, useQuotaDialogOwnership as aa, useQuotaUpgradeBridge as oa, withQuotaDialogOwnership as sa } from "./shared/components/QuotaUpgradeBridge.js";
78
- import { DocsLink as ca, PUBLIC_PRODUCT_DOCS_URL_QUERY as la, fetchRegistryDocsUrl as ua, readRegistryDocsUrl as da, useProductDocsOrigin as fa, useProductDocsUrl as pa } from "./shared/components/DocsLink.js";
79
- import { getNativeEntryRoutes as ma, shouldShowNativeWelcome as ha } from "./shared/native/entry.js";
80
- import { LandingGateView as ga, LandingOrDashboardRedirect as _a, hasStoredValidSession as va, resolveLandingGate as ya } from "./shared/components/LandingOrDashboardRedirect.js";
81
- import { useVoiceInput as ba } from "./shared/components/assistantWidget/useVoiceInput.js";
82
- import { ASSISTANT_WIDGET_TOGGLE_EVENT as xa, AssistantWidget as Sa } from "./shared/components/assistantWidget/AssistantWidget.js";
83
- import { Markdown as Ca } from "./shared/components/Markdown.js";
84
- import { useNativePlatform as wa } from "./shared/native/hooks/useNativePlatform.js";
85
- import { useSafeArea as Ta } from "./shared/native/hooks/useSafeArea.js";
86
- import { useNativeKeyboard as Ea } from "./shared/native/hooks/useNativeKeyboard.js";
87
- import { useAppState as Da } from "./shared/native/hooks/useAppState.js";
88
- import { useDeviceInfo as Oa } from "./shared/native/hooks/useDeviceInfo.js";
89
- import { useHaptics as ka } from "./shared/native/hooks/useHaptics.js";
90
- import { useStatusBar as Aa } from "./shared/native/hooks/useStatusBar.js";
91
- import { resolveActionSheetOutcome as ja, useActionSheet as Ma } from "./shared/native/hooks/useActionSheet.js";
92
- import { useDesktop as Na } from "./shared/native/hooks/useDesktop.js";
93
- import { useDesktopUpdateState as Pa } from "./shared/native/hooks/useDesktopUpdateState.js";
94
- import { useDesktopWindowState as Fa } from "./shared/native/hooks/useDesktopWindowState.js";
95
- import { DesktopUpdateToast as Ia } from "./shared/components/DesktopUpdateToast.js";
71
+ import { ContextConversationWidget as Fi } from "./shared/components/ContextConversationWidget.js";
72
+ import { detectPlatform as Ii, formatKeyCombo as Li, getDisplayKeysForPlatform as Ri, getShortcutLabel as zi, isMac as Bi, isMobileDevice as Vi, isTabletDevice as Hi, matchesKeyCombo as Ui, normalizeKey as Wi, normalizePlatformCombo as Gi, parseKeyCombo as Ki, shouldEnableKeyboardShortcuts as qi, shouldIgnoreShortcut as Ji } from "./shared/keyboard/utils.js";
73
+ import { KeyboardHelpDialogWrapper as Yi } from "./shared/components/KeyboardHelpDialogWrapper.js";
74
+ import { QuotaMeter as Xi } from "./shared/components/QuotaMeter.js";
75
+ import { UPGRADE_PROMPT_EVENT as Zi, UpgradePromptModal as Qi, dispatchUpgradePrompt as $i } from "./shared/components/UpgradePromptModal.js";
76
+ import { UpgradeInlineBanner as ea } from "./shared/components/UpgradeInlineBanner.js";
77
+ import { DEFAULT_QUOTA_UPGRADE_COPY as ta, QuotaUpgradeBridge as na, captureQuotaDialogOwners as ra, claimQuotaDialog as ia, dispatchProductQuotaExhausted as aa, quotaEventKind as oa, resolveQuotaUpgradeCopy as sa, useQuotaDialogOwnership as ca, useQuotaUpgradeBridge as la, withQuotaDialogOwnership as ua } from "./shared/components/QuotaUpgradeBridge.js";
78
+ import { DocsLink as da, PUBLIC_PRODUCT_DOCS_URL_QUERY as fa, fetchRegistryDocsUrl as pa, readRegistryDocsUrl as ma, useProductDocsOrigin as ha, useProductDocsUrl as ga } from "./shared/components/DocsLink.js";
79
+ import { getNativeEntryRoutes as _a, shouldShowNativeWelcome as va } from "./shared/native/entry.js";
80
+ import { LandingGateView as ya, LandingOrDashboardRedirect as ba, hasStoredValidSession as xa, resolveLandingGate as Sa } from "./shared/components/LandingOrDashboardRedirect.js";
81
+ import { useVoiceInput as Ca } from "./shared/components/assistantWidget/useVoiceInput.js";
82
+ import { ASSISTANT_WIDGET_TOGGLE_EVENT as wa, AssistantWidget as Ta } from "./shared/components/assistantWidget/AssistantWidget.js";
83
+ import { Markdown as Ea } from "./shared/components/Markdown.js";
84
+ import { useNativePlatform as Da } from "./shared/native/hooks/useNativePlatform.js";
85
+ import { useSafeArea as Oa } from "./shared/native/hooks/useSafeArea.js";
86
+ import { useNativeKeyboard as ka } from "./shared/native/hooks/useNativeKeyboard.js";
87
+ import { useAppState as Aa } from "./shared/native/hooks/useAppState.js";
88
+ import { useDeviceInfo as ja } from "./shared/native/hooks/useDeviceInfo.js";
89
+ import { useHaptics as Ma } from "./shared/native/hooks/useHaptics.js";
90
+ import { useStatusBar as Na } from "./shared/native/hooks/useStatusBar.js";
91
+ import { resolveActionSheetOutcome as Pa, useActionSheet as Fa } from "./shared/native/hooks/useActionSheet.js";
92
+ import { useDesktop as Ia } from "./shared/native/hooks/useDesktop.js";
93
+ import { useDesktopUpdateState as La } from "./shared/native/hooks/useDesktopUpdateState.js";
94
+ import { useDesktopWindowState as Ra } from "./shared/native/hooks/useDesktopWindowState.js";
95
+ import { DesktopUpdateToast as za } from "./shared/components/DesktopUpdateToast.js";
96
96
  import "./shared-components.js";
97
- import { FLUIDGRIDS_RYBBIT_EVENTS as La } from "./shared/events/fluidgrids.js";
98
- import { DevtoolsSink as Ra } from "./shared/events/sinks/DevtoolsSink.js";
99
- import { BroadcastChannelSink as za } from "./shared/events/sinks/BroadcastChannelSink.js";
100
- import { BackendAuditSink as Ba } from "./shared/events/sinks/BackendAuditSink.js";
101
- import { compileRybbitRoutePattern as Va, isRybbitSkippedRoute as Ha } from "./shared/events/sinks/rybbitRoutes.js";
102
- import { AnalyticsConsentBanner as Ua, CONSENT_BANNER_OFFSET_VAR as Wa, RybbitSink as Ga, publishConsentBannerOffset as Ka, readAnalyticsConsent as qa, readAnalyticsConsentChoice as Ja, setAnalyticsConsent as Ya } from "./shared/events/sinks/RybbitSink.js";
103
- import { OtelBrowserSink as Xa } from "./shared/events/sinks/OtelBrowserSink.js";
104
- import { EventBusProvider as Za, createEventBus as Qa, useEvent as $a, useEventBus as eo, useEventEmitter as to } from "./shared-events.js";
105
- import { useDebounce as no } from "./shared/hooks/useDebounce.js";
106
- import { useThrottle as ro } from "./shared/hooks/useThrottle.js";
107
- import { BREAKPOINTS as io, useBreakpoint as ao, useMobileBreakpoint as oo } from "./shared/hooks/useBreakpoint.js";
108
- import { useOnClickOutside as so, useOnClickOutsideWithRef as co } from "./shared/hooks/useOnClickOutside.js";
109
- import { useKeyPress as lo, useKeyboardShortcut as uo } from "./shared/hooks/useKeyPress.js";
110
- import { useExclusiveMenu as fo } from "./shared/hooks/useExclusiveMenu.js";
111
- import { useLocalStorage as po } from "./shared/hooks/useLocalStorage.js";
112
- import { useSessionStorage as mo } from "./shared/hooks/useSessionStorage.js";
113
- import { usePrevious as ho, usePreviousDistinct as go, usePreviousHistory as _o } from "./shared/hooks/usePrevious.js";
114
- import { useConditionalToggle as vo, useToggle as yo, useToggleObject as bo } from "./shared/hooks/useToggle.js";
115
- import { usePagination as xo } from "./shared/hooks/usePagination.js";
116
- import { useAsync as So, useAsyncImmediate as Co } from "./shared/hooks/useAsync.js";
117
- import { MODIFIER_KEYS as wo, PLATFORM_TYPES as To } from "./shared/keyboard/types.js";
118
- import { useKeyboardShortcuts as Eo } from "./shared/keyboard/useKeyboardShortcuts.js";
119
- import { useHotkeys as Do } from "./shared/keyboard/useHotkeys.js";
120
- import { useShortcutHelp as Oo } from "./shared/keyboard/useShortcutHelp.js";
121
- import { GLOBAL_SHORTCUT_CATEGORIES as ko, createGlobalShortcuts as Ao, getGlobalShortcutsByCategory as jo, mergeShortcuts as Mo } from "./shared/keyboard/globalShortcuts.js";
122
- import { useLogger as No } from "./shared/logger/useLogger.js";
123
- import { useHasAnimated as Po } from "./shared/hooks/useHasAnimated.js";
124
- import { useReferralAttribution as Fo } from "./shared/hooks/useReferralAttribution.js";
125
- import { useRecordProductVisit as Io } from "./shared/hooks/useRecordProductVisit.js";
126
- import { usePushDeviceRegistration as Lo } from "./shared/hooks/usePushDeviceRegistration.js";
127
- import { QUOTA_EXHAUSTED_EVENT as Ro, dispatchQuotaExhausted as zo, useQuotaErrorToast as Bo } from "./shared/hooks/useQuotaErrorToast.js";
128
- import { PLAN_USAGE_SNAPSHOT_EVENT as Vo, publishPlanUsageSnapshot as Ho, useUpgradePrompt as Uo } from "./shared/hooks/useUpgradePrompt.js";
129
- import { appendContextToPath as Wo, useCurrentContextSearchParams as Go } from "./shared/hooks/useCurrentContextSearchParams.js";
130
- import { UNSAVED_CHANGE_LABEL_MAX as Ko, listUnsavedChanges as qo, registerUnsavedChange as Jo, unsavedChangesBlocking as Yo, useUnsavedChanges as Xo } from "./shared/navigation/unsavedChanges.js";
131
- import { MicrofrontendContext as Zo, useMicrofrontendContext as Qo } from "./shared-hooks.js";
132
- import { withTourProgressStatus as $o } from "./shared/tours/progress.js";
133
- import { detectDeviceType as es, getResponsiveSelector as ts } from "./shared/tours/types.js";
134
- import { useTourPlayer as ns } from "./shared/tours/useTourPlayer.js";
135
- import { TourSpotlight as rs } from "./shared/tours/TourSpotlight.js";
136
- import { TourTooltip as is } from "./shared/tours/TourTooltip.js";
137
- import { TourPlayerProvider as as, useIsTourPlaying as os, useStartTour as ss, useStopTour as cs, useTourPlayerContext as ls } from "./shared/tours/TourPlayerProvider.js";
138
- import { TourPlayer as us, TourTriggerButton as ds, usePlayTour as fs } from "./shared/tours/TourPlayer.js";
139
- import { BIGCONSOLE_TOUR_ROUTE_CATALOG as ps, BUILDMYIQ_TOUR_ROUTE_CATALOG as ms, BUILT_IN_TOUR_ROUTE_CATALOGS as hs, COLLABKIN_TOUR_ROUTE_CATALOG as gs, FLUIDGRIDS_TOUR_ROUTE_CATALOG as _s, INTELWATCHTOWER_TOUR_ROUTE_CATALOG as vs, MANUFACTUREDOPS_TOUR_ROUTE_CATALOG as ys, VIBECONTROLS_TOUR_ROUTE_CATALOG as bs, getBuiltInTourRouteCatalog as xs, listBuiltInTourRouteCatalogProductIds as Ss } from "./shared/tours/catalogs.js";
140
- import { createTourPageIdResolver as Cs, getTourContextRank as ws, getTourRouteCatalog as Ts, getTourRouteCatalogVersion as Es, getTourRouteModules as Ds, getTourRoutePages as Os, hasRegisteredTourRouteCatalog as ks, isTourVisibleForContext as As, normalizeTourPath as js, registerTourRouteCatalog as Ms, resolveTourTargetPath as Ns, subscribeTourRouteCatalogs as Ps } from "./shared/tours/routeCatalog.js";
141
- import { ToursProvider as Fs, useAutoStartTour as Is, useSafeToursContext as Ls, useTours as Rs, useToursContext as zs } from "./shared/tours/ToursContext.js";
142
- import { TourInitializer as Bs } from "./shared/tours/TourInitializer.js";
143
- import { useRegisterTourRouteCatalog as Vs, useTourRouteCatalog as Hs } from "./shared/tours/useTourRouteCatalog.js";
144
- import { AppShellProvider as Us, resolveAppShellObservabilityConfig as Ws } from "./shared/providers/AppShellProvider.js";
145
- import { MicrofrontendProvider as Gs } from "./shared-providers.js";
146
- import { TourTrigger as Ks } from "./shared/tours/TourTrigger.js";
97
+ import { FLUIDGRIDS_RYBBIT_EVENTS as Ba } from "./shared/events/fluidgrids.js";
98
+ import { DevtoolsSink as Va } from "./shared/events/sinks/DevtoolsSink.js";
99
+ import { BroadcastChannelSink as Ha } from "./shared/events/sinks/BroadcastChannelSink.js";
100
+ import { BackendAuditSink as Ua } from "./shared/events/sinks/BackendAuditSink.js";
101
+ import { compileRybbitRoutePattern as Wa, isRybbitSkippedRoute as Ga } from "./shared/events/sinks/rybbitRoutes.js";
102
+ import { AnalyticsConsentBanner as Ka, CONSENT_BANNER_OFFSET_VAR as qa, RybbitSink as Ja, publishConsentBannerOffset as Ya, readAnalyticsConsent as Xa, readAnalyticsConsentChoice as Za, setAnalyticsConsent as Qa } from "./shared/events/sinks/RybbitSink.js";
103
+ import { OtelBrowserSink as $a } from "./shared/events/sinks/OtelBrowserSink.js";
104
+ import { EventBusProvider as eo, createEventBus as to, useEvent as no, useEventBus as ro, useEventEmitter as io } from "./shared-events.js";
105
+ import { useDebounce as ao } from "./shared/hooks/useDebounce.js";
106
+ import { useThrottle as oo } from "./shared/hooks/useThrottle.js";
107
+ import { BREAKPOINTS as so, useBreakpoint as co, useMobileBreakpoint as lo } from "./shared/hooks/useBreakpoint.js";
108
+ import { useOnClickOutside as uo, useOnClickOutsideWithRef as fo } from "./shared/hooks/useOnClickOutside.js";
109
+ import { useKeyPress as po, useKeyboardShortcut as mo } from "./shared/hooks/useKeyPress.js";
110
+ import { useExclusiveMenu as ho } from "./shared/hooks/useExclusiveMenu.js";
111
+ import { useLocalStorage as go } from "./shared/hooks/useLocalStorage.js";
112
+ import { useSessionStorage as _o } from "./shared/hooks/useSessionStorage.js";
113
+ import { usePrevious as vo, usePreviousDistinct as yo, usePreviousHistory as bo } from "./shared/hooks/usePrevious.js";
114
+ import { useConditionalToggle as xo, useToggle as So, useToggleObject as Co } from "./shared/hooks/useToggle.js";
115
+ import { usePagination as wo } from "./shared/hooks/usePagination.js";
116
+ import { useAsync as To, useAsyncImmediate as Eo } from "./shared/hooks/useAsync.js";
117
+ import { MODIFIER_KEYS as Do, PLATFORM_TYPES as Oo } from "./shared/keyboard/types.js";
118
+ import { useKeyboardShortcuts as ko } from "./shared/keyboard/useKeyboardShortcuts.js";
119
+ import { useHotkeys as Ao } from "./shared/keyboard/useHotkeys.js";
120
+ import { useShortcutHelp as jo } from "./shared/keyboard/useShortcutHelp.js";
121
+ import { GLOBAL_SHORTCUT_CATEGORIES as Mo, createGlobalShortcuts as No, getGlobalShortcutsByCategory as Po, mergeShortcuts as Fo } from "./shared/keyboard/globalShortcuts.js";
122
+ import { useLogger as Io } from "./shared/logger/useLogger.js";
123
+ import { useHasAnimated as Lo } from "./shared/hooks/useHasAnimated.js";
124
+ import { useReferralAttribution as Ro } from "./shared/hooks/useReferralAttribution.js";
125
+ import { useRecordProductVisit as zo } from "./shared/hooks/useRecordProductVisit.js";
126
+ import { usePushDeviceRegistration as Bo } from "./shared/hooks/usePushDeviceRegistration.js";
127
+ import { QUOTA_EXHAUSTED_EVENT as Vo, dispatchQuotaExhausted as Ho, useQuotaErrorToast as Uo } from "./shared/hooks/useQuotaErrorToast.js";
128
+ import { PLAN_USAGE_SNAPSHOT_EVENT as Wo, publishPlanUsageSnapshot as Go, useUpgradePrompt as Ko } from "./shared/hooks/useUpgradePrompt.js";
129
+ import { appendContextToPath as qo, useCurrentContextSearchParams as Jo } from "./shared/hooks/useCurrentContextSearchParams.js";
130
+ import { UNSAVED_CHANGE_LABEL_MAX as Yo, listUnsavedChanges as Xo, registerUnsavedChange as Zo, unsavedChangesBlocking as Qo, useUnsavedChanges as $o } from "./shared/navigation/unsavedChanges.js";
131
+ import { MicrofrontendContext as es, useMicrofrontendContext as ts } from "./shared-hooks.js";
132
+ import { withTourProgressStatus as ns } from "./shared/tours/progress.js";
133
+ import { detectDeviceType as rs, getResponsiveSelector as is } from "./shared/tours/types.js";
134
+ import { useTourPlayer as as } from "./shared/tours/useTourPlayer.js";
135
+ import { TourSpotlight as os } from "./shared/tours/TourSpotlight.js";
136
+ import { TourTooltip as ss } from "./shared/tours/TourTooltip.js";
137
+ import { TourPlayerProvider as cs, useIsTourPlaying as ls, useStartTour as us, useStopTour as ds, useTourPlayerContext as fs } from "./shared/tours/TourPlayerProvider.js";
138
+ import { TourPlayer as ps, TourTriggerButton as ms, usePlayTour as hs } from "./shared/tours/TourPlayer.js";
139
+ import { BIGCONSOLE_TOUR_ROUTE_CATALOG as gs, BUILDMYIQ_TOUR_ROUTE_CATALOG as _s, BUILT_IN_TOUR_ROUTE_CATALOGS as vs, COLLABKIN_TOUR_ROUTE_CATALOG as ys, FLUIDGRIDS_TOUR_ROUTE_CATALOG as bs, INTELWATCHTOWER_TOUR_ROUTE_CATALOG as xs, MANUFACTUREDOPS_TOUR_ROUTE_CATALOG as Ss, VIBECONTROLS_TOUR_ROUTE_CATALOG as Cs, getBuiltInTourRouteCatalog as ws, listBuiltInTourRouteCatalogProductIds as Ts } from "./shared/tours/catalogs.js";
140
+ import { createTourPageIdResolver as Es, getTourContextRank as Ds, getTourRouteCatalog as Os, getTourRouteCatalogVersion as ks, getTourRouteModules as As, getTourRoutePages as js, hasRegisteredTourRouteCatalog as Ms, isTourVisibleForContext as Ns, normalizeTourPath as Ps, registerTourRouteCatalog as Fs, resolveTourTargetPath as Is, subscribeTourRouteCatalogs as Ls } from "./shared/tours/routeCatalog.js";
141
+ import { ToursProvider as Rs, useAutoStartTour as zs, useSafeToursContext as Bs, useTours as Vs, useToursContext as Hs } from "./shared/tours/ToursContext.js";
142
+ import { TourInitializer as Us } from "./shared/tours/TourInitializer.js";
143
+ import { useRegisterTourRouteCatalog as Ws, useTourRouteCatalog as Gs } from "./shared/tours/useTourRouteCatalog.js";
144
+ import { AppShellProvider as Ks, resolveAppShellObservabilityConfig as qs } from "./shared/providers/AppShellProvider.js";
145
+ import { MicrofrontendProvider as Js } from "./shared-providers.js";
146
+ import { TourTrigger as Ys } from "./shared/tours/TourTrigger.js";
147
147
  import "./shared-tours.js";
148
- import { acknowledgeNativePurchase as qs, getNativeProducts as Js, getNativePurchases as Ys, installNativeIAP as Xs, isNativeIAPAvailable as Zs, purchaseNativeProduct as Qs, restoreNativePurchases as $s } from "./shared/native/purchases.js";
148
+ import { acknowledgeNativePurchase as Xs, getNativeProducts as Zs, getNativePurchases as Qs, installNativeIAP as $s, isNativeIAPAvailable as ec, purchaseNativeProduct as tc, restoreNativePurchases as nc } from "./shared/native/purchases.js";
149
149
  import "./shared-native.js";
150
150
  import "./shared/actors/index.js";
151
151
  //#region src/shared/index.ts
152
- var ec = "1.0.0";
152
+ var rc = "1.0.0";
153
153
  //#endregion
154
- export { xa as ASSISTANT_WIDGET_TOGGLE_EVENT, pi as AccessDenied, Xr as ActorIdentity, Ua as AnalyticsConsentBanner, Qt as ApolloClient, $t as ApolloProvider, Ci as AppErrorBoundary, er as AppInitializer, Us as AppShellProvider, Sa as AssistantWidget, bt as BACKEND_ERROR_EVENT, ps as BIGCONSOLE_TOUR_ROUTE_CATALOG, ze as BOTMANOR_PRODUCT_SLUG, io as BREAKPOINTS, ms as BUILDMYIQ_TOUR_ROUTE_CATALOG, hs as BUILT_IN_TOUR_ROUTE_CATALOGS, Ba as BackendAuditSink, za as BroadcastChannelSink, Ge as CANONICAL_DOCS_HOSTS, m as CHART_SERIES_COUNT, gs as COLLABKIN_TOUR_ROUTE_CATALOG, et as COMMON_SHELL_LESS_ROUTES, xt as CONNECTION_STATUS_EVENT, Wa as CONSENT_BANNER_OFFSET_VAR, bi as ConditionalShell, sr as ConsoleTransport, Mi as ContextConversationWidget, h as DATA_TYPES, ot as DEFAULT_PAGE_SIZE, Qi as DEFAULT_QUOTA_UPGRADE_COPY, tt as DEFAULT_SHELL_CONFIG, te as DESKTOP_UPDATE_UNSUPPORTED, ne as DESKTOP_WINDOW_STATE_DEFAULT, Ia as DesktopUpdateToast, Ra as DevtoolsSink, ca as DocsLink, g as EDGE_KINDS, si as ErrorBoundary, hi as ErrorFallback, Za as EventBusProvider, ec as FE_SHARED_VERSION, La as FLUIDGRIDS_RYBBIT_EVENTS, _s as FLUIDGRIDS_TOUR_ROUTE_CATALOG, wi as FeatureFlagProvider, ji as FeatureGate, st as GATEWAYS, ko as GLOBAL_SHORTCUT_CATEGORIES, Wt as GatewayProvider, Sr as INLINE_ENCODE, vs as INTELWATCHTOWER_TOUR_ROUTE_CATALOG, en as InMemoryCache, Ki as KeyboardHelpDialogWrapper, ga as LandingGateView, _a as LandingOrDashboardRedirect, gi as LoadingFallback, rr as LogLevel, ar as LogManager, ir as Logger, Fr as MAIN_CONTENT_ID, ys as MANUFACTUREDOPS_TOUR_ROUTE_CATALOG, wo as MODIFIER_KEYS, Ir as MainLandmark, Ca as Markdown, Zo as MicrofrontendContext, yi as MicrofrontendErrorBoundary, Gs as MicrofrontendProvider, _ as NODE_CATEGORIES, v as NODE_STATES, Xa as OtelBrowserSink, Vo as PLAN_USAGE_SNAPSHOT_EVENT, To as PLATFORM_TYPES, Be as PRODUCTS, Ne as PRODUCT_SLUG_EMIT, Pe as PRODUCT_SLUG_RENAMES, Ve as PRODUCT_URLS, la as PUBLIC_PRODUCT_DOCS_URL_QUERY, Gr as PULL_TO_REFRESH_THRESHOLD, ri as PUSH_DEVICE_ID_STORAGE_KEY, Si as PWAInstallBanner, _i as PageLoadingFallback, ui as PermissionButton, mi as PermissionDenied, di as PermissionGate, fi as PermissionLink, Lr as PublicLayout, pr as QUOTA_EXHAUSTED_CODE, Ro as QUOTA_EXHAUSTED_EVENT, qi as QuotaMeter, $i as QuotaUpgradeBridge, mr as RESOURCE_CAP_EXCEEDED_CODE, ci as RequireAuth, li as RequireGuest, Ga as RybbitSink, Rt as SSELink, In as SSORedirectSpinner, Hn as SSO_DEPOSITED_PARAM, hr as STORAGE_QUOTA_EXCEEDED_CODE, Vr as SafeAreaView, vi as SectionLoadingFallback, Rr as SkipToContentLink, Bs as TourInitializer, us as TourPlayer, as as TourPlayerProvider, rs as TourSpotlight, is as TourTooltip, Ks as TourTrigger, ds as TourTriggerButton, Fs as ToursProvider, Ko as UNSAVED_CHANGE_LABEL_MAX, gr as UPGRADE_ERROR_CODES, Ji as UPGRADE_PROMPT_EVENT, Zi as UpgradeInlineBanner, Yi as UpgradePromptModal, bs as VIBECONTROLS_TOUR_ROUTE_CATALOG, pt as WORKSPACE_CONTEXT_CHANGED, mt as WORKSPACE_CONTEXT_MISMATCH_EVENT, ht as WORKSPACE_WRITE_REFUSED_EVENT, gt as WORKSPACE_WRITE_REFUSED_MESSAGE, _t as WorkspaceContextChangedError, Xt as WsLink, qs as acknowledgeNativePurchase, r as alertTokens, Wo as appendContextToPath, Mn as assignLocationWithAllowlist, cn as attemptTokenRefresh, Un as beginSsoNavigation, re as bootDesktopShell, Zr as buildActorFallback, Ke as buildProductDocsUrl, _r as buildQuotaExhaustedMessage, Wn as buildSsoDepositUrl, qe as canonicalizeDocsOrigin, j as capitalizeFirst, M as capitalizeWords, ea as captureQuotaDialogOwners, i as categoryTokens, y as chartSeriesColor, b as chartSeriesIndex, Ln as checkRemoteSLO, Rn as checkSLO, ta as claimQuotaDialog, ln as clearAuthSessionStorage, kt as clearGraphqlFetchResponseCache, zn as clearLocalAuthState, mn as clearSSoCookie, hn as clearShellSsoCookies, Gn as clearSsoDepositState, Kn as clearSsoNavigation, cr as clearUserContext, Tr as cn, Va as compileRybbitRoutePattern, Kr as computePullOffset, qr as computePullProgress, qn as consumeSsoDepositMarker, n as createApolloClient, Qa as createEventBus, Ao as createGlobalShortcuts, zt as createGraphQLClient, dr as createProfileScopedStorage, Cs as createTourPageIdResolver, x as dataTypeColor, S as dataTypeTextClasses, ie as desktopCheckForUpdates, ae as desktopDeepLinkToPath, oe as desktopInstallUpdate, se as desktopNotify, ce as desktopOpenExternal, le as desktopSetBadgeCount, ue as desktopSetLocale, de as desktopSetTheme, fe as desktopSetTrayQuickActions, es as detectDeviceType, Ni as detectPlatform, St as dispatchBackendErrorEvent, na as dispatchProductQuotaExhausted, zo as dispatchQuotaExhausted, Xi as dispatchUpgradePrompt, Cr as downscaleImage, C as edgeColor, Fe as emitProductSlug, Ct as extractBackendError, vr as extractQuotaExhaustedExtensions, yr as extractUpgradeErrorExtensions, ua as fetchRegistryDocsUrl, He as findProductConfig, zr as focusSkipTarget, N as formatBytes, P as formatCompactNumber, F as formatCurrency, I as formatCurrencyCompact, L as formatDate, R as formatDateTime, z as formatDuration, Pi as formatKeyCombo, B as formatList, V as formatNumber, H as formatOrdinal, U as formatPercentage, W as formatRelativeTime, G as formatTime, a as getAlertTokens, xs as getBuiltInTourRouteCatalog, $ as getCapacitorPlatform, Je as getCatalogDocsOrigin, o as getCategoryTokens, pe as getDesktopAuthBridgeConfig, me as getDesktopBridge, he as getDesktopGatewayBases, ge as getDesktopGatewayUrls, _e as getDesktopRuntimeConfig, ve as getDesktopUpdateState, ye as getDesktopWindowState, Fi as getDisplayKeysForPlatform, ct as getGatewayConfig, lt as getGatewayUrl, Bt as getGlobalClient, jo as getGlobalShortcutsByCategory, ut as getGraphQLEndpoint, be as getLegacyDesktopRuntime, Sn as getNativeBridge, ma as getNativeEntryRoutes, Js as getNativeProducts, Ys as getNativePurchases, ii as getOrCreatePushDeviceId, Cn as getPlatform, Ue as getProductUrl, We as getProductsWithUrls, fr as getProfileScopedKey, s as getProgressTokens, $r as getPushOptInController, ts as getResponsiveSelector, Bn as getSSORedirectUrl, gn as getSSoCookie, nt as getShellConfig, Ii as getShortcutLabel, c as getStatusBadgeTokens, l as getStatusTokens, At as getStoredAuthToken, jt as getStoredLocale, Mt as getStoredOrganizationId, Nt as getStoredProjectId, Pt as getStoredWorkspaceId, Ft as getStoredWorkspaceToken, ws as getTourContextRank, Ts as getTourRouteCatalog, Es as getTourRouteCatalogVersion, Ds as getTourRouteModules, Os as getTourRoutePages, u as getTrendTokens, Vt as getWorkspaceClient, dt as getWorkspaceTokenPayload, tn as gql, It as graphqlFetch, un as hasAuthGraphQLErrors, ks as hasRegisteredTourRouteCatalog, va as hasStoredValidSession, Ht as initializeAppClients, lr as initializeLogger, xe as installDesktopDeepLinkHandler, Se as installDesktopNavigateHandler, Oe as installGatewayFetchRewrite, Xs as installNativeIAP, wt as isAbortError, Nn as isAllowedRedirectUrl, wn as isAndroid, dn as isAuthGraphQLError, fn as isAuthNetworkError, Tt as isBackendErrorDisplay, ee as isCapacitorNative, Z as isChunkLoadError, Ce as isDesktop, Tn as isElectron, En as isIOS, Dn as isInstalledApp, Li as isMac, Ri as isMobileDevice, On as isNative, Zs as isNativeIAPAvailable, br as isQuotaExhaustedError, Ha as isRybbitSkippedRoute, Ie as isSameProductSlug, _n as isSharedSsoCookieDomain, rt as isShellLessRoute, Jn as isSsoNavigationPending, kn as isStandalonePWA, zi as isTabletDevice, As as isTourVisibleForContext, Et as isTransportError, vn as isTrustedSsoOrigin, xr as isUpgradeError, An as isWeb, jn as isWebBrowser, vt as isWorkspaceContextChangedError, ft as isWorkspaceTokenValidForContext, Q as lazyWithRetry, Le as legacyProductSlug, Ss as listBuiltInTourRouteCatalogProductIds, qo as listUnsavedChanges, or as logManager, Dt as markConnectionHealthy, Yn as markSsoDepositDone, Xn as markSsoDepositPending, Bi as matchesKeyCombo, Mo as mergeShortcuts, Zn as mintSsoSessionTokens, Er as nativeActionSheet, Dr as nativeConfirm, Or as nativeCopyText, kr as nativeImpact, Ar as nativeNotify, jr as nativeOpenUrl, Mr as nativeSelection, Nr as nativeShare, Pr as nativeToast, w as nodeCategoryClasses, T as nodeCategoryColor, E as nodeCategorySubtleColor, D as nodeStateColor, O as nodeStateRingClasses, Ye as normalizeDocsPath, Vi as normalizeKey, Hi as normalizePlatformCombo, Re as normalizeProductSlug, js as normalizeTourPath, we as onDesktopUpdateState, Te as onDesktopWindowState, Pn as openUrlInNewTabWithAllowlist, Ui as parseKeyCombo, K as pluralize, Zt as prepareWorkspaceRequest, d as progressTokens, Ka as publishConsentBannerOffset, Ho as publishPlanUsageSnapshot, Qs as purchaseNativeProduct, ra as quotaEventKind, qa as readAnalyticsConsent, Ja as readAnalyticsConsentChoice, yt as readContextInputWorkspaceId, Hr as readInitialNetworkStatus, da as readRegistryDocsUrl, yn as readShellSsoCookie, Qn as readSsoDepositState, ei as recordPushPermissionPromptDismissed, pn as redirectToLogin, Vn as redirectToSSO, Ur as reduceNetworkStatus, Ee as registerDesktopNavigator, ai as registerPushDevice, ti as registerPushOptInController, Ms as registerTourRouteCatalog, Jo as registerUnsavedChange, Fn as replaceLocationWithAllowlist, Ut as resetAppClients, ja as resolveActionSheetOutcome, Ws as resolveAppShellObservabilityConfig, je as resolveAuthBridgeConfig, Xe as resolveDocsEnvironment, ke as resolveGatewayBases, Lt as resolveGatewayUrl, De as resolveGatewayUrls, ya as resolveLandingGate, Ze as resolveProductDocsOrigin, ia as resolveQuotaUpgradeCopy, Me as resolveShellAuthBridgeConfig, Ns as resolveTourTargetPath, $s as restoreNativePurchases, wr as selectInlineBase64, Ya as setAnalyticsConsent, bn as setSSoCookie, xn as setShellSsoCookies, ur as setUserContext, $n as shouldAttemptSsoDeposit, Wi as shouldEnableKeyboardShortcuts, Gi as shouldIgnoreShortcut, ni as shouldPromptForPushPermission, it as shouldShowBreadcrumb, ha as shouldShowNativeWelcome, at as shouldShowSidebar, Ot as shouldToastBackendError, q as slugify, f as statusTokens, Ps as subscribeTourRouteCatalogs, Ae as suppressConsole, J as toCamelCase, k as toDataType, Qe as toEnvironmentDocsOrigin, A as toNodeCategory, Y as toPascalCase, $e as toTrustedDocsOrigin, p as trendTokens, X as truncateText, oi as unregisterPushDevice, Yo as unsavedChangesBlocking, Ma as useActionSheet, Qr as useActorProfiles, nn as useApolloClient, Da as useAppState, So as useAsync, Co as useAsyncImmediate, Is as useAutoStartTour, ao as useBreakpoint, vo as useConditionalToggle, e as useCopyToClipboard, Go as useCurrentContextSearchParams, no as useDebounce, Na as useDesktop, Pa as useDesktopUpdateState, Fa as useDesktopWindowState, Oa as useDeviceInfo, $a as useEvent, eo as useEventBus, to as useEventEmitter, fo as useExclusiveMenu, Di as useFeatureFlag, Oi as useFeatureFlagDetails, ki as useFeatureFlagValue, Ti as useFeatureFlags, Gt as useGateway, Kt as useGatewayClient, ka as useHaptics, Po as useHasAnimated, Yt as useHasAuthToken, Do as useHotkeys, Br as useInsideMainLandmark, os as useIsTourPlaying, lo as useKeyPress, uo as useKeyboardShortcut, Eo as useKeyboardShortcuts, rn as useLazyQuery, po as useLocalStorage, No as useLogger, t as useMediaQuery, Qo as useMicrofrontendContext, oo as useMobileBreakpoint, an as useMutation, Ea as useNativeKeyboard, wa as useNativePlatform, Wr as useNetworkStatus, so as useOnClickOutside, co as useOnClickOutsideWithRef, Ai as useOptionalFeatureFlag, Ei as useOptionalFeatureFlags, xi as usePWA, xo as usePagination, fs as usePlayTour, ho as usePrevious, go as usePreviousDistinct, _o as usePreviousHistory, fa as useProductDocsOrigin, pa as useProductDocsUrl, Jr as usePullToRefresh, Lo as usePushDeviceRegistration, on as useQuery, aa as useQuotaDialogOwnership, Bo as useQuotaErrorToast, oa as useQuotaUpgradeBridge, Io as useRecordProductVisit, Fo as useReferralAttribution, Vs as useRegisterTourRouteCatalog, tr as useRegistryHelpers, Yr as useReturnFocus, Ta as useSafeArea, qt as useSafeGateway, Jt as useSafeGatewayClient, Ls as useSafeToursContext, mo as useSessionStorage, nr as useShellNavigate, Oo as useShortcutHelp, ss as useStartTour, Aa as useStatusBar, cs as useStopTour, sn as useSubscription, ro as useThrottle, yo as useToggle, bo as useToggleObject, ns as useTourPlayer, ls as useTourPlayerContext, Hs as useTourRouteCatalog, Rs as useTours, zs as useToursContext, Xo as useUnsavedChanges, Uo as useUpgradePrompt, ba as useVoiceInput, sa as withQuotaDialogOwnership, $o as withTourProgressStatus };
154
+ export { wa as ASSISTANT_WIDGET_TOGGLE_EVENT, gi as AccessDenied, $r as ActorIdentity, Ka as AnalyticsConsentBanner, tn as ApolloClient, nn as ApolloProvider, Ei as AppErrorBoundary, rr as AppInitializer, Ks as AppShellProvider, Ta as AssistantWidget, Ct as BACKEND_ERROR_EVENT, gs as BIGCONSOLE_TOUR_ROUTE_CATALOG, ze as BOTMANOR_PRODUCT_SLUG, so as BREAKPOINTS, _s as BUILDMYIQ_TOUR_ROUTE_CATALOG, vs as BUILT_IN_TOUR_ROUTE_CATALOGS, Ua as BackendAuditSink, Ha as BroadcastChannelSink, Je as CANONICAL_DOCS_HOSTS, m as CHART_SERIES_COUNT, ys as COLLABKIN_TOUR_ROUTE_CATALOG, rt as COMMON_SHELL_LESS_ROUTES, wt as CONNECTION_STATUS_EVENT, qa as CONSENT_BANNER_OFFSET_VAR, Ci as ConditionalShell, ur as ConsoleTransport, Fi as ContextConversationWidget, h as DATA_TYPES, lt as DEFAULT_PAGE_SIZE, ta as DEFAULT_QUOTA_UPGRADE_COPY, it as DEFAULT_SHELL_CONFIG, te as DESKTOP_UPDATE_UNSUPPORTED, ne as DESKTOP_WINDOW_STATE_DEFAULT, za as DesktopUpdateToast, Va as DevtoolsSink, da as DocsLink, g as EDGE_KINDS, ui as ErrorBoundary, vi as ErrorFallback, eo as EventBusProvider, rc as FE_SHARED_VERSION, Ba as FLUIDGRIDS_RYBBIT_EVENTS, bs as FLUIDGRIDS_TOUR_ROUTE_CATALOG, Di as FeatureFlagProvider, Pi as FeatureGate, ut as GATEWAYS, Mo as GLOBAL_SHORTCUT_CATEGORIES, qt as GatewayProvider, Tr as INLINE_ENCODE, xs as INTELWATCHTOWER_TOUR_ROUTE_CATALOG, rn as InMemoryCache, Yi as KeyboardHelpDialogWrapper, ya as LandingGateView, ba as LandingOrDashboardRedirect, yi as LoadingFallback, or as LogLevel, cr as LogManager, sr as Logger, Rr as MAIN_CONTENT_ID, Ss as MANUFACTUREDOPS_TOUR_ROUTE_CATALOG, Do as MODIFIER_KEYS, zr as MainLandmark, Ea as Markdown, es as MicrofrontendContext, Si as MicrofrontendErrorBoundary, Js as MicrofrontendProvider, _ as NODE_CATEGORIES, v as NODE_STATES, $a as OtelBrowserSink, Wo as PLAN_USAGE_SNAPSHOT_EVENT, Oo as PLATFORM_TYPES, Be as PRODUCTS, Ne as PRODUCT_SLUG_EMIT, Pe as PRODUCT_SLUG_RENAMES, Ve as PRODUCT_URLS, fa as PUBLIC_PRODUCT_DOCS_URL_QUERY, Jr as PULL_TO_REFRESH_THRESHOLD, oi as PUSH_DEVICE_ID_STORAGE_KEY, Ti as PWAInstallBanner, bi as PageLoadingFallback, pi as PermissionButton, _i as PermissionDenied, mi as PermissionGate, hi as PermissionLink, Br as PublicLayout, gr as QUOTA_EXHAUSTED_CODE, Vo as QUOTA_EXHAUSTED_EVENT, Xi as QuotaMeter, na as QuotaUpgradeBridge, _r as RESOURCE_CAP_EXCEEDED_CODE, di as RequireAuth, fi as RequireGuest, Ja as RybbitSink, Vt as SSELink, zn as SSORedirectSpinner, Gn as SSO_DEPOSITED_PARAM, vr as STORAGE_QUOTA_EXCEEDED_CODE, Wr as SafeAreaView, xi as SectionLoadingFallback, Vr as SkipToContentLink, Us as TourInitializer, ps as TourPlayer, cs as TourPlayerProvider, os as TourSpotlight, ss as TourTooltip, Ys as TourTrigger, ms as TourTriggerButton, Rs as ToursProvider, Yo as UNSAVED_CHANGE_LABEL_MAX, yr as UPGRADE_ERROR_CODES, Zi as UPGRADE_PROMPT_EVENT, ea as UpgradeInlineBanner, Qi as UpgradePromptModal, Cs as VIBECONTROLS_TOUR_ROUTE_CATALOG, gt as WORKSPACE_CONTEXT_CHANGED, _t as WORKSPACE_CONTEXT_MISMATCH_EVENT, vt as WORKSPACE_WRITE_REFUSED_EVENT, yt as WORKSPACE_WRITE_REFUSED_MESSAGE, bt as WorkspaceContextChangedError, $t as WsLink, Xs as acknowledgeNativePurchase, r as alertTokens, qo as appendContextToPath, Fn as assignLocationWithAllowlist, dn as attemptTokenRefresh, Kn as beginSsoNavigation, re as bootDesktopShell, ei as buildActorFallback, Ye as buildProductDocsUrl, br as buildQuotaExhaustedMessage, qn as buildSsoDepositUrl, Xe as canonicalizeDocsOrigin, j as capitalizeFirst, M as capitalizeWords, ra as captureQuotaDialogOwners, i as categoryTokens, y as chartSeriesColor, b as chartSeriesIndex, Bn as checkRemoteSLO, Vn as checkSLO, ia as claimQuotaDialog, fn as clearAuthSessionStorage, Mt as clearGraphqlFetchResponseCache, Hn as clearLocalAuthState, _n as clearSSoCookie, vn as clearShellSsoCookies, Jn as clearSsoDepositState, Yn as clearSsoNavigation, dr as clearUserContext, Or as cn, Wa as compileRybbitRoutePattern, Yr as computePullOffset, Xr as computePullProgress, Xn as consumeSsoDepositMarker, n as createApolloClient, to as createEventBus, No as createGlobalShortcuts, Ht as createGraphQLClient, mr as createProfileScopedStorage, Es as createTourPageIdResolver, x as dataTypeColor, S as dataTypeTextClasses, ie as desktopCheckForUpdates, ae as desktopDeepLinkToPath, oe as desktopInstallUpdate, se as desktopNotify, ce as desktopOpenExternal, le as desktopSetBadgeCount, ue as desktopSetLocale, de as desktopSetTheme, fe as desktopSetTrayQuickActions, rs as detectDeviceType, Ii as detectPlatform, Tt as dispatchBackendErrorEvent, aa as dispatchProductQuotaExhausted, Ho as dispatchQuotaExhausted, $i as dispatchUpgradePrompt, Er as downscaleImage, C as edgeColor, Fe as emitProductSlug, Et as extractBackendError, xr as extractQuotaExhaustedExtensions, Sr as extractUpgradeErrorExtensions, pa as fetchRegistryDocsUrl, He as findProductConfig, Hr as focusSkipTarget, N as formatBytes, P as formatCompactNumber, F as formatCurrency, I as formatCurrencyCompact, L as formatDate, R as formatDateTime, z as formatDuration, Li as formatKeyCombo, B as formatList, V as formatNumber, H as formatOrdinal, U as formatPercentage, W as formatRelativeTime, G as formatTime, a as getAlertTokens, ws as getBuiltInTourRouteCatalog, $ as getCapacitorPlatform, Ze as getCatalogDocsOrigin, o as getCategoryTokens, pe as getDesktopAuthBridgeConfig, me as getDesktopBridge, he as getDesktopGatewayBases, ge as getDesktopGatewayUrls, _e as getDesktopRuntimeConfig, ve as getDesktopUpdateState, ye as getDesktopWindowState, Ri as getDisplayKeysForPlatform, dt as getGatewayConfig, ft as getGatewayUrl, Ut as getGlobalClient, Po as getGlobalShortcutsByCategory, pt as getGraphQLEndpoint, be as getLegacyDesktopRuntime, Tn as getNativeBridge, _a as getNativeEntryRoutes, Zs as getNativeProducts, Qs as getNativePurchases, si as getOrCreatePushDeviceId, En as getPlatform, Ue as getProductUrl, We as getProductsWithUrls, hr as getProfileScopedKey, s as getProgressTokens, ni as getPushOptInController, is as getResponsiveSelector, Un as getSSORedirectUrl, yn as getSSoCookie, at as getShellConfig, zi as getShortcutLabel, c as getStatusBadgeTokens, l as getStatusTokens, Nt as getStoredAuthToken, Pt as getStoredLocale, Ft as getStoredOrganizationId, It as getStoredProjectId, Lt as getStoredWorkspaceId, Rt as getStoredWorkspaceToken, Ds as getTourContextRank, Os as getTourRouteCatalog, ks as getTourRouteCatalogVersion, As as getTourRouteModules, js as getTourRoutePages, u as getTrendTokens, Wt as getWorkspaceClient, mt as getWorkspaceTokenPayload, an as gql, zt as graphqlFetch, pn as hasAuthGraphQLErrors, Ms as hasRegisteredTourRouteCatalog, xa as hasStoredValidSession, Gt as initializeAppClients, fr as initializeLogger, xe as installDesktopDeepLinkHandler, Se as installDesktopNavigateHandler, Oe as installGatewayFetchRewrite, $s as installNativeIAP, Dt as isAbortError, In as isAllowedRedirectUrl, Ge as isAlphaAppShell, Dn as isAndroid, mn as isAuthGraphQLError, hn as isAuthNetworkError, Ot as isBackendErrorDisplay, ee as isCapacitorNative, Z as isChunkLoadError, Ce as isDesktop, On as isElectron, kn as isIOS, An as isInstalledApp, Bi as isMac, Vi as isMobileDevice, jn as isNative, ec as isNativeIAPAvailable, Cr as isQuotaExhaustedError, Ga as isRybbitSkippedRoute, Ie as isSameProductSlug, bn as isSharedSsoCookieDomain, ot as isShellLessRoute, Zn as isSsoNavigationPending, Mn as isStandalonePWA, Hi as isTabletDevice, Ns as isTourVisibleForContext, kt as isTransportError, xn as isTrustedSsoOrigin, wr as isUpgradeError, Nn as isWeb, Pn as isWebBrowser, xt as isWorkspaceContextChangedError, ht as isWorkspaceTokenValidForContext, Q as lazyWithRetry, Le as legacyProductSlug, Ts as listBuiltInTourRouteCatalogProductIds, Xo as listUnsavedChanges, lr as logManager, At as markConnectionHealthy, Qn as markSsoDepositDone, $n as markSsoDepositPending, Ui as matchesKeyCombo, Fo as mergeShortcuts, er as mintSsoSessionTokens, kr as nativeActionSheet, Ar as nativeConfirm, jr as nativeCopyText, Mr as nativeImpact, Nr as nativeNotify, Pr as nativeOpenUrl, Fr as nativeSelection, Ir as nativeShare, Lr as nativeToast, w as nodeCategoryClasses, T as nodeCategoryColor, E as nodeCategorySubtleColor, D as nodeStateColor, O as nodeStateRingClasses, Qe as normalizeDocsPath, Wi as normalizeKey, Gi as normalizePlatformCombo, Re as normalizeProductSlug, Ps as normalizeTourPath, we as onDesktopUpdateState, Te as onDesktopWindowState, Ln as openUrlInNewTabWithAllowlist, Ki as parseKeyCombo, K as pluralize, en as prepareWorkspaceRequest, d as progressTokens, Ya as publishConsentBannerOffset, Go as publishPlanUsageSnapshot, tc as purchaseNativeProduct, oa as quotaEventKind, Xa as readAnalyticsConsent, Za as readAnalyticsConsentChoice, St as readContextInputWorkspaceId, Gr as readInitialNetworkStatus, ma as readRegistryDocsUrl, Sn as readShellSsoCookie, tr as readSsoDepositState, ri as recordPushPermissionPromptDismissed, gn as redirectToLogin, Wn as redirectToSSO, Kr as reduceNetworkStatus, Ee as registerDesktopNavigator, ci as registerPushDevice, ii as registerPushOptInController, Fs as registerTourRouteCatalog, Zo as registerUnsavedChange, Rn as replaceLocationWithAllowlist, Kt as resetAppClients, Pa as resolveActionSheetOutcome, qs as resolveAppShellObservabilityConfig, je as resolveAuthBridgeConfig, $e as resolveDocsEnvironment, ke as resolveGatewayBases, Bt as resolveGatewayUrl, De as resolveGatewayUrls, Sa as resolveLandingGate, et as resolveProductDocsOrigin, sa as resolveQuotaUpgradeCopy, Me as resolveShellAuthBridgeConfig, Is as resolveTourTargetPath, nc as restoreNativePurchases, Dr as selectInlineBase64, Qa as setAnalyticsConsent, Cn as setSSoCookie, wn as setShellSsoCookies, pr as setUserContext, nr as shouldAttemptSsoDeposit, qi as shouldEnableKeyboardShortcuts, Ji as shouldIgnoreShortcut, ai as shouldPromptForPushPermission, st as shouldShowBreadcrumb, va as shouldShowNativeWelcome, ct as shouldShowSidebar, jt as shouldToastBackendError, q as slugify, f as statusTokens, Ls as subscribeTourRouteCatalogs, Ae as suppressConsole, Ke as toAlphaAppUrl, J as toCamelCase, qe as toCurrentEstateAppUrl, k as toDataType, tt as toEnvironmentDocsOrigin, A as toNodeCategory, Y as toPascalCase, nt as toTrustedDocsOrigin, p as trendTokens, X as truncateText, li as unregisterPushDevice, Qo as unsavedChangesBlocking, Fa as useActionSheet, ti as useActorProfiles, on as useApolloClient, Aa as useAppState, To as useAsync, Eo as useAsyncImmediate, zs as useAutoStartTour, co as useBreakpoint, xo as useConditionalToggle, e as useCopyToClipboard, Jo as useCurrentContextSearchParams, ao as useDebounce, Ia as useDesktop, La as useDesktopUpdateState, Ra as useDesktopWindowState, ja as useDeviceInfo, no as useEvent, ro as useEventBus, io as useEventEmitter, ho as useExclusiveMenu, Ai as useFeatureFlag, ji as useFeatureFlagDetails, Mi as useFeatureFlagValue, Oi as useFeatureFlags, Jt as useGateway, Yt as useGatewayClient, Ma as useHaptics, Lo as useHasAnimated, Qt as useHasAuthToken, Ao as useHotkeys, Ur as useInsideMainLandmark, ls as useIsTourPlaying, po as useKeyPress, mo as useKeyboardShortcut, ko as useKeyboardShortcuts, sn as useLazyQuery, go as useLocalStorage, Io as useLogger, t as useMediaQuery, ts as useMicrofrontendContext, lo as useMobileBreakpoint, cn as useMutation, ka as useNativeKeyboard, Da as useNativePlatform, qr as useNetworkStatus, uo as useOnClickOutside, fo as useOnClickOutsideWithRef, Ni as useOptionalFeatureFlag, ki as useOptionalFeatureFlags, wi as usePWA, wo as usePagination, hs as usePlayTour, vo as usePrevious, yo as usePreviousDistinct, bo as usePreviousHistory, ha as useProductDocsOrigin, ga as useProductDocsUrl, Zr as usePullToRefresh, Bo as usePushDeviceRegistration, ln as useQuery, ca as useQuotaDialogOwnership, Uo as useQuotaErrorToast, la as useQuotaUpgradeBridge, zo as useRecordProductVisit, Ro as useReferralAttribution, Ws as useRegisterTourRouteCatalog, ir as useRegistryHelpers, Qr as useReturnFocus, Oa as useSafeArea, Xt as useSafeGateway, Zt as useSafeGatewayClient, Bs as useSafeToursContext, _o as useSessionStorage, ar as useShellNavigate, jo as useShortcutHelp, us as useStartTour, Na as useStatusBar, ds as useStopTour, un as useSubscription, oo as useThrottle, So as useToggle, Co as useToggleObject, as as useTourPlayer, fs as useTourPlayerContext, Gs as useTourRouteCatalog, Vs as useTours, Hs as useToursContext, $o as useUnsavedChanges, Ko as useUpgradePrompt, Ca as useVoiceInput, ua as withQuotaDialogOwnership, ns as withTourProgressStatus };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@burdenoff/fe-libs",
3
- "version": "2026.1023.12",
3
+ "version": "2026.1023.13",
4
4
  "description": "Burdenoff frontend primitives and domain libraries",
5
5
  "type": "module",
6
6
  "bin": {