@enbox/dwn-clients 0.4.4 → 0.4.6

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 (48) hide show
  1. package/dist/esm/dwn-rpc-error.js +45 -0
  2. package/dist/esm/dwn-rpc-error.js.map +1 -0
  3. package/dist/esm/http-dwn-rpc-client.js +109 -50
  4. package/dist/esm/http-dwn-rpc-client.js.map +1 -1
  5. package/dist/esm/index.js +3 -0
  6. package/dist/esm/index.js.map +1 -1
  7. package/dist/esm/json-rpc-socket.js +5 -5
  8. package/dist/esm/json-rpc-socket.js.map +1 -1
  9. package/dist/esm/readable-stream.js +68 -0
  10. package/dist/esm/readable-stream.js.map +1 -0
  11. package/dist/esm/replication-apply-result.js +105 -0
  12. package/dist/esm/replication-apply-result.js.map +1 -0
  13. package/dist/esm/rpc-client.js +10 -5
  14. package/dist/esm/rpc-client.js.map +1 -1
  15. package/dist/esm/web-socket-clients.js +152 -17
  16. package/dist/esm/web-socket-clients.js.map +1 -1
  17. package/dist/esm/ws-payload-size.js +12 -0
  18. package/dist/esm/ws-payload-size.js.map +1 -0
  19. package/dist/types/dwn-rpc-error.d.ts +18 -0
  20. package/dist/types/dwn-rpc-error.d.ts.map +1 -0
  21. package/dist/types/dwn-rpc-types.d.ts +37 -1
  22. package/dist/types/dwn-rpc-types.d.ts.map +1 -1
  23. package/dist/types/http-dwn-rpc-client.d.ts +3 -3
  24. package/dist/types/http-dwn-rpc-client.d.ts.map +1 -1
  25. package/dist/types/index.d.ts +3 -0
  26. package/dist/types/index.d.ts.map +1 -1
  27. package/dist/types/json-rpc-socket.d.ts.map +1 -1
  28. package/dist/types/readable-stream.d.ts +6 -0
  29. package/dist/types/readable-stream.d.ts.map +1 -0
  30. package/dist/types/replication-apply-result.d.ts +3 -0
  31. package/dist/types/replication-apply-result.d.ts.map +1 -0
  32. package/dist/types/rpc-client.d.ts +3 -2
  33. package/dist/types/rpc-client.d.ts.map +1 -1
  34. package/dist/types/web-socket-clients.d.ts +14 -1
  35. package/dist/types/web-socket-clients.d.ts.map +1 -1
  36. package/dist/types/ws-payload-size.d.ts +6 -0
  37. package/dist/types/ws-payload-size.d.ts.map +1 -0
  38. package/package.json +4 -4
  39. package/src/dwn-rpc-error.ts +52 -0
  40. package/src/dwn-rpc-types.ts +52 -1
  41. package/src/http-dwn-rpc-client.ts +132 -58
  42. package/src/index.ts +3 -0
  43. package/src/json-rpc-socket.ts +5 -6
  44. package/src/readable-stream.ts +59 -0
  45. package/src/replication-apply-result.ts +124 -0
  46. package/src/rpc-client.ts +16 -5
  47. package/src/web-socket-clients.ts +210 -19
  48. package/src/ws-payload-size.ts +14 -0
@@ -58,6 +58,16 @@ export class EnboxRpcClient {
58
58
  }
59
59
  return transportClient.sendDwnRequest(request);
60
60
  }
61
+ applyReplicatedMessage(request) {
62
+ const url = new URL(request.dwnUrl);
63
+ const transportClient = this.transportClients.get(url.protocol);
64
+ if (!transportClient) {
65
+ const error = new Error(`no ${url.protocol} transport client available`);
66
+ error.name = 'NO_TRANSPORT_CLIENT';
67
+ throw error;
68
+ }
69
+ return transportClient.applyReplicatedMessage(request);
70
+ }
61
71
  getServerInfo(dwnUrl) {
62
72
  return __awaiter(this, void 0, void 0, function* () {
63
73
  // will throw if url is invalid
@@ -114,10 +124,5 @@ export class WebSocketEnboxRpcClient extends WebSocketDwnRpcClient {
114
124
  throw new Error(`not implemented for transports [${this.transportProtocols.join(', ')}]`);
115
125
  });
116
126
  }
117
- getServerInfo(_dwnUrl) {
118
- return __awaiter(this, void 0, void 0, function* () {
119
- throw new Error(`not implemented for transports [${this.transportProtocols.join(', ')}]`);
120
- });
121
- }
122
127
  }
123
128
  //# sourceMappingURL=rpc-client.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"rpc-client.js","sourceRoot":"","sources":["../../src/rpc-client.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"rpc-client.js","sourceRoot":"","sources":["../../src/rpc-client.ts"],"names":[],"mappings":"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"}
@@ -8,8 +8,20 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
8
8
  });
9
9
  };
10
10
  import { CryptoUtils } from '@enbox/crypto';
11
+ import { DwnRpcError } from './dwn-rpc-error.js';
12
+ import { HttpDwnRpcClient } from './http-dwn-rpc-client.js';
11
13
  import { JsonRpcSocket } from './json-rpc-socket.js';
12
- import { createJsonRpcAck, createJsonRpcRequest, createJsonRpcSubscriptionRequest } from './json-rpc.js';
14
+ import { parseReplicationApplyResult } from './replication-apply-result.js';
15
+ import { createJsonRpcAck, createJsonRpcRequest, createJsonRpcSubscriptionRequest, JsonRpcErrorCodes } from './json-rpc.js';
16
+ import { DataStream, Encoder } from '@enbox/dwn-sdk-js';
17
+ import { DEFAULT_MAX_WS_RAW_RECORD_DATA_BYTES, maxWsJsonRpcPayloadBytes } from './ws-payload-size.js';
18
+ const DEFAULT_MAX_WS_JSON_RPC_PAYLOAD_BYTES = maxWsJsonRpcPayloadBytes(DEFAULT_MAX_WS_RAW_RECORD_DATA_BYTES);
19
+ function connectionCacheKey(url) {
20
+ return stripTrailingSlash(url.toString());
21
+ }
22
+ function stripTrailingSlash(url) {
23
+ return url.endsWith('/') ? url.slice(0, -1) : url;
24
+ }
13
25
  function shouldReplaceLastCursor(current, candidate) {
14
26
  if (current === undefined) {
15
27
  return true;
@@ -21,6 +33,9 @@ function shouldReplaceLastCursor(current, candidate) {
21
33
  }
22
34
  export class WebSocketDwnRpcClient {
23
35
  get transportProtocols() { return ['ws:', 'wss:']; }
36
+ constructor(serverInfoRpc = new HttpDwnRpcClient()) {
37
+ this.serverInfoRpc = serverInfoRpc;
38
+ }
24
39
  sendDwnRequest(request) {
25
40
  return __awaiter(this, void 0, void 0, function* () {
26
41
  // validate that the dwn URL provided is a valid WebSocket URL
@@ -28,18 +43,7 @@ export class WebSocketDwnRpcClient {
28
43
  if (url.protocol !== 'ws:' && url.protocol !== 'wss:') {
29
44
  throw new Error(`Invalid websocket protocol ${url.protocol}`);
30
45
  }
31
- // check if there is already a connection to this host, if it does not exist, initiate a new connection
32
- const hasConnection = WebSocketDwnRpcClient.connections.has(url.host);
33
- if (!hasConnection) {
34
- try {
35
- const connection = yield WebSocketDwnRpcClient.createConnection(url);
36
- WebSocketDwnRpcClient.connections.set(url.host, connection);
37
- }
38
- catch (error) {
39
- throw new Error(`Error connecting to ${url.host}: ${error.message}`);
40
- }
41
- }
42
- const connection = WebSocketDwnRpcClient.connections.get(url.host);
46
+ const connection = yield WebSocketDwnRpcClient.getConnection(request.dwnUrl);
43
47
  const { targetDid, message, subscription } = request;
44
48
  if (subscription) {
45
49
  return WebSocketDwnRpcClient.subscriptionRequest(connection, targetDid, message, subscription.handler, subscription.resubscribeFactory);
@@ -47,17 +51,71 @@ export class WebSocketDwnRpcClient {
47
51
  return WebSocketDwnRpcClient.processMessage(connection, targetDid, message);
48
52
  });
49
53
  }
54
+ applyReplicatedMessage(request) {
55
+ return __awaiter(this, void 0, void 0, function* () {
56
+ WebSocketDwnRpcClient.assertReplicatedApplyDataIsPresent(request);
57
+ const maxPayloadBytes = yield this.maxPayloadBytesForReplicatedApply(request);
58
+ WebSocketDwnRpcClient.assertReplicatedApplyDataSizeIsSupported(request, maxPayloadBytes);
59
+ const connection = yield WebSocketDwnRpcClient.getConnection(request.dwnUrl);
60
+ const encodedData = request.data === undefined ? undefined : yield dataToBase64Url(request.data);
61
+ return WebSocketDwnRpcClient.applyReplicatedMessage(connection, request.targetDid, request.message, encodedData, maxPayloadBytes);
62
+ });
63
+ }
64
+ getServerInfo(dwnUrl) {
65
+ return __awaiter(this, void 0, void 0, function* () {
66
+ return this.serverInfoRpc.getServerInfo(httpUrlForWsDwnUrl(dwnUrl));
67
+ });
68
+ }
69
+ maxPayloadBytesForReplicatedApply(request) {
70
+ return __awaiter(this, void 0, void 0, function* () {
71
+ const dataSize = recordsWriteDataSize(request.message);
72
+ if (dataSize === undefined) {
73
+ return DEFAULT_MAX_WS_JSON_RPC_PAYLOAD_BYTES;
74
+ }
75
+ const serverInfo = yield this.getServerInfo(request.dwnUrl);
76
+ return maxWsJsonRpcPayloadBytes(serverInfo.maxFileSize);
77
+ });
78
+ }
79
+ static getConnection(dwnUrl) {
80
+ return __awaiter(this, void 0, void 0, function* () {
81
+ const url = new URL(dwnUrl);
82
+ if (url.protocol !== 'ws:' && url.protocol !== 'wss:') {
83
+ throw new Error(`Invalid websocket protocol ${url.protocol}`);
84
+ }
85
+ const key = connectionCacheKey(url);
86
+ const existing = WebSocketDwnRpcClient.connections.get(key);
87
+ if (existing !== undefined) {
88
+ return existing;
89
+ }
90
+ let pending = WebSocketDwnRpcClient.pendingConnections.get(key);
91
+ if (pending === undefined) {
92
+ pending = WebSocketDwnRpcClient.createConnection(url)
93
+ .then((connection) => {
94
+ WebSocketDwnRpcClient.connections.set(key, connection);
95
+ return connection;
96
+ })
97
+ .catch((error) => {
98
+ throw new Error(`Error connecting to ${key}: ${error.message}`);
99
+ })
100
+ .finally(() => {
101
+ WebSocketDwnRpcClient.pendingConnections.delete(key);
102
+ });
103
+ WebSocketDwnRpcClient.pendingConnections.set(key, pending);
104
+ }
105
+ return pending;
106
+ });
107
+ }
50
108
  /**
51
109
  * Creates a new `SocketConnection` with lifecycle wiring for reconnection.
52
110
  */
53
111
  static createConnection(url) {
54
112
  return __awaiter(this, void 0, void 0, function* () {
55
- const host = url.host;
113
+ const key = connectionCacheKey(url);
56
114
  const subscriptions = new Map();
57
115
  const socket = yield JsonRpcSocket.connect(url.toString(), {
58
116
  onclose: () => {
59
117
  // Remove the stale connection from the map so new requests create a fresh one.
60
- WebSocketDwnRpcClient.connections.delete(host);
118
+ WebSocketDwnRpcClient.connections.delete(key);
61
119
  // Notify all subscription handlers of disconnection.
62
120
  for (const tracked of subscriptions.values()) {
63
121
  tracked.handler({ type: 'disconnected' });
@@ -71,7 +129,7 @@ export class WebSocketDwnRpcClient {
71
129
  onreconnected: () => {
72
130
  // Re-register this connection in the map (it was deleted on close).
73
131
  const conn = { socket, subscriptions, url: url.toString() };
74
- WebSocketDwnRpcClient.connections.set(host, conn);
132
+ WebSocketDwnRpcClient.connections.set(key, conn);
75
133
  // Resubscribe all tracked subscriptions with their last known cursor.
76
134
  WebSocketDwnRpcClient.resubscribeAll(conn);
77
135
  },
@@ -92,6 +150,21 @@ export class WebSocketDwnRpcClient {
92
150
  return result.reply;
93
151
  });
94
152
  }
153
+ static applyReplicatedMessage(connection_1, target_1, message_1, encodedData_1) {
154
+ return __awaiter(this, arguments, void 0, function* (connection, target, message, encodedData, maxPayloadBytes = DEFAULT_MAX_WS_JSON_RPC_PAYLOAD_BYTES) {
155
+ const requestId = CryptoUtils.randomUuid();
156
+ const request = createJsonRpcRequest(requestId, 'dwn.applyReplicatedMessage', Object.assign({ target,
157
+ message }, (encodedData === undefined ? {} : { encodedData })));
158
+ WebSocketDwnRpcClient.assertPayloadFitsFrame(request, encodedData, maxPayloadBytes);
159
+ const { socket } = connection;
160
+ const response = yield socket.request(request);
161
+ const { error, result } = response;
162
+ if (error !== undefined) {
163
+ throw new DwnRpcError(error.code, error.message, error.data);
164
+ }
165
+ return parseReplicationApplyResult(result.result);
166
+ });
167
+ }
95
168
  static subscriptionRequest(connection, target, message, handler, resubscribeFactory) {
96
169
  return __awaiter(this, void 0, void 0, function* () {
97
170
  const requestId = CryptoUtils.randomUuid();
@@ -200,7 +273,69 @@ export class WebSocketDwnRpcClient {
200
273
  }
201
274
  });
202
275
  }
276
+ static assertReplicatedApplyDataIsPresent(request) {
277
+ const dataSize = recordsWriteDataSize(request.message);
278
+ if (dataSize !== undefined && dataSize > 0 && request.data === undefined) {
279
+ throw new DwnRpcError(JsonRpcErrorCodes.InvalidParams, 'data-bearing RecordsWrite replicated apply over WebSocket requires encoded data');
280
+ }
281
+ }
282
+ static assertReplicatedApplyDataSizeIsSupported(request, maxPayloadBytes) {
283
+ const dataSize = recordsWriteDataSize(request.message);
284
+ if (dataSize !== undefined && maxWsJsonRpcPayloadBytes(dataSize) > maxPayloadBytes) {
285
+ throw new DwnRpcError(JsonRpcErrorCodes.InvalidParams, `RecordsWrite replicated apply data is too large for WebSocket JSON-RPC framing`);
286
+ }
287
+ }
288
+ static assertPayloadFitsFrame(request, encodedData, maxPayloadBytes) {
289
+ const payloadBytes = estimatedJsonRpcPayloadBytes(request, encodedData);
290
+ if (payloadBytes > maxPayloadBytes) {
291
+ throw new DwnRpcError(JsonRpcErrorCodes.InvalidParams, `replicated apply JSON-RPC payload is too large for WebSocket transport`);
292
+ }
293
+ }
203
294
  }
204
- // a map of dwn host to WebSocket connection
295
+ // a map of normalized DWN WebSocket endpoint URLs to WebSocket connections
205
296
  WebSocketDwnRpcClient.connections = new Map();
297
+ WebSocketDwnRpcClient.pendingConnections = new Map();
298
+ function httpUrlForWsDwnUrl(dwnUrl) {
299
+ const url = new URL(dwnUrl);
300
+ if (url.protocol === 'ws:') {
301
+ url.protocol = 'http:';
302
+ }
303
+ else if (url.protocol === 'wss:') {
304
+ url.protocol = 'https:';
305
+ }
306
+ return url.toString();
307
+ }
308
+ function estimatedJsonRpcPayloadBytes(request, encodedData) {
309
+ if (encodedData === undefined) {
310
+ return utf8ByteLength(JSON.stringify(request));
311
+ }
312
+ const params = request.params;
313
+ const requestWithoutData = Object.assign(Object.assign({}, request), { params: Object.assign(Object.assign({}, params), { encodedData: '' }) });
314
+ return utf8ByteLength(JSON.stringify(requestWithoutData)) + encodedData.length;
315
+ }
316
+ function utf8ByteLength(text) {
317
+ return new TextEncoder().encode(text).byteLength;
318
+ }
319
+ function dataToBase64Url(data) {
320
+ return __awaiter(this, void 0, void 0, function* () {
321
+ if (data instanceof Blob) {
322
+ return Encoder.bytesToBase64Url(new Uint8Array(yield data.arrayBuffer()));
323
+ }
324
+ if (data instanceof ReadableStream) {
325
+ return Encoder.bytesToBase64Url(yield DataStream.toBytes(data));
326
+ }
327
+ if (data instanceof Uint8Array) {
328
+ return Encoder.bytesToBase64Url(data);
329
+ }
330
+ return Encoder.bytesToBase64Url(new Uint8Array(yield new Blob([data]).arrayBuffer()));
331
+ });
332
+ }
333
+ function recordsWriteDataSize(message) {
334
+ const descriptor = message.descriptor;
335
+ return (descriptor === null || descriptor === void 0 ? void 0 : descriptor.interface) === 'Records' &&
336
+ descriptor.method === 'Write' &&
337
+ typeof descriptor.dataSize === 'number'
338
+ ? descriptor.dataSize
339
+ : undefined;
340
+ }
206
341
  //# sourceMappingURL=web-socket-clients.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"web-socket-clients.js","sourceRoot":"","sources":["../../src/web-socket-clients.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"web-socket-clients.js","sourceRoot":"","sources":["../../src/web-socket-clients.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,12 @@
1
+ export const DEFAULT_MAX_WS_RAW_RECORD_DATA_BYTES = 100 * 1024 * 1024;
2
+ export const WS_JSON_RPC_ENVELOPE_BYTES = 64 * 1024;
3
+ export function base64UrlEncodedLength(byteLength) {
4
+ return Math.ceil(byteLength / 3) * 4;
5
+ }
6
+ export function estimatedWsJsonRpcPayloadBytes(rawDataSize) {
7
+ return base64UrlEncodedLength(rawDataSize) + WS_JSON_RPC_ENVELOPE_BYTES;
8
+ }
9
+ export function maxWsJsonRpcPayloadBytes(maxRecordDataSize) {
10
+ return estimatedWsJsonRpcPayloadBytes(maxRecordDataSize);
11
+ }
12
+ //# sourceMappingURL=ws-payload-size.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ws-payload-size.js","sourceRoot":"","sources":["../../src/ws-payload-size.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,oCAAoC,GAAG,GAAG,GAAG,IAAI,GAAG,IAAI,CAAC;AACtE,MAAM,CAAC,MAAM,0BAA0B,GAAG,EAAE,GAAG,IAAI,CAAC;AAEpD,MAAM,UAAU,sBAAsB,CAAC,UAAkB;IACvD,OAAO,IAAI,CAAC,IAAI,CAAC,UAAU,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC;AACvC,CAAC;AAED,MAAM,UAAU,8BAA8B,CAAC,WAAmB;IAChE,OAAO,sBAAsB,CAAC,WAAW,CAAC,GAAG,0BAA0B,CAAC;AAC1E,CAAC;AAED,MAAM,UAAU,wBAAwB,CAAC,iBAAyB;IAChE,OAAO,8BAA8B,CAAC,iBAAiB,CAAC,CAAC;AAC3D,CAAC"}
@@ -0,0 +1,18 @@
1
+ import { JsonRpcErrorCodes } from './json-rpc.js';
2
+ /**
3
+ * Error surfaced by DWN JSON-RPC transports when the server returns a typed
4
+ * JSON-RPC error envelope.
5
+ */
6
+ export declare class DwnRpcError extends Error {
7
+ readonly code: JsonRpcErrorCodes;
8
+ readonly data?: unknown;
9
+ readonly terminal: boolean;
10
+ constructor(code: JsonRpcErrorCodes, message: string, data?: unknown);
11
+ }
12
+ /**
13
+ * JSON-RPC errors that represent deterministic request rejection before DWN
14
+ * replicated admission can run. Internal/server/transport/rate-limit errors
15
+ * remain retryable.
16
+ */
17
+ export declare function isTerminalJsonRpcErrorCode(code: JsonRpcErrorCodes, message?: string, data?: unknown): boolean;
18
+ //# sourceMappingURL=dwn-rpc-error.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dwn-rpc-error.d.ts","sourceRoot":"","sources":["../../src/dwn-rpc-error.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,eAAe,CAAC;AAElD;;;GAGG;AACH,qBAAa,WAAY,SAAQ,KAAK;IACpC,SAAgB,IAAI,EAAE,iBAAiB,CAAC;IACxC,SAAgB,IAAI,CAAC,EAAE,OAAO,CAAC;IAC/B,SAAgB,QAAQ,EAAE,OAAO,CAAC;gBAEtB,IAAI,EAAE,iBAAiB,EAAE,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,OAAO;CAOrE;AAED;;;;GAIG;AACH,wBAAgB,0BAA0B,CAAC,IAAI,EAAE,iBAAiB,EAAE,OAAO,SAAK,EAAE,IAAI,CAAC,EAAE,OAAO,GAAG,OAAO,CAgBzG"}
@@ -1,4 +1,4 @@
1
- import type { GenericMessage, ProgressToken, RecordsReadReply, SubscriptionMessage, UnionMessageReply } from '@enbox/dwn-sdk-js';
1
+ import type { GenericMessage, ProgressToken, RecordsReadReply, ReplicationApplyResult, SubscriptionMessage, UnionMessageReply } from '@enbox/dwn-sdk-js';
2
2
  export interface SerializableDwnMessage {
3
3
  toJSON(): string;
4
4
  }
@@ -56,6 +56,14 @@ export interface DwnRpc {
56
56
  * @returns A promise that resolves to the response from the DWN server.
57
57
  */
58
58
  sendDwnRequest(request: DwnRpcRequest): Promise<DwnRpcResponse>;
59
+ /**
60
+ * Applies a replicated message through the DWN server's replication entry point.
61
+ *
62
+ * This differs from `sendDwnRequest()` in duplicate replay handling: the server
63
+ * calls `Dwn.applyReplicatedMessage()`, which repairs missing replication index
64
+ * entries when the message store already contains the exact message.
65
+ */
66
+ applyReplicatedMessage(request: DwnReplicationApplyRequest): Promise<ReplicationApplyResult>;
59
67
  }
60
68
  /**
61
69
  * Represents a JSON RPC request to a DWN server, including the URL, target DID, the message to be
@@ -85,6 +93,12 @@ export type DwnRpcRequest = {
85
93
  * this field (subscription cancellation is handled separately).
86
94
  */
87
95
  signal?: AbortSignal;
96
+ /**
97
+ * Optional HTTP per-attempt timeout in milliseconds. When supplied, this
98
+ * replaces the transport default timeout; use this for legitimate large
99
+ * uploads that need more than the default budget.
100
+ */
101
+ timeoutMs?: number;
88
102
  /**
89
103
  * Subscription options — only set for subscribe requests.
90
104
  * Groups the handler, resubscribe factory, and any future subscription
@@ -102,6 +116,28 @@ export type DwnRpcRequest = {
102
116
  resubscribeFactory?: ResubscribeFactory;
103
117
  };
104
118
  };
119
+ /**
120
+ * Represents a JSON RPC request to apply a replicated DWN message through the
121
+ * server-side replication entry point.
122
+ */
123
+ export type DwnReplicationApplyRequest = {
124
+ /** Optional data to be sent with the request. */
125
+ data?: any;
126
+ /** The URL of the DWN server to which the request is sent. */
127
+ dwnUrl: string;
128
+ /** The replicated message to apply. */
129
+ message: GenericMessage | SerializableDwnMessage;
130
+ /** The DID of the target tenant to which the message is addressed. */
131
+ targetDid: string;
132
+ /** Optional caller-provided abort signal. Honoured by the HTTP transport. */
133
+ signal?: AbortSignal;
134
+ /**
135
+ * Optional HTTP per-attempt timeout in milliseconds. When omitted, HTTP
136
+ * replicated apply uses a larger default for data-bearing RecordsWrite
137
+ * messages so large sync uploads are not aborted by the normal short budget.
138
+ */
139
+ timeoutMs?: number;
140
+ };
105
141
  /**
106
142
  * Represents the JSON RPC response from a DWN server to a request, combining the results of various
107
143
  * DWN operations.
@@ -1 +1 @@
1
- {"version":3,"file":"dwn-rpc-types.d.ts","sourceRoot":"","sources":["../../src/dwn-rpc-types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,aAAa,EAAE,gBAAgB,EAAE,mBAAmB,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AAEjI,MAAM,WAAW,sBAAsB;IACrC,MAAM,IAAI,MAAM,CAAC;CAClB;AAUD,4DAA4D;AAC5D,MAAM,MAAM,qBAAqB,GAAG;IAClC,IAAI,EAAG,cAAc,CAAC;CACvB,CAAC;AAEF,2DAA2D;AAC3D,MAAM,MAAM,qBAAqB,GAAG;IAClC,IAAI,EAAE,cAAc,CAAC;IACrB,OAAO,EAAE,MAAM,CAAC;CACjB,CAAC;AAEF,wFAAwF;AACxF,MAAM,MAAM,oBAAoB,GAAG;IACjC,IAAI,EAAG,aAAa,CAAC;CACtB,CAAC;AAEF,kFAAkF;AAClF,MAAM,MAAM,gBAAgB,GAAG,qBAAqB,GAAG,qBAAqB,GAAG,oBAAoB,CAAC;AAEpG;;;;;;;GAOG;AACH,MAAM,MAAM,sBAAsB,GAAG,mBAAmB,GAAG,gBAAgB,CAAC;AAE5E;;GAEG;AACH,MAAM,MAAM,sBAAsB,GAAG,CAAC,OAAO,EAAE,sBAAsB,KAAK,IAAI,CAAC;AAE/E;;;;;;;GAOG;AACH,MAAM,MAAM,kBAAkB,GAAG,CAAC,MAAM,CAAC,EAAE,aAAa,KAAK,OAAO,CAAC,cAAc,CAAC,CAAC;AAErF;;;GAGG;AACH,MAAM,WAAW,MAAM;IACrB;;;OAGG;IACH,IAAI,kBAAkB,IAAI,MAAM,EAAE,CAAA;IAElC;;;;;OAKG;IACH,cAAc,CAAC,OAAO,EAAE,aAAa,GAAG,OAAO,CAAC,cAAc,CAAC,CAAA;CAChE;AAGD;;;GAGG;AACH,MAAM,MAAM,aAAa,GAAG;IAC1B,iDAAiD;IACjD,IAAI,CAAC,EAAE,GAAG,CAAC;IAEX,8DAA8D;IAC9D,MAAM,EAAE,MAAM,CAAC;IAEf,8FAA8F;IAC9F,OAAO,EAAE,sBAAsB,GAAG,GAAG,CAAC;IAEtC,+DAA+D;IAC/D,SAAS,EAAE,MAAM,CAAC;IAElB;;;;;;;;;;;;;OAaG;IACH,MAAM,CAAC,EAAE,WAAW,CAAC;IAErB;;;;OAIG;IACH,YAAY,CAAC,EAAE;QACb,kFAAkF;QAClF,OAAO,EAAE,sBAAsB,CAAC;QAEhC;;;;;WAKG;QACH,kBAAkB,CAAC,EAAE,kBAAkB,CAAC;KACzC,CAAC;CACH,CAAC;AAEF;;;GAGG;AACH,MAAM,MAAM,cAAc,GAAG,iBAAiB,GAAG,gBAAgB,CAAC"}
1
+ {"version":3,"file":"dwn-rpc-types.d.ts","sourceRoot":"","sources":["../../src/dwn-rpc-types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,cAAc,EACd,aAAa,EACb,gBAAgB,EAChB,sBAAsB,EACtB,mBAAmB,EACnB,iBAAiB,EAClB,MAAM,mBAAmB,CAAC;AAE3B,MAAM,WAAW,sBAAsB;IACrC,MAAM,IAAI,MAAM,CAAC;CAClB;AAUD,4DAA4D;AAC5D,MAAM,MAAM,qBAAqB,GAAG;IAClC,IAAI,EAAG,cAAc,CAAC;CACvB,CAAC;AAEF,2DAA2D;AAC3D,MAAM,MAAM,qBAAqB,GAAG;IAClC,IAAI,EAAE,cAAc,CAAC;IACrB,OAAO,EAAE,MAAM,CAAC;CACjB,CAAC;AAEF,wFAAwF;AACxF,MAAM,MAAM,oBAAoB,GAAG;IACjC,IAAI,EAAG,aAAa,CAAC;CACtB,CAAC;AAEF,kFAAkF;AAClF,MAAM,MAAM,gBAAgB,GAAG,qBAAqB,GAAG,qBAAqB,GAAG,oBAAoB,CAAC;AAEpG;;;;;;;GAOG;AACH,MAAM,MAAM,sBAAsB,GAAG,mBAAmB,GAAG,gBAAgB,CAAC;AAE5E;;GAEG;AACH,MAAM,MAAM,sBAAsB,GAAG,CAAC,OAAO,EAAE,sBAAsB,KAAK,IAAI,CAAC;AAE/E;;;;;;;GAOG;AACH,MAAM,MAAM,kBAAkB,GAAG,CAAC,MAAM,CAAC,EAAE,aAAa,KAAK,OAAO,CAAC,cAAc,CAAC,CAAC;AAErF;;;GAGG;AACH,MAAM,WAAW,MAAM;IACrB;;;OAGG;IACH,IAAI,kBAAkB,IAAI,MAAM,EAAE,CAAA;IAElC;;;;;OAKG;IACH,cAAc,CAAC,OAAO,EAAE,aAAa,GAAG,OAAO,CAAC,cAAc,CAAC,CAAA;IAE/D;;;;;;OAMG;IACH,sBAAsB,CAAC,OAAO,EAAE,0BAA0B,GAAG,OAAO,CAAC,sBAAsB,CAAC,CAAA;CAC7F;AAGD;;;GAGG;AACH,MAAM,MAAM,aAAa,GAAG;IAC1B,iDAAiD;IACjD,IAAI,CAAC,EAAE,GAAG,CAAC;IAEX,8DAA8D;IAC9D,MAAM,EAAE,MAAM,CAAC;IAEf,8FAA8F;IAC9F,OAAO,EAAE,sBAAsB,GAAG,GAAG,CAAC;IAEtC,+DAA+D;IAC/D,SAAS,EAAE,MAAM,CAAC;IAElB;;;;;;;;;;;;;OAaG;IACH,MAAM,CAAC,EAAE,WAAW,CAAC;IAErB;;;;OAIG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;IAEnB;;;;OAIG;IACH,YAAY,CAAC,EAAE;QACb,kFAAkF;QAClF,OAAO,EAAE,sBAAsB,CAAC;QAEhC;;;;;WAKG;QACH,kBAAkB,CAAC,EAAE,kBAAkB,CAAC;KACzC,CAAC;CACH,CAAC;AAEF;;;GAGG;AACH,MAAM,MAAM,0BAA0B,GAAG;IACvC,iDAAiD;IACjD,IAAI,CAAC,EAAE,GAAG,CAAC;IAEX,8DAA8D;IAC9D,MAAM,EAAE,MAAM,CAAC;IAEf,uCAAuC;IACvC,OAAO,EAAE,cAAc,GAAG,sBAAsB,CAAC;IAEjD,sEAAsE;IACtE,SAAS,EAAE,MAAM,CAAC;IAElB,6EAA6E;IAC7E,MAAM,CAAC,EAAE,WAAW,CAAC;IAErB;;;;OAIG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB,CAAC;AAEF;;;GAGG;AACH,MAAM,MAAM,cAAc,GAAG,iBAAiB,GAAG,gBAAgB,CAAC"}
@@ -1,4 +1,5 @@
1
- import type { DwnRpc, DwnRpcRequest, DwnRpcResponse } from './dwn-rpc-types.js';
1
+ import type { ReplicationApplyResult } from '@enbox/dwn-sdk-js';
2
+ import type { DwnReplicationApplyRequest, DwnRpc, DwnRpcRequest, DwnRpcResponse } from './dwn-rpc-types.js';
2
3
  import type { DwnServerInfoCache, ServerInfo } from './server-info-types.js';
3
4
  /**
4
5
  * Options for controlling HTTP retry behaviour.
@@ -22,10 +23,9 @@ export declare class HttpDwnRpcClient implements DwnRpc {
22
23
  private readonly serverInfoCache;
23
24
  private readonly _retryOptions;
24
25
  constructor(serverInfoCache?: DwnServerInfoCache, retryOptions?: HttpRetryOptions);
25
- /** Detects whether the current runtime is Bun (vs a browser). */
26
- static isBunRuntime(): boolean;
27
26
  get transportProtocols(): string[];
28
27
  sendDwnRequest(request: DwnRpcRequest): Promise<DwnRpcResponse>;
28
+ applyReplicatedMessage(request: DwnReplicationApplyRequest): Promise<ReplicationApplyResult>;
29
29
  getServerInfo(dwnUrl: string): Promise<ServerInfo>;
30
30
  /**
31
31
  * Wrapper around `fetch()` that retries on transient network errors and
@@ -1 +1 @@
1
- {"version":3,"file":"http-dwn-rpc-client.d.ts","sourceRoot":"","sources":["../../src/http-dwn-rpc-client.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,MAAM,EAAE,aAAa,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AAChF,OAAO,KAAK,EAAE,kBAAkB,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AA4B7E;;GAEG;AACH,MAAM,MAAM,gBAAgB,GAAG;IAC7B,qEAAqE;IACrE,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,wEAAwE;IACxE,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,8DAA8D;IAC9D,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB,CAAC;AAuDF;;;;;;GAMG;AACH,qBAAa,gBAAiB,YAAW,MAAM;IAC7C,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAqB;IACrD,OAAO,CAAC,QAAQ,CAAC,aAAa,CAA6B;gBAE/C,eAAe,CAAC,EAAE,kBAAkB,EAAE,YAAY,CAAC,EAAE,gBAAgB;IASjF,iEAAiE;IACjE,MAAM,CAAC,YAAY,IAAI,OAAO;IAI9B,IAAI,kBAAkB,IAAI,MAAM,EAAE,CAAgC;IAE5D,cAAc,CAAC,OAAO,EAAE,aAAa,GAAG,OAAO,CAAC,cAAc,CAAC;IA4G/D,aAAa,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,CAAC;IA8CxD;;;;OAIG;YACW,cAAc;CAgD7B"}
1
+ {"version":3,"file":"http-dwn-rpc-client.d.ts","sourceRoot":"","sources":["../../src/http-dwn-rpc-client.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,mBAAmB,CAAC;AAChE,OAAO,KAAK,EAAE,0BAA0B,EAAE,MAAM,EAAE,aAAa,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AAC5G,OAAO,KAAK,EAAE,kBAAkB,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AAiC7E;;GAEG;AACH,MAAM,MAAM,gBAAgB,GAAG;IAC7B,qEAAqE;IACrE,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,wEAAwE;IACxE,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,8DAA8D;IAC9D,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB,CAAC;AAiGF;;;;;;GAMG;AACH,qBAAa,gBAAiB,YAAW,MAAM;IAC7C,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAqB;IACrD,OAAO,CAAC,QAAQ,CAAC,aAAa,CAA6B;gBAE/C,eAAe,CAAC,EAAE,kBAAkB,EAAE,YAAY,CAAC,EAAE,gBAAgB;IASjF,IAAI,kBAAkB,IAAI,MAAM,EAAE,CAAgC;IAE5D,cAAc,CAAC,OAAO,EAAE,aAAa,GAAG,OAAO,CAAC,cAAc,CAAC;IA0F/D,sBAAsB,CAAC,OAAO,EAAE,0BAA0B,GAAG,OAAO,CAAC,sBAAsB,CAAC;IAiD5F,aAAa,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,CAAC;IA8CxD;;;;OAIG;YACW,cAAc;CAyC7B"}
@@ -1,4 +1,5 @@
1
1
  export * from './dwn-registrar.js';
2
+ export * from './dwn-rpc-error.js';
2
3
  export * from './dwn-rpc-types.js';
3
4
  export * from './dwn-server-info-cache-memory.js';
4
5
  export * from './http-dwn-rpc-client.js';
@@ -6,8 +7,10 @@ export * from './json-rpc.js';
6
7
  export * from './json-rpc-socket.js';
7
8
  export * from './provider-directory-types.js';
8
9
  export * from './rate-limit-error.js';
10
+ export * from './readable-stream.js';
9
11
  export * from './registration-types.js';
10
12
  export * from './rpc-client.js';
11
13
  export * from './server-info-types.js';
14
+ export * from './ws-payload-size.js';
12
15
  export * from './web-socket-clients.js';
13
16
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,oBAAoB,CAAC;AACnC,cAAc,oBAAoB,CAAC;AACnC,cAAc,mCAAmC,CAAC;AAClD,cAAc,0BAA0B,CAAC;AACzC,cAAc,eAAe,CAAC;AAC9B,cAAc,sBAAsB,CAAC;AACrC,cAAc,+BAA+B,CAAC;AAC9C,cAAc,uBAAuB,CAAC;AACtC,cAAc,yBAAyB,CAAC;AACxC,cAAc,iBAAiB,CAAC;AAChC,cAAc,wBAAwB,CAAC;AAGvC,cAAc,yBAAyB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,oBAAoB,CAAC;AACnC,cAAc,oBAAoB,CAAC;AACnC,cAAc,oBAAoB,CAAC;AACnC,cAAc,mCAAmC,CAAC;AAClD,cAAc,0BAA0B,CAAC;AACzC,cAAc,eAAe,CAAC;AAC9B,cAAc,sBAAsB,CAAC;AACrC,cAAc,+BAA+B,CAAC;AAC9C,cAAc,uBAAuB,CAAC;AACtC,cAAc,sBAAsB,CAAC;AACrC,cAAc,yBAAyB,CAAC;AACxC,cAAc,iBAAiB,CAAC;AAChC,cAAc,wBAAwB,CAAC;AACvC,cAAc,sBAAsB,CAAC;AAGrC,cAAc,yBAAyB,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"json-rpc-socket.d.ts","sourceRoot":"","sources":["../../src/json-rpc-socket.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAa,cAAc,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AAsChF,MAAM,WAAW,oBAAoB;IACnC,gDAAgD;IAChD,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,wDAAwD;IACxD,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,wCAAwC;IACxC,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;IACrB,oCAAoC;IACpC,OAAO,CAAC,EAAE,CAAC,KAAK,CAAC,EAAE,GAAG,KAAK,IAAI,CAAC;IAEhC;;;OAGG;IACH,aAAa,CAAC,EAAE,OAAO,CAAC;IAExB,2EAA2E;IAC3E,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAE5B,+EAA+E;IAC/E,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAE3B,mEAAmE;IACnE,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAE9B,4DAA4D;IAC5D,cAAc,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC;IAE3C,2DAA2D;IAC3D,aAAa,CAAC,EAAE,MAAM,IAAI,CAAC;IAE3B;;;OAGG;IACH,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAE3B;;;OAGG;IACH,gBAAgB,CAAC,EAAE,MAAM,CAAC;CAC3B;AAED;;;;;;GAMG;AACH,qBAAa,aAAa;IAwCtB,OAAO,CAAC,MAAM;IACd,OAAO,CAAC,QAAQ,CAAC,eAAe;IAxClC;;;;OAIG;IACH,OAAO,CAAC,QAAQ,CAAC,eAAe,CAA6D;IAE7F;;;;OAIG;IACH,OAAO,CAAC,QAAQ,CAAC,sBAAsB,CAA6B;IAEpE,uCAAuC;IACvC,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAS;IAE7B,uCAAuC;IACvC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAuB;IAE/C,8DAA8D;IAC9D,OAAO,CAAC,YAAY,CAAS;IAE7B,+DAA+D;IAC/D,OAAO,CAAC,YAAY,CAAS;IAE7B,iDAAiD;IACjD,OAAO,CAAC,YAAY,CAAS;IAE7B,gCAAgC;IAChC,OAAO,CAAC,kBAAkB,CAA6C;IAEvE,2EAA2E;IAC3E,OAAO,CAAC,iBAAiB,CAA4C;IAErE,2CAA2C;IAC3C,OAAO,CAAC,aAAa,CAAS;IAE9B,OAAO;IAWP,iDAAiD;IACjD,IAAW,WAAW,IAAI,OAAO,CAEhC;WAEmB,OAAO,CAAC,GAAG,EAAE,MAAM,EAAE,OAAO,GAAE,oBAAyB,GAAG,OAAO,CAAC,aAAa,CAAC;IAmBpG;;OAEG;IACI,KAAK,IAAI,IAAI;IAOpB;;OAEG;IACU,OAAO,CAAC,OAAO,EAAE,cAAc,GAAG,OAAO,CAAC,eAAe,CAAC;IAyBvE;;;OAGG;IACU,SAAS,CAAC,OAAO,EAAE,cAAc,EAAE,QAAQ,EAAE,CAAC,QAAQ,EAAE,eAAe,KAAK,IAAI,GAAG,OAAO,CAAC;QACtG,QAAQ,EAAE,eAAe,CAAC;QAC1B,KAAK,CAAC,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;KAC5B,CAAC;IA2DH,OAAO,CAAC,iBAAiB;IAMzB;;OAEG;IACI,IAAI,CAAC,OAAO,EAAE,cAAc,GAAE,IAAI;IAQzC;;OAEG;IACH,OAAO,CAAC,MAAM,CAAC,eAAe;IA+B9B;;;OAGG;IACH,OAAO,CAAC,UAAU;IAuClB;;;OAGG;IACH,OAAO,CAAC,qBAAqB;IAmB7B;;;;;OAKG;IACH,OAAO,CAAC,cAAc;IAuDtB,gEAAgE;IAChE,OAAO,CAAC,aAAa;IAgBrB;;OAEG;IACH,OAAO,CAAC,gBAAgB;CAqDzB"}
1
+ {"version":3,"file":"json-rpc-socket.d.ts","sourceRoot":"","sources":["../../src/json-rpc-socket.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAa,cAAc,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AAsChF,MAAM,WAAW,oBAAoB;IACnC,gDAAgD;IAChD,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,wDAAwD;IACxD,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,wCAAwC;IACxC,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;IACrB,oCAAoC;IACpC,OAAO,CAAC,EAAE,CAAC,KAAK,CAAC,EAAE,GAAG,KAAK,IAAI,CAAC;IAEhC;;;OAGG;IACH,aAAa,CAAC,EAAE,OAAO,CAAC;IAExB,2EAA2E;IAC3E,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAE5B,+EAA+E;IAC/E,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAE3B,mEAAmE;IACnE,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAE9B,4DAA4D;IAC5D,cAAc,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC;IAE3C,2DAA2D;IAC3D,aAAa,CAAC,EAAE,MAAM,IAAI,CAAC;IAE3B;;;OAGG;IACH,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAE3B;;;OAGG;IACH,gBAAgB,CAAC,EAAE,MAAM,CAAC;CAC3B;AAED;;;;;;GAMG;AACH,qBAAa,aAAa;IAwCtB,OAAO,CAAC,MAAM;IACd,OAAO,CAAC,QAAQ,CAAC,eAAe;IAxClC;;;;OAIG;IACH,OAAO,CAAC,QAAQ,CAAC,eAAe,CAA6D;IAE7F;;;;OAIG;IACH,OAAO,CAAC,QAAQ,CAAC,sBAAsB,CAA6B;IAEpE,uCAAuC;IACvC,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAS;IAE7B,uCAAuC;IACvC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAuB;IAE/C,8DAA8D;IAC9D,OAAO,CAAC,YAAY,CAAS;IAE7B,+DAA+D;IAC/D,OAAO,CAAC,YAAY,CAAS;IAE7B,iDAAiD;IACjD,OAAO,CAAC,YAAY,CAAS;IAE7B,gCAAgC;IAChC,OAAO,CAAC,kBAAkB,CAA6C;IAEvE,2EAA2E;IAC3E,OAAO,CAAC,iBAAiB,CAA4C;IAErE,2CAA2C;IAC3C,OAAO,CAAC,aAAa,CAAS;IAE9B,OAAO;IAWP,iDAAiD;IACjD,IAAW,WAAW,IAAI,OAAO,CAEhC;WAEmB,OAAO,CAAC,GAAG,EAAE,MAAM,EAAE,OAAO,GAAE,oBAAyB,GAAG,OAAO,CAAC,aAAa,CAAC;IAmBpG;;OAEG;IACI,KAAK,IAAI,IAAI;IAOpB;;OAEG;IACU,OAAO,CAAC,OAAO,EAAE,cAAc,GAAG,OAAO,CAAC,eAAe,CAAC;IAwBvE;;;OAGG;IACU,SAAS,CAAC,OAAO,EAAE,cAAc,EAAE,QAAQ,EAAE,CAAC,QAAQ,EAAE,eAAe,KAAK,IAAI,GAAG,OAAO,CAAC;QACtG,QAAQ,EAAE,eAAe,CAAC;QAC1B,KAAK,CAAC,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;KAC5B,CAAC;IA2DH,OAAO,CAAC,iBAAiB;IAMzB;;OAEG;IACI,IAAI,CAAC,OAAO,EAAE,cAAc,GAAE,IAAI;IAQzC;;OAEG;IACH,OAAO,CAAC,MAAM,CAAC,eAAe;IA+B9B;;;OAGG;IACH,OAAO,CAAC,UAAU;IAuClB;;;OAGG;IACH,OAAO,CAAC,qBAAqB;IAmB7B;;;;;OAKG;IACH,OAAO,CAAC,cAAc;IAuDtB,gEAAgE;IAChE,OAAO,CAAC,aAAa;IAgBrB;;OAEG;IACH,OAAO,CAAC,gBAAgB;CAqDzB"}
@@ -0,0 +1,6 @@
1
+ /**
2
+ * Wraps runtime-provided streams in a standard `ReadableStream` so downstream
3
+ * consumers see consistent reader behavior across Bun and browsers.
4
+ */
5
+ export declare function normalizeReadableStream(readableStream: ReadableStream<Uint8Array>): ReadableStream<Uint8Array>;
6
+ //# sourceMappingURL=readable-stream.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"readable-stream.d.ts","sourceRoot":"","sources":["../../src/readable-stream.ts"],"names":[],"mappings":"AAMA;;;GAGG;AACH,wBAAgB,uBAAuB,CAAC,cAAc,EAAE,cAAc,CAAC,UAAU,CAAC,GAAG,cAAc,CAAC,UAAU,CAAC,CAgD9G"}
@@ -0,0 +1,3 @@
1
+ import type { ReplicationApplyResult } from '@enbox/dwn-sdk-js';
2
+ export declare function parseReplicationApplyResult(value: unknown): ReplicationApplyResult;
3
+ //# sourceMappingURL=replication-apply-result.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"replication-apply-result.d.ts","sourceRoot":"","sources":["../../src/replication-apply-result.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAgC,sBAAsB,EAAE,MAAM,mBAAmB,CAAC;AAO9F,wBAAgB,2BAA2B,CAAC,KAAK,EAAE,OAAO,GAAG,sBAAsB,CA6BlF"}
@@ -1,4 +1,5 @@
1
- import type { DwnRpc, DwnRpcRequest, DwnRpcResponse } from './dwn-rpc-types.js';
1
+ import type { ReplicationApplyResult } from '@enbox/dwn-sdk-js';
2
+ import type { DwnReplicationApplyRequest, DwnRpc, DwnRpcRequest, DwnRpcResponse } from './dwn-rpc-types.js';
2
3
  import type { DwnServerInfoRpc, ServerInfo } from './server-info-types.js';
3
4
  import { HttpDwnRpcClient } from './http-dwn-rpc-client.js';
4
5
  import { WebSocketDwnRpcClient } from './web-socket-clients.js';
@@ -39,6 +40,7 @@ export declare class EnboxRpcClient implements EnboxRpc {
39
40
  get transportProtocols(): string[];
40
41
  sendDidRequest(request: DidRpcRequest): Promise<DidRpcResponse>;
41
42
  sendDwnRequest(request: DwnRpcRequest): Promise<DwnRpcResponse>;
43
+ applyReplicatedMessage(request: DwnReplicationApplyRequest): Promise<ReplicationApplyResult>;
42
44
  getServerInfo(dwnUrl: string): Promise<ServerInfo>;
43
45
  }
44
46
  export declare class HttpEnboxRpcClient extends HttpDwnRpcClient implements EnboxRpc {
@@ -46,6 +48,5 @@ export declare class HttpEnboxRpcClient extends HttpDwnRpcClient implements Enbo
46
48
  }
47
49
  export declare class WebSocketEnboxRpcClient extends WebSocketDwnRpcClient implements EnboxRpc {
48
50
  sendDidRequest(_request: DidRpcRequest): Promise<DidRpcResponse>;
49
- getServerInfo(_dwnUrl: string): Promise<ServerInfo>;
50
51
  }
51
52
  //# sourceMappingURL=rpc-client.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"rpc-client.d.ts","sourceRoot":"","sources":["../../src/rpc-client.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,MAAM,EAAE,aAAa,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AAChF,OAAO,KAAK,EAAE,gBAAgB,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AAI3E,OAAO,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAC;AAC5D,OAAO,EAAE,qBAAqB,EAAE,MAAM,yBAAyB,CAAC;AAEhE;;;GAGG;AACH,MAAM,WAAW,MAAM;IACrB,IAAI,kBAAkB,IAAI,MAAM,EAAE,CAAA;IAClC,cAAc,CAAC,OAAO,EAAE,aAAa,GAAG,OAAO,CAAC,cAAc,CAAC,CAAA;CAChE;AAED,oBAAY,YAAY;IACtB,MAAM,eAAe;IACrB,OAAO,gBAAgB;CACxB;AAED,MAAM,MAAM,aAAa,GAAG;IAC1B,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,YAAY,CAAC;IACrB,GAAG,EAAE,MAAM,CAAC;CACb,CAAC;AAEF,MAAM,MAAM,cAAc,GAAG;IAC3B,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,EAAE,EAAE,OAAO,CAAC;IACZ,MAAM,EAAE,SAAS,CAAC;CACnB,CAAC;AAEF,MAAM,MAAM,SAAS,GAAG;IACtB,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;CACjB,CAAC;AAEF,MAAM,WAAW,QAAS,SAAQ,MAAM,EAAE,MAAM,EAAE,gBAAgB;CAAG;AAErE;;GAEG;AACH,qBAAa,cAAe,YAAW,QAAQ;IAC7C,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAwB;gBAE7C,OAAO,GAAE,QAAQ,EAAO;IAcpC,IAAI,kBAAkB,IAAI,MAAM,EAAE,CAEjC;IAEK,cAAc,CAAC,OAAO,EAAE,aAAa,GAAG,OAAO,CAAC,cAAc,CAAC;IAerE,cAAc,CAAC,OAAO,EAAE,aAAa,GAAG,OAAO,CAAC,cAAc,CAAC;IAezD,aAAa,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,CAAC;CAczD;AAED,qBAAa,kBAAmB,SAAQ,gBAAiB,YAAW,QAAQ;IACpE,cAAc,CAAC,OAAO,EAAE,aAAa,GAAG,OAAO,CAAC,cAAc,CAAC;CAoCtE;AAED,qBAAa,uBAAwB,SAAQ,qBAAsB,YAAW,QAAQ;IAC9E,cAAc,CAAC,QAAQ,EAAE,aAAa,GAAG,OAAO,CAAC,cAAc,CAAC;IAIhE,aAAa,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,CAAC;CAG1D"}
1
+ {"version":3,"file":"rpc-client.d.ts","sourceRoot":"","sources":["../../src/rpc-client.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,mBAAmB,CAAC;AAChE,OAAO,KAAK,EAAE,0BAA0B,EAAE,MAAM,EAAE,aAAa,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AAC5G,OAAO,KAAK,EAAE,gBAAgB,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AAI3E,OAAO,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAC;AAC5D,OAAO,EAAE,qBAAqB,EAAE,MAAM,yBAAyB,CAAC;AAEhE;;;GAGG;AACH,MAAM,WAAW,MAAM;IACrB,IAAI,kBAAkB,IAAI,MAAM,EAAE,CAAA;IAClC,cAAc,CAAC,OAAO,EAAE,aAAa,GAAG,OAAO,CAAC,cAAc,CAAC,CAAA;CAChE;AAED,oBAAY,YAAY;IACtB,MAAM,eAAe;IACrB,OAAO,gBAAgB;CACxB;AAED,MAAM,MAAM,aAAa,GAAG;IAC1B,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,YAAY,CAAC;IACrB,GAAG,EAAE,MAAM,CAAC;CACb,CAAC;AAEF,MAAM,MAAM,cAAc,GAAG;IAC3B,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,EAAE,EAAE,OAAO,CAAC;IACZ,MAAM,EAAE,SAAS,CAAC;CACnB,CAAC;AAEF,MAAM,MAAM,SAAS,GAAG;IACtB,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;CACjB,CAAC;AAEF,MAAM,WAAW,QAAS,SAAQ,MAAM,EAAE,MAAM,EAAE,gBAAgB;CAAG;AAErE;;GAEG;AACH,qBAAa,cAAe,YAAW,QAAQ;IAC7C,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAwB;gBAE7C,OAAO,GAAE,QAAQ,EAAO;IAcpC,IAAI,kBAAkB,IAAI,MAAM,EAAE,CAEjC;IAEK,cAAc,CAAC,OAAO,EAAE,aAAa,GAAG,OAAO,CAAC,cAAc,CAAC;IAerE,cAAc,CAAC,OAAO,EAAE,aAAa,GAAG,OAAO,CAAC,cAAc,CAAC;IAe/D,sBAAsB,CAAC,OAAO,EAAE,0BAA0B,GAAG,OAAO,CAAC,sBAAsB,CAAC;IActF,aAAa,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,CAAC;CAczD;AAED,qBAAa,kBAAmB,SAAQ,gBAAiB,YAAW,QAAQ;IACpE,cAAc,CAAC,OAAO,EAAE,aAAa,GAAG,OAAO,CAAC,cAAc,CAAC;CAoCtE;AAED,qBAAa,uBAAwB,SAAQ,qBAAsB,YAAW,QAAQ;IAC9E,cAAc,CAAC,QAAQ,EAAE,aAAa,GAAG,OAAO,CAAC,cAAc,CAAC;CAGvE"}
@@ -1,13 +1,23 @@
1
- import type { DwnRpc, DwnRpcRequest, DwnRpcResponse } from './dwn-rpc-types.js';
1
+ import type { DwnReplicationApplyRequest, DwnRpc, DwnRpcRequest, DwnRpcResponse } from './dwn-rpc-types.js';
2
+ import type { DwnServerInfoRpc, ServerInfo } from './server-info-types.js';
3
+ import type { ReplicationApplyResult } from '@enbox/dwn-sdk-js';
2
4
  export declare class WebSocketDwnRpcClient implements DwnRpc {
5
+ private readonly serverInfoRpc;
3
6
  get transportProtocols(): string[];
4
7
  private static readonly connections;
8
+ private static readonly pendingConnections;
9
+ constructor(serverInfoRpc?: DwnServerInfoRpc);
5
10
  sendDwnRequest(request: DwnRpcRequest): Promise<DwnRpcResponse>;
11
+ applyReplicatedMessage(request: DwnReplicationApplyRequest): Promise<ReplicationApplyResult>;
12
+ getServerInfo(dwnUrl: string): Promise<ServerInfo>;
13
+ private maxPayloadBytesForReplicatedApply;
14
+ private static getConnection;
6
15
  /**
7
16
  * Creates a new `SocketConnection` with lifecycle wiring for reconnection.
8
17
  */
9
18
  private static createConnection;
10
19
  private static processMessage;
20
+ private static applyReplicatedMessage;
11
21
  private static subscriptionRequest;
12
22
  /**
13
23
  * Resubscribes all tracked subscriptions on a reconnected socket.
@@ -16,5 +26,8 @@ export declare class WebSocketDwnRpcClient implements DwnRpc {
16
26
  * for anonymous/unsigned subscriptions.
17
27
  */
18
28
  private static resubscribeAll;
29
+ private static assertReplicatedApplyDataIsPresent;
30
+ private static assertReplicatedApplyDataSizeIsSupported;
31
+ private static assertPayloadFitsFrame;
19
32
  }
20
33
  //# sourceMappingURL=web-socket-clients.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"web-socket-clients.d.ts","sourceRoot":"","sources":["../../src/web-socket-clients.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,aAAa,EAAE,cAAc,EAA8C,MAAM,oBAAoB,CAAC;AAqD5H,qBAAa,qBAAsB,YAAW,MAAM;IAClD,IAAW,kBAAkB,IAAI,MAAM,EAAE,CAA4B;IAErE,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,WAAW,CAAuC;IAEpE,cAAc,CAAC,OAAO,EAAE,aAAa,GAAG,OAAO,CAAC,cAAc,CAAC;IA+BrE;;OAEG;mBACkB,gBAAgB;mBAkChB,cAAc;mBAiBd,mBAAmB;IA2FxC;;;;;OAKG;mBACkB,cAAc;CAmCpC"}
1
+ {"version":3,"file":"web-socket-clients.d.ts","sourceRoot":"","sources":["../../src/web-socket-clients.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,0BAA0B,EAC1B,MAAM,EACN,aAAa,EACb,cAAc,EAGf,MAAM,oBAAoB,CAAC;AAC5B,OAAO,KAAK,EAAE,gBAAgB,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AAC3E,OAAO,KAAK,EAIV,sBAAsB,EAGvB,MAAM,mBAAmB,CAAC;AAmE3B,qBAAa,qBAAsB,YAAW,MAAM;IAM/B,OAAO,CAAC,QAAQ,CAAC,aAAa;IALjD,IAAW,kBAAkB,IAAI,MAAM,EAAE,CAA4B;IAErE,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,WAAW,CAAuC;IAC1E,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,kBAAkB,CAAgD;gBAEtD,aAAa,GAAE,gBAAyC;IAEtF,cAAc,CAAC,OAAO,EAAE,aAAa,GAAG,OAAO,CAAC,cAAc,CAAC;IAoB/D,sBAAsB,CAAC,OAAO,EAAE,0BAA0B,GAAG,OAAO,CAAC,sBAAsB,CAAC;IAS5F,aAAa,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,CAAC;YAI1C,iCAAiC;mBAU1B,aAAa;IA+BlC;;OAEG;mBACkB,gBAAgB;mBAkChB,cAAc;mBAiBd,sBAAsB;mBA0BtB,mBAAmB;IA2FxC;;;;;OAKG;mBACkB,cAAc;IAoCnC,OAAO,CAAC,MAAM,CAAC,kCAAkC;IAUjD,OAAO,CAAC,MAAM,CAAC,wCAAwC;IAUvD,OAAO,CAAC,MAAM,CAAC,sBAAsB;CAatC"}
@@ -0,0 +1,6 @@
1
+ export declare const DEFAULT_MAX_WS_RAW_RECORD_DATA_BYTES: number;
2
+ export declare const WS_JSON_RPC_ENVELOPE_BYTES: number;
3
+ export declare function base64UrlEncodedLength(byteLength: number): number;
4
+ export declare function estimatedWsJsonRpcPayloadBytes(rawDataSize: number): number;
5
+ export declare function maxWsJsonRpcPayloadBytes(maxRecordDataSize: number): number;
6
+ //# sourceMappingURL=ws-payload-size.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ws-payload-size.d.ts","sourceRoot":"","sources":["../../src/ws-payload-size.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,oCAAoC,QAAoB,CAAC;AACtE,eAAO,MAAM,0BAA0B,QAAY,CAAC;AAEpD,wBAAgB,sBAAsB,CAAC,UAAU,EAAE,MAAM,GAAG,MAAM,CAEjE;AAED,wBAAgB,8BAA8B,CAAC,WAAW,EAAE,MAAM,GAAG,MAAM,CAE1E;AAED,wBAAgB,wBAAwB,CAAC,iBAAiB,EAAE,MAAM,GAAG,MAAM,CAE1E"}