@atlasauth/react 0.14.0 → 0.15.0

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.
package/dist/billing.js CHANGED
@@ -1,6 +1,9 @@
1
1
  "use strict";
2
2
  'use client';
3
3
  Object.defineProperty(exports, "__esModule", { value: true });
4
+ exports.manageUrl = manageUrl;
5
+ exports.subscriptionsOf = subscriptionsOf;
6
+ exports.liveAddonsOf = liveAddonsOf;
4
7
  exports.useBilling = useBilling;
5
8
  exports.useCheckout = useCheckout;
6
9
  exports.useSubscription = useSubscription;
@@ -13,6 +16,32 @@ const jsx_runtime_1 = require("react/jsx-runtime");
13
16
  const react_1 = require("react");
14
17
  const AtlasProvider_1 = require("./AtlasProvider");
15
18
  const components_shared_1 = require("./components-shared");
19
+ /** The statuses in which a subscription is still running. */
20
+ const LIVE_STATUSES = ['active', 'trialing', 'past_due'];
21
+ /**
22
+ * Where a change / cancel / restore goes: one subscription by id, or (no id)
23
+ * the subject's primary subscription — the single-subscription behaviour.
24
+ */
25
+ function manageUrl(action, subscriptionId) {
26
+ return subscriptionId
27
+ ? `/v1/client/billing/subscriptions/${encodeURIComponent(subscriptionId)}/${action}`
28
+ : `/v1/client/billing/subscription/${action}`;
29
+ }
30
+ /**
31
+ * Every subscription from the subject read: the server's `subscriptions[]`, or
32
+ * — from a server that predates several subscriptions — the one it reports.
33
+ */
34
+ function subscriptionsOf(read) {
35
+ if (!read)
36
+ return [];
37
+ if (Array.isArray(read.subscriptions))
38
+ return read.subscriptions;
39
+ return read.status !== null ? [read] : [];
40
+ }
41
+ /** The live add-on subscriptions among a subject's subscriptions. */
42
+ function liveAddonsOf(subscriptions) {
43
+ return subscriptions.filter((s) => s.plan?.kind === 'addon' && LIVE_STATUSES.includes(String(s.status ?? '')));
44
+ }
16
45
  /**
17
46
  * §commerce headless billing (Clerk `useCheckout`/subscription hooks combined).
18
47
  * Loads the instance's plans and — when signed in — the subject's subscription,
@@ -25,6 +54,7 @@ function useBilling(opts = {}) {
25
54
  const orgId = opts.orgId;
26
55
  const [plans, setPlans] = (0, react_1.useState)([]);
27
56
  const [subscription, setSubscription] = (0, react_1.useState)(null);
57
+ const [subscriptions, setSubscriptions] = (0, react_1.useState)([]);
28
58
  const [invoices, setInvoices] = (0, react_1.useState)([]);
29
59
  const [paymentMethod, setPaymentMethod] = (0, react_1.useState)(null);
30
60
  const [isLoaded, setIsLoaded] = (0, react_1.useState)(false);
@@ -40,8 +70,12 @@ function useBilling(opts = {}) {
40
70
  client.get(`/v1/client/billing/invoices${orgQuery}`),
41
71
  client.get(`/v1/client/billing/payment_method${orgQuery}`),
42
72
  ]);
43
- if (subRes.ok)
73
+ if (subRes.ok) {
44
74
  setSubscription(subRes.data ?? null);
75
+ // Every subscription the subject holds (base + add-ons); an older server
76
+ // without the list reports just the one.
77
+ setSubscriptions(subscriptionsOf(subRes.data));
78
+ }
45
79
  if (invRes.ok && invRes.data)
46
80
  setInvoices(invRes.data.data ?? []);
47
81
  if (pmRes.ok)
@@ -49,6 +83,7 @@ function useBilling(opts = {}) {
49
83
  }
50
84
  else {
51
85
  setSubscription(null);
86
+ setSubscriptions([]);
52
87
  setInvoices([]);
53
88
  setPaymentMethod(null);
54
89
  }
@@ -73,14 +108,16 @@ function useBilling(opts = {}) {
73
108
  const res = await client.post('/v1/client/billing/portal', {
74
109
  org_id: params.orgId ?? orgId,
75
110
  return_url: params.returnUrl ?? (0, components_shared_1.currentUrl)(),
111
+ // The portal of that subscription's provider (default: the primary one's).
112
+ ...(params.subscriptionId ? { subscription_id: params.subscriptionId } : {}),
76
113
  });
77
114
  if (res.ok && res.data?.url && params.redirect !== false)
78
115
  (0, components_shared_1.navigateTo)(res.data.url);
79
116
  return res;
80
117
  }, [client, orgId]);
81
- /** Switch the live subscription to another plan or interval (no checkout needed). */
118
+ /** Switch a live subscription to another plan or interval (no checkout needed). */
82
119
  const changePlan = (0, react_1.useCallback)(async (params) => {
83
- const res = await client.post('/v1/client/billing/subscription/change', {
120
+ const res = await client.post(manageUrl('change', params.subscriptionId), {
84
121
  plan_id: params.planId,
85
122
  org_id: params.orgId ?? orgId,
86
123
  ...(params.interval ? { interval: params.interval } : {}),
@@ -92,7 +129,7 @@ function useBilling(opts = {}) {
92
129
  }, [client, orgId, reload]);
93
130
  /** Cancel at the end of the period (default), or now with `{ immediately: true }`. */
94
131
  const cancel = (0, react_1.useCallback)(async (params = {}) => {
95
- const res = await client.post('/v1/client/billing/subscription/cancel', {
132
+ const res = await client.post(manageUrl('cancel', params.subscriptionId), {
96
133
  org_id: params.orgId ?? orgId,
97
134
  immediately: params.immediately === true,
98
135
  });
@@ -102,14 +139,45 @@ function useBilling(opts = {}) {
102
139
  }, [client, orgId, reload]);
103
140
  /** Undo a cancellation scheduled for the end of the period. */
104
141
  const restore = (0, react_1.useCallback)(async (params = {}) => {
105
- const res = await client.post('/v1/client/billing/subscription/restore', {
142
+ const res = await client.post(manageUrl('restore', params.subscriptionId), {
106
143
  org_id: params.orgId ?? orgId,
107
144
  });
108
145
  if (res.ok)
109
146
  await reload();
110
147
  return res;
111
148
  }, [client, orgId, reload]);
112
- return { isLoaded, plans, subscription, invoices, paymentMethod, checkout, openPortal, changePlan, cancel, restore, reload };
149
+ /**
150
+ * May the subject use `feature` (needing `required` units)? Asked live of an
151
+ * entitlement provider (Autumn, Commet) when the subject is on one, else from
152
+ * the resolved entitlement. For UI only — gate on the server or the token.
153
+ */
154
+ const check = (0, react_1.useCallback)(async (feature, params = {}) => {
155
+ const q = new URLSearchParams({ feature });
156
+ if (params.required !== undefined)
157
+ q.set('required', String(params.required));
158
+ const org = params.orgId ?? orgId;
159
+ if (org)
160
+ q.set('org_id', org);
161
+ return client.get(`/v1/client/billing/check?${q.toString()}`);
162
+ }, [client, orgId]);
163
+ /** The live add-on subscriptions (everything beyond the primary one). */
164
+ const addons = liveAddonsOf(subscriptions);
165
+ return {
166
+ isLoaded,
167
+ plans,
168
+ subscription,
169
+ subscriptions,
170
+ addons,
171
+ invoices,
172
+ paymentMethod,
173
+ checkout,
174
+ openPortal,
175
+ changePlan,
176
+ cancel,
177
+ restore,
178
+ check,
179
+ reload,
180
+ };
113
181
  }
114
182
  /** §commerce Clerk-parity alias — just the `checkout` action from {@link useBilling}. */
115
183
  function useCheckout(opts = {}) {
@@ -118,8 +186,8 @@ function useCheckout(opts = {}) {
118
186
  }
119
187
  /** §commerce Clerk-parity alias — the subject's subscription from {@link useBilling}. */
120
188
  function useSubscription(opts = {}) {
121
- const { isLoaded, subscription, openPortal, changePlan, cancel, restore, reload } = useBilling(opts);
122
- return { isLoaded, subscription, openPortal, changePlan, cancel, restore, reload };
189
+ const { isLoaded, subscription, subscriptions, addons, openPortal, changePlan, cancel, restore, reload } = useBilling(opts);
190
+ return { isLoaded, subscription, subscriptions, addons, openPortal, changePlan, cancel, restore, reload };
123
191
  }
124
192
  /** §commerce Clerk-parity alias — the subject's invoices from {@link useBilling}. */
125
193
  function useInvoices(opts = {}) {
@@ -147,7 +215,7 @@ function formatPrice(amount, currency) {
147
215
  * disabled and an "Manage billing" action opens the Billing Portal instead).
148
216
  */
149
217
  function PricingTable({ orgId } = {}) {
150
- const { isLoaded, plans, subscription, checkout, openPortal, changePlan } = useBilling({ orgId });
218
+ const { isLoaded, plans, subscription, subscriptions, checkout, openPortal, changePlan } = useBilling({ orgId });
151
219
  const { status } = (0, AtlasProvider_1.useAtlas)();
152
220
  const t = (0, components_shared_1.useText)();
153
221
  const cardClass = (0, components_shared_1.useClass)('card', 'atlas-card');
@@ -155,15 +223,19 @@ function PricingTable({ orgId } = {}) {
155
223
  const cls = (0, components_shared_1.useClasses)();
156
224
  const [busyPlan, setBusyPlan] = (0, react_1.useState)(null);
157
225
  const currentPlanId = subscription?.plan?.id ?? null;
158
- // A subject with a live subscription switches plans in place (prorated) instead of a second checkout.
159
- const live = ['active', 'trialing', 'past_due'].includes(String(subscription?.status ?? ''));
226
+ // A subject with a live BASE subscription switches base plans in place
227
+ // (prorated) instead of a second checkout; add-ons are bought alongside.
228
+ const live = LIVE_STATUSES.includes(String(subscription?.status ?? '')) && subscription?.plan?.kind !== 'addon';
229
+ const heldAddons = new Map(liveAddonsOf(subscriptions).map((s) => [s.plan.id, s]));
160
230
  if (!isLoaded)
161
231
  return (0, jsx_runtime_1.jsx)("div", { "data-atlas": "pricing-table", "aria-busy": "true" });
162
232
  return ((0, jsx_runtime_1.jsx)("div", { className: cls('pricingTable', 'atlas-pricing-table'), "data-atlas": "pricing-table", children: plans.map((plan) => {
163
- const isCurrent = plan.id === currentPlanId;
164
- return ((0, jsx_runtime_1.jsxs)("div", { className: cardClass, "data-atlas": "pricing-plan", "data-current": isCurrent, children: [(0, jsx_runtime_1.jsx)("h3", { className: cls('planName', 'atlas-plan-name'), children: plan.name }), (0, jsx_runtime_1.jsxs)("p", { className: cls('price', 'atlas-price'), children: [formatPrice(plan.amount, plan.currency), (0, jsx_runtime_1.jsxs)("span", { className: cls('priceInterval', 'atlas-interval'), children: [" / ", plan.interval] })] }), plan.features.length ? ((0, jsx_runtime_1.jsx)("ul", { className: cls('list', 'atlas-list'), children: plan.features.map((f, i) => ((0, jsx_runtime_1.jsx)("li", { className: cls('listItem', 'atlas-list-item'), children: f }, i))) })) : null, isCurrent ? ((0, jsx_runtime_1.jsx)("button", { type: "button", className: buttonClass, "data-atlas": "manage-billing", onClick: () => void openPortal(), children: t('commerce.manage') })) : ((0, jsx_runtime_1.jsx)("button", { type: "button", className: buttonClass, disabled: status !== 'signed_in' || busyPlan === plan.id, onClick: () => {
233
+ const isAddon = plan.kind === 'addon';
234
+ const held = isAddon ? heldAddons.get(plan.id) : undefined;
235
+ const isCurrent = isAddon ? Boolean(held) : plan.id === currentPlanId;
236
+ return ((0, jsx_runtime_1.jsxs)("div", { className: cardClass, "data-atlas": "pricing-plan", "data-current": isCurrent, "data-kind": isAddon ? 'addon' : 'base', children: [(0, jsx_runtime_1.jsx)("h3", { className: cls('planName', 'atlas-plan-name'), children: plan.name }), (0, jsx_runtime_1.jsxs)("p", { className: cls('price', 'atlas-price'), children: [formatPrice(plan.amount, plan.currency), (0, jsx_runtime_1.jsxs)("span", { className: cls('priceInterval', 'atlas-interval'), children: [" / ", plan.interval] })] }), plan.features.length ? ((0, jsx_runtime_1.jsx)("ul", { className: cls('list', 'atlas-list'), children: plan.features.map((f, i) => ((0, jsx_runtime_1.jsx)("li", { className: cls('listItem', 'atlas-list-item'), children: f }, i))) })) : null, isCurrent ? ((0, jsx_runtime_1.jsx)("button", { type: "button", className: buttonClass, "data-atlas": "manage-billing", onClick: () => void openPortal(held?.id ? { subscriptionId: held.id } : {}), children: t('commerce.manage') })) : ((0, jsx_runtime_1.jsx)("button", { type: "button", className: buttonClass, disabled: status !== 'signed_in' || busyPlan === plan.id, onClick: () => {
165
237
  setBusyPlan(plan.id);
166
- const action = live && currentPlanId ? changePlan({ planId: plan.id }) : checkout({ planId: plan.id });
238
+ const action = !isAddon && live && currentPlanId ? changePlan({ planId: plan.id }) : checkout({ planId: plan.id });
167
239
  void action.finally(() => setBusyPlan(null));
168
240
  }, children: t('commerce.subscribe') }))] }, plan.id));
169
241
  }) }));
@@ -1 +1 @@
1
- {"version":3,"file":"billing.js","sourceRoot":"","sources":["../src/billing.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"billing.js","sourceRoot":"","sources":["../src/billing.tsx"],"names":[],"mappings":"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"}
package/dist/captcha.js CHANGED
@@ -8,7 +8,7 @@ const jsx_runtime_1 = require("react/jsx-runtime");
8
8
  const react_1 = require("react");
9
9
  const js_1 = require("@atlasauth/js");
10
10
  function useCaptcha(flow, options) {
11
- const needed = options.active && !!flow && (0, js_1.isRenderableCaptcha)(flow.provider);
11
+ const needed = options.active && !!flow && (0, js_1.isRenderableCaptcha)(flow.provider, flow);
12
12
  const eager = options.eager ?? flow?.widget !== 'invisible';
13
13
  const container = (0, react_1.useRef)(null);
14
14
  const handle = (0, react_1.useRef)(null);
@@ -1 +1 @@
1
- {"version":3,"file":"captcha.js","sourceRoot":"","sources":["../src/captcha.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"captcha.js","sourceRoot":"","sources":["../src/captcha.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,307 @@
1
+ /**
2
+ * Drop-in compatibility helpers for apps moving to Atlas from Auth.js (NextAuth),
3
+ * Auth0 (auth0-react / nextjs-auth0), Supabase Auth and Better Auth.
4
+ *
5
+ * `atlas migrate code --from <vendor>` rewrites an app's imports onto these, so
6
+ * the migrated code keeps the shapes it was written against (`{ data, status }`
7
+ * from `useSession`, `{ isAuthenticated, user }` from `useAuth0`, …) and compiles
8
+ * and runs on day one. Each helper is a thin projection over the native hooks
9
+ * (`useUser`, `useAuth`); once migrated, move call sites to those at your own pace.
10
+ *
11
+ * The imperative helpers (`nextAuthSignOut()`, `getSupabaseUserCompat()`, …) work
12
+ * outside React components too: they act on the `<AtlasProvider>` mounted on the
13
+ * page. Calling one with no provider mounted throws a clear error.
14
+ */
15
+ import { type ComponentType, type ReactNode } from 'react';
16
+ import type { AtlasUser, SessionClaims } from './types';
17
+ import { type ActiveAtlas } from './active-atlas';
18
+ export { getActiveAtlas, type ActiveAtlas } from './active-atlas';
19
+ /** The primary email address, else the first verified one, else any. */
20
+ export declare function primaryEmail(user: AtlasUser | null): {
21
+ address: string;
22
+ verified: boolean;
23
+ } | null;
24
+ /** A display name: first + last, else the username, else null. */
25
+ export declare function displayName(user: AtlasUser | null): string | null;
26
+ /** Send the browser to your sign-in page, returning to `redirectUrl` afterwards. */
27
+ export declare function signInRedirect(options?: {
28
+ signInUrl?: string;
29
+ redirectUrl?: string;
30
+ }): void;
31
+ /** The `session` object `next-auth`'s `useSession()` / `getSession()` resolve to. */
32
+ export interface NextAuthCompatSession {
33
+ user: {
34
+ id: string;
35
+ name: string | null;
36
+ email: string | null;
37
+ image: string | null;
38
+ };
39
+ expires: string;
40
+ }
41
+ export type NextAuthCompatStatus = 'loading' | 'authenticated' | 'unauthenticated';
42
+ /** Pure projection of the provider state onto next-auth's session shape. */
43
+ export declare function nextAuthSessionFrom(state: Pick<ActiveAtlas, 'status' | 'user' | 'claims'>): {
44
+ data: NextAuthCompatSession | null;
45
+ status: NextAuthCompatStatus;
46
+ };
47
+ /** `useSession()` from `next-auth/react`, on Atlas: `{ data, status, update }`. */
48
+ export declare function useNextAuthSession(): {
49
+ data: NextAuthCompatSession | null;
50
+ status: NextAuthCompatStatus;
51
+ update: () => Promise<NextAuthCompatSession | null>;
52
+ };
53
+ /** `getSession()` from `next-auth/react` (client side): the current session or null. */
54
+ export declare function getNextAuthSession(): Promise<NextAuthCompatSession | null>;
55
+ /**
56
+ * `signIn()` from `next-auth/react`: opens your Atlas sign-in page. The provider
57
+ * argument is accepted for compatibility; the sign-in page lists every enabled
58
+ * method (render `<SocialSignInButton provider="github" />` to go straight to one).
59
+ */
60
+ export declare function nextAuthSignIn(_provider?: string, options?: {
61
+ callbackUrl?: string;
62
+ redirectTo?: string;
63
+ signInUrl?: string;
64
+ }): Promise<void>;
65
+ /** `signOut()` from `next-auth/react`: signs out, then goes to `callbackUrl` (default `/`). */
66
+ export declare function nextAuthSignOut(options?: {
67
+ callbackUrl?: string;
68
+ redirectTo?: string;
69
+ redirect?: boolean;
70
+ }): Promise<void>;
71
+ /** The OIDC-profile user `useAuth0()` / nextjs-auth0's `useUser()` expose. */
72
+ export interface Auth0CompatUser {
73
+ sub: string;
74
+ name?: string;
75
+ given_name?: string;
76
+ family_name?: string;
77
+ nickname?: string;
78
+ picture?: string;
79
+ email?: string;
80
+ email_verified?: boolean;
81
+ org_id?: string;
82
+ [claim: string]: unknown;
83
+ }
84
+ /** Project an Atlas user onto the OIDC profile shape Auth0 SDKs return. */
85
+ export declare function auth0UserFrom(user: AtlasUser | null, claims?: SessionClaims | null): Auth0CompatUser | undefined;
86
+ /** `loginWithRedirect()` options this helper understands (others are ignored). */
87
+ export interface Auth0CompatLoginOptions {
88
+ appState?: {
89
+ returnTo?: string;
90
+ [key: string]: unknown;
91
+ };
92
+ /** Where your Atlas sign-in page lives (default `/sign-in`). */
93
+ signInUrl?: string;
94
+ }
95
+ export interface Auth0CompatLogoutOptions {
96
+ logoutParams?: {
97
+ returnTo?: string;
98
+ [key: string]: unknown;
99
+ };
100
+ /** `false` skips the redirect, like auth0-react's `openUrl: false`. */
101
+ openUrl?: false;
102
+ }
103
+ /** Thrown by `getAccessTokenSilently()` when nobody is signed in (Auth0's `login_required`). */
104
+ export declare class LoginRequiredError extends Error {
105
+ readonly error = "login_required";
106
+ constructor();
107
+ }
108
+ /** `useAuth0()` from `@auth0/auth0-react`, on Atlas. */
109
+ export declare function useAuth0Compat<TUser extends Auth0CompatUser = Auth0CompatUser>(): {
110
+ isLoading: boolean;
111
+ isAuthenticated: boolean;
112
+ user: TUser | undefined;
113
+ error: undefined;
114
+ loginWithRedirect(options?: Auth0CompatLoginOptions): Promise<void>;
115
+ logout(options?: Auth0CompatLogoutOptions): Promise<void>;
116
+ getAccessTokenSilently(options?: {
117
+ template?: string;
118
+ }): Promise<string>;
119
+ getIdTokenClaims(): Promise<(SessionClaims & {
120
+ __raw?: string;
121
+ }) | undefined>;
122
+ };
123
+ /** `useUser()` from `@auth0/nextjs-auth0/client` (v3) or `@auth0/nextjs-auth0` (v4). */
124
+ export declare function useAuth0UserCompat<TUser extends Auth0CompatUser = Auth0CompatUser>(): {
125
+ user: TUser | undefined;
126
+ error: undefined;
127
+ isLoading: boolean;
128
+ checkSession(): Promise<void>;
129
+ invalidate(): Promise<void>;
130
+ };
131
+ /**
132
+ * `withAuthenticationRequired(Component, options)` from `@auth0/auth0-react` (and
133
+ * nextjs-auth0's client `withPageAuthRequired`): renders the component only for a
134
+ * signed-in user and sends everyone else to your sign-in page.
135
+ */
136
+ export declare function withAuthenticationRequiredCompat<P extends object>(Component: ComponentType<P>, options?: {
137
+ onRedirecting?: () => ReactNode;
138
+ returnTo?: string | (() => string);
139
+ signInUrl?: string;
140
+ }): ComponentType<P>;
141
+ /** The `User` object `supabase.auth.getUser()` resolves to (the fields apps read). */
142
+ export interface SupabaseCompatUser {
143
+ id: string;
144
+ aud: 'authenticated';
145
+ role: 'authenticated';
146
+ email?: string;
147
+ email_confirmed_at?: string;
148
+ phone?: string;
149
+ user_metadata: Record<string, unknown>;
150
+ app_metadata: Record<string, unknown>;
151
+ }
152
+ export declare function supabaseUserFrom(user: AtlasUser | null): SupabaseCompatUser | null;
153
+ type SupabaseResult<T> = {
154
+ data: T;
155
+ error: null;
156
+ };
157
+ /** `supabase.auth.getUser()` in the browser. */
158
+ export declare function getSupabaseUserCompat(): Promise<SupabaseResult<{
159
+ user: SupabaseCompatUser | null;
160
+ }>>;
161
+ /** `supabase.auth.getSession()` in the browser; `access_token` is the Atlas session JWT. */
162
+ export declare function getSupabaseSessionCompat(): Promise<SupabaseResult<{
163
+ session: {
164
+ access_token: string;
165
+ expires_at: number | undefined;
166
+ user: SupabaseCompatUser;
167
+ } | null;
168
+ }>>;
169
+ /** `useUser()` from `@supabase/auth-helpers-react`: the user, or null. */
170
+ export declare function useSupabaseUserCompat(): SupabaseCompatUser | null;
171
+ /** `useSession()` from `@supabase/auth-helpers-react`: `{ user, expires_at }`, or null. */
172
+ export declare function useSupabaseSessionCompat(): {
173
+ user: SupabaseCompatUser;
174
+ expires_at: number | undefined;
175
+ } | null;
176
+ /** `supabase.auth.signOut()` in the browser. */
177
+ export declare function supabaseSignOutCompat(): Promise<{
178
+ error: null;
179
+ }>;
180
+ /** `supabase.auth.signInWithOAuth({ provider, options: { redirectTo } })`: opens your sign-in page. */
181
+ export declare function supabaseSignInWithOAuthCompat(credentials?: {
182
+ provider?: string;
183
+ options?: {
184
+ redirectTo?: string;
185
+ signInUrl?: string;
186
+ };
187
+ }): Promise<{
188
+ data: {
189
+ provider?: string;
190
+ url: string;
191
+ };
192
+ error: null;
193
+ }>;
194
+ /**
195
+ * `supabase.auth.onAuthStateChange(callback)`: the callback fires with
196
+ * `SIGNED_IN` / `SIGNED_OUT` / `USER_UPDATED` as the Atlas session changes.
197
+ */
198
+ export declare function onSupabaseAuthStateChangeCompat(callback: (event: 'INITIAL_SESSION' | 'SIGNED_IN' | 'SIGNED_OUT' | 'USER_UPDATED', session: {
199
+ user: SupabaseCompatUser;
200
+ } | null) => void): {
201
+ data: {
202
+ subscription: {
203
+ unsubscribe(): void;
204
+ };
205
+ };
206
+ };
207
+ /** The `{ user, session }` pair Better Auth's `useSession()` / `getSession()` return. */
208
+ export interface BetterAuthCompatSession {
209
+ user: {
210
+ id: string;
211
+ email: string | null;
212
+ emailVerified: boolean;
213
+ name: string | null;
214
+ image: string | null;
215
+ };
216
+ session: {
217
+ id: string;
218
+ userId: string;
219
+ expiresAt: Date;
220
+ activeOrganizationId: string | null;
221
+ };
222
+ }
223
+ export declare function betterAuthSessionFrom(state: Pick<ActiveAtlas, 'status' | 'user' | 'claims'>): BetterAuthCompatSession | null;
224
+ export interface BetterAuthCompatClientOptions {
225
+ /** Where your Atlas sign-in page lives (default `/sign-in`). */
226
+ signInUrl?: string;
227
+ /** Where your Atlas sign-up page lives (default `/sign-up`). */
228
+ signUpUrl?: string;
229
+ /** Accepted (and ignored) so `createAuthClient({ baseURL })` call sites keep compiling. */
230
+ baseURL?: string;
231
+ [option: string]: unknown;
232
+ }
233
+ /**
234
+ * `createAuthClient()` from `better-auth/react`, on Atlas. The returned object has
235
+ * the same `useSession`, `getSession`, `signIn.social`, `signIn.email`, `signUp.email`
236
+ * and `signOut` members. The sign-in/up members open your Atlas pages (Atlas
237
+ * collects credentials on its own forms, never in app code).
238
+ */
239
+ export declare function createBetterAuthCompatClient(options?: BetterAuthCompatClientOptions): {
240
+ /** Type-only, like Better Auth's `authClient.$Infer.Session`. */
241
+ $Infer: {
242
+ Session: BetterAuthCompatSession;
243
+ };
244
+ useSession(): {
245
+ data: BetterAuthCompatSession | null;
246
+ isPending: boolean;
247
+ error: null;
248
+ refetch: () => Promise<void>;
249
+ };
250
+ getSession(): Promise<{
251
+ data: BetterAuthCompatSession | null;
252
+ error: null;
253
+ }>;
254
+ signIn: {
255
+ social(input?: {
256
+ provider?: string;
257
+ callbackURL?: string;
258
+ }): Promise<{
259
+ data: {
260
+ redirect: boolean;
261
+ };
262
+ error: null;
263
+ }>;
264
+ email(input?: {
265
+ callbackURL?: string;
266
+ }): Promise<{
267
+ data: {
268
+ redirect: boolean;
269
+ };
270
+ error: null;
271
+ }>;
272
+ magicLink(input?: {
273
+ callbackURL?: string;
274
+ }): Promise<{
275
+ data: {
276
+ redirect: boolean;
277
+ };
278
+ error: null;
279
+ }>;
280
+ passkey(): Promise<{
281
+ data: {
282
+ redirect: boolean;
283
+ };
284
+ error: null;
285
+ }>;
286
+ };
287
+ signUp: {
288
+ email(input?: {
289
+ callbackURL?: string;
290
+ }): Promise<{
291
+ data: {
292
+ redirect: boolean;
293
+ };
294
+ error: null;
295
+ }>;
296
+ };
297
+ signOut(input?: {
298
+ fetchOptions?: {
299
+ onSuccess?: () => void;
300
+ };
301
+ }): Promise<{
302
+ data: {
303
+ success: boolean;
304
+ };
305
+ error: null;
306
+ }>;
307
+ };