@opendatalabs/personal-server-ts-lite 0.0.1-canary.9d54d31

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 (44) hide show
  1. package/dist/bridge.d.ts +23 -0
  2. package/dist/bridge.d.ts.map +1 -0
  3. package/dist/bridge.js +53 -0
  4. package/dist/bridge.js.map +1 -0
  5. package/dist/browser-runtime.d.ts +29 -0
  6. package/dist/browser-runtime.d.ts.map +1 -0
  7. package/dist/browser-runtime.js +81 -0
  8. package/dist/browser-runtime.js.map +1 -0
  9. package/dist/browser-tls-rustls/browser_tls_rustls.d.ts +49 -0
  10. package/dist/browser-tls-rustls/browser_tls_rustls.js +401 -0
  11. package/dist/browser-tls-rustls/browser_tls_rustls_bg.wasm +0 -0
  12. package/dist/index.d.ts +9 -0
  13. package/dist/index.d.ts.map +1 -0
  14. package/dist/index.js +9 -0
  15. package/dist/index.js.map +1 -0
  16. package/dist/relay-tls.d.ts +19 -0
  17. package/dist/relay-tls.d.ts.map +1 -0
  18. package/dist/relay-tls.js +226 -0
  19. package/dist/relay-tls.js.map +1 -0
  20. package/dist/relay.d.ts +68 -0
  21. package/dist/relay.d.ts.map +1 -0
  22. package/dist/relay.js +361 -0
  23. package/dist/relay.js.map +1 -0
  24. package/dist/runtime.d.ts +90 -0
  25. package/dist/runtime.d.ts.map +1 -0
  26. package/dist/runtime.js +846 -0
  27. package/dist/runtime.js.map +1 -0
  28. package/dist/state.d.ts +59 -0
  29. package/dist/state.d.ts.map +1 -0
  30. package/dist/state.js +298 -0
  31. package/dist/state.js.map +1 -0
  32. package/dist/storage-utils.d.ts +7 -0
  33. package/dist/storage-utils.d.ts.map +1 -0
  34. package/dist/storage-utils.js +66 -0
  35. package/dist/storage-utils.js.map +1 -0
  36. package/dist/storage.d.ts +39 -0
  37. package/dist/storage.d.ts.map +1 -0
  38. package/dist/storage.js +312 -0
  39. package/dist/storage.js.map +1 -0
  40. package/dist/sync.d.ts +25 -0
  41. package/dist/sync.d.ts.map +1 -0
  42. package/dist/sync.js +62 -0
  43. package/dist/sync.js.map +1 -0
  44. package/package.json +40 -0
package/dist/relay.js ADDED
@@ -0,0 +1,361 @@
1
+ import { handlePsLiteBridgeRequest, } from "./bridge.js";
2
+ import { createRustlsPsLiteRelayTlsFactory } from "./relay-tls.js";
3
+ const DATA_FRAME_TYPE = 1;
4
+ const HEADER_BYTES = 5;
5
+ const DEFAULT_CONTROL_URL = "wss://control.34.16.49.200.sslip.io:8443";
6
+ const DEFAULT_PUBLIC_SUFFIX = "34.16.49.200.sslip.io";
7
+ const DEFAULT_ORIGIN = "https://ps-lite.local";
8
+ export function psLiteRelayControlUrl(sessionId, controlUrl = DEFAULT_CONTROL_URL) {
9
+ return `${controlUrl.replace(/\/+$/, "")}/browser/${sessionId}`;
10
+ }
11
+ export function psLiteRelayPublicUrl(sessionId, publicSuffix = DEFAULT_PUBLIC_SUFFIX) {
12
+ return `https://${sessionId}.${publicSuffix.replace(/^\./, "")}`;
13
+ }
14
+ export function startPsLiteRelayClient(options) {
15
+ const baseControlUrl = options.controlUrl ?? DEFAULT_CONTROL_URL;
16
+ const controlUrl = psLiteRelayControlUrl(options.sessionId, baseControlUrl);
17
+ const socket = createSocket(options.webSocketFactory, controlUrl);
18
+ const tls = options.tls === undefined
19
+ ? createRustlsPsLiteRelayTlsFactory({
20
+ controlUrl: baseControlUrl,
21
+ publicSuffix: options.publicSuffix,
22
+ certIssuerUrl: options.certIssuerUrl,
23
+ logger: options.logger,
24
+ })
25
+ : options.tls;
26
+ const streams = new Map();
27
+ const pendingStreamData = new Map();
28
+ const origin = options.origin ?? DEFAULT_ORIGIN;
29
+ let issueToken;
30
+ let closed = false;
31
+ socket.binaryType = "arraybuffer";
32
+ options.onStatus?.("connecting");
33
+ const log = (line) => options.logger?.(line);
34
+ const sendText = (message) => {
35
+ if (socket.readyState === socket.OPEN) {
36
+ socket.send(JSON.stringify(message));
37
+ }
38
+ };
39
+ const sendData = (streamId, payload) => {
40
+ if (socket.readyState === socket.OPEN) {
41
+ socket.send(encodeDataFrame(streamId, payload));
42
+ }
43
+ };
44
+ const closeStream = (streamId, reason) => {
45
+ const stream = streams.get(streamId);
46
+ stream?.tls?.close?.();
47
+ streams.delete(streamId);
48
+ pendingStreamData.delete(streamId);
49
+ sendText({ type: "stream.close", streamId, reason });
50
+ };
51
+ const writePlaintextResponse = (stream, responseBytes) => {
52
+ if (!stream.tls) {
53
+ sendData(stream.streamId, responseBytes);
54
+ return;
55
+ }
56
+ const step = stream.tls.writePlaintext(responseBytes, true);
57
+ if (step.tls.length > 0) {
58
+ sendData(stream.streamId, step.tls);
59
+ }
60
+ };
61
+ const drainHttpRequests = async (stream) => {
62
+ while (true) {
63
+ const parsed = parseHttpRequest(stream.plaintext);
64
+ if (!parsed) {
65
+ return;
66
+ }
67
+ stream.plaintext = stream.plaintext.slice(parsed.consumedBytes);
68
+ const response = await handleRelayHttpRequest(options.runtime, parsed.request, origin);
69
+ writePlaintextResponse(stream, textToBytes(response));
70
+ closeStream(stream.streamId, "http_response_sent");
71
+ return;
72
+ }
73
+ };
74
+ const handlePlaintext = (stream, plaintext) => {
75
+ if (plaintext.length === 0) {
76
+ return;
77
+ }
78
+ stream.plaintext += bytesToBinary(plaintext);
79
+ void drainHttpRequests(stream).catch((error) => {
80
+ log(error instanceof Error ? error.message : String(error));
81
+ closeStream(stream.streamId, "handler_error");
82
+ });
83
+ };
84
+ const processPayload = (stream, payload) => {
85
+ if (!stream.tls) {
86
+ handlePlaintext(stream, payload);
87
+ return;
88
+ }
89
+ try {
90
+ const step = stream.tls.processTls(payload);
91
+ if (step.tls.length > 0) {
92
+ sendData(stream.streamId, step.tls);
93
+ }
94
+ handlePlaintext(stream, step.plaintext);
95
+ }
96
+ catch (error) {
97
+ log(error instanceof Error ? error.message : String(error));
98
+ closeStream(stream.streamId, "tls_error");
99
+ }
100
+ };
101
+ const openStream = async (streamId) => {
102
+ const stream = {
103
+ streamId,
104
+ plaintext: "",
105
+ };
106
+ if (tls) {
107
+ stream.tls = await tls.createStream({
108
+ sessionId: options.sessionId,
109
+ streamId,
110
+ issueToken,
111
+ });
112
+ }
113
+ streams.set(streamId, stream);
114
+ const buffered = pendingStreamData.get(streamId) ?? [];
115
+ pendingStreamData.delete(streamId);
116
+ for (const payload of buffered) {
117
+ processPayload(stream, payload);
118
+ }
119
+ };
120
+ const handleControl = (message) => {
121
+ if (message.type === "session.ready") {
122
+ issueToken = message.issueToken;
123
+ options.onStatus?.("connected");
124
+ if (tls && tls.prepare) {
125
+ void tls
126
+ .prepare({
127
+ sessionId: options.sessionId,
128
+ issueToken,
129
+ })
130
+ .catch((error) => {
131
+ log(error instanceof Error ? error.message : String(error));
132
+ });
133
+ }
134
+ return;
135
+ }
136
+ if (message.type === "pong") {
137
+ return;
138
+ }
139
+ if (message.type === "stream.open" &&
140
+ typeof message.streamId === "number") {
141
+ void openStream(message.streamId).catch((error) => {
142
+ log(error instanceof Error ? error.message : String(error));
143
+ if (typeof message.streamId === "number") {
144
+ closeStream(message.streamId, "stream_open_error");
145
+ }
146
+ });
147
+ return;
148
+ }
149
+ if (message.type === "stream.close" &&
150
+ typeof message.streamId === "number") {
151
+ streams.get(message.streamId)?.tls?.close?.();
152
+ streams.delete(message.streamId);
153
+ pendingStreamData.delete(message.streamId);
154
+ }
155
+ };
156
+ const handleDataFrame = (data) => {
157
+ const frame = decodeDataFrame(data);
158
+ if (!frame) {
159
+ return;
160
+ }
161
+ const stream = streams.get(frame.streamId);
162
+ if (!stream) {
163
+ const buffered = pendingStreamData.get(frame.streamId) ?? [];
164
+ buffered.push(frame.payload);
165
+ pendingStreamData.set(frame.streamId, buffered);
166
+ return;
167
+ }
168
+ processPayload(stream, frame.payload);
169
+ };
170
+ socket.onopen = () => options.onStatus?.("connected");
171
+ socket.onmessage = (event) => {
172
+ if (typeof event.data === "string") {
173
+ handleControl(JSON.parse(event.data));
174
+ return;
175
+ }
176
+ handleDataFrame(event.data);
177
+ };
178
+ socket.onclose = () => {
179
+ streams.forEach((stream) => stream.tls?.close?.());
180
+ streams.clear();
181
+ pendingStreamData.clear();
182
+ options.onStatus?.(closed ? "closed" : "disconnected");
183
+ };
184
+ socket.onerror = () => options.onStatus?.("error");
185
+ return {
186
+ sessionId: options.sessionId,
187
+ url: controlUrl,
188
+ close(reason = "closed") {
189
+ closed = true;
190
+ streams.forEach((stream) => stream.tls?.close?.());
191
+ streams.clear();
192
+ pendingStreamData.clear();
193
+ socket.close(1000, reason);
194
+ },
195
+ };
196
+ }
197
+ async function handleRelayHttpRequest(runtime, request, origin) {
198
+ const bridgeRequest = {
199
+ requestId: crypto.randomUUID(),
200
+ method: request.method,
201
+ path: request.path,
202
+ query: request.query,
203
+ headers: request.headers,
204
+ body: encodeBase64(request.body),
205
+ };
206
+ const bridgeResponse = await handlePsLiteBridgeRequest(runtime, bridgeRequest, {
207
+ origin,
208
+ });
209
+ return buildHttpResponse(bridgeResponse);
210
+ }
211
+ function buildHttpResponse(response) {
212
+ const responseHeaders = {
213
+ "cache-control": "no-store",
214
+ connection: "close",
215
+ ...response.headers,
216
+ };
217
+ const bodyBytes = decodeBase64(response.body);
218
+ const head = [
219
+ `HTTP/1.1 ${response.status} ${httpStatusText(response.status)}`,
220
+ ...Object.entries(responseHeaders).map(([key, value]) => `${key}: ${value}`),
221
+ `content-length: ${bodyBytes.length}`,
222
+ "",
223
+ "",
224
+ ].join("\r\n");
225
+ return head + bytesToBinary(bodyBytes);
226
+ }
227
+ function createSocket(factory, url) {
228
+ if (factory) {
229
+ return factory(url);
230
+ }
231
+ if (typeof WebSocket === "undefined") {
232
+ throw new Error("WebSocket is required to start PS Lite relay client");
233
+ }
234
+ return new WebSocket(url);
235
+ }
236
+ export function encodeDataFrame(streamId, payload) {
237
+ const frame = new Uint8Array(HEADER_BYTES + payload.length);
238
+ frame[0] = DATA_FRAME_TYPE;
239
+ writeUint32(frame, 1, streamId);
240
+ frame.set(payload, HEADER_BYTES);
241
+ return frame;
242
+ }
243
+ export function decodeDataFrame(data) {
244
+ const frame = typeof data === "string"
245
+ ? textToBytes(data)
246
+ : data instanceof Uint8Array
247
+ ? data
248
+ : new Uint8Array(data);
249
+ if (frame.length < HEADER_BYTES || frame[0] !== DATA_FRAME_TYPE) {
250
+ return null;
251
+ }
252
+ return {
253
+ streamId: readUint32(frame, 1),
254
+ payload: frame.slice(HEADER_BYTES),
255
+ };
256
+ }
257
+ function parseHttpRequest(buffer) {
258
+ const headerEnd = buffer.indexOf("\r\n\r\n");
259
+ if (headerEnd === -1) {
260
+ return undefined;
261
+ }
262
+ const headerBlock = buffer.slice(0, headerEnd);
263
+ const lines = headerBlock.split("\r\n");
264
+ const [method, target] = lines[0]?.split(" ") ?? [];
265
+ if (!method || !target) {
266
+ return undefined;
267
+ }
268
+ const headers = {};
269
+ for (const line of lines.slice(1)) {
270
+ const separator = line.indexOf(":");
271
+ if (separator === -1) {
272
+ continue;
273
+ }
274
+ headers[line.slice(0, separator).trim().toLowerCase()] = line
275
+ .slice(separator + 1)
276
+ .trim();
277
+ }
278
+ const bodyStart = headerEnd + 4;
279
+ const contentLength = Number(headers["content-length"] ?? "0");
280
+ const requestEnd = bodyStart + contentLength;
281
+ if (buffer.length < requestEnd) {
282
+ return undefined;
283
+ }
284
+ const url = new URL(target, DEFAULT_ORIGIN);
285
+ return {
286
+ consumedBytes: requestEnd,
287
+ request: {
288
+ method,
289
+ path: url.pathname,
290
+ query: url.searchParams.toString(),
291
+ headers,
292
+ body: binaryToBytes(buffer.slice(bodyStart, requestEnd)),
293
+ },
294
+ };
295
+ }
296
+ function encodeBase64(bytes) {
297
+ let binary = "";
298
+ for (const byte of bytes) {
299
+ binary += String.fromCharCode(byte);
300
+ }
301
+ return typeof globalThis.btoa === "function"
302
+ ? globalThis.btoa(binary)
303
+ : Buffer.from(binary, "binary").toString("base64");
304
+ }
305
+ function decodeBase64(input) {
306
+ if (!input)
307
+ return new Uint8Array();
308
+ const binary = typeof globalThis.atob === "function"
309
+ ? globalThis.atob(input)
310
+ : Buffer.from(input, "base64").toString("binary");
311
+ return binaryToBytes(binary);
312
+ }
313
+ function textToBytes(value) {
314
+ return new TextEncoder().encode(value);
315
+ }
316
+ function binaryToBytes(value) {
317
+ return Uint8Array.from(value, (char) => char.charCodeAt(0));
318
+ }
319
+ function bytesToBinary(bytes) {
320
+ let result = "";
321
+ for (const byte of bytes) {
322
+ result += String.fromCharCode(byte);
323
+ }
324
+ return result;
325
+ }
326
+ function writeUint32(bytes, offset, value) {
327
+ bytes[offset] = (value >>> 24) & 0xff;
328
+ bytes[offset + 1] = (value >>> 16) & 0xff;
329
+ bytes[offset + 2] = (value >>> 8) & 0xff;
330
+ bytes[offset + 3] = value & 0xff;
331
+ }
332
+ function readUint32(bytes, offset) {
333
+ return (bytes[offset] * 0x1000000 +
334
+ ((bytes[offset + 1] << 16) | (bytes[offset + 2] << 8) | bytes[offset + 3]));
335
+ }
336
+ function httpStatusText(status) {
337
+ if (status === 200)
338
+ return "OK";
339
+ if (status === 201)
340
+ return "Created";
341
+ if (status === 204)
342
+ return "No Content";
343
+ if (status === 400)
344
+ return "Bad Request";
345
+ if (status === 401)
346
+ return "Unauthorized";
347
+ if (status === 403)
348
+ return "Forbidden";
349
+ if (status === 404)
350
+ return "Not Found";
351
+ if (status === 405)
352
+ return "Method Not Allowed";
353
+ if (status === 413)
354
+ return "Content Too Large";
355
+ if (status === 500)
356
+ return "Internal Server Error";
357
+ if (status === 503)
358
+ return "Service Unavailable";
359
+ return "Error";
360
+ }
361
+ //# sourceMappingURL=relay.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"relay.js","sourceRoot":"","sources":["../src/relay.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,90 @@
1
+ import { type DataReadPolicyPorts } from "@opendatalabs/personal-server-ts-core/policy";
2
+ import type { DataStoragePort, RuntimeAvailabilityPort } from "@opendatalabs/personal-server-ts-core/ports";
3
+ import type { DataPortabilityGatewayConfig, GatewayClient } from "@opendatalabs/vana-sdk/browser";
4
+ import type { AccessLogWriter } from "@opendatalabs/personal-server-ts-core/logging/access-log";
5
+ import type { AccessLogReader } from "@opendatalabs/personal-server-ts-core/logging/access-reader";
6
+ import type { ServerSigner } from "@opendatalabs/personal-server-ts-core/signing";
7
+ import type { SyncManager } from "@opendatalabs/personal-server-ts-core/sync";
8
+ export interface PsLiteStorageAdapter {
9
+ kind: "indexeddb" | "opfs" | "custom";
10
+ }
11
+ export interface PsLiteReadAuthInput {
12
+ request: Request;
13
+ scope: string;
14
+ grantId?: string;
15
+ fileId?: string;
16
+ }
17
+ export interface PsLiteReadAuthResult {
18
+ builder?: `0x${string}`;
19
+ grantId?: string;
20
+ }
21
+ export interface PsLiteAuthAdapter {
22
+ authorizeOwner(request: Request): Promise<void>;
23
+ authorizeBuilderList(request: Request): Promise<void>;
24
+ authorizeBuilderRead(input: PsLiteReadAuthInput): Promise<PsLiteReadAuthResult | void>;
25
+ }
26
+ export interface PsLiteRuntimeOptions {
27
+ storage: PsLiteStorageAdapter | DataStoragePort;
28
+ auth?: PsLiteAuthAdapter;
29
+ active?: boolean;
30
+ now?: () => Date;
31
+ config?: {
32
+ server?: {
33
+ origin?: string;
34
+ };
35
+ gateway?: Partial<DataPortabilityGatewayConfig> & {
36
+ url?: string;
37
+ };
38
+ };
39
+ saveConfig?: (config: unknown) => Promise<void>;
40
+ identity?: {
41
+ address: `0x${string}`;
42
+ publicKey: `0x${string}`;
43
+ };
44
+ gateway?: GatewayClient;
45
+ serverOwner?: `0x${string}`;
46
+ serverSigner?: Pick<ServerSigner, "signFileRegistration" | "signGrantRegistration">;
47
+ syncManager?: Pick<SyncManager, "trigger" | "getStatus"> | null;
48
+ accessLogReader?: AccessLogReader;
49
+ accessLogWriter?: AccessLogWriter;
50
+ accessToken?: string;
51
+ tokenStore?: PsLiteTokenStore;
52
+ stateCapabilities?: Partial<PsLiteRuntimeStateCapabilities>;
53
+ }
54
+ export interface PsLiteRuntimeStateCapabilities {
55
+ tokens: "indexeddb" | "memory" | "custom";
56
+ accessLogs: "indexeddb" | "memory" | "custom";
57
+ config: "indexeddb" | "memory" | "custom";
58
+ }
59
+ export interface PsLiteTokenStore {
60
+ getTokens(): Promise<string[]>;
61
+ isValid(token: string): Promise<boolean>;
62
+ addToken(token: string, options?: {
63
+ expiresAt?: string | Date | null;
64
+ }): Promise<void>;
65
+ removeToken(token: string): Promise<void>;
66
+ }
67
+ export interface PsLiteRuntime extends RuntimeAvailabilityPort {
68
+ readonly kind: "ps-lite";
69
+ readonly storage: PsLiteStorageAdapter | DataStoragePort;
70
+ activate(): void;
71
+ deactivate(): void;
72
+ fetch(request: Request): Promise<Response>;
73
+ }
74
+ export interface BearerTokenPsLiteAuthOptions {
75
+ ownerToken: string;
76
+ builderToken: string;
77
+ }
78
+ export interface Web3SignedPsLiteAuthOptions {
79
+ origin: string | (() => string);
80
+ ownerAddress: `0x${string}`;
81
+ dataReadPolicyPorts?: DataReadPolicyPorts;
82
+ now?: () => number;
83
+ }
84
+ export declare function createBearerTokenPsLiteAuth(options: BearerTokenPsLiteAuthOptions): PsLiteAuthAdapter;
85
+ export declare function createWeb3SignedPsLiteAuth(options: Web3SignedPsLiteAuthOptions): PsLiteAuthAdapter;
86
+ export declare function createMemoryPsLiteAccessLogStore(): AccessLogReader & AccessLogWriter;
87
+ export declare function createMemoryPsLiteTokenStore(): PsLiteTokenStore;
88
+ export declare function createMemoryPsLiteStorage(adapter?: PsLiteStorageAdapter): DataStoragePort;
89
+ export declare function createPsLiteRuntime(options: PsLiteRuntimeOptions): PsLiteRuntime;
90
+ //# sourceMappingURL=runtime.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"runtime.d.ts","sourceRoot":"","sources":["../src/runtime.ts"],"names":[],"mappings":"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"}