@peerbit/pubsub-interface 4.1.2-c1b15a9 → 4.1.2-c485a73

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;
@@ -66,6 +66,7 @@ export type PublishOptions = ({
66
66
  };
67
67
  export interface PubSub extends IEventEmitter<PubSubEvents>, WaitForPeer, PublicKeyFromHashResolver {
68
68
  getSubscribers(topic: string): MaybePromise<PublicSignKey[] | undefined>;
69
+ getUnifiedRouteHints?(topic: string, targetHash: string): MaybePromise<RouteHint[]>;
69
70
  requestSubscribers(topic: string, from?: PublicSignKey): MaybePromise<void>;
70
71
  subscribe(topic: string): MaybePromise<void>;
71
72
  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":"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"}
@@ -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,7 +1,7 @@
1
1
  import { Uint8ArrayList } from "uint8arraylist";
2
2
  export declare abstract class PubSubMessage {
3
3
  abstract bytes(): Uint8Array | Uint8ArrayList;
4
- static from(bytes: Uint8Array): PubSubData | Subscribe | Unsubscribe | GetSubscribers;
4
+ static from(bytes: Uint8Array): PubSubData | Subscribe | Unsubscribe | GetSubscribers | TopicRootCandidates;
5
5
  }
6
6
  export declare class PubSubData extends PubSubMessage {
7
7
  topics: string[];
@@ -45,4 +45,13 @@ export declare class GetSubscribers extends PubSubMessage {
45
45
  bytes(): Uint8Array<ArrayBufferLike> | Uint8ArrayList;
46
46
  static from(bytes: Uint8Array | Uint8ArrayList): GetSubscribers;
47
47
  }
48
+ export declare class TopicRootCandidates extends PubSubMessage {
49
+ candidates: string[];
50
+ constructor(options: {
51
+ candidates: string[];
52
+ });
53
+ private _serialized;
54
+ bytes(): Uint8Array<ArrayBufferLike> | Uint8ArrayList;
55
+ static from(bytes: Uint8Array | Uint8ArrayList): TopicRootCandidates;
56
+ }
48
57
  //# sourceMappingURL=messages.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"messages.d.ts","sourceRoot":"","sources":["../../src/messages.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAEhD,8BAAsB,aAAa;IAClC,QAAQ,CAAC,KAAK,IAAI,UAAU,GAAG,cAAc;IAC7C,MAAM,CAAC,IAAI,CAAC,KAAK,EAAE,UAAU;CAkB7B;AAED,qBACa,UAAW,SAAQ,aAAa;IAE5C,MAAM,EAAE,MAAM,EAAE,CAAC;IAGjB,MAAM,EAAE,OAAO,CAAC;IAGhB,IAAI,EAAE,UAAU,CAAC;gBAEL,OAAO,EAAE;QACpB,MAAM,EAAE,MAAM,EAAE,CAAC;QACjB,IAAI,EAAE,UAAU,GAAG,cAAc,CAAC;QAClC,MAAM,CAAC,EAAE,OAAO,CAAC;KACjB;IAUD,OAAO,CAAC,WAAW,CAAkB;IAErC,KAAK;IAOL,MAAM,CAAC,IAAI,CAAC,KAAK,EAAE,UAAU,GAAG,cAAc,GAAG,UAAU;CAU3D;AAED,qBACa,SAAU,SAAQ,aAAa;IAE3C,MAAM,EAAE,MAAM,EAAE,CAAC;IAGjB,kBAAkB,EAAE,OAAO,CAAC;gBAEhB,OAAO,EAAE;QAAE,MAAM,EAAE,MAAM,EAAE,CAAC;QAAC,kBAAkB,EAAE,OAAO,CAAA;KAAE;IAMtE,OAAO,CAAC,WAAW,CAAkB;IAErC,KAAK;IAML,MAAM,CAAC,IAAI,CAAC,KAAK,EAAE,UAAU,GAAG,cAAc,GAAG,SAAS;CAU1D;AAED,qBACa,WAAY,SAAQ,aAAa;IAE7C,MAAM,EAAE,MAAM,EAAE,CAAC;gBAEL,OAAO,EAAE;QAAE,MAAM,EAAE,MAAM,EAAE,CAAA;KAAE;IAKzC,OAAO,CAAC,WAAW,CAAkB;IAErC,KAAK;IAOL,MAAM,CAAC,IAAI,CAAC,KAAK,EAAE,UAAU,GAAG,cAAc,GAAG,WAAW;CAU5D;AAED,qBACa,cAAe,SAAQ,aAAa;IAEhD,MAAM,EAAE,MAAM,EAAE,CAAC;gBAIL,OAAO,EAAE;QAAE,MAAM,EAAE,MAAM,EAAE,CAAA;KAAE;IAKzC,WAAW,EAAG,cAAc,CAAC;IAE7B,KAAK;IAOL,MAAM,CAAC,IAAI,CAAC,KAAK,EAAE,UAAU,GAAG,cAAc,GAAG,cAAc;CAU/D"}
1
+ {"version":3,"file":"messages.d.ts","sourceRoot":"","sources":["../../src/messages.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAEhD,8BAAsB,aAAa;IAClC,QAAQ,CAAC,KAAK,IAAI,UAAU,GAAG,cAAc;IAC7C,MAAM,CAAC,IAAI,CAAC,KAAK,EAAE,UAAU;CAsB7B;AAED,qBACa,UAAW,SAAQ,aAAa;IAE5C,MAAM,EAAE,MAAM,EAAE,CAAC;IAGjB,MAAM,EAAE,OAAO,CAAC;IAGhB,IAAI,EAAE,UAAU,CAAC;gBAEL,OAAO,EAAE;QACpB,MAAM,EAAE,MAAM,EAAE,CAAC;QACjB,IAAI,EAAE,UAAU,GAAG,cAAc,CAAC;QAClC,MAAM,CAAC,EAAE,OAAO,CAAC;KACjB;IAUD,OAAO,CAAC,WAAW,CAAkB;IAErC,KAAK;IAOL,MAAM,CAAC,IAAI,CAAC,KAAK,EAAE,UAAU,GAAG,cAAc,GAAG,UAAU;CAU3D;AAED,qBACa,SAAU,SAAQ,aAAa;IAE3C,MAAM,EAAE,MAAM,EAAE,CAAC;IAGjB,kBAAkB,EAAE,OAAO,CAAC;gBAEhB,OAAO,EAAE;QAAE,MAAM,EAAE,MAAM,EAAE,CAAC;QAAC,kBAAkB,EAAE,OAAO,CAAA;KAAE;IAMtE,OAAO,CAAC,WAAW,CAAkB;IAErC,KAAK;IAML,MAAM,CAAC,IAAI,CAAC,KAAK,EAAE,UAAU,GAAG,cAAc,GAAG,SAAS;CAU1D;AAED,qBACa,WAAY,SAAQ,aAAa;IAE7C,MAAM,EAAE,MAAM,EAAE,CAAC;gBAEL,OAAO,EAAE;QAAE,MAAM,EAAE,MAAM,EAAE,CAAA;KAAE;IAKzC,OAAO,CAAC,WAAW,CAAkB;IAErC,KAAK;IAOL,MAAM,CAAC,IAAI,CAAC,KAAK,EAAE,UAAU,GAAG,cAAc,GAAG,WAAW;CAU5D;AAED,qBACa,cAAe,SAAQ,aAAa;IAEhD,MAAM,EAAE,MAAM,EAAE,CAAC;gBAIL,OAAO,EAAE;QAAE,MAAM,EAAE,MAAM,EAAE,CAAA;KAAE;IAKzC,WAAW,EAAG,cAAc,CAAC;IAE7B,KAAK;IAOL,MAAM,CAAC,IAAI,CAAC,KAAK,EAAE,UAAU,GAAG,cAAc,GAAG,cAAc;CAU/D;AAMD,qBACa,mBAAoB,SAAQ,aAAa;IAErD,UAAU,EAAE,MAAM,EAAE,CAAC;gBAET,OAAO,EAAE;QAAE,UAAU,EAAE,MAAM,EAAE,CAAA;KAAE;IAK7C,OAAO,CAAC,WAAW,CAAkB;IAErC,KAAK;IAOL,MAAM,CAAC,IAAI,CAAC,KAAK,EAAE,UAAU,GAAG,cAAc,GAAG,mBAAmB;CAUpE"}
@@ -49,6 +49,9 @@ export class PubSubMessage {
49
49
  if (first === 3) {
50
50
  return GetSubscribers.from(bytes);
51
51
  }
52
+ if (first === 4) {
53
+ return TopicRootCandidates.from(bytes);
54
+ }
52
55
  throw new Error("Unsupported");
53
56
  }
54
57
  }
@@ -249,4 +252,51 @@ let GetSubscribers = (() => {
249
252
  return GetSubscribers = _classThis;
250
253
  })();
251
254
  export { GetSubscribers };
255
+ // Internal control-plane message: used to converge deterministic topic-root
256
+ // candidate sets in small ad-hoc networks (when no explicit candidates/trackers
257
+ // are configured). This keeps shard-root resolution stable across partially
258
+ // connected topologies (e.g. star graphs).
259
+ let TopicRootCandidates = (() => {
260
+ let _classDecorators = [variant(4)];
261
+ let _classDescriptor;
262
+ let _classExtraInitializers = [];
263
+ let _classThis;
264
+ let _classSuper = PubSubMessage;
265
+ let _candidates_decorators;
266
+ let _candidates_initializers = [];
267
+ let _candidates_extraInitializers = [];
268
+ var TopicRootCandidates = class extends _classSuper {
269
+ static { _classThis = this; }
270
+ static {
271
+ const _metadata = typeof Symbol === "function" && Symbol.metadata ? Object.create(_classSuper[Symbol.metadata] ?? null) : void 0;
272
+ _candidates_decorators = [field({ type: vec("string") })];
273
+ __esDecorate(null, null, _candidates_decorators, { kind: "field", name: "candidates", static: false, private: false, access: { has: obj => "candidates" in obj, get: obj => obj.candidates, set: (obj, value) => { obj.candidates = value; } }, metadata: _metadata }, _candidates_initializers, _candidates_extraInitializers);
274
+ __esDecorate(null, _classDescriptor = { value: _classThis }, _classDecorators, { kind: "class", name: _classThis.name, metadata: _metadata }, null, _classExtraInitializers);
275
+ TopicRootCandidates = _classThis = _classDescriptor.value;
276
+ if (_metadata) Object.defineProperty(_classThis, Symbol.metadata, { enumerable: true, configurable: true, writable: true, value: _metadata });
277
+ __runInitializers(_classThis, _classExtraInitializers);
278
+ }
279
+ candidates = __runInitializers(this, _candidates_initializers, void 0);
280
+ constructor(options) {
281
+ super();
282
+ this.candidates = options.candidates;
283
+ }
284
+ _serialized = __runInitializers(this, _candidates_extraInitializers);
285
+ bytes() {
286
+ if (this._serialized) {
287
+ return this._serialized;
288
+ }
289
+ return serialize(this);
290
+ }
291
+ static from(bytes) {
292
+ const ret = deserialize(bytes instanceof Uint8Array ? bytes : bytes.subarray(), TopicRootCandidates);
293
+ if (bytes instanceof Uint8ArrayList) {
294
+ ret._serialized = bytes;
295
+ }
296
+ return ret;
297
+ }
298
+ };
299
+ return TopicRootCandidates = _classThis;
300
+ })();
301
+ export { TopicRootCandidates };
252
302
  //# sourceMappingURL=messages.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"messages.js","sourceRoot":"","sources":["../../src/messages.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,OAAO,EAAE,WAAW,EAAE,KAAK,EAAE,SAAS,EAAE,OAAO,EAAE,GAAG,EAAE,MAAM,gBAAgB,CAAC;AAC7E,OAAO,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAEhD,MAAM,OAAgB,aAAa;IAElC,MAAM,CAAC,IAAI,CAAC,KAAiB;QAC5B,MAAM,KAAK,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;QACvB,IAAI,KAAK,KAAK,CAAC,EAAE,CAAC;YACjB,OAAO,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAC/B,CAAC;QACD,IAAI,KAAK,KAAK,CAAC,EAAE,CAAC;YACjB,OAAO,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAC9B,CAAC;QACD,IAAI,KAAK,KAAK,CAAC,EAAE,CAAC;YACjB,OAAO,WAAW,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAChC,CAAC;QAED,IAAI,KAAK,KAAK,CAAC,EAAE,CAAC;YACjB,OAAO,cAAc,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACnC,CAAC;QAED,MAAM,IAAI,KAAK,CAAC,aAAa,CAAC,CAAC;IAChC,CAAC;CACD;IAGY,UAAU;4BADtB,OAAO,CAAC,CAAC,CAAC;;;;sBACqB,aAAa;;;;;;;;;;0BAArB,SAAQ,WAAa;;;;kCAC3C,KAAK,CAAC,EAAE,IAAI,EAAE,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC;kCAG9B,KAAK,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;gCAGvB,KAAK,CAAC,EAAE,IAAI,EAAE,UAAU,EAAE,CAAC;YAL5B,oKAAA,MAAM,6BAAN,MAAM,uFAAW;YAGjB,oKAAA,MAAM,6BAAN,MAAM,uFAAU;YAGhB,8JAAA,IAAI,6BAAJ,IAAI,mFAAa;YARlB,6KA2CC;;;YA3CY,uDAAU;;QAEtB,MAAM,yDAAW;QAGjB,MAAM,+GAAU,CAAC,+CAA+C;QAGhE,IAAI,6GAAa;QAEjB,YAAY,OAIX;YACA,KAAK,EAAE,CAAC;YACR,IAAI,CAAC,IAAI;gBACR,OAAO,CAAC,IAAI,YAAY,UAAU;oBACjC,CAAC,CAAC,OAAO,CAAC,IAAI;oBACd,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC;YAC5B,IAAI,CAAC,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;YAC7B,IAAI,CAAC,MAAM,GAAG,OAAO,CAAC,MAAM,IAAI,KAAK,CAAC;QACvC,CAAC;QAEO,WAAW,oDAAkB;QAErC,KAAK;YACJ,IAAI,IAAI,CAAC,WAAW,EAAE,CAAC;gBACtB,OAAO,IAAI,CAAC,WAAW,CAAC;YACzB,CAAC;YAED,OAAO,SAAS,CAAC,IAAI,CAAC,CAAC;QACxB,CAAC;QACD,MAAM,CAAC,IAAI,CAAC,KAAkC;YAC7C,MAAM,GAAG,GAAG,WAAW,CACtB,KAAK,YAAY,UAAU,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,QAAQ,EAAE,EACtD,UAAU,CACV,CAAC;YACF,IAAI,KAAK,YAAY,cAAc,EAAE,CAAC;gBACrC,GAAG,CAAC,WAAW,GAAG,KAAK,CAAC;YACzB,CAAC;YACD,OAAO,GAAG,CAAC;QACZ,CAAC;;;;SA1CW,UAAU;IA8CV,SAAS;4BADrB,OAAO,CAAC,CAAC,CAAC;;;;sBACoB,aAAa;;;;;;;yBAArB,SAAQ,WAAa;;;;kCAC1C,KAAK,CAAC,EAAE,IAAI,EAAE,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC;8CAG9B,KAAK,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;YAFxB,oKAAA,MAAM,6BAAN,MAAM,uFAAW;YAGjB,wMAAA,kBAAkB,6BAAlB,kBAAkB,+GAAU;YAL7B,6KA+BC;;;YA/BY,uDAAS;;QAErB,MAAM,yDAAW;QAGjB,kBAAkB,2HAAU;QAE5B,YAAY,OAA0D;YACrE,KAAK,EAAE,CAAC;YACR,IAAI,CAAC,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;YAC7B,IAAI,CAAC,kBAAkB,GAAG,OAAO,CAAC,kBAAkB,CAAC;QACtD,CAAC;QAEO,WAAW,kEAAkB;QAErC,KAAK;YACJ,IAAI,IAAI,CAAC,WAAW,EAAE,CAAC;gBACtB,OAAO,IAAI,CAAC,WAAW,CAAC;YACzB,CAAC;YACD,OAAO,SAAS,CAAC,IAAI,CAAC,CAAC;QACxB,CAAC;QACD,MAAM,CAAC,IAAI,CAAC,KAAkC;YAC7C,MAAM,GAAG,GAAG,WAAW,CACtB,KAAK,YAAY,UAAU,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,QAAQ,EAAE,EACtD,SAAS,CACT,CAAC;YACF,IAAI,KAAK,YAAY,cAAc,EAAE,CAAC;gBACrC,GAAG,CAAC,WAAW,GAAG,KAAK,CAAC;YACzB,CAAC;YACD,OAAO,GAAG,CAAC;QACZ,CAAC;;;;SA9BW,SAAS;IAkCT,WAAW;4BADvB,OAAO,CAAC,CAAC,CAAC;;;;sBACsB,aAAa;;;;2BAArB,SAAQ,WAAa;;;;kCAC5C,KAAK,CAAC,EAAE,IAAI,EAAE,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC;YAC/B,oKAAA,MAAM,6BAAN,MAAM,uFAAW;YAFlB,6KA4BC;;;YA5BY,uDAAW;;QAEvB,MAAM,yDAAW;QAEjB,YAAY,OAA6B;YACxC,KAAK,EAAE,CAAC;YACR,IAAI,CAAC,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;QAC9B,CAAC;QAEO,WAAW,sDAAkB;QAErC,KAAK;YACJ,IAAI,IAAI,CAAC,WAAW,EAAE,CAAC;gBACtB,OAAO,IAAI,CAAC,WAAW,CAAC;YACzB,CAAC;YACD,OAAO,SAAS,CAAC,IAAI,CAAC,CAAC;QACxB,CAAC;QAED,MAAM,CAAC,IAAI,CAAC,KAAkC;YAC7C,MAAM,GAAG,GAAG,WAAW,CACtB,KAAK,YAAY,UAAU,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,QAAQ,EAAE,EACtD,WAAW,CACX,CAAC;YACF,IAAI,KAAK,YAAY,cAAc,EAAE,CAAC;gBACrC,GAAG,CAAC,WAAW,GAAG,KAAK,CAAC;YACzB,CAAC;YACD,OAAO,GAAG,CAAC;QACZ,CAAC;;;;SA3BW,WAAW;IA+BX,cAAc;4BAD1B,OAAO,CAAC,CAAC,CAAC;;;;sBACyB,aAAa;;;;8BAArB,SAAQ,WAAa;;;;kCAC/C,KAAK,CAAC,EAAE,IAAI,EAAE,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC;YAC/B,oKAAA,MAAM,6BAAN,MAAM,uFAAW;YAFlB,6KA8BC;;;YA9BY,uDAAc;;QAE1B,MAAM,yDAAW;QAEjB,kFAAkF;QAElF,YAAY,OAA6B;YACxC,KAAK,EAAE,CAAC;YACR,IAAI,CAAC,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;QAC9B,CAAC;QAED,WAAW,sDAAkB;QAE7B,KAAK;YACJ,IAAI,IAAI,CAAC,WAAW,EAAE,CAAC;gBACtB,OAAO,IAAI,CAAC,WAAW,CAAC;YACzB,CAAC;YACD,OAAO,SAAS,CAAC,IAAI,CAAC,CAAC;QACxB,CAAC;QAED,MAAM,CAAC,IAAI,CAAC,KAAkC;YAC7C,MAAM,GAAG,GAAG,WAAW,CACtB,KAAK,YAAY,UAAU,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,QAAQ,EAAE,EACtD,cAAc,CACd,CAAC;YACF,IAAI,KAAK,YAAY,cAAc,EAAE,CAAC;gBACrC,GAAG,CAAC,WAAW,GAAG,KAAK,CAAC;YACzB,CAAC;YACD,OAAO,GAAG,CAAC;QACZ,CAAC;;;;SA7BW,cAAc"}
1
+ {"version":3,"file":"messages.js","sourceRoot":"","sources":["../../src/messages.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-c1b15a9",
3
+ "version": "4.1.2-c485a73",
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-c1b15a9",
73
- "@peerbit/stream-interface": "5.4.0-c1b15a9",
72
+ "@peerbit/crypto": "2.4.1-c485a73",
73
+ "@peerbit/stream-interface": "5.4.0-c485a73",
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";
@@ -136,6 +137,10 @@ export interface PubSub
136
137
  WaitForPeer,
137
138
  PublicKeyFromHashResolver {
138
139
  getSubscribers(topic: string): MaybePromise<PublicSignKey[] | undefined>;
140
+ getUnifiedRouteHints?(
141
+ topic: string,
142
+ targetHash: string,
143
+ ): MaybePromise<RouteHint[]>;
139
144
 
140
145
  requestSubscribers(topic: string, from?: PublicSignKey): MaybePromise<void>;
141
146
 
package/src/messages.ts CHANGED
@@ -19,6 +19,10 @@ export abstract class PubSubMessage {
19
19
  return GetSubscribers.from(bytes);
20
20
  }
21
21
 
22
+ if (first === 4) {
23
+ return TopicRootCandidates.from(bytes);
24
+ }
25
+
22
26
  throw new Error("Unsupported");
23
27
  }
24
28
  }
@@ -166,3 +170,38 @@ export class GetSubscribers extends PubSubMessage {
166
170
  return ret;
167
171
  }
168
172
  }
173
+
174
+ // Internal control-plane message: used to converge deterministic topic-root
175
+ // candidate sets in small ad-hoc networks (when no explicit candidates/trackers
176
+ // are configured). This keeps shard-root resolution stable across partially
177
+ // connected topologies (e.g. star graphs).
178
+ @variant(4)
179
+ export class TopicRootCandidates extends PubSubMessage {
180
+ @field({ type: vec("string") })
181
+ candidates: string[];
182
+
183
+ constructor(options: { candidates: string[] }) {
184
+ super();
185
+ this.candidates = options.candidates;
186
+ }
187
+
188
+ private _serialized!: Uint8ArrayList;
189
+
190
+ bytes() {
191
+ if (this._serialized) {
192
+ return this._serialized;
193
+ }
194
+ return serialize(this);
195
+ }
196
+
197
+ static from(bytes: Uint8Array | Uint8ArrayList): TopicRootCandidates {
198
+ const ret = deserialize(
199
+ bytes instanceof Uint8Array ? bytes : bytes.subarray(),
200
+ TopicRootCandidates,
201
+ );
202
+ if (bytes instanceof Uint8ArrayList) {
203
+ ret._serialized = bytes;
204
+ }
205
+ return ret;
206
+ }
207
+ }