@motherbase/client 1.5.0 → 1.5.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 (93) hide show
  1. package/dist/admin.d.ts +131 -0
  2. package/dist/admin.d.ts.map +1 -0
  3. package/dist/admin.js +121 -0
  4. package/dist/admin.js.map +1 -0
  5. package/dist/auth.d.ts +459 -0
  6. package/dist/auth.d.ts.map +1 -0
  7. package/dist/auth.js +861 -0
  8. package/dist/auth.js.map +1 -0
  9. package/dist/channel.d.ts +129 -0
  10. package/dist/channel.d.ts.map +1 -0
  11. package/dist/channel.js +215 -0
  12. package/dist/channel.js.map +1 -0
  13. package/dist/compat.d.ts +40 -0
  14. package/dist/compat.d.ts.map +1 -0
  15. package/dist/compat.js +100 -0
  16. package/dist/compat.js.map +1 -0
  17. package/dist/cookie.d.ts +68 -0
  18. package/dist/cookie.d.ts.map +1 -0
  19. package/dist/cookie.js +152 -0
  20. package/dist/cookie.js.map +1 -0
  21. package/dist/database.d.ts +188 -0
  22. package/dist/database.d.ts.map +1 -0
  23. package/dist/database.js +2 -0
  24. package/dist/database.js.map +1 -0
  25. package/dist/functions.d.ts +60 -0
  26. package/dist/functions.d.ts.map +1 -0
  27. package/dist/functions.js +75 -0
  28. package/dist/functions.js.map +1 -0
  29. package/dist/http.d.ts +122 -0
  30. package/dist/http.d.ts.map +1 -0
  31. package/dist/http.js +206 -0
  32. package/dist/http.js.map +1 -0
  33. package/dist/index.d.ts +215 -0
  34. package/dist/index.d.ts.map +1 -0
  35. package/dist/index.js +365 -0
  36. package/dist/index.js.map +1 -0
  37. package/dist/mfa.d.ts +126 -0
  38. package/dist/mfa.d.ts.map +1 -0
  39. package/dist/mfa.js +156 -0
  40. package/dist/mfa.js.map +1 -0
  41. package/dist/organization.d.ts +234 -0
  42. package/dist/organization.d.ts.map +1 -0
  43. package/dist/organization.js +157 -0
  44. package/dist/organization.js.map +1 -0
  45. package/dist/passkey.d.ts +59 -0
  46. package/dist/passkey.d.ts.map +1 -0
  47. package/dist/passkey.js +87 -0
  48. package/dist/passkey.js.map +1 -0
  49. package/dist/pkce.d.ts +13 -0
  50. package/dist/pkce.d.ts.map +1 -0
  51. package/dist/pkce.js +52 -0
  52. package/dist/pkce.js.map +1 -0
  53. package/dist/plugin-endpoint.d.ts +20 -0
  54. package/dist/plugin-endpoint.d.ts.map +1 -0
  55. package/dist/plugin-endpoint.js +24 -0
  56. package/dist/plugin-endpoint.js.map +1 -0
  57. package/dist/postgrest.d.ts +326 -0
  58. package/dist/postgrest.d.ts.map +1 -0
  59. package/dist/postgrest.js +625 -0
  60. package/dist/postgrest.js.map +1 -0
  61. package/dist/query.d.ts +97 -0
  62. package/dist/query.d.ts.map +1 -0
  63. package/dist/query.js +94 -0
  64. package/dist/query.js.map +1 -0
  65. package/dist/realtime.d.ts +114 -0
  66. package/dist/realtime.d.ts.map +1 -0
  67. package/dist/realtime.js +376 -0
  68. package/dist/realtime.js.map +1 -0
  69. package/dist/session.d.ts +47 -0
  70. package/dist/session.d.ts.map +1 -0
  71. package/dist/session.js +136 -0
  72. package/dist/session.js.map +1 -0
  73. package/dist/sso.d.ts +147 -0
  74. package/dist/sso.d.ts.map +1 -0
  75. package/dist/sso.js +35 -0
  76. package/dist/sso.js.map +1 -0
  77. package/dist/storage.d.ts +268 -0
  78. package/dist/storage.d.ts.map +1 -0
  79. package/dist/storage.js +441 -0
  80. package/dist/storage.js.map +1 -0
  81. package/dist/testing.d.ts +38 -0
  82. package/dist/testing.d.ts.map +1 -0
  83. package/dist/testing.js +50 -0
  84. package/dist/testing.js.map +1 -0
  85. package/dist/types.d.ts +348 -0
  86. package/dist/types.d.ts.map +1 -0
  87. package/dist/types.js +2 -0
  88. package/dist/types.js.map +1 -0
  89. package/dist/warn.d.ts +2 -0
  90. package/dist/warn.d.ts.map +1 -0
  91. package/dist/warn.js +23 -0
  92. package/dist/warn.js.map +1 -0
  93. package/package.json +4 -2
@@ -0,0 +1 @@
1
+ {"version":3,"file":"auth.js","sourceRoot":"","sources":["../src/auth.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,129 @@
1
+ import type { RealtimeModule } from './realtime.js';
2
+ import type { RealtimeTopicEnvelope } from '@motherbase/contracts';
3
+ export type PostgresChangeEvent = 'INSERT' | 'UPDATE' | 'DELETE' | '*';
4
+ export interface PostgresChangeFilter {
5
+ event: PostgresChangeEvent;
6
+ schema?: string;
7
+ table: string;
8
+ /** PostgREST-style column filter, e.g. `room_id=eq.42`. Applied server-side in sub-project #4. */
9
+ filter?: string;
10
+ }
11
+ export interface PostgresChangePayload<T = Record<string, unknown>> {
12
+ schema: string;
13
+ table: string;
14
+ eventType: 'INSERT' | 'UPDATE' | 'DELETE';
15
+ new: T | Record<string, never>;
16
+ old: T | Record<string, never>;
17
+ commit_timestamp: string;
18
+ }
19
+ export interface BroadcastFilter {
20
+ event: string;
21
+ }
22
+ export interface PresenceFilter {
23
+ event: 'sync' | 'join' | 'leave';
24
+ }
25
+ export interface BroadcastMessage {
26
+ type: 'broadcast';
27
+ event: string;
28
+ payload?: Record<string, unknown>;
29
+ }
30
+ export interface BroadcastReceived {
31
+ type: 'broadcast';
32
+ event: string;
33
+ payload: unknown;
34
+ }
35
+ /**
36
+ * One tracked presence: whatever the peer passed to `track()`, plus the ref the
37
+ * server stamps on it. Generic so a caller that knows its own payload gets it
38
+ * typed (`channel.presenceState<{ name: string }>()`); the default stays open
39
+ * because presence payloads are defined by the application, not by the SDK.
40
+ */
41
+ export type PresenceEntry<T extends Record<string, unknown> = Record<string, unknown>> = T & {
42
+ presence_ref: string;
43
+ };
44
+ export type PresenceState<T extends Record<string, unknown> = Record<string, unknown>> = Record<string, PresenceEntry<T>[]>;
45
+ export interface PresenceJoinPayload<T extends Record<string, unknown> = Record<string, unknown>> {
46
+ key: string;
47
+ newPresences: PresenceEntry<T>[];
48
+ currentPresences: PresenceEntry<T>[];
49
+ }
50
+ export interface PresenceLeavePayload<T extends Record<string, unknown> = Record<string, unknown>> {
51
+ key: string;
52
+ leftPresences: PresenceEntry<T>[];
53
+ currentPresences: PresenceEntry<T>[];
54
+ }
55
+ export type ChannelStatus = 'SUBSCRIBED' | 'TIMED_OUT' | 'CLOSED' | 'CHANNEL_ERROR';
56
+ export interface RealtimeChannelOptions {
57
+ config?: {
58
+ broadcast?: {
59
+ self?: boolean;
60
+ ack?: boolean;
61
+ };
62
+ presence?: {
63
+ key?: string;
64
+ };
65
+ /**
66
+ * Join the private channel of this topic (Realtime Authorization). The
67
+ * server checks the RLS policies on `realtime.messages` at join time:
68
+ * SELECT to receive, INSERT to send or track. Without a readable policy the
69
+ * subscribe ends in CHANNEL_ERROR ("Unauthorized: ...").
70
+ */
71
+ private?: boolean;
72
+ };
73
+ }
74
+ /**
75
+ * Supabase-compatible realtime channel. Multiplexes broadcast, presence, and
76
+ * postgres_changes over a single topic. `postgres_changes` is delivered through
77
+ * the RealtimeModule.watchTable bridge in this release; broadcast/presence are
78
+ * routed by topic via rt:msg envelopes.
79
+ */
80
+ export declare class RealtimeChannel {
81
+ readonly topic: string;
82
+ private readonly realtime;
83
+ private readonly options;
84
+ private readonly pgBindings;
85
+ private readonly broadcastBindings;
86
+ private readonly presenceBindings;
87
+ private status;
88
+ private presence;
89
+ /** Settles when the current subscribe() attempt has an ack (or has failed). */
90
+ private ready;
91
+ private onStatus?;
92
+ /** Last state passed to track(), replayed after a reconnect. */
93
+ private trackedState;
94
+ constructor(topic: string, realtime: RealtimeModule, options?: RealtimeChannelOptions);
95
+ on(type: 'broadcast', filter: BroadcastFilter, callback: (payload: BroadcastReceived) => void): this;
96
+ on(type: 'presence', filter: PresenceFilter, callback: (payload: unknown) => void): this;
97
+ on(type: 'postgres_changes', filter: PostgresChangeFilter, callback: (payload: PostgresChangePayload) => void): this;
98
+ /**
99
+ * Join the topic. Returns `this` (supabase-js shape), so it is NOT awaitable:
100
+ * `send()` / `track()` / `untrack()` issued straight after are queued until the
101
+ * join is acked instead of leaving early and being rejected by the server.
102
+ */
103
+ subscribe(onStatus?: (status: ChannelStatus, err?: Error) => void, timeoutMs?: number): this;
104
+ unsubscribe(): Promise<'ok'>;
105
+ /**
106
+ * Broadcast a message to the topic. Other clients on the topic with a matching
107
+ * `on('broadcast', { event })` binding receive it; the sender receives its own
108
+ * message only when the channel was created with `config.broadcast.self`.
109
+ * With `config.broadcast.ack`, resolves on the server ack.
110
+ */
111
+ send(message: BroadcastMessage): Promise<'ok' | 'timed out' | 'error'>;
112
+ /** Announce this client's presence on the topic with the given state. */
113
+ track(state: Record<string, unknown>): Promise<'ok' | 'timed out' | 'error'>;
114
+ /** Remove this client's presence from the topic. */
115
+ untrack(): Promise<'ok' | 'timed out' | 'error'>;
116
+ /** Current presence state, keyed by presence key. */
117
+ presenceState<T extends Record<string, unknown> = Record<string, unknown>>(): PresenceState<T>;
118
+ /** Wait for a pending subscribe() to settle; false when the topic is not joined. */
119
+ private subscribed;
120
+ private setStatus;
121
+ /** Internal: the module replayed this topic's join on a new socket. */
122
+ _rejoined(ok: boolean): void;
123
+ /** Internal: receive a topic envelope routed by RealtimeModule. */
124
+ _receive(envelope: RealtimeTopicEnvelope): void;
125
+ private applyPresenceState;
126
+ private emitPresence;
127
+ private buildConfig;
128
+ }
129
+ //# sourceMappingURL=channel.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"channel.d.ts","sourceRoot":"","sources":["../src/channel.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,215 @@
1
+ /**
2
+ * Supabase-compatible realtime channel. Multiplexes broadcast, presence, and
3
+ * postgres_changes over a single topic. `postgres_changes` is delivered through
4
+ * the RealtimeModule.watchTable bridge in this release; broadcast/presence are
5
+ * routed by topic via rt:msg envelopes.
6
+ */
7
+ export class RealtimeChannel {
8
+ constructor(topic, realtime, options = {}) {
9
+ this.topic = topic;
10
+ this.realtime = realtime;
11
+ this.options = options;
12
+ this.pgBindings = [];
13
+ this.broadcastBindings = [];
14
+ this.presenceBindings = [];
15
+ this.status = 'CLOSED';
16
+ this.presence = {};
17
+ /** Settles when the current subscribe() attempt has an ack (or has failed). */
18
+ this.ready = Promise.resolve();
19
+ /** Last state passed to track(), replayed after a reconnect. */
20
+ this.trackedState = null;
21
+ }
22
+ on(type, filter, callback) {
23
+ if (type === 'broadcast') {
24
+ this.broadcastBindings.push({
25
+ event: filter.event,
26
+ callback: callback,
27
+ });
28
+ }
29
+ else if (type === 'presence') {
30
+ this.presenceBindings.push({
31
+ event: filter.event,
32
+ callback: callback,
33
+ });
34
+ }
35
+ else if (type === 'postgres_changes') {
36
+ this.pgBindings.push({
37
+ filter: filter,
38
+ callback: callback,
39
+ });
40
+ }
41
+ else {
42
+ throw new Error(`Unsupported channel event type "${type}". Use broadcast | presence | postgres_changes.`);
43
+ }
44
+ return this;
45
+ }
46
+ /**
47
+ * Join the topic. Returns `this` (supabase-js shape), so it is NOT awaitable:
48
+ * `send()` / `track()` / `untrack()` issued straight after are queued until the
49
+ * join is acked instead of leaving early and being rejected by the server.
50
+ */
51
+ subscribe(onStatus, timeoutMs = 10000) {
52
+ this.onStatus = onStatus;
53
+ this.ready = (async () => {
54
+ try {
55
+ await this.realtime.connect({ fallbackPolling: false });
56
+ }
57
+ catch (err) {
58
+ this.setStatus('CHANNEL_ERROR', err instanceof Error ? err : new Error(String(err)));
59
+ return;
60
+ }
61
+ this.realtime.registerChannel(this.topic, this);
62
+ const ack = await this.realtime.joinTopic(this.topic, this.buildConfig(), timeoutMs);
63
+ if (ack.status === 'ok')
64
+ this.setStatus('SUBSCRIBED');
65
+ else if (ack.error === 'timeout')
66
+ this.setStatus('TIMED_OUT', new Error('Realtime join timed out'));
67
+ else
68
+ this.setStatus('CHANNEL_ERROR', new Error(ack.error ?? 'Realtime join failed'));
69
+ })();
70
+ return this;
71
+ }
72
+ async unsubscribe() {
73
+ this.realtime.leaveTopic(this.topic);
74
+ this.realtime.unregisterChannel(this.topic);
75
+ this.presence = {};
76
+ this.trackedState = null;
77
+ this.status = 'CLOSED';
78
+ this.ready = Promise.resolve();
79
+ return 'ok';
80
+ }
81
+ /**
82
+ * Broadcast a message to the topic. Other clients on the topic with a matching
83
+ * `on('broadcast', { event })` binding receive it; the sender receives its own
84
+ * message only when the channel was created with `config.broadcast.self`.
85
+ * With `config.broadcast.ack`, resolves on the server ack.
86
+ */
87
+ async send(message) {
88
+ if (!(await this.subscribed()))
89
+ return 'error';
90
+ if (this.options.config?.broadcast?.ack) {
91
+ return this.realtime.sendTopicWithAck(this.topic, 'broadcast', message.event, message.payload ?? {});
92
+ }
93
+ this.realtime.sendTopic(this.topic, 'broadcast', message.event, message.payload ?? {});
94
+ return 'ok';
95
+ }
96
+ /** Announce this client's presence on the topic with the given state. */
97
+ async track(state) {
98
+ this.trackedState = state;
99
+ if (!(await this.subscribed()))
100
+ return 'error';
101
+ return this.realtime.sendTopicWithAck(this.topic, 'presence', 'track', { state });
102
+ }
103
+ /** Remove this client's presence from the topic. */
104
+ async untrack() {
105
+ this.trackedState = null;
106
+ if (!(await this.subscribed()))
107
+ return 'error';
108
+ return this.realtime.sendTopicWithAck(this.topic, 'presence', 'untrack', {});
109
+ }
110
+ /** Current presence state, keyed by presence key. */
111
+ presenceState() {
112
+ return this.presence;
113
+ }
114
+ /** Wait for a pending subscribe() to settle; false when the topic is not joined. */
115
+ async subscribed() {
116
+ await this.ready;
117
+ return this.status === 'SUBSCRIBED';
118
+ }
119
+ setStatus(status, err) {
120
+ this.status = status;
121
+ this.onStatus?.(status, err);
122
+ }
123
+ /** Internal: the module replayed this topic's join on a new socket. */
124
+ _rejoined(ok) {
125
+ if (!ok) {
126
+ this.setStatus('CHANNEL_ERROR', new Error('Realtime rejoin failed'));
127
+ return;
128
+ }
129
+ // Presence lives on the server socket that just died: re-announce it.
130
+ if (this.trackedState) {
131
+ void this.realtime.sendTopicWithAck(this.topic, 'presence', 'track', { state: this.trackedState });
132
+ }
133
+ this.setStatus('SUBSCRIBED');
134
+ }
135
+ /** Internal: receive a topic envelope routed by RealtimeModule. */
136
+ _receive(envelope) {
137
+ if (envelope.type === 'broadcast') {
138
+ for (const binding of this.broadcastBindings) {
139
+ if (binding.event === '*' || binding.event === envelope.event) {
140
+ binding.callback({ type: 'broadcast', event: envelope.event, payload: envelope.payload });
141
+ }
142
+ }
143
+ }
144
+ else if (envelope.type === 'presence') {
145
+ // The server sends the full presence state; diff it into sync/join/leave.
146
+ if (envelope.event === 'state')
147
+ this.applyPresenceState(envelope.payload);
148
+ }
149
+ else if (envelope.type === 'postgres_changes') {
150
+ const payload = envelope.payload;
151
+ for (const binding of this.pgBindings) {
152
+ const filter = binding.filter;
153
+ if ((filter.schema ?? 'public') !== payload.schema)
154
+ continue;
155
+ if (filter.table !== payload.table)
156
+ continue;
157
+ if (filter.event !== '*' && filter.event !== payload.eventType)
158
+ continue;
159
+ binding.callback(payload);
160
+ }
161
+ }
162
+ }
163
+ applyPresenceState(next) {
164
+ const prev = this.presence;
165
+ const prevRefs = new Set();
166
+ for (const key of Object.keys(prev))
167
+ for (const p of prev[key])
168
+ prevRefs.add(p.presence_ref);
169
+ const nextRefs = new Set();
170
+ for (const key of Object.keys(next))
171
+ for (const p of next[key])
172
+ nextRefs.add(p.presence_ref);
173
+ for (const key of Object.keys(next)) {
174
+ const newPresences = next[key].filter(p => !prevRefs.has(p.presence_ref));
175
+ if (newPresences.length) {
176
+ this.emitPresence('join', { key, newPresences, currentPresences: next[key] });
177
+ }
178
+ }
179
+ for (const key of Object.keys(prev)) {
180
+ const leftPresences = prev[key].filter(p => !nextRefs.has(p.presence_ref));
181
+ if (leftPresences.length) {
182
+ this.emitPresence('leave', { key, leftPresences, currentPresences: next[key] ?? [] });
183
+ }
184
+ }
185
+ this.presence = next;
186
+ this.emitPresence('sync', undefined);
187
+ }
188
+ emitPresence(event, payload) {
189
+ for (const binding of this.presenceBindings) {
190
+ if (binding.event === event)
191
+ binding.callback(payload);
192
+ }
193
+ }
194
+ buildConfig() {
195
+ const config = {};
196
+ if (this.options.config?.broadcast) {
197
+ config.broadcast = { self: Boolean(this.options.config.broadcast.self) };
198
+ }
199
+ if (this.options.config?.presence) {
200
+ config.presence = { key: this.options.config.presence.key };
201
+ }
202
+ if (this.options.config?.private)
203
+ config.private = true;
204
+ if (this.pgBindings.length) {
205
+ config.postgres_changes = this.pgBindings.map(b => ({
206
+ event: b.filter.event,
207
+ schema: b.filter.schema ?? 'public',
208
+ table: b.filter.table,
209
+ filter: b.filter.filter,
210
+ }));
211
+ }
212
+ return config;
213
+ }
214
+ }
215
+ //# sourceMappingURL=channel.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"channel.js","sourceRoot":"","sources":["../src/channel.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,40 @@
1
+ /**
2
+ * supabase-js shape normalisation.
3
+ *
4
+ * Motherbase speaks Better Auth, which names things `accessToken`, `createdAt`
5
+ * and puts custom profile fields flat on the user. supabase-js hands
6
+ * applications `access_token`, `created_at` and `user_metadata`. Code ported
7
+ * from Supabase reads the second set, and reading a field that does not exist
8
+ * is not an error: it is `undefined`, rendered as a blank name or an infinite
9
+ * loading spinner, at runtime, in production.
10
+ *
11
+ * So every session and user that leaves the SDK carries BOTH spellings. The
12
+ * camelCase ones stay authoritative (nothing existing breaks); the snake_case
13
+ * ones are aliases added on the way out. Normalisation happens in exactly one
14
+ * place, the session store, so no call path can forget it.
15
+ */
16
+ import type { Session, User } from './types.js';
17
+ /**
18
+ * Add the supabase-js user aliases without dropping anything Better Auth sent.
19
+ *
20
+ * `user_metadata` collects the profile fields (`name`, `image`, and any
21
+ * `additionalFields` the project configured), because that is where a Supabase
22
+ * app looks for them. They stay flat on the user as well.
23
+ *
24
+ * `app_metadata` is deliberately `{}` rather than a guessed `{ provider:
25
+ * 'email' }`: the client cannot know which provider issued the session, and a
26
+ * wrong provider is worse than a missing one. Reading `.provider` off it yields
27
+ * `undefined` instead of throwing, which is the failure mode that lets an app
28
+ * boot.
29
+ */
30
+ export declare function normalizeUser(user: User | null | undefined): User | null;
31
+ /**
32
+ * Add the supabase-js session aliases.
33
+ *
34
+ * `expires_at` / `expires_in` are only emitted when the server actually told us
35
+ * when the session ends. Inventing a lifetime would be worse than omitting it:
36
+ * supabase-js callers use `expires_at` to decide when to refresh, and a made-up
37
+ * value schedules a refresh at the wrong time.
38
+ */
39
+ export declare function normalizeSession(session: Session | null | undefined): Session | null;
40
+ //# sourceMappingURL=compat.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"compat.d.ts","sourceRoot":"","sources":["../src/compat.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AACH,OAAO,KAAK,EAAE,OAAO,EAAE,IAAI,EAAgB,MAAM,YAAY,CAAC;AAkC9D;;;;;;;;;;;;GAYG;AACH,wBAAgB,aAAa,CAAC,IAAI,EAAE,IAAI,GAAG,IAAI,GAAG,SAAS,GAAG,IAAI,GAAG,IAAI,CA8BxE;AAED;;;;;;;GAOG;AACH,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,GAAG,SAAS,GAAG,OAAO,GAAG,IAAI,CAepF"}
package/dist/compat.js ADDED
@@ -0,0 +1,100 @@
1
+ /** Fields Better Auth owns on the user, which are not profile metadata. */
2
+ const RESERVED_USER_FIELDS = new Set([
3
+ 'id',
4
+ 'email',
5
+ 'emailVerified',
6
+ 'createdAt',
7
+ 'updatedAt',
8
+ 'role',
9
+ 'banned',
10
+ 'banReason',
11
+ 'banExpires',
12
+ 'twoFactorEnabled',
13
+ 'isAnonymous',
14
+ // aliases this module itself adds, so a re-normalisation is idempotent
15
+ 'aud',
16
+ 'created_at',
17
+ 'updated_at',
18
+ 'email_confirmed_at',
19
+ 'confirmed_at',
20
+ 'phone',
21
+ 'app_metadata',
22
+ 'user_metadata',
23
+ 'identities',
24
+ 'is_anonymous',
25
+ ]);
26
+ function asIso(value) {
27
+ if (typeof value === 'string')
28
+ return value;
29
+ if (value instanceof Date)
30
+ return value.toISOString();
31
+ return undefined;
32
+ }
33
+ /**
34
+ * Add the supabase-js user aliases without dropping anything Better Auth sent.
35
+ *
36
+ * `user_metadata` collects the profile fields (`name`, `image`, and any
37
+ * `additionalFields` the project configured), because that is where a Supabase
38
+ * app looks for them. They stay flat on the user as well.
39
+ *
40
+ * `app_metadata` is deliberately `{}` rather than a guessed `{ provider:
41
+ * 'email' }`: the client cannot know which provider issued the session, and a
42
+ * wrong provider is worse than a missing one. Reading `.provider` off it yields
43
+ * `undefined` instead of throwing, which is the failure mode that lets an app
44
+ * boot.
45
+ */
46
+ export function normalizeUser(user) {
47
+ if (!user)
48
+ return null;
49
+ const metadata = { ...user.user_metadata };
50
+ for (const [key, value] of Object.entries(user)) {
51
+ if (!RESERVED_USER_FIELDS.has(key))
52
+ metadata[key] = value;
53
+ }
54
+ const createdAt = asIso(user.createdAt) ?? asIso(user.created_at);
55
+ const updatedAt = asIso(user.updatedAt) ?? asIso(user.updated_at);
56
+ // Better Auth stores email verification as a boolean, not a timestamp. The
57
+ // honest mapping is "verified at some point at or before the last update":
58
+ // apps branch on truthiness of this field, not on its exact value.
59
+ const emailConfirmedAt = user.emailVerified ? (updatedAt ?? createdAt ?? null) : null;
60
+ return {
61
+ ...user,
62
+ aud: user.aud ?? 'authenticated',
63
+ role: user.role ?? 'authenticated',
64
+ created_at: createdAt ?? null,
65
+ updated_at: updatedAt ?? null,
66
+ email_confirmed_at: emailConfirmedAt,
67
+ confirmed_at: emailConfirmedAt,
68
+ phone: user.phone ?? user.phoneNumber ?? '',
69
+ app_metadata: user.app_metadata ?? {},
70
+ user_metadata: metadata,
71
+ identities: user.identities ?? [],
72
+ // Better Auth's anonymous plugin names it `isAnonymous`.
73
+ is_anonymous: user.is_anonymous ?? Boolean(user.isAnonymous),
74
+ };
75
+ }
76
+ /**
77
+ * Add the supabase-js session aliases.
78
+ *
79
+ * `expires_at` / `expires_in` are only emitted when the server actually told us
80
+ * when the session ends. Inventing a lifetime would be worse than omitting it:
81
+ * supabase-js callers use `expires_at` to decide when to refresh, and a made-up
82
+ * value schedules a refresh at the wrong time.
83
+ */
84
+ export function normalizeSession(session) {
85
+ if (!session)
86
+ return null;
87
+ const user = normalizeUser(session.user);
88
+ const expiresAt = typeof session.expires_at === 'number' ? session.expires_at : undefined;
89
+ return {
90
+ ...session,
91
+ user: user ?? session.user,
92
+ access_token: session.accessToken,
93
+ refresh_token: session.refreshToken ?? null,
94
+ token_type: 'bearer',
95
+ ...(expiresAt === undefined
96
+ ? {}
97
+ : { expires_at: expiresAt, expires_in: Math.max(0, expiresAt - Math.floor(Date.now() / 1000)) }),
98
+ };
99
+ }
100
+ //# sourceMappingURL=compat.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"compat.js","sourceRoot":"","sources":["../src/compat.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,68 @@
1
+ import type { Session, SessionStorageAdapter } from './types.js';
2
+ import { SESSION_COOKIE_KEY } from './session.js';
3
+ export interface CookieOptions {
4
+ path?: string;
5
+ maxAge?: number;
6
+ secure?: boolean;
7
+ sameSite?: 'lax' | 'strict' | 'none';
8
+ httpOnly?: boolean;
9
+ domain?: string;
10
+ }
11
+ /** A single cookie to write, as returned by `document.cookie`/`next/headers` style APIs. */
12
+ export interface CookieToSet {
13
+ name: string;
14
+ value: string;
15
+ options?: CookieOptions;
16
+ }
17
+ /**
18
+ * Batch cookie read/write, matching the shape Next.js's `cookies()` and
19
+ * `NextRequest.cookies`/`NextResponse.cookies` already provide.
20
+ */
21
+ export interface CookieMethods {
22
+ getAll(): {
23
+ name: string;
24
+ value: string;
25
+ }[];
26
+ setAll(cookies: CookieToSet[]): void;
27
+ }
28
+ /**
29
+ * The cookie the session is stored in. Re-exported here because both halves of
30
+ * an SSR setup have to agree on it: the browser writes it, the server reads it,
31
+ * and a key that matches on only one side looks exactly like "logged out".
32
+ */
33
+ export { SESSION_COOKIE_KEY };
34
+ /**
35
+ * `process` is not declared in this package's lib (it targets the browser), so
36
+ * read it off `globalThis` rather than pulling in @types/node for one check.
37
+ * @internal
38
+ */
39
+ export declare function isProduction(): boolean;
40
+ /** @internal exported for tests; not part of the package's public surface. */
41
+ export declare function parseSession(raw: string | undefined): Session | null;
42
+ /**
43
+ * Browser cookie adapter. Falls back to in-memory storage when
44
+ * `document` is not available (SSR, Node.js environments).
45
+ */
46
+ export declare function cookieStorage(options?: {
47
+ key?: string;
48
+ path?: string;
49
+ secure?: boolean;
50
+ sameSite?: 'lax' | 'strict' | 'none';
51
+ }): SessionStorageAdapter;
52
+ /**
53
+ * Server-side cookie adapter built on batch `getAll`/`setAll` methods.
54
+ * The shape Next.js's `cookies()` (Server Components/Route Handlers) and
55
+ * `NextRequest.cookies`/`NextResponse.cookies` (middleware) already expose.
56
+ *
57
+ * `httpOnly` defaults to false, and that default is load-bearing: in the
58
+ * standard SSR setup `createBrowserClient` reads this same cookie from
59
+ * `document.cookie`, so hiding it from scripts signs the browser half out.
60
+ * Turn it on only when the browser client keeps its own copy elsewhere
61
+ * (`storage: localStorageStorage()`). Either way the cookie is unsigned, so
62
+ * `auth.getSession()` stays untrusted; `auth.getUser()` is the verified read.
63
+ */
64
+ export declare function serverCookieStorage(cookies: CookieMethods, key?: string, options?: {
65
+ secure?: boolean;
66
+ httpOnly?: boolean;
67
+ }): SessionStorageAdapter;
68
+ //# sourceMappingURL=cookie.d.ts.map