@enbox/agent 0.5.9 → 0.5.10

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.
@@ -36,55 +36,6 @@ const MAX_DIFF_DEPTH = 16;
36
36
  */
37
37
  const BATCHED_DIFF_DEPTH = 8;
38
38
  /**
39
- * Maximum number of concurrent remote HTTP requests during a tree diff.
40
- * The binary tree walk fans out in parallel — without a limit, depth N
41
- * produces 2^N concurrent requests, which can exhaust server rate limits.
42
- */
43
- const REMOTE_CONCURRENCY = 4;
44
- /**
45
- * Counting semaphore for bounding concurrent async operations.
46
- * Used by the tree walk to limit in-flight remote HTTP requests.
47
- */
48
- class Semaphore {
49
- constructor(permits) {
50
- this._waiting = [];
51
- this._permits = permits;
52
- }
53
- /** Wait until a permit is available, then consume one. */
54
- acquire() {
55
- return __awaiter(this, void 0, void 0, function* () {
56
- if (this._permits > 0) {
57
- this._permits--;
58
- return;
59
- }
60
- return new Promise((resolve) => {
61
- this._waiting.push(resolve);
62
- });
63
- });
64
- }
65
- /** Release a permit, waking the next waiter if any. */
66
- release() {
67
- const next = this._waiting.shift();
68
- if (next) {
69
- next();
70
- }
71
- else {
72
- this._permits++;
73
- }
74
- }
75
- /** Acquire a permit, run the task, then release regardless of outcome. */
76
- run(fn) {
77
- return __awaiter(this, void 0, void 0, function* () {
78
- yield this.acquire();
79
- try {
80
- return yield fn();
81
- }
82
- finally {
83
- this.release();
84
- }
85
- });
86
- }
87
- }
88
39
  /**
89
40
  * Key for the subscription cursor sublevel. Cursors are keyed by
90
41
  * `{did}^{dwnUrl}[^{protocol}]` and store an opaque EventLog cursor string.
@@ -480,29 +431,19 @@ export class SyncEngineLevel {
480
431
  // Build the MessagesSubscribe filters.
481
432
  const filters = protocol ? [{ protocol }] : [];
482
433
  // Look up permission grant for MessagesSubscribe if using a delegate.
434
+ // The unified scope matching in AgentPermissionsApi accepts a
435
+ // Messages.Read grant for MessagesSubscribe requests, so a single
436
+ // lookup is sufficient.
483
437
  let permissionGrantId;
484
438
  if (delegateDid) {
485
- try {
486
- const grant = yield this._permissionsApi.getPermissionForRequest({
487
- connectedDid: did,
488
- messageType: DwnInterface.MessagesSubscribe,
489
- delegateDid,
490
- protocol,
491
- cached: true
492
- });
493
- permissionGrantId = grant.grant.id;
494
- }
495
- catch (_a) {
496
- // Fall back to trying MessagesRead which is a unified scope.
497
- const grant = yield this._permissionsApi.getPermissionForRequest({
498
- connectedDid: did,
499
- messageType: DwnInterface.MessagesRead,
500
- delegateDid,
501
- protocol,
502
- cached: true
503
- });
504
- permissionGrantId = grant.grant.id;
505
- }
439
+ const grant = yield this._permissionsApi.getPermissionForRequest({
440
+ connectedDid: did,
441
+ messageType: DwnInterface.MessagesSubscribe,
442
+ delegateDid,
443
+ protocol,
444
+ cached: true
445
+ });
446
+ permissionGrantId = grant.grant.id;
506
447
  }
507
448
  // Define the subscription handler that processes incoming events.
508
449
  const subscriptionHandler = (subMessage) => __awaiter(this, void 0, void 0, function* () {
@@ -532,12 +473,14 @@ export class SyncEngineLevel {
532
473
  }
533
474
  }
534
475
  yield this.agent.dwn.processRawMessage(did, event.message, { dataStream });
476
+ // Only advance the cursor after successful processing.
477
+ // If processing fails, the event will be re-delivered on
478
+ // reconnection (cursor-based resume from the last good point).
479
+ yield this.setCursor(cursorKey, subMessage.cursor);
535
480
  }
536
481
  catch (error) {
537
482
  console.error(`SyncEngineLevel: Error processing live-pull event for ${did}`, error);
538
483
  }
539
- // Persist cursor for resume on reconnect.
540
- yield this.setCursor(cursorKey, subMessage.cursor);
541
484
  }
542
485
  });
543
486
  // Construct the subscribe message and send it directly to the specific
@@ -610,7 +553,7 @@ export class SyncEngineLevel {
610
553
  if (delegateDid) {
611
554
  const grant = yield this._permissionsApi.getPermissionForRequest({
612
555
  connectedDid: did,
613
- messageType: DwnInterface.MessagesRead,
556
+ messageType: DwnInterface.MessagesSubscribe,
614
557
  delegateDid,
615
558
  protocol,
616
559
  cached: true,
@@ -673,10 +616,11 @@ export class SyncEngineLevel {
673
616
  this._pushDebounceTimer = undefined;
674
617
  const entries = [...this._pendingPushCids.entries()];
675
618
  this._pendingPushCids.clear();
676
- for (const [, pending] of entries) {
619
+ // Push to all endpoints in parallel — each target is independent.
620
+ yield Promise.all(entries.map((_a) => __awaiter(this, [_a], void 0, function* ([, pending]) {
677
621
  const { did, dwnUrl, delegateDid, protocol, cids } = pending;
678
622
  if (cids.length === 0) {
679
- continue;
623
+ return;
680
624
  }
681
625
  try {
682
626
  yield pushMessages({
@@ -688,8 +632,23 @@ export class SyncEngineLevel {
688
632
  }
689
633
  catch (error) {
690
634
  console.error(`SyncEngineLevel: Push-on-write failed for ${did} -> ${dwnUrl}`, error);
635
+ // Re-queue the failed CIDs so they are retried on the next
636
+ // debounce cycle (or picked up by the SMT integrity check).
637
+ const targetKey = this.buildCursorKey(did, dwnUrl, protocol);
638
+ let requeued = this._pendingPushCids.get(targetKey);
639
+ if (!requeued) {
640
+ requeued = { did, dwnUrl, delegateDid, protocol, cids: [] };
641
+ this._pendingPushCids.set(targetKey, requeued);
642
+ }
643
+ requeued.cids.push(...cids);
644
+ // Schedule a retry after a short delay.
645
+ if (!this._pushDebounceTimer) {
646
+ this._pushDebounceTimer = setTimeout(() => {
647
+ void this.flushPendingPushes();
648
+ }, PUSH_DEBOUNCE_MS * 4); // Back off: 1 second instead of 250ms.
649
+ }
691
650
  }
692
- }
651
+ })));
693
652
  });
694
653
  }
695
654
  // ---------------------------------------------------------------------------
@@ -862,80 +821,6 @@ export class SyncEngineLevel {
862
821
  });
863
822
  }
864
823
  // ---------------------------------------------------------------------------
865
- // Tree Diff — walk the SMT to find divergent leaf sets
866
- // ---------------------------------------------------------------------------
867
- /**
868
- * Walks the local and remote SMTs in parallel, recursing into subtrees whose
869
- * hashes differ, until reaching `MAX_DIFF_DEPTH` where leaves are enumerated.
870
- *
871
- * Returns the sets of messageCids that exist only locally or only remotely.
872
- */
873
- walkTreeDiff(_a) {
874
- return __awaiter(this, arguments, void 0, function* ({ did, dwnUrl, delegateDid, protocol }) {
875
- const onlyLocal = [];
876
- const onlyRemote = [];
877
- // Hoist permission grant lookup — resolved once and reused for all subtree/leaf requests.
878
- const permissionGrantId = yield this.getSyncPermissionGrantId(did, delegateDid, protocol);
879
- // Gate remote HTTP requests through a semaphore so the binary tree walk
880
- // doesn't produce an exponential burst of concurrent requests. Local
881
- // DWN requests (in-process) are not gated.
882
- const remoteSemaphore = new Semaphore(REMOTE_CONCURRENCY);
883
- const walk = (prefix) => __awaiter(this, void 0, void 0, function* () {
884
- // Get subtree hashes for this prefix from local and remote.
885
- // Only the remote request is gated by the semaphore.
886
- const [localHash, remoteHash] = yield Promise.all([
887
- this.getLocalSubtreeHash(did, prefix, delegateDid, protocol, permissionGrantId),
888
- remoteSemaphore.run(() => this.getRemoteSubtreeHash(did, dwnUrl, prefix, delegateDid, protocol, permissionGrantId)),
889
- ]);
890
- // If hashes match, this subtree is identical — skip.
891
- if (localHash === remoteHash) {
892
- return;
893
- }
894
- // Short-circuit: if one side is the default (empty-subtree) hash, all entries
895
- // on the other side are unique. Enumerate leaves directly instead of recursing
896
- // further into the tree — this avoids an exponential walk when one DWN has
897
- // entries that the other lacks entirely in this subtree.
898
- const emptyHash = yield this.getDefaultHashHex(prefix.length);
899
- if (remoteHash === emptyHash && localHash !== emptyHash) {
900
- const localLeaves = yield this.getLocalLeaves(did, prefix, delegateDid, protocol, permissionGrantId);
901
- onlyLocal.push(...localLeaves);
902
- return;
903
- }
904
- if (localHash === emptyHash && remoteHash !== emptyHash) {
905
- const remoteLeaves = yield remoteSemaphore.run(() => this.getRemoteLeaves(did, dwnUrl, prefix, delegateDid, protocol, permissionGrantId));
906
- onlyRemote.push(...remoteLeaves);
907
- return;
908
- }
909
- // If we've reached the maximum diff depth, enumerate leaves.
910
- if (prefix.length >= MAX_DIFF_DEPTH) {
911
- const [localLeaves, remoteLeaves] = yield Promise.all([
912
- this.getLocalLeaves(did, prefix, delegateDid, protocol, permissionGrantId),
913
- remoteSemaphore.run(() => this.getRemoteLeaves(did, dwnUrl, prefix, delegateDid, protocol, permissionGrantId)),
914
- ]);
915
- const localSet = new Set(localLeaves);
916
- const remoteSet = new Set(remoteLeaves);
917
- for (const cid of localLeaves) {
918
- if (!remoteSet.has(cid)) {
919
- onlyLocal.push(cid);
920
- }
921
- }
922
- for (const cid of remoteLeaves) {
923
- if (!localSet.has(cid)) {
924
- onlyRemote.push(cid);
925
- }
926
- }
927
- return;
928
- }
929
- // Recurse into left (0) and right (1) children in parallel.
930
- yield Promise.all([
931
- walk(prefix + '0'),
932
- walk(prefix + '1'),
933
- ]);
934
- });
935
- yield walk('');
936
- return { onlyLocal, onlyRemote };
937
- });
938
- }
939
824
  // ---------------------------------------------------------------------------
940
825
  // Batched Diff — single round-trip set reconciliation
941
826
  // ---------------------------------------------------------------------------
@@ -982,7 +867,8 @@ export class SyncEngineLevel {
982
867
  throw new Error(`SyncEngineLevel: diff failed with ${reply.status.code}: ${reply.status.detail}`);
983
868
  }
984
869
  // Step 3: Enumerate local leaves for prefixes the remote reported as onlyLocal.
985
- const permissionGrantIdForLeaves = yield this.getSyncPermissionGrantId(did, delegateDid, protocol);
870
+ // Reuse the same grant ID from step 2 (avoids redundant lookup).
871
+ const permissionGrantIdForLeaves = permissionGrantId;
986
872
  const onlyLocalCids = [];
987
873
  for (const prefix of (_b = reply.onlyLocal) !== null && _b !== void 0 ? _b : []) {
988
874
  const leaves = yield this.getLocalLeaves(did, prefix, delegateDid, protocol, permissionGrantIdForLeaves);
@@ -1073,30 +959,6 @@ export class SyncEngineLevel {
1073
959
  return (_a = reply.hash) !== null && _a !== void 0 ? _a : '';
1074
960
  });
1075
961
  }
1076
- getRemoteSubtreeHash(did, dwnUrl, prefix, delegateDid, protocol, permissionGrantId) {
1077
- return __awaiter(this, void 0, void 0, function* () {
1078
- var _a;
1079
- const syncMessage = yield this.agent.dwn.processRequest({
1080
- store: false,
1081
- author: did,
1082
- target: did,
1083
- messageType: DwnInterface.MessagesSync,
1084
- granteeDid: delegateDid,
1085
- messageParams: {
1086
- action: 'subtree',
1087
- prefix,
1088
- protocol,
1089
- permissionGrantId
1090
- }
1091
- });
1092
- const reply = yield this.agent.rpc.sendDwnRequest({
1093
- dwnUrl,
1094
- targetDid: did,
1095
- message: syncMessage.message,
1096
- });
1097
- return (_a = reply.hash) !== null && _a !== void 0 ? _a : '';
1098
- });
1099
- }
1100
962
  /**
1101
963
  * Get all leaf messageCids under a given prefix from the local DWN.
1102
964
  *
@@ -1130,30 +992,6 @@ export class SyncEngineLevel {
1130
992
  return (_a = reply.entries) !== null && _a !== void 0 ? _a : [];
1131
993
  });
1132
994
  }
1133
- getRemoteLeaves(did, dwnUrl, prefix, delegateDid, protocol, permissionGrantId) {
1134
- return __awaiter(this, void 0, void 0, function* () {
1135
- var _a;
1136
- const syncMessage = yield this.agent.dwn.processRequest({
1137
- store: false,
1138
- author: did,
1139
- target: did,
1140
- messageType: DwnInterface.MessagesSync,
1141
- granteeDid: delegateDid,
1142
- messageParams: {
1143
- action: 'leaves',
1144
- prefix,
1145
- protocol,
1146
- permissionGrantId
1147
- }
1148
- });
1149
- const reply = yield this.agent.rpc.sendDwnRequest({
1150
- dwnUrl,
1151
- targetDid: did,
1152
- message: syncMessage.message,
1153
- });
1154
- return (_a = reply.entries) !== null && _a !== void 0 ? _a : [];
1155
- });
1156
- }
1157
995
  // ---------------------------------------------------------------------------
1158
996
  // Pull / Push — delegates to standalone functions in sync-messages.ts
1159
997
  // ---------------------------------------------------------------------------
@@ -1 +1 @@
1
- {"version":3,"file":"sync-engine-level.js","sourceRoot":"","sources":["../../src/sync-engine-level.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"sync-engine-level.js","sourceRoot":"","sources":["../../src/sync-engine-level.ts"],"names":[],"mappings":"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"}
@@ -147,13 +147,6 @@ export declare class SyncEngineLevel implements SyncEngine {
147
147
  * Returns a hex-encoded root hash string.
148
148
  */
149
149
  private getRemoteRoot;
150
- /**
151
- * Walks the local and remote SMTs in parallel, recursing into subtrees whose
152
- * hashes differ, until reaching `MAX_DIFF_DEPTH` where leaves are enumerated.
153
- *
154
- * Returns the sets of messageCids that exist only locally or only remotely.
155
- */
156
- private walkTreeDiff;
157
150
  /**
158
151
  * Compute the diff between local and remote in a single HTTP round-trip.
159
152
  *
@@ -184,7 +177,6 @@ export declare class SyncEngineLevel implements SyncEngine {
184
177
  * In remote mode: constructs a signed MessagesSync message and routes through RPC.
185
178
  */
186
179
  private getLocalSubtreeHash;
187
- private getRemoteSubtreeHash;
188
180
  /**
189
181
  * Get all leaf messageCids under a given prefix from the local DWN.
190
182
  *
@@ -192,7 +184,6 @@ export declare class SyncEngineLevel implements SyncEngine {
192
184
  * In remote mode: constructs a signed MessagesSync message and routes through RPC.
193
185
  */
194
186
  private getLocalLeaves;
195
- private getRemoteLeaves;
196
187
  /**
197
188
  * Fetches missing messages from the remote DWN and processes them locally
198
189
  * in dependency order (topological sort).
@@ -1 +1 @@
1
- {"version":3,"file":"sync-engine-level.d.ts","sourceRoot":"","sources":["../../src/sync-engine-level.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"sync-engine-level.d.ts","sourceRoot":"","sources":["../../src/sync-engine-level.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@enbox/agent",
3
- "version": "0.5.9",
3
+ "version": "0.5.10",
4
4
  "type": "module",
5
5
  "main": "./dist/esm/index.js",
6
6
  "module": "./dist/esm/index.js",