@antseed/node 0.2.110 → 0.2.112

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.
Files changed (53) hide show
  1. package/README.md +1 -1
  2. package/dist/config/plugin-loader.js +1 -1
  3. package/dist/config/plugin-loader.js.map +1 -1
  4. package/dist/discovery/index.d.ts +1 -0
  5. package/dist/discovery/index.d.ts.map +1 -1
  6. package/dist/discovery/index.js +1 -0
  7. package/dist/discovery/index.js.map +1 -1
  8. package/dist/discovery/service-catalog.d.ts +83 -0
  9. package/dist/discovery/service-catalog.d.ts.map +1 -0
  10. package/dist/discovery/service-catalog.js +155 -0
  11. package/dist/discovery/service-catalog.js.map +1 -0
  12. package/dist/index.d.ts +5 -0
  13. package/dist/index.d.ts.map +1 -1
  14. package/dist/index.js +5 -0
  15. package/dist/index.js.map +1 -1
  16. package/dist/model-identity.d.ts +19 -0
  17. package/dist/model-identity.d.ts.map +1 -0
  18. package/dist/model-identity.js +174 -0
  19. package/dist/model-identity.js.map +1 -0
  20. package/dist/node.d.ts.map +1 -1
  21. package/dist/node.js +7 -2
  22. package/dist/node.js.map +1 -1
  23. package/dist/payments/channel-store.d.ts +2 -0
  24. package/dist/payments/channel-store.d.ts.map +1 -1
  25. package/dist/payments/channel-store.js +14 -5
  26. package/dist/payments/channel-store.js.map +1 -1
  27. package/dist/reputation/index.d.ts +1 -0
  28. package/dist/reputation/index.d.ts.map +1 -1
  29. package/dist/reputation/index.js +1 -0
  30. package/dist/reputation/index.js.map +1 -1
  31. package/dist/reputation/model-reputation.d.ts +18 -0
  32. package/dist/reputation/model-reputation.d.ts.map +1 -0
  33. package/dist/reputation/model-reputation.js +28 -0
  34. package/dist/reputation/model-reputation.js.map +1 -0
  35. package/dist/reputation/on-chain-reputation.d.ts.map +1 -1
  36. package/dist/reputation/on-chain-reputation.js +9 -1
  37. package/dist/reputation/on-chain-reputation.js.map +1 -1
  38. package/dist/routing/model-route-ranking.d.ts +34 -0
  39. package/dist/routing/model-route-ranking.d.ts.map +1 -0
  40. package/dist/routing/model-route-ranking.js +136 -0
  41. package/dist/routing/model-route-ranking.js.map +1 -0
  42. package/dist/storage/migrations/channels/005_add_output_images.d.ts +3 -0
  43. package/dist/storage/migrations/channels/005_add_output_images.d.ts.map +1 -0
  44. package/dist/storage/migrations/channels/005_add_output_images.js +12 -0
  45. package/dist/storage/migrations/channels/005_add_output_images.js.map +1 -0
  46. package/dist/storage/migrations/channels/index.d.ts.map +1 -1
  47. package/dist/storage/migrations/channels/index.js +2 -1
  48. package/dist/storage/migrations/channels/index.js.map +1 -1
  49. package/package.json +16 -4
  50. package/dist/payments/evm/subpool-client.d.ts +0 -32
  51. package/dist/payments/evm/subpool-client.d.ts.map +0 -1
  52. package/dist/payments/evm/subpool-client.js +0 -158
  53. package/dist/payments/evm/subpool-client.js.map +0 -1
package/README.md CHANGED
@@ -385,7 +385,7 @@ interface Router {
385
385
  }
386
386
  ```
387
387
 
388
- If no router is set, the SDK uses a built-in `DefaultRouter` that selects the cheapest peer above a minimum reputation threshold.
388
+ If no router is set, the SDK uses a built-in `DefaultRouter` that selects the cheapest peer above a minimum reputation threshold. The CLI buyer proxy adds a model-specific planning layer before dispatch: bare model ids are canonicalized and ranked with `@antseed/node/model-routing` using shared Price + Trust preferences, health signals, and seller access rules. Explicit peer pins bypass automatic peer selection.
389
389
 
390
390
  ## Building a Custom Provider Plugin
391
391
 
@@ -12,7 +12,7 @@ export async function loadPluginModule(packageName, pluginsDir) {
12
12
  }
13
13
  let mod;
14
14
  try {
15
- mod = await import(pathToFileURL(resolved).href);
15
+ mod = await import(/* @vite-ignore */ pathToFileURL(resolved).href);
16
16
  }
17
17
  catch (err) {
18
18
  const cause = err instanceof Error ? err.message : String(err);
@@ -1 +1 @@
1
- {"version":3,"file":"plugin-loader.js","sourceRoot":"","sources":["../../src/config/plugin-loader.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"plugin-loader.js","sourceRoot":"","sources":["../../src/config/plugin-loader.ts"],"names":[],"mappings":"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"}
@@ -12,4 +12,5 @@ export { parsePublicAddress, MAX_PUBLIC_ADDRESS_LENGTH, type ParsedPublicAddress
12
12
  export { type MetadataResolver, type PeerEndpoint } from './metadata-resolver.js';
13
13
  export { HttpMetadataResolver, MAX_METADATA_HTTP_RESPONSE_SIZE, type HttpMetadataResolverConfig } from './http-metadata-resolver.js';
14
14
  export { DHTHealthMonitor, DEFAULT_HEALTH_THRESHOLDS, type DHTHealthSnapshot, type HealthThresholds } from './dht-health.js';
15
+ export { buildNetworkServiceOffers, compareNetworkServiceOfferPrice, inferServiceProtocol, resolveServiceProtocol, selectLowestPricedCanonicalOffers, selectLowestPricedNetworkServiceOffer, type CatalogServiceCapabilities, type CatalogServiceProtocol, type NetworkServiceCatalogPeer, type NetworkServiceOffer, } from './service-catalog.js';
15
16
  //# sourceMappingURL=index.d.ts.map
@@ -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,sBAAsB,EACtB,eAAe,EACf,SAAS,EACT,WAAW,EACX,QAAQ,EACR,YAAY,EACZ,KAAK,eAAe,EACpB,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,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,EACL,gBAAgB,EAChB,6BAA6B,EAC7B,KAAK,uBAAuB,EAC5B,KAAK,wBAAwB,EAC7B,KAAK,uBAAuB,EAC5B,KAAK,YAAY,EACjB,KAAK,iBAAiB,EACtB,KAAK,oBAAoB,GAC1B,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EACL,8BAA8B,EAC9B,mCAAmC,EACnC,mCAAmC,EACnC,mCAAmC,EACnC,+BAA+B,EAC/B,qCAAqC,EACrC,6BAA6B,EAC7B,yBAAyB,EACzB,KAAK,+BAA+B,EACpC,KAAK,yBAAyB,EAC9B,KAAK,wBAAwB,GAC9B,MAAM,0BAA0B,CAAC;AAClC,OAAO,EACL,8BAA8B,EAC9B,8BAA8B,EAC9B,4BAA4B,EAC5B,+BAA+B,EAC/B,6BAA6B,EAC7B,wBAAwB,EACxB,KAAK,yBAAyB,EAC9B,KAAK,wBAAwB,GAC9B,MAAM,0BAA0B,CAAC;AAClC,OAAO,EACL,4BAA4B,EAC5B,YAAY,EACZ,kBAAkB,EAClB,KAAK,oBAAoB,GAC1B,MAAM,yBAAyB,CAAC;AACjC,OAAO,EAAE,kBAAkB,EAAE,yBAAyB,EAAE,KAAK,mBAAmB,EAAE,MAAM,qBAAqB,CAAC;AAC9G,OAAO,EAAE,KAAK,gBAAgB,EAAE,KAAK,YAAY,EAAE,MAAM,wBAAwB,CAAC;AAClF,OAAO,EAAE,oBAAoB,EAAE,+BAA+B,EAAE,KAAK,0BAA0B,EAAE,MAAM,6BAA6B,CAAC;AACrI,OAAO,EAAE,gBAAgB,EAAE,yBAAyB,EAAE,KAAK,iBAAiB,EAAE,KAAK,gBAAgB,EAAE,MAAM,iBAAiB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/discovery/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,OAAO,EACP,kBAAkB,EAClB,eAAe,EACf,sBAAsB,EACtB,eAAe,EACf,SAAS,EACT,WAAW,EACX,QAAQ,EACR,YAAY,EACZ,KAAK,eAAe,EACpB,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,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,EACL,gBAAgB,EAChB,6BAA6B,EAC7B,KAAK,uBAAuB,EAC5B,KAAK,wBAAwB,EAC7B,KAAK,uBAAuB,EAC5B,KAAK,YAAY,EACjB,KAAK,iBAAiB,EACtB,KAAK,oBAAoB,GAC1B,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EACL,8BAA8B,EAC9B,mCAAmC,EACnC,mCAAmC,EACnC,mCAAmC,EACnC,+BAA+B,EAC/B,qCAAqC,EACrC,6BAA6B,EAC7B,yBAAyB,EACzB,KAAK,+BAA+B,EACpC,KAAK,yBAAyB,EAC9B,KAAK,wBAAwB,GAC9B,MAAM,0BAA0B,CAAC;AAClC,OAAO,EACL,8BAA8B,EAC9B,8BAA8B,EAC9B,4BAA4B,EAC5B,+BAA+B,EAC/B,6BAA6B,EAC7B,wBAAwB,EACxB,KAAK,yBAAyB,EAC9B,KAAK,wBAAwB,GAC9B,MAAM,0BAA0B,CAAC;AAClC,OAAO,EACL,4BAA4B,EAC5B,YAAY,EACZ,kBAAkB,EAClB,KAAK,oBAAoB,GAC1B,MAAM,yBAAyB,CAAC;AACjC,OAAO,EAAE,kBAAkB,EAAE,yBAAyB,EAAE,KAAK,mBAAmB,EAAE,MAAM,qBAAqB,CAAC;AAC9G,OAAO,EAAE,KAAK,gBAAgB,EAAE,KAAK,YAAY,EAAE,MAAM,wBAAwB,CAAC;AAClF,OAAO,EAAE,oBAAoB,EAAE,+BAA+B,EAAE,KAAK,0BAA0B,EAAE,MAAM,6BAA6B,CAAC;AACrI,OAAO,EAAE,gBAAgB,EAAE,yBAAyB,EAAE,KAAK,iBAAiB,EAAE,KAAK,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AAC7H,OAAO,EACL,yBAAyB,EACzB,+BAA+B,EAC/B,oBAAoB,EACpB,sBAAsB,EACtB,iCAAiC,EACjC,qCAAqC,EACrC,KAAK,0BAA0B,EAC/B,KAAK,sBAAsB,EAC3B,KAAK,yBAAyB,EAC9B,KAAK,mBAAmB,GACzB,MAAM,sBAAsB,CAAC"}
@@ -11,4 +11,5 @@ export { collectPeerVerificationLinks, isGithubName, isGithubRepository, } from
11
11
  export { parsePublicAddress, MAX_PUBLIC_ADDRESS_LENGTH } from './public-address.js';
12
12
  export { HttpMetadataResolver, MAX_METADATA_HTTP_RESPONSE_SIZE } from './http-metadata-resolver.js';
13
13
  export { DHTHealthMonitor, DEFAULT_HEALTH_THRESHOLDS } from './dht-health.js';
14
+ export { buildNetworkServiceOffers, compareNetworkServiceOfferPrice, inferServiceProtocol, resolveServiceProtocol, selectLowestPricedCanonicalOffers, selectLowestPricedNetworkServiceOffer, } from './service-catalog.js';
14
15
  //# sourceMappingURL=index.js.map
@@ -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,sBAAsB,EACtB,eAAe,EACf,SAAS,EACT,WAAW,EACX,QAAQ,EACR,YAAY,GAGb,MAAM,eAAe,CAAC;AACvB,OAAO,EAAE,aAAa,EAAwB,MAAM,gBAAgB,CAAC;AACrE,OAAO,EAAE,UAAU,EAAE,qBAAqB,EAAwC,MAAM,kBAAkB,CAAC;AAE3G,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,EACL,gBAAgB,EAChB,6BAA6B,GAO9B,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EACL,8BAA8B,EAC9B,mCAAmC,EACnC,mCAAmC,EACnC,mCAAmC,EACnC,+BAA+B,EAC/B,qCAAqC,EACrC,6BAA6B,EAC7B,yBAAyB,GAI1B,MAAM,0BAA0B,CAAC;AAClC,OAAO,EACL,8BAA8B,EAC9B,8BAA8B,EAC9B,4BAA4B,EAC5B,+BAA+B,EAC/B,6BAA6B,EAC7B,wBAAwB,GAGzB,MAAM,0BAA0B,CAAC;AAClC,OAAO,EACL,4BAA4B,EAC5B,YAAY,EACZ,kBAAkB,GAEnB,MAAM,yBAAyB,CAAC;AACjC,OAAO,EAAE,kBAAkB,EAAE,yBAAyB,EAA4B,MAAM,qBAAqB,CAAC;AAE9G,OAAO,EAAE,oBAAoB,EAAE,+BAA+B,EAAmC,MAAM,6BAA6B,CAAC;AACrI,OAAO,EAAE,gBAAgB,EAAE,yBAAyB,EAAiD,MAAM,iBAAiB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/discovery/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,OAAO,EACP,kBAAkB,EAClB,eAAe,EACf,sBAAsB,EACtB,eAAe,EACf,SAAS,EACT,WAAW,EACX,QAAQ,EACR,YAAY,GAGb,MAAM,eAAe,CAAC;AACvB,OAAO,EAAE,aAAa,EAAwB,MAAM,gBAAgB,CAAC;AACrE,OAAO,EAAE,UAAU,EAAE,qBAAqB,EAAwC,MAAM,kBAAkB,CAAC;AAE3G,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,EACL,gBAAgB,EAChB,6BAA6B,GAO9B,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EACL,8BAA8B,EAC9B,mCAAmC,EACnC,mCAAmC,EACnC,mCAAmC,EACnC,+BAA+B,EAC/B,qCAAqC,EACrC,6BAA6B,EAC7B,yBAAyB,GAI1B,MAAM,0BAA0B,CAAC;AAClC,OAAO,EACL,8BAA8B,EAC9B,8BAA8B,EAC9B,4BAA4B,EAC5B,+BAA+B,EAC/B,6BAA6B,EAC7B,wBAAwB,GAGzB,MAAM,0BAA0B,CAAC;AAClC,OAAO,EACL,4BAA4B,EAC5B,YAAY,EACZ,kBAAkB,GAEnB,MAAM,yBAAyB,CAAC;AACjC,OAAO,EAAE,kBAAkB,EAAE,yBAAyB,EAA4B,MAAM,qBAAqB,CAAC;AAE9G,OAAO,EAAE,oBAAoB,EAAE,+BAA+B,EAAmC,MAAM,6BAA6B,CAAC;AACrI,OAAO,EAAE,gBAAgB,EAAE,yBAAyB,EAAiD,MAAM,iBAAiB,CAAC;AAC7H,OAAO,EACL,yBAAyB,EACzB,+BAA+B,EAC/B,oBAAoB,EACpB,sBAAsB,EACtB,iCAAiC,EACjC,qCAAqC,GAKtC,MAAM,sBAAsB,CAAC"}
@@ -0,0 +1,83 @@
1
+ export type CatalogServiceProtocol = 'anthropic-messages' | 'openai-chat-completions' | 'openai-responses' | 'openai-images';
2
+ export type CatalogServiceCapabilities = {
3
+ contextWindow?: number;
4
+ maxOutputTokens?: number;
5
+ inputs?: string[];
6
+ outputs?: string[];
7
+ reasoning?: boolean;
8
+ toolUse?: boolean;
9
+ structuredOutput?: boolean;
10
+ supportedParameters?: string[];
11
+ };
12
+ export type NetworkServiceCatalogPeer = {
13
+ peerId: string;
14
+ displayName?: string;
15
+ providers?: string[];
16
+ services?: string[];
17
+ reputationScore?: number;
18
+ onChainTrustScore?: number | null;
19
+ onChainReputationScore?: number | null;
20
+ providerServiceApiProtocols?: Record<string, {
21
+ services: Record<string, string[]>;
22
+ }>;
23
+ providerServiceCapabilities?: Record<string, {
24
+ services: Record<string, CatalogServiceCapabilities>;
25
+ }>;
26
+ providerServiceUnitBillingModels?: Record<string, {
27
+ services: Record<string, Partial<Record<string, {
28
+ version: number;
29
+ components: Array<{
30
+ unit: string;
31
+ priceUsd: number;
32
+ match?: Record<string, string>;
33
+ }>;
34
+ }>>>;
35
+ }>;
36
+ providerPricing?: Record<string, {
37
+ defaults?: {
38
+ inputUsdPerMillion?: number;
39
+ outputUsdPerMillion?: number;
40
+ cachedInputUsdPerMillion?: number;
41
+ input?: number;
42
+ output?: number;
43
+ };
44
+ services?: Record<string, {
45
+ inputUsdPerMillion?: number;
46
+ outputUsdPerMillion?: number;
47
+ cachedInputUsdPerMillion?: number;
48
+ input?: number;
49
+ output?: number;
50
+ }>;
51
+ }>;
52
+ providerServiceCategories?: Record<string, {
53
+ services: Record<string, string[]>;
54
+ }>;
55
+ defaultInputUsdPerMillion?: number;
56
+ defaultOutputUsdPerMillion?: number;
57
+ defaultCachedInputUsdPerMillion?: number;
58
+ };
59
+ export type NetworkServiceOffer = {
60
+ serviceId: string;
61
+ provider: string;
62
+ protocols: string[];
63
+ protocol: CatalogServiceProtocol | null;
64
+ type: 'text' | 'image';
65
+ capabilities?: CatalogServiceCapabilities;
66
+ categories?: string[];
67
+ peerId: string;
68
+ displayName?: string;
69
+ reputationScore?: number;
70
+ inputUsdPerMillion?: number;
71
+ outputUsdPerMillion?: number;
72
+ cachedInputUsdPerMillion?: number;
73
+ minImageUsdPerImage?: number;
74
+ maxImageUsdPerImage?: number;
75
+ };
76
+ export declare function inferServiceProtocol(provider: string): Exclude<CatalogServiceProtocol, 'openai-images'> | null;
77
+ export declare function resolveServiceProtocol(protocols: string[], provider: string): CatalogServiceProtocol | null;
78
+ export declare function buildNetworkServiceOffers(peers: NetworkServiceCatalogPeer[]): NetworkServiceOffer[];
79
+ export declare function compareNetworkServiceOfferPrice(a: NetworkServiceOffer, b: NetworkServiceOffer): number;
80
+ export declare function selectLowestPricedNetworkServiceOffer(offers: NetworkServiceOffer[]): NetworkServiceOffer | null;
81
+ /** One cheapest advertised route per peer and canonical model, across providers and aliases. */
82
+ export declare function selectLowestPricedCanonicalOffers(offers: NetworkServiceOffer[]): NetworkServiceOffer[];
83
+ //# sourceMappingURL=service-catalog.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"service-catalog.d.ts","sourceRoot":"","sources":["../../src/discovery/service-catalog.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,155 @@
1
+ import { CODING_ONLY_SUFFIX_RE, canonicalModelKey } from '../model-identity.js';
2
+ const VALID_PROTOCOLS = new Set([
3
+ 'anthropic-messages',
4
+ 'openai-chat-completions',
5
+ 'openai-responses',
6
+ 'openai-images',
7
+ ]);
8
+ export function inferServiceProtocol(provider) {
9
+ if (provider === 'openai-responses')
10
+ return 'openai-responses';
11
+ if (provider === 'openai' || provider === 'openrouter' || provider === 'local-llm') {
12
+ return 'openai-chat-completions';
13
+ }
14
+ if (provider === 'anthropic' || provider === 'claude-code' || provider === 'claude-oauth') {
15
+ return 'anthropic-messages';
16
+ }
17
+ return null;
18
+ }
19
+ export function resolveServiceProtocol(protocols, provider) {
20
+ if (protocols.includes('openai-images'))
21
+ return 'openai-images';
22
+ const announced = protocols.find((protocol) => VALID_PROTOCOLS.has(protocol));
23
+ return announced ?? inferServiceProtocol(provider);
24
+ }
25
+ function announcedServicesByProvider(peer) {
26
+ const byProvider = new Map();
27
+ const matrices = [
28
+ peer.providerPricing,
29
+ peer.providerServiceApiProtocols,
30
+ peer.providerServiceCategories,
31
+ peer.providerServiceUnitBillingModels,
32
+ peer.providerServiceCapabilities,
33
+ ];
34
+ for (const matrix of matrices) {
35
+ for (const [provider, entry] of Object.entries(matrix ?? {})) {
36
+ const announcedServiceIds = Object.keys(entry.services ?? {}).filter((serviceId) => serviceId.trim());
37
+ if (announcedServiceIds.length === 0)
38
+ continue;
39
+ const serviceIds = byProvider.get(provider) ?? new Set();
40
+ byProvider.set(provider, serviceIds);
41
+ for (const serviceId of announcedServiceIds)
42
+ serviceIds.add(serviceId);
43
+ }
44
+ }
45
+ if (byProvider.size === 0 && peer.services?.length && peer.providers?.length) {
46
+ const serviceIds = peer.services.filter((serviceId) => serviceId.trim());
47
+ for (const provider of peer.providers) {
48
+ if (provider.trim())
49
+ byProvider.set(provider, new Set(serviceIds));
50
+ }
51
+ }
52
+ else if (byProvider.size === 0 && peer.providers?.length) {
53
+ for (const provider of peer.providers)
54
+ byProvider.set(provider, new Set([provider]));
55
+ }
56
+ return byProvider;
57
+ }
58
+ function resolvePricing(peer, provider, serviceId) {
59
+ const providerPricing = peer.providerPricing?.[provider];
60
+ const servicePricing = providerPricing?.services?.[serviceId];
61
+ const defaults = providerPricing?.defaults;
62
+ const inputUsdPerMillion = servicePricing?.inputUsdPerMillion
63
+ ?? servicePricing?.input
64
+ ?? defaults?.inputUsdPerMillion
65
+ ?? defaults?.input
66
+ ?? peer.defaultInputUsdPerMillion;
67
+ const outputUsdPerMillion = servicePricing?.outputUsdPerMillion
68
+ ?? servicePricing?.output
69
+ ?? defaults?.outputUsdPerMillion
70
+ ?? defaults?.output
71
+ ?? peer.defaultOutputUsdPerMillion;
72
+ const cachedInputUsdPerMillion = servicePricing?.cachedInputUsdPerMillion
73
+ ?? defaults?.cachedInputUsdPerMillion
74
+ ?? peer.defaultCachedInputUsdPerMillion;
75
+ return { inputUsdPerMillion, outputUsdPerMillion, cachedInputUsdPerMillion };
76
+ }
77
+ function resolveImagePriceRange(peer, provider, serviceId) {
78
+ const billingByProtocol = peer.providerServiceUnitBillingModels?.[provider]?.services?.[serviceId];
79
+ const prices = Object.values(billingByProtocol ?? {}).flatMap((model) => (model?.components ?? [])
80
+ .filter((component) => component.unit === 'output_images' && Number.isFinite(component.priceUsd) && component.priceUsd >= 0)
81
+ .map((component) => component.priceUsd));
82
+ return prices.length > 0
83
+ ? { minImageUsdPerImage: Math.min(...prices), maxImageUsdPerImage: Math.max(...prices) }
84
+ : {};
85
+ }
86
+ export function buildNetworkServiceOffers(peers) {
87
+ const offers = [];
88
+ for (const peer of peers) {
89
+ for (const [provider, serviceIds] of announcedServicesByProvider(peer)) {
90
+ for (const serviceId of serviceIds) {
91
+ const protocols = peer.providerServiceApiProtocols?.[provider]?.services?.[serviceId] ?? [];
92
+ const capabilities = peer.providerServiceCapabilities?.[provider]?.services?.[serviceId];
93
+ const categories = peer.providerServiceCategories?.[provider]?.services?.[serviceId];
94
+ const protocol = resolveServiceProtocol(protocols, provider);
95
+ const type = protocol === 'openai-images' || capabilities?.outputs?.includes('image')
96
+ ? 'image'
97
+ : 'text';
98
+ const pricing = resolvePricing(peer, provider, serviceId);
99
+ offers.push({
100
+ serviceId,
101
+ provider,
102
+ protocols,
103
+ protocol,
104
+ type,
105
+ ...(capabilities ? { capabilities } : {}),
106
+ ...(categories?.length ? { categories } : {}),
107
+ peerId: peer.peerId,
108
+ ...(peer.displayName ? { displayName: peer.displayName } : {}),
109
+ ...(peer.reputationScore !== undefined ? { reputationScore: peer.reputationScore } : {}),
110
+ ...(pricing.inputUsdPerMillion !== undefined ? { inputUsdPerMillion: pricing.inputUsdPerMillion } : {}),
111
+ ...(pricing.outputUsdPerMillion !== undefined ? { outputUsdPerMillion: pricing.outputUsdPerMillion } : {}),
112
+ ...(pricing.cachedInputUsdPerMillion !== undefined ? { cachedInputUsdPerMillion: pricing.cachedInputUsdPerMillion } : {}),
113
+ ...resolveImagePriceRange(peer, provider, serviceId),
114
+ });
115
+ }
116
+ }
117
+ }
118
+ return offers;
119
+ }
120
+ function comparableOfferPrice(offer) {
121
+ if (offer.type === 'image')
122
+ return offer.minImageUsdPerImage ?? Number.POSITIVE_INFINITY;
123
+ if (offer.inputUsdPerMillion === undefined || offer.outputUsdPerMillion === undefined) {
124
+ return Number.POSITIVE_INFINITY;
125
+ }
126
+ return offer.inputUsdPerMillion + offer.outputUsdPerMillion;
127
+ }
128
+ export function compareNetworkServiceOfferPrice(a, b) {
129
+ return comparableOfferPrice(a) - comparableOfferPrice(b)
130
+ || a.serviceId.localeCompare(b.serviceId)
131
+ || a.provider.localeCompare(b.provider);
132
+ }
133
+ export function selectLowestPricedNetworkServiceOffer(offers) {
134
+ return [...offers].sort(compareNetworkServiceOfferPrice)[0] ?? null;
135
+ }
136
+ /** One cheapest advertised route per peer and canonical model, across providers and aliases. */
137
+ export function selectLowestPricedCanonicalOffers(offers) {
138
+ const grouped = new Map();
139
+ for (const offer of offers) {
140
+ const modelKey = canonicalModelKey(offer.serviceId);
141
+ if (!modelKey)
142
+ continue;
143
+ const key = `${offer.peerId}\u0000${modelKey}`;
144
+ const candidates = grouped.get(key) ?? [];
145
+ candidates.push(offer);
146
+ grouped.set(key, candidates);
147
+ }
148
+ return [...grouped.values()]
149
+ .map((candidates) => {
150
+ const unrestricted = candidates.filter((offer) => !CODING_ONLY_SUFFIX_RE.test(offer.serviceId));
151
+ return selectLowestPricedNetworkServiceOffer(unrestricted.length > 0 ? unrestricted : candidates);
152
+ })
153
+ .filter((offer) => offer !== null);
154
+ }
155
+ //# sourceMappingURL=service-catalog.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"service-catalog.js","sourceRoot":"","sources":["../../src/discovery/service-catalog.ts"],"names":[],"mappings":"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"}
package/dist/index.d.ts CHANGED
@@ -4,6 +4,8 @@ export { ModelHealthChecker, DEFAULT_HEALTH_CHECK_INTERVAL_MS, DEFAULT_HEALTH_CH
4
4
  export type { Router } from './interfaces/buyer-router.js';
5
5
  export * from './types/index.js';
6
6
  export * from './billing/index.js';
7
+ export { canonicalModelKey, preferredModelDisplayName, sameCanonicalModel } from './model-identity.js';
8
+ export { compareNetworkServiceOfferPrice, selectLowestPricedCanonicalOffers, selectLowestPricedNetworkServiceOffer, } from './discovery/service-catalog.js';
7
9
  export { AntseedRequestError, buyerFault, peerFault, faultAttributionOf, faultCodeOf, type FaultAttribution, type AntseedErrorCode, } from './errors.js';
8
10
  export { loadOrCreateIdentity, identityFromPrivateKeyHex, type Identity, type IdentityStore, FileIdentityStore, hexToBytes, bytesToHex, } from './p2p/identity.js';
9
11
  export { DHTNode, DEFAULT_DHT_CONFIG } from './discovery/dht-node.js';
@@ -15,6 +17,7 @@ export { GITHUB_VERIFICATION_PROOF_FILE, GITHUB_VERIFICATION_PROOF_TYPE, buildGi
15
17
  export { collectPeerVerificationLinks, isGithubName, isGithubRepository, type PeerVerificationLink, } from './discovery/verification-links.js';
16
18
  export { MetadataServer, type MetadataServerConfig } from './discovery/metadata-server.js';
17
19
  export { parsePublicAddress, MAX_PUBLIC_ADDRESS_LENGTH, type ParsedPublicAddress } from './discovery/public-address.js';
20
+ export { buildNetworkServiceOffers, inferServiceProtocol, resolveServiceProtocol, type CatalogServiceCapabilities, type CatalogServiceProtocol, type NetworkServiceCatalogPeer, type NetworkServiceOffer, } from './discovery/service-catalog.js';
18
21
  export { MeteringStorage } from './metering/storage.js';
19
22
  export { BalanceManager } from './payments/balance-manager.js';
20
23
  export { computeCostUsdc, estimateTokensFromBytes, estimateTokensFromText, type ServicePricing, } from './payments/pricing.js';
@@ -54,9 +57,11 @@ export { VerificationMux, VerificationSampler, VerificationStorage, createRespon
54
57
  export { resolveProvider } from './proxy/provider-detection.js';
55
58
  export { detectRequestServiceApiProtocol, createStreamingAdapter, inferProviderDefaultServiceApiProtocols, selectTargetProtocolForRequest, transformRequest, transformResponse, type TargetProtocolSelection, type ServiceApiRequestTransformOptions, type ServiceApiRequestTransformResult, type ServiceApiResponseTransformOptions, type ServiceApiStreamTransformOptions, type StreamingResponseAdapter, } from './proxy/service-api-adapter.js';
56
59
  export { DefaultRouter, type DefaultRouterConfig } from './routing/default-router.js';
60
+ export { DEFAULT_MODEL_ROUTING_PREFERENCES, chooseBestModelRoute, isModelRouteCoolingDown, isModelRouteEligible, isModelRoutePeerAllowed, modelRouteReputationScore, modelRouteTotalPrice, rankModelRoutes, scoreModelRoute, type ModelRouteCandidate, type ModelRoutingPreferences, type ScoredModelRoute, } from './routing/model-route-ranking.js';
57
61
  export type { AntseedPlugin, AntseedProviderPlugin, AntseedRouterPlugin, AntseedVerifierPlugin, Prover, VerifyContext, VerifyResult, ClaimResult, SellerRequest, SellerResponse, PluginConfigKey, ConfigField } from './interfaces/plugin.js';
58
62
  export { ANTSEED_ATTEST_PATH } from './interfaces/plugin.js';
59
63
  export { UptimeTracker } from './reputation/uptime-tracker.js';
64
+ export { MISSING_CACHED_INPUT_PRICE_REPUTATION_MULTIPLIER, compareEffectiveModelReputation, effectiveModelReputationScore, normalizedModelReputationScore, type ModelReputationSource, } from './reputation/model-reputation.js';
60
65
  export { computeOnChainTrust, computeOnChainTrustBreakdown, buildSybilContext, computeOnChainSybilRisk, computeOnChainScore, scoreFromTrust, computeOnChainReputationScore, ON_CHAIN_TRUST_TICKET_TARGET_USDC, ON_CHAIN_TRUST_TICKET_MIN, ON_CHAIN_TRUST_TICKET_MAX, ON_CHAIN_TRUST_RECENCY_FRESH_DAYS, ON_CHAIN_TRUST_RECENCY_STALE_DAYS, ON_CHAIN_TRUST_RECENCY_DORMANT_FACTOR, ON_CHAIN_TRUST_STAKE_THRESHOLD_USDC, ON_CHAIN_TRUST_NO_STAKE_FACTOR, ON_CHAIN_SCORE_LOG_CAP_EXPONENT, SYBIL_WEIGHT_SUBFLOOR_TICKET, SYBIL_WEIGHT_BURN_RATE, SYBIL_WEIGHT_NARROW_CUSTOM, SYBIL_WEIGHT_YOUNG_HIGH_VOL, SYBIL_SUBFLOOR_TICKET_USDC, SYBIL_SUBFLOOR_MIN_CHANNELS, SYBIL_BURN_RATE_THRESHOLD, SYBIL_BURN_RATE_SATURATION, SYBIL_YOUNG_MAX_DAYS, SYBIL_YOUNG_CHANNEL_FLOOR, SYBIL_YOUNG_CHANNEL_SATURATION, SYBIL_ADVERTISED_CHEAP_INPUT_USD_PER_MILLION, type OnChainTrustBreakdown, type SybilContext, type SybilRiskResult, type SybilFlag, } from './reputation/on-chain-reputation.js';
61
66
  export type { UptimeWindow, PeerUptimeRecord } from './reputation/uptime-tracker.js';
62
67
  export { ReportManager } from './reputation/report-manager.js';
@@ -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/index.js CHANGED
@@ -4,6 +4,8 @@ export { ModelHealthChecker, DEFAULT_HEALTH_CHECK_INTERVAL_MS, DEFAULT_HEALTH_CH
4
4
  // Types (re-export everything)
5
5
  export * from './types/index.js';
6
6
  export * from './billing/index.js';
7
+ export { canonicalModelKey, preferredModelDisplayName, sameCanonicalModel } from './model-identity.js';
8
+ export { compareNetworkServiceOfferPrice, selectLowestPricedCanonicalOffers, selectLowestPricedNetworkServiceOffer, } from './discovery/service-catalog.js';
7
9
  // Fault attribution — lets consumers tell a dead peer from a broken buyer.
8
10
  export { AntseedRequestError, buyerFault, peerFault, faultAttributionOf, faultCodeOf, } from './errors.js';
9
11
  // Submodule re-exports (commonly used)
@@ -17,6 +19,7 @@ export { GITHUB_VERIFICATION_PROOF_FILE, GITHUB_VERIFICATION_PROOF_TYPE, buildGi
17
19
  export { collectPeerVerificationLinks, isGithubName, isGithubRepository, } from './discovery/verification-links.js';
18
20
  export { MetadataServer } from './discovery/metadata-server.js';
19
21
  export { parsePublicAddress, MAX_PUBLIC_ADDRESS_LENGTH } from './discovery/public-address.js';
22
+ export { buildNetworkServiceOffers, inferServiceProtocol, resolveServiceProtocol, } from './discovery/service-catalog.js';
20
23
  export { MeteringStorage } from './metering/storage.js';
21
24
  export { BalanceManager } from './payments/balance-manager.js';
22
25
  export { computeCostUsdc, estimateTokensFromBytes, estimateTokensFromText, } from './payments/pricing.js';
@@ -48,9 +51,11 @@ export { VerificationMux, VerificationSampler, VerificationStorage, createRespon
48
51
  export { resolveProvider } from './proxy/provider-detection.js';
49
52
  export { detectRequestServiceApiProtocol, createStreamingAdapter, inferProviderDefaultServiceApiProtocols, selectTargetProtocolForRequest, transformRequest, transformResponse, } from './proxy/service-api-adapter.js';
50
53
  export { DefaultRouter } from './routing/default-router.js';
54
+ export { DEFAULT_MODEL_ROUTING_PREFERENCES, chooseBestModelRoute, isModelRouteCoolingDown, isModelRouteEligible, isModelRoutePeerAllowed, modelRouteReputationScore, modelRouteTotalPrice, rankModelRoutes, scoreModelRoute, } from './routing/model-route-ranking.js';
51
55
  export { ANTSEED_ATTEST_PATH } from './interfaces/plugin.js';
52
56
  // Reputation
53
57
  export { UptimeTracker } from './reputation/uptime-tracker.js';
58
+ export { MISSING_CACHED_INPUT_PRICE_REPUTATION_MULTIPLIER, compareEffectiveModelReputation, effectiveModelReputationScore, normalizedModelReputationScore, } from './reputation/model-reputation.js';
54
59
  export { computeOnChainTrust, computeOnChainTrustBreakdown, buildSybilContext, computeOnChainSybilRisk, computeOnChainScore, scoreFromTrust, computeOnChainReputationScore, ON_CHAIN_TRUST_TICKET_TARGET_USDC, ON_CHAIN_TRUST_TICKET_MIN, ON_CHAIN_TRUST_TICKET_MAX, ON_CHAIN_TRUST_RECENCY_FRESH_DAYS, ON_CHAIN_TRUST_RECENCY_STALE_DAYS, ON_CHAIN_TRUST_RECENCY_DORMANT_FACTOR, ON_CHAIN_TRUST_STAKE_THRESHOLD_USDC, ON_CHAIN_TRUST_NO_STAKE_FACTOR, ON_CHAIN_SCORE_LOG_CAP_EXPONENT, SYBIL_WEIGHT_SUBFLOOR_TICKET, SYBIL_WEIGHT_BURN_RATE, SYBIL_WEIGHT_NARROW_CUSTOM, SYBIL_WEIGHT_YOUNG_HIGH_VOL, SYBIL_SUBFLOOR_TICKET_USDC, SYBIL_SUBFLOOR_MIN_CHANNELS, SYBIL_BURN_RATE_THRESHOLD, SYBIL_BURN_RATE_SATURATION, SYBIL_YOUNG_MAX_DAYS, SYBIL_YOUNG_CHANNEL_FLOOR, SYBIL_YOUNG_CHANNEL_SATURATION, SYBIL_ADVERTISED_CHEAP_INPUT_USD_PER_MILLION, } from './reputation/on-chain-reputation.js';
55
60
  export { ReportManager } from './reputation/report-manager.js';
56
61
  export { RatingManager } from './reputation/rating-manager.js';
package/dist/index.js.map CHANGED
@@ -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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"}
@@ -0,0 +1,19 @@
1
+ /** Trailing "coding only" restriction suffix on an advertised service id. */
2
+ export declare const CODING_ONLY_SUFFIX_RE: RegExp;
3
+ /**
4
+ * Normalize advertised model names into a conservative cross-provider match
5
+ * key. Cosmetic separators, vendor paths, `latest`, and trailing release dates
6
+ * are ignored. Known flattened vendor prefixes are ignored only when followed
7
+ * by their established model family. Numeric version punctuation is compacted
8
+ * for established versioned families, covering equivalent forms such as
9
+ * `gpt-5.6`, `gpt-5-6`, and `gpt-56` without changing arbitrary service ids.
10
+ */
11
+ export declare function canonicalModelKey(serviceId: string): string;
12
+ export declare function sameCanonicalModel(a: string, b: string): boolean;
13
+ /**
14
+ * Protocol-wide preferred model display name. Routing identifiers remain
15
+ * untouched; this only gives every client a deterministic human label for
16
+ * equivalent advertised aliases.
17
+ */
18
+ export declare function preferredModelDisplayName(serviceId: string, serviceLabel?: string | null): string;
19
+ //# sourceMappingURL=model-identity.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"model-identity.d.ts","sourceRoot":"","sources":["../src/model-identity.ts"],"names":[],"mappings":"AAAA,6EAA6E;AAC7E,eAAO,MAAM,qBAAqB,QAAkD,CAAC;AA0BrF;;;;;;;GAOG;AACH,wBAAgB,iBAAiB,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM,CAU3D;AAgBD,wBAAgB,kBAAkB,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,GAAG,OAAO,CAGhE;AAuFD;;;;GAIG;AACH,wBAAgB,yBAAyB,CAAC,SAAS,EAAE,MAAM,EAAE,YAAY,CAAC,EAAE,MAAM,GAAG,IAAI,GAAG,MAAM,CAejG"}