@antseed/node 0.2.7 → 0.2.8
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/README.md +17 -22
- package/dist/discovery/announcer.d.ts +7 -7
- package/dist/discovery/announcer.d.ts.map +1 -1
- package/dist/discovery/announcer.js +38 -38
- package/dist/discovery/announcer.js.map +1 -1
- package/dist/discovery/dht-node.d.ts +4 -4
- package/dist/discovery/dht-node.d.ts.map +1 -1
- package/dist/discovery/dht-node.js +8 -8
- package/dist/discovery/dht-node.js.map +1 -1
- package/dist/discovery/index.d.ts +2 -2
- package/dist/discovery/index.d.ts.map +1 -1
- package/dist/discovery/index.js +2 -2
- package/dist/discovery/index.js.map +1 -1
- package/dist/discovery/metadata-codec.d.ts +7 -7
- package/dist/discovery/metadata-codec.js +113 -113
- package/dist/discovery/metadata-codec.js.map +1 -1
- package/dist/discovery/metadata-validator.d.ts +5 -5
- package/dist/discovery/metadata-validator.d.ts.map +1 -1
- package/dist/discovery/metadata-validator.js +74 -74
- package/dist/discovery/metadata-validator.js.map +1 -1
- package/dist/discovery/peer-lookup.d.ts +1 -1
- package/dist/discovery/peer-lookup.d.ts.map +1 -1
- package/dist/discovery/peer-lookup.js +7 -7
- package/dist/discovery/peer-lookup.js.map +1 -1
- package/dist/discovery/peer-metadata.d.ts +9 -9
- package/dist/discovery/peer-metadata.d.ts.map +1 -1
- package/dist/discovery/peer-metadata.js +3 -3
- package/dist/discovery/peer-metadata.js.map +1 -1
- package/dist/index.d.ts +2 -2
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +2 -2
- package/dist/index.js.map +1 -1
- package/dist/interfaces/seller-provider.d.ts +9 -9
- package/dist/interfaces/seller-provider.d.ts.map +1 -1
- package/dist/node.d.ts +2 -2
- package/dist/node.d.ts.map +1 -1
- package/dist/node.js +41 -41
- package/dist/node.js.map +1 -1
- package/dist/payments/seller-payment-manager.d.ts +12 -42
- package/dist/payments/seller-payment-manager.d.ts.map +1 -1
- package/dist/payments/seller-payment-manager.js +96 -140
- package/dist/payments/seller-payment-manager.js.map +1 -1
- package/dist/proxy/index.d.ts +1 -1
- package/dist/proxy/index.d.ts.map +1 -1
- package/dist/proxy/index.js +1 -1
- package/dist/proxy/index.js.map +1 -1
- package/dist/proxy/service-api-adapter.d.ts +30 -0
- package/dist/proxy/service-api-adapter.d.ts.map +1 -0
- package/dist/proxy/service-api-adapter.js +891 -0
- package/dist/proxy/service-api-adapter.js.map +1 -0
- package/dist/types/capability.d.ts +2 -2
- package/dist/types/capability.d.ts.map +1 -1
- package/dist/types/index.d.ts +1 -1
- package/dist/types/index.d.ts.map +1 -1
- package/dist/types/index.js +1 -1
- package/dist/types/index.js.map +1 -1
- package/dist/types/peer.d.ts +11 -11
- package/dist/types/peer.d.ts.map +1 -1
- package/dist/types/protocol.d.ts +0 -6
- package/dist/types/protocol.d.ts.map +1 -1
- package/dist/types/protocol.js +0 -8
- package/dist/types/protocol.js.map +1 -1
- package/dist/types/provider.d.ts +1 -1
- package/dist/types/provider.d.ts.map +1 -1
- package/dist/types/service-api.d.ts +4 -0
- package/dist/types/service-api.d.ts.map +1 -0
- package/dist/types/service-api.js +11 -0
- package/dist/types/service-api.js.map +1 -0
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -27,14 +27,14 @@ import type { Provider, SerializedHttpRequest, SerializedHttpResponse } from '@a
|
|
|
27
27
|
// Implement the Provider interface (or use an existing plugin)
|
|
28
28
|
const myProvider: Provider = {
|
|
29
29
|
name: 'my-llm',
|
|
30
|
-
|
|
30
|
+
services: ['my-model-v1'],
|
|
31
31
|
pricing: {
|
|
32
32
|
defaults: {
|
|
33
33
|
inputUsdPerMillion: 10,
|
|
34
34
|
outputUsdPerMillion: 10,
|
|
35
35
|
},
|
|
36
36
|
},
|
|
37
|
-
|
|
37
|
+
serviceCategories: {
|
|
38
38
|
'my-model-v1': ['coding', 'privacy'],
|
|
39
39
|
},
|
|
40
40
|
maxConcurrency: 10,
|
|
@@ -99,8 +99,8 @@ if (peers.length > 0) {
|
|
|
99
99
|
Discovery topics are normalized to improve lookup consistency:
|
|
100
100
|
|
|
101
101
|
- Provider topic: `antseed:{provider}` with `trim + lowercase`
|
|
102
|
-
- Model topic (canonical): `antseed:
|
|
103
|
-
- Model topic (search fallback): `antseed:
|
|
102
|
+
- Model topic (canonical): `antseed:service:{model}` with `trim + lowercase`
|
|
103
|
+
- Model topic (search fallback): `antseed:service-search:{model}` with spaces, `-`, `_` removed after canonical normalization (keeps `.`)
|
|
104
104
|
|
|
105
105
|
Canonical and search model topics are both used when their keys differ, so variants like `kimi 2.5`, `kimi-2.5`, and `kimi_2.5` can converge in discovery while keeping exact canonical topics.
|
|
106
106
|
|
|
@@ -246,19 +246,19 @@ interface Provider {
|
|
|
246
246
|
name: string;
|
|
247
247
|
|
|
248
248
|
/** Model IDs this provider supports */
|
|
249
|
-
|
|
249
|
+
services: string[];
|
|
250
250
|
|
|
251
|
-
/** Pricing in USD per 1M tokens (defaults + optional per-
|
|
251
|
+
/** Pricing in USD per 1M tokens (defaults + optional per-service overrides) */
|
|
252
252
|
pricing: {
|
|
253
253
|
defaults: { inputUsdPerMillion: number; outputUsdPerMillion: number };
|
|
254
|
-
|
|
254
|
+
services?: Record<string, { inputUsdPerMillion: number; outputUsdPerMillion: number }>;
|
|
255
255
|
};
|
|
256
256
|
|
|
257
|
-
/** Optional per-
|
|
258
|
-
|
|
257
|
+
/** Optional per-service discovery tags (e.g., coding/privacy/legal) */
|
|
258
|
+
serviceCategories?: Record<string, string[]>;
|
|
259
259
|
|
|
260
|
-
/** Optional per-
|
|
261
|
-
|
|
260
|
+
/** Optional per-service API protocol support advertised via discovery metadata. */
|
|
261
|
+
serviceApiProtocols?: Record<string, ServiceApiProtocol[]>;
|
|
262
262
|
|
|
263
263
|
/** Maximum concurrent requests this provider can handle */
|
|
264
264
|
maxConcurrency: number;
|
|
@@ -275,11 +275,6 @@ interface Provider {
|
|
|
275
275
|
/** Optional capabilities beyond plain inference */
|
|
276
276
|
capabilities?: ProviderCapability[];
|
|
277
277
|
|
|
278
|
-
/** Optional long-running task endpoint backing `/v1/task` */
|
|
279
|
-
handleTask?(task: TaskRequest): AsyncIterable<TaskEvent>;
|
|
280
|
-
|
|
281
|
-
/** Optional one-shot skill endpoint backing `/v1/skill` */
|
|
282
|
-
handleSkill?(skill: SkillRequest): Promise<SkillResponse>;
|
|
283
278
|
}
|
|
284
279
|
```
|
|
285
280
|
|
|
@@ -312,13 +307,13 @@ import type { AntseedProviderPlugin, Provider, SerializedHttpRequest, Serialized
|
|
|
312
307
|
|
|
313
308
|
class MyProvider implements Provider {
|
|
314
309
|
readonly name = 'my-provider';
|
|
315
|
-
readonly
|
|
310
|
+
readonly services: string[];
|
|
316
311
|
readonly pricing: Provider['pricing'];
|
|
317
312
|
readonly maxConcurrency: number;
|
|
318
313
|
private _active = 0;
|
|
319
314
|
|
|
320
|
-
constructor(apiKey: string,
|
|
321
|
-
this.
|
|
315
|
+
constructor(apiKey: string, services: string[], inputUsdPerMillion: number, outputUsdPerMillion: number, maxConcurrency: number) {
|
|
316
|
+
this.services = services;
|
|
322
317
|
this.pricing = {
|
|
323
318
|
defaults: {
|
|
324
319
|
inputUsdPerMillion,
|
|
@@ -361,16 +356,16 @@ const plugin: AntseedProviderPlugin = {
|
|
|
361
356
|
description: 'Provides My LLM capacity on the Antseed Network',
|
|
362
357
|
configSchema: [
|
|
363
358
|
{ key: 'MY_API_KEY', label: 'API Key', type: 'secret', required: true, description: 'API key for My LLM' },
|
|
364
|
-
{ key: '
|
|
359
|
+
{ key: 'MY_SERVICES', label: 'Services', type: 'string[]', required: false, description: 'Comma-separated service list' },
|
|
365
360
|
{ key: 'MY_INPUT_USD_PER_MILLION', label: 'Input Price', type: 'number', required: false, description: 'Input price in USD per 1M tokens' },
|
|
366
361
|
{ key: 'MY_OUTPUT_USD_PER_MILLION', label: 'Output Price', type: 'number', required: false, description: 'Output price in USD per 1M tokens' },
|
|
367
362
|
],
|
|
368
363
|
createProvider(config: Record<string, string>) {
|
|
369
364
|
const apiKey = config['MY_API_KEY'] ?? '';
|
|
370
|
-
const
|
|
365
|
+
const services = (config['MY_SERVICES'] ?? 'default-service').split(',').map(s => s.trim());
|
|
371
366
|
const input = parseFloat(config['MY_INPUT_USD_PER_MILLION'] ?? '10');
|
|
372
367
|
const output = parseFloat(config['MY_OUTPUT_USD_PER_MILLION'] ?? String(input));
|
|
373
|
-
return new MyProvider(apiKey,
|
|
368
|
+
return new MyProvider(apiKey, services, input, output, 10);
|
|
374
369
|
},
|
|
375
370
|
};
|
|
376
371
|
|
|
@@ -2,16 +2,16 @@ import type { Identity } from "../p2p/identity.js";
|
|
|
2
2
|
import type { DHTNode } from "./dht-node.js";
|
|
3
3
|
import type { PeerOffering } from "../types/capability.js";
|
|
4
4
|
import type { PeerMetadata } from "./peer-metadata.js";
|
|
5
|
-
import type {
|
|
5
|
+
import type { ServiceApiProtocol } from "../types/service-api.js";
|
|
6
6
|
import type { BaseEscrowClient } from "../payments/evm/escrow-client.js";
|
|
7
7
|
export interface AnnouncerConfig {
|
|
8
8
|
identity: Identity;
|
|
9
9
|
dht: DHTNode;
|
|
10
10
|
providers: Array<{
|
|
11
11
|
provider: string;
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
12
|
+
services: string[];
|
|
13
|
+
serviceCategories?: Record<string, string[]>;
|
|
14
|
+
serviceApiProtocols?: Record<string, ServiceApiProtocol[]>;
|
|
15
15
|
maxConcurrency: number;
|
|
16
16
|
}>;
|
|
17
17
|
displayName?: string;
|
|
@@ -21,7 +21,7 @@ export interface AnnouncerConfig {
|
|
|
21
21
|
inputUsdPerMillion: number;
|
|
22
22
|
outputUsdPerMillion: number;
|
|
23
23
|
};
|
|
24
|
-
|
|
24
|
+
services?: Record<string, {
|
|
25
25
|
inputUsdPerMillion: number;
|
|
26
26
|
outputUsdPerMillion: number;
|
|
27
27
|
}>;
|
|
@@ -52,7 +52,7 @@ export declare class PeerAnnouncer {
|
|
|
52
52
|
private _buildSignedMetadata;
|
|
53
53
|
private _announceTopics;
|
|
54
54
|
private _tryAnnounceTopic;
|
|
55
|
-
private
|
|
56
|
-
private
|
|
55
|
+
private _normalizeServiceCategories;
|
|
56
|
+
private _normalizeServiceApiProtocols;
|
|
57
57
|
}
|
|
58
58
|
//# sourceMappingURL=announcer.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"announcer.d.ts","sourceRoot":"","sources":["../../src/discovery/announcer.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAEnD,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AAU7C,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AAC3D,OAAO,KAAK,EAAE,YAAY,EAAwB,MAAM,oBAAoB,CAAC;AAE7E,OAAO,KAAK,EAAE,
|
|
1
|
+
{"version":3,"file":"announcer.d.ts","sourceRoot":"","sources":["../../src/discovery/announcer.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAEnD,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AAU7C,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AAC3D,OAAO,KAAK,EAAE,YAAY,EAAwB,MAAM,oBAAoB,CAAC;AAE7E,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAKlE,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,kCAAkC,CAAC;AAGzE,MAAM,WAAW,eAAe;IAC9B,QAAQ,EAAE,QAAQ,CAAC;IACnB,GAAG,EAAE,OAAO,CAAC;IACb,SAAS,EAAE,KAAK,CAAC;QACf,QAAQ,EAAE,MAAM,CAAC;QACjB,QAAQ,EAAE,MAAM,EAAE,CAAC;QACnB,iBAAiB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC;QAC7C,mBAAmB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,kBAAkB,EAAE,CAAC,CAAC;QAC3D,cAAc,EAAE,MAAM,CAAC;KACxB,CAAC,CAAC;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,GAAG,CACV,MAAM,EACN;QACE,QAAQ,EAAE;YAAE,kBAAkB,EAAE,MAAM,CAAC;YAAC,mBAAmB,EAAE,MAAM,CAAA;SAAE,CAAC;QACtE,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE;YAAE,kBAAkB,EAAE,MAAM,CAAC;YAAC,mBAAmB,EAAE,MAAM,CAAA;SAAE,CAAC,CAAC;KACxF,CACF,CAAC;IACF,SAAS,CAAC,EAAE,YAAY,EAAE,CAAC;IAC3B,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,YAAY,CAAC,EAAE,gBAAgB,CAAC;IAChC,oBAAoB,EAAE,MAAM,CAAC;IAC7B,aAAa,EAAE,MAAM,CAAC;CACvB;AAED,qBAAa,aAAa;IACxB,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAkB;IACzC,OAAO,CAAC,cAAc,CAA+C;IACrE,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAkC;IAC1D,OAAO,CAAC,eAAe,CAA6B;gBAExC,MAAM,EAAE,eAAe;IAI7B,QAAQ,IAAI,OAAO,CAAC,IAAI,CAAC;IAO/B;;;OAGG;IACG,eAAe,IAAI,OAAO,CAAC,IAAI,CAAC;IAItC,qBAAqB,IAAI,IAAI;IAe7B,oBAAoB,IAAI,IAAI;IAO5B,UAAU,CAAC,YAAY,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,GAAG,IAAI;IAI3D,iBAAiB,IAAI,YAAY,GAAG,IAAI;YAI1B,oBAAoB;YA0EpB,eAAe;YA6Cf,iBAAiB;IAS/B,OAAO,CAAC,2BAA2B;IA+BnC,OAAO,CAAC,6BAA6B;CA8BtC"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { signData } from "../p2p/identity.js";
|
|
2
|
-
import { providerTopic,
|
|
2
|
+
import { providerTopic, serviceTopic, serviceSearchTopic, capabilityTopic, topicToInfoHash, normalizeServiceTopicKey, normalizeServiceSearchTopicKey, } from "./dht-node.js";
|
|
3
3
|
import { METADATA_VERSION } from "./peer-metadata.js";
|
|
4
|
-
import {
|
|
4
|
+
import { isKnownServiceApiProtocol } from "../types/service-api.js";
|
|
5
5
|
import { encodeMetadataForSigning } from "./metadata-codec.js";
|
|
6
6
|
import { debugWarn } from "../utils/debug.js";
|
|
7
7
|
import { bytesToHex } from "../utils/hex.js";
|
|
@@ -62,21 +62,21 @@ export class PeerAnnouncer {
|
|
|
62
62
|
};
|
|
63
63
|
const providerAnnouncement = {
|
|
64
64
|
provider: p.provider,
|
|
65
|
-
|
|
65
|
+
services: p.services,
|
|
66
66
|
defaultPricing: pricing.defaults,
|
|
67
67
|
maxConcurrency: p.maxConcurrency,
|
|
68
68
|
currentLoad: this.loadMap.get(p.provider) ?? 0,
|
|
69
69
|
};
|
|
70
|
-
if (pricing.
|
|
71
|
-
providerAnnouncement.
|
|
70
|
+
if (pricing.services) {
|
|
71
|
+
providerAnnouncement.servicePricing = pricing.services;
|
|
72
72
|
}
|
|
73
|
-
const
|
|
74
|
-
if (
|
|
75
|
-
providerAnnouncement.
|
|
73
|
+
const normalizedServiceCategories = this._normalizeServiceCategories(p.serviceCategories, p.services);
|
|
74
|
+
if (normalizedServiceCategories) {
|
|
75
|
+
providerAnnouncement.serviceCategories = normalizedServiceCategories;
|
|
76
76
|
}
|
|
77
|
-
const
|
|
78
|
-
if (
|
|
79
|
-
providerAnnouncement.
|
|
77
|
+
const normalizedServiceApiProtocols = this._normalizeServiceApiProtocols(p.serviceApiProtocols, p.services);
|
|
78
|
+
if (normalizedServiceApiProtocols) {
|
|
79
|
+
providerAnnouncement.serviceApiProtocols = normalizedServiceApiProtocols;
|
|
80
80
|
}
|
|
81
81
|
return providerAnnouncement;
|
|
82
82
|
});
|
|
@@ -124,24 +124,24 @@ export class PeerAnnouncer {
|
|
|
124
124
|
return metadata;
|
|
125
125
|
}
|
|
126
126
|
async _announceTopics(providers) {
|
|
127
|
-
const
|
|
127
|
+
const announcedServiceTopics = new Set();
|
|
128
128
|
for (const p of providers) {
|
|
129
129
|
await this._tryAnnounceTopic(providerTopic(p.provider));
|
|
130
|
-
for (const
|
|
131
|
-
const
|
|
132
|
-
if (!
|
|
130
|
+
for (const service of p.services) {
|
|
131
|
+
const canonicalServiceKey = normalizeServiceTopicKey(service);
|
|
132
|
+
if (!canonicalServiceKey) {
|
|
133
133
|
continue;
|
|
134
134
|
}
|
|
135
|
-
const canonicalTopic =
|
|
136
|
-
if (!
|
|
137
|
-
|
|
135
|
+
const canonicalTopic = serviceTopic(canonicalServiceKey);
|
|
136
|
+
if (!announcedServiceTopics.has(canonicalTopic)) {
|
|
137
|
+
announcedServiceTopics.add(canonicalTopic);
|
|
138
138
|
await this._tryAnnounceTopic(canonicalTopic);
|
|
139
139
|
}
|
|
140
|
-
const
|
|
141
|
-
if (
|
|
142
|
-
const compactTopic =
|
|
143
|
-
if (!
|
|
144
|
-
|
|
140
|
+
const compactServiceKey = normalizeServiceSearchTopicKey(service);
|
|
141
|
+
if (compactServiceKey !== canonicalServiceKey) {
|
|
142
|
+
const compactTopic = serviceSearchTopic(compactServiceKey);
|
|
143
|
+
if (!announcedServiceTopics.has(compactTopic)) {
|
|
144
|
+
announcedServiceTopics.add(compactTopic);
|
|
145
145
|
await this._tryAnnounceTopic(compactTopic);
|
|
146
146
|
}
|
|
147
147
|
}
|
|
@@ -172,15 +172,15 @@ export class PeerAnnouncer {
|
|
|
172
172
|
// DHT may not have peers yet — will retry on next cycle
|
|
173
173
|
}
|
|
174
174
|
}
|
|
175
|
-
|
|
176
|
-
if (!
|
|
175
|
+
_normalizeServiceCategories(serviceCategories, supportedServices) {
|
|
176
|
+
if (!serviceCategories) {
|
|
177
177
|
return undefined;
|
|
178
178
|
}
|
|
179
|
-
const
|
|
180
|
-
const
|
|
179
|
+
const hasWildcardServices = supportedServices.length === 0;
|
|
180
|
+
const supportedServiceSet = new Set(supportedServices);
|
|
181
181
|
const normalized = {};
|
|
182
|
-
for (const [
|
|
183
|
-
if (!
|
|
182
|
+
for (const [service, categories] of Object.entries(serviceCategories)) {
|
|
183
|
+
if (!hasWildcardServices && !supportedServiceSet.has(service)) {
|
|
184
184
|
continue;
|
|
185
185
|
}
|
|
186
186
|
const deduped = Array.from(new Set(categories
|
|
@@ -189,28 +189,28 @@ export class PeerAnnouncer {
|
|
|
189
189
|
if (deduped.length === 0) {
|
|
190
190
|
continue;
|
|
191
191
|
}
|
|
192
|
-
normalized[
|
|
192
|
+
normalized[service] = deduped;
|
|
193
193
|
}
|
|
194
194
|
return Object.keys(normalized).length > 0 ? normalized : undefined;
|
|
195
195
|
}
|
|
196
|
-
|
|
197
|
-
if (!
|
|
196
|
+
_normalizeServiceApiProtocols(serviceApiProtocols, supportedServices) {
|
|
197
|
+
if (!serviceApiProtocols) {
|
|
198
198
|
return undefined;
|
|
199
199
|
}
|
|
200
|
-
const
|
|
201
|
-
const
|
|
200
|
+
const hasWildcardServices = supportedServices.length === 0;
|
|
201
|
+
const supportedServiceSet = new Set(supportedServices);
|
|
202
202
|
const normalized = {};
|
|
203
|
-
for (const [
|
|
204
|
-
if (!
|
|
203
|
+
for (const [service, protocols] of Object.entries(serviceApiProtocols)) {
|
|
204
|
+
if (!hasWildcardServices && !supportedServiceSet.has(service)) {
|
|
205
205
|
continue;
|
|
206
206
|
}
|
|
207
207
|
const deduped = Array.from(new Set(protocols
|
|
208
208
|
.map((protocol) => protocol.trim().toLowerCase())
|
|
209
|
-
.filter((protocol) =>
|
|
209
|
+
.filter((protocol) => isKnownServiceApiProtocol(protocol))));
|
|
210
210
|
if (deduped.length === 0) {
|
|
211
211
|
continue;
|
|
212
212
|
}
|
|
213
|
-
normalized[
|
|
213
|
+
normalized[service] = deduped;
|
|
214
214
|
}
|
|
215
215
|
return Object.keys(normalized).length > 0 ? normalized : undefined;
|
|
216
216
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"announcer.js","sourceRoot":"","sources":["../../src/discovery/announcer.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAE9C,OAAO,EACL,aAAa,EACb,
|
|
1
|
+
{"version":3,"file":"announcer.js","sourceRoot":"","sources":["../../src/discovery/announcer.ts"],"names":[],"mappings":"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"}
|
|
@@ -15,10 +15,10 @@ export interface DHTNodeConfig {
|
|
|
15
15
|
export declare const DEFAULT_DHT_CONFIG: Omit<DHTNodeConfig, "peerId">;
|
|
16
16
|
export declare function topicToInfoHash(topic: string): Buffer;
|
|
17
17
|
export declare function providerTopic(providerName: string): string;
|
|
18
|
-
export declare function
|
|
19
|
-
export declare function
|
|
20
|
-
export declare function
|
|
21
|
-
export declare function
|
|
18
|
+
export declare function normalizeServiceTopicKey(serviceName: string): string;
|
|
19
|
+
export declare function normalizeServiceSearchTopicKey(serviceName: string): string;
|
|
20
|
+
export declare function serviceTopic(serviceName: string): string;
|
|
21
|
+
export declare function serviceSearchTopic(serviceName: string): string;
|
|
22
22
|
export declare function capabilityTopic(capability: string, name?: string): string;
|
|
23
23
|
export declare class DHTNode {
|
|
24
24
|
private readonly config;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dht-node.d.ts","sourceRoot":"","sources":["../../src/discovery/dht-node.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAC3C,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAC;AAG/C,MAAM,WAAW,aAAa;IAC5B,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;IACb,cAAc,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IACtD,oBAAoB,EAAE,MAAM,CAAC;IAC7B,kBAAkB,EAAE,MAAM,CAAC;IAC3B,gGAAgG;IAChG,eAAe,CAAC,EAAE,OAAO,CAAC;CAC3B;AAED,eAAO,MAAM,kBAAkB,EAAE,IAAI,CAAC,aAAa,EAAE,QAAQ,CAK5D,CAAC;AAgBF,wBAAgB,eAAe,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAErD;AAMD,wBAAgB,aAAa,CAAC,YAAY,EAAE,MAAM,GAAG,MAAM,CAE1D;AAED,wBAAgB,
|
|
1
|
+
{"version":3,"file":"dht-node.d.ts","sourceRoot":"","sources":["../../src/discovery/dht-node.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAC3C,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAC;AAG/C,MAAM,WAAW,aAAa;IAC5B,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;IACb,cAAc,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IACtD,oBAAoB,EAAE,MAAM,CAAC;IAC7B,kBAAkB,EAAE,MAAM,CAAC;IAC3B,gGAAgG;IAChG,eAAe,CAAC,EAAE,OAAO,CAAC;CAC3B;AAED,eAAO,MAAM,kBAAkB,EAAE,IAAI,CAAC,aAAa,EAAE,QAAQ,CAK5D,CAAC;AAgBF,wBAAgB,eAAe,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAErD;AAMD,wBAAgB,aAAa,CAAC,YAAY,EAAE,MAAM,GAAG,MAAM,CAE1D;AAED,wBAAgB,wBAAwB,CAAC,WAAW,EAAE,MAAM,GAAG,MAAM,CAEpE;AAED,wBAAgB,8BAA8B,CAAC,WAAW,EAAE,MAAM,GAAG,MAAM,CAI1E;AAED,wBAAgB,YAAY,CAAC,WAAW,EAAE,MAAM,GAAG,MAAM,CAExD;AAED,wBAAgB,kBAAkB,CAAC,WAAW,EAAE,MAAM,GAAG,MAAM,CAE9D;AAED,wBAAgB,eAAe,CAAC,UAAU,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,GAAG,MAAM,CAGzE;AAED,qBAAa,OAAO;IAClB,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAgB;IACvC,OAAO,CAAC,GAAG,CAAoB;IAC/B,SAAgB,MAAM,EAAE,YAAY,CAAsB;gBAE9C,MAAM,EAAE,aAAa;IAI3B,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAwCtB,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;IAarB,QAAQ,CAAC,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAsBvD,MAAM,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAsC9E,YAAY,IAAI,MAAM;IAOtB,OAAO,IAAI,MAAM;CAWlB"}
|
|
@@ -38,19 +38,19 @@ function normalizeTopicSegment(value) {
|
|
|
38
38
|
export function providerTopic(providerName) {
|
|
39
39
|
return "antseed:" + normalizeTopicSegment(providerName);
|
|
40
40
|
}
|
|
41
|
-
export function
|
|
42
|
-
return normalizeTopicSegment(
|
|
41
|
+
export function normalizeServiceTopicKey(serviceName) {
|
|
42
|
+
return normalizeTopicSegment(serviceName);
|
|
43
43
|
}
|
|
44
|
-
export function
|
|
45
|
-
const canonical =
|
|
44
|
+
export function normalizeServiceSearchTopicKey(serviceName) {
|
|
45
|
+
const canonical = normalizeServiceTopicKey(serviceName);
|
|
46
46
|
const compact = canonical.replace(/[\s_-]+/g, "");
|
|
47
47
|
return compact.length > 0 ? compact : canonical;
|
|
48
48
|
}
|
|
49
|
-
export function
|
|
50
|
-
return "antseed:
|
|
49
|
+
export function serviceTopic(serviceName) {
|
|
50
|
+
return "antseed:service:" + normalizeServiceTopicKey(serviceName);
|
|
51
51
|
}
|
|
52
|
-
export function
|
|
53
|
-
return "antseed:
|
|
52
|
+
export function serviceSearchTopic(serviceName) {
|
|
53
|
+
return "antseed:service-search:" + normalizeServiceSearchTopicKey(serviceName);
|
|
54
54
|
}
|
|
55
55
|
export function capabilityTopic(capability, name) {
|
|
56
56
|
const base = "antseed:" + normalizeTopicSegment(capability);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dht-node.js","sourceRoot":"","sources":["../../src/discovery/dht-node.ts"],"names":[],"mappings":"AAAA,OAAO,GAAG,MAAM,gBAAgB,CAAC;AACjC,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACzC,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAE3C,OAAO,EAAE,wBAAwB,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AAY7E,MAAM,CAAC,MAAM,kBAAkB,GAAkC;IAC/D,IAAI,EAAE,IAAI;IACV,cAAc,EAAE,iBAAiB,CAAC,wBAAwB,CAAC;IAC3D,oBAAoB,EAAE,EAAE,GAAG,EAAE,GAAG,IAAI;IACpC,kBAAkB,EAAE,MAAM;CAC3B,CAAC;AAEF,SAAS,UAAU,CAAC,IAAY;IAC9B,IAAI,IAAI,KAAK,WAAW,IAAI,IAAI,KAAK,KAAK;QAAE,OAAO,KAAK,CAAC;IACzD,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IAC9B,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,KAAK,CAAC;IACrC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;IACjC,IAAI,CAAC,KAAK,GAAG;QAAE,OAAO,KAAK,CAAC,CAAC,WAAW;IACxC,IAAI,CAAC,KAAK,EAAE;QAAE,OAAO,KAAK,CAAC,CAAC,aAAa;IACzC,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,SAAS,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE;QAAE,OAAO,KAAK,CAAC,CAAC,gBAAgB;IACtF,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,GAAG;QAAE,OAAO,KAAK,CAAC,CAAC,iBAAiB;IAC3D,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,GAAG;QAAE,OAAO,KAAK,CAAC,CAAC,aAAa;IACvD,IAAI,CAAC,KAAK,CAAC;QAAE,OAAO,KAAK,CAAC;IAC1B,OAAO,IAAI,CAAC;AACd,CAAC;AAED,MAAM,UAAU,eAAe,CAAC,KAAa;IAC3C,OAAO,UAAU,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,MAAM,EAAE,CAAC;AACnD,CAAC;AAED,SAAS,qBAAqB,CAAC,KAAa;IAC1C,OAAO,KAAK,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;AACpC,CAAC;AAED,MAAM,UAAU,aAAa,CAAC,YAAoB;IAChD,OAAO,UAAU,GAAG,qBAAqB,CAAC,YAAY,CAAC,CAAC;AAC1D,CAAC;AAED,MAAM,UAAU,
|
|
1
|
+
{"version":3,"file":"dht-node.js","sourceRoot":"","sources":["../../src/discovery/dht-node.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,11 +1,11 @@
|
|
|
1
|
-
export { DHTNode, DEFAULT_DHT_CONFIG, topicToInfoHash, providerTopic,
|
|
1
|
+
export { DHTNode, DEFAULT_DHT_CONFIG, topicToInfoHash, providerTopic, serviceTopic, serviceSearchTopic, capabilityTopic, normalizeServiceTopicKey, normalizeServiceSearchTopicKey, type DHTNodeConfig, } from './dht-node.js';
|
|
2
2
|
export { PeerAnnouncer, type AnnouncerConfig } from './announcer.js';
|
|
3
3
|
export { PeerLookup, DEFAULT_LOOKUP_CONFIG, type LookupConfig, type LookupResult } from './peer-lookup.js';
|
|
4
4
|
export { scorePeer, rankPeers, selectBestPeer, selectDiversePeers, DEFAULT_SCORING_WEIGHTS, type ScoringWeights, type PeerCandidate, type ScoredPeer } from './peer-selector.js';
|
|
5
5
|
export { OFFICIAL_BOOTSTRAP_NODES, parseBootstrapList, mergeBootstrapNodes, toBootstrapConfig, type BootstrapNode } from './bootstrap.js';
|
|
6
6
|
export { encodeMetadata, encodeMetadataForSigning, decodeMetadata } from './metadata-codec.js';
|
|
7
7
|
export { validateMetadata, MAX_METADATA_SIZE, MAX_PROVIDERS, type ValidationError } from './metadata-validator.js';
|
|
8
|
-
export { METADATA_VERSION,
|
|
8
|
+
export { METADATA_VERSION, WELL_KNOWN_SERVICE_CATEGORIES, type PeerMetadata, type ProviderAnnouncement } from './peer-metadata.js';
|
|
9
9
|
export { type MetadataResolver, type PeerEndpoint } from './metadata-resolver.js';
|
|
10
10
|
export { DefaultMetadataResolver } from './default-metadata-resolver.js';
|
|
11
11
|
export { HttpMetadataResolver, type HttpMetadataResolverConfig } from './http-metadata-resolver.js';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/discovery/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,OAAO,EACP,kBAAkB,EAClB,eAAe,EACf,aAAa,EACb,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/discovery/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,OAAO,EACP,kBAAkB,EAClB,eAAe,EACf,aAAa,EACb,YAAY,EACZ,kBAAkB,EAClB,eAAe,EACf,wBAAwB,EACxB,8BAA8B,EAC9B,KAAK,aAAa,GACnB,MAAM,eAAe,CAAC;AACvB,OAAO,EAAE,aAAa,EAAE,KAAK,eAAe,EAAE,MAAM,gBAAgB,CAAC;AACrE,OAAO,EAAE,UAAU,EAAE,qBAAqB,EAAE,KAAK,YAAY,EAAE,KAAK,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAE3G,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,cAAc,EAAE,kBAAkB,EAAE,uBAAuB,EAAE,KAAK,cAAc,EAAE,KAAK,aAAa,EAAE,KAAK,UAAU,EAAE,MAAM,oBAAoB,CAAC;AACjL,OAAO,EAAE,wBAAwB,EAAE,kBAAkB,EAAE,mBAAmB,EAAE,iBAAiB,EAAE,KAAK,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAC1I,OAAO,EAAE,cAAc,EAAE,wBAAwB,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAC/F,OAAO,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,aAAa,EAAE,KAAK,eAAe,EAAE,MAAM,yBAAyB,CAAC;AACnH,OAAO,EAAE,gBAAgB,EAAE,6BAA6B,EAAE,KAAK,YAAY,EAAE,KAAK,oBAAoB,EAAE,MAAM,oBAAoB,CAAC;AACnI,OAAO,EAAE,KAAK,gBAAgB,EAAE,KAAK,YAAY,EAAE,MAAM,wBAAwB,CAAC;AAClF,OAAO,EAAE,uBAAuB,EAAE,MAAM,gCAAgC,CAAC;AACzE,OAAO,EAAE,oBAAoB,EAAE,KAAK,0BAA0B,EAAE,MAAM,6BAA6B,CAAC;AACpG,OAAO,EAAE,gBAAgB,EAAE,yBAAyB,EAAE,KAAK,iBAAiB,EAAE,KAAK,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AAC7H,OAAO,EAAE,gBAAgB,EAAE,KAAK,sBAAsB,EAAE,MAAM,0BAA0B,CAAC"}
|
package/dist/discovery/index.js
CHANGED
|
@@ -1,11 +1,11 @@
|
|
|
1
|
-
export { DHTNode, DEFAULT_DHT_CONFIG, topicToInfoHash, providerTopic,
|
|
1
|
+
export { DHTNode, DEFAULT_DHT_CONFIG, topicToInfoHash, providerTopic, serviceTopic, serviceSearchTopic, capabilityTopic, normalizeServiceTopicKey, normalizeServiceSearchTopicKey, } from './dht-node.js';
|
|
2
2
|
export { PeerAnnouncer } from './announcer.js';
|
|
3
3
|
export { PeerLookup, DEFAULT_LOOKUP_CONFIG } from './peer-lookup.js';
|
|
4
4
|
export { scorePeer, rankPeers, selectBestPeer, selectDiversePeers, DEFAULT_SCORING_WEIGHTS } from './peer-selector.js';
|
|
5
5
|
export { OFFICIAL_BOOTSTRAP_NODES, parseBootstrapList, mergeBootstrapNodes, toBootstrapConfig } from './bootstrap.js';
|
|
6
6
|
export { encodeMetadata, encodeMetadataForSigning, decodeMetadata } from './metadata-codec.js';
|
|
7
7
|
export { validateMetadata, MAX_METADATA_SIZE, MAX_PROVIDERS } from './metadata-validator.js';
|
|
8
|
-
export { METADATA_VERSION,
|
|
8
|
+
export { METADATA_VERSION, WELL_KNOWN_SERVICE_CATEGORIES } from './peer-metadata.js';
|
|
9
9
|
export { DefaultMetadataResolver } from './default-metadata-resolver.js';
|
|
10
10
|
export { HttpMetadataResolver } from './http-metadata-resolver.js';
|
|
11
11
|
export { DHTHealthMonitor, DEFAULT_HEALTH_THRESHOLDS } from './dht-health.js';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/discovery/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,OAAO,EACP,kBAAkB,EAClB,eAAe,EACf,aAAa,EACb,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/discovery/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,OAAO,EACP,kBAAkB,EAClB,eAAe,EACf,aAAa,EACb,YAAY,EACZ,kBAAkB,EAClB,eAAe,EACf,wBAAwB,EACxB,8BAA8B,GAE/B,MAAM,eAAe,CAAC;AACvB,OAAO,EAAE,aAAa,EAAwB,MAAM,gBAAgB,CAAC;AACrE,OAAO,EAAE,UAAU,EAAE,qBAAqB,EAAwC,MAAM,kBAAkB,CAAC;AAE3G,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,cAAc,EAAE,kBAAkB,EAAE,uBAAuB,EAA4D,MAAM,oBAAoB,CAAC;AACjL,OAAO,EAAE,wBAAwB,EAAE,kBAAkB,EAAE,mBAAmB,EAAE,iBAAiB,EAAsB,MAAM,gBAAgB,CAAC;AAC1I,OAAO,EAAE,cAAc,EAAE,wBAAwB,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAC/F,OAAO,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,aAAa,EAAwB,MAAM,yBAAyB,CAAC;AACnH,OAAO,EAAE,gBAAgB,EAAE,6BAA6B,EAAgD,MAAM,oBAAoB,CAAC;AAEnI,OAAO,EAAE,uBAAuB,EAAE,MAAM,gCAAgC,CAAC;AACzE,OAAO,EAAE,oBAAoB,EAAmC,MAAM,6BAA6B,CAAC;AACpG,OAAO,EAAE,gBAAgB,EAAE,yBAAyB,EAAiD,MAAM,iBAAiB,CAAC;AAC7H,OAAO,EAAE,gBAAgB,EAA+B,MAAM,0BAA0B,CAAC"}
|
|
@@ -3,16 +3,16 @@ import type { PeerMetadata } from "./peer-metadata.js";
|
|
|
3
3
|
* Encode metadata into binary format:
|
|
4
4
|
* [version:1][peerId:32][regionLen:1][region:N][timestamp:8 BigUint64][providerCount:1]
|
|
5
5
|
* for each provider:
|
|
6
|
-
* [providerLen:1][provider:N][
|
|
6
|
+
* [providerLen:1][provider:N][serviceCount:1][services...]
|
|
7
7
|
* [defaultInputPrice:4][defaultOutputPrice:4]
|
|
8
|
-
* [
|
|
9
|
-
* [
|
|
10
|
-
* [
|
|
8
|
+
* [servicePricingCount:1][servicePricingEntries...]
|
|
9
|
+
* [serviceCategoryCount:1][serviceCategoryEntries...] (v3+ only)
|
|
10
|
+
* [serviceApiProtocolCount:1][serviceApiProtocolEntries...] (v4+ only)
|
|
11
11
|
* [maxConcurrency:2][currentLoad:2]
|
|
12
|
-
*
|
|
13
|
-
*
|
|
12
|
+
* servicePricingEntry: [serviceLen:1][service:N][inputPrice:4][outputPrice:4]
|
|
13
|
+
* serviceCategoryEntry(v3+): [serviceLen:1][service:N][categoryCount:1][categories...]
|
|
14
14
|
* category(v3+): [categoryLen:1][category:N]
|
|
15
|
-
*
|
|
15
|
+
* serviceApiProtocolEntry(v4+): [serviceLen:1][service:N][protocolCount:1][protocols...]
|
|
16
16
|
* protocol(v4+): [protocolLen:1][protocol:N]
|
|
17
17
|
* [displayNameFlag:1][displayNameLen:1][displayName:N] (v3+ only)
|
|
18
18
|
* [signature:64]
|