@motherbase/client 1.0.2 → 1.1.3
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/README.md +42 -30
- package/dist/auth.d.ts +108 -0
- package/dist/auth.d.ts.map +1 -1
- package/dist/auth.js +184 -5
- package/dist/auth.js.map +1 -1
- package/dist/channel.d.ts +79 -15
- package/dist/channel.d.ts.map +1 -1
- package/dist/channel.js +153 -48
- package/dist/channel.js.map +1 -1
- package/dist/functions.d.ts +11 -0
- package/dist/functions.d.ts.map +1 -1
- package/dist/functions.js +5 -2
- package/dist/functions.js.map +1 -1
- package/dist/http.d.ts +2 -0
- package/dist/http.d.ts.map +1 -1
- package/dist/http.js +1 -1
- package/dist/http.js.map +1 -1
- package/dist/index.d.ts +6 -6
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +2 -2
- package/dist/index.js.map +1 -1
- package/dist/postgrest.d.ts.map +1 -1
- package/dist/postgrest.js +2 -1
- package/dist/postgrest.js.map +1 -1
- package/dist/realtime.d.ts +23 -0
- package/dist/realtime.d.ts.map +1 -1
- package/dist/realtime.js +117 -5
- package/dist/realtime.js.map +1 -1
- package/dist/storage.d.ts +2 -2
- package/dist/storage.d.ts.map +1 -1
- package/dist/storage.js +10 -5
- package/dist/storage.js.map +1 -1
- package/dist/types.d.ts +5 -0
- package/dist/types.d.ts.map +1 -1
- package/dist/types.js +0 -1
- package/dist/types.js.map +1 -1
- package/package.json +4 -1
package/dist/channel.js
CHANGED
|
@@ -1,74 +1,179 @@
|
|
|
1
|
-
const WATCH_TO_EVENT = {
|
|
2
|
-
created: 'INSERT',
|
|
3
|
-
updated: 'UPDATE',
|
|
4
|
-
deleted: 'DELETE',
|
|
5
|
-
};
|
|
6
1
|
/**
|
|
7
|
-
* Supabase-compatible realtime channel.
|
|
8
|
-
*
|
|
9
|
-
*
|
|
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.
|
|
10
6
|
*/
|
|
11
7
|
export class RealtimeChannel {
|
|
12
|
-
constructor(topic, realtime) {
|
|
8
|
+
constructor(topic, realtime, options = {}) {
|
|
13
9
|
this.topic = topic;
|
|
14
10
|
this.realtime = realtime;
|
|
15
|
-
this.
|
|
16
|
-
this.
|
|
17
|
-
this.
|
|
11
|
+
this.options = options;
|
|
12
|
+
this.pgBindings = [];
|
|
13
|
+
this.broadcastBindings = [];
|
|
14
|
+
this.presenceBindings = [];
|
|
15
|
+
this.status = 'CLOSED';
|
|
16
|
+
this.presence = {};
|
|
18
17
|
}
|
|
19
|
-
/** Register a `postgres_changes` listener. Chainable, like supabase-js. */
|
|
20
18
|
on(type, filter, callback) {
|
|
21
|
-
if (type
|
|
22
|
-
|
|
19
|
+
if (type === 'broadcast') {
|
|
20
|
+
this.broadcastBindings.push({
|
|
21
|
+
event: filter.event,
|
|
22
|
+
callback: callback,
|
|
23
|
+
});
|
|
24
|
+
}
|
|
25
|
+
else if (type === 'presence') {
|
|
26
|
+
this.presenceBindings.push({
|
|
27
|
+
event: filter.event,
|
|
28
|
+
callback: callback,
|
|
29
|
+
});
|
|
30
|
+
}
|
|
31
|
+
else if (type === 'postgres_changes') {
|
|
32
|
+
this.pgBindings.push({
|
|
33
|
+
filter: filter,
|
|
34
|
+
callback: callback,
|
|
35
|
+
});
|
|
36
|
+
}
|
|
37
|
+
else {
|
|
38
|
+
throw new Error(`Unsupported channel event type "${type}". Use broadcast | presence | postgres_changes.`);
|
|
23
39
|
}
|
|
24
|
-
this.bindings.push({ filter, callback });
|
|
25
40
|
return this;
|
|
26
41
|
}
|
|
27
|
-
|
|
28
|
-
* Connect (if needed) and start delivering events. Optionally reports status.
|
|
29
|
-
* Returns the channel for chaining, matching supabase-js.
|
|
30
|
-
*/
|
|
31
|
-
subscribe(onStatus) {
|
|
42
|
+
subscribe(onStatus, timeoutMs = 10000) {
|
|
32
43
|
void (async () => {
|
|
33
44
|
try {
|
|
34
45
|
await this.realtime.connect({ fallbackPolling: false });
|
|
35
|
-
for (const binding of this.bindings)
|
|
36
|
-
this.attach(binding);
|
|
37
|
-
this.subscribed = true;
|
|
38
|
-
onStatus?.('SUBSCRIBED');
|
|
39
46
|
}
|
|
40
47
|
catch (err) {
|
|
48
|
+
this.status = 'CHANNEL_ERROR';
|
|
41
49
|
onStatus?.('CHANNEL_ERROR', err instanceof Error ? err : new Error(String(err)));
|
|
50
|
+
return;
|
|
51
|
+
}
|
|
52
|
+
this.realtime.registerChannel(this.topic, this);
|
|
53
|
+
const ack = await this.realtime.joinTopic(this.topic, this.buildConfig(), timeoutMs);
|
|
54
|
+
if (ack.status === 'ok') {
|
|
55
|
+
this.status = 'SUBSCRIBED';
|
|
56
|
+
onStatus?.('SUBSCRIBED');
|
|
57
|
+
}
|
|
58
|
+
else if (ack.error === 'timeout') {
|
|
59
|
+
this.status = 'TIMED_OUT';
|
|
60
|
+
onStatus?.('TIMED_OUT', new Error('Realtime join timed out'));
|
|
61
|
+
}
|
|
62
|
+
else {
|
|
63
|
+
this.status = 'CHANNEL_ERROR';
|
|
64
|
+
onStatus?.('CHANNEL_ERROR', new Error(ack.error ?? 'Realtime join failed'));
|
|
42
65
|
}
|
|
43
66
|
})();
|
|
44
67
|
return this;
|
|
45
68
|
}
|
|
46
|
-
/** Tear down all watchers for this channel. */
|
|
47
69
|
async unsubscribe() {
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
this.
|
|
70
|
+
this.realtime.leaveTopic(this.topic);
|
|
71
|
+
this.realtime.unregisterChannel(this.topic);
|
|
72
|
+
this.presence = {};
|
|
73
|
+
this.status = 'CLOSED';
|
|
51
74
|
return 'ok';
|
|
52
75
|
}
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
76
|
+
/**
|
|
77
|
+
* Broadcast a message to the topic. Other clients on the topic with a matching
|
|
78
|
+
* `on('broadcast', { event })` binding receive it; the sender receives its own
|
|
79
|
+
* message only when the channel was created with `config.broadcast.self`.
|
|
80
|
+
* With `config.broadcast.ack`, resolves on the server ack.
|
|
81
|
+
*/
|
|
82
|
+
send(message) {
|
|
83
|
+
if (this.options.config?.broadcast?.ack) {
|
|
84
|
+
return this.realtime.sendTopicWithAck(this.topic, 'broadcast', message.event, message.payload ?? {});
|
|
85
|
+
}
|
|
86
|
+
this.realtime.sendTopic(this.topic, 'broadcast', message.event, message.payload ?? {});
|
|
87
|
+
return Promise.resolve('ok');
|
|
88
|
+
}
|
|
89
|
+
/** Announce this client's presence on the topic with the given state. */
|
|
90
|
+
track(state) {
|
|
91
|
+
return this.realtime.sendTopicWithAck(this.topic, 'presence', 'track', { state });
|
|
92
|
+
}
|
|
93
|
+
/** Remove this client's presence from the topic. */
|
|
94
|
+
untrack() {
|
|
95
|
+
return this.realtime.sendTopicWithAck(this.topic, 'presence', 'untrack', {});
|
|
96
|
+
}
|
|
97
|
+
/** Current presence state, keyed by presence key. */
|
|
98
|
+
presenceState() {
|
|
99
|
+
return this.presence;
|
|
100
|
+
}
|
|
101
|
+
/** Internal: receive a topic envelope routed by RealtimeModule. */
|
|
102
|
+
_receive(envelope) {
|
|
103
|
+
if (envelope.type === 'broadcast') {
|
|
104
|
+
for (const binding of this.broadcastBindings) {
|
|
105
|
+
if (binding.event === '*' || binding.event === envelope.event) {
|
|
106
|
+
binding.callback({ type: 'broadcast', event: envelope.event, payload: envelope.payload });
|
|
107
|
+
}
|
|
108
|
+
}
|
|
109
|
+
}
|
|
110
|
+
else if (envelope.type === 'presence') {
|
|
111
|
+
// The server sends the full presence state; diff it into sync/join/leave.
|
|
112
|
+
if (envelope.event === 'state')
|
|
113
|
+
this.applyPresenceState(envelope.payload);
|
|
114
|
+
}
|
|
115
|
+
else if (envelope.type === 'postgres_changes') {
|
|
116
|
+
const payload = envelope.payload;
|
|
117
|
+
for (const binding of this.pgBindings) {
|
|
118
|
+
const filter = binding.filter;
|
|
119
|
+
if ((filter.schema ?? 'public') !== payload.schema)
|
|
120
|
+
continue;
|
|
121
|
+
if (filter.table !== payload.table)
|
|
122
|
+
continue;
|
|
123
|
+
if (filter.event !== '*' && filter.event !== payload.eventType)
|
|
124
|
+
continue;
|
|
125
|
+
binding.callback(payload);
|
|
126
|
+
}
|
|
127
|
+
}
|
|
128
|
+
}
|
|
129
|
+
applyPresenceState(next) {
|
|
130
|
+
const prev = this.presence;
|
|
131
|
+
const prevRefs = new Set();
|
|
132
|
+
for (const key of Object.keys(prev))
|
|
133
|
+
for (const p of prev[key])
|
|
134
|
+
prevRefs.add(p.presence_ref);
|
|
135
|
+
const nextRefs = new Set();
|
|
136
|
+
for (const key of Object.keys(next))
|
|
137
|
+
for (const p of next[key])
|
|
138
|
+
nextRefs.add(p.presence_ref);
|
|
139
|
+
for (const key of Object.keys(next)) {
|
|
140
|
+
const newPresences = next[key].filter(p => !prevRefs.has(p.presence_ref));
|
|
141
|
+
if (newPresences.length) {
|
|
142
|
+
this.emitPresence('join', { key, newPresences, currentPresences: next[key] });
|
|
143
|
+
}
|
|
144
|
+
}
|
|
145
|
+
for (const key of Object.keys(prev)) {
|
|
146
|
+
const leftPresences = prev[key].filter(p => !nextRefs.has(p.presence_ref));
|
|
147
|
+
if (leftPresences.length) {
|
|
148
|
+
this.emitPresence('leave', { key, leftPresences, currentPresences: next[key] ?? [] });
|
|
149
|
+
}
|
|
150
|
+
}
|
|
151
|
+
this.presence = next;
|
|
152
|
+
this.emitPresence('sync', undefined);
|
|
153
|
+
}
|
|
154
|
+
emitPresence(event, payload) {
|
|
155
|
+
for (const binding of this.presenceBindings) {
|
|
156
|
+
if (binding.event === event)
|
|
157
|
+
binding.callback(payload);
|
|
158
|
+
}
|
|
159
|
+
}
|
|
160
|
+
buildConfig() {
|
|
161
|
+
const config = {};
|
|
162
|
+
if (this.options.config?.broadcast) {
|
|
163
|
+
config.broadcast = { self: Boolean(this.options.config.broadcast.self) };
|
|
164
|
+
}
|
|
165
|
+
if (this.options.config?.presence) {
|
|
166
|
+
config.presence = { key: this.options.config.presence.key };
|
|
167
|
+
}
|
|
168
|
+
if (this.pgBindings.length) {
|
|
169
|
+
config.postgres_changes = this.pgBindings.map(b => ({
|
|
170
|
+
event: b.filter.event,
|
|
171
|
+
schema: b.filter.schema ?? 'public',
|
|
172
|
+
table: b.filter.table,
|
|
173
|
+
filter: b.filter.filter,
|
|
174
|
+
}));
|
|
175
|
+
}
|
|
176
|
+
return config;
|
|
72
177
|
}
|
|
73
178
|
}
|
|
74
179
|
//# sourceMappingURL=channel.js.map
|
package/dist/channel.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"channel.js","sourceRoot":"","sources":["../src/channel.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"channel.js","sourceRoot":"","sources":["../src/channel.ts"],"names":[],"mappings":"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"}
|
package/dist/functions.d.ts
CHANGED
|
@@ -1,8 +1,19 @@
|
|
|
1
1
|
import type { HttpClient } from './http.js';
|
|
2
2
|
import type { MotherbaseResponse } from './types.js';
|
|
3
|
+
export type FunctionInvokeAuth = {
|
|
4
|
+
type: 'edge-token';
|
|
5
|
+
token: string;
|
|
6
|
+
} | {
|
|
7
|
+
type: 'public';
|
|
8
|
+
};
|
|
3
9
|
export interface FunctionInvokeOptions<Body = unknown> {
|
|
4
10
|
/** JSON body passed to the edge function. */
|
|
5
11
|
body?: Body;
|
|
12
|
+
/**
|
|
13
|
+
* Authentication override. By default the current session bearer is used.
|
|
14
|
+
* Public and dedicated Edge-token invocations must be explicitly selected.
|
|
15
|
+
*/
|
|
16
|
+
auth?: FunctionInvokeAuth;
|
|
6
17
|
}
|
|
7
18
|
/** Supabase-compatible edge functions client: `client.functions.invoke(name, { body })`. */
|
|
8
19
|
export declare class FunctionsClient {
|
package/dist/functions.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"functions.d.ts","sourceRoot":"","sources":["../src/functions.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"functions.d.ts","sourceRoot":"","sources":["../src/functions.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,WAAW,CAAC;AAC5C,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAC;AAErD,MAAM,MAAM,kBAAkB,GAC1B;IAAE,IAAI,EAAE,YAAY,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,GACrC;IAAE,IAAI,EAAE,QAAQ,CAAA;CAAE,CAAC;AAEvB,MAAM,WAAW,qBAAqB,CAAC,IAAI,GAAG,OAAO;IACnD,6CAA6C;IAC7C,IAAI,CAAC,EAAE,IAAI,CAAC;IACZ;;;OAGG;IACH,IAAI,CAAC,EAAE,kBAAkB,CAAC;CAC3B;AAED,4FAA4F;AAC5F,qBAAa,eAAe;IACd,OAAO,CAAC,QAAQ,CAAC,IAAI;gBAAJ,IAAI,EAAE,UAAU;IAEvC,MAAM,CAAC,MAAM,GAAG,OAAO,EAAE,IAAI,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC3D,IAAI,EAAE,MAAM,EACZ,OAAO,GAAE,qBAAqB,CAAC,IAAI,CAAM,GACxC,OAAO,CAAC,kBAAkB,CAAC,MAAM,CAAC,CAAC;CAcvC"}
|
package/dist/functions.js
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { toError } from './http.js';
|
|
2
|
+
import { contractPath } from '@motherbase/contracts';
|
|
2
3
|
/** Supabase-compatible edge functions client: `client.functions.invoke(name, { body })`. */
|
|
3
4
|
export class FunctionsClient {
|
|
4
5
|
constructor(http) {
|
|
@@ -6,10 +7,12 @@ export class FunctionsClient {
|
|
|
6
7
|
}
|
|
7
8
|
async invoke(name, options = {}) {
|
|
8
9
|
try {
|
|
9
|
-
const
|
|
10
|
+
const edgeToken = options.auth?.type === 'edge-token' ? options.auth.token : undefined;
|
|
11
|
+
const data = await this.http.request(contractPath.edge(name), {
|
|
10
12
|
method: 'POST',
|
|
11
13
|
body: options.body ?? {},
|
|
12
|
-
anonymous:
|
|
14
|
+
anonymous: options.auth !== undefined,
|
|
15
|
+
headers: edgeToken ? { 'x-motherbase-edge-token': edgeToken } : undefined,
|
|
13
16
|
});
|
|
14
17
|
return { data, error: null };
|
|
15
18
|
}
|
package/dist/functions.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"functions.js","sourceRoot":"","sources":["../src/functions.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;
|
|
1
|
+
{"version":3,"file":"functions.js","sourceRoot":"","sources":["../src/functions.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AAkBrD,4FAA4F;AAC5F,MAAM,OAAO,eAAe;IAC1B,YAA6B,IAAgB;QAAhB,SAAI,GAAJ,IAAI,CAAY;IAAG,CAAC;IAEjD,KAAK,CAAC,MAAM,CACV,IAAY,EACZ,UAAuC,EAAE;QAEzC,IAAI,CAAC;YACH,MAAM,SAAS,GAAG,OAAO,CAAC,IAAI,EAAE,IAAI,KAAK,YAAY,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC;YACvF,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,OAAO,CAAS,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE;gBACpE,MAAM,EAAE,MAAM;gBACd,IAAI,EAAE,OAAO,CAAC,IAAI,IAAI,EAAE;gBACxB,SAAS,EAAE,OAAO,CAAC,IAAI,KAAK,SAAS;gBACrC,OAAO,EAAE,SAAS,CAAC,CAAC,CAAC,EAAE,yBAAyB,EAAE,SAAS,EAAE,CAAC,CAAC,CAAC,SAAS;aAC1E,CAAC,CAAC;YACH,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC;QAC/B,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC;QAC7C,CAAC;IACH,CAAC;CACF"}
|
package/dist/http.d.ts
CHANGED
|
@@ -15,6 +15,8 @@ export declare class BackendError extends Error {
|
|
|
15
15
|
}
|
|
16
16
|
export interface RequestOptions {
|
|
17
17
|
method?: string;
|
|
18
|
+
/** Headers scoped to this request. Override client-level headers. */
|
|
19
|
+
headers?: Record<string, string>;
|
|
18
20
|
/** JSON body. Mutually exclusive with `form`. */
|
|
19
21
|
body?: unknown;
|
|
20
22
|
/** Multipart body. Mutually exclusive with `body`. */
|
package/dist/http.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"http.d.ts","sourceRoot":"","sources":["../src/http.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAEjD;;;;GAIG;AACH,qBAAa,YAAa,SAAQ,KAAK;IACrC,2DAA2D;IAC3D,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,sDAAsD;IACtD,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;IAC5B,wCAAwC;IACxC,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC;gBAEX,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM;CAOnF;AAED,MAAM,WAAW,cAAc;IAC7B,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,iDAAiD;IACjD,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,sDAAsD;IACtD,IAAI,CAAC,EAAE,QAAQ,CAAC;IAChB,wEAAwE;IACxE,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB;;;;OAIG;IACH,GAAG,CAAC,EAAE,OAAO,CAAC;IACd,qDAAqD;IACrD,MAAM,CAAC,EAAE,OAAO,CAAC;CAClB;AAED;;;GAGG;AACH,qBAAa,UAAU;IAInB,OAAO,CAAC,QAAQ,CAAC,OAAO;IACxB,OAAO,CAAC,QAAQ,CAAC,KAAK;IACtB,OAAO,CAAC,QAAQ,CAAC,IAAI;IACrB,gFAAgF;IAChF,OAAO,CAAC,QAAQ,CAAC,SAAS;IAP5B,OAAO,CAAC,cAAc,CAAiC;gBAGpC,OAAO,EAAE,MAAM,EACf,KAAK,EAAE,YAAY,EACnB,IAAI,EAAE;QAAE,WAAW,EAAE,OAAO,CAAC;QAAC,KAAK,EAAE,OAAO,KAAK,CAAC;QAAC,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;KAAE;IACtG,gFAAgF;IAC/D,SAAS,EAAE,MAAM,OAAO,CAAC,OAAO,CAAC;IAG9C,OAAO,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,GAAE,cAAmB,GAAG,OAAO,CAAC,CAAC,CAAC;IAKxE,2EAA2E;IACrE,UAAU,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,GAAE,cAAmB,GAAG,OAAO,CAAC,QAAQ,CAAC;YASjE,eAAe;IAW7B,+EAA+E;IAC/E,OAAO,CAAC,WAAW;YASL,IAAI;YAsBJ,KAAK;IAgBnB,oFAAoF;YACtE,QAAQ;YAcR,YAAY;IAU1B,OAAO,CAAC,GAAG;CAGZ;AAED,wFAAwF;AACxF,wBAAgB,OAAO,CAAC,GAAG,EAAE,OAAO,GAAG;IAAE,OAAO,EAAE,MAAM,CAAC;IAAC,MAAM,CAAC,EAAE,MAAM,CAAC;IAAC,IAAI,CAAC,EAAE,MAAM,CAAA;CAAE,CAMzF"}
|
|
1
|
+
{"version":3,"file":"http.d.ts","sourceRoot":"","sources":["../src/http.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAEjD;;;;GAIG;AACH,qBAAa,YAAa,SAAQ,KAAK;IACrC,2DAA2D;IAC3D,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,sDAAsD;IACtD,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;IAC5B,wCAAwC;IACxC,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC;gBAEX,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM;CAOnF;AAED,MAAM,WAAW,cAAc;IAC7B,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,qEAAqE;IACrE,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACjC,iDAAiD;IACjD,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,sDAAsD;IACtD,IAAI,CAAC,EAAE,QAAQ,CAAC;IAChB,wEAAwE;IACxE,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB;;;;OAIG;IACH,GAAG,CAAC,EAAE,OAAO,CAAC;IACd,qDAAqD;IACrD,MAAM,CAAC,EAAE,OAAO,CAAC;CAClB;AAED;;;GAGG;AACH,qBAAa,UAAU;IAInB,OAAO,CAAC,QAAQ,CAAC,OAAO;IACxB,OAAO,CAAC,QAAQ,CAAC,KAAK;IACtB,OAAO,CAAC,QAAQ,CAAC,IAAI;IACrB,gFAAgF;IAChF,OAAO,CAAC,QAAQ,CAAC,SAAS;IAP5B,OAAO,CAAC,cAAc,CAAiC;gBAGpC,OAAO,EAAE,MAAM,EACf,KAAK,EAAE,YAAY,EACnB,IAAI,EAAE;QAAE,WAAW,EAAE,OAAO,CAAC;QAAC,KAAK,EAAE,OAAO,KAAK,CAAC;QAAC,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;KAAE;IACtG,gFAAgF;IAC/D,SAAS,EAAE,MAAM,OAAO,CAAC,OAAO,CAAC;IAG9C,OAAO,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,GAAE,cAAmB,GAAG,OAAO,CAAC,CAAC,CAAC;IAKxE,2EAA2E;IACrE,UAAU,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,GAAE,cAAmB,GAAG,OAAO,CAAC,QAAQ,CAAC;YASjE,eAAe;IAW7B,+EAA+E;IAC/E,OAAO,CAAC,WAAW;YASL,IAAI;YAsBJ,KAAK;IAgBnB,oFAAoF;YACtE,QAAQ;YAcR,YAAY;IAU1B,OAAO,CAAC,GAAG;CAGZ;AAED,wFAAwF;AACxF,wBAAgB,OAAO,CAAC,GAAG,EAAE,OAAO,GAAG;IAAE,OAAO,EAAE,MAAM,CAAC;IAAC,MAAM,CAAC,EAAE,MAAM,CAAC;IAAC,IAAI,CAAC,EAAE,MAAM,CAAA;CAAE,CAMzF"}
|
package/dist/http.js
CHANGED
|
@@ -59,7 +59,7 @@ export class HttpClient {
|
|
|
59
59
|
return this.refreshPromise;
|
|
60
60
|
}
|
|
61
61
|
async send(path, options) {
|
|
62
|
-
const headers = { ...this.opts.headers };
|
|
62
|
+
const headers = { ...this.opts.headers, ...options.headers };
|
|
63
63
|
const session = this.store.get();
|
|
64
64
|
if (!options.anonymous && session?.accessToken) {
|
|
65
65
|
headers['Authorization'] = `Bearer ${session.accessToken}`;
|
package/dist/http.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"http.js","sourceRoot":"","sources":["../src/http.ts"],"names":[],"mappings":"AAGA;;;;GAIG;AACH,MAAM,OAAO,YAAa,SAAQ,KAAK;IAQrC,YAAY,OAAe,EAAE,UAAkB,EAAE,SAAkB,EAAE,IAAa;QAChF,KAAK,CAAC,OAAO,CAAC,CAAC;QACf,IAAI,CAAC,IAAI,GAAG,cAAc,CAAC;QAC3B,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;QAC7B,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;QAC3B,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;IACnB,CAAC;CACF;
|
|
1
|
+
{"version":3,"file":"http.js","sourceRoot":"","sources":["../src/http.ts"],"names":[],"mappings":"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"}
|
package/dist/index.d.ts
CHANGED
|
@@ -3,7 +3,7 @@ import { AuthClient } from './auth.js';
|
|
|
3
3
|
import { StorageClient } from './storage.js';
|
|
4
4
|
import { FunctionsClient } from './functions.js';
|
|
5
5
|
import { RealtimeModule } from './realtime.js';
|
|
6
|
-
import { RealtimeChannel } from './channel.js';
|
|
6
|
+
import { RealtimeChannel, type RealtimeChannelOptions } from './channel.js';
|
|
7
7
|
import { PostgrestQueryBuilder } from './postgrest.js';
|
|
8
8
|
import type { ClientOptions } from './types.js';
|
|
9
9
|
/**
|
|
@@ -30,7 +30,7 @@ export declare class MotherbaseClient {
|
|
|
30
30
|
/** Start a PostgREST-style query against a table. */
|
|
31
31
|
from<Row extends object = Record<string, unknown>>(table: string): PostgrestQueryBuilder<Row>;
|
|
32
32
|
/** Create (or reuse) a realtime channel. */
|
|
33
|
-
channel(name: string): RealtimeChannel;
|
|
33
|
+
channel(name: string, opts?: RealtimeChannelOptions): RealtimeChannel;
|
|
34
34
|
/** Unsubscribe and drop a channel. */
|
|
35
35
|
removeChannel(channel: RealtimeChannel): Promise<'ok'>;
|
|
36
36
|
/** Unsubscribe and drop every channel. */
|
|
@@ -52,14 +52,14 @@ export { cookieStorage, serverCookieStorage } from './cookie.js';
|
|
|
52
52
|
export { PostgrestQueryBuilder } from './postgrest.js';
|
|
53
53
|
export type { PostgrestSingleBuilder } from './postgrest.js';
|
|
54
54
|
export { AuthClient } from './auth.js';
|
|
55
|
-
export type { SignUpCredentials, SignInWithPasswordCredentials, Subscription } from './auth.js';
|
|
55
|
+
export type { SignUpCredentials, SignInWithPasswordCredentials, SignInWithOtpCredentials, VerifyOtpParams, SignInWithOAuthCredentials, UpdateUserAttributes, DeleteUserAttributes, Subscription, } from './auth.js';
|
|
56
56
|
export { StorageClient, StorageBucket } from './storage.js';
|
|
57
57
|
export type { UploadOptions, UploadResult } from './storage.js';
|
|
58
58
|
export { FunctionsClient } from './functions.js';
|
|
59
|
-
export type { FunctionInvokeOptions } from './functions.js';
|
|
59
|
+
export type { FunctionInvokeAuth, FunctionInvokeOptions } from './functions.js';
|
|
60
60
|
export { RealtimeChannel } from './channel.js';
|
|
61
|
-
export type { PostgresChangeEvent, PostgresChangeFilter, PostgresChangePayload, ChannelStatus, } from './channel.js';
|
|
61
|
+
export type { PostgresChangeEvent, PostgresChangeFilter, PostgresChangePayload, ChannelStatus, BroadcastFilter, PresenceFilter, BroadcastMessage, BroadcastReceived, RealtimeChannelOptions, PresenceEntry, PresenceState, PresenceJoinPayload, PresenceLeavePayload, } from './channel.js';
|
|
62
62
|
export type { CookieAdapter, CookieOptions } from './cookie.js';
|
|
63
|
-
export type { ApiEnvelope, User, Tokens, Session, FileObject, FileVisibility, UploadInput, SessionStorageAdapter, ClientOptions, MotherbaseResponse, MotherbaseError, AuthChangeEvent, AuthChangeListener, } from './types.js';
|
|
63
|
+
export type { ApiEnvelope, User, Tokens, Session, FileObject, FileVisibility, StorageUploadResponse, StorageRemoveResponse, UploadInput, SessionStorageAdapter, ClientOptions, MotherbaseResponse, MotherbaseError, AuthChangeEvent, AuthChangeListener, } from './types.js';
|
|
64
64
|
export type { RealtimeConnectOptions, RealtimeStatus, RealtimeStatusListener, RealtimeWatchEvent, RealtimeWatchOptions, IoFactory, SocketLike, } from './realtime.js';
|
|
65
65
|
//# sourceMappingURL=index.d.ts.map
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAgB,aAAa,EAAE,mBAAmB,EAAE,MAAM,cAAc,CAAC;AAChF,OAAO,EAAE,UAAU,EAAE,MAAM,WAAW,CAAC;AACvC,OAAO,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAC7C,OAAO,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAC;AACjD,OAAO,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AAC/C,OAAO,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
package/dist/index.js
CHANGED
|
@@ -43,11 +43,11 @@ export class MotherbaseClient {
|
|
|
43
43
|
return new PostgrestQueryBuilder(this.http, table);
|
|
44
44
|
}
|
|
45
45
|
/** Create (or reuse) a realtime channel. */
|
|
46
|
-
channel(name) {
|
|
46
|
+
channel(name, opts = {}) {
|
|
47
47
|
const existing = this.channels.get(name);
|
|
48
48
|
if (existing)
|
|
49
49
|
return existing;
|
|
50
|
-
const channel = new RealtimeChannel(name, this.realtime);
|
|
50
|
+
const channel = new RealtimeChannel(name, this.realtime, opts);
|
|
51
51
|
this.channels.set(name, channel);
|
|
52
52
|
return channel;
|
|
53
53
|
}
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,WAAW,CAAC;AACvC,OAAO,EAAE,YAAY,EAAE,aAAa,EAAE,mBAAmB,EAAE,MAAM,cAAc,CAAC;AAChF,OAAO,EAAE,UAAU,EAAE,MAAM,WAAW,CAAC;AACvC,OAAO,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAC7C,OAAO,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAC;AACjD,OAAO,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AAC/C,OAAO,EAAE,eAAe,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
package/dist/postgrest.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"postgrest.d.ts","sourceRoot":"","sources":["../src/postgrest.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAW,MAAM,WAAW,CAAC;
|
|
1
|
+
{"version":3,"file":"postgrest.d.ts","sourceRoot":"","sources":["../src/postgrest.ts"],"names":[],"mappings":"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"}
|
package/dist/postgrest.js
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { toError } from './http.js';
|
|
2
|
+
import { contractPath } from '@motherbase/contracts';
|
|
2
3
|
function encodeValue(value) {
|
|
3
4
|
if (value === null)
|
|
4
5
|
return 'null';
|
|
@@ -130,7 +131,7 @@ export class PostgrestQueryBuilder {
|
|
|
130
131
|
if (typeof this.offsetValue === 'number')
|
|
131
132
|
params.set('offset', String(this.offsetValue));
|
|
132
133
|
const query = params.toString();
|
|
133
|
-
return
|
|
134
|
+
return `${contractPath.rest(this.model)}${query ? `?${query}` : ''}`;
|
|
134
135
|
}
|
|
135
136
|
async execute() {
|
|
136
137
|
try {
|
package/dist/postgrest.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"postgrest.js","sourceRoot":"","sources":["../src/postgrest.ts"],"names":[],"mappings":"AAAA,OAAO,EAAc,OAAO,EAAE,MAAM,WAAW,CAAC;
|
|
1
|
+
{"version":3,"file":"postgrest.js","sourceRoot":"","sources":["../src/postgrest.ts"],"names":[],"mappings":"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"}
|
package/dist/realtime.d.ts
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import type { SessionStore } from './session.js';
|
|
2
|
+
import { type RealtimeJoinAck, type RealtimeJoinConfig, type RealtimeTopicEnvelope, type RealtimeTopicMessageType } from '@motherbase/contracts';
|
|
2
3
|
export type RealtimeStatus = 'idle' | 'connecting' | 'connected' | 'reconnecting' | 'polling' | 'disconnected' | 'error';
|
|
3
4
|
export type RealtimeStatusListener = (status: RealtimeStatus, detail?: unknown) => void;
|
|
4
5
|
export interface RealtimeConnectOptions {
|
|
@@ -44,7 +45,10 @@ export declare class RealtimeModule {
|
|
|
44
45
|
private status;
|
|
45
46
|
private readonly statusListeners;
|
|
46
47
|
private readonly pollers;
|
|
48
|
+
private readonly tableSubscriptionRefs;
|
|
47
49
|
private pollerSeq;
|
|
50
|
+
private readonly channelsByTopic;
|
|
51
|
+
private topicRouterBound;
|
|
48
52
|
constructor(baseUrl: string, store: SessionStore, fetchImpl?: typeof fetch,
|
|
49
53
|
/** Inject a socket factory (tests / custom transports). Falls back to socket.io-client. */
|
|
50
54
|
ioFactory?: IoFactory | undefined);
|
|
@@ -57,6 +61,10 @@ export declare class RealtimeModule {
|
|
|
57
61
|
off(event: string, cb?: (...args: unknown[]) => void): void;
|
|
58
62
|
emit(event: string, ...args: unknown[]): void;
|
|
59
63
|
/**
|
|
64
|
+
* @deprecated Legacy low-level table watcher. Prefer the Supabase-shaped
|
|
65
|
+
* `client.channel(topic).on('postgres_changes', { event, schema, table, filter }, cb)`.
|
|
66
|
+
* Kept for backwards compatibility; scheduled for removal.
|
|
67
|
+
*
|
|
60
68
|
* Subscribe to create/update/delete events for a model table.
|
|
61
69
|
*
|
|
62
70
|
* Events are filtered server-side: you will only receive events for rows
|
|
@@ -69,6 +77,21 @@ export declare class RealtimeModule {
|
|
|
69
77
|
*/
|
|
70
78
|
watchTable<T>(model: string, cb: (event: RealtimeWatchEvent<T>) => void, options?: RealtimeWatchOptions): () => void;
|
|
71
79
|
disconnect(): void;
|
|
80
|
+
/** Register a channel so incoming rt:msg envelopes for its topic are routed to it. */
|
|
81
|
+
registerChannel(topic: string, channel: {
|
|
82
|
+
_receive(env: RealtimeTopicEnvelope): void;
|
|
83
|
+
}): void;
|
|
84
|
+
unregisterChannel(topic: string): void;
|
|
85
|
+
/** Emit rt:join and resolve the server ack (or a timeout/error ack). */
|
|
86
|
+
joinTopic(topic: string, config: RealtimeJoinConfig, timeoutMs?: number): Promise<RealtimeJoinAck>;
|
|
87
|
+
leaveTopic(topic: string): void;
|
|
88
|
+
sendTopic(topic: string, type: RealtimeTopicMessageType, event: string, payload: unknown): void;
|
|
89
|
+
/** Emit an rt:msg and wait for the server ack (or resolve 'timed out'/'error'). */
|
|
90
|
+
sendTopicWithAck(topic: string, type: RealtimeTopicMessageType, event: string, payload: unknown, timeoutMs?: number): Promise<'ok' | 'timed out' | 'error'>;
|
|
91
|
+
private bindTopicRouter;
|
|
92
|
+
private retainTableSubscription;
|
|
93
|
+
private releaseTableSubscription;
|
|
94
|
+
private resubscribeTables;
|
|
72
95
|
private bindSocketStatus;
|
|
73
96
|
private waitForConnect;
|
|
74
97
|
private startPolling;
|
package/dist/realtime.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"realtime.d.ts","sourceRoot":"","sources":["../src/realtime.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;
|
|
1
|
+
{"version":3,"file":"realtime.d.ts","sourceRoot":"","sources":["../src/realtime.ts"],"names":[],"mappings":"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"}
|