@libp2p/daemon-client 7.0.2 → 8.0.0

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/src/dht.d.ts CHANGED
@@ -1,7 +1,6 @@
1
- import { type PeerId } from '@libp2p/interface/peer-id';
1
+ import { type PeerId, type PeerInfo } from '@libp2p/interface';
2
2
  import { CID } from 'multiformats/cid';
3
3
  import type { DaemonClient } from './index.js';
4
- import type { PeerInfo } from '@libp2p/interface/peer-info';
5
4
  export declare class DHT {
6
5
  private readonly client;
7
6
  constructor(client: DaemonClient);
@@ -1 +1 @@
1
- {"version":3,"file":"dht.d.ts","sourceRoot":"","sources":["../../src/dht.ts"],"names":[],"mappings":"AAOA,OAAO,EAAY,KAAK,MAAM,EAAE,MAAM,2BAA2B,CAAA;AAGjE,OAAO,EAAE,GAAG,EAAE,MAAM,kBAAkB,CAAA;AACtC,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,YAAY,CAAA;AAC9C,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,6BAA6B,CAAA;AAE3D,qBAAa,GAAG;IACd,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAc;gBAExB,MAAM,EAAE,YAAY;IAIjC;;OAEG;IACG,GAAG,CAAE,GAAG,EAAE,UAAU,EAAE,KAAK,EAAE,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC;IAiC7D;;OAEG;IACG,GAAG,CAAE,GAAG,EAAE,UAAU,GAAG,OAAO,CAAC,UAAU,CAAC;IAkChD;;OAEG;IACG,QAAQ,CAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,QAAQ,CAAC;IAsClD;;OAEG;IACG,OAAO,CAAE,GAAG,EAAE,GAAG,GAAG,OAAO,CAAC,IAAI,CAAC;IA4BvC;;OAEG;IACK,aAAa,CAAE,GAAG,EAAE,GAAG,EAAE,KAAK,GAAE,MAAU,GAAG,aAAa,CAAC,QAAQ,CAAC;IA0D5E;;OAEG;IACK,eAAe,CAAE,GAAG,EAAE,UAAU,GAAG,aAAa,CAAC,QAAQ,CAAC;IA2DlE;;OAEG;IACG,YAAY,CAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,GAAG,SAAS,CAAC;CAiCrE"}
1
+ {"version":3,"file":"dht.d.ts","sourceRoot":"","sources":["../../src/dht.ts"],"names":[],"mappings":"AAOA,OAAO,EAAY,KAAK,MAAM,EAAE,KAAK,QAAQ,EAAE,MAAM,mBAAmB,CAAA;AAIxE,OAAO,EAAE,GAAG,EAAE,MAAM,kBAAkB,CAAA;AACtC,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,YAAY,CAAA;AAI9C,qBAAa,GAAG;IACd,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAc;gBAExB,MAAM,EAAE,YAAY;IAIjC;;OAEG;IACG,GAAG,CAAE,GAAG,EAAE,UAAU,EAAE,KAAK,EAAE,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC;IA6B7D;;OAEG;IACG,GAAG,CAAE,GAAG,EAAE,UAAU,GAAG,OAAO,CAAC,UAAU,CAAC;IA4BhD;;OAEG;IACG,QAAQ,CAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,QAAQ,CAAC;IA+BlD;;OAEG;IACG,OAAO,CAAE,GAAG,EAAE,GAAG,GAAG,OAAO,CAAC,IAAI,CAAC;IAsBvC;;OAEG;IACK,aAAa,CAAE,GAAG,EAAE,GAAG,EAAE,KAAK,GAAE,MAAU,GAAG,aAAa,CAAC,QAAQ,CAAC;IA6C5E;;OAEG;IACK,eAAe,CAAE,GAAG,EAAE,UAAU,GAAG,aAAa,CAAC,QAAQ,CAAC;IA8ClE;;OAEG;IACG,YAAY,CAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,GAAG,SAAS,CAAC;CA2BrE"}
package/dist/src/dht.js CHANGED
@@ -1,9 +1,11 @@
1
1
  import { Request, Response, DHTRequest, DHTResponse } from '@libp2p/daemon-protocol';
2
- import { CodeError } from '@libp2p/interface/errors';
3
- import { isPeerId } from '@libp2p/interface/peer-id';
2
+ import { CodeError } from '@libp2p/interface';
3
+ import { isPeerId } from '@libp2p/interface';
4
+ import { logger } from '@libp2p/logger';
4
5
  import { peerIdFromBytes } from '@libp2p/peer-id';
5
6
  import { multiaddr } from '@multiformats/multiaddr';
6
7
  import { CID } from 'multiformats/cid';
8
+ const log = logger('libp2p:daemon-client:dht');
7
9
  export class DHT {
8
10
  client;
9
11
  constructor(client) {
@@ -27,12 +29,9 @@ export class DHT {
27
29
  value
28
30
  }
29
31
  });
30
- const message = await sh.read();
31
- if (message == null) {
32
- throw new CodeError('Empty response from remote', 'ERR_EMPTY_RESPONSE');
33
- }
34
- const response = Response.decode(message);
35
- await sh.close();
32
+ const response = await sh.read(Response);
33
+ log('read', response);
34
+ await sh.unwrap().close();
36
35
  if (response.type !== Response.Type.OK) {
37
36
  throw new CodeError(response.error?.msg ?? 'DHT put failed', 'ERR_DHT_PUT_FAILED');
38
37
  }
@@ -51,12 +50,8 @@ export class DHT {
51
50
  key
52
51
  }
53
52
  });
54
- const message = await sh.read();
55
- if (message == null) {
56
- throw new CodeError('Empty response from remote', 'ERR_EMPTY_RESPONSE');
57
- }
58
- const response = Response.decode(message);
59
- await sh.close();
53
+ const response = await sh.read(Response);
54
+ await sh.unwrap().close();
60
55
  if (response.type !== Response.Type.OK) {
61
56
  throw new CodeError(response.error?.msg ?? 'DHT get failed', 'ERR_DHT_GET_FAILED');
62
57
  }
@@ -79,12 +74,8 @@ export class DHT {
79
74
  peer: peerId.toBytes()
80
75
  }
81
76
  });
82
- const message = await sh.read();
83
- if (message == null) {
84
- throw new CodeError('Empty response from remote', 'ERR_EMPTY_RESPONSE');
85
- }
86
- const response = Response.decode(message);
87
- await sh.close();
77
+ const response = await sh.read(Response);
78
+ await sh.unwrap().close();
88
79
  if (response.type !== Response.Type.OK) {
89
80
  throw new CodeError(response.error?.msg ?? 'DHT find peer failed', 'ERR_DHT_FIND_PEER_FAILED');
90
81
  }
@@ -93,8 +84,7 @@ export class DHT {
93
84
  }
94
85
  return {
95
86
  id: peerIdFromBytes(response.dht.peer.id),
96
- multiaddrs: response.dht.peer.addrs.map((a) => multiaddr(a)),
97
- protocols: []
87
+ multiaddrs: response.dht.peer.addrs.map((a) => multiaddr(a))
98
88
  };
99
89
  }
100
90
  /**
@@ -111,12 +101,8 @@ export class DHT {
111
101
  cid: cid.bytes
112
102
  }
113
103
  });
114
- const message = await sh.read();
115
- if (message == null) {
116
- throw new CodeError('Empty response from remote', 'ERR_EMPTY_RESPONSE');
117
- }
118
- const response = Response.decode(message);
119
- await sh.close();
104
+ const response = await sh.read(Response);
105
+ await sh.unwrap().close();
120
106
  if (response.type !== Response.Type.OK) {
121
107
  throw new CodeError(response.error?.msg ?? 'DHT provide failed', 'ERR_DHT_PROVIDE_FAILED');
122
108
  }
@@ -136,38 +122,29 @@ export class DHT {
136
122
  count
137
123
  }
138
124
  });
139
- let message = await sh.read();
140
- if (message == null) {
141
- throw new CodeError('Empty response from remote', 'ERR_EMPTY_RESPONSE');
142
- }
143
125
  // stream begin message
144
- const response = Response.decode(message);
126
+ const response = await sh.read(Response);
145
127
  if (response.type !== Response.Type.OK) {
146
- await sh.close();
128
+ await sh.unwrap().close();
147
129
  throw new CodeError(response.error?.msg ?? 'DHT find providers failed', 'ERR_DHT_FIND_PROVIDERS_FAILED');
148
130
  }
149
131
  while (true) {
150
- message = await sh.read();
151
- if (message == null) {
152
- throw new CodeError('Empty response from remote', 'ERR_EMPTY_RESPONSE');
153
- }
154
- const response = DHTResponse.decode(message);
132
+ const dhtResponse = await sh.read(DHTResponse);
155
133
  // Stream end
156
- if (response.type === DHTResponse.Type.END) {
157
- await sh.close();
134
+ if (dhtResponse.type === DHTResponse.Type.END) {
135
+ await sh.unwrap().close();
158
136
  return;
159
137
  }
160
138
  // Stream values
161
- if (response.type === DHTResponse.Type.VALUE && response.peer != null && response.peer?.addrs != null) {
139
+ if (dhtResponse.type === DHTResponse.Type.VALUE && dhtResponse.peer != null && dhtResponse.peer?.addrs != null) {
162
140
  yield {
163
- id: peerIdFromBytes(response.peer.id),
164
- multiaddrs: response.peer.addrs.map((a) => multiaddr(a)),
165
- protocols: []
141
+ id: peerIdFromBytes(dhtResponse.peer.id),
142
+ multiaddrs: dhtResponse.peer.addrs.map((a) => multiaddr(a))
166
143
  };
167
144
  }
168
145
  else {
169
146
  // Unexpected message received
170
- await sh.close();
147
+ await sh.unwrap().close();
171
148
  throw new CodeError('unexpected message received', 'ERR_UNEXPECTED_MESSAGE_RECEIVED');
172
149
  }
173
150
  }
@@ -187,38 +164,29 @@ export class DHT {
187
164
  }
188
165
  });
189
166
  // stream begin message
190
- let message = await sh.read();
191
- if (message == null) {
192
- throw new CodeError('Empty response from remote', 'ERR_EMPTY_RESPONSE');
193
- }
194
- const response = Response.decode(message);
167
+ const response = await sh.read(Response);
195
168
  if (response.type !== Response.Type.OK) {
196
- await sh.close();
169
+ await sh.unwrap().close();
197
170
  throw new CodeError(response.error?.msg ?? 'DHT find providers failed', 'ERR_DHT_FIND_PROVIDERS_FAILED');
198
171
  }
199
172
  while (true) {
200
- message = await sh.read();
201
- if (message == null) {
202
- throw new CodeError('Empty response from remote', 'ERR_EMPTY_RESPONSE');
203
- }
204
- const response = DHTResponse.decode(message);
173
+ const dhtResponse = await sh.read(DHTResponse);
205
174
  // Stream end
206
- if (response.type === DHTResponse.Type.END) {
207
- await sh.close();
175
+ if (dhtResponse.type === DHTResponse.Type.END) {
176
+ await sh.unwrap().close();
208
177
  return;
209
178
  }
210
179
  // Stream values
211
- if (response.type === DHTResponse.Type.VALUE && response.value != null) {
212
- const peerId = peerIdFromBytes(response.value);
180
+ if (dhtResponse.type === DHTResponse.Type.VALUE && dhtResponse.value != null) {
181
+ const peerId = peerIdFromBytes(dhtResponse.value);
213
182
  yield {
214
183
  id: peerId,
215
- multiaddrs: [],
216
- protocols: []
184
+ multiaddrs: []
217
185
  };
218
186
  }
219
187
  else {
220
188
  // Unexpected message received
221
- await sh.close();
189
+ await sh.unwrap().close();
222
190
  throw new CodeError('unexpected message received', 'ERR_UNEXPECTED_MESSAGE_RECEIVED');
223
191
  }
224
192
  }
@@ -237,12 +205,8 @@ export class DHT {
237
205
  peer: peerId.toBytes()
238
206
  }
239
207
  });
240
- const message = await sh.read();
241
- if (message == null) {
242
- throw new CodeError('Empty response from remote', 'ERR_EMPTY_RESPONSE');
243
- }
244
- const response = Response.decode(message);
245
- await sh.close();
208
+ const response = await sh.read(Response);
209
+ await sh.unwrap().close();
246
210
  if (response.type !== Response.Type.OK) {
247
211
  throw new CodeError(response.error?.msg ?? 'DHT get public key failed', 'ERR_DHT_GET_PUBLIC_KEY_FAILED');
248
212
  }
@@ -1 +1 @@
1
- {"version":3,"file":"dht.js","sourceRoot":"","sources":["../../src/dht.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"dht.js","sourceRoot":"","sources":["../../src/dht.ts"],"names":[],"mappings":"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"}
@@ -1,17 +1,14 @@
1
1
  import { type PSMessage, Request } from '@libp2p/daemon-protocol';
2
- import { StreamHandler } from '@libp2p/daemon-protocol/stream-handler';
3
- import { type PeerId } from '@libp2p/interface/peer-id';
4
- import type { PeerInfo } from '@libp2p/interface/peer-info';
2
+ import { type ProtobufStream } from 'it-protobuf-stream';
3
+ import type { Stream, PeerId, MultiaddrConnection, PeerInfo } from '@libp2p/interface';
5
4
  import type { Multiaddr } from '@multiformats/multiaddr';
6
- import type { Duplex, Source } from 'it-stream-types';
7
5
  import type { CID } from 'multiformats/cid';
8
- import type { Uint8ArrayList } from 'uint8arraylist';
9
6
  export interface IdentifyResult {
10
7
  peerId: PeerId;
11
8
  addrs: Multiaddr[];
12
9
  }
13
10
  export interface StreamHandlerFunction {
14
- (stream: Duplex<AsyncGenerator<Uint8Array | Uint8ArrayList>, Source<Uint8Array>, Promise<void>>): Promise<void>;
11
+ (stream: Stream): Promise<void>;
15
12
  }
16
13
  export interface DHTClient {
17
14
  put(key: Uint8Array, value: Uint8Array): Promise<void>;
@@ -37,8 +34,8 @@ export interface DaemonClient {
37
34
  connect(peerId: PeerId, addrs: Multiaddr[]): Promise<void>;
38
35
  dht: DHTClient;
39
36
  pubsub: PubSubClient;
40
- send(request: Request): Promise<StreamHandler>;
41
- openStream(peerId: PeerId, protocol: string): Promise<Duplex<AsyncGenerator<Uint8Array | Uint8ArrayList>, Source<Uint8Array>, Promise<void>>>;
37
+ send(request: Request): Promise<ProtobufStream<MultiaddrConnection>>;
38
+ openStream(peerId: PeerId, protocol: string): Promise<MultiaddrConnection>;
42
39
  registerStreamHandler(protocol: string, handler: StreamHandlerFunction): Promise<void>;
43
40
  }
44
41
  export declare function createClient(multiaddr: Multiaddr): DaemonClient;
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,SAAS,EAAE,OAAO,EAAwB,MAAM,yBAAyB,CAAA;AAQvF,OAAO,EAAY,KAAK,cAAc,EAAE,MAAM,oBAAoB,CAAA;AAGlE,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,mBAAmB,EAAE,QAAQ,EAAa,MAAM,mBAAmB,CAAA;AACjG,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAA;AACxD,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,kBAAkB,CAAA;AA6O3C,MAAM,WAAW,cAAc;IAC7B,MAAM,EAAE,MAAM,CAAA;IACd,KAAK,EAAE,SAAS,EAAE,CAAA;CACnB;AAED,MAAM,WAAW,qBAAqB;IACpC,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;CAChC;AAED,MAAM,WAAW,SAAS;IACxB,GAAG,CAAC,GAAG,EAAE,UAAU,EAAE,KAAK,EAAE,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;IACtD,GAAG,CAAC,GAAG,EAAE,UAAU,GAAG,OAAO,CAAC,UAAU,CAAC,CAAA;IACzC,OAAO,CAAC,GAAG,EAAE,GAAG,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;IAChC,aAAa,CAAC,GAAG,EAAE,GAAG,EAAE,KAAK,CAAC,EAAE,MAAM,GAAG,aAAa,CAAC,QAAQ,CAAC,CAAA;IAChE,QAAQ,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,QAAQ,CAAC,CAAA;IAC3C,eAAe,CAAC,GAAG,EAAE,UAAU,GAAG,aAAa,CAAC,QAAQ,CAAC,CAAA;CAC1D;AAED,MAAM,WAAW,YAAY;IAC3B,QAAQ,IAAI,aAAa,CAAC,SAAS,CAAC,CAAA;IACpC,MAAM,IAAI,OAAO,CAAC,IAAI,CAAC,CAAA;CACxB;AAED,MAAM,WAAW,YAAY;IAC3B,OAAO,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;IACvD,SAAS,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,CAAC,CAAA;IAC/C,SAAS,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC,CAAA;IAC9B,cAAc,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,CAAA;CACjD;AAED,MAAM,WAAW,YAAY;IAC3B,QAAQ,IAAI,OAAO,CAAC,cAAc,CAAC,CAAA;IACnC,SAAS,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC,CAAA;IAC9B,OAAO,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,SAAS,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;IAC1D,GAAG,EAAE,SAAS,CAAA;IACd,MAAM,EAAE,YAAY,CAAA;IAEpB,IAAI,CAAC,OAAO,EAAE,OAAO,GAAG,OAAO,CAAC,cAAc,CAAC,mBAAmB,CAAC,CAAC,CAAA;IACpE,UAAU,CAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,mBAAmB,CAAC,CAAA;IAC1E,qBAAqB,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,qBAAqB,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;CACvF;AAED,wBAAgB,YAAY,CAAE,SAAS,EAAE,SAAS,GAAG,YAAY,CAEhE"}
package/dist/src/index.js CHANGED
@@ -1,12 +1,12 @@
1
1
  import { Request, Response, StreamInfo } from '@libp2p/daemon-protocol';
2
2
  import { StreamHandler } from '@libp2p/daemon-protocol/stream-handler';
3
3
  import { passThroughUpgrader } from '@libp2p/daemon-protocol/upgrader';
4
- import { CodeError } from '@libp2p/interface/errors';
5
- import { isPeerId } from '@libp2p/interface/peer-id';
6
- import { logger } from '@libp2p/logger';
4
+ import { CodeError, isPeerId } from '@libp2p/interface';
5
+ import { defaultLogger, logger } from '@libp2p/logger';
7
6
  import { peerIdFromBytes } from '@libp2p/peer-id';
8
7
  import { tcp } from '@libp2p/tcp';
9
8
  import { multiaddr, isMultiaddr } from '@multiformats/multiaddr';
9
+ import { pbStream } from 'it-protobuf-stream';
10
10
  import { DHT } from './dht.js';
11
11
  import { Pubsub } from './pubsub.js';
12
12
  const log = logger('libp2p:daemon-client');
@@ -17,7 +17,9 @@ class Client {
17
17
  tcp;
18
18
  constructor(addr) {
19
19
  this.multiaddr = addr;
20
- this.tcp = tcp()();
20
+ this.tcp = tcp()({
21
+ logger: defaultLogger()
22
+ });
21
23
  this.dht = new DHT(this);
22
24
  this.pubsub = new Pubsub(this);
23
25
  }
@@ -43,9 +45,9 @@ class Client {
43
45
  const maConn = await this.connectDaemon();
44
46
  const subtype = request.pubsub?.type ?? request.dht?.type ?? request.peerStore?.type ?? '';
45
47
  log('send', request.type, subtype);
46
- const streamHandler = new StreamHandler({ stream: maConn });
47
- streamHandler.write(Request.encode(request));
48
- return streamHandler;
48
+ const pb = pbStream(maConn);
49
+ await pb.write(request, Request);
50
+ return pb;
49
51
  }
50
52
  /**
51
53
  * Connect requests a connection to a known peer on a given set of addresses
@@ -69,16 +71,12 @@ class Client {
69
71
  addrs: addrs.map((a) => a.bytes)
70
72
  }
71
73
  });
72
- const message = await sh.read();
73
- if (message == null) {
74
- throw new CodeError('unspecified', 'ERR_CONNECT_FAILED');
75
- }
76
- const response = Response.decode(message);
74
+ const response = await sh.read(Response);
77
75
  if (response.type !== Response.Type.OK) {
78
76
  const errResponse = response.error ?? { msg: 'unspecified' };
79
77
  throw new CodeError(errResponse.msg ?? 'unspecified', 'ERR_CONNECT_FAILED');
80
78
  }
81
- await sh.close();
79
+ await sh.unwrap().close();
82
80
  }
83
81
  /**
84
82
  * @typedef {object} IdentifyResponse
@@ -92,11 +90,7 @@ class Client {
92
90
  const sh = await this.send({
93
91
  type: Request.Type.IDENTIFY
94
92
  });
95
- const message = await sh.read();
96
- if (message == null) {
97
- throw new CodeError('Empty response from remote', 'ERR_EMPTY_RESPONSE');
98
- }
99
- const response = Response.decode(message);
93
+ const response = await sh.read(Response);
100
94
  if (response.type !== Response.Type.OK) {
101
95
  throw new CodeError(response.error?.msg ?? 'Identify failed', 'ERR_IDENTIFY_FAILED');
102
96
  }
@@ -105,7 +99,7 @@ class Client {
105
99
  }
106
100
  const peerId = peerIdFromBytes(response.identify?.id);
107
101
  const addrs = response.identify.addrs.map((a) => multiaddr(a));
108
- await sh.close();
102
+ await sh.unwrap().close();
109
103
  return ({ peerId, addrs });
110
104
  }
111
105
  /**
@@ -115,15 +109,11 @@ class Client {
115
109
  const sh = await this.send({
116
110
  type: Request.Type.LIST_PEERS
117
111
  });
118
- const message = await sh.read();
119
- if (message == null) {
120
- throw new CodeError('Empty response from remote', 'ERR_EMPTY_RESPONSE');
121
- }
122
- const response = Response.decode(message);
112
+ const response = await sh.read(Response);
123
113
  if (response.type !== Response.Type.OK) {
124
114
  throw new CodeError(response.error?.msg ?? 'List peers failed', 'ERR_LIST_PEERS_FAILED');
125
115
  }
126
- await sh.close();
116
+ await sh.unwrap().close();
127
117
  return response.peers.map((peer) => peerIdFromBytes(peer.id));
128
118
  }
129
119
  /**
@@ -143,16 +133,12 @@ class Client {
143
133
  proto: [protocol]
144
134
  }
145
135
  });
146
- const message = await sh.read();
147
- if (message == null) {
148
- throw new CodeError('Empty response from remote', 'ERR_EMPTY_RESPONSE');
149
- }
150
- const response = Response.decode(message);
136
+ const response = await sh.read(Response);
151
137
  if (response.type !== Response.Type.OK) {
152
- await sh.close();
138
+ await sh.unwrap().close();
153
139
  throw new CodeError(response.error?.msg ?? 'Open stream failed', 'ERR_OPEN_STREAM_FAILED');
154
140
  }
155
- return sh.rest();
141
+ return sh.unwrap();
156
142
  }
157
143
  /**
158
144
  * Register a handler for inbound streams on a given protocol
@@ -164,11 +150,11 @@ class Client {
164
150
  // open a tcp port, pipe any data from it to the handler function
165
151
  const listener = this.tcp.createListener({
166
152
  upgrader: passThroughUpgrader,
153
+ // @ts-expect-error because we are using a passthrough upgrader, this is a MultiaddrConnection
167
154
  handler: (connection) => {
168
155
  Promise.resolve()
169
156
  .then(async () => {
170
157
  const sh = new StreamHandler({
171
- // @ts-expect-error because we are using a passthrough upgrader, this is a MultiaddrConnection
172
158
  stream: connection
173
159
  });
174
160
  const message = await sh.read();
@@ -179,6 +165,7 @@ class Client {
179
165
  if (response.proto !== protocol) {
180
166
  throw new CodeError('Incorrect protocol', 'ERR_OPEN_STREAM_FAILED');
181
167
  }
168
+ // @ts-expect-error because we are using a passthrough upgrader, this is a MultiaddrConnection
182
169
  await handler(sh.rest());
183
170
  })
184
171
  .finally(() => {
@@ -205,12 +192,8 @@ class Client {
205
192
  proto: [protocol]
206
193
  }
207
194
  });
208
- const message = await sh.read();
209
- if (message == null) {
210
- throw new CodeError('Empty response from remote', 'ERR_EMPTY_RESPONSE');
211
- }
212
- const response = Response.decode(message);
213
- await sh.close();
195
+ const response = await sh.read(Response);
196
+ await sh.unwrap().close();
214
197
  if (response.type !== Response.Type.OK) {
215
198
  throw new CodeError(response.error?.msg ?? 'Register stream handler failed', 'ERR_REGISTER_STREAM_HANDLER_FAILED');
216
199
  }
@@ -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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"}
@@ -1,5 +1,5 @@
1
1
  import type { DaemonClient, Subscription } from './index.js';
2
- import type { PeerId } from '@libp2p/interface/peer-id';
2
+ import type { PeerId } from '@libp2p/interface';
3
3
  export declare class Pubsub {
4
4
  private readonly client;
5
5
  constructor(client: DaemonClient);
@@ -1 +1 @@
1
- {"version":3,"file":"pubsub.d.ts","sourceRoot":"","sources":["../../src/pubsub.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,YAAY,CAAA;AAC5D,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,2BAA2B,CAAA;AAEvD,qBAAa,MAAM;IACjB,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAc;gBAExB,MAAM,EAAE,YAAY;IAIjC;;;;OAIG;IACG,SAAS,IAAK,OAAO,CAAC,MAAM,EAAE,CAAC;IA6BrC;;OAEG;IACG,OAAO,CAAE,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC;IAiC9D;;OAEG;IACG,SAAS,CAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,CAAC;IAgDhD,cAAc,CAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC;CAiCxD"}
1
+ {"version":3,"file":"pubsub.d.ts","sourceRoot":"","sources":["../../src/pubsub.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,YAAY,CAAA;AAC5D,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAA;AAE/C,qBAAa,MAAM;IACjB,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAc;gBAExB,MAAM,EAAE,YAAY;IAIjC;;;;OAIG;IACG,SAAS,IAAK,OAAO,CAAC,MAAM,EAAE,CAAC;IAuBrC;;OAEG;IACG,OAAO,CAAE,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC;IA2B9D;;OAEG;IACG,SAAS,CAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,CAAC;IAoChD,cAAc,CAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC;CA2BxD"}
@@ -1,5 +1,5 @@
1
1
  import { Request, Response, PSRequest, PSMessage } from '@libp2p/daemon-protocol';
2
- import { CodeError } from '@libp2p/interface/errors';
2
+ import { CodeError } from '@libp2p/interface';
3
3
  import { peerIdFromBytes } from '@libp2p/peer-id';
4
4
  export class Pubsub {
5
5
  client;
@@ -18,12 +18,8 @@ export class Pubsub {
18
18
  type: PSRequest.Type.GET_TOPICS
19
19
  }
20
20
  });
21
- const message = await sh.read();
22
- if (message == null) {
23
- throw new CodeError('Empty response from remote', 'ERR_EMPTY_RESPONSE');
24
- }
25
- const response = Response.decode(message);
26
- await sh.close();
21
+ const response = await sh.read(Response);
22
+ await sh.unwrap().close();
27
23
  if (response.type !== Response.Type.OK) {
28
24
  throw new CodeError(response.error?.msg ?? 'Pubsub get topics failed', 'ERR_PUBSUB_GET_TOPICS_FAILED');
29
25
  }
@@ -50,12 +46,8 @@ export class Pubsub {
50
46
  data
51
47
  }
52
48
  });
53
- const message = await sh.read();
54
- if (message == null) {
55
- throw new CodeError('Empty response from remote', 'ERR_EMPTY_RESPONSE');
56
- }
57
- const response = Response.decode(message);
58
- await sh.close();
49
+ const response = await sh.read(Response);
50
+ await sh.unwrap().close();
59
51
  if (response.type !== Response.Type.OK) {
60
52
  throw new CodeError(response.error?.msg ?? 'Pubsub publish failed', 'ERR_PUBSUB_PUBLISH_FAILED');
61
53
  }
@@ -74,11 +66,7 @@ export class Pubsub {
74
66
  topic
75
67
  }
76
68
  });
77
- let message = await sh.read();
78
- if (message == null) {
79
- throw new CodeError('Empty response from remote', 'ERR_EMPTY_RESPONSE');
80
- }
81
- const response = Response.decode(message);
69
+ const response = await sh.read(Response);
82
70
  if (response.type !== Response.Type.OK) {
83
71
  throw new CodeError(response.error?.msg ?? 'Pubsub publish failed', 'ERR_PUBSUB_PUBLISH_FAILED');
84
72
  }
@@ -86,16 +74,12 @@ export class Pubsub {
86
74
  const subscription = {
87
75
  async *messages() {
88
76
  while (subscribed) { // eslint-disable-line no-unmodified-loop-condition
89
- message = await sh.read();
90
- if (message == null) {
91
- throw new CodeError('Empty response from remote', 'ERR_EMPTY_RESPONSE');
92
- }
93
- yield PSMessage.decode(message);
77
+ yield await sh.read(PSMessage);
94
78
  }
95
79
  },
96
80
  async cancel() {
97
81
  subscribed = false;
98
- await sh.close();
82
+ await sh.unwrap().close();
99
83
  }
100
84
  };
101
85
  return subscription;
@@ -111,12 +95,8 @@ export class Pubsub {
111
95
  topic
112
96
  }
113
97
  });
114
- const message = await sh.read();
115
- if (message == null) {
116
- throw new CodeError('Empty response from remote', 'ERR_EMPTY_RESPONSE');
117
- }
118
- const response = Response.decode(message);
119
- await sh.close();
98
+ const response = await sh.read(Response);
99
+ await sh.unwrap().close();
120
100
  if (response.type !== Response.Type.OK) {
121
101
  throw new CodeError(response.error?.msg ?? 'Pubsub get subscribers failed', 'ERR_PUBSUB_GET_SUBSCRIBERS_FAILED');
122
102
  }
@@ -1 +1 @@
1
- {"version":3,"file":"pubsub.js","sourceRoot":"","sources":["../../src/pubsub.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"pubsub.js","sourceRoot":"","sources":["../../src/pubsub.ts"],"names":[],"mappings":"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"}