@opendatalabs/personal-server-ts-lite 0.0.1-canary.e9e40b0

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 +88 -0
  25. package/dist/runtime.d.ts.map +1 -0
  26. package/dist/runtime.js +840 -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,88 @@
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 createMemoryPsLiteStorage(adapter?: PsLiteStorageAdapter): DataStoragePort;
87
+ export declare function createPsLiteRuntime(options: PsLiteRuntimeOptions): PsLiteRuntime;
88
+ //# 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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"}