@burdenoff/fe-libs 2026.823.1 → 2026.825.1

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 (38) hide show
  1. package/dist/chrome/index.d.ts +1 -0
  2. package/dist/chrome/index.d.ts.map +1 -1
  3. package/dist/chrome/nativeTopBarTitle.d.ts +15 -0
  4. package/dist/chrome/nativeTopBarTitle.d.ts.map +1 -0
  5. package/dist/chrome/nativeTopBarTitle.js +22 -0
  6. package/dist/chrome.js +2 -1
  7. package/dist/shared/hooks/index.d.ts +4 -0
  8. package/dist/shared/hooks/index.d.ts.map +1 -1
  9. package/dist/shared/hooks/usePushDeviceRegistration.d.ts +10 -0
  10. package/dist/shared/hooks/usePushDeviceRegistration.d.ts.map +1 -0
  11. package/dist/shared/hooks/usePushDeviceRegistration.js +54 -0
  12. package/dist/shared/native/push-registration.d.ts +124 -0
  13. package/dist/shared/native/push-registration.d.ts.map +1 -0
  14. package/dist/shared/native/push-registration.js +120 -0
  15. package/dist/shared/native/types.d.ts +11 -1
  16. package/dist/shared/native/types.d.ts.map +1 -1
  17. package/dist/shared-hooks.js +10 -8
  18. package/dist/shared.js +23 -21
  19. package/dist/shell-native/capacitor-config.d.ts.map +1 -1
  20. package/dist/shell-native/capacitor-config.js +0 -1
  21. package/dist/shell-native/index.d.ts +3 -2
  22. package/dist/shell-native/index.d.ts.map +1 -1
  23. package/dist/shell-native/push.d.ts +10 -0
  24. package/dist/shell-native/push.d.ts.map +1 -1
  25. package/dist/shell-native/push.js +27 -22
  26. package/dist/shell-native/service-worker.d.ts +9 -1
  27. package/dist/shell-native/service-worker.d.ts.map +1 -1
  28. package/dist/shell-native/service-worker.js +102 -1
  29. package/dist/shell-native/types.d.ts +21 -9
  30. package/dist/shell-native/types.d.ts.map +1 -1
  31. package/dist/shell-native/web-manifest.d.ts +21 -0
  32. package/dist/shell-native/web-manifest.d.ts.map +1 -1
  33. package/dist/shell-native/web-manifest.js +4 -1
  34. package/dist/shell-native/web-push.d.ts +74 -0
  35. package/dist/shell-native/web-push.d.ts.map +1 -0
  36. package/dist/shell-native/web-push.js +106 -0
  37. package/dist/shell-native.js +10 -9
  38. package/package.json +1 -1
@@ -121,4 +121,5 @@ export { selectMobileTabs } from './mobileTabBar/selectTabs';
121
121
  export { NativeTopBar, type NativeTopBarProps } from './NativeTopBar';
122
122
  export { SwipeNavigation, type SwipeNavigationProps } from './SwipeNavigation';
123
123
  export { NativePageTransition, type NativePageTransitionProps, } from './NativePageTransition';
124
+ export { findNavTitle, useNativeTopBarTitle } from './nativeTopBarTitle';
124
125
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/chrome/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/chrome/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,15 @@
1
+ import { NavItem } from '../shared/hooks/shell/useNavRegistry';
2
+ /**
3
+ * Deepest registered nav item whose path prefixes the current route — the label
4
+ * the installed-app top bar shows. Matching is segment-aware, so `/workflows`
5
+ * never claims `/workflows-archive`, and `exact` items (typically the product
6
+ * overview) only match their own path. Returns `null` when nothing matches
7
+ * (root, auth and plugin routes); callers fall back to the product name.
8
+ */
9
+ export declare function findNavTitle(items: readonly NavItem[], pathname: string): string | null;
10
+ /**
11
+ * Route-tracking title for `NativeTopBar`. Pass the product name as the
12
+ * fallback for routes the nav registry does not describe.
13
+ */
14
+ export declare function useNativeTopBarTitle(pathname: string, fallback: string): string;
15
+ //# sourceMappingURL=nativeTopBarTitle.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"nativeTopBarTitle.d.ts","sourceRoot":"","sources":["../../src/chrome/nativeTopBarTitle.ts"],"names":[],"mappings":"AAaA,OAAO,EAEL,KAAK,OAAO,EACb,MAAM,sCAAsC,CAAC;AAE9C;;;;;;GAMG;AACH,wBAAgB,YAAY,CAC1B,KAAK,EAAE,SAAS,OAAO,EAAE,EACzB,QAAQ,EAAE,MAAM,GACf,MAAM,GAAG,IAAI,CAsBf;AAED;;;GAGG;AACH,wBAAgB,oBAAoB,CAClC,QAAQ,EAAE,MAAM,EAChB,QAAQ,EAAE,MAAM,GACf,MAAM,CAMR"}
@@ -0,0 +1,22 @@
1
+ import { useNavRegistryStore as e } from "../shared/hooks/shell/useNavRegistry.js";
2
+ import { useMemo as t } from "react";
3
+ //#region src/chrome/nativeTopBarTitle.ts
4
+ function n(e, t) {
5
+ let n = null, r = -1, i = (e) => {
6
+ for (let a of e) {
7
+ let e = a.path;
8
+ (e === t || a.exact !== !0 && e !== "/" && t.startsWith(`${e}/`)) && e.length > r && (n = a.label, r = e.length), a.children?.length && i(a.children);
9
+ }
10
+ };
11
+ return i(e), n;
12
+ }
13
+ function r(r, i) {
14
+ let a = e((e) => e.items);
15
+ return t(() => n(a, r) ?? i, [
16
+ a,
17
+ r,
18
+ i
19
+ ]);
20
+ }
21
+ //#endregion
22
+ export { n as findNavTitle, r as useNativeTopBarTitle };
package/dist/chrome.js CHANGED
@@ -43,4 +43,5 @@ import { MobileTabBar as X } from "./chrome/MobileTabBar.js";
43
43
  import { NativeTopBar as Z } from "./chrome/NativeTopBar.js";
44
44
  import { SwipeNavigation as Q } from "./chrome/SwipeNavigation.js";
45
45
  import { NativePageTransition as $ } from "./chrome/NativePageTransition.js";
46
- export { k as AccountSwitcher, t as AppShellLayout, A as AutoBreadcrumbs, L as BrandMark, _ as Breadcrumbs, g as CommandPalette, w as ContextSwitcher, o as DEFAULT_FOOTER_COLUMNS, s as DEFAULT_SOCIAL_LINKS, R as DynamicFooter, c as Footer, i as FooterBar, T as GeographySwitcher, h as GlobalSearch, r as HeaderBar, D as LanguagePickerSheet, C as LanguageSwitcher, X as MobileTabBar, l as NAV_MORE_ID_PREFIX, $ as NativePageTransition, Z as NativeTopBar, N as NavCustomizeDialog, v as NavLink, E as NotificationCenter, n as PageHeader, B as PanelContainer, z as PanelTabs, P as PersonaSimulationPill, F as PersonaSurfaceControls, K as PluginContextMenuTarget, a as PluginFooterStrip, H as PluginRoutes, U as PluginSettingsPage, W as PluginToolbar, G as PluginWidgetGrid, O as ProductPickerSheet, I as ProductSideNav, S as ProductSwitcher, x as ProfileSwitcher, e as ShortcutHelpDialog, m as SideNavigation, b as Sidebar, V as StatusBar, Q as SwipeNavigation, y as Tabs, q as ThemePreferences, u as applyNavVisibility, d as applyPermissionFilter, f as applySurfaceVisibility, p as isItemEffectivelyShown, j as registerBreadcrumbName, J as selectMobileTabs, M as unregisterBreadcrumbName, Y as useMobileTabBarVisible };
46
+ import { findNavTitle as ee, useNativeTopBarTitle as te } from "./chrome/nativeTopBarTitle.js";
47
+ export { k as AccountSwitcher, t as AppShellLayout, A as AutoBreadcrumbs, L as BrandMark, _ as Breadcrumbs, g as CommandPalette, w as ContextSwitcher, o as DEFAULT_FOOTER_COLUMNS, s as DEFAULT_SOCIAL_LINKS, R as DynamicFooter, c as Footer, i as FooterBar, T as GeographySwitcher, h as GlobalSearch, r as HeaderBar, D as LanguagePickerSheet, C as LanguageSwitcher, X as MobileTabBar, l as NAV_MORE_ID_PREFIX, $ as NativePageTransition, Z as NativeTopBar, N as NavCustomizeDialog, v as NavLink, E as NotificationCenter, n as PageHeader, B as PanelContainer, z as PanelTabs, P as PersonaSimulationPill, F as PersonaSurfaceControls, K as PluginContextMenuTarget, a as PluginFooterStrip, H as PluginRoutes, U as PluginSettingsPage, W as PluginToolbar, G as PluginWidgetGrid, O as ProductPickerSheet, I as ProductSideNav, S as ProductSwitcher, x as ProfileSwitcher, e as ShortcutHelpDialog, m as SideNavigation, b as Sidebar, V as StatusBar, Q as SwipeNavigation, y as Tabs, q as ThemePreferences, u as applyNavVisibility, d as applyPermissionFilter, f as applySurfaceVisibility, ee as findNavTitle, p as isItemEffectivelyShown, j as registerBreadcrumbName, J as selectMobileTabs, M as unregisterBreadcrumbName, Y as useMobileTabBarVisible, te as useNativeTopBarTitle };
@@ -28,6 +28,10 @@ export { usePWA } from './usePWA';
28
28
  export { useHasAnimated } from './useHasAnimated';
29
29
  export { useReferralAttribution } from './useReferralAttribution';
30
30
  export { useRecordProductVisit } from './useRecordProductVisit';
31
+ export { usePushDeviceRegistration } from './usePushDeviceRegistration';
32
+ export type { UsePushDeviceRegistrationOptions } from './usePushDeviceRegistration';
33
+ export { getOrCreatePushDeviceId, registerPushDevice, unregisterPushDevice, PUSH_DEVICE_ID_STORAGE_KEY, } from '../native/push-registration';
34
+ export type { PushDevicePlatform, PushDeviceRegistrationOptions, RegisterPushDeviceOptions, UnregisterPushDeviceOptions, } from '../native/push-registration';
31
35
  export { useQuotaErrorToast, dispatchQuotaExhausted, QUOTA_EXHAUSTED_EVENT, } from './useQuotaErrorToast';
32
36
  export type { UseQuotaErrorToastOptions, QuotaExhaustedEventDetail } from './useQuotaErrorToast';
33
37
  export { useUpgradePrompt, publishPlanUsageSnapshot, PLAN_USAGE_SNAPSHOT_EVENT, } from './useUpgradePrompt';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/shared/hooks/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAc,MAAM,OAAO,CAAC;AACnC,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,UAAU,CAAC;AAEvD;;GAEG;AACH,eAAO,MAAM,oBAAoB,8CAA2D,CAAC;AAE7F;;GAEG;AACH,wBAAgB,uBAAuB,2BAMtC;AAOD,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAC5C,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAC5C,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAChD,OAAO,EAAE,aAAa,EAAE,mBAAmB,EAAE,WAAW,EAAE,KAAK,UAAU,EAAE,MAAM,iBAAiB,CAAC;AACnG,OAAO,EAAE,iBAAiB,EAAE,wBAAwB,EAAE,MAAM,qBAAqB,CAAC;AAClF,OAAO,EAAE,WAAW,EAAE,mBAAmB,EAAE,MAAM,eAAe,CAAC;AACjE,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAC1D,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAGtD,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AACxD,OAAO,EAAE,WAAW,EAAE,mBAAmB,EAAE,kBAAkB,EAAE,MAAM,eAAe,CAAC;AACrF,OAAO,EAAE,SAAS,EAAE,eAAe,EAAE,oBAAoB,EAAE,MAAM,aAAa,CAAC;AAC/E,OAAO,EACL,aAAa,EACb,KAAK,oBAAoB,EACzB,KAAK,mBAAmB,GACzB,MAAM,iBAAiB,CAAC;AAGzB,OAAO,EAAE,QAAQ,EAAE,iBAAiB,EAAE,KAAK,cAAc,EAAE,MAAM,YAAY,CAAC;AAG9E,cAAc,aAAa,CAAC;AAG5B,cAAc,WAAW,CAAC;AAG1B,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAGlC,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAGlD,OAAO,EAAE,sBAAsB,EAAE,MAAM,0BAA0B,CAAC;AAGlE,OAAO,EAAE,qBAAqB,EAAE,MAAM,yBAAyB,CAAC;AAGhE,OAAO,EACL,kBAAkB,EAClB,sBAAsB,EACtB,qBAAqB,GACtB,MAAM,sBAAsB,CAAC;AAC9B,YAAY,EAAE,yBAAyB,EAAE,yBAAyB,EAAE,MAAM,sBAAsB,CAAC;AAGjG,OAAO,EACL,gBAAgB,EAChB,wBAAwB,EACxB,yBAAyB,GAC1B,MAAM,oBAAoB,CAAC;AAC5B,YAAY,EACV,uBAAuB,EACvB,sBAAsB,EACtB,cAAc,EACd,iBAAiB,GAClB,MAAM,oBAAoB,CAAC;AAG5B,OAAO,EACL,6BAA6B,EAC7B,mBAAmB,GACpB,MAAM,iCAAiC,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/shared/hooks/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAc,MAAM,OAAO,CAAC;AACnC,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,UAAU,CAAC;AAEvD;;GAEG;AACH,eAAO,MAAM,oBAAoB,8CAA2D,CAAC;AAE7F;;GAEG;AACH,wBAAgB,uBAAuB,2BAMtC;AAOD,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAC5C,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAC5C,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAChD,OAAO,EAAE,aAAa,EAAE,mBAAmB,EAAE,WAAW,EAAE,KAAK,UAAU,EAAE,MAAM,iBAAiB,CAAC;AACnG,OAAO,EAAE,iBAAiB,EAAE,wBAAwB,EAAE,MAAM,qBAAqB,CAAC;AAClF,OAAO,EAAE,WAAW,EAAE,mBAAmB,EAAE,MAAM,eAAe,CAAC;AACjE,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAC1D,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAGtD,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AACxD,OAAO,EAAE,WAAW,EAAE,mBAAmB,EAAE,kBAAkB,EAAE,MAAM,eAAe,CAAC;AACrF,OAAO,EAAE,SAAS,EAAE,eAAe,EAAE,oBAAoB,EAAE,MAAM,aAAa,CAAC;AAC/E,OAAO,EACL,aAAa,EACb,KAAK,oBAAoB,EACzB,KAAK,mBAAmB,GACzB,MAAM,iBAAiB,CAAC;AAGzB,OAAO,EAAE,QAAQ,EAAE,iBAAiB,EAAE,KAAK,cAAc,EAAE,MAAM,YAAY,CAAC;AAG9E,cAAc,aAAa,CAAC;AAG5B,cAAc,WAAW,CAAC;AAG1B,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAGlC,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAGlD,OAAO,EAAE,sBAAsB,EAAE,MAAM,0BAA0B,CAAC;AAGlE,OAAO,EAAE,qBAAqB,EAAE,MAAM,yBAAyB,CAAC;AAGhE,OAAO,EAAE,yBAAyB,EAAE,MAAM,6BAA6B,CAAC;AACxE,YAAY,EAAE,gCAAgC,EAAE,MAAM,6BAA6B,CAAC;AACpF,OAAO,EACL,uBAAuB,EACvB,kBAAkB,EAClB,oBAAoB,EACpB,0BAA0B,GAC3B,MAAM,6BAA6B,CAAC;AACrC,YAAY,EACV,kBAAkB,EAClB,6BAA6B,EAC7B,yBAAyB,EACzB,2BAA2B,GAC5B,MAAM,6BAA6B,CAAC;AAGrC,OAAO,EACL,kBAAkB,EAClB,sBAAsB,EACtB,qBAAqB,GACtB,MAAM,sBAAsB,CAAC;AAC9B,YAAY,EAAE,yBAAyB,EAAE,yBAAyB,EAAE,MAAM,sBAAsB,CAAC;AAGjG,OAAO,EACL,gBAAgB,EAChB,wBAAwB,EACxB,yBAAyB,GAC1B,MAAM,oBAAoB,CAAC;AAC5B,YAAY,EACV,uBAAuB,EACvB,sBAAsB,EACtB,cAAc,EACd,iBAAiB,GAClB,MAAM,oBAAoB,CAAC;AAG5B,OAAO,EACL,6BAA6B,EAC7B,mBAAmB,GACpB,MAAM,iCAAiC,CAAC"}
@@ -0,0 +1,10 @@
1
+ export interface UsePushDeviceRegistrationOptions {
2
+ /** Override the app-shell-provided product slug. */
3
+ productSlug?: string;
4
+ /** Shipped as registration metadata. Defaults to the shell's `__APP_VERSION__`. */
5
+ appVersion?: string;
6
+ /** Set false to disable the side effect entirely (e.g. during E2E runs). */
7
+ enabled?: boolean;
8
+ }
9
+ export declare function usePushDeviceRegistration(options?: UsePushDeviceRegistrationOptions): void;
10
+ //# sourceMappingURL=usePushDeviceRegistration.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"usePushDeviceRegistration.d.ts","sourceRoot":"","sources":["../../../src/shared/hooks/usePushDeviceRegistration.ts"],"names":[],"mappings":"AAiDA,MAAM,WAAW,gCAAgC;IAC/C,oDAAoD;IACpD,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,mFAAmF;IACnF,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,4EAA4E;IAC5E,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAiBD,wBAAgB,yBAAyB,CAAC,OAAO,GAAE,gCAAqC,GAAG,IAAI,CA4C9F"}
@@ -0,0 +1,54 @@
1
+ import { useAppShell as e } from "../providers/shell/AppShellContext.js";
2
+ import { useAuth as t } from "../providers/shell/AuthProvider.js";
3
+ import { logManager as n } from "../logger/LogManager.js";
4
+ import "../../shared-logger.js";
5
+ import { installPushDeviceRegistration as r, unregisterPushDevice as i } from "../native/push-registration.js";
6
+ import { useEffect as a, useRef as o } from "react";
7
+ //#region src/shared/hooks/usePushDeviceRegistration.ts
8
+ var s = n.getLogger("usePushDeviceRegistration");
9
+ function c() {
10
+ let e = globalThis.__APP_VERSION__;
11
+ return typeof e == "string" && e.length > 0 ? e : void 0;
12
+ }
13
+ function l() {
14
+ if (!(typeof navigator > "u")) return navigator.language || void 0;
15
+ }
16
+ function u(n = {}) {
17
+ let { productSlug: u } = e(), { user: d, tokens: f } = t(), p = n.productSlug ?? u, m = n.enabled !== !1, h = d?.id, g = f?.accessToken, _ = o(null);
18
+ a(() => {
19
+ if (m && p) {
20
+ if (!h || !g) {
21
+ let e = _.current;
22
+ if (!e) return;
23
+ _.current = null, i({ authToken: e.accessToken }).catch((e) => {
24
+ s.warn("[usePushDeviceRegistration] unregister failed", { error: e instanceof Error ? e.message : String(e) });
25
+ });
26
+ return;
27
+ }
28
+ return _.current = {
29
+ userId: h,
30
+ accessToken: g
31
+ }, r({
32
+ productSlug: p,
33
+ getAuthToken: () => _.current?.accessToken,
34
+ getUserId: () => _.current?.userId,
35
+ appVersion: n.appVersion ?? c(),
36
+ locale: l(),
37
+ onError: (e) => {
38
+ s.warn("[usePushDeviceRegistration] registration failed", {
39
+ productSlug: p,
40
+ error: e.message
41
+ });
42
+ }
43
+ });
44
+ }
45
+ }, [
46
+ m,
47
+ p,
48
+ h,
49
+ g,
50
+ n.appVersion
51
+ ]);
52
+ }
53
+ //#endregion
54
+ export { u as usePushDeviceRegistration };
@@ -0,0 +1,124 @@
1
+ import { PushTokenEventDetail } from './types';
2
+ /**
3
+ * Dispatched by `shell-native/push.ts` on OS registration. Re-declared here
4
+ * rather than imported: `shared/*` must not depend on `shell-native/*`.
5
+ */
6
+ export declare const PUSH_TOKEN_EVENT = "burdenoff:pushToken";
7
+ /**
8
+ * Stable per-install device id, independent of the OS token (which rotates).
9
+ * The backend retires the previous row for the same `deviceId` when a rotated
10
+ * token arrives, so this key is what stops a registry filling with dead tokens.
11
+ */
12
+ export declare const PUSH_DEVICE_ID_STORAGE_KEY = "burdenoff:deviceId";
13
+ export type PushDevicePlatform = PushTokenEventDetail['platform'];
14
+ /**
15
+ * `global-auth-svc` `registerDeviceToken`. `productSlug` is a top-level
16
+ * argument because `global-channel-svc` resolves the Firebase project (the
17
+ * fleet is split across five of them) from the DEVICE row — a device minted by
18
+ * one app install belongs to exactly one project. It is mirrored into
19
+ * `metadata` so a consumer reading the free-form blob sees the same value.
20
+ *
21
+ * NOTE the shape of the arguments: no `userId`, no `actorId`, no `id`. The
22
+ * mutation is `@rbac(scopeType: "self")`, which is an AUTHENTICATION gate only;
23
+ * an identity-shaped argument on a self-scoped field would let any
24
+ * authenticated caller register a device for anybody.
25
+ */
26
+ export declare const REGISTER_DEVICE_TOKEN_MUTATION = "\n mutation RegisterDeviceToken(\n $deviceId: String!\n $token: String!\n $platform: String!\n $productSlug: String!\n $metadata: JSONObject\n ) {\n registerDeviceToken(\n deviceId: $deviceId\n token: $token\n platform: $platform\n productSlug: $productSlug\n metadata: $metadata\n ) {\n id\n deviceId\n platform\n lastUsedAt\n }\n }\n";
27
+ /**
28
+ * Pre-`productSlug` spelling of the same mutation, used only as a fallback (see
29
+ * `isUnknownProductSlugArgumentError`). The product slug still travels in
30
+ * `metadata`, so a device registered through this path is recoverable.
31
+ */
32
+ export declare const REGISTER_DEVICE_TOKEN_MUTATION_LEGACY = "\n mutation RegisterDeviceToken(\n $deviceId: String!\n $token: String!\n $platform: String!\n $metadata: JSONObject\n ) {\n registerDeviceToken(\n deviceId: $deviceId\n token: $token\n platform: $platform\n metadata: $metadata\n ) {\n id\n deviceId\n platform\n lastUsedAt\n }\n }\n";
33
+ export declare const UNREGISTER_DEVICE_TOKEN_MUTATION = "\n mutation UnregisterDeviceToken($deviceId: String!) {\n unregisterDeviceToken(deviceId: $deviceId)\n }\n";
34
+ /** The exact `graphqlFetch` options this module sends. */
35
+ export interface PushRegistrationRequest {
36
+ gateway: 'global';
37
+ query: string;
38
+ operationName: string;
39
+ variables: Record<string, unknown>;
40
+ authToken?: string;
41
+ /**
42
+ * Always true: registration is fire-and-forget background sync. A failure
43
+ * (offline, cold subgraph, a token attached a beat after login) must never
44
+ * raise the global "[Burdenoff backend error]" toast.
45
+ */
46
+ suppressGlobalErrorEvent: true;
47
+ }
48
+ export interface PushRegistrationResponse {
49
+ data?: unknown;
50
+ errors?: Array<{
51
+ message: string;
52
+ extensions?: Record<string, unknown>;
53
+ }>;
54
+ }
55
+ export type PushRegistrationTransport = (request: PushRegistrationRequest) => Promise<PushRegistrationResponse>;
56
+ /**
57
+ * Stable per-install id, persisted in `localStorage`. When storage is
58
+ * unavailable (private mode, storage disabled) the id is still stable for the
59
+ * lifetime of the page — a fresh id per call would create one registry row per
60
+ * launch.
61
+ */
62
+ export declare function getOrCreatePushDeviceId(): string;
63
+ export interface RegisterPushDeviceOptions {
64
+ /** The OS push token (APNs/FCM) or, on web, the serialised subscription. */
65
+ token: string;
66
+ platform: PushDevicePlatform;
67
+ /** Product slug, e.g. `vibecontrols` — resolves the Firebase project. */
68
+ productSlug: string;
69
+ /**
70
+ * Access token, passed explicitly. Profile storage may not be flushed yet
71
+ * immediately after login, so relying on `graphqlFetch`'s storage fallback
72
+ * would race the very call we care about.
73
+ */
74
+ authToken?: string;
75
+ appVersion?: string;
76
+ locale?: string;
77
+ /** Only used to scope the "already sent this" cache — never sent. */
78
+ userId?: string;
79
+ deviceId?: string;
80
+ transport?: PushRegistrationTransport;
81
+ }
82
+ /**
83
+ * Register (or refresh) this device. Idempotent on the backend, and additionally
84
+ * de-duplicated here so a remount storm cannot hammer the mutation.
85
+ *
86
+ * Resolves `true` when the backend accepted the registration.
87
+ */
88
+ export declare function registerPushDevice(options: RegisterPushDeviceOptions): Promise<boolean>;
89
+ export interface UnregisterPushDeviceOptions {
90
+ authToken?: string;
91
+ deviceId?: string;
92
+ transport?: PushRegistrationTransport;
93
+ }
94
+ /**
95
+ * Revoke this device's registration — call on explicit logout / push opt-out.
96
+ * Clears the de-duplication cache so a subsequent login re-registers.
97
+ */
98
+ export declare function unregisterPushDevice(options?: UnregisterPushDeviceOptions): Promise<boolean>;
99
+ export interface PushDeviceRegistrationOptions {
100
+ productSlug: string;
101
+ /** Read lazily so a token arriving mid-session picks up the current token. */
102
+ getAuthToken?: () => string | null | undefined;
103
+ getUserId?: () => string | null | undefined;
104
+ appVersion?: string;
105
+ locale?: string;
106
+ transport?: PushRegistrationTransport;
107
+ /** Called with the outcome of every attempt (logging hook for the shell). */
108
+ onResult?: (registered: boolean) => void;
109
+ onError?: (error: Error) => void;
110
+ }
111
+ /**
112
+ * Listen for `burdenoff:pushToken` AND replay the token boot already captured.
113
+ *
114
+ * The replay is not optional: the OS `registration` callback fires during
115
+ * `bootNativeShell()`, before React mounts, so a listener-only implementation
116
+ * misses the token on every cold start.
117
+ *
118
+ * Returns a disposer. Safe to call again after login — the de-duplication cache
119
+ * means an unchanged (user, device, product, token) tuple is not re-sent.
120
+ */
121
+ export declare function installPushDeviceRegistration(options: PushDeviceRegistrationOptions): () => void;
122
+ /** Test seam — clears the module-level device id and de-duplication caches. */
123
+ export declare function resetPushDeviceRegistrationForTests(): void;
124
+ //# sourceMappingURL=push-registration.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"push-registration.d.ts","sourceRoot":"","sources":["../../../src/shared/native/push-registration.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,120 @@
1
+ //#region src/shared/native/push-registration.ts
2
+ var e = "burdenoff:pushToken", t = "burdenoff:deviceId", n = "\n mutation RegisterDeviceToken(\n $deviceId: String!\n $token: String!\n $platform: String!\n $productSlug: String!\n $metadata: JSONObject\n ) {\n registerDeviceToken(\n deviceId: $deviceId\n token: $token\n platform: $platform\n productSlug: $productSlug\n metadata: $metadata\n ) {\n id\n deviceId\n platform\n lastUsedAt\n }\n }\n", r = "\n mutation RegisterDeviceToken(\n $deviceId: String!\n $token: String!\n $platform: String!\n $metadata: JSONObject\n ) {\n registerDeviceToken(\n deviceId: $deviceId\n token: $token\n platform: $platform\n metadata: $metadata\n ) {\n id\n deviceId\n platform\n lastUsedAt\n }\n }\n", i = "\n mutation UnregisterDeviceToken($deviceId: String!) {\n unregisterDeviceToken(deviceId: $deviceId)\n }\n", a = null;
3
+ async function o(e) {
4
+ if (!a) {
5
+ let { graphqlFetch: e } = await import("../graphql/fetch.js");
6
+ a = (t) => e(t);
7
+ }
8
+ return a(e);
9
+ }
10
+ var s = null;
11
+ function c() {
12
+ let e = typeof globalThis > "u" ? void 0 : globalThis.crypto;
13
+ return e && typeof e.randomUUID == "function" ? e.randomUUID() : `device-${Date.now().toString(36)}-${Math.random().toString(36).slice(2, 12)}`;
14
+ }
15
+ function l() {
16
+ if (s) return s;
17
+ if (typeof window < "u") try {
18
+ let e = window.localStorage.getItem(t);
19
+ if (e) return s = e, e;
20
+ } catch {}
21
+ let e = c();
22
+ if (s = e, typeof window < "u") try {
23
+ window.localStorage.setItem(t, e);
24
+ } catch {}
25
+ return e;
26
+ }
27
+ function u(e) {
28
+ return (e.errors ?? []).some((e) => e.message.includes("productSlug") && !e.message.includes("metadata"));
29
+ }
30
+ var d = null;
31
+ function f(e, t) {
32
+ return [
33
+ e.userId ?? "",
34
+ t,
35
+ e.productSlug,
36
+ e.platform,
37
+ e.token
38
+ ].join("|");
39
+ }
40
+ async function p(e) {
41
+ let t = e.token.trim(), i = e.productSlug.trim();
42
+ if (!t || !i) return !1;
43
+ let a = e.deviceId ?? l(), s = f({
44
+ ...e,
45
+ token: t
46
+ }, a);
47
+ if (d === s) return !0;
48
+ let c = e.transport ?? o, p = {
49
+ deviceId: a,
50
+ token: t,
51
+ platform: e.platform,
52
+ productSlug: i,
53
+ metadata: {
54
+ productSlug: i,
55
+ ...e.appVersion ? { appVersion: e.appVersion } : {},
56
+ ...e.locale ? { locale: e.locale } : {}
57
+ }
58
+ }, m = {
59
+ gateway: "global",
60
+ query: n,
61
+ operationName: "RegisterDeviceToken",
62
+ variables: p,
63
+ ...e.authToken ? { authToken: e.authToken } : {},
64
+ suppressGlobalErrorEvent: !0
65
+ }, h = await c(m);
66
+ if (u(h)) {
67
+ let e = { ...p };
68
+ delete e.productSlug, h = await c({
69
+ ...m,
70
+ query: r,
71
+ variables: e
72
+ });
73
+ }
74
+ return h.errors?.length ? !1 : (d = s, !0);
75
+ }
76
+ async function m(e = {}) {
77
+ d = null;
78
+ let t = e.deviceId ?? l();
79
+ return !(await (e.transport ?? o)({
80
+ gateway: "global",
81
+ query: i,
82
+ operationName: "UnregisterDeviceToken",
83
+ variables: { deviceId: t },
84
+ ...e.authToken ? { authToken: e.authToken } : {},
85
+ suppressGlobalErrorEvent: !0
86
+ })).errors?.length;
87
+ }
88
+ function h(e) {
89
+ if (!e || typeof e != "object") return null;
90
+ let t = e;
91
+ return typeof t.value != "string" || t.value.length === 0 || t.platform !== "ios" && t.platform !== "android" && t.platform !== "web" ? null : {
92
+ value: t.value,
93
+ platform: t.platform
94
+ };
95
+ }
96
+ function g(t) {
97
+ if (typeof window > "u") return () => void 0;
98
+ let n = (e) => {
99
+ p({
100
+ token: e.value,
101
+ platform: e.platform,
102
+ productSlug: t.productSlug,
103
+ authToken: t.getAuthToken?.() ?? void 0,
104
+ userId: t.getUserId?.() ?? void 0,
105
+ appVersion: t.appVersion,
106
+ locale: t.locale,
107
+ transport: t.transport
108
+ }).then((e) => t.onResult?.(e)).catch((e) => {
109
+ t.onError?.(e instanceof Error ? e : Error(String(e)));
110
+ });
111
+ }, r = (e) => {
112
+ let t = h(e.detail);
113
+ t && n(t);
114
+ };
115
+ window.addEventListener(e, r);
116
+ let i = h(window.__burdenoffPushToken);
117
+ return i && n(i), () => window.removeEventListener(e, r);
118
+ }
119
+ //#endregion
120
+ export { t as PUSH_DEVICE_ID_STORAGE_KEY, l as getOrCreatePushDeviceId, g as installPushDeviceRegistration, p as registerPushDevice, m as unregisterPushDevice };
@@ -167,8 +167,18 @@ export interface BurdenoffDesktopBridge {
167
167
  };
168
168
  }
169
169
  export interface PushTokenEventDetail {
170
+ /**
171
+ * The OS push token. On `web` this is the serialised Web Push subscription
172
+ * (`serializeWebPushSubscription`), which is that platform's device identity.
173
+ */
170
174
  value: string;
171
- platform: 'ios' | 'android';
175
+ /**
176
+ * `web` is included because a browser subscription is registered through the
177
+ * same `burdenoff:pushToken` event as the native token. Consumers that only
178
+ * understand native tokens must ignore the platforms they do not handle
179
+ * rather than assume the union is exhaustive at two members.
180
+ */
181
+ platform: 'ios' | 'android' | 'web';
172
182
  }
173
183
  declare global {
174
184
  interface Window {
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/shared/native/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/shared/native/types.ts"],"names":[],"mappings":"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"}
@@ -29,16 +29,18 @@ import "./shared-logger.js";
29
29
  import { useHasAnimated as X } from "./shared/hooks/useHasAnimated.js";
30
30
  import { useReferralAttribution as Z } from "./shared/hooks/useReferralAttribution.js";
31
31
  import { useRecordProductVisit as Q } from "./shared/hooks/useRecordProductVisit.js";
32
- import { QUOTA_EXHAUSTED_EVENT as ne, dispatchQuotaExhausted as re, useQuotaErrorToast as ie } from "./shared/hooks/useQuotaErrorToast.js";
33
- import { PLAN_USAGE_SNAPSHOT_EVENT as ae, publishPlanUsageSnapshot as oe, useUpgradePrompt as se } from "./shared/hooks/useUpgradePrompt.js";
34
- import { appendContextToPath as ce, useCurrentContextSearchParams as le } from "./shared/hooks/useCurrentContextSearchParams.js";
35
- import ue, { use as de } from "react";
32
+ import { PUSH_DEVICE_ID_STORAGE_KEY as ne, getOrCreatePushDeviceId as re, registerPushDevice as ie, unregisterPushDevice as ae } from "./shared/native/push-registration.js";
33
+ import { usePushDeviceRegistration as oe } from "./shared/hooks/usePushDeviceRegistration.js";
34
+ import { QUOTA_EXHAUSTED_EVENT as se, dispatchQuotaExhausted as ce, useQuotaErrorToast as le } from "./shared/hooks/useQuotaErrorToast.js";
35
+ import { PLAN_USAGE_SNAPSHOT_EVENT as ue, publishPlanUsageSnapshot as de, useUpgradePrompt as fe } from "./shared/hooks/useUpgradePrompt.js";
36
+ import { appendContextToPath as pe, useCurrentContextSearchParams as me } from "./shared/hooks/useCurrentContextSearchParams.js";
37
+ import he, { use as ge } from "react";
36
38
  //#region src/shared/hooks/index.ts
37
- var $ = ue.createContext(null);
38
- function fe() {
39
- let e = de($);
39
+ var $ = he.createContext(null);
40
+ function _e() {
41
+ let e = ge($);
40
42
  if (!e) throw Error("useMicrofrontendContext must be used within a MicrofrontendProvider");
41
43
  return e;
42
44
  }
43
45
  //#endregion
44
- export { S as BREAKPOINTS, a as ConsoleTransport, G as GLOBAL_SHORTCUT_CATEGORIES, n as LogLevel, r as LogManager, ee as Logger, B as MODIFIER_KEYS, $ as MicrofrontendContext, ae as PLAN_USAGE_SNAPSHOT_EVENT, V as PLATFORM_TYPES, ne as QUOTA_EXHAUSTED_EVENT, ce as appendContextToPath, K as createGlobalShortcuts, s as detectPlatform, re as dispatchQuotaExhausted, c as formatKeyCombo, l as getDisplayKeysForPlatform, q as getGlobalShortcutsByCategory, u as getShortcutLabel, d as isMac, f as isMobileDevice, p as isTabletDevice, i as logManager, m as matchesKeyCombo, J as mergeShortcuts, h as normalizeKey, g as normalizePlatformCombo, _ as parseKeyCombo, oe as publishPlanUsageSnapshot, v as shouldEnableKeyboardShortcuts, y as shouldIgnoreShortcut, R as useAsync, z as useAsyncImmediate, C as useBreakpoint, F as useConditionalToggle, e as useCopyToClipboard, le as useCurrentContextSearchParams, b as useDebounce, k as useExclusiveMenu, X as useHasAnimated, U as useHotkeys, D as useKeyPress, O as useKeyboardShortcut, H as useKeyboardShortcuts, A as useLocalStorage, Y as useLogger, t as useMediaQuery, fe as useMicrofrontendContext, w as useMobileBreakpoint, T as useOnClickOutside, E as useOnClickOutsideWithRef, o as usePWA, te as usePagination, M as usePrevious, N as usePreviousDistinct, P as usePreviousHistory, ie as useQuotaErrorToast, Q as useRecordProductVisit, Z as useReferralAttribution, j as useSessionStorage, W as useShortcutHelp, x as useThrottle, I as useToggle, L as useToggleObject, se as useUpgradePrompt };
46
+ export { S as BREAKPOINTS, a as ConsoleTransport, G as GLOBAL_SHORTCUT_CATEGORIES, n as LogLevel, r as LogManager, ee as Logger, B as MODIFIER_KEYS, $ as MicrofrontendContext, ue as PLAN_USAGE_SNAPSHOT_EVENT, V as PLATFORM_TYPES, ne as PUSH_DEVICE_ID_STORAGE_KEY, se as QUOTA_EXHAUSTED_EVENT, pe as appendContextToPath, K as createGlobalShortcuts, s as detectPlatform, ce as dispatchQuotaExhausted, c as formatKeyCombo, l as getDisplayKeysForPlatform, q as getGlobalShortcutsByCategory, re as getOrCreatePushDeviceId, u as getShortcutLabel, d as isMac, f as isMobileDevice, p as isTabletDevice, i as logManager, m as matchesKeyCombo, J as mergeShortcuts, h as normalizeKey, g as normalizePlatformCombo, _ as parseKeyCombo, de as publishPlanUsageSnapshot, ie as registerPushDevice, v as shouldEnableKeyboardShortcuts, y as shouldIgnoreShortcut, ae as unregisterPushDevice, R as useAsync, z as useAsyncImmediate, C as useBreakpoint, F as useConditionalToggle, e as useCopyToClipboard, me as useCurrentContextSearchParams, b as useDebounce, k as useExclusiveMenu, X as useHasAnimated, U as useHotkeys, D as useKeyPress, O as useKeyboardShortcut, H as useKeyboardShortcuts, A as useLocalStorage, Y as useLogger, t as useMediaQuery, _e as useMicrofrontendContext, w as useMobileBreakpoint, T as useOnClickOutside, E as useOnClickOutsideWithRef, o as usePWA, te as usePagination, M as usePrevious, N as usePreviousDistinct, P as usePreviousHistory, oe as usePushDeviceRegistration, le as useQuotaErrorToast, Q as useRecordProductVisit, Z as useReferralAttribution, j as useSessionStorage, W as useShortcutHelp, x as useThrottle, I as useToggle, L as useToggleObject, fe as useUpgradePrompt };
package/dist/shared.js CHANGED
@@ -105,29 +105,31 @@ import { useLogger as Wi } from "./shared/logger/useLogger.js";
105
105
  import { useHasAnimated as Gi } from "./shared/hooks/useHasAnimated.js";
106
106
  import { useReferralAttribution as Ki } from "./shared/hooks/useReferralAttribution.js";
107
107
  import { useRecordProductVisit as qi } from "./shared/hooks/useRecordProductVisit.js";
108
- import { QUOTA_EXHAUSTED_EVENT as Ji, dispatchQuotaExhausted as Yi, useQuotaErrorToast as Xi } from "./shared/hooks/useQuotaErrorToast.js";
109
- import { PLAN_USAGE_SNAPSHOT_EVENT as Zi, publishPlanUsageSnapshot as Qi, useUpgradePrompt as $i } from "./shared/hooks/useUpgradePrompt.js";
110
- import { appendContextToPath as ea, useCurrentContextSearchParams as ta } from "./shared/hooks/useCurrentContextSearchParams.js";
111
- import { MicrofrontendContext as na, useMicrofrontendContext as ra } from "./shared-hooks.js";
112
- import { detectDeviceType as ia, getResponsiveSelector as aa } from "./shared/tours/types.js";
113
- import { useTourPlayer as oa } from "./shared/tours/useTourPlayer.js";
114
- import { TourSpotlight as sa } from "./shared/tours/TourSpotlight.js";
115
- import { TourTooltip as ca } from "./shared/tours/TourTooltip.js";
116
- import { TourPlayerProvider as la, useIsTourPlaying as ua, useStartTour as da, useStopTour as fa, useTourPlayerContext as pa } from "./shared/tours/TourPlayerProvider.js";
117
- import { TourPlayer as ma, TourTriggerButton as ha, usePlayTour as ga } from "./shared/tours/TourPlayer.js";
118
- import { getTourContextRank as _a, getTourRouteCatalog as va, getTourRouteModules as ya, getTourRoutePages as ba, isTourVisibleForContext as xa, normalizeTourPath as Sa, registerTourRouteCatalog as Ca, resolveTourTargetPath as wa } from "./shared/tours/routeCatalog.js";
119
- import { withTourProgressStatus as Ta } from "./shared/tours/progress.js";
120
- import { ToursProvider as Ea, useAutoStartTour as Da, useSafeToursContext as Oa, useTours as ka, useToursContext as Aa } from "./shared/tours/ToursContext.js";
121
- import { TourInitializer as ja } from "./shared/tours/TourInitializer.js";
122
- import { AppShellProvider as Ma, resolveAppShellObservabilityConfig as Na } from "./shared/providers/AppShellProvider.js";
123
- import { MicrofrontendProvider as Pa } from "./shared-providers.js";
124
- import { TourTrigger as Fa } from "./shared/tours/TourTrigger.js";
108
+ import { PUSH_DEVICE_ID_STORAGE_KEY as Ji, getOrCreatePushDeviceId as Yi, registerPushDevice as Xi, unregisterPushDevice as Zi } from "./shared/native/push-registration.js";
109
+ import { usePushDeviceRegistration as Qi } from "./shared/hooks/usePushDeviceRegistration.js";
110
+ import { QUOTA_EXHAUSTED_EVENT as $i, dispatchQuotaExhausted as ea, useQuotaErrorToast as ta } from "./shared/hooks/useQuotaErrorToast.js";
111
+ import { PLAN_USAGE_SNAPSHOT_EVENT as na, publishPlanUsageSnapshot as ra, useUpgradePrompt as ia } from "./shared/hooks/useUpgradePrompt.js";
112
+ import { appendContextToPath as aa, useCurrentContextSearchParams as oa } from "./shared/hooks/useCurrentContextSearchParams.js";
113
+ import { MicrofrontendContext as sa, useMicrofrontendContext as ca } from "./shared-hooks.js";
114
+ import { detectDeviceType as la, getResponsiveSelector as ua } from "./shared/tours/types.js";
115
+ import { useTourPlayer as da } from "./shared/tours/useTourPlayer.js";
116
+ import { TourSpotlight as fa } from "./shared/tours/TourSpotlight.js";
117
+ import { TourTooltip as pa } from "./shared/tours/TourTooltip.js";
118
+ import { TourPlayerProvider as ma, useIsTourPlaying as ha, useStartTour as ga, useStopTour as _a, useTourPlayerContext as va } from "./shared/tours/TourPlayerProvider.js";
119
+ import { TourPlayer as ya, TourTriggerButton as ba, usePlayTour as xa } from "./shared/tours/TourPlayer.js";
120
+ import { getTourContextRank as Sa, getTourRouteCatalog as Ca, getTourRouteModules as wa, getTourRoutePages as Ta, isTourVisibleForContext as Ea, normalizeTourPath as Da, registerTourRouteCatalog as Oa, resolveTourTargetPath as ka } from "./shared/tours/routeCatalog.js";
121
+ import { withTourProgressStatus as Aa } from "./shared/tours/progress.js";
122
+ import { ToursProvider as ja, useAutoStartTour as Ma, useSafeToursContext as Na, useTours as Pa, useToursContext as Fa } from "./shared/tours/ToursContext.js";
123
+ import { TourInitializer as Ia } from "./shared/tours/TourInitializer.js";
124
+ import { AppShellProvider as La, resolveAppShellObservabilityConfig as Ra } from "./shared/providers/AppShellProvider.js";
125
+ import { MicrofrontendProvider as za } from "./shared-providers.js";
126
+ import { TourTrigger as Ba } from "./shared/tours/TourTrigger.js";
125
127
  import "./shared-tours.js";
126
- import { acknowledgeNativePurchase as Ia, getNativeProducts as La, getNativePurchases as Ra, installNativeIAP as za, isNativeIAPAvailable as Ba, purchaseNativeProduct as Va, restoreNativePurchases as Ha } from "./shared/native/purchases.js";
127
- import { getNativeEntryRoutes as Ua, shouldShowNativeWelcome as Wa } from "./shared/native/entry.js";
128
+ import { acknowledgeNativePurchase as Va, getNativeProducts as Ha, getNativePurchases as Ua, installNativeIAP as Wa, isNativeIAPAvailable as Ga, purchaseNativeProduct as Ka, restoreNativePurchases as qa } from "./shared/native/purchases.js";
129
+ import { getNativeEntryRoutes as Ja, shouldShowNativeWelcome as Ya } from "./shared/native/entry.js";
128
130
  import "./shared-native.js";
129
131
  import "./shared/actors/index.js";
130
132
  //#region src/shared/index.ts
131
- var Ga = "1.0.0";
133
+ var Xa = "1.0.0";
132
134
  //#endregion
133
- export { Rr as ASSISTANT_WIDGET_TOGGLE_EVENT, er as AccessDenied, Gn as ActorIdentity, ri as AnalyticsConsentBanner, ct as ApolloClient, lt as ApolloProvider, ur as AppErrorBoundary, an as AppInitializer, Ma as AppShellProvider, zr as AssistantWidget, je as BACKEND_ERROR_EVENT, gi as BREAKPOINTS, ni as BackendAuditSink, ti as BroadcastChannelSink, ve as COMMON_SHELL_LESS_ROUTES, Me as CONNECTION_STATUS_EVENT, sr as ConditionalShell, fn as ConsoleTransport, _r as ContextConversationWidget, we as DEFAULT_PAGE_SIZE, ye as DEFAULT_SHELL_CONFIG, I as DESKTOP_UPDATE_UNSUPPORTED, L as DESKTOP_WINDOW_STATE_DEFAULT, $r as DesktopUpdateToast, ei as DevtoolsSink, Jn as ErrorBoundary, nr as ErrorFallback, li as EventBusProvider, Ga as FE_SHARED_VERSION, dr as FeatureFlagProvider, gr as FeatureGate, Te as GATEWAYS, Bi as GLOBAL_SHORTCUT_CATEGORIES, tt as GatewayProvider, ut as InMemoryCache, jr as KeyboardHelpDialogWrapper, rr as LoadingFallback, cn as LogLevel, un as LogManager, ln as Logger, Fi as MODIFIER_KEYS, Br as Markdown, na as MicrofrontendContext, or as MicrofrontendErrorBoundary, Pa as MicrofrontendProvider, ci as OtelBrowserSink, Zi as PLAN_USAGE_SNAPSHOT_EVENT, Ii as PLATFORM_TYPES, me as PRODUCTS, he as PRODUCT_URLS, Vn as PULL_TO_REFRESH_THRESHOLD, lr as PWAInstallBanner, ir as PageLoadingFallback, Zn as PermissionButton, tr as PermissionDenied, Qn as PermissionGate, $n as PermissionLink, vn as QUOTA_EXHAUSTED_CODE, Ji as QUOTA_EXHAUSTED_EVENT, Mr as QuotaMeter, yn as RESOURCE_CAP_EXCEEDED_CODE, Yn as RequireAuth, Xn as RequireGuest, ii as RybbitSink, Ye as SSELink, Vt as SSORedirectSpinner, Kt as SSO_DEPOSITED_PARAM, bn as STORAGE_QUOTA_EXCEEDED_CODE, Ln as SafeAreaView, ar as SectionLoadingFallback, ja as TourInitializer, ma as TourPlayer, la as TourPlayerProvider, sa as TourSpotlight, ca as TourTooltip, Fa as TourTrigger, ha as TourTriggerButton, Ea as ToursProvider, xn as UPGRADE_ERROR_CODES, Nr as UPGRADE_PROMPT_EVENT, Ir as UpgradeInlineBanner, Pr as UpgradePromptModal, st as WsLink, Ia as acknowledgeNativePurchase, r as alertTokens, ea as appendContextToPath, _t as attemptTokenRefresh, qt as beginSsoNavigation, R as bootDesktopShell, Kn as buildActorFallback, Sn as buildQuotaExhaustedMessage, Jt as buildSsoDepositUrl, m as capitalizeFirst, h as capitalizeWords, i as categoryTokens, Ht as checkRemoteSLO, Ut as checkSLO, vt as clearAuthSessionStorage, Be as clearGraphqlFetchResponseCache, Wt as clearLocalAuthState, Ct as clearSSoCookie, wt as clearShellSsoCookies, Yt as clearSsoDepositState, Xt as clearSsoNavigation, pn as clearUserContext, Dn as cn, Hn as computePullOffset, Un as computePullProgress, Zt as consumeSsoDepositMarker, n as createApolloClient, ui as createEventBus, Vi as createGlobalShortcuts, Xe as createGraphQLClient, gn as createProfileScopedStorage, z as desktopCheckForUpdates, B as desktopDeepLinkToPath, V as desktopInstallUpdate, H as desktopNotify, U as desktopOpenExternal, W as desktopSetBadgeCount, G as desktopSetLocale, K as desktopSetTheme, q as desktopSetTrayQuickActions, ia as detectDeviceType, vr as detectPlatform, Ne as dispatchBackendErrorEvent, Yi as dispatchQuotaExhausted, Fr as dispatchUpgradePrompt, Pe as extractBackendError, Cn as extractQuotaExhaustedExtensions, wn as extractUpgradeErrorExtensions, g as formatBytes, _ as formatCompactNumber, v as formatCurrency, y as formatCurrencyCompact, b as formatDate, x as formatDateTime, S as formatDuration, yr as formatKeyCombo, C as formatList, w as formatNumber, T as formatOrdinal, E as formatPercentage, D as formatRelativeTime, O as formatTime, a as getAlertTokens, o as getCategoryTokens, J as getDesktopAuthBridgeConfig, Y as getDesktopBridge, X as getDesktopGatewayBases, Z as getDesktopGatewayUrls, Q as getDesktopRuntimeConfig, $ as getDesktopUpdateState, ee as getDesktopWindowState, br as getDisplayKeysForPlatform, Ee as getGatewayConfig, De as getGatewayUrl, Ze as getGlobalClient, Hi as getGlobalShortcutsByCategory, Oe as getGraphQLEndpoint, te as getLegacyDesktopRuntime, jt as getNativeBridge, Ua as getNativeEntryRoutes, La as getNativeProducts, Ra as getNativePurchases, Mt as getPlatform, ge as getProductUrl, _e as getProductsWithUrls, _n as getProfileScopedKey, s as getProgressTokens, aa as getResponsiveSelector, Gt as getSSORedirectUrl, Tt as getSSoCookie, be as getShellConfig, xr as getShortcutLabel, c as getStatusBadgeTokens, l as getStatusTokens, Ve as getStoredAuthToken, He as getStoredLocale, Ue as getStoredOrganizationId, We as getStoredProjectId, Ge as getStoredWorkspaceId, Ke as getStoredWorkspaceToken, _a as getTourContextRank, va as getTourRouteCatalog, ya as getTourRouteModules, ba as getTourRoutePages, u as getTrendTokens, Qe as getWorkspaceClient, ke as getWorkspaceTokenPayload, dt as gql, qe as graphqlFetch, yt as hasAuthGraphQLErrors, $e as initializeAppClients, mn as initializeLogger, ne as installDesktopDeepLinkHandler, re as installDesktopNavigateHandler, le as installGatewayFetchRewrite, za as installNativeIAP, Fe as isAbortError, Nt as isAndroid, bt as isAuthGraphQLError, xt as isAuthNetworkError, Ie as isBackendErrorDisplay, P as isChunkLoadError, ie as isDesktop, Pt as isElectron, Ft as isIOS, It as isInstalledApp, Sr as isMac, Cr as isMobileDevice, Lt as isNative, Ba as isNativeIAPAvailable, Tn as isQuotaExhaustedError, Et as isSharedSsoCookieDomain, xe as isShellLessRoute, Qt as isSsoNavigationPending, Rt as isStandalonePWA, wr as isTabletDevice, xa as isTourVisibleForContext, Le as isTransportError, Dt as isTrustedSsoOrigin, En as isUpgradeError, zt as isWeb, Bt as isWebBrowser, Ae as isWorkspaceTokenValidForContext, F as lazyWithRetry, dn as logManager, Re as markConnectionHealthy, $t as markSsoDepositDone, en as markSsoDepositPending, Tr as matchesKeyCombo, Ui as mergeShortcuts, tn as mintSsoSessionTokens, On as nativeActionSheet, kn as nativeConfirm, An as nativeCopyText, jn as nativeImpact, Mn as nativeNotify, Nn as nativeOpenUrl, Pn as nativeSelection, Fn as nativeShare, In as nativeToast, Er as normalizeKey, Dr as normalizePlatformCombo, Sa as normalizeTourPath, ae as onDesktopUpdateState, oe as onDesktopWindowState, Or as parseKeyCombo, k as pluralize, d as progressTokens, Qi as publishPlanUsageSnapshot, Va as purchaseNativeProduct, ai as readAnalyticsConsent, oi as readAnalyticsConsentChoice, Rn as readInitialNetworkStatus, Ot as readShellSsoCookie, nn as readSsoDepositState, St as redirectToLogin, zn as reduceNetworkStatus, se as registerDesktopNavigator, Ca as registerTourRouteCatalog, et as resetAppClients, Jr as resolveActionSheetOutcome, Na as resolveAppShellObservabilityConfig, fe as resolveAuthBridgeConfig, ue as resolveGatewayBases, Je as resolveGatewayUrl, ce as resolveGatewayUrls, pe as resolveShellAuthBridgeConfig, wa as resolveTourTargetPath, Ha as restoreNativePurchases, si as setAnalyticsConsent, kt as setSSoCookie, At as setShellSsoCookies, hn as setUserContext, rn as shouldAttemptSsoDeposit, kr as shouldEnableKeyboardShortcuts, Ar as shouldIgnoreShortcut, Se as shouldShowBreadcrumb, Wa as shouldShowNativeWelcome, Ce as shouldShowSidebar, ze as shouldToastBackendError, A as slugify, f as statusTokens, de as suppressConsole, j as toCamelCase, M as toPascalCase, p as trendTokens, N as truncateText, Yr as useActionSheet, qn as useActorProfiles, ft as useApolloClient, Wr as useAppState, Ni as useAsync, Pi as useAsyncImmediate, Da as useAutoStartTour, _i as useBreakpoint, ki as useConditionalToggle, e as useCopyToClipboard, ta as useCurrentContextSearchParams, mi as useDebounce, Xr as useDesktop, Zr as useDesktopUpdateState, Qr as useDesktopWindowState, Gr as useDeviceInfo, di as useEvent, fi as useEventBus, pi as useEventEmitter, Ci as useExclusiveMenu, pr as useFeatureFlag, mr as useFeatureFlagDetails, hr as useFeatureFlagValue, fr as useFeatureFlags, nt as useGateway, rt as useGatewayClient, Kr as useHaptics, Gi as useHasAnimated, ot as useHasAuthToken, Ri as useHotkeys, ua as useIsTourPlaying, xi as useKeyPress, Si as useKeyboardShortcut, Li as useKeyboardShortcuts, pt as useLazyQuery, wi as useLocalStorage, Wi as useLogger, t as useMediaQuery, ra as useMicrofrontendContext, vi as useMobileBreakpoint, mt as useMutation, Ur as useNativeKeyboard, Vr as useNativePlatform, Bn as useNetworkStatus, yi as useOnClickOutside, bi as useOnClickOutsideWithRef, cr as usePWA, Mi as usePagination, ga as usePlayTour, Ei as usePrevious, Di as usePreviousDistinct, Oi as usePreviousHistory, Wn as usePullToRefresh, ht as useQuery, Xi as useQuotaErrorToast, qi as useRecordProductVisit, Ki as useReferralAttribution, on as useRegistryHelpers, Hr as useSafeArea, it as useSafeGateway, at as useSafeGatewayClient, Oa as useSafeToursContext, Ti as useSessionStorage, sn as useShellNavigate, zi as useShortcutHelp, da as useStartTour, qr as useStatusBar, fa as useStopTour, gt as useSubscription, hi as useThrottle, Ai as useToggle, ji as useToggleObject, oa as useTourPlayer, pa as useTourPlayerContext, ka as useTours, Aa as useToursContext, $i as useUpgradePrompt, Lr as useVoiceInput, Ta as withTourProgressStatus };
135
+ export { Rr as ASSISTANT_WIDGET_TOGGLE_EVENT, er as AccessDenied, Gn as ActorIdentity, ri as AnalyticsConsentBanner, ct as ApolloClient, lt as ApolloProvider, ur as AppErrorBoundary, an as AppInitializer, La as AppShellProvider, zr as AssistantWidget, je as BACKEND_ERROR_EVENT, gi as BREAKPOINTS, ni as BackendAuditSink, ti as BroadcastChannelSink, ve as COMMON_SHELL_LESS_ROUTES, Me as CONNECTION_STATUS_EVENT, sr as ConditionalShell, fn as ConsoleTransport, _r as ContextConversationWidget, we as DEFAULT_PAGE_SIZE, ye as DEFAULT_SHELL_CONFIG, I as DESKTOP_UPDATE_UNSUPPORTED, L as DESKTOP_WINDOW_STATE_DEFAULT, $r as DesktopUpdateToast, ei as DevtoolsSink, Jn as ErrorBoundary, nr as ErrorFallback, li as EventBusProvider, Xa as FE_SHARED_VERSION, dr as FeatureFlagProvider, gr as FeatureGate, Te as GATEWAYS, Bi as GLOBAL_SHORTCUT_CATEGORIES, tt as GatewayProvider, ut as InMemoryCache, jr as KeyboardHelpDialogWrapper, rr as LoadingFallback, cn as LogLevel, un as LogManager, ln as Logger, Fi as MODIFIER_KEYS, Br as Markdown, sa as MicrofrontendContext, or as MicrofrontendErrorBoundary, za as MicrofrontendProvider, ci as OtelBrowserSink, na as PLAN_USAGE_SNAPSHOT_EVENT, Ii as PLATFORM_TYPES, me as PRODUCTS, he as PRODUCT_URLS, Vn as PULL_TO_REFRESH_THRESHOLD, Ji as PUSH_DEVICE_ID_STORAGE_KEY, lr as PWAInstallBanner, ir as PageLoadingFallback, Zn as PermissionButton, tr as PermissionDenied, Qn as PermissionGate, $n as PermissionLink, vn as QUOTA_EXHAUSTED_CODE, $i as QUOTA_EXHAUSTED_EVENT, Mr as QuotaMeter, yn as RESOURCE_CAP_EXCEEDED_CODE, Yn as RequireAuth, Xn as RequireGuest, ii as RybbitSink, Ye as SSELink, Vt as SSORedirectSpinner, Kt as SSO_DEPOSITED_PARAM, bn as STORAGE_QUOTA_EXCEEDED_CODE, Ln as SafeAreaView, ar as SectionLoadingFallback, Ia as TourInitializer, ya as TourPlayer, ma as TourPlayerProvider, fa as TourSpotlight, pa as TourTooltip, Ba as TourTrigger, ba as TourTriggerButton, ja as ToursProvider, xn as UPGRADE_ERROR_CODES, Nr as UPGRADE_PROMPT_EVENT, Ir as UpgradeInlineBanner, Pr as UpgradePromptModal, st as WsLink, Va as acknowledgeNativePurchase, r as alertTokens, aa as appendContextToPath, _t as attemptTokenRefresh, qt as beginSsoNavigation, R as bootDesktopShell, Kn as buildActorFallback, Sn as buildQuotaExhaustedMessage, Jt as buildSsoDepositUrl, m as capitalizeFirst, h as capitalizeWords, i as categoryTokens, Ht as checkRemoteSLO, Ut as checkSLO, vt as clearAuthSessionStorage, Be as clearGraphqlFetchResponseCache, Wt as clearLocalAuthState, Ct as clearSSoCookie, wt as clearShellSsoCookies, Yt as clearSsoDepositState, Xt as clearSsoNavigation, pn as clearUserContext, Dn as cn, Hn as computePullOffset, Un as computePullProgress, Zt as consumeSsoDepositMarker, n as createApolloClient, ui as createEventBus, Vi as createGlobalShortcuts, Xe as createGraphQLClient, gn as createProfileScopedStorage, z as desktopCheckForUpdates, B as desktopDeepLinkToPath, V as desktopInstallUpdate, H as desktopNotify, U as desktopOpenExternal, W as desktopSetBadgeCount, G as desktopSetLocale, K as desktopSetTheme, q as desktopSetTrayQuickActions, la as detectDeviceType, vr as detectPlatform, Ne as dispatchBackendErrorEvent, ea as dispatchQuotaExhausted, Fr as dispatchUpgradePrompt, Pe as extractBackendError, Cn as extractQuotaExhaustedExtensions, wn as extractUpgradeErrorExtensions, g as formatBytes, _ as formatCompactNumber, v as formatCurrency, y as formatCurrencyCompact, b as formatDate, x as formatDateTime, S as formatDuration, yr as formatKeyCombo, C as formatList, w as formatNumber, T as formatOrdinal, E as formatPercentage, D as formatRelativeTime, O as formatTime, a as getAlertTokens, o as getCategoryTokens, J as getDesktopAuthBridgeConfig, Y as getDesktopBridge, X as getDesktopGatewayBases, Z as getDesktopGatewayUrls, Q as getDesktopRuntimeConfig, $ as getDesktopUpdateState, ee as getDesktopWindowState, br as getDisplayKeysForPlatform, Ee as getGatewayConfig, De as getGatewayUrl, Ze as getGlobalClient, Hi as getGlobalShortcutsByCategory, Oe as getGraphQLEndpoint, te as getLegacyDesktopRuntime, jt as getNativeBridge, Ja as getNativeEntryRoutes, Ha as getNativeProducts, Ua as getNativePurchases, Yi as getOrCreatePushDeviceId, Mt as getPlatform, ge as getProductUrl, _e as getProductsWithUrls, _n as getProfileScopedKey, s as getProgressTokens, ua as getResponsiveSelector, Gt as getSSORedirectUrl, Tt as getSSoCookie, be as getShellConfig, xr as getShortcutLabel, c as getStatusBadgeTokens, l as getStatusTokens, Ve as getStoredAuthToken, He as getStoredLocale, Ue as getStoredOrganizationId, We as getStoredProjectId, Ge as getStoredWorkspaceId, Ke as getStoredWorkspaceToken, Sa as getTourContextRank, Ca as getTourRouteCatalog, wa as getTourRouteModules, Ta as getTourRoutePages, u as getTrendTokens, Qe as getWorkspaceClient, ke as getWorkspaceTokenPayload, dt as gql, qe as graphqlFetch, yt as hasAuthGraphQLErrors, $e as initializeAppClients, mn as initializeLogger, ne as installDesktopDeepLinkHandler, re as installDesktopNavigateHandler, le as installGatewayFetchRewrite, Wa as installNativeIAP, Fe as isAbortError, Nt as isAndroid, bt as isAuthGraphQLError, xt as isAuthNetworkError, Ie as isBackendErrorDisplay, P as isChunkLoadError, ie as isDesktop, Pt as isElectron, Ft as isIOS, It as isInstalledApp, Sr as isMac, Cr as isMobileDevice, Lt as isNative, Ga as isNativeIAPAvailable, Tn as isQuotaExhaustedError, Et as isSharedSsoCookieDomain, xe as isShellLessRoute, Qt as isSsoNavigationPending, Rt as isStandalonePWA, wr as isTabletDevice, Ea as isTourVisibleForContext, Le as isTransportError, Dt as isTrustedSsoOrigin, En as isUpgradeError, zt as isWeb, Bt as isWebBrowser, Ae as isWorkspaceTokenValidForContext, F as lazyWithRetry, dn as logManager, Re as markConnectionHealthy, $t as markSsoDepositDone, en as markSsoDepositPending, Tr as matchesKeyCombo, Ui as mergeShortcuts, tn as mintSsoSessionTokens, On as nativeActionSheet, kn as nativeConfirm, An as nativeCopyText, jn as nativeImpact, Mn as nativeNotify, Nn as nativeOpenUrl, Pn as nativeSelection, Fn as nativeShare, In as nativeToast, Er as normalizeKey, Dr as normalizePlatformCombo, Da as normalizeTourPath, ae as onDesktopUpdateState, oe as onDesktopWindowState, Or as parseKeyCombo, k as pluralize, d as progressTokens, ra as publishPlanUsageSnapshot, Ka as purchaseNativeProduct, ai as readAnalyticsConsent, oi as readAnalyticsConsentChoice, Rn as readInitialNetworkStatus, Ot as readShellSsoCookie, nn as readSsoDepositState, St as redirectToLogin, zn as reduceNetworkStatus, se as registerDesktopNavigator, Xi as registerPushDevice, Oa as registerTourRouteCatalog, et as resetAppClients, Jr as resolveActionSheetOutcome, Ra as resolveAppShellObservabilityConfig, fe as resolveAuthBridgeConfig, ue as resolveGatewayBases, Je as resolveGatewayUrl, ce as resolveGatewayUrls, pe as resolveShellAuthBridgeConfig, ka as resolveTourTargetPath, qa as restoreNativePurchases, si as setAnalyticsConsent, kt as setSSoCookie, At as setShellSsoCookies, hn as setUserContext, rn as shouldAttemptSsoDeposit, kr as shouldEnableKeyboardShortcuts, Ar as shouldIgnoreShortcut, Se as shouldShowBreadcrumb, Ya as shouldShowNativeWelcome, Ce as shouldShowSidebar, ze as shouldToastBackendError, A as slugify, f as statusTokens, de as suppressConsole, j as toCamelCase, M as toPascalCase, p as trendTokens, N as truncateText, Zi as unregisterPushDevice, Yr as useActionSheet, qn as useActorProfiles, ft as useApolloClient, Wr as useAppState, Ni as useAsync, Pi as useAsyncImmediate, Ma as useAutoStartTour, _i as useBreakpoint, ki as useConditionalToggle, e as useCopyToClipboard, oa as useCurrentContextSearchParams, mi as useDebounce, Xr as useDesktop, Zr as useDesktopUpdateState, Qr as useDesktopWindowState, Gr as useDeviceInfo, di as useEvent, fi as useEventBus, pi as useEventEmitter, Ci as useExclusiveMenu, pr as useFeatureFlag, mr as useFeatureFlagDetails, hr as useFeatureFlagValue, fr as useFeatureFlags, nt as useGateway, rt as useGatewayClient, Kr as useHaptics, Gi as useHasAnimated, ot as useHasAuthToken, Ri as useHotkeys, ha as useIsTourPlaying, xi as useKeyPress, Si as useKeyboardShortcut, Li as useKeyboardShortcuts, pt as useLazyQuery, wi as useLocalStorage, Wi as useLogger, t as useMediaQuery, ca as useMicrofrontendContext, vi as useMobileBreakpoint, mt as useMutation, Ur as useNativeKeyboard, Vr as useNativePlatform, Bn as useNetworkStatus, yi as useOnClickOutside, bi as useOnClickOutsideWithRef, cr as usePWA, Mi as usePagination, xa as usePlayTour, Ei as usePrevious, Di as usePreviousDistinct, Oi as usePreviousHistory, Wn as usePullToRefresh, Qi as usePushDeviceRegistration, ht as useQuery, ta as useQuotaErrorToast, qi as useRecordProductVisit, Ki as useReferralAttribution, on as useRegistryHelpers, Hr as useSafeArea, it as useSafeGateway, at as useSafeGatewayClient, Na as useSafeToursContext, Ti as useSessionStorage, sn as useShellNavigate, zi as useShortcutHelp, ga as useStartTour, qr as useStatusBar, _a as useStopTour, gt as useSubscription, hi as useThrottle, Ai as useToggle, ji as useToggleObject, da as useTourPlayer, va as useTourPlayerContext, Pa as useTours, Fa as useToursContext, ia as useUpgradePrompt, Lr as useVoiceInput, Aa as withTourProgressStatus };