@peerbit/pubsub-interface 4.1.2-c1b15a9 → 4.1.2-c6403d3
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/index.d.ts +2 -1
- package/dist/src/index.d.ts.map +1 -1
- package/dist/src/index.js.map +1 -1
- package/dist/src/messages.d.ts +10 -1
- package/dist/src/messages.d.ts.map +1 -1
- package/dist/src/messages.js +50 -0
- package/dist/src/messages.js.map +1 -1
- package/package.json +3 -3
- package/src/index.ts +5 -0
- package/src/messages.ts +39 -0
package/dist/src/index.d.ts
CHANGED
|
@@ -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?: {
|
package/dist/src/index.d.ts.map
CHANGED
|
@@ -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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"}
|
package/dist/src/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,OAAO,EAAE,KAAK,EAAE,GAAG,EAAE,MAAM,gBAAgB,CAAC;AAC5C,OAAO,EAAqB,MAAM,mBAAmB,CAAC;AACtD,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAChD,OAAO,EACN,WAAW,EACX,YAAY,EAEZ,OAAO,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"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"}
|
package/dist/src/messages.d.ts
CHANGED
|
@@ -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;
|
|
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"}
|
package/dist/src/messages.js
CHANGED
|
@@ -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
|
package/dist/src/messages.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"messages.js","sourceRoot":"","sources":["../../src/messages.ts"],"names":[],"mappings":"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"}
|
|
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-
|
|
3
|
+
"version": "4.1.2-c6403d3",
|
|
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-
|
|
73
|
-
"@peerbit/stream-interface": "5.4.0-
|
|
72
|
+
"@peerbit/crypto": "2.4.1-c6403d3",
|
|
73
|
+
"@peerbit/stream-interface": "5.4.0-c6403d3",
|
|
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
|
+
}
|