@enbox/agent 0.5.7 → 0.5.9

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.
@@ -16,12 +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 { hashToHex, initDefaultHashes, Message } from '@enbox/dwn-sdk-js';
19
+ import { Encoder, hashToHex, initDefaultHashes, Message } from '@enbox/dwn-sdk-js';
20
20
  import { AgentPermissionsApi } from './permissions-api.js';
21
21
  import { DwnInterface } from './types/dwn.js';
22
22
  import { isRecordsWrite } from './utils.js';
23
23
  import { topologicalSort } from './sync-topological-sort.js';
24
- import { pullMessages, pushMessages } from './sync-messages.js';
24
+ import { fetchRemoteMessages, pullMessages, pushMessages } from './sync-messages.js';
25
25
  /**
26
26
  * Maximum bit prefix depth for the per-node tree walk (legacy fallback).
27
27
  * At depth 16, each subtree covers ~1/65536 of the key space.
@@ -515,8 +515,22 @@ export class SyncEngineLevel {
515
515
  if (subMessage.type === 'event') {
516
516
  const event = subMessage.event;
517
517
  try {
518
- // Process the message locally.
519
- const dataStream = this.extractDataStream(event);
518
+ // Extract inline data from the event (available for records <= 30 KB).
519
+ let dataStream = this.extractDataStream(event);
520
+ // For large RecordsWrite messages (no inline data), fetch the data
521
+ // from the remote DWN via MessagesRead before storing locally.
522
+ if (!dataStream && isRecordsWrite(event) && event.message.descriptor.dataCid) {
523
+ const messageCid = yield Message.getCid(event.message);
524
+ const fetched = yield fetchRemoteMessages({
525
+ did, dwnUrl, delegateDid, protocol,
526
+ messageCids: [messageCid],
527
+ agent: this.agent,
528
+ permissionsApi: this._permissionsApi,
529
+ });
530
+ if (fetched.length > 0 && fetched[0].dataStream) {
531
+ dataStream = fetched[0].dataStream;
532
+ }
533
+ }
520
534
  yield this.agent.dwn.processRawMessage(did, event.message, { dataStream });
521
535
  }
522
536
  catch (error) {
@@ -526,20 +540,45 @@ export class SyncEngineLevel {
526
540
  yield this.setCursor(cursorKey, subMessage.cursor);
527
541
  }
528
542
  });
529
- // Send the subscription request through the agent's DWN API.
530
- const response = yield this.agent.dwn.sendRequest({
543
+ // Construct the subscribe message and send it directly to the specific
544
+ // dwnUrl via WebSocket. We do NOT use agent.dwn.sendRequest() because
545
+ // that resolves endpoints from the DID document and picks the first one
546
+ // — which may be a different server than the one this sync target needs.
547
+ const subscribeRequest = {
548
+ store: false,
531
549
  author: did,
532
550
  target: did,
533
551
  messageType: DwnInterface.MessagesSubscribe,
534
552
  granteeDid: delegateDid,
535
- messageParams: {
536
- filters,
537
- cursor,
538
- permissionGrantId,
553
+ messageParams: { filters, cursor, permissionGrantId },
554
+ };
555
+ const { message } = yield this.agent.dwn.processRequest(subscribeRequest);
556
+ if (!message) {
557
+ throw new Error(`SyncEngineLevel: Failed to construct MessagesSubscribe for ${dwnUrl}`);
558
+ }
559
+ // Build a resubscribe factory so the WebSocket client can resume with
560
+ // a fresh cursor-stamped message after reconnection.
561
+ const resubscribeFactory = (resumeCursor) => __awaiter(this, void 0, void 0, function* () {
562
+ const resumeRequest = Object.assign(Object.assign({}, subscribeRequest), { messageParams: Object.assign(Object.assign({}, subscribeRequest.messageParams), { cursor: resumeCursor !== null && resumeCursor !== void 0 ? resumeCursor : cursor }) });
563
+ const { message: resumeMsg } = yield this.agent.dwn.processRequest(resumeRequest);
564
+ if (!resumeMsg) {
565
+ throw new Error(`SyncEngineLevel: Failed to construct resume MessagesSubscribe for ${dwnUrl}`);
566
+ }
567
+ return resumeMsg;
568
+ });
569
+ // Convert http(s) URL to ws(s) for WebSocket transport.
570
+ const parsedUrl = new URL(dwnUrl);
571
+ parsedUrl.protocol = parsedUrl.protocol === 'http:' ? 'ws:' : 'wss:';
572
+ const wsUrl = parsedUrl.toString();
573
+ const reply = yield this.agent.rpc.sendDwnRequest({
574
+ dwnUrl: wsUrl,
575
+ targetDid: did,
576
+ message,
577
+ subscription: {
578
+ handler: subscriptionHandler,
579
+ resubscribeFactory,
539
580
  },
540
- subscriptionHandler: subscriptionHandler,
541
581
  });
542
- const reply = response.reply;
543
582
  if (reply.status.code !== 200 || !reply.subscription) {
544
583
  console.error(`SyncEngineLevel: MessagesSubscribe failed for ${did} -> ${dwnUrl}: ${reply.status.code} ${reply.status.detail}`);
545
584
  return;
@@ -685,22 +724,31 @@ export class SyncEngineLevel {
685
724
  // Utility helpers
686
725
  // ---------------------------------------------------------------------------
687
726
  /**
688
- * Extracts a ReadableStream from a MessageEvent if it contains a RecordsWrite with data.
727
+ * Extracts a ReadableStream from a MessageEvent if it contains a
728
+ * RecordsWrite with data — either as an inline `encodedData` field
729
+ * (for records <= 30 KB) or as a pre-existing data stream.
689
730
  */
690
731
  extractDataStream(event) {
691
- if (isRecordsWrite(event) && event.data) {
732
+ if (!isRecordsWrite(event)) {
733
+ return undefined;
734
+ }
735
+ // Check for inline base64url-encoded data (small records from EventLog).
736
+ const encodedData = event.message.encodedData;
737
+ if (encodedData) {
738
+ const bytes = Encoder.base64UrlToBytes(encodedData);
739
+ return new ReadableStream({
740
+ start(controller) {
741
+ controller.enqueue(bytes);
742
+ controller.close();
743
+ }
744
+ });
745
+ }
746
+ // Check for a pre-existing data stream (e.g. from a direct message read).
747
+ if (event.data) {
692
748
  return event.data;
693
749
  }
694
750
  return undefined;
695
751
  }
696
- /**
697
- * Synchronously attempts to get a message CID. Returns undefined on failure.
698
- * This is used in the synchronous EventLog callback; the actual CID computation
699
- * is fast for already-constructed messages.
700
- */
701
- // tryGetCidSync was removed — it tried to return a CID synchronously
702
- // from an async SHA-256 computation, which always returned undefined.
703
- // The local push handler now awaits Message.getCid() directly.
704
752
  // ---------------------------------------------------------------------------
705
753
  // Default Hash Cache
706
754
  // ---------------------------------------------------------------------------
@@ -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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"}
@@ -106,14 +106,11 @@ export declare class SyncEngineLevel implements SyncEngine {
106
106
  private getCursor;
107
107
  private setCursor;
108
108
  /**
109
- * Extracts a ReadableStream from a MessageEvent if it contains a RecordsWrite with data.
109
+ * Extracts a ReadableStream from a MessageEvent if it contains a
110
+ * RecordsWrite with data — either as an inline `encodedData` field
111
+ * (for records <= 30 KB) or as a pre-existing data stream.
110
112
  */
111
113
  private extractDataStream;
112
- /**
113
- * Synchronously attempts to get a message CID. Returns undefined on failure.
114
- * This is used in the synchronous EventLog callback; the actual CID computation
115
- * is fast for already-constructed messages.
116
- */
117
114
  /**
118
115
  * Returns the hex-encoded default (empty-subtree) hash for a given depth.
119
116
  * Lazily initializes the cache on first call.
@@ -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.7",
3
+ "version": "0.5.9",
4
4
  "type": "module",
5
5
  "main": "./dist/esm/index.js",
6
6
  "module": "./dist/esm/index.js",
@@ -71,8 +71,8 @@
71
71
  },
72
72
  "dependencies": {
73
73
  "@scure/bip39": "1.2.2",
74
- "@enbox/dwn-clients": "0.2.3",
75
- "@enbox/dwn-sdk-js": "0.2.2",
74
+ "@enbox/dwn-clients": "0.2.4",
75
+ "@enbox/dwn-sdk-js": "0.3.0",
76
76
  "@enbox/common": "0.1.0",
77
77
  "@enbox/crypto": "0.1.0",
78
78
  "@enbox/dids": "0.1.0",
@@ -1,10 +1,12 @@
1
1
  import type { AbstractLevel } from 'abstract-level';
2
+
3
+ import type { DwnSubscriptionHandler, ResubscribeFactory } from '@enbox/dwn-clients';
2
4
  import type { GenericMessage, MessageEvent, MessagesSubscribeReply, MessagesSyncDiffEntry, MessagesSyncReply, StateIndex, SubscriptionMessage } from '@enbox/dwn-sdk-js';
3
5
 
4
6
  import ms from 'ms';
5
7
 
6
8
  import { Level } from 'level';
7
- import { hashToHex, initDefaultHashes, Message } from '@enbox/dwn-sdk-js';
9
+ import { Encoder, hashToHex, initDefaultHashes, Message } from '@enbox/dwn-sdk-js';
8
10
 
9
11
  import type { PermissionsApi } from './types/permissions.js';
10
12
  import type { EnboxAgent, EnboxPlatformAgent } from './types/agent.js';
@@ -14,7 +16,7 @@ import { AgentPermissionsApi } from './permissions-api.js';
14
16
  import { DwnInterface } from './types/dwn.js';
15
17
  import { isRecordsWrite } from './utils.js';
16
18
  import { topologicalSort } from './sync-topological-sort.js';
17
- import { pullMessages, pushMessages } from './sync-messages.js';
19
+ import { fetchRemoteMessages, pullMessages, pushMessages } from './sync-messages.js';
18
20
 
19
21
  export type SyncEngineLevelParams = {
20
22
  agent?: EnboxPlatformAgent;
@@ -606,8 +608,24 @@ export class SyncEngineLevel implements SyncEngine {
606
608
  if (subMessage.type === 'event') {
607
609
  const event: MessageEvent = subMessage.event;
608
610
  try {
609
- // Process the message locally.
610
- const dataStream = this.extractDataStream(event);
611
+ // Extract inline data from the event (available for records <= 30 KB).
612
+ let dataStream = this.extractDataStream(event);
613
+
614
+ // For large RecordsWrite messages (no inline data), fetch the data
615
+ // from the remote DWN via MessagesRead before storing locally.
616
+ if (!dataStream && isRecordsWrite(event) && (event.message.descriptor as any).dataCid) {
617
+ const messageCid = await Message.getCid(event.message);
618
+ const fetched = await fetchRemoteMessages({
619
+ did, dwnUrl, delegateDid, protocol,
620
+ messageCids : [messageCid],
621
+ agent : this.agent,
622
+ permissionsApi : this._permissionsApi,
623
+ });
624
+ if (fetched.length > 0 && fetched[0].dataStream) {
625
+ dataStream = fetched[0].dataStream;
626
+ }
627
+ }
628
+
611
629
  await this.agent.dwn.processRawMessage(did, event.message, { dataStream });
612
630
  } catch (error: any) {
613
631
  console.error(`SyncEngineLevel: Error processing live-pull event for ${did}`, error);
@@ -618,21 +636,52 @@ export class SyncEngineLevel implements SyncEngine {
618
636
  }
619
637
  };
620
638
 
621
- // Send the subscription request through the agent's DWN API.
622
- const response = await this.agent.dwn.sendRequest({
639
+ // Construct the subscribe message and send it directly to the specific
640
+ // dwnUrl via WebSocket. We do NOT use agent.dwn.sendRequest() because
641
+ // that resolves endpoints from the DID document and picks the first one
642
+ // — which may be a different server than the one this sync target needs.
643
+ const subscribeRequest = {
644
+ store : false as const,
623
645
  author : did,
624
646
  target : did,
625
- messageType : DwnInterface.MessagesSubscribe,
647
+ messageType : DwnInterface.MessagesSubscribe as const,
626
648
  granteeDid : delegateDid,
627
- messageParams : {
628
- filters,
629
- cursor,
630
- permissionGrantId,
631
- },
632
- subscriptionHandler: subscriptionHandler as any,
633
- });
649
+ messageParams : { filters, cursor, permissionGrantId },
650
+ };
634
651
 
635
- const reply = response.reply as MessagesSubscribeReply;
652
+ const { message } = await this.agent.dwn.processRequest(subscribeRequest);
653
+ if (!message) {
654
+ throw new Error(`SyncEngineLevel: Failed to construct MessagesSubscribe for ${dwnUrl}`);
655
+ }
656
+
657
+ // Build a resubscribe factory so the WebSocket client can resume with
658
+ // a fresh cursor-stamped message after reconnection.
659
+ const resubscribeFactory: ResubscribeFactory = async (resumeCursor?: string) => {
660
+ const resumeRequest = {
661
+ ...subscribeRequest,
662
+ messageParams: { ...subscribeRequest.messageParams, cursor: resumeCursor ?? cursor },
663
+ };
664
+ const { message: resumeMsg } = await this.agent.dwn.processRequest(resumeRequest);
665
+ if (!resumeMsg) {
666
+ throw new Error(`SyncEngineLevel: Failed to construct resume MessagesSubscribe for ${dwnUrl}`);
667
+ }
668
+ return resumeMsg;
669
+ };
670
+
671
+ // Convert http(s) URL to ws(s) for WebSocket transport.
672
+ const parsedUrl = new URL(dwnUrl);
673
+ parsedUrl.protocol = parsedUrl.protocol === 'http:' ? 'ws:' : 'wss:';
674
+ const wsUrl = parsedUrl.toString();
675
+
676
+ const reply = await this.agent.rpc.sendDwnRequest({
677
+ dwnUrl : wsUrl,
678
+ targetDid : did,
679
+ message,
680
+ subscription : {
681
+ handler: subscriptionHandler as DwnSubscriptionHandler,
682
+ resubscribeFactory,
683
+ },
684
+ }) as MessagesSubscribeReply;
636
685
  if (reply.status.code !== 200 || !reply.subscription) {
637
686
  console.error(`SyncEngineLevel: MessagesSubscribe failed for ${did} -> ${dwnUrl}: ${reply.status.code} ${reply.status.detail}`);
638
687
  return;
@@ -792,23 +841,36 @@ export class SyncEngineLevel implements SyncEngine {
792
841
  // ---------------------------------------------------------------------------
793
842
 
794
843
  /**
795
- * Extracts a ReadableStream from a MessageEvent if it contains a RecordsWrite with data.
844
+ * Extracts a ReadableStream from a MessageEvent if it contains a
845
+ * RecordsWrite with data — either as an inline `encodedData` field
846
+ * (for records <= 30 KB) or as a pre-existing data stream.
796
847
  */
797
848
  private extractDataStream(event: MessageEvent): ReadableStream<Uint8Array> | undefined {
798
- if (isRecordsWrite(event) && (event as any).data) {
849
+ if (!isRecordsWrite(event)) {
850
+ return undefined;
851
+ }
852
+
853
+ // Check for inline base64url-encoded data (small records from EventLog).
854
+ const encodedData = (event.message as any).encodedData as string | undefined;
855
+ if (encodedData) {
856
+ const bytes = Encoder.base64UrlToBytes(encodedData);
857
+ return new ReadableStream<Uint8Array>({
858
+ start(controller): void {
859
+ controller.enqueue(bytes);
860
+ controller.close();
861
+ }
862
+ });
863
+ }
864
+
865
+ // Check for a pre-existing data stream (e.g. from a direct message read).
866
+ if ((event as any).data) {
799
867
  return (event as any).data;
800
868
  }
869
+
801
870
  return undefined;
802
871
  }
803
872
 
804
- /**
805
- * Synchronously attempts to get a message CID. Returns undefined on failure.
806
- * This is used in the synchronous EventLog callback; the actual CID computation
807
- * is fast for already-constructed messages.
808
- */
809
- // tryGetCidSync was removed — it tried to return a CID synchronously
810
- // from an async SHA-256 computation, which always returned undefined.
811
- // The local push handler now awaits Message.getCid() directly.
873
+
812
874
 
813
875
  // ---------------------------------------------------------------------------
814
876
  // Default Hash Cache