open-agents-nexus 1.5.4 → 1.5.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.
package/dist/discovery.js CHANGED
@@ -97,7 +97,12 @@ export const DEFAULT_DISCOVERY = {
97
97
  * Merge partial discovery config with defaults (does not mutate defaults).
98
98
  */
99
99
  export function resolveDiscovery(partial) {
100
- return { ...DEFAULT_DISCOVERY, ...partial };
100
+ // Filter out undefined values so they don't overwrite defaults.
101
+ // e.g. { enableMdns: undefined } should NOT replace DEFAULT_DISCOVERY.enableMdns = true
102
+ const defined = partial
103
+ ? Object.fromEntries(Object.entries(partial).filter(([, v]) => v !== undefined))
104
+ : {};
105
+ return { ...DEFAULT_DISCOVERY, ...defined };
101
106
  }
102
107
  /**
103
108
  * Build the complete bootstrap peer list from all available sources.
@@ -1 +1 @@
1
- {"version":3,"file":"discovery.js","sourceRoot":"","sources":["../src/discovery.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"discovery.js","sourceRoot":"","sources":["../src/discovery.ts"],"names":[],"mappings":"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"}
package/dist/index.d.ts CHANGED
@@ -149,6 +149,11 @@ export declare class NexusClient {
149
149
  * The stream is opened, the message is sent, and the stream is closed.
150
150
  */
151
151
  sendDM(peerId: string, content: string, format?: string): Promise<void>;
152
+ /**
153
+ * Register protocol handlers for INVOKE and DM.
154
+ * Called once during connect(). Safe to call multiple times — idempotent.
155
+ */
156
+ private registerProtocolHandlers;
152
157
  /**
153
158
  * Dial a peer with a specific protocol, resolving multiaddrs from
154
159
  * multiple sources if the peer isn't in libp2p's peer store.
package/dist/index.js CHANGED
@@ -23,6 +23,55 @@ import { NatsDiscovery } from './nats/index.js';
23
23
  import { NknFallback } from './nkn/index.js';
24
24
  import { DefaultTrustPolicy } from './trust/index.js';
25
25
  import { MeteringEngine } from './metering/index.js';
26
+ // peerIdFromString imported dynamically in dialPeerProtocol to avoid startup side effects
27
+ // import { peerIdFromString } from '@libp2p/peer-id';
28
+ // ---------------------------------------------------------------------------
29
+ // libp2p v3 stream helpers
30
+ //
31
+ // v3 streams use:
32
+ // stream.send(data: Uint8Array) — write (NOT .sink())
33
+ // stream[Symbol.asyncIterator] — read (NOT .source)
34
+ // stream.close() — close
35
+ //
36
+ // The handler signature is (stream, connection) not ({ stream, connection })
37
+ // ---------------------------------------------------------------------------
38
+ function streamSend(stream, msg) {
39
+ const data = encodeStreamMessage(msg);
40
+ // libp2p v3 uses .send(), v2 used .sink(). Support both.
41
+ if (typeof stream.send === 'function') {
42
+ stream.send(data);
43
+ }
44
+ else if (typeof stream.sink === 'function') {
45
+ // Legacy v2 fallback — single message
46
+ stream.sink([data]).catch(() => { });
47
+ }
48
+ }
49
+ function streamClose(stream) {
50
+ if (typeof stream.close === 'function') {
51
+ stream.close().catch?.(() => { });
52
+ }
53
+ }
54
+ async function* streamReader(stream) {
55
+ // libp2p v3: stream itself is AsyncIterable<Uint8Array | Uint8ArrayList>
56
+ // libp2p v2: stream.source is the AsyncIterable
57
+ const iterable = stream[Symbol.asyncIterator] ? stream : stream.source;
58
+ if (!iterable)
59
+ return;
60
+ try {
61
+ for await (const rawData of iterable) {
62
+ // Handle both Uint8Array and Uint8ArrayList
63
+ const bytes = rawData instanceof Uint8Array
64
+ ? rawData
65
+ : (typeof rawData.subarray === 'function' ? rawData.subarray() : new Uint8Array(rawData.buffer ?? []));
66
+ const msg = decodeStreamMessage(bytes);
67
+ if (msg)
68
+ yield msg;
69
+ }
70
+ }
71
+ catch {
72
+ // Stream closed or reset — normal
73
+ }
74
+ }
26
75
  const log = createLogger('nexus');
27
76
  // ---------------------------------------------------------------------------
28
77
  // NexusClient
@@ -214,44 +263,10 @@ export class NexusClient {
214
263
  });
215
264
  await this.nknFallback.connect();
216
265
  }
217
- // Register invoke protocol handler — MUST be in connect(), not registerCapability(),
218
- // because registerCapability() may be called before connect() when this.node is null.
219
- this.node.handle(STREAM_PROTOCOLS.INVOKE, async ({ stream, connection }) => {
220
- await this.handleIncomingInvoke(stream, connection);
221
- });
222
- this.invokeHandlerRegistered = true;
223
- // Register DM protocol handler for receiving direct messages
224
- this.node.handle(STREAM_PROTOCOLS.DM, async ({ stream, connection }) => {
225
- const remotePeerId = connection.remotePeer.toString();
226
- // Trust check
227
- if (!this.trustPolicy.allowPeer(remotePeerId)) {
228
- log.debug(`DM blocked from ${remotePeerId.slice(0, 12)}...`);
229
- stream.close?.();
230
- return;
231
- }
232
- try {
233
- for await (const data of stream.source) {
234
- const raw = data instanceof Uint8Array ? data : new Uint8Array(data.buffer ?? []);
235
- const text = new TextDecoder().decode(raw).trim();
236
- if (!text)
237
- continue;
238
- const msg = JSON.parse(text);
239
- if (msg.type === 'dm.message' && msg.content) {
240
- this.emit('dm', {
241
- from: remotePeerId,
242
- content: msg.content,
243
- format: msg.contentFormat ?? 'text/plain',
244
- messageId: msg.messageId ?? '',
245
- });
246
- }
247
- }
248
- }
249
- catch {
250
- // Stream read errors are expected when the sender closes
251
- }
252
- });
253
266
  this._isConnected = true;
254
267
  log.info('Connected to OpenAgents Nexus');
268
+ // Protocol handlers registered lazily — see registerProtocolHandlers()
269
+ this.registerProtocolHandlers();
255
270
  log.info(`Listening on: ${this.node
256
271
  .getMultiaddrs()
257
272
  .map((a) => a.toString())
@@ -443,128 +458,102 @@ export class NexusClient {
443
458
  const maxDurationMs = options?.maxDurationMs ?? 30_000;
444
459
  const streamMode = options?.stream ?? false;
445
460
  const stream = await this.dialPeerProtocol(peerId, STREAM_PROTOCOLS.INVOKE);
446
- // Send invoke.open
447
- const open = {
448
- type: 'invoke.open',
449
- version: 1,
450
- requestId,
451
- capability,
461
+ // Send invoke.open + invoke.chunk via stream.send() (libp2p v3 API)
462
+ streamSend(stream, {
463
+ type: 'invoke.open', version: 1, requestId, capability,
452
464
  inputFormat: 'application/json',
453
465
  outputMode: streamMode ? 'stream' : 'unary',
454
- maxDurationMs,
455
- maxInputBytes: 65_536,
456
- maxOutputBytes: 1_048_576,
457
- };
458
- await stream.sink([encodeStreamMessage(open)]);
459
- // Send input chunk
460
- const chunk = encodeStreamMessage({
461
- type: 'invoke.chunk',
462
- version: 1,
463
- requestId,
464
- seq: 0,
465
- isFinalInput: true,
466
- data: input,
466
+ maxDurationMs, maxInputBytes: 65_536, maxOutputBytes: 1_048_576,
467
+ });
468
+ streamSend(stream, {
469
+ type: 'invoke.chunk', version: 1, requestId,
470
+ seq: 0, isFinalInput: true, data: input,
467
471
  });
468
- await stream.sink([chunk]);
469
472
  // Helper: handle invoke.payment_required by auto-signing and sending proof
470
- const handlePaymentRequired = async (msg, s) => {
473
+ const handlePaymentRequired = async (msg) => {
471
474
  if (!this._x402?.walletAddress) {
472
- throw new Error('Provider requires payment but x402 wallet is not initialized. Call nexus.x402.initWallet() first.');
475
+ throw new Error('Provider requires payment but x402 wallet is not initialized.');
473
476
  }
474
477
  const terms = {
475
478
  amount: msg.terms.amount,
476
479
  currency: msg.terms.currency || 'USDC',
477
- network: 'base',
478
- recipient: msg.terms.recipient,
480
+ network: 'base', recipient: msg.terms.recipient,
479
481
  description: msg.terms.description ?? '',
480
482
  expiresAt: msg.terms.validUntil ?? (Date.now() + 300_000),
481
483
  requestId: msg.requestId,
482
484
  };
483
485
  log.info(`Payment required for ${capability}: ${terms.amount} ${terms.currency}`);
484
- // For $0 free tier, send a stub proof (no real signing needed)
485
486
  if (terms.amount === '0') {
486
- const proofMsg = {
487
- type: 'invoke.payment_proof',
488
- version: 1,
489
- requestId,
487
+ streamSend(stream, {
488
+ type: 'invoke.payment_proof', version: 1, requestId,
490
489
  proof: {
491
- from: this._x402.walletAddress,
492
- to: terms.recipient,
493
- amount: '0',
494
- currency: terms.currency,
495
- signature: '0x',
496
- nonce: '0x',
497
- validAfter: 0,
498
- validBefore: 0,
490
+ from: this._x402.walletAddress, to: terms.recipient,
491
+ amount: '0', currency: terms.currency,
492
+ signature: '0x', nonce: '0x', validAfter: 0, validBefore: 0,
499
493
  },
500
- };
501
- await s.sink([encodeStreamMessage(proofMsg)]);
494
+ });
502
495
  return;
503
496
  }
504
497
  const proof = await this._x402.signPayment(terms);
505
- const proofMsg = {
506
- type: 'invoke.payment_proof',
507
- version: 1,
508
- requestId,
498
+ streamSend(stream, {
499
+ type: 'invoke.payment_proof', version: 1, requestId,
509
500
  proof: {
510
501
  from: proof.authorization?.from ?? proof.payment.payer,
511
502
  to: proof.authorization?.to ?? proof.payment.recipient,
512
- amount: proof.payment.amount,
513
- currency: proof.payment.currency,
514
- signature: proof.signature,
515
- nonce: proof.authorization?.nonce ?? '',
503
+ amount: proof.payment.amount, currency: proof.payment.currency,
504
+ signature: proof.signature, nonce: proof.authorization?.nonce ?? '',
516
505
  validAfter: Number(proof.authorization?.validAfter ?? 0),
517
506
  validBefore: Number(proof.authorization?.validBefore ?? 0),
518
507
  },
519
- };
520
- await s.sink([encodeStreamMessage(proofMsg)]);
508
+ });
521
509
  };
510
+ // Read responses via streamReader (works with both v2 and v3 streams)
522
511
  if (streamMode) {
523
- const outerStream = stream;
524
- const self = this;
525
- // Return an async iterable of InvokeEvent messages
526
512
  async function* iterateEvents() {
527
- for await (const data of outerStream.source) {
528
- const msg = decodeStreamMessage(data instanceof Uint8Array ? data : data.subarray?.() ?? new Uint8Array(0));
513
+ for await (const msg of streamReader(stream)) {
529
514
  if (!msg)
530
515
  continue;
531
516
  if (msg.type === 'invoke.payment_required') {
532
- await handlePaymentRequired(msg, outerStream);
533
- continue; // keep waiting for accept/events
517
+ await handlePaymentRequired(msg);
518
+ continue;
534
519
  }
535
520
  if (msg.type === 'invoke.event')
536
521
  yield msg;
537
- if (msg.type === 'invoke.done' || msg.type === 'invoke.error')
522
+ if (msg.type === 'invoke.done' || msg.type === 'invoke.error') {
523
+ streamClose(stream);
538
524
  break;
539
- if (msg.type === 'invoke.cancel')
525
+ }
526
+ if (msg.type === 'invoke.cancel') {
527
+ streamClose(stream);
540
528
  break;
529
+ }
541
530
  }
542
531
  }
543
532
  return iterateEvents();
544
533
  }
545
- // Unary mode: collect all events and return aggregated output
546
534
  const events = [];
547
- for await (const data of stream.source) {
548
- const raw = data instanceof Uint8Array ? data : new Uint8Array(data.buffer ?? []);
549
- const msg = decodeStreamMessage(raw);
535
+ for await (const msg of streamReader(stream)) {
550
536
  if (!msg)
551
537
  continue;
552
538
  if (msg.type === 'invoke.payment_required') {
553
- await handlePaymentRequired(msg, stream);
554
- continue; // keep waiting for accept/events after payment
539
+ await handlePaymentRequired(msg);
540
+ continue;
555
541
  }
556
542
  if (msg.type === 'invoke.event')
557
543
  events.push(msg);
558
- if (msg.type === 'invoke.done')
544
+ if (msg.type === 'invoke.done') {
545
+ streamClose(stream);
559
546
  break;
547
+ }
560
548
  if (msg.type === 'invoke.error') {
549
+ streamClose(stream);
561
550
  throw new Error(`invoke.error [${msg.code}]: ${msg.message}`);
562
551
  }
563
552
  if (msg.type === 'invoke.cancel') {
553
+ streamClose(stream);
564
554
  throw new Error(`Invocation cancelled: ${msg.reason}`);
565
555
  }
566
556
  }
567
- // Aggregate event data into a single result
568
557
  if (events.length === 1)
569
558
  return events[0].data;
570
559
  if (events.length > 1)
@@ -579,8 +568,60 @@ export class NexusClient {
579
568
  this.ensureConnected();
580
569
  const stream = await this.dialPeerProtocol(peerId, STREAM_PROTOCOLS.DM);
581
570
  const dmMsg = new TextEncoder().encode(JSON.stringify({ type: 'dm.message', version: 1, messageId: uuidv7(), contentFormat: format, content }) + '\n');
582
- await stream.sink([dmMsg]);
583
- stream.close?.();
571
+ // v3: stream.send(), v2: stream.sink()
572
+ if (typeof stream.send === 'function') {
573
+ stream.send(dmMsg);
574
+ }
575
+ else if (typeof stream.sink === 'function') {
576
+ await stream.sink([dmMsg]);
577
+ }
578
+ streamClose(stream);
579
+ }
580
+ /**
581
+ * Register protocol handlers for INVOKE and DM.
582
+ * Called once during connect(). Safe to call multiple times — idempotent.
583
+ */
584
+ registerProtocolHandlers() {
585
+ if (!this.node || this.invokeHandlerRegistered)
586
+ return;
587
+ this.node.handle(STREAM_PROTOCOLS.INVOKE, (stream, connection) => {
588
+ this.handleIncomingInvoke(stream, connection).catch((err) => {
589
+ log.debug(`Invoke handler error: ${err.message}`);
590
+ });
591
+ }).catch(() => { });
592
+ this.invokeHandlerRegistered = true;
593
+ this.node.handle(STREAM_PROTOCOLS.DM, (stream, connection) => {
594
+ const remotePeerId = connection.remotePeer.toString();
595
+ if (!this.trustPolicy.allowPeer(remotePeerId)) {
596
+ streamClose(stream);
597
+ return;
598
+ }
599
+ (async () => {
600
+ try {
601
+ const iterable = stream[Symbol.asyncIterator] ? stream : stream.source;
602
+ if (!iterable)
603
+ return;
604
+ for await (const data of iterable) {
605
+ const raw = data instanceof Uint8Array
606
+ ? data
607
+ : (typeof data.subarray === 'function' ? data.subarray() : new Uint8Array(data.buffer ?? []));
608
+ const text = new TextDecoder().decode(raw).trim();
609
+ if (!text)
610
+ continue;
611
+ const msg = JSON.parse(text);
612
+ if (msg.type === 'dm.message' && msg.content) {
613
+ this.emit('dm', {
614
+ from: remotePeerId,
615
+ content: msg.content,
616
+ format: msg.contentFormat ?? 'text/plain',
617
+ messageId: msg.messageId ?? '',
618
+ });
619
+ }
620
+ }
621
+ }
622
+ catch { }
623
+ })().catch(() => { });
624
+ }).catch(() => { });
584
625
  }
585
626
  // --- Peer dialing helper ---
586
627
  /**
@@ -593,32 +634,38 @@ export class NexusClient {
593
634
  * 3. DHT profile lookup
594
635
  */
595
636
  async dialPeerProtocol(peerId, protocol) {
596
- const DIAL_TIMEOUT = 10_000; // 10 seconds per attempt — fail fast, don't hang
637
+ const DIAL_TIMEOUT = 10_000;
597
638
  const shortId = peerId.slice(0, 12);
598
- // First try direct dial works when libp2p knows the peer via mDNS/DHT/pubsub
639
+ // CRITICAL: libp2p v3 requires a PeerId object, not a string.
640
+ let peerIdObj;
641
+ try {
642
+ const { peerIdFromString } = await import('@libp2p/peer-id');
643
+ peerIdObj = peerIdFromString(peerId);
644
+ }
645
+ catch {
646
+ throw new Error(`Invalid peer ID: ${shortId}...`);
647
+ }
648
+ // First try direct dial with the PeerId object
599
649
  try {
600
650
  log.debug(`Dialing ${shortId}... directly for ${protocol}`);
601
- return await this.node.dialProtocol(peerId, protocol, {
651
+ return await this.node.dialProtocol(peerIdObj, protocol, {
602
652
  signal: AbortSignal.timeout(DIAL_TIMEOUT),
603
653
  });
604
654
  }
605
655
  catch (directErr) {
606
656
  log.debug(`Direct dial failed for ${shortId}...: ${directErr.message}`);
607
657
  }
608
- // Try to find multiaddrs for this peer from DHT/directory
658
+ // Try to find multiaddrs for this peer from peer store/DHT/directory
609
659
  const addrs = await this.resolveMultiaddrs(peerId);
610
660
  if (addrs.length === 0) {
611
- throw new Error(`Cannot reach peer ${shortId}...: no known multiaddrs (not in libp2p peer store, DHT, or directory)`);
661
+ throw new Error(`Cannot reach peer ${shortId}...: no known multiaddrs`);
612
662
  }
613
- log.debug(`Resolved ${addrs.length} multiaddrs for ${shortId}...: ${addrs.join(', ')}`);
663
+ log.debug(`Resolved ${addrs.length} multiaddrs for ${shortId}...`);
614
664
  // Try each resolved multiaddr with a timeout
615
665
  const errors = [];
616
666
  for (const addr of addrs) {
617
- // Skip obviously undialable addrs
618
- if (addr.includes('/0.0.0.0/') || addr.includes('/ip4/0.0.0.0/')) {
619
- log.debug(`Skipping undialable addr: ${addr}`);
667
+ if (addr.includes('/0.0.0.0/') || addr.includes('/ip4/0.0.0.0/'))
620
668
  continue;
621
- }
622
669
  try {
623
670
  const addrWithPeer = addr.includes(`/p2p/${peerId}`) ? addr : `${addr}/p2p/${peerId}`;
624
671
  log.debug(`Trying ${addrWithPeer} for ${protocol}`);
@@ -628,10 +675,9 @@ export class NexusClient {
628
675
  }
629
676
  catch (addrErr) {
630
677
  errors.push(`${addr}: ${addrErr.message}`);
631
- continue;
632
678
  }
633
679
  }
634
- throw new Error(`Cannot reach peer ${shortId}...: all ${addrs.length} resolved multiaddrs failed.\n` +
680
+ throw new Error(`Cannot reach peer ${shortId}...: all multiaddrs failed.\n` +
635
681
  errors.map(e => ` - ${e}`).join('\n'));
636
682
  }
637
683
  /**
@@ -724,24 +770,12 @@ export class NexusClient {
724
770
  const remotePeerId = connection.remotePeer.toString();
725
771
  const shortId = remotePeerId.slice(0, 12);
726
772
  log.info(`Incoming invoke stream from ${shortId}...`);
727
- // CRITICAL: stream.source is an AsyncIterable that can only be iterated ONCE.
728
- // We get the iterator here and use it throughout the entire handler lifecycle.
729
- // Previous bug: multiple `for await (... of stream.source)` blocks each created
730
- // a new iterator, but the source was already consumed by the first one — causing
731
- // silent hangs where the provider never processed incoming data.
732
- const sourceIterator = stream.source[Symbol.asyncIterator]();
733
- // Helper: read the next decoded message from the stream
773
+ // Single-use reader works with both v2 (.source) and v3 (stream is AsyncIterable)
774
+ const reader = streamReader(stream);
775
+ // Helper: read next decoded message
734
776
  const readNext = async () => {
735
- try {
736
- const { value, done } = await sourceIterator.next();
737
- if (done)
738
- return null;
739
- const raw = value instanceof Uint8Array ? value : new Uint8Array(value.buffer ?? []);
740
- return decodeStreamMessage(raw);
741
- }
742
- catch {
743
- return null;
744
- }
777
+ const result = await reader.next();
778
+ return result.done ? null : result.value;
745
779
  };
746
780
  try {
747
781
  // Phase 1: Read invoke.open
@@ -749,7 +783,7 @@ export class NexusClient {
749
783
  while (true) {
750
784
  const msg = await readNext();
751
785
  if (!msg) {
752
- stream.close?.();
786
+ streamClose(stream);
753
787
  return;
754
788
  }
755
789
  if (msg.type === 'invoke.open') {
@@ -761,11 +795,11 @@ export class NexusClient {
761
795
  // Trust check
762
796
  if (!this.trustPolicy.allowPeer(remotePeerId) ||
763
797
  !this.trustPolicy.allowCapability(remotePeerId, openMsg.capability)) {
764
- await stream.sink([encodeStreamMessage({
765
- type: 'invoke.error', version: 1,
766
- requestId: openMsg.requestId, code: 'FORBIDDEN', message: 'Peer not allowed',
767
- })]);
768
- stream.close?.();
798
+ streamSend(stream, {
799
+ type: 'invoke.error', version: 1,
800
+ requestId: openMsg.requestId, code: 'FORBIDDEN', message: 'Peer not allowed',
801
+ });
802
+ streamClose(stream);
769
803
  return;
770
804
  }
771
805
  // Emit invoke event
@@ -778,20 +812,20 @@ export class NexusClient {
778
812
  const handler = this.capabilityHandlers.get(openMsg.capability);
779
813
  if (!handler) {
780
814
  log.warn(`Capability "${openMsg.capability}" not registered — have: [${this.getRegisteredCapabilities().join(', ')}]`);
781
- await stream.sink([encodeStreamMessage({
782
- type: 'invoke.error', version: 1,
783
- requestId: openMsg.requestId,
784
- code: 'NOT_FOUND',
785
- message: `Capability "${openMsg.capability}" not registered`,
786
- })]);
787
- stream.close?.();
815
+ streamSend(stream, {
816
+ type: 'invoke.error', version: 1,
817
+ requestId: openMsg.requestId,
818
+ code: 'NOT_FOUND',
819
+ message: `Capability "${openMsg.capability}" not registered`,
820
+ });
821
+ streamClose(stream);
788
822
  return;
789
823
  }
790
824
  // Phase 2: x402 payment gate (if pricing configured)
791
825
  const pricing = this.capabilityPricing.get(openMsg.capability);
792
826
  let paymentRecord;
793
827
  if (pricing) {
794
- const paymentReq = {
828
+ streamSend(stream, {
795
829
  type: 'invoke.payment_required', version: 1,
796
830
  requestId: openMsg.requestId,
797
831
  terms: {
@@ -800,9 +834,7 @@ export class NexusClient {
800
834
  description: pricing.description,
801
835
  validUntil: Date.now() + 300_000,
802
836
  },
803
- };
804
- await stream.sink([encodeStreamMessage(paymentReq)]);
805
- // Wait for payment proof (using the same iterator)
837
+ });
806
838
  let proofReceived = false;
807
839
  const deadline = Date.now() + 30_000;
808
840
  while (Date.now() < deadline) {
@@ -838,12 +870,12 @@ export class NexusClient {
838
870
  },
839
871
  }, terms);
840
872
  if (!valid) {
841
- await stream.sink([encodeStreamMessage({
842
- type: 'invoke.error', version: 1,
843
- requestId: openMsg.requestId,
844
- code: 'PAYMENT_INVALID', message: 'Payment proof validation failed',
845
- })]);
846
- stream.close?.();
873
+ streamSend(stream, {
874
+ type: 'invoke.error', version: 1,
875
+ requestId: openMsg.requestId,
876
+ code: 'PAYMENT_INVALID', message: 'Payment proof validation failed',
877
+ });
878
+ streamClose(stream);
847
879
  return;
848
880
  }
849
881
  paymentRecord = { amount: proof.amount, currency: proof.currency };
@@ -852,35 +884,35 @@ export class NexusClient {
852
884
  break;
853
885
  }
854
886
  if (msg.type === 'invoke.cancel') {
855
- stream.close?.();
887
+ streamClose(stream);
856
888
  return;
857
889
  }
858
890
  }
859
891
  if (!proofReceived) {
860
- await stream.sink([encodeStreamMessage({
861
- type: 'invoke.error', version: 1,
862
- requestId: openMsg.requestId,
863
- code: 'PAYMENT_TIMEOUT', message: 'Payment proof not received within timeout',
864
- })]);
865
- stream.close?.();
892
+ streamSend(stream, {
893
+ type: 'invoke.error', version: 1,
894
+ requestId: openMsg.requestId,
895
+ code: 'PAYMENT_TIMEOUT', message: 'Payment proof not received within timeout',
896
+ });
897
+ streamClose(stream);
866
898
  return;
867
899
  }
868
900
  }
869
901
  // Phase 3: Build stream handle and dispatch to handler
870
- // Uses the SAME sourceIteratorno new `for await` on stream.source
902
+ // The handle.write() uses the same pushable writer never calls sink() again
871
903
  const dataListeners = [];
872
904
  const handle = {
873
905
  write: async (msg) => {
874
- await stream.sink([encodeStreamMessage(msg)]);
906
+ streamSend(stream, msg);
875
907
  },
876
908
  onData: (cb) => {
877
909
  dataListeners.push(cb);
878
910
  },
879
911
  close: () => {
880
- stream.close?.();
912
+ streamClose(stream);
881
913
  },
882
914
  };
883
- // Background reader — uses the same iterator, never creates a new one
915
+ // Background reader — same source iterator
884
916
  const startMs = Date.now();
885
917
  (async () => {
886
918
  try {
@@ -914,6 +946,7 @@ export class NexusClient {
914
946
  }
915
947
  catch (err) {
916
948
  log.debug(`Incoming invoke error: ${err.message}`);
949
+ streamClose(stream);
917
950
  }
918
951
  }
919
952
  // --- Blocking ---
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "open-agents-nexus",
3
- "version": "1.5.4",
3
+ "version": "1.5.6",
4
4
  "description": "Zero-config decentralized agent-to-agent communication. Agents npm install, connect, and talk — no servers, no accounts, no surveillance. Built on libp2p + IPFS with encrypted P2P mesh networking, viral content pinning, and automatic peer discovery.",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",