@lakebed-native/client 0.1.1 → 0.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/dist/client/api.d.ts +11 -1
- package/dist/client/api.d.ts.map +1 -1
- package/dist/client/api.js +159 -24
- package/dist/client/api.js.map +1 -1
- package/dist/client/auth-events.d.ts +4 -0
- package/dist/client/auth-events.d.ts.map +1 -0
- package/dist/client/auth-events.js +18 -0
- package/dist/client/auth-events.js.map +1 -0
- package/dist/client/hooks.d.ts +15 -1
- package/dist/client/hooks.d.ts.map +1 -1
- package/dist/client/hooks.js +183 -8
- package/dist/client/hooks.js.map +1 -1
- package/dist/client/hosted-ws.d.ts +1 -1
- package/dist/client/hosted-ws.d.ts.map +1 -1
- package/dist/client/hosted-ws.js +46 -14
- package/dist/client/hosted-ws.js.map +1 -1
- package/dist/client/index.d.ts +1 -1
- package/dist/client/index.d.ts.map +1 -1
- package/dist/client/index.js +1 -1
- package/dist/client/index.js.map +1 -1
- package/dist/client/transport.d.ts +3 -0
- package/dist/client/transport.d.ts.map +1 -1
- package/dist/client/transport.js +36 -8
- package/dist/client/transport.js.map +1 -1
- package/package.json +14 -6
package/dist/client/api.d.ts
CHANGED
|
@@ -14,13 +14,23 @@ export declare function fetchMutation<T>(name: string, args?: unknown): Promise<
|
|
|
14
14
|
export declare function fetchAuth(): Promise<AuthUser | null>;
|
|
15
15
|
export declare function signInWithGoogle(options?: GoogleAuthOptions): Promise<AuthUser>;
|
|
16
16
|
export declare function signOut(): Promise<void>;
|
|
17
|
+
export declare class LocalWsTransportError extends Error {
|
|
18
|
+
readonly name = "LocalWsTransportError";
|
|
19
|
+
}
|
|
20
|
+
export declare function isLocalWsTransportError(err: unknown): err is LocalWsTransportError;
|
|
17
21
|
export type WsClient = {
|
|
18
22
|
subscribe: <T>(query: string, args: unknown | undefined, cb: (data: T) => void) => string;
|
|
19
23
|
unsubscribe: (id: string) => void;
|
|
20
24
|
mutate: <T>(mutation: string, args?: unknown) => Promise<T>;
|
|
21
25
|
close: () => void;
|
|
22
26
|
};
|
|
23
|
-
export declare function
|
|
27
|
+
export declare function onLocalWsReset(listener: () => void): () => void;
|
|
28
|
+
export declare function resetSharedLocalWsClient(): void;
|
|
29
|
+
/** Reused WebSocket for local dev so mutations refresh query subscriptions. */
|
|
30
|
+
export declare function getSharedLocalWsClient(): WsClient;
|
|
31
|
+
export declare function createWsClient(opts?: {
|
|
32
|
+
onDisconnected?: () => void;
|
|
33
|
+
}): WsClient;
|
|
24
34
|
export type { GoogleAuthOptions } from "./google-auth.js";
|
|
25
35
|
export type { ClientTransport } from "./transport.js";
|
|
26
36
|
//# sourceMappingURL=api.d.ts.map
|
package/dist/client/api.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"api.d.ts","sourceRoot":"","sources":["../../src/client/api.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,wBAAwB,CAAC;
|
|
1
|
+
{"version":3,"file":"api.d.ts","sourceRoot":"","sources":["../../src/client/api.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,wBAAwB,CAAC;AAEvD,OAAO,EAGL,KAAK,iBAAiB,EACvB,MAAM,kBAAkB,CAAC;AAE1B,OAAO,EAOL,KAAK,eAAe,EACrB,MAAM,gBAAgB,CAAC;AAGxB,KAAK,YAAY,GAAG;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,SAAS,CAAC,EAAE,eAAe,CAAC;CAC7B,CAAC;AAEF,wBAAgB,eAAe,CAAC,CAAC,EAAE,OAAO,CAAC,YAAY,CAAC,GAAG,IAAI,CAW9D;AAED,wBAAgB,eAAe,IAAI,YAAY,CAO9C;AAED,wBAAsB,UAAU,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,OAAO,GAAG,OAAO,CAAC,CAAC,CAAC,CAE5E;AAED,wBAAsB,aAAa,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,OAAO,GAAG,OAAO,CAAC,CAAC,CAAC,CAE/E;AAED,wBAAsB,SAAS,IAAI,OAAO,CAAC,QAAQ,GAAG,IAAI,CAAC,CAE1D;AAED,wBAAsB,gBAAgB,CAAC,OAAO,GAAE,iBAAsB,GAAG,OAAO,CAAC,QAAQ,CAAC,CAWzF;AAED,wBAAsB,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC,CAE7C;AAED,qBAAa,qBAAsB,SAAQ,KAAK;IAC9C,SAAkB,IAAI,2BAA2B;CAClD;AAED,wBAAgB,uBAAuB,CAAC,GAAG,EAAE,OAAO,GAAG,GAAG,IAAI,qBAAqB,CAElF;AAED,MAAM,MAAM,QAAQ,GAAG;IACrB,SAAS,EAAE,CAAC,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,GAAG,SAAS,EAAE,EAAE,EAAE,CAAC,IAAI,EAAE,CAAC,KAAK,IAAI,KAAK,MAAM,CAAC;IAC1F,WAAW,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,IAAI,CAAC;IAClC,MAAM,EAAE,CAAC,CAAC,EAAE,QAAQ,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,OAAO,KAAK,OAAO,CAAC,CAAC,CAAC,CAAC;IAC5D,KAAK,EAAE,MAAM,IAAI,CAAC;CACnB,CAAC;AAaF,wBAAgB,cAAc,CAAC,QAAQ,EAAE,MAAM,IAAI,GAAG,MAAM,IAAI,CAK/D;AAQD,wBAAgB,wBAAwB,IAAI,IAAI,CAK/C;AAED,+EAA+E;AAC/E,wBAAgB,sBAAsB,IAAI,QAAQ,CAajD;AAED,wBAAgB,cAAc,CAAC,IAAI,CAAC,EAAE;IAAE,cAAc,CAAC,EAAE,MAAM,IAAI,CAAA;CAAE,GAAG,QAAQ,CAsL/E;AAED,YAAY,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AAC1D,YAAY,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAC"}
|
package/dist/client/api.js
CHANGED
|
@@ -1,13 +1,19 @@
|
|
|
1
|
+
import { notifyAuthChanged } from "./auth-events.js";
|
|
1
2
|
import { readStoredAuthToken, runGooglePkceSignIn, } from "./google-auth.js";
|
|
2
3
|
import { hostedSubscribeQuery } from "./hosted-ws.js";
|
|
3
4
|
import { configureTransport, getTransportConfig, transportFetchAuth, transportFetchMutation, transportFetchQuery, transportSignOut, } from "./transport.js";
|
|
4
5
|
import { hostedReconnectAuth } from "./hosted-ws.js";
|
|
5
6
|
export function configureClient(c) {
|
|
7
|
+
const prev = getTransportConfig();
|
|
6
8
|
configureTransport({
|
|
7
9
|
serverUrl: c.serverUrl,
|
|
8
10
|
appUrl: c.appUrl,
|
|
9
11
|
transport: c.transport,
|
|
10
12
|
});
|
|
13
|
+
const next = getTransportConfig();
|
|
14
|
+
if (prev.serverUrl !== next.serverUrl || prev.transport !== next.transport) {
|
|
15
|
+
resetSharedLocalWsClient();
|
|
16
|
+
}
|
|
11
17
|
}
|
|
12
18
|
export function getClientConfig() {
|
|
13
19
|
const t = getTransportConfig();
|
|
@@ -42,7 +48,54 @@ export async function signInWithGoogle(options = {}) {
|
|
|
42
48
|
export async function signOut() {
|
|
43
49
|
await transportSignOut();
|
|
44
50
|
}
|
|
45
|
-
export
|
|
51
|
+
export class LocalWsTransportError extends Error {
|
|
52
|
+
name = "LocalWsTransportError";
|
|
53
|
+
}
|
|
54
|
+
export function isLocalWsTransportError(err) {
|
|
55
|
+
return err instanceof LocalWsTransportError;
|
|
56
|
+
}
|
|
57
|
+
let sharedLocalWs = null;
|
|
58
|
+
let sharedLocalWsUrl = null;
|
|
59
|
+
const localWsResetListeners = new Set();
|
|
60
|
+
function randomRequestId() {
|
|
61
|
+
if (typeof crypto !== "undefined" && typeof crypto.randomUUID === "function") {
|
|
62
|
+
return crypto.randomUUID();
|
|
63
|
+
}
|
|
64
|
+
return `req-${Date.now()}-${Math.random().toString(36).slice(2, 10)}`;
|
|
65
|
+
}
|
|
66
|
+
export function onLocalWsReset(listener) {
|
|
67
|
+
localWsResetListeners.add(listener);
|
|
68
|
+
return () => {
|
|
69
|
+
localWsResetListeners.delete(listener);
|
|
70
|
+
};
|
|
71
|
+
}
|
|
72
|
+
function notifyLocalWsReset() {
|
|
73
|
+
for (const listener of localWsResetListeners) {
|
|
74
|
+
listener();
|
|
75
|
+
}
|
|
76
|
+
}
|
|
77
|
+
export function resetSharedLocalWsClient() {
|
|
78
|
+
sharedLocalWs?.close();
|
|
79
|
+
sharedLocalWs = null;
|
|
80
|
+
sharedLocalWsUrl = null;
|
|
81
|
+
notifyLocalWsReset();
|
|
82
|
+
}
|
|
83
|
+
/** Reused WebSocket for local dev so mutations refresh query subscriptions. */
|
|
84
|
+
export function getSharedLocalWsClient() {
|
|
85
|
+
if (getTransportConfig().transport !== "local-http") {
|
|
86
|
+
return createWsClient();
|
|
87
|
+
}
|
|
88
|
+
const url = getTransportConfig().serverUrl;
|
|
89
|
+
if (sharedLocalWs && sharedLocalWsUrl !== url) {
|
|
90
|
+
resetSharedLocalWsClient();
|
|
91
|
+
}
|
|
92
|
+
if (!sharedLocalWs) {
|
|
93
|
+
sharedLocalWs = createWsClient({ onDisconnected: resetSharedLocalWsClient });
|
|
94
|
+
sharedLocalWsUrl = url;
|
|
95
|
+
}
|
|
96
|
+
return sharedLocalWs;
|
|
97
|
+
}
|
|
98
|
+
export function createWsClient(opts) {
|
|
46
99
|
const config = getTransportConfig();
|
|
47
100
|
if (config.transport === "hosted-ws") {
|
|
48
101
|
let subCounter = 0;
|
|
@@ -73,14 +126,47 @@ export function createWsClient() {
|
|
|
73
126
|
const subs = new Map();
|
|
74
127
|
let subCounter = 0;
|
|
75
128
|
const pendingMutations = new Map();
|
|
129
|
+
const rejectAllPendingMutations = (error) => {
|
|
130
|
+
for (const [, pending] of pendingMutations) {
|
|
131
|
+
if (pending.timer)
|
|
132
|
+
clearTimeout(pending.timer);
|
|
133
|
+
pending.reject(error);
|
|
134
|
+
}
|
|
135
|
+
pendingMutations.clear();
|
|
136
|
+
};
|
|
137
|
+
ws.addEventListener("close", () => {
|
|
138
|
+
rejectAllPendingMutations(new LocalWsTransportError("Local WebSocket disconnected"));
|
|
139
|
+
opts?.onDisconnected?.();
|
|
140
|
+
});
|
|
141
|
+
ws.addEventListener("error", () => {
|
|
142
|
+
rejectAllPendingMutations(new LocalWsTransportError("Local WebSocket failed"));
|
|
143
|
+
});
|
|
76
144
|
ws.onmessage = (event) => {
|
|
77
145
|
const msg = JSON.parse(String(event.data));
|
|
146
|
+
if (msg.type === "auth-changed") {
|
|
147
|
+
void (async () => {
|
|
148
|
+
try {
|
|
149
|
+
const token = await readStoredAuthToken();
|
|
150
|
+
// WS connect pushes global preset auth; bearer token wins over that snapshot.
|
|
151
|
+
if (token) {
|
|
152
|
+
notifyAuthChanged(await fetchAuth());
|
|
153
|
+
return;
|
|
154
|
+
}
|
|
155
|
+
notifyAuthChanged(msg.user ?? null);
|
|
156
|
+
}
|
|
157
|
+
catch {
|
|
158
|
+
notifyAuthChanged(msg.user ?? null);
|
|
159
|
+
}
|
|
160
|
+
})();
|
|
161
|
+
}
|
|
78
162
|
if (msg.type === "query-result" && msg.subscriptionId) {
|
|
79
163
|
subs.get(msg.subscriptionId)?.(msg.data);
|
|
80
164
|
}
|
|
81
165
|
if (msg.type === "mutation-result" && msg.requestId) {
|
|
82
166
|
const pending = pendingMutations.get(msg.requestId);
|
|
83
167
|
if (pending) {
|
|
168
|
+
if (pending.timer)
|
|
169
|
+
clearTimeout(pending.timer);
|
|
84
170
|
if (msg.error)
|
|
85
171
|
pending.reject(new Error(msg.error));
|
|
86
172
|
else
|
|
@@ -93,15 +179,30 @@ export function createWsClient() {
|
|
|
93
179
|
subscribe(query, args, cb) {
|
|
94
180
|
const id = `client-sub-${++subCounter}`;
|
|
95
181
|
subs.set(id, cb);
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
182
|
+
void (async () => {
|
|
183
|
+
const token = await readStoredAuthToken();
|
|
184
|
+
const payload = {
|
|
185
|
+
type: "subscribe",
|
|
186
|
+
query,
|
|
187
|
+
args,
|
|
188
|
+
subscriptionId: id,
|
|
189
|
+
};
|
|
190
|
+
if (token)
|
|
191
|
+
payload.token = token;
|
|
192
|
+
const send = () => {
|
|
193
|
+
if (ws.readyState === WebSocket.CLOSED) {
|
|
194
|
+
opts?.onDisconnected?.();
|
|
195
|
+
return;
|
|
196
|
+
}
|
|
197
|
+
if (ws.readyState === WebSocket.OPEN) {
|
|
198
|
+
ws.send(JSON.stringify(payload));
|
|
199
|
+
}
|
|
200
|
+
else {
|
|
201
|
+
ws.addEventListener("open", send, { once: true });
|
|
202
|
+
}
|
|
203
|
+
};
|
|
204
|
+
send();
|
|
205
|
+
})();
|
|
105
206
|
return id;
|
|
106
207
|
},
|
|
107
208
|
unsubscribe(id) {
|
|
@@ -112,20 +213,54 @@ export function createWsClient() {
|
|
|
112
213
|
},
|
|
113
214
|
mutate(mutation, args) {
|
|
114
215
|
return new Promise((resolve, reject) => {
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
216
|
+
void (async () => {
|
|
217
|
+
const requestId = randomRequestId();
|
|
218
|
+
const timer = setTimeout(() => {
|
|
219
|
+
if (!pendingMutations.has(requestId))
|
|
220
|
+
return;
|
|
221
|
+
pendingMutations.delete(requestId);
|
|
222
|
+
reject(new Error("Local WebSocket mutation timed out"));
|
|
223
|
+
}, 5000);
|
|
224
|
+
pendingMutations.set(requestId, {
|
|
225
|
+
resolve: (v) => resolve(v),
|
|
226
|
+
reject,
|
|
227
|
+
timer,
|
|
228
|
+
});
|
|
229
|
+
const token = await readStoredAuthToken();
|
|
230
|
+
const payload = {
|
|
231
|
+
type: "mutate",
|
|
232
|
+
mutation,
|
|
233
|
+
args,
|
|
234
|
+
requestId,
|
|
235
|
+
};
|
|
236
|
+
if (token)
|
|
237
|
+
payload.token = token;
|
|
238
|
+
const failPending = (error) => {
|
|
239
|
+
const pending = pendingMutations.get(requestId);
|
|
240
|
+
if (!pending)
|
|
241
|
+
return;
|
|
242
|
+
if (pending.timer)
|
|
243
|
+
clearTimeout(pending.timer);
|
|
244
|
+
pendingMutations.delete(requestId);
|
|
245
|
+
reject(error);
|
|
246
|
+
};
|
|
247
|
+
const send = () => {
|
|
248
|
+
if (ws.readyState === WebSocket.CLOSED) {
|
|
249
|
+
failPending(new LocalWsTransportError("Local WebSocket disconnected"));
|
|
250
|
+
opts?.onDisconnected?.();
|
|
251
|
+
return;
|
|
252
|
+
}
|
|
253
|
+
if (ws.readyState === WebSocket.OPEN) {
|
|
254
|
+
ws.send(JSON.stringify(payload));
|
|
255
|
+
}
|
|
256
|
+
else {
|
|
257
|
+
ws.addEventListener("open", send, { once: true });
|
|
258
|
+
ws.addEventListener("close", () => failPending(new LocalWsTransportError("Local WebSocket failed to connect")), { once: true });
|
|
259
|
+
ws.addEventListener("error", () => failPending(new LocalWsTransportError("Local WebSocket failed to connect")), { once: true });
|
|
260
|
+
}
|
|
261
|
+
};
|
|
262
|
+
send();
|
|
263
|
+
})();
|
|
129
264
|
});
|
|
130
265
|
},
|
|
131
266
|
close() {
|
package/dist/client/api.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"api.js","sourceRoot":"","sources":["../../src/client/api.ts"],"names":[],"mappings":"AACA,OAAO,EACL,mBAAmB,EACnB,mBAAmB,GAEpB,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAAE,oBAAoB,EAAE,MAAM,gBAAgB,CAAC;AACtD,OAAO,EACL,kBAAkB,EAClB,kBAAkB,EAClB,kBAAkB,EAClB,sBAAsB,EACtB,mBAAmB,EACnB,gBAAgB,GAEjB,MAAM,gBAAgB,CAAC;AACxB,OAAO,EAAE,mBAAmB,EAAE,MAAM,gBAAgB,CAAC;AASrD,MAAM,UAAU,eAAe,CAAC,CAAwB;IACtD,kBAAkB,CAAC;QACjB,SAAS,EAAE,CAAC,CAAC,SAAS;QACtB,MAAM,EAAE,CAAC,CAAC,MAAM;QAChB,SAAS,EAAE,CAAC,CAAC,SAAS;KACvB,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"api.js","sourceRoot":"","sources":["../../src/client/api.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"auth-events.d.ts","sourceRoot":"","sources":["../../src/client/auth-events.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,wBAAwB,CAAC;AAIvD,wBAAgB,aAAa,CAAC,QAAQ,EAAE,CAAC,IAAI,EAAE,QAAQ,GAAG,IAAI,KAAK,IAAI,GAAG,MAAM,IAAI,CAKnF;AAED,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,QAAQ,GAAG,IAAI,GAAG,IAAI,CAQ7D"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
const authChangedListeners = new Set();
|
|
2
|
+
export function onAuthChanged(listener) {
|
|
3
|
+
authChangedListeners.add(listener);
|
|
4
|
+
return () => {
|
|
5
|
+
authChangedListeners.delete(listener);
|
|
6
|
+
};
|
|
7
|
+
}
|
|
8
|
+
export function notifyAuthChanged(user) {
|
|
9
|
+
for (const listener of authChangedListeners) {
|
|
10
|
+
try {
|
|
11
|
+
listener(user);
|
|
12
|
+
}
|
|
13
|
+
catch (err) {
|
|
14
|
+
console.error("Auth listener error:", err);
|
|
15
|
+
}
|
|
16
|
+
}
|
|
17
|
+
}
|
|
18
|
+
//# sourceMappingURL=auth-events.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"auth-events.js","sourceRoot":"","sources":["../../src/client/auth-events.ts"],"names":[],"mappings":"AAEA,MAAM,oBAAoB,GAAG,IAAI,GAAG,EAAmC,CAAC;AAExE,MAAM,UAAU,aAAa,CAAC,QAAyC;IACrE,oBAAoB,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;IACnC,OAAO,GAAG,EAAE;QACV,oBAAoB,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;IACxC,CAAC,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,iBAAiB,CAAC,IAAqB;IACrD,KAAK,MAAM,QAAQ,IAAI,oBAAoB,EAAE,CAAC;QAC5C,IAAI,CAAC;YACH,QAAQ,CAAC,IAAI,CAAC,CAAC;QACjB,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,OAAO,CAAC,KAAK,CAAC,sBAAsB,EAAE,GAAG,CAAC,CAAC;QAC7C,CAAC;IACH,CAAC;AACH,CAAC"}
|
package/dist/client/hooks.d.ts
CHANGED
|
@@ -2,7 +2,12 @@ import type { AuthUser } from "@lakebed-native/shared";
|
|
|
2
2
|
export { configureClient, fetchAuth, fetchMutation, fetchQuery, getClientConfig, signInWithGoogle as apiSignInWithGoogle, signOut as apiSignOut, } from "./api.js";
|
|
3
3
|
export declare function useAuth(): {
|
|
4
4
|
user: AuthUser | null;
|
|
5
|
+
userId: string | null;
|
|
6
|
+
displayName: string | null;
|
|
7
|
+
picture: string | null;
|
|
8
|
+
isGuest: boolean;
|
|
5
9
|
loading: boolean;
|
|
10
|
+
error: Error | null;
|
|
6
11
|
refresh: () => Promise<void>;
|
|
7
12
|
};
|
|
8
13
|
export declare function useQuery<T>(name: string, args?: unknown): {
|
|
@@ -11,11 +16,20 @@ export declare function useQuery<T>(name: string, args?: unknown): {
|
|
|
11
16
|
error: Error | null;
|
|
12
17
|
refetch: () => Promise<void>;
|
|
13
18
|
};
|
|
14
|
-
export declare function useMutation<TArgs = unknown, TResult = unknown>(name: string
|
|
19
|
+
export declare function useMutation<TArgs = unknown, TResult = unknown>(name: string, opts?: {
|
|
20
|
+
onError?: (error: Error) => void;
|
|
21
|
+
onSuccess?: (result: TResult) => void;
|
|
22
|
+
}): {
|
|
15
23
|
mutate: (args?: TArgs) => Promise<TResult>;
|
|
16
24
|
loading: boolean;
|
|
17
25
|
error: Error | null;
|
|
18
26
|
};
|
|
27
|
+
export declare function authAs(name: string): Promise<void>;
|
|
28
|
+
export declare function useConnection(pollMs?: number): {
|
|
29
|
+
status: "connected" | "disconnected" | "connecting";
|
|
30
|
+
error: Error | null;
|
|
31
|
+
retry: () => void;
|
|
32
|
+
};
|
|
19
33
|
export declare function signInWithGoogle(): Promise<AuthUser>;
|
|
20
34
|
export declare function signOut(): Promise<void>;
|
|
21
35
|
/** Provider-less config hook for shell bootstrap */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"hooks.d.ts","sourceRoot":"","sources":["../../src/client/hooks.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,wBAAwB,CAAC;
|
|
1
|
+
{"version":3,"file":"hooks.d.ts","sourceRoot":"","sources":["../../src/client/hooks.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,wBAAwB,CAAC;AA0BvD,OAAO,EACL,eAAe,EACf,SAAS,EACT,aAAa,EACb,UAAU,EACV,eAAe,EACf,gBAAgB,IAAI,mBAAmB,EACvC,OAAO,IAAI,UAAU,GACtB,MAAM,UAAU,CAAC;AAElB,wBAAgB,OAAO,IAAI;IACzB,IAAI,EAAE,QAAQ,GAAG,IAAI,CAAC;IACtB,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IACvB,OAAO,EAAE,OAAO,CAAC;IACjB,OAAO,EAAE,OAAO,CAAC;IACjB,KAAK,EAAE,KAAK,GAAG,IAAI,CAAC;IACpB,OAAO,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;CAC9B,CAgCA;AAED,wBAAgB,QAAQ,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,OAAO,GAAG;IACzD,IAAI,EAAE,CAAC,GAAG,SAAS,CAAC;IACpB,OAAO,EAAE,OAAO,CAAC;IACjB,KAAK,EAAE,KAAK,GAAG,IAAI,CAAC;IACpB,OAAO,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;CAC9B,CAuFA;AAED,wBAAgB,WAAW,CAAC,KAAK,GAAG,OAAO,EAAE,OAAO,GAAG,OAAO,EAC5D,IAAI,EAAE,MAAM,EACZ,IAAI,CAAC,EAAE;IAAE,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI,CAAC;IAAC,SAAS,CAAC,EAAE,CAAC,MAAM,EAAE,OAAO,KAAK,IAAI,CAAA;CAAE,GACjF;IACD,MAAM,EAAE,CAAC,IAAI,CAAC,EAAE,KAAK,KAAK,OAAO,CAAC,OAAO,CAAC,CAAC;IAC3C,OAAO,EAAE,OAAO,CAAC;IACjB,KAAK,EAAE,KAAK,GAAG,IAAI,CAAC;CACrB,CA8CA;AAED,wBAAsB,MAAM,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAaxD;AAED,wBAAgB,aAAa,CAAC,MAAM,SAAO,GAAG;IAC5C,MAAM,EAAE,WAAW,GAAG,cAAc,GAAG,YAAY,CAAC;IACpD,KAAK,EAAE,KAAK,GAAG,IAAI,CAAC;IACpB,KAAK,EAAE,MAAM,IAAI,CAAC;CACnB,CAwDA;AAED,wBAAsB,gBAAgB,IAAI,OAAO,CAAC,QAAQ,CAAC,CAE1D;AAED,wBAAsB,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC,CAE7C;AAED,oDAAoD;AACpD,wBAAgB,kBAAkB,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAU7D"}
|
package/dist/client/hooks.js
CHANGED
|
@@ -1,27 +1,53 @@
|
|
|
1
|
-
import { useCallback, useEffect, useState, useSyncExternalStore } from "react";
|
|
2
|
-
import { configureClient, fetchAuth, fetchMutation, fetchQuery, signInWithGoogle as apiSignInWithGoogle, signOut as apiSignOut, } from "./api.js";
|
|
1
|
+
import { useCallback, useEffect, useRef, useState, useSyncExternalStore } from "react";
|
|
2
|
+
import { configureClient, getSharedLocalWsClient, onLocalWsReset, resetSharedLocalWsClient, fetchAuth, fetchMutation, fetchQuery, getClientConfig, isLocalWsTransportError, signInWithGoogle as apiSignInWithGoogle, signOut as apiSignOut, } from "./api.js";
|
|
3
|
+
import { hostedSubscribeQuery } from "./hosted-ws.js";
|
|
4
|
+
import { onAuthChanged } from "./auth-events.js";
|
|
5
|
+
import { getTransportConfig, localServerSupportsWs } from "./transport.js";
|
|
6
|
+
const activeQueryRefetches = new Set();
|
|
7
|
+
function invalidateActiveQueries() {
|
|
8
|
+
for (const refetch of activeQueryRefetches) {
|
|
9
|
+
void refetch();
|
|
10
|
+
}
|
|
11
|
+
}
|
|
3
12
|
export { configureClient, fetchAuth, fetchMutation, fetchQuery, getClientConfig, signInWithGoogle as apiSignInWithGoogle, signOut as apiSignOut, } from "./api.js";
|
|
4
13
|
export function useAuth() {
|
|
5
14
|
const [user, setUser] = useState(null);
|
|
6
15
|
const [loading, setLoading] = useState(true);
|
|
16
|
+
const [error, setError] = useState(null);
|
|
7
17
|
const refresh = useCallback(async () => {
|
|
8
18
|
setLoading(true);
|
|
19
|
+
setError(null);
|
|
9
20
|
try {
|
|
10
21
|
setUser(await fetchAuth());
|
|
11
22
|
}
|
|
23
|
+
catch (err) {
|
|
24
|
+
setError(err instanceof Error ? err : new Error(String(err)));
|
|
25
|
+
}
|
|
12
26
|
finally {
|
|
13
27
|
setLoading(false);
|
|
14
28
|
}
|
|
15
29
|
}, []);
|
|
16
30
|
useEffect(() => {
|
|
17
31
|
void refresh();
|
|
32
|
+
return onAuthChanged((next) => {
|
|
33
|
+
setUser(next);
|
|
34
|
+
setLoading(false);
|
|
35
|
+
setError(null);
|
|
36
|
+
});
|
|
18
37
|
}, [refresh]);
|
|
19
|
-
|
|
38
|
+
const userId = user?.id ?? null;
|
|
39
|
+
const displayName = user?.name ?? null;
|
|
40
|
+
const picture = user?.avatarUrl ?? null;
|
|
41
|
+
const isGuest = userId === "guest" || userId === null;
|
|
42
|
+
return { user, userId, displayName, picture, isGuest, loading, error, refresh };
|
|
20
43
|
}
|
|
21
44
|
export function useQuery(name, args) {
|
|
22
45
|
const [data, setData] = useState(undefined);
|
|
23
46
|
const [loading, setLoading] = useState(true);
|
|
24
47
|
const [error, setError] = useState(null);
|
|
48
|
+
const [wsResetTick, setWsResetTick] = useState(0);
|
|
49
|
+
const argsKey = JSON.stringify(args);
|
|
50
|
+
useEffect(() => onLocalWsReset(() => setWsResetTick((n) => n + 1)), []);
|
|
25
51
|
const refetch = useCallback(async () => {
|
|
26
52
|
setLoading(true);
|
|
27
53
|
setError(null);
|
|
@@ -35,24 +61,103 @@ export function useQuery(name, args) {
|
|
|
35
61
|
finally {
|
|
36
62
|
setLoading(false);
|
|
37
63
|
}
|
|
38
|
-
}, [name,
|
|
64
|
+
}, [name, argsKey]);
|
|
39
65
|
useEffect(() => {
|
|
40
|
-
|
|
41
|
-
|
|
66
|
+
const transport = getTransportConfig().transport;
|
|
67
|
+
setLoading(true);
|
|
68
|
+
setError(null);
|
|
69
|
+
if (transport === "hosted-ws") {
|
|
70
|
+
// Hosted query.result is keyed by name only — parameterized queries use fetch.
|
|
71
|
+
if (args !== undefined) {
|
|
72
|
+
void refetch();
|
|
73
|
+
return;
|
|
74
|
+
}
|
|
75
|
+
const unsub = hostedSubscribeQuery(name, (next) => {
|
|
76
|
+
setData(next);
|
|
77
|
+
setLoading(false);
|
|
78
|
+
setError(null);
|
|
79
|
+
}, undefined, (err) => {
|
|
80
|
+
setError(err);
|
|
81
|
+
setLoading(false);
|
|
82
|
+
void refetch();
|
|
83
|
+
});
|
|
84
|
+
return unsub;
|
|
85
|
+
}
|
|
86
|
+
if (!localServerSupportsWs(getTransportConfig().serverUrl)) {
|
|
87
|
+
activeQueryRefetches.add(refetch);
|
|
88
|
+
void refetch();
|
|
89
|
+
return () => {
|
|
90
|
+
activeQueryRefetches.delete(refetch);
|
|
91
|
+
};
|
|
92
|
+
}
|
|
93
|
+
activeQueryRefetches.add(refetch);
|
|
94
|
+
const ws = getSharedLocalWsClient();
|
|
95
|
+
let subId = "";
|
|
96
|
+
let fallbackTimer = setTimeout(() => {
|
|
97
|
+
fallbackTimer = undefined;
|
|
98
|
+
void refetch();
|
|
99
|
+
}, 1500);
|
|
100
|
+
const sendSubscribe = () => {
|
|
101
|
+
subId = ws.subscribe(name, args, (next) => {
|
|
102
|
+
if (fallbackTimer) {
|
|
103
|
+
clearTimeout(fallbackTimer);
|
|
104
|
+
fallbackTimer = undefined;
|
|
105
|
+
}
|
|
106
|
+
setData(next);
|
|
107
|
+
setLoading(false);
|
|
108
|
+
setError(null);
|
|
109
|
+
});
|
|
110
|
+
};
|
|
111
|
+
sendSubscribe();
|
|
112
|
+
return () => {
|
|
113
|
+
if (fallbackTimer)
|
|
114
|
+
clearTimeout(fallbackTimer);
|
|
115
|
+
if (subId)
|
|
116
|
+
ws.unsubscribe(subId);
|
|
117
|
+
activeQueryRefetches.delete(refetch);
|
|
118
|
+
};
|
|
119
|
+
}, [name, argsKey, refetch, wsResetTick]);
|
|
42
120
|
return { data, loading, error, refetch };
|
|
43
121
|
}
|
|
44
|
-
export function useMutation(name) {
|
|
122
|
+
export function useMutation(name, opts) {
|
|
45
123
|
const [loading, setLoading] = useState(false);
|
|
46
124
|
const [error, setError] = useState(null);
|
|
125
|
+
const optsRef = useRef(opts);
|
|
126
|
+
optsRef.current = opts;
|
|
47
127
|
const mutate = useCallback(async (args) => {
|
|
48
128
|
setLoading(true);
|
|
49
129
|
setError(null);
|
|
50
130
|
try {
|
|
51
|
-
|
|
131
|
+
const transport = getTransportConfig().transport;
|
|
132
|
+
const serverUrl = getTransportConfig().serverUrl;
|
|
133
|
+
let result;
|
|
134
|
+
let refreshQueries = false;
|
|
135
|
+
if (transport === "local-http" && localServerSupportsWs(serverUrl)) {
|
|
136
|
+
try {
|
|
137
|
+
result = await getSharedLocalWsClient().mutate(name, args);
|
|
138
|
+
}
|
|
139
|
+
catch (err) {
|
|
140
|
+
if (!isLocalWsTransportError(err))
|
|
141
|
+
throw err;
|
|
142
|
+
resetSharedLocalWsClient();
|
|
143
|
+
result = await fetchMutation(name, args);
|
|
144
|
+
refreshQueries = true;
|
|
145
|
+
}
|
|
146
|
+
}
|
|
147
|
+
else {
|
|
148
|
+
result = await fetchMutation(name, args);
|
|
149
|
+
refreshQueries = transport === "local-http" && !localServerSupportsWs(serverUrl);
|
|
150
|
+
}
|
|
151
|
+
if (refreshQueries) {
|
|
152
|
+
invalidateActiveQueries();
|
|
153
|
+
}
|
|
154
|
+
optsRef.current?.onSuccess?.(result);
|
|
155
|
+
return result;
|
|
52
156
|
}
|
|
53
157
|
catch (err) {
|
|
54
158
|
const e = err instanceof Error ? err : new Error(String(err));
|
|
55
159
|
setError(e);
|
|
160
|
+
optsRef.current?.onError?.(e);
|
|
56
161
|
throw e;
|
|
57
162
|
}
|
|
58
163
|
finally {
|
|
@@ -61,6 +166,76 @@ export function useMutation(name) {
|
|
|
61
166
|
}, [name]);
|
|
62
167
|
return { mutate, loading, error };
|
|
63
168
|
}
|
|
169
|
+
export async function authAs(name) {
|
|
170
|
+
const { serverUrl } = getClientConfig();
|
|
171
|
+
const res = await fetch(`${serverUrl.replace(/\/$/, "")}/auth/as`, {
|
|
172
|
+
method: "POST",
|
|
173
|
+
headers: { "Content-Type": "application/json" },
|
|
174
|
+
body: JSON.stringify({ name }),
|
|
175
|
+
});
|
|
176
|
+
if (!res.ok) {
|
|
177
|
+
const json = (await res.json().catch(() => ({})));
|
|
178
|
+
throw new Error(json.error ?? `authAs failed (${res.status})`);
|
|
179
|
+
}
|
|
180
|
+
resetSharedLocalWsClient();
|
|
181
|
+
invalidateActiveQueries();
|
|
182
|
+
}
|
|
183
|
+
export function useConnection(pollMs = 5000) {
|
|
184
|
+
const [status, setStatus] = useState("connecting");
|
|
185
|
+
const [error, setError] = useState(null);
|
|
186
|
+
const [tick, setTick] = useState(0);
|
|
187
|
+
useEffect(() => {
|
|
188
|
+
let cancelled = false;
|
|
189
|
+
const check = async () => {
|
|
190
|
+
const { serverUrl, appUrl } = getClientConfig();
|
|
191
|
+
const transport = getTransportConfig().transport;
|
|
192
|
+
const base = (transport === "hosted-ws" ? (appUrl ?? serverUrl) : serverUrl).replace(/\/$/, "");
|
|
193
|
+
const controller = new AbortController();
|
|
194
|
+
const timer = setTimeout(() => controller.abort(), 4000);
|
|
195
|
+
try {
|
|
196
|
+
const paths = transport === "hosted-ws" ? ["/__lakebed/manifest"] : ["/health", "/api/status"];
|
|
197
|
+
let ok = false;
|
|
198
|
+
for (const path of paths) {
|
|
199
|
+
const res = await fetch(`${base}${path}`, { signal: controller.signal });
|
|
200
|
+
if (res.ok) {
|
|
201
|
+
ok = true;
|
|
202
|
+
break;
|
|
203
|
+
}
|
|
204
|
+
}
|
|
205
|
+
if (cancelled)
|
|
206
|
+
return;
|
|
207
|
+
if (ok) {
|
|
208
|
+
setStatus("connected");
|
|
209
|
+
setError(null);
|
|
210
|
+
}
|
|
211
|
+
else {
|
|
212
|
+
setStatus("disconnected");
|
|
213
|
+
setError(new Error(`Server unreachable at ${base}`));
|
|
214
|
+
}
|
|
215
|
+
}
|
|
216
|
+
catch (err) {
|
|
217
|
+
if (cancelled)
|
|
218
|
+
return;
|
|
219
|
+
setStatus("disconnected");
|
|
220
|
+
setError(err instanceof Error ? err : new Error(String(err)));
|
|
221
|
+
}
|
|
222
|
+
finally {
|
|
223
|
+
clearTimeout(timer);
|
|
224
|
+
}
|
|
225
|
+
};
|
|
226
|
+
void check();
|
|
227
|
+
const interval = setInterval(() => void check(), pollMs);
|
|
228
|
+
return () => {
|
|
229
|
+
cancelled = true;
|
|
230
|
+
clearInterval(interval);
|
|
231
|
+
};
|
|
232
|
+
}, [pollMs, tick]);
|
|
233
|
+
return {
|
|
234
|
+
status,
|
|
235
|
+
error,
|
|
236
|
+
retry: () => setTick((n) => n + 1),
|
|
237
|
+
};
|
|
238
|
+
}
|
|
64
239
|
export async function signInWithGoogle() {
|
|
65
240
|
return apiSignInWithGoogle();
|
|
66
241
|
}
|
package/dist/client/hooks.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"hooks.js","sourceRoot":"","sources":["../../src/client/hooks.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,SAAS,EAAE,QAAQ,EAAE,oBAAoB,EAAE,MAAM,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"hooks.js","sourceRoot":"","sources":["../../src/client/hooks.ts"],"names":[],"mappings":"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"}
|
|
@@ -4,5 +4,5 @@ export declare function hostedFetchQuery<T>(name: string, args?: unknown): Promi
|
|
|
4
4
|
export declare function hostedFetchMutation<T>(name: string, args?: unknown): Promise<T>;
|
|
5
5
|
export declare function hostedFetchAuth(): Promise<AuthUser | null>;
|
|
6
6
|
export declare function hostedReconnectAuth(): Promise<void>;
|
|
7
|
-
export declare function hostedSubscribeQuery<T>(name: string, cb: (data: T) => void, args?: unknown): () => void;
|
|
7
|
+
export declare function hostedSubscribeQuery<T>(name: string, cb: (data: T) => void, args?: unknown, onError?: (error: Error) => void): () => void;
|
|
8
8
|
//# sourceMappingURL=hosted-ws.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"hosted-ws.d.ts","sourceRoot":"","sources":["../../src/client/hosted-ws.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,wBAAwB,CAAC;
|
|
1
|
+
{"version":3,"file":"hosted-ws.d.ts","sourceRoot":"","sources":["../../src/client/hosted-ws.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,wBAAwB,CAAC;AAoIvD,wBAAgB,iBAAiB,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI,CAQnD;AAsCD,wBAAsB,gBAAgB,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,OAAO,GAAG,OAAO,CAAC,CAAC,CAAC,CAOlF;AAED,wBAAsB,mBAAmB,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,OAAO,GAAG,OAAO,CAAC,CAAC,CAAC,CAKrF;AAED,wBAAsB,eAAe,IAAI,OAAO,CAAC,QAAQ,GAAG,IAAI,CAAC,CAKhE;AAED,wBAAsB,mBAAmB,IAAI,OAAO,CAAC,IAAI,CAAC,CAOzD;AAED,wBAAgB,oBAAoB,CAAC,CAAC,EACpC,IAAI,EAAE,MAAM,EACZ,EAAE,EAAE,CAAC,IAAI,EAAE,CAAC,KAAK,IAAI,EACrB,IAAI,CAAC,EAAE,OAAO,EACd,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI,GAC/B,MAAM,IAAI,CAiBZ"}
|
package/dist/client/hosted-ws.js
CHANGED
|
@@ -1,9 +1,19 @@
|
|
|
1
|
+
import { notifyAuthChanged } from "./auth-events.js";
|
|
1
2
|
import { readStoredAuthToken } from "./google-auth.js";
|
|
2
3
|
let appUrl = "";
|
|
3
4
|
let socket = null;
|
|
4
5
|
let nextRequestId = 1;
|
|
5
6
|
const pending = new Map();
|
|
6
7
|
const queryListeners = new Map();
|
|
8
|
+
function normalizeHostedArgs(args) {
|
|
9
|
+
if (args === undefined)
|
|
10
|
+
return undefined;
|
|
11
|
+
return Array.isArray(args) ? args : [args];
|
|
12
|
+
}
|
|
13
|
+
function queryListenerKey(name, args) {
|
|
14
|
+
const normalized = normalizeHostedArgs(args);
|
|
15
|
+
return normalized === undefined ? name : `${name}\0${JSON.stringify(normalized)}`;
|
|
16
|
+
}
|
|
7
17
|
let currentAuth = null;
|
|
8
18
|
let connectPromise = null;
|
|
9
19
|
function hostedAuthToUser(auth) {
|
|
@@ -44,18 +54,37 @@ function request(op, payload = {}) {
|
|
|
44
54
|
pending.set(id, { resolve, reject });
|
|
45
55
|
});
|
|
46
56
|
}
|
|
47
|
-
function emitQuery(name, data) {
|
|
48
|
-
|
|
49
|
-
|
|
57
|
+
function emitQuery(name, data, args) {
|
|
58
|
+
const keys = new Set();
|
|
59
|
+
if (args === undefined) {
|
|
60
|
+
keys.add(name);
|
|
61
|
+
for (const key of queryListeners.keys()) {
|
|
62
|
+
if (key.startsWith(`${name}\0`))
|
|
63
|
+
keys.add(key);
|
|
64
|
+
}
|
|
65
|
+
}
|
|
66
|
+
else {
|
|
67
|
+
keys.add(queryListenerKey(name, args));
|
|
68
|
+
}
|
|
69
|
+
const seen = new Set();
|
|
70
|
+
for (const key of keys) {
|
|
71
|
+
for (const listener of queryListeners.get(key) ?? []) {
|
|
72
|
+
if (seen.has(listener))
|
|
73
|
+
continue;
|
|
74
|
+
seen.add(listener);
|
|
75
|
+
listener(data);
|
|
76
|
+
}
|
|
50
77
|
}
|
|
51
78
|
}
|
|
52
79
|
function handleMessage(raw) {
|
|
53
80
|
const message = JSON.parse(raw);
|
|
54
|
-
if (message.op === "auth.result"
|
|
81
|
+
if (message.op === "auth.result") {
|
|
55
82
|
currentAuth = hostedAuthToUser(message.auth);
|
|
83
|
+
notifyAuthChanged(currentAuth);
|
|
56
84
|
}
|
|
57
85
|
if (message.op === "query.result" && message.name) {
|
|
58
|
-
|
|
86
|
+
const resultArgs = message.args;
|
|
87
|
+
emitQuery(message.name, message.data, resultArgs);
|
|
59
88
|
return;
|
|
60
89
|
}
|
|
61
90
|
if (typeof message.id === "number" && pending.has(message.id)) {
|
|
@@ -111,9 +140,7 @@ async function ensureConnected() {
|
|
|
111
140
|
await connectPromise;
|
|
112
141
|
}
|
|
113
142
|
function hostedQueryArgs(args) {
|
|
114
|
-
|
|
115
|
-
return undefined;
|
|
116
|
-
return Array.isArray(args) ? args : [args];
|
|
143
|
+
return normalizeHostedArgs(args);
|
|
117
144
|
}
|
|
118
145
|
export async function hostedFetchQuery(name, args) {
|
|
119
146
|
await ensureConnected();
|
|
@@ -145,19 +172,24 @@ export async function hostedReconnectAuth() {
|
|
|
145
172
|
connectPromise = null;
|
|
146
173
|
await ensureConnected();
|
|
147
174
|
}
|
|
148
|
-
export function hostedSubscribeQuery(name, cb, args) {
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
175
|
+
export function hostedSubscribeQuery(name, cb, args, onError) {
|
|
176
|
+
const key = queryListenerKey(name, args);
|
|
177
|
+
if (!queryListeners.has(key))
|
|
178
|
+
queryListeners.set(key, new Set());
|
|
179
|
+
queryListeners.get(key).add(cb);
|
|
180
|
+
void ensureConnected()
|
|
181
|
+
.then(() => {
|
|
153
182
|
const payload = { op: "query.subscribe", name };
|
|
154
183
|
const argList = hostedQueryArgs(args);
|
|
155
184
|
if (argList)
|
|
156
185
|
payload.args = argList;
|
|
157
186
|
send(payload);
|
|
187
|
+
})
|
|
188
|
+
.catch((err) => {
|
|
189
|
+
onError?.(err instanceof Error ? err : new Error(String(err)));
|
|
158
190
|
});
|
|
159
191
|
return () => {
|
|
160
|
-
queryListeners.get(
|
|
192
|
+
queryListeners.get(key)?.delete(cb);
|
|
161
193
|
};
|
|
162
194
|
}
|
|
163
195
|
//# sourceMappingURL=hosted-ws.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"hosted-ws.js","sourceRoot":"","sources":["../../src/client/hosted-ws.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAC;AAiBvD,IAAI,MAAM,GAAG,EAAE,CAAC;AAChB,IAAI,MAAM,GAAqB,IAAI,CAAC;AACpC,IAAI,aAAa,GAAG,CAAC,CAAC;AACtB,MAAM,OAAO,GAAG,IAAI,GAAG,EAA0B,CAAC;AAClD,MAAM,cAAc,GAAG,IAAI,GAAG,EAAwC,CAAC;
|
|
1
|
+
{"version":3,"file":"hosted-ws.js","sourceRoot":"","sources":["../../src/client/hosted-ws.ts"],"names":[],"mappings":"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"}
|
package/dist/client/index.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
export { configureClient, getClientConfig, useAuth, useQuery, useMutation, useClientBootstrap, } from "./hooks.js";
|
|
1
|
+
export { configureClient, getClientConfig, useAuth, useQuery, useMutation, useConnection, useClientBootstrap, authAs, } from "./hooks.js";
|
|
2
2
|
export { signInWithGoogle, signOut } from "./api.js";
|
|
3
3
|
export { fetchQuery, fetchMutation, createWsClient } from "./api.js";
|
|
4
4
|
export { SignInWithGoogle } from "./SignInWithGoogle.js";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/client/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,eAAe,EACf,eAAe,EACf,OAAO,EACP,QAAQ,EACR,WAAW,EACX,kBAAkB,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/client/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,eAAe,EACf,eAAe,EACf,OAAO,EACP,QAAQ,EACR,WAAW,EACX,aAAa,EACb,kBAAkB,EAClB,MAAM,GACP,MAAM,YAAY,CAAC;AACpB,OAAO,EAAE,gBAAgB,EAAE,OAAO,EAAE,MAAM,UAAU,CAAC;AACrD,OAAO,EAAE,UAAU,EAAE,aAAa,EAAE,cAAc,EAAE,MAAM,UAAU,CAAC;AACrE,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AACzD,YAAY,EAAE,qBAAqB,EAAE,MAAM,uBAAuB,CAAC"}
|
package/dist/client/index.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
export { configureClient, getClientConfig, useAuth, useQuery, useMutation, useClientBootstrap, } from "./hooks.js";
|
|
1
|
+
export { configureClient, getClientConfig, useAuth, useQuery, useMutation, useConnection, useClientBootstrap, authAs, } from "./hooks.js";
|
|
2
2
|
export { signInWithGoogle, signOut } from "./api.js";
|
|
3
3
|
export { fetchQuery, fetchMutation, createWsClient } from "./api.js";
|
|
4
4
|
export { SignInWithGoogle } from "./SignInWithGoogle.js";
|
package/dist/client/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/client/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,eAAe,EACf,eAAe,EACf,OAAO,EACP,QAAQ,EACR,WAAW,EACX,kBAAkB,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/client/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,eAAe,EACf,eAAe,EACf,OAAO,EACP,QAAQ,EACR,WAAW,EACX,aAAa,EACb,kBAAkB,EAClB,MAAM,GACP,MAAM,YAAY,CAAC;AACpB,OAAO,EAAE,gBAAgB,EAAE,OAAO,EAAE,MAAM,UAAU,CAAC;AACrD,OAAO,EAAE,UAAU,EAAE,aAAa,EAAE,cAAc,EAAE,MAAM,UAAU,CAAC;AACrE,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC"}
|
|
@@ -5,7 +5,10 @@ type TransportConfig = {
|
|
|
5
5
|
appUrl?: string;
|
|
6
6
|
transport: ClientTransport;
|
|
7
7
|
};
|
|
8
|
+
export declare function isLocalDevServerUrl(url: string): boolean;
|
|
8
9
|
export declare function isHostedLakebedUrl(url: string): boolean;
|
|
10
|
+
/** Local hosted runner (`/d/.../api`) exposes HTTP only — no WebSocket upgrade. */
|
|
11
|
+
export declare function localServerSupportsWs(serverUrl: string): boolean;
|
|
9
12
|
export declare function resolveTransport(serverUrl: string, explicit?: ClientTransport): ClientTransport;
|
|
10
13
|
export declare function configureTransport(c: {
|
|
11
14
|
serverUrl?: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"transport.d.ts","sourceRoot":"","sources":["../../src/client/transport.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,wBAAwB,CAAC;AAIvD,MAAM,MAAM,eAAe,GAAG,YAAY,GAAG,WAAW,CAAC;AAEzD,KAAK,eAAe,GAAG;IACrB,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,eAAe,CAAC;CAC5B,CAAC;
|
|
1
|
+
{"version":3,"file":"transport.d.ts","sourceRoot":"","sources":["../../src/client/transport.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,wBAAwB,CAAC;AAIvD,MAAM,MAAM,eAAe,GAAG,YAAY,GAAG,WAAW,CAAC;AAEzD,KAAK,eAAe,GAAG;IACrB,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,eAAe,CAAC;CAC5B,CAAC;AAgBF,wBAAgB,mBAAmB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAQxD;AAED,wBAAgB,kBAAkB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CASvD;AAED,mFAAmF;AACnF,wBAAgB,qBAAqB,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAOhE;AAED,wBAAgB,gBAAgB,CAAC,SAAS,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,eAAe,GAAG,eAAe,CAI/F;AAED,wBAAgB,kBAAkB,CAAC,CAAC,EAAE;IACpC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,SAAS,CAAC,EAAE,eAAe,CAAC;CAC7B,GAAG,IAAI,CAWP;AAED,wBAAgB,kBAAkB,IAAI,eAAe,CAEpD;AAOD,wBAAsB,mBAAmB,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,OAAO,GAAG,OAAO,CAAC,CAAC,CAAC,CAerF;AAED,wBAAsB,sBAAsB,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,OAAO,GAAG,OAAO,CAAC,CAAC,CAAC,CAexF;AAED,wBAAsB,kBAAkB,IAAI,OAAO,CAAC,QAAQ,GAAG,IAAI,CAAC,CASnE;AAED,wBAAsB,gBAAgB,IAAI,OAAO,CAAC,IAAI,CAAC,CAOtD"}
|
package/dist/client/transport.js
CHANGED
|
@@ -4,13 +4,35 @@ let config = {
|
|
|
4
4
|
serverUrl: "http://localhost:3000",
|
|
5
5
|
transport: "local-http",
|
|
6
6
|
};
|
|
7
|
+
function isPrivateOrDevHost(host) {
|
|
8
|
+
if (host === "localhost" || host === "127.0.0.1" || host === "::1")
|
|
9
|
+
return true;
|
|
10
|
+
if (host === "10.0.2.2")
|
|
11
|
+
return true;
|
|
12
|
+
if (/^10\./.test(host))
|
|
13
|
+
return true;
|
|
14
|
+
if (/^192\.168\./.test(host))
|
|
15
|
+
return true;
|
|
16
|
+
if (/^172\.(1[6-9]|2\d|3[0-1])\./.test(host))
|
|
17
|
+
return true;
|
|
18
|
+
return false;
|
|
19
|
+
}
|
|
20
|
+
export function isLocalDevServerUrl(url) {
|
|
21
|
+
try {
|
|
22
|
+
const parsed = new URL(url);
|
|
23
|
+
if (parsed.pathname.includes("/d/"))
|
|
24
|
+
return true;
|
|
25
|
+
return isPrivateOrDevHost(parsed.hostname);
|
|
26
|
+
}
|
|
27
|
+
catch {
|
|
28
|
+
return url.includes("localhost") || url.includes("127.0.0.1");
|
|
29
|
+
}
|
|
30
|
+
}
|
|
7
31
|
export function isHostedLakebedUrl(url) {
|
|
8
32
|
try {
|
|
9
33
|
const parsed = new URL(url);
|
|
10
34
|
const host = parsed.hostname;
|
|
11
|
-
if (
|
|
12
|
-
return false;
|
|
13
|
-
if (parsed.pathname.includes("/d/"))
|
|
35
|
+
if (isLocalDevServerUrl(url))
|
|
14
36
|
return false;
|
|
15
37
|
return host.endsWith(".lakebed.app") || host.endsWith(".lakebed.dev");
|
|
16
38
|
}
|
|
@@ -18,14 +40,20 @@ export function isHostedLakebedUrl(url) {
|
|
|
18
40
|
return false;
|
|
19
41
|
}
|
|
20
42
|
}
|
|
43
|
+
/** Local hosted runner (`/d/.../api`) exposes HTTP only — no WebSocket upgrade. */
|
|
44
|
+
export function localServerSupportsWs(serverUrl) {
|
|
45
|
+
try {
|
|
46
|
+
const parsed = new URL(serverUrl);
|
|
47
|
+
return !(parsed.pathname.includes("/d/") && parsed.pathname.includes("/api"));
|
|
48
|
+
}
|
|
49
|
+
catch {
|
|
50
|
+
return !(serverUrl.includes("/d/") && serverUrl.includes("/api"));
|
|
51
|
+
}
|
|
52
|
+
}
|
|
21
53
|
export function resolveTransport(serverUrl, explicit) {
|
|
22
54
|
if (explicit)
|
|
23
55
|
return explicit;
|
|
24
|
-
if (
|
|
25
|
-
return "hosted-ws";
|
|
26
|
-
if (serverUrl.includes("/d/") && serverUrl.includes("/api"))
|
|
27
|
-
return "local-http";
|
|
28
|
-
if (serverUrl.includes("localhost") || serverUrl.includes("127.0.0.1"))
|
|
56
|
+
if (isLocalDevServerUrl(serverUrl))
|
|
29
57
|
return "local-http";
|
|
30
58
|
return "hosted-ws";
|
|
31
59
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"transport.js","sourceRoot":"","sources":["../../src/client/transport.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,mBAAmB,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAC;AAC5E,OAAO,KAAK,MAAM,MAAM,gBAAgB,CAAC;AAUzC,IAAI,MAAM,GAAoB;IAC5B,SAAS,EAAE,uBAAuB;IAClC,SAAS,EAAE,YAAY;CACxB,CAAC;AAEF,MAAM,UAAU,
|
|
1
|
+
{"version":3,"file":"transport.js","sourceRoot":"","sources":["../../src/client/transport.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@lakebed-native/client",
|
|
3
|
-
"version": "0.1.
|
|
3
|
+
"version": "0.1.3",
|
|
4
4
|
"description": "Lakebed Native client runtime",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"repository": {
|
|
@@ -32,13 +32,21 @@
|
|
|
32
32
|
"react-native": ">=0.79"
|
|
33
33
|
},
|
|
34
34
|
"peerDependenciesMeta": {
|
|
35
|
-
"expo-crypto": {
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
"expo-
|
|
35
|
+
"expo-crypto": {
|
|
36
|
+
"optional": true
|
|
37
|
+
},
|
|
38
|
+
"expo-linking": {
|
|
39
|
+
"optional": true
|
|
40
|
+
},
|
|
41
|
+
"expo-secure-store": {
|
|
42
|
+
"optional": true
|
|
43
|
+
},
|
|
44
|
+
"expo-web-browser": {
|
|
45
|
+
"optional": true
|
|
46
|
+
}
|
|
39
47
|
},
|
|
40
48
|
"dependencies": {
|
|
41
|
-
"@lakebed-native/shared": "0.1.
|
|
49
|
+
"@lakebed-native/shared": "^0.1.3"
|
|
42
50
|
},
|
|
43
51
|
"devDependencies": {
|
|
44
52
|
"@types/react": "^19.1.2",
|