@peerbit/pubsub-interface 4.1.2-cb91e7b → 5.0.0-b712c6b

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.
@@ -1,6 +1,6 @@
1
1
  import { type EventHandler } from "@libp2p/interface";
2
2
  import { PublicSignKey } from "@peerbit/crypto";
3
- import { DataMessage, DeliveryMode, type IdOptions, Message, type PeerEvents, type PriorityOptions, type PublicKeyFromHashResolver, type WaitForPeer, type WithExtraSigners } from "@peerbit/stream-interface";
3
+ import { DataMessage, DeliveryMode, type IdOptions, Message, type PeerEvents, type PriorityOptions, type PublicKeyFromHashResolver, type RouteHint, type WaitForPeer, type WithExtraSigners } from "@peerbit/stream-interface";
4
4
  import { PubSubData } from "./messages.js";
5
5
  export declare class SubscriptionEvent {
6
6
  from: PublicSignKey;
@@ -10,8 +10,10 @@ export declare class SubscriptionEvent {
10
10
  export declare class UnsubcriptionEvent {
11
11
  from: PublicSignKey;
12
12
  topics: string[];
13
- constructor(from: PublicSignKey, topics: string[]);
13
+ reason?: UnsubscriptionReason;
14
+ constructor(from: PublicSignKey, topics: string[], reason?: UnsubscriptionReason);
14
15
  }
16
+ export type UnsubscriptionReason = "remote-unsubscribe" | "peer-unreachable" | "peer-session-reset";
15
17
  export declare class PublishEvent {
16
18
  data: PubSubData;
17
19
  message: DataMessage;
@@ -66,6 +68,7 @@ export type PublishOptions = ({
66
68
  };
67
69
  export interface PubSub extends IEventEmitter<PubSubEvents>, WaitForPeer, PublicKeyFromHashResolver {
68
70
  getSubscribers(topic: string): MaybePromise<PublicSignKey[] | undefined>;
71
+ getUnifiedRouteHints(topic: string, targetHash: string): MaybePromise<RouteHint[]>;
69
72
  requestSubscribers(topic: string, from?: PublicSignKey): MaybePromise<void>;
70
73
  subscribe(topic: string): MaybePromise<void>;
71
74
  unsubscribe(topic: string, options?: {
@@ -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":"AACA,OAAO,EAAE,KAAK,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACtD,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAChD,OAAO,EACN,WAAW,EACX,YAAY,EACZ,KAAK,SAAS,EACd,OAAO,EACP,KAAK,UAAU,EACf,KAAK,eAAe,EACpB,KAAK,yBAAyB,EAC9B,KAAK,SAAS,EACd,KAAK,WAAW,EAChB,KAAK,gBAAgB,EACrB,MAAM,2BAA2B,CAAC;AACnC,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAE3C,qBAAa,iBAAiB;IAE7B,IAAI,EAAE,aAAa,CAAC;IAGpB,MAAM,EAAE,MAAM,EAAE,CAAC;gBAEL,IAAI,EAAE,aAAa,EAAE,MAAM,EAAE,MAAM,EAAE;CAIjD;AAED,qBAAa,kBAAkB;IAE9B,IAAI,EAAE,aAAa,CAAC;IAGpB,MAAM,EAAE,MAAM,EAAE,CAAC;IAEjB,MAAM,CAAC,EAAE,oBAAoB,CAAC;gBAG7B,IAAI,EAAE,aAAa,EACnB,MAAM,EAAE,MAAM,EAAE,EAChB,MAAM,CAAC,EAAE,oBAAoB;CAM9B;AAED,MAAM,MAAM,oBAAoB,GAC7B,oBAAoB,GACpB,kBAAkB,GAClB,oBAAoB,CAAC;AAExB,qBAAa,YAAY;IAExB,IAAI,EAAE,UAAU,CAAC;IAGjB,OAAO,EAAE,WAAW,CAAC;IAErB,MAAM,CAAC,EAAE,MAAM,CAAC;gBAEJ,UAAU,EAAE;QACvB,MAAM,CAAC,EAAE,MAAM,CAAC;QAChB,IAAI,EAAE,UAAU,CAAC;QACjB,OAAO,EAAE,WAAW,CAAC;KACrB;CAKD;AAED,qBAAa,SAAS;IAErB,IAAI,EAAE,UAAU,CAAC;IAGjB,OAAO,EAAE,WAAW,CAAC;gBAET,UAAU,EAAE;QAAE,IAAI,EAAE,UAAU,CAAC;QAAC,OAAO,EAAE,WAAW,CAAA;KAAE;CAIlE;AAED,qBAAa,gBAAgB;IAE5B,SAAS,EAAE,aAAa,CAAC;IAGzB,OAAO,EAAE,MAAM,CAAC;IAGhB,SAAS,EAAE,MAAM,CAAC;gBAEN,UAAU,EAAE;QACvB,SAAS,EAAE,aAAa,CAAC;QACzB,OAAO,EAAE,MAAM,CAAC;QAChB,SAAS,EAAE,MAAM,CAAC;KAClB;CAKD;AAED,MAAM,WAAW,YAAa,SAAQ,UAAU;IAC/C,OAAO,EAAE,WAAW,CAAC,SAAS,CAAC,CAAC;IAChC,IAAI,EAAE,WAAW,CAAC,SAAS,CAAC,CAAC;IAC7B,SAAS,EAAE,WAAW,CAAC,iBAAiB,CAAC,CAAC;IAC1C,WAAW,EAAE,WAAW,CAAC,kBAAkB,CAAC,CAAC;IAC7C,OAAO,EAAE,WAAW,CAAC,OAAO,CAAC,CAAC;CAC9B;AACD,MAAM,WAAW,aAAa,CAAC,QAAQ,SAAS,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC;IAClE,gBAAgB,CAAC,CAAC,SAAS,MAAM,QAAQ,EACxC,IAAI,EAAE,CAAC,EACP,QAAQ,EAAE,YAAY,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,GAAG,IAAI,EAC1C,OAAO,CAAC,EAAE,OAAO,GAAG,uBAAuB,GACzC,YAAY,CAAC,IAAI,CAAC,CAAC;IACtB,mBAAmB,CAAC,CAAC,SAAS,MAAM,QAAQ,EAC3C,IAAI,EAAE,CAAC,EACP,QAAQ,CAAC,EAAE,YAAY,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,GAAG,IAAI,EAC3C,OAAO,CAAC,EAAE,OAAO,GAAG,oBAAoB,GACtC,YAAY,CAAC,IAAI,CAAC,CAAC;IACtB,aAAa,CAAC,KAAK,EAAE,KAAK,GAAG,YAAY,CAAC,OAAO,CAAC,CAAC;CACnD;AAED,KAAK,YAAY,CAAC,CAAC,IAAI,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;AACtC,MAAM,MAAM,cAAc,GAAG,CAC1B;IACA,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC;IAClB,IAAI,CAAC,EAAE,YAAY,GAAG,SAAS,CAAC;CAC/B,GACD;IACA,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB,IAAI,CAAC,EAAE,YAAY,GAAG,SAAS,CAAC;CAC/B,CACH,GAAG;IAAE,MAAM,CAAC,EAAE,MAAM,CAAA;CAAE,GAAG,eAAe,GACxC,SAAS,GACT,gBAAgB,GAAG;IAClB,MAAM,CAAC,EAAE,WAAW,CAAC;CACrB,CAAC;AAEH,MAAM,WAAW,MAChB,SAAQ,aAAa,CAAC,YAAY,CAAC,EAClC,WAAW,EACX,yBAAyB;IAC1B,cAAc,CAAC,KAAK,EAAE,MAAM,GAAG,YAAY,CAAC,aAAa,EAAE,GAAG,SAAS,CAAC,CAAC;IACzE,oBAAoB,CACnB,KAAK,EAAE,MAAM,EACb,UAAU,EAAE,MAAM,GAChB,YAAY,CAAC,SAAS,EAAE,CAAC,CAAC;IAE7B,kBAAkB,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,aAAa,GAAG,YAAY,CAAC,IAAI,CAAC,CAAC;IAE5E,SAAS,CAAC,KAAK,EAAE,MAAM,GAAG,YAAY,CAAC,IAAI,CAAC,CAAC;IAE7C,WAAW,CACV,KAAK,EAAE,MAAM,EACb,OAAO,CAAC,EAAE;QACT,KAAK,CAAC,EAAE,OAAO,CAAC;QAChB,IAAI,CAAC,EAAE,UAAU,CAAC;KAClB,GACC,YAAY,CAAC,OAAO,CAAC,CAAC;IAEzB,OAAO,CACN,IAAI,EAAE,UAAU,EAChB,OAAO,CAAC,EAAE,cAAc,GACtB,YAAY,CAAC,UAAU,GAAG,SAAS,CAAC,CAAC;CACxC;AAED,cAAc,eAAe,CAAC"}
package/dist/src/index.js CHANGED
@@ -81,10 +81,11 @@ let UnsubcriptionEvent = (() => {
81
81
  }
82
82
  from = __runInitializers(this, _from_initializers, void 0);
83
83
  topics = (__runInitializers(this, _from_extraInitializers), __runInitializers(this, _topics_initializers, void 0));
84
- constructor(from, topics) {
85
- __runInitializers(this, _topics_extraInitializers);
84
+ reason = __runInitializers(this, _topics_extraInitializers);
85
+ constructor(from, topics, reason) {
86
86
  this.from = from;
87
87
  this.topics = topics;
88
+ this.reason = reason;
88
89
  }
89
90
  };
90
91
  })();
@@ -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": "@peerbit/pubsub-interface",
3
- "version": "4.1.2-cb91e7b",
3
+ "version": "5.0.0-b712c6b",
4
4
  "description": "Block store streaming",
5
5
  "type": "module",
6
6
  "types": "./dist/src/index.d.ts",
@@ -69,8 +69,8 @@
69
69
  ],
70
70
  "dependencies": {
71
71
  "@dao-xyz/borsh": "^6.0.0",
72
- "@peerbit/crypto": "2.4.1-cb91e7b",
73
- "@peerbit/stream-interface": "5.4.0-cb91e7b",
72
+ "@peerbit/crypto": "3.0.0-b712c6b",
73
+ "@peerbit/stream-interface": "6.0.0-b712c6b",
74
74
  "@libp2p/interface": "^3.1.0",
75
75
  "uint8arraylist": "^2.4.8"
76
76
  },
package/src/index.ts CHANGED
@@ -9,6 +9,7 @@ import {
9
9
  type PeerEvents,
10
10
  type PriorityOptions,
11
11
  type PublicKeyFromHashResolver,
12
+ type RouteHint,
12
13
  type WaitForPeer,
13
14
  type WithExtraSigners,
14
15
  } from "@peerbit/stream-interface";
@@ -34,12 +35,24 @@ export class UnsubcriptionEvent {
34
35
  @field({ type: vec("string") })
35
36
  topics: string[];
36
37
 
37
- constructor(from: PublicSignKey, topics: string[]) {
38
+ reason?: UnsubscriptionReason;
39
+
40
+ constructor(
41
+ from: PublicSignKey,
42
+ topics: string[],
43
+ reason?: UnsubscriptionReason,
44
+ ) {
38
45
  this.from = from;
39
46
  this.topics = topics;
47
+ this.reason = reason;
40
48
  }
41
49
  }
42
50
 
51
+ export type UnsubscriptionReason =
52
+ | "remote-unsubscribe"
53
+ | "peer-unreachable"
54
+ | "peer-session-reset";
55
+
43
56
  export class PublishEvent {
44
57
  @field({ type: PubSubData })
45
58
  data: PubSubData;
@@ -136,6 +149,10 @@ export interface PubSub
136
149
  WaitForPeer,
137
150
  PublicKeyFromHashResolver {
138
151
  getSubscribers(topic: string): MaybePromise<PublicSignKey[] | undefined>;
152
+ getUnifiedRouteHints(
153
+ topic: string,
154
+ targetHash: string,
155
+ ): MaybePromise<RouteHint[]>;
139
156
 
140
157
  requestSubscribers(topic: string, from?: PublicSignKey): MaybePromise<void>;
141
158