@enbox/agent 0.1.4 → 0.1.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 (66) hide show
  1. package/dist/browser.mjs +11 -11
  2. package/dist/browser.mjs.map +4 -4
  3. package/dist/esm/anonymous-dwn-api.js +184 -0
  4. package/dist/esm/anonymous-dwn-api.js.map +1 -0
  5. package/dist/esm/dwn-api.js +86 -777
  6. package/dist/esm/dwn-api.js.map +1 -1
  7. package/dist/esm/dwn-encryption.js +342 -0
  8. package/dist/esm/dwn-encryption.js.map +1 -0
  9. package/dist/esm/dwn-key-delivery.js +256 -0
  10. package/dist/esm/dwn-key-delivery.js.map +1 -0
  11. package/dist/esm/dwn-record-upgrade.js +119 -0
  12. package/dist/esm/dwn-record-upgrade.js.map +1 -0
  13. package/dist/esm/dwn-type-guards.js +23 -0
  14. package/dist/esm/dwn-type-guards.js.map +1 -0
  15. package/dist/esm/index.js +6 -0
  16. package/dist/esm/index.js.map +1 -1
  17. package/dist/esm/protocol-utils.js +158 -0
  18. package/dist/esm/protocol-utils.js.map +1 -0
  19. package/dist/esm/store-data-protocols.js +1 -1
  20. package/dist/esm/store-data-protocols.js.map +1 -1
  21. package/dist/esm/sync-engine-level.js +22 -353
  22. package/dist/esm/sync-engine-level.js.map +1 -1
  23. package/dist/esm/sync-messages.js +234 -0
  24. package/dist/esm/sync-messages.js.map +1 -0
  25. package/dist/esm/sync-topological-sort.js +143 -0
  26. package/dist/esm/sync-topological-sort.js.map +1 -0
  27. package/dist/esm/test-harness.js +20 -0
  28. package/dist/esm/test-harness.js.map +1 -1
  29. package/dist/types/anonymous-dwn-api.d.ts +140 -0
  30. package/dist/types/anonymous-dwn-api.d.ts.map +1 -0
  31. package/dist/types/dwn-api.d.ts +36 -179
  32. package/dist/types/dwn-api.d.ts.map +1 -1
  33. package/dist/types/dwn-encryption.d.ts +144 -0
  34. package/dist/types/dwn-encryption.d.ts.map +1 -0
  35. package/dist/types/dwn-key-delivery.d.ts +112 -0
  36. package/dist/types/dwn-key-delivery.d.ts.map +1 -0
  37. package/dist/types/dwn-record-upgrade.d.ts +33 -0
  38. package/dist/types/dwn-record-upgrade.d.ts.map +1 -0
  39. package/dist/types/dwn-type-guards.d.ts +9 -0
  40. package/dist/types/dwn-type-guards.d.ts.map +1 -0
  41. package/dist/types/index.d.ts +6 -0
  42. package/dist/types/index.d.ts.map +1 -1
  43. package/dist/types/protocol-utils.d.ts +70 -0
  44. package/dist/types/protocol-utils.d.ts.map +1 -0
  45. package/dist/types/sync-engine-level.d.ts +5 -42
  46. package/dist/types/sync-engine-level.d.ts.map +1 -1
  47. package/dist/types/sync-messages.d.ts +76 -0
  48. package/dist/types/sync-messages.d.ts.map +1 -0
  49. package/dist/types/sync-topological-sort.d.ts +15 -0
  50. package/dist/types/sync-topological-sort.d.ts.map +1 -0
  51. package/dist/types/test-harness.d.ts +10 -0
  52. package/dist/types/test-harness.d.ts.map +1 -1
  53. package/package.json +5 -5
  54. package/src/anonymous-dwn-api.ts +263 -0
  55. package/src/dwn-api.ts +160 -1015
  56. package/src/dwn-encryption.ts +481 -0
  57. package/src/dwn-key-delivery.ts +370 -0
  58. package/src/dwn-record-upgrade.ts +166 -0
  59. package/src/dwn-type-guards.ts +43 -0
  60. package/src/index.ts +6 -0
  61. package/src/protocol-utils.ts +185 -0
  62. package/src/store-data-protocols.ts +1 -1
  63. package/src/sync-engine-level.ts +24 -413
  64. package/src/sync-messages.ts +277 -0
  65. package/src/sync-topological-sort.ts +167 -0
  66. package/src/test-harness.ts +19 -0
@@ -16,11 +16,12 @@ var __asyncValues = (this && this.__asyncValues) || function (o) {
16
16
  };
17
17
  import ms from 'ms';
18
18
  import { Level } from 'level';
19
- import { DwnInterfaceName, DwnMethodName, Message, PermissionsProtocol, } from '@enbox/dwn-sdk-js';
20
19
  import { hashToHex, initDefaultHashes } from '@enbox/dwn-sdk-js';
21
20
  import { AgentPermissionsApi } from './permissions-api.js';
22
21
  import { DwnInterface } from './types/dwn.js';
23
- import { getDwnServiceEndpointUrls, isRecordsWrite } from './utils.js';
22
+ import { getDwnServiceEndpointUrls } from './utils.js';
23
+ import { topologicalSort } from './sync-topological-sort.js';
24
+ import { pullMessages, pushMessages } from './sync-messages.js';
24
25
  /**
25
26
  * Maximum bit prefix depth before falling back to leaf enumeration.
26
27
  * At depth 16, each subtree covers ~1/65536 of the key space, which is a good
@@ -449,376 +450,44 @@ export class SyncEngineLevel {
449
450
  // ---------------------------------------------------------------------------
450
451
  // Pull — fetch messages from remote, process locally in dependency order
451
452
  // ---------------------------------------------------------------------------
453
+ // ---------------------------------------------------------------------------
454
+ // Pull / Push — delegates to standalone functions in sync-messages.ts
455
+ // ---------------------------------------------------------------------------
452
456
  /**
453
- * Fetches missing messages from the remote DWN and processes them on the local DWN
457
+ * Fetches missing messages from the remote DWN and processes them locally
454
458
  * in dependency order (topological sort).
455
- *
456
- * Messages that fail processing are re-fetched from the remote before each retry
457
- * pass rather than buffered in memory. ReadableStream is single-use, so a failed
458
- * message's data stream is consumed on the first attempt. Re-fetching provides a
459
- * fresh stream without holding all record data in memory simultaneously.
460
459
  */
461
460
  pullMessages(_a) {
462
461
  return __awaiter(this, arguments, void 0, function* ({ did, dwnUrl, delegateDid, protocol, messageCids }) {
463
- // Step 1: Fetch all missing messages from the remote in parallel.
464
- const fetched = yield this.fetchRemoteMessages({ did, dwnUrl, delegateDid, protocol, messageCids });
465
- // Step 2: Build dependency graph and topological sort.
466
- const sorted = SyncEngineLevel.topologicalSort(fetched);
467
- // Step 3: Process messages in dependency order with multi-pass retry.
468
- // Retry up to MAX_RETRY_PASSES times for messages that fail due to
469
- // dependency ordering issues (e.g., a RecordsWrite whose ProtocolsConfigure
470
- // hasn't committed yet). Failed messages are re-fetched from the remote
471
- // to obtain a fresh data stream, since ReadableStream is single-use.
472
- const MAX_RETRY_PASSES = 3;
473
- let pending = sorted;
474
- for (let pass = 0; pass <= MAX_RETRY_PASSES && pending.length > 0; pass++) {
475
- const failedCids = [];
476
- for (const entry of pending) {
477
- const pullReply = yield this.agent.dwn.node.processMessage(did, entry.message, { dataStream: entry.dataStream });
478
- if (!SyncEngineLevel.syncMessageReplyIsSuccessful(pullReply)) {
479
- const cid = yield SyncEngineLevel.getMessageCid(entry.message);
480
- failedCids.push(cid);
481
- }
482
- }
483
- // Re-fetch failed messages from the remote to get fresh data streams.
484
- if (failedCids.length > 0) {
485
- const reFetched = yield this.fetchRemoteMessages({ did, dwnUrl, delegateDid, protocol, messageCids: failedCids });
486
- pending = SyncEngineLevel.topologicalSort(reFetched);
487
- }
488
- else {
489
- pending = [];
490
- }
491
- }
492
- });
493
- }
494
- /**
495
- * Fetches messages from a remote DWN by their CIDs using MessagesRead.
496
- */
497
- fetchRemoteMessages(_a) {
498
- return __awaiter(this, arguments, void 0, function* ({ did, dwnUrl, delegateDid, protocol, messageCids }) {
499
- const results = [];
500
- let permissionGrantId;
501
- if (delegateDid) {
502
- try {
503
- const messagesReadGrant = yield this._permissionsApi.getPermissionForRequest({
504
- connectedDid: did,
505
- messageType: DwnInterface.MessagesRead,
506
- delegateDid,
507
- protocol,
508
- cached: true
509
- });
510
- permissionGrantId = messagesReadGrant.grant.id;
511
- }
512
- catch (error) {
513
- console.error('SyncEngineLevel: pull - Error fetching MessagesRead permission grant for delegate DID', error);
514
- return results;
515
- }
516
- }
517
- // Fetch messages in parallel with bounded concurrency.
518
- const CONCURRENCY = 10;
519
- let cursor = 0;
520
- while (cursor < messageCids.length) {
521
- const batch = messageCids.slice(cursor, cursor + CONCURRENCY);
522
- cursor += CONCURRENCY;
523
- const batchResults = yield Promise.all(batch.map((messageCid) => __awaiter(this, void 0, void 0, function* () {
524
- var _a;
525
- const messagesRead = yield this.agent.processDwnRequest({
526
- store: false,
527
- author: did,
528
- target: did,
529
- messageType: DwnInterface.MessagesRead,
530
- granteeDid: delegateDid,
531
- messageParams: { messageCid, permissionGrantId }
532
- });
533
- let reply;
534
- try {
535
- reply = (yield this.agent.rpc.sendDwnRequest({
536
- dwnUrl,
537
- targetDid: did,
538
- message: messagesRead.message,
539
- }));
540
- }
541
- catch (_b) {
542
- return undefined;
543
- }
544
- if (reply.status.code !== 200 || !((_a = reply.entry) === null || _a === void 0 ? void 0 : _a.message)) {
545
- return undefined;
546
- }
547
- const replyEntry = reply.entry;
548
- let dataStream;
549
- if (isRecordsWrite(replyEntry) && replyEntry.data) {
550
- dataStream = replyEntry.data;
551
- }
552
- return { message: replyEntry.message, dataStream };
553
- })));
554
- for (const result of batchResults) {
555
- if (result) {
556
- results.push(result);
557
- }
558
- }
559
- }
560
- return results;
462
+ return pullMessages({
463
+ did, dwnUrl, delegateDid, protocol, messageCids,
464
+ agent: this.agent,
465
+ permissionsApi: this._permissionsApi,
466
+ });
561
467
  });
562
468
  }
563
- // ---------------------------------------------------------------------------
564
- // Push — read local messages, send to remote
565
- // ---------------------------------------------------------------------------
566
469
  /**
567
- * Reads missing messages from the local DWN and pushes them to the remote DWN.
568
- * Messages are fetched first, then sorted in dependency order (topological sort)
569
- * so that initial writes come before updates, and ProtocolsConfigures come before
570
- * records that reference those protocols.
470
+ * Reads missing messages from the local DWN and pushes them to the remote DWN
471
+ * in dependency order (topological sort).
571
472
  */
572
473
  pushMessages(_a) {
573
474
  return __awaiter(this, arguments, void 0, function* ({ did, dwnUrl, delegateDid, protocol, messageCids }) {
574
- // Step 1: Fetch all local messages (streams are pull-based, not yet consumed).
575
- const fetched = [];
576
- for (const messageCid of messageCids) {
577
- const dwnMessage = yield this.getLocalMessage({ author: did, messageCid, delegateDid, protocol });
578
- if (dwnMessage) {
579
- fetched.push(dwnMessage);
580
- }
581
- }
582
- // Step 2: Sort in dependency order using topological sort.
583
- const sorted = SyncEngineLevel.topologicalSort(fetched);
584
- // Step 3: Push messages in dependency order, consuming each stream as we go.
585
- for (const entry of sorted) {
586
- try {
587
- const reply = yield this.agent.rpc.sendDwnRequest({
588
- dwnUrl,
589
- targetDid: did,
590
- data: entry.dataStream,
591
- message: entry.message
592
- });
593
- if (!SyncEngineLevel.syncMessageReplyIsSuccessful(reply)) {
594
- const cid = yield SyncEngineLevel.getMessageCid(entry.message);
595
- console.error(`SyncEngineLevel: push failed for ${cid}: ${reply.status.code} ${reply.status.detail}`);
596
- }
597
- }
598
- catch (_b) {
599
- // Remote unreachable — stop pushing to this endpoint.
600
- throw new Error(`SyncEngineLevel: Remote DWN at ${dwnUrl} is unreachable.`);
601
- }
602
- }
603
- });
604
- }
605
- /**
606
- * Helper to get the CID of a message for logging purposes.
607
- */
608
- static getMessageCid(message) {
609
- return __awaiter(this, void 0, void 0, function* () {
610
- try {
611
- return yield Message.getCid(message);
612
- }
613
- catch (_a) {
614
- return 'unknown';
615
- }
616
- });
617
- }
618
- /**
619
- * Reads a message from the local DWN by its CID using MessagesRead.
620
- */
621
- getLocalMessage(_a) {
622
- return __awaiter(this, arguments, void 0, function* ({ author, delegateDid, protocol, messageCid }) {
623
- let permissionGrantId;
624
- if (delegateDid) {
625
- try {
626
- const messagesReadGrant = yield this._permissionsApi.getPermissionForRequest({
627
- connectedDid: author,
628
- messageType: DwnInterface.MessagesRead,
629
- delegateDid,
630
- protocol,
631
- cached: true
632
- });
633
- permissionGrantId = messagesReadGrant.grant.id;
634
- }
635
- catch (error) {
636
- console.error('SyncEngineLevel: push - Error fetching MessagesRead permission grant for delegate DID', error);
637
- return;
638
- }
639
- }
640
- const { reply } = yield this.agent.dwn.processRequest({
641
- author,
642
- target: author,
643
- messageType: DwnInterface.MessagesRead,
644
- granteeDid: delegateDid,
645
- messageParams: { messageCid, permissionGrantId }
475
+ return pushMessages({
476
+ did, dwnUrl, delegateDid, protocol, messageCids,
477
+ agent: this.agent,
478
+ permissionsApi: this._permissionsApi,
646
479
  });
647
- if (reply.status.code !== 200 || !reply.entry) {
648
- return undefined;
649
- }
650
- const messageEntry = reply.entry;
651
- const result = {
652
- message: messageEntry.message
653
- };
654
- if (isRecordsWrite(messageEntry) && messageEntry.data) {
655
- result.dataStream = messageEntry.data;
656
- }
657
- return result;
658
480
  });
659
481
  }
660
482
  // ---------------------------------------------------------------------------
661
- // Dependency-aware topological sort for pulled messages
483
+ // Dependency-aware topological sort delegates to sync-topological-sort.ts
662
484
  // ---------------------------------------------------------------------------
663
485
  /**
664
- * Builds a dependency graph from the fetched messages and returns them in
665
- * topological order so that dependencies are processed before dependents.
666
- *
667
- * Dependencies:
668
- * - ProtocolsConfigure must come before any RecordsWrite using that protocol
669
- * - Parent record must come before child record (via parentId)
670
- * - Initial write must come before update writes (same recordId, not initial)
671
- * - Permission grant must come before records using that permissionGrantId
486
+ * Delegate to the standalone `topologicalSort` function.
487
+ * Tests call `SyncEngineLevel.topologicalSort(...)` so this static method must remain.
672
488
  */
673
489
  static topologicalSort(messages) {
674
- var _a, _b;
675
- if (messages.length <= 1) {
676
- return messages;
677
- }
678
- // Index messages by various keys for dependency resolution.
679
- const byIndex = new Map();
680
- const protocolConfigureIndex = new Map(); // protocol URL -> index
681
- const initialWriteIndex = new Map(); // recordId -> index of initial write
682
- const grantIndex = new Map(); // grant recordId -> index
683
- for (let i = 0; i < messages.length; i++) {
684
- const entry = messages[i];
685
- byIndex.set(i, entry);
686
- const desc = entry.message.descriptor;
687
- if (desc.interface === DwnInterfaceName.Protocols && desc.method === DwnMethodName.Configure) {
688
- const protocolUrl = (_a = desc.definition) === null || _a === void 0 ? void 0 : _a.protocol;
689
- if (protocolUrl) {
690
- protocolConfigureIndex.set(protocolUrl, i);
691
- }
692
- }
693
- if (desc.interface === DwnInterfaceName.Records && desc.method === DwnMethodName.Write) {
694
- const recordId = entry.message.recordId;
695
- const isInitial = SyncEngineLevel.isInitialWrite(entry.message);
696
- if (isInitial && recordId) {
697
- initialWriteIndex.set(recordId, i);
698
- }
699
- // Index permission grants by recordId so dependents can reference them.
700
- if (desc.protocol === PermissionsProtocol.uri &&
701
- desc.protocolPath === PermissionsProtocol.grantPath &&
702
- recordId) {
703
- grantIndex.set(recordId, i);
704
- }
705
- }
706
- }
707
- // Build adjacency list (edges: dependency -> dependent).
708
- const edges = new Map();
709
- const inDegree = new Array(messages.length).fill(0);
710
- const addEdge = (from, to) => {
711
- if (from === to) {
712
- return;
713
- }
714
- if (!edges.has(from)) {
715
- edges.set(from, new Set());
716
- }
717
- const edgeSet = edges.get(from);
718
- if (!edgeSet.has(to)) {
719
- edgeSet.add(to);
720
- inDegree[to]++;
721
- }
722
- };
723
- for (let i = 0; i < messages.length; i++) {
724
- const desc = messages[i].message.descriptor;
725
- const msg = messages[i].message;
726
- // Protocol dependency: RecordsWrite depends on ProtocolsConfigure for its protocol.
727
- if (desc.interface === DwnInterfaceName.Records) {
728
- const protocol = desc.protocol;
729
- if (protocol && protocolConfigureIndex.has(protocol)) {
730
- addEdge(protocolConfigureIndex.get(protocol), i);
731
- }
732
- }
733
- // Parent dependency: child record depends on parent record.
734
- if (desc.interface === DwnInterfaceName.Records && desc.parentId) {
735
- const parentId = desc.parentId;
736
- if (initialWriteIndex.has(parentId)) {
737
- addEdge(initialWriteIndex.get(parentId), i);
738
- }
739
- }
740
- // Initial write dependency: update depends on initial write.
741
- if (desc.interface === DwnInterfaceName.Records && desc.method === DwnMethodName.Write) {
742
- const recordId = msg.recordId;
743
- if (recordId && !SyncEngineLevel.isInitialWrite(messages[i].message) && initialWriteIndex.has(recordId)) {
744
- addEdge(initialWriteIndex.get(recordId), i);
745
- }
746
- }
747
- // Delete depends on initial write.
748
- if (desc.interface === DwnInterfaceName.Records && desc.method === DwnMethodName.Delete) {
749
- const recordId = (_b = msg.descriptor) === null || _b === void 0 ? void 0 : _b.recordId;
750
- if (recordId && initialWriteIndex.has(recordId)) {
751
- addEdge(initialWriteIndex.get(recordId), i);
752
- }
753
- }
754
- // Permission grant dependency: message depends on the grant it references.
755
- const permissionGrantId = desc.permissionGrantId;
756
- if (permissionGrantId && grantIndex.has(permissionGrantId)) {
757
- addEdge(grantIndex.get(permissionGrantId), i);
758
- }
759
- }
760
- // Kahn's algorithm for topological sort.
761
- const queue = [];
762
- for (let i = 0; i < messages.length; i++) {
763
- if (inDegree[i] === 0) {
764
- queue.push(i);
765
- }
766
- }
767
- const sorted = [];
768
- while (queue.length > 0) {
769
- const node = queue.shift();
770
- sorted.push(byIndex.get(node));
771
- const neighbors = edges.get(node);
772
- if (neighbors) {
773
- for (const neighbor of neighbors) {
774
- inDegree[neighbor]--;
775
- if (inDegree[neighbor] === 0) {
776
- queue.push(neighbor);
777
- }
778
- }
779
- }
780
- }
781
- // If there are nodes not in sorted (cycle), append them at the end.
782
- if (sorted.length < messages.length) {
783
- const sortedSet = new Set(sorted);
784
- for (let i = 0; i < messages.length; i++) {
785
- const entry = byIndex.get(i);
786
- if (!sortedSet.has(entry)) {
787
- sorted.push(entry);
788
- }
789
- }
790
- }
791
- return sorted;
792
- }
793
- /**
794
- * Checks whether a message is an initial RecordsWrite (not an update).
795
- * An initial write has recordId === message CID context or has no `dateModified` != `dateCreated`.
796
- */
797
- static isInitialWrite(message) {
798
- const desc = message.descriptor;
799
- if (desc.interface !== DwnInterfaceName.Records || desc.method !== DwnMethodName.Write) {
800
- return false;
801
- }
802
- // A RecordsWrite is initial if dateCreated === messageTimestamp (first write for this recordId).
803
- return desc.dateCreated === desc.messageTimestamp;
804
- }
805
- // ---------------------------------------------------------------------------
806
- // Helpers
807
- // ---------------------------------------------------------------------------
808
- /**
809
- * 202: message was successfully written to the remote DWN
810
- * 204: an initial write message was written without any data
811
- * 409: message was already present on the remote DWN
812
- * RecordsDelete + 404: the initial write was not found or already deleted
813
- */
814
- static syncMessageReplyIsSuccessful(reply) {
815
- var _a, _b;
816
- return reply.status.code === 202 ||
817
- reply.status.code === 204 ||
818
- reply.status.code === 409 ||
819
- (((_a = reply.entry) === null || _a === void 0 ? void 0 : _a.message.descriptor.interface) === DwnInterfaceName.Records &&
820
- ((_b = reply.entry) === null || _b === void 0 ? void 0 : _b.message.descriptor.method) === DwnMethodName.Delete &&
821
- reply.status.code === 404);
490
+ return topologicalSort(messages);
822
491
  }
823
492
  /**
824
493
  * Returns the list of sync targets: (did, dwnUrl, delegateDid?, protocol?) tuples.
@@ -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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"}