@enbox/agent 0.7.6 → 0.7.8

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 (85) hide show
  1. package/dist/browser.mjs +9 -11
  2. package/dist/browser.mjs.map +4 -4
  3. package/dist/esm/dwn-api.js +3 -2
  4. package/dist/esm/dwn-api.js.map +1 -1
  5. package/dist/esm/enbox-connect-protocol.js +5 -5
  6. package/dist/esm/enbox-connect-protocol.js.map +1 -1
  7. package/dist/esm/hd-identity-vault.js +187 -177
  8. package/dist/esm/hd-identity-vault.js.map +1 -1
  9. package/dist/esm/index.js +1 -1
  10. package/dist/esm/index.js.map +1 -1
  11. package/dist/esm/permissions-api.js +7 -34
  12. package/dist/esm/permissions-api.js.map +1 -1
  13. package/dist/esm/sync-closure-resolver.js +229 -110
  14. package/dist/esm/sync-closure-resolver.js.map +1 -1
  15. package/dist/esm/sync-closure-types.js +24 -7
  16. package/dist/esm/sync-closure-types.js.map +1 -1
  17. package/dist/esm/sync-engine-level.js +1961 -764
  18. package/dist/esm/sync-engine-level.js.map +1 -1
  19. package/dist/esm/sync-link-id.js +4 -13
  20. package/dist/esm/sync-link-id.js.map +1 -1
  21. package/dist/esm/sync-link-reconciler.js +26 -8
  22. package/dist/esm/sync-link-reconciler.js.map +1 -1
  23. package/dist/esm/sync-messages.js +218 -154
  24. package/dist/esm/sync-messages.js.map +1 -1
  25. package/dist/esm/sync-permission-grants.js +208 -0
  26. package/dist/esm/sync-permission-grants.js.map +1 -0
  27. package/dist/esm/sync-replication-ledger.js +23 -40
  28. package/dist/esm/sync-replication-ledger.js.map +1 -1
  29. package/dist/esm/sync-scope-acceptance.js +126 -0
  30. package/dist/esm/sync-scope-acceptance.js.map +1 -0
  31. package/dist/esm/sync-topological-sort.js +57 -15
  32. package/dist/esm/sync-topological-sort.js.map +1 -1
  33. package/dist/esm/types/sync.js +130 -22
  34. package/dist/esm/types/sync.js.map +1 -1
  35. package/dist/types/dwn-api.d.ts.map +1 -1
  36. package/dist/types/hd-identity-vault.d.ts +25 -0
  37. package/dist/types/hd-identity-vault.d.ts.map +1 -1
  38. package/dist/types/index.d.ts +1 -1
  39. package/dist/types/index.d.ts.map +1 -1
  40. package/dist/types/permissions-api.d.ts +1 -2
  41. package/dist/types/permissions-api.d.ts.map +1 -1
  42. package/dist/types/sync-closure-resolver.d.ts.map +1 -1
  43. package/dist/types/sync-closure-types.d.ts +14 -3
  44. package/dist/types/sync-closure-types.d.ts.map +1 -1
  45. package/dist/types/sync-engine-level.d.ts +127 -25
  46. package/dist/types/sync-engine-level.d.ts.map +1 -1
  47. package/dist/types/sync-link-id.d.ts +3 -9
  48. package/dist/types/sync-link-id.d.ts.map +1 -1
  49. package/dist/types/sync-link-reconciler.d.ts +12 -2
  50. package/dist/types/sync-link-reconciler.d.ts.map +1 -1
  51. package/dist/types/sync-messages.d.ts +16 -13
  52. package/dist/types/sync-messages.d.ts.map +1 -1
  53. package/dist/types/sync-permission-grants.d.ts +52 -0
  54. package/dist/types/sync-permission-grants.d.ts.map +1 -0
  55. package/dist/types/sync-replication-ledger.d.ts +5 -13
  56. package/dist/types/sync-replication-ledger.d.ts.map +1 -1
  57. package/dist/types/sync-scope-acceptance.d.ts +28 -0
  58. package/dist/types/sync-scope-acceptance.d.ts.map +1 -0
  59. package/dist/types/sync-topological-sort.d.ts +2 -1
  60. package/dist/types/sync-topological-sort.d.ts.map +1 -1
  61. package/dist/types/types/identity-vault.d.ts +9 -0
  62. package/dist/types/types/identity-vault.d.ts.map +1 -1
  63. package/dist/types/types/permissions.d.ts +2 -0
  64. package/dist/types/types/permissions.d.ts.map +1 -1
  65. package/dist/types/types/sync.d.ts +137 -75
  66. package/dist/types/types/sync.d.ts.map +1 -1
  67. package/package.json +3 -3
  68. package/src/dwn-api.ts +3 -2
  69. package/src/enbox-connect-protocol.ts +5 -5
  70. package/src/hd-identity-vault.ts +244 -212
  71. package/src/index.ts +10 -1
  72. package/src/permissions-api.ts +11 -42
  73. package/src/sync-closure-resolver.ts +306 -126
  74. package/src/sync-closure-types.ts +38 -9
  75. package/src/sync-engine-level.ts +2560 -797
  76. package/src/sync-link-id.ts +9 -14
  77. package/src/sync-link-reconciler.ts +43 -10
  78. package/src/sync-messages.ts +263 -159
  79. package/src/sync-permission-grants.ts +297 -0
  80. package/src/sync-replication-ledger.ts +55 -50
  81. package/src/sync-scope-acceptance.ts +186 -0
  82. package/src/sync-topological-sort.ts +89 -21
  83. package/src/types/identity-vault.ts +8 -1
  84. package/src/types/permissions.ts +2 -0
  85. package/src/types/sync.ts +235 -62
@@ -1 +1 @@
1
- {"version":3,"file":"sync-link-reconciler.js","sourceRoot":"","sources":["../../src/sync-link-reconciler.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"sync-link-reconciler.js","sourceRoot":"","sources":["../../src/sync-link-reconciler.ts"],"names":[],"mappings":"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"}
@@ -10,9 +10,22 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
10
10
  import { DwnInterfaceName, DwnMethodName, Encoder, Message } from '@enbox/dwn-sdk-js';
11
11
  import { DwnInterface } from './types/dwn.js';
12
12
  import { isRecordsWrite } from './utils.js';
13
+ import { toMessagesPermissionGrantIds } from './sync-permission-grants.js';
13
14
  import { topologicalSort } from './sync-topological-sort.js';
14
15
  /** Maximum data size (in bytes) to buffer in memory for retry. Larger payloads are re-fetched. */
15
16
  const MAX_BUFFER_SIZE = 1048576; // 1 MB
17
+ /** Raised when an in-flight pull is cancelled before local apply can continue. */
18
+ export class SyncPullAbortedError extends Error {
19
+ constructor() {
20
+ super('Sync pull aborted because the sync target is no longer current.');
21
+ this.name = 'SyncPullAbortedError';
22
+ }
23
+ }
24
+ function assertShouldContinue(shouldContinue) {
25
+ if ((shouldContinue === null || shouldContinue === void 0 ? void 0 : shouldContinue()) === false) {
26
+ throw new SyncPullAbortedError();
27
+ }
28
+ }
16
29
  /**
17
30
  * 202: message was successfully written to the remote DWN
18
31
  * 204: an initial write message was written without any data
@@ -92,97 +105,147 @@ export function getMessageCid(message) {
92
105
  * too much memory.
93
106
  */
94
107
  export function pullMessages(_a) {
95
- return __awaiter(this, arguments, void 0, function* ({ did, dwnUrl, delegateDid, protocol, messageCids, prefetched, agent, permissionsApi }) {
96
- // Convert prefetched diff entries into SyncMessageEntry format.
97
- const prefetchedEntries = [];
98
- if (prefetched) {
99
- for (const entry of prefetched) {
100
- if (!entry.message) {
101
- continue;
102
- }
103
- const syncEntry = { message: entry.message };
104
- if (entry.encodedData) {
105
- // Convert base64url-encoded data to a ReadableStream.
106
- const bytes = Encoder.base64UrlToBytes(entry.encodedData);
107
- syncEntry.bufferedData = bytes;
108
- syncEntry.dataStream = new ReadableStream({
109
- start(controller) {
110
- controller.enqueue(bytes);
111
- controller.close();
112
- }
113
- });
114
- }
115
- prefetchedEntries.push(syncEntry);
116
- }
117
- }
108
+ return __awaiter(this, arguments, void 0, function* ({ did, dwnUrl, delegateDid, permissionGrantIds, messageCids, prefetched, acceptEntry, shouldContinue, agent }) {
109
+ assertShouldContinue(shouldContinue);
118
110
  // Step 1: Fetch remaining messages (not prefetched) from the remote.
119
111
  const fetched = messageCids.length > 0
120
- ? yield fetchRemoteMessages({ did, dwnUrl, delegateDid, protocol, messageCids, agent, permissionsApi })
112
+ ? yield fetchRemoteMessages({ did, dwnUrl, delegateDid, permissionGrantIds, messageCids, agent })
121
113
  : [];
114
+ assertShouldContinue(shouldContinue);
122
115
  // Merge prefetched entries with remotely fetched ones.
123
- const allFetched = [...prefetchedEntries, ...fetched];
116
+ const allFetched = [...syncEntriesFromPrefetchedDiff(prefetched), ...fetched];
117
+ const { accepted, rejectedCids } = yield applyPullAcceptanceGate(allFetched, acceptEntry, shouldContinue);
118
+ assertShouldContinue(shouldContinue);
124
119
  // Step 2: Build dependency graph and topological sort.
125
- const sorted = topologicalSort(allFetched);
120
+ const sorted = topologicalSort(accepted);
126
121
  // Step 3: Buffer small data streams so they can be replayed on retry.
127
- yield bufferSmallStreams(sorted);
122
+ yield bufferSmallStreams(sorted, shouldContinue);
123
+ assertShouldContinue(shouldContinue);
128
124
  // Step 4: Process messages in dependency order with multi-pass retry.
129
125
  const MAX_RETRY_PASSES = 3;
130
126
  let pending = sorted;
131
127
  for (let pass = 0; pass <= MAX_RETRY_PASSES && pending.length > 0; pass++) {
132
- const failed = [];
133
- for (const entry of pending) {
134
- // Create a fresh ReadableStream from the buffer if available (stream is single-use).
135
- const dataStream = entry.bufferedData
136
- ? new ReadableStream({ start(c) { c.enqueue(entry.bufferedData); c.close(); } })
137
- : entry.dataStream;
138
- const pullReply = yield agent.dwn.processRawMessage(did, entry.message, { dataStream });
139
- if (!syncMessageReplyIsSuccessful(pullReply)) {
140
- failed.push(entry);
141
- }
128
+ assertShouldContinue(shouldContinue);
129
+ const failed = yield processPullPass({ did, entries: pending, shouldContinue, agent });
130
+ assertShouldContinue(shouldContinue);
131
+ pending = failed.length === 0
132
+ ? []
133
+ : yield preparePullRetry({ did, dwnUrl, delegateDid, permissionGrantIds, failed, shouldContinue, agent });
134
+ }
135
+ // Return CIDs that permanently failed after all retry passes.
136
+ return [...rejectedCids, ...yield getMessageCids(pending)];
137
+ });
138
+ }
139
+ function applyPullAcceptanceGate(entries, acceptEntry, shouldContinue) {
140
+ return __awaiter(this, void 0, void 0, function* () {
141
+ if (!acceptEntry) {
142
+ return { accepted: entries, rejectedCids: [] };
143
+ }
144
+ const accepted = [];
145
+ const rejectedCids = [];
146
+ for (const entry of entries) {
147
+ assertShouldContinue(shouldContinue);
148
+ if (yield acceptEntry(entry, entries)) {
149
+ accepted.push(entry);
142
150
  }
143
- if (failed.length > 0) {
144
- // Separate entries that have a buffer (can retry locally) from those
145
- // that need a fresh fetch (large payloads whose stream was consumed).
146
- const needsRefetch = [];
147
- const canRetry = [];
148
- for (const entry of failed) {
149
- if (entry.bufferedData || !entry.dataStream) {
150
- // Has a buffer or has no data — can retry without re-fetching.
151
- canRetry.push(entry);
152
- }
153
- else {
154
- // Large payload whose stream was consumed — must re-fetch.
155
- const cid = yield getMessageCid(entry.message);
156
- needsRefetch.push(cid);
157
- }
158
- }
159
- // Re-fetch only the large-payload messages that we couldn't buffer.
160
- if (needsRefetch.length > 0) {
161
- const reFetched = yield fetchRemoteMessages({ did, dwnUrl, delegateDid, protocol, messageCids: needsRefetch, agent, permissionsApi });
162
- canRetry.push(...reFetched);
163
- }
164
- pending = topologicalSort(canRetry);
151
+ else {
152
+ rejectedCids.push(yield getMessageCid(entry.message));
153
+ }
154
+ assertShouldContinue(shouldContinue);
155
+ }
156
+ return { accepted, rejectedCids };
157
+ });
158
+ }
159
+ function syncEntriesFromPrefetchedDiff(prefetched) {
160
+ if (!prefetched) {
161
+ return [];
162
+ }
163
+ const entries = [];
164
+ for (const entry of prefetched) {
165
+ if (!entry.message) {
166
+ continue;
167
+ }
168
+ const syncEntry = { message: entry.message };
169
+ if (entry.encodedData) {
170
+ const bytes = Encoder.base64UrlToBytes(entry.encodedData);
171
+ syncEntry.bufferedData = bytes;
172
+ syncEntry.dataStream = dataStreamFromBytes(bytes);
173
+ }
174
+ entries.push(syncEntry);
175
+ }
176
+ return entries;
177
+ }
178
+ function dataStreamFromBytes(bytes) {
179
+ return new ReadableStream({
180
+ start(controller) {
181
+ controller.enqueue(bytes);
182
+ controller.close();
183
+ }
184
+ });
185
+ }
186
+ function replayableDataStream(entry) {
187
+ return entry.bufferedData ? dataStreamFromBytes(entry.bufferedData) : entry.dataStream;
188
+ }
189
+ function processPullPass(_a) {
190
+ return __awaiter(this, arguments, void 0, function* ({ did, entries, shouldContinue, agent }) {
191
+ const failed = [];
192
+ for (const entry of entries) {
193
+ assertShouldContinue(shouldContinue);
194
+ const pullReply = yield agent.dwn.processRawMessage(did, entry.message, {
195
+ dataStream: replayableDataStream(entry),
196
+ });
197
+ assertShouldContinue(shouldContinue);
198
+ if (!syncMessageReplyIsSuccessful(pullReply)) {
199
+ failed.push(entry);
200
+ }
201
+ }
202
+ return failed;
203
+ });
204
+ }
205
+ function preparePullRetry(_a) {
206
+ return __awaiter(this, arguments, void 0, function* ({ did, dwnUrl, delegateDid, permissionGrantIds, failed, shouldContinue, agent }) {
207
+ const canRetry = [];
208
+ const needsRefetch = [];
209
+ for (const entry of failed) {
210
+ if (entry.bufferedData || !entry.dataStream) {
211
+ canRetry.push(entry);
165
212
  }
166
213
  else {
167
- pending = [];
214
+ needsRefetch.push(yield getMessageCid(entry.message));
168
215
  }
169
216
  }
170
- // Return CIDs that permanently failed after all retry passes.
171
- const permanentlyFailed = [];
172
- for (const entry of pending) {
173
- const cid = yield getMessageCid(entry.message);
174
- permanentlyFailed.push(cid);
217
+ if (needsRefetch.length > 0) {
218
+ assertShouldContinue(shouldContinue);
219
+ canRetry.push(...yield fetchRemoteMessages({
220
+ did,
221
+ dwnUrl,
222
+ delegateDid,
223
+ permissionGrantIds,
224
+ messageCids: needsRefetch,
225
+ agent,
226
+ }));
227
+ assertShouldContinue(shouldContinue);
175
228
  }
176
- return permanentlyFailed;
229
+ return topologicalSort(canRetry);
230
+ });
231
+ }
232
+ function getMessageCids(entries) {
233
+ return __awaiter(this, void 0, void 0, function* () {
234
+ const cids = [];
235
+ for (const entry of entries) {
236
+ cids.push(yield getMessageCid(entry.message));
237
+ }
238
+ return cids;
177
239
  });
178
240
  }
179
241
  /**
180
242
  * Buffers small data streams into `Uint8Array` so they can be replayed on retry.
181
243
  * Streams larger than `MAX_BUFFER_SIZE` are left as-is (will be re-fetched on retry).
182
244
  */
183
- function bufferSmallStreams(entries) {
245
+ function bufferSmallStreams(entries, shouldContinue) {
184
246
  return __awaiter(this, void 0, void 0, function* () {
185
247
  for (const entry of entries) {
248
+ assertShouldContinue(shouldContinue);
186
249
  if (!entry.dataStream) {
187
250
  continue;
188
251
  }
@@ -198,6 +261,7 @@ function bufferSmallStreams(entries) {
198
261
  if (done) {
199
262
  break;
200
263
  }
264
+ assertShouldContinue(shouldContinue);
201
265
  totalSize += value.byteLength;
202
266
  if (totalSize > MAX_BUFFER_SIZE) {
203
267
  exceededThreshold = true;
@@ -224,12 +288,8 @@ function bufferSmallStreams(entries) {
224
288
  }
225
289
  entry.bufferedData = buffer;
226
290
  // Create a fresh ReadableStream from the buffer for the first processing attempt.
227
- entry.dataStream = new ReadableStream({
228
- start(controller) {
229
- controller.enqueue(buffer);
230
- controller.close();
231
- }
232
- });
291
+ entry.dataStream = dataStreamFromBytes(buffer);
292
+ assertShouldContinue(shouldContinue);
233
293
  }
234
294
  });
235
295
  }
@@ -237,19 +297,8 @@ function bufferSmallStreams(entries) {
237
297
  * Fetches messages from a remote DWN by their CIDs using MessagesRead.
238
298
  */
239
299
  export function fetchRemoteMessages(_a) {
240
- return __awaiter(this, arguments, void 0, function* ({ did, dwnUrl, delegateDid, protocol, messageCids, agent, permissionsApi }) {
300
+ return __awaiter(this, arguments, void 0, function* ({ did, dwnUrl, delegateDid, permissionGrantIds, messageCids, agent }) {
241
301
  const results = [];
242
- let permissionGrantId;
243
- if (delegateDid) {
244
- const messagesReadGrant = yield permissionsApi.getPermissionForRequest({
245
- connectedDid: did,
246
- messageType: DwnInterface.MessagesRead,
247
- delegateDid,
248
- protocol,
249
- cached: true
250
- });
251
- permissionGrantId = messagesReadGrant.grant.id;
252
- }
253
302
  // Fetch messages in parallel with bounded concurrency. Keep this low
254
303
  // to avoid bursting through the remote server's rate limits during sync.
255
304
  const CONCURRENCY = 4;
@@ -265,7 +314,7 @@ export function fetchRemoteMessages(_a) {
265
314
  target: did,
266
315
  messageType: DwnInterface.MessagesRead,
267
316
  granteeDid: delegateDid,
268
- messageParams: { messageCid, permissionGrantId }
317
+ messageParams: { messageCid, permissionGrantIds: toMessagesPermissionGrantIds(permissionGrantIds) }
269
318
  });
270
319
  let reply;
271
320
  try {
@@ -309,23 +358,16 @@ export function fetchRemoteMessages(_a) {
309
358
  * incrementally — only up to the highest contiguous success.
310
359
  */
311
360
  export function pushMessages(_a) {
312
- return __awaiter(this, arguments, void 0, function* ({ did, dwnUrl, delegateDid, protocol, messageCids, agent, permissionsApi }) {
313
- var _b, _c, _d;
361
+ return __awaiter(this, arguments, void 0, function* ({ did, dwnUrl, delegateDid, permissionGrantIds, messageCids, agent }) {
314
362
  const succeeded = [];
315
- const failed = [];
316
363
  const permanentlyFailed = [];
317
- // Step 1: Fetch all local messages (streams are pull-based, not yet consumed).
318
- const fetched = [];
319
- for (const messageCid of messageCids) {
320
- const dwnMessage = yield getLocalMessage({ author: did, messageCid, delegateDid, protocol, agent, permissionsApi });
321
- if (dwnMessage) {
322
- fetched.push(dwnMessage);
323
- }
324
- else {
325
- // Message could not be fetched locally — mark as failed.
326
- failed.push(messageCid);
327
- }
328
- }
364
+ const { fetched, failed } = yield fetchLocalMessagesForPush({
365
+ did,
366
+ delegateDid,
367
+ permissionGrantIds,
368
+ messageCids,
369
+ agent,
370
+ });
329
371
  // Step 2: Sort in dependency order using topological sort.
330
372
  const sorted = topologicalSort(fetched);
331
373
  // Step 3: Buffer data streams so they survive fetch retries.
@@ -334,74 +376,96 @@ export function pushMessages(_a) {
334
376
  yield bufferSmallStreams(sorted);
335
377
  // Step 4: Push messages in dependency order.
336
378
  for (const entry of sorted) {
337
- const cid = yield getMessageCid(entry.message);
338
- // Use a Blob for buffered data — unlike ReadableStream, Blob is
339
- // replayable so fetchWithRetry can retry the HTTP request on failure.
340
- const data = entry.bufferedData
341
- ? new Blob([entry.bufferedData], { type: 'application/octet-stream' })
342
- : entry.dataStream;
343
- try {
344
- const reply = yield agent.rpc.sendDwnRequest({
345
- dwnUrl,
346
- targetDid: did,
347
- data,
348
- message: entry.message
349
- });
350
- if (syncMessageReplyIsSuccessful(reply, entry.message)) {
351
- succeeded.push(cid);
352
- }
353
- else if (isPermanentPushFailure(reply)) {
354
- // Permanent failures (400/401/403) will never succeed — do NOT retry.
355
- // These include protocol violations (RecordLimitExceeded), auth errors,
356
- // and schema validation failures.
357
- if (reply.status.code === 400 && ((_b = reply.status.detail) === null || _b === void 0 ? void 0 : _b.includes('record limit'))) {
358
- // Expected for singleton convergence in multi-device scenarios:
359
- // one device created a singleton record, this device has a
360
- // different one, and the remote rejects the duplicate.
361
- console.debug(`SyncEngineLevel: singleton already exists on remote, skipping push for ${cid}`);
362
- }
363
- else {
364
- console.warn(`SyncEngineLevel: push permanently failed for ${cid}: ${reply.status.code} ${reply.status.detail}`);
365
- }
366
- permanentlyFailed.push({ cid, statusCode: reply.status.code, detail: (_c = reply.status.detail) !== null && _c !== void 0 ? _c : '' });
367
- }
368
- else {
369
- // Transient failures (5xx, etc.) — worth retrying.
370
- console.error(`SyncEngineLevel: push failed for ${cid}: ${reply.status.code} ${reply.status.detail}`);
371
- failed.push(cid);
372
- }
379
+ const outcome = yield pushSingleMessage({ did, dwnUrl, entry, agent });
380
+ if (outcome.status === 'succeeded') {
381
+ succeeded.push(outcome.cid);
373
382
  }
374
- catch (error) {
375
- // Network errors — transient, worth retrying.
376
- console.error(`SyncEngineLevel: push error for ${cid}: ${(_d = error.message) !== null && _d !== void 0 ? _d : error}`);
377
- failed.push(cid);
383
+ else if (outcome.status === 'permanent') {
384
+ permanentlyFailed.push(outcome.failure);
385
+ }
386
+ else {
387
+ failed.push(outcome.cid);
378
388
  }
379
389
  }
380
390
  return { succeeded, failed, permanentlyFailed };
381
391
  });
382
392
  }
393
+ function fetchLocalMessagesForPush(_a) {
394
+ return __awaiter(this, arguments, void 0, function* ({ did, delegateDid, permissionGrantIds, messageCids, agent }) {
395
+ const fetched = [];
396
+ const failed = [];
397
+ for (const messageCid of messageCids) {
398
+ const dwnMessage = yield getLocalMessage({ author: did, messageCid, delegateDid, permissionGrantIds, agent });
399
+ if (dwnMessage) {
400
+ fetched.push(dwnMessage);
401
+ }
402
+ else {
403
+ failed.push(messageCid);
404
+ }
405
+ }
406
+ return { fetched, failed };
407
+ });
408
+ }
409
+ function pushSingleMessage(_a) {
410
+ return __awaiter(this, arguments, void 0, function* ({ did, dwnUrl, entry, agent }) {
411
+ var _b, _c;
412
+ const cid = yield getMessageCid(entry.message);
413
+ try {
414
+ const reply = yield agent.rpc.sendDwnRequest({
415
+ dwnUrl,
416
+ targetDid: did,
417
+ data: pushData(entry),
418
+ message: entry.message
419
+ });
420
+ if (syncMessageReplyIsSuccessful(reply, entry.message)) {
421
+ return { status: 'succeeded', cid };
422
+ }
423
+ if (isPermanentPushFailure(reply)) {
424
+ logPermanentPushFailure(cid, reply);
425
+ return {
426
+ status: 'permanent',
427
+ cid,
428
+ failure: { cid, statusCode: reply.status.code, detail: (_b = reply.status.detail) !== null && _b !== void 0 ? _b : '' },
429
+ };
430
+ }
431
+ console.error(`SyncEngineLevel: push failed for ${cid}: ${reply.status.code} ${reply.status.detail}`);
432
+ return { status: 'failed', cid };
433
+ }
434
+ catch (error) {
435
+ console.error(`SyncEngineLevel: push error for ${cid}: ${(_c = error.message) !== null && _c !== void 0 ? _c : error}`);
436
+ return { status: 'failed', cid };
437
+ }
438
+ });
439
+ }
440
+ function pushData(entry) {
441
+ // Use a Blob for buffered data: unlike ReadableStream, Blob is replayable,
442
+ // so fetchWithRetry can retry the HTTP request after a transport failure.
443
+ return entry.bufferedData
444
+ ? new Blob([entry.bufferedData], { type: 'application/octet-stream' })
445
+ : entry.dataStream;
446
+ }
447
+ function logPermanentPushFailure(cid, reply) {
448
+ var _a;
449
+ if (reply.status.code === 400 && ((_a = reply.status.detail) === null || _a === void 0 ? void 0 : _a.includes('record limit'))) {
450
+ // Expected for singleton convergence in multi-device scenarios: one device
451
+ // created a singleton record, this device has another, and the remote
452
+ // rejects the duplicate.
453
+ console.debug(`SyncEngineLevel: singleton already exists on remote, skipping push for ${cid}`);
454
+ return;
455
+ }
456
+ console.warn(`SyncEngineLevel: push permanently failed for ${cid}: ${reply.status.code} ${reply.status.detail}`);
457
+ }
383
458
  /**
384
459
  * Reads a message from the local DWN by its CID using MessagesRead.
385
460
  */
386
461
  export function getLocalMessage(_a) {
387
- return __awaiter(this, arguments, void 0, function* ({ author, delegateDid, protocol, messageCid, agent, permissionsApi }) {
388
- let permissionGrantId;
389
- if (delegateDid) {
390
- const messagesReadGrant = yield permissionsApi.getPermissionForRequest({
391
- connectedDid: author,
392
- messageType: DwnInterface.MessagesRead,
393
- delegateDid,
394
- protocol,
395
- cached: true
396
- });
397
- permissionGrantId = messagesReadGrant.grant.id;
398
- }
462
+ return __awaiter(this, arguments, void 0, function* ({ author, delegateDid, permissionGrantIds, messageCid, agent }) {
399
463
  const { reply } = yield agent.dwn.processRequest({
400
464
  author,
401
465
  target: author,
402
466
  messageType: DwnInterface.MessagesRead,
403
467
  granteeDid: delegateDid,
404
- messageParams: { messageCid, permissionGrantId }
468
+ messageParams: { messageCid, permissionGrantIds: toMessagesPermissionGrantIds(permissionGrantIds) }
405
469
  });
406
470
  if (reply.status.code !== 200 || !reply.entry) {
407
471
  return undefined;
@@ -1 +1 @@
1
- {"version":3,"file":"sync-messages.js","sourceRoot":"","sources":["../../src/sync-messages.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"sync-messages.js","sourceRoot":"","sources":["../../src/sync-messages.ts"],"names":[],"mappings":"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"}