@antseed/cli 0.1.95 → 0.1.96

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 (35) hide show
  1. package/dist/cli/commands/buyer/start.d.ts.map +1 -1
  2. package/dist/cli/commands/buyer/start.js +22 -2
  3. package/dist/cli/commands/buyer/start.js.map +1 -1
  4. package/dist/cli/commands/network/browse.d.ts +1 -2
  5. package/dist/cli/commands/network/browse.d.ts.map +1 -1
  6. package/dist/cli/commands/network/browse.js +528 -94
  7. package/dist/cli/commands/network/browse.js.map +1 -1
  8. package/dist/cli/commands/network/chain-config-helper.d.ts +35 -0
  9. package/dist/cli/commands/network/chain-config-helper.d.ts.map +1 -0
  10. package/dist/cli/commands/network/chain-config-helper.js +45 -0
  11. package/dist/cli/commands/network/chain-config-helper.js.map +1 -0
  12. package/dist/cli/commands/network/index.d.ts.map +1 -1
  13. package/dist/cli/commands/network/index.js +2 -0
  14. package/dist/cli/commands/network/index.js.map +1 -1
  15. package/dist/cli/commands/network/peer.d.ts +6 -0
  16. package/dist/cli/commands/network/peer.d.ts.map +1 -0
  17. package/dist/cli/commands/network/peer.js +297 -0
  18. package/dist/cli/commands/network/peer.js.map +1 -0
  19. package/dist/cli/commands/network/pricing-format.d.ts +25 -0
  20. package/dist/cli/commands/network/pricing-format.d.ts.map +1 -0
  21. package/dist/cli/commands/network/pricing-format.js +38 -0
  22. package/dist/cli/commands/network/pricing-format.js.map +1 -0
  23. package/dist/cli/commands/network/tag-filter.d.ts +30 -0
  24. package/dist/cli/commands/network/tag-filter.d.ts.map +1 -0
  25. package/dist/cli/commands/network/tag-filter.js +75 -0
  26. package/dist/cli/commands/network/tag-filter.js.map +1 -0
  27. package/dist/proxy/buyer-proxy.d.ts +5 -4
  28. package/dist/proxy/buyer-proxy.d.ts.map +1 -1
  29. package/dist/proxy/buyer-proxy.js +130 -206
  30. package/dist/proxy/buyer-proxy.js.map +1 -1
  31. package/dist/proxy/routing.d.ts +0 -1
  32. package/dist/proxy/routing.d.ts.map +1 -1
  33. package/dist/proxy/routing.js +0 -7
  34. package/dist/proxy/routing.js.map +1 -1
  35. package/package.json +6 -6
@@ -1 +1 @@
1
- {"version":3,"file":"browse.js","sourceRoot":"","sources":["../../../../src/cli/commands/network/browse.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"browse.js","sourceRoot":"","sources":["../../../../src/cli/commands/network/browse.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,35 @@
1
+ import { type NodePaymentsConfig } from '@antseed/node';
2
+ /**
3
+ * The subset of the CLI's `payments.crypto` user overrides that chain-aware
4
+ * network commands actually consume. Matches the shape of
5
+ * `AntseedConfig.payments.crypto` from the CLI's config/types.ts.
6
+ */
7
+ export interface ChainCryptoOverrides {
8
+ chainId?: 'base-local' | 'base-sepolia' | 'base-mainnet';
9
+ rpcUrl?: string;
10
+ fallbackRpcUrls?: string[];
11
+ depositsContractAddress?: string;
12
+ channelsContractAddress?: string;
13
+ usdcContractAddress?: string;
14
+ stakingContractAddress?: string;
15
+ identityRegistryAddress?: string;
16
+ }
17
+ /**
18
+ * Build the `NodePaymentsConfig` an ad-hoc `AntseedNode` needs to enrich peers
19
+ * with on-chain stats (channel count, ghost count, total volume, last-settled).
20
+ * Used by short-lived buyer nodes spun up by `antseed network browse` and
21
+ * `antseed network peer` when a buyer daemon isn't already running.
22
+ *
23
+ * Returns `undefined` when the chain can't be resolved (missing `chainId`,
24
+ * RPC, or contract addresses) so callers can gracefully skip on-chain
25
+ * enrichment instead of erroring out. The caller is responsible for deciding
26
+ * what to do with `undefined` — typically: skip the enrichment loop and show
27
+ * on-chain columns as "—".
28
+ *
29
+ * The `stakingAddress` + `identityRegistryAddress` wiring is critical: without
30
+ * them `AntseedNode._initializePayments` never creates a `StakingClient` /
31
+ * `IdentityClient`, which gates the on-chain verification loop in
32
+ * `discoverPeers()`.
33
+ */
34
+ export declare function buildPaymentsConfig(cryptoOverrides: ChainCryptoOverrides | undefined): NodePaymentsConfig | undefined;
35
+ //# sourceMappingURL=chain-config-helper.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"chain-config-helper.d.ts","sourceRoot":"","sources":["../../../../src/cli/commands/network/chain-config-helper.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,KAAK,kBAAkB,EACxB,MAAM,eAAe,CAAC;AAEvB;;;;GAIG;AACH,MAAM,WAAW,oBAAoB;IACnC,OAAO,CAAC,EAAE,YAAY,GAAG,cAAc,GAAG,cAAc,CAAC;IACzD,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,eAAe,CAAC,EAAE,MAAM,EAAE,CAAC;IAC3B,uBAAuB,CAAC,EAAE,MAAM,CAAC;IACjC,uBAAuB,CAAC,EAAE,MAAM,CAAC;IACjC,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B,sBAAsB,CAAC,EAAE,MAAM,CAAC;IAChC,uBAAuB,CAAC,EAAE,MAAM,CAAC;CAClC;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAgB,mBAAmB,CACjC,eAAe,EAAE,oBAAoB,GAAG,SAAS,GAChD,kBAAkB,GAAG,SAAS,CAwBhC"}
@@ -0,0 +1,45 @@
1
+ import { resolveChainConfig, } from '@antseed/node';
2
+ /**
3
+ * Build the `NodePaymentsConfig` an ad-hoc `AntseedNode` needs to enrich peers
4
+ * with on-chain stats (channel count, ghost count, total volume, last-settled).
5
+ * Used by short-lived buyer nodes spun up by `antseed network browse` and
6
+ * `antseed network peer` when a buyer daemon isn't already running.
7
+ *
8
+ * Returns `undefined` when the chain can't be resolved (missing `chainId`,
9
+ * RPC, or contract addresses) so callers can gracefully skip on-chain
10
+ * enrichment instead of erroring out. The caller is responsible for deciding
11
+ * what to do with `undefined` — typically: skip the enrichment loop and show
12
+ * on-chain columns as "—".
13
+ *
14
+ * The `stakingAddress` + `identityRegistryAddress` wiring is critical: without
15
+ * them `AntseedNode._initializePayments` never creates a `StakingClient` /
16
+ * `IdentityClient`, which gates the on-chain verification loop in
17
+ * `discoverPeers()`.
18
+ */
19
+ export function buildPaymentsConfig(cryptoOverrides) {
20
+ try {
21
+ const resolved = resolveChainConfig({
22
+ chainId: cryptoOverrides?.chainId,
23
+ rpcUrl: cryptoOverrides?.rpcUrl,
24
+ depositsContractAddress: cryptoOverrides?.depositsContractAddress,
25
+ channelsContractAddress: cryptoOverrides?.channelsContractAddress,
26
+ usdcContractAddress: cryptoOverrides?.usdcContractAddress,
27
+ });
28
+ const paymentsConfig = {
29
+ enabled: true,
30
+ rpcUrl: resolved.rpcUrl,
31
+ ...(resolved.fallbackRpcUrls ? { fallbackRpcUrls: resolved.fallbackRpcUrls } : {}),
32
+ depositsAddress: resolved.depositsContractAddress,
33
+ channelsAddress: resolved.channelsContractAddress,
34
+ usdcAddress: resolved.usdcContractAddress,
35
+ chainId: resolved.evmChainId,
36
+ ...(resolved.stakingContractAddress ? { stakingAddress: resolved.stakingContractAddress } : {}),
37
+ ...(resolved.identityRegistryAddress ? { identityRegistryAddress: resolved.identityRegistryAddress } : {}),
38
+ };
39
+ return paymentsConfig;
40
+ }
41
+ catch {
42
+ return undefined;
43
+ }
44
+ }
45
+ //# sourceMappingURL=chain-config-helper.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"chain-config-helper.js","sourceRoot":"","sources":["../../../../src/cli/commands/network/chain-config-helper.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,kBAAkB,GAEnB,MAAM,eAAe,CAAC;AAkBvB;;;;;;;;;;;;;;;;GAgBG;AACH,MAAM,UAAU,mBAAmB,CACjC,eAAiD;IAEjD,IAAI,CAAC;QACH,MAAM,QAAQ,GAAG,kBAAkB,CAAC;YAClC,OAAO,EAAE,eAAe,EAAE,OAAO;YACjC,MAAM,EAAE,eAAe,EAAE,MAAM;YAC/B,uBAAuB,EAAE,eAAe,EAAE,uBAAuB;YACjE,uBAAuB,EAAE,eAAe,EAAE,uBAAuB;YACjE,mBAAmB,EAAE,eAAe,EAAE,mBAAmB;SAC1D,CAAC,CAAC;QACH,MAAM,cAAc,GAAuB;YACzC,OAAO,EAAE,IAAI;YACb,MAAM,EAAE,QAAQ,CAAC,MAAM;YACvB,GAAG,CAAC,QAAQ,CAAC,eAAe,CAAC,CAAC,CAAC,EAAE,eAAe,EAAE,QAAQ,CAAC,eAAe,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YAClF,eAAe,EAAE,QAAQ,CAAC,uBAAuB;YACjD,eAAe,EAAE,QAAQ,CAAC,uBAAuB;YACjD,WAAW,EAAE,QAAQ,CAAC,mBAAmB;YACzC,OAAO,EAAE,QAAQ,CAAC,UAAU;YAC5B,GAAG,CAAC,QAAQ,CAAC,sBAAsB,CAAC,CAAC,CAAC,EAAE,cAAc,EAAE,QAAQ,CAAC,sBAAsB,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YAC/F,GAAG,CAAC,QAAQ,CAAC,uBAAuB,CAAC,CAAC,CAAC,EAAE,uBAAuB,EAAE,QAAQ,CAAC,uBAAuB,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SAC3G,CAAC;QACF,OAAO,cAAc,CAAC;IACxB,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,SAAS,CAAC;IACnB,CAAC;AACH,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/cli/commands/network/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAIzC,wBAAgB,uBAAuB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAO9D"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/cli/commands/network/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAKzC,wBAAgB,uBAAuB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAQ9D"}
@@ -1,10 +1,12 @@
1
1
  import { registerNetworkBrowseCommand } from './browse.js';
2
+ import { registerNetworkPeerCommand } from './peer.js';
2
3
  import { registerNetworkBootstrapCommand } from './bootstrap.js';
3
4
  export function registerNetworkCommands(program) {
4
5
  const networkCmd = program
5
6
  .command('network')
6
7
  .description('Network discovery and infrastructure');
7
8
  registerNetworkBrowseCommand(networkCmd);
9
+ registerNetworkPeerCommand(networkCmd);
8
10
  registerNetworkBootstrapCommand(networkCmd);
9
11
  }
10
12
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/cli/commands/network/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,4BAA4B,EAAE,MAAM,aAAa,CAAC;AAC3D,OAAO,EAAE,+BAA+B,EAAE,MAAM,gBAAgB,CAAC;AAEjE,MAAM,UAAU,uBAAuB,CAAC,OAAgB;IACtD,MAAM,UAAU,GAAG,OAAO;SACvB,OAAO,CAAC,SAAS,CAAC;SAClB,WAAW,CAAC,sCAAsC,CAAC,CAAC;IAEvD,4BAA4B,CAAC,UAAU,CAAC,CAAC;IACzC,+BAA+B,CAAC,UAAU,CAAC,CAAC;AAC9C,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/cli/commands/network/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,4BAA4B,EAAE,MAAM,aAAa,CAAC;AAC3D,OAAO,EAAE,0BAA0B,EAAE,MAAM,WAAW,CAAC;AACvD,OAAO,EAAE,+BAA+B,EAAE,MAAM,gBAAgB,CAAC;AAEjE,MAAM,UAAU,uBAAuB,CAAC,OAAgB;IACtD,MAAM,UAAU,GAAG,OAAO;SACvB,OAAO,CAAC,SAAS,CAAC;SAClB,WAAW,CAAC,sCAAsC,CAAC,CAAC;IAEvD,4BAA4B,CAAC,UAAU,CAAC,CAAC;IACzC,0BAA0B,CAAC,UAAU,CAAC,CAAC;IACvC,+BAA+B,CAAC,UAAU,CAAC,CAAC;AAC9C,CAAC"}
@@ -0,0 +1,6 @@
1
+ import type { Command } from 'commander';
2
+ /**
3
+ * Register the `antseed network peer <peerId>` command.
4
+ */
5
+ export declare function registerNetworkPeerCommand(networkCmd: Command): void;
6
+ //# sourceMappingURL=peer.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"peer.d.ts","sourceRoot":"","sources":["../../../../src/cli/commands/network/peer.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAqQzC;;GAEG;AACH,wBAAgB,0BAA0B,CAAC,UAAU,EAAE,OAAO,GAAG,IAAI,CAyEpE"}
@@ -0,0 +1,297 @@
1
+ import chalk from 'chalk';
2
+ import ora from 'ora';
3
+ import { readFile } from 'node:fs/promises';
4
+ import { join } from 'node:path';
5
+ import { getGlobalOptions } from '../types.js';
6
+ import { loadConfig } from '../../../config/loader.js';
7
+ import { AntseedNode, } from '@antseed/node';
8
+ import { parseBootstrapList, toBootstrapConfig } from '@antseed/node/discovery';
9
+ import { parsePersistedPeers } from '../../../proxy/buyer-proxy.js';
10
+ import { buildPaymentsConfig } from './chain-config-helper.js';
11
+ import { collectServiceTags, parseTagFilter, serviceMatchesTagFilter, } from './tag-filter.js';
12
+ import { formatUsdPerMillion as formatUsdPerMillionRaw } from './pricing-format.js';
13
+ function isProcessAlive(pid) {
14
+ try {
15
+ process.kill(pid, 0);
16
+ return true;
17
+ }
18
+ catch {
19
+ return false;
20
+ }
21
+ }
22
+ async function loadPeersFromBuyerDaemon(dataDir) {
23
+ try {
24
+ const raw = await readFile(join(dataDir, 'buyer.state.json'), 'utf-8');
25
+ const parsed = JSON.parse(raw);
26
+ if (parsed.state !== 'connected')
27
+ return null;
28
+ if (typeof parsed.pid !== 'number' || !isProcessAlive(parsed.pid))
29
+ return null;
30
+ const peers = parsePersistedPeers(parsed);
31
+ return peers.length > 0 ? peers : null;
32
+ }
33
+ catch {
34
+ return null;
35
+ }
36
+ }
37
+ function normalizePeerId(raw) {
38
+ const cleaned = raw.trim().replace(/^0x/i, '').toLowerCase();
39
+ if (!/^[0-9a-f]{40}$/.test(cleaned))
40
+ return null;
41
+ return cleaned;
42
+ }
43
+ /**
44
+ * The detail view doesn't have a column header so it appends `/1M` to make
45
+ * each price self-describing. Precision is adaptive (see `pricing-format.ts`)
46
+ * so sub-cent rates don't collapse to $0.00.
47
+ */
48
+ function formatUsdPerMillion(value) {
49
+ return formatUsdPerMillionRaw(value, { withUnit: true });
50
+ }
51
+ function formatUsdcVolume(micros) {
52
+ if (typeof micros !== 'number' || !Number.isFinite(micros) || micros < 0) {
53
+ return chalk.dim('—');
54
+ }
55
+ const usd = micros / 1_000_000;
56
+ if (usd >= 1)
57
+ return chalk.green(`$${usd.toFixed(2)} USDC`);
58
+ if (usd > 0)
59
+ return `$${usd.toFixed(6)} USDC`;
60
+ return chalk.dim('$0 USDC');
61
+ }
62
+ function formatTimestampSec(sec) {
63
+ if (typeof sec !== 'number' || !Number.isFinite(sec) || sec <= 0) {
64
+ return chalk.dim('never');
65
+ }
66
+ const date = new Date(sec * 1000);
67
+ const ageMs = Date.now() - sec * 1000;
68
+ const ageMins = Math.max(0, Math.floor(ageMs / 60_000));
69
+ const ageLabel = ageMins < 1 ? 'just now'
70
+ : ageMins < 60 ? `${ageMins}m ago`
71
+ : ageMins < 1440 ? `${Math.floor(ageMins / 60)}h ago`
72
+ : `${Math.floor(ageMins / 1440)}d ago`;
73
+ return `${date.toISOString()} ${chalk.dim(`(${ageLabel})`)}`;
74
+ }
75
+ /**
76
+ * Build the machine-friendly list of (provider, service) entries on this
77
+ * peer that match the given tag filter. When the filter is empty, every
78
+ * announced service is returned. Services without any tags are excluded
79
+ * when a filter is active — they can't match an opt-in tag constraint.
80
+ */
81
+ function collectMatchingServices(peer, requestedTags) {
82
+ const out = [];
83
+ const pricing = peer.providerPricing;
84
+ if (!pricing)
85
+ return out;
86
+ for (const [providerName, providerEntry] of Object.entries(pricing)) {
87
+ const services = providerEntry.services ?? {};
88
+ for (const [serviceName, servicePricing] of Object.entries(services)) {
89
+ if (requestedTags.size > 0 && !serviceMatchesTagFilter(peer, providerName, serviceName, requestedTags)) {
90
+ continue;
91
+ }
92
+ out.push({
93
+ provider: providerName,
94
+ service: serviceName,
95
+ inputUsdPerMillion: Number.isFinite(servicePricing.inputUsdPerMillion) ? servicePricing.inputUsdPerMillion : null,
96
+ outputUsdPerMillion: Number.isFinite(servicePricing.outputUsdPerMillion) ? servicePricing.outputUsdPerMillion : null,
97
+ cachedInputUsdPerMillion: servicePricing.cachedInputUsdPerMillion ?? null,
98
+ tags: collectServiceTags(peer, providerName, serviceName),
99
+ protocols: (peer.providerServiceApiProtocols?.[providerName]?.services?.[serviceName] ?? []).slice(),
100
+ });
101
+ }
102
+ }
103
+ out.sort((a, b) => a.provider.localeCompare(b.provider) || a.service.localeCompare(b.service));
104
+ return out;
105
+ }
106
+ /**
107
+ * Print the human-readable peer detail page. When `requestedTags` is
108
+ * non-empty, services that don't match the filter are hidden, providers
109
+ * whose services all fall out are skipped entirely, and matching tags are
110
+ * highlighted green so it's obvious why each surviving service is listed.
111
+ */
112
+ function printPeerDetail(peer, requestedTags) {
113
+ console.log('');
114
+ console.log(chalk.bold('Peer'));
115
+ console.log(` ID: ${peer.peerId}`);
116
+ console.log(` Display name: ${peer.displayName ?? chalk.dim('—')}`);
117
+ console.log(` Public address: ${peer.publicAddress ?? chalk.dim('—')}`);
118
+ if (typeof peer.lastSeen === 'number' && peer.lastSeen > 0) {
119
+ const age = Date.now() - peer.lastSeen;
120
+ console.log(` Last seen: ${new Date(peer.lastSeen).toISOString()} ${chalk.dim(`(${Math.max(0, Math.floor(age / 1000))}s ago)`)}`);
121
+ }
122
+ if (typeof peer.lastReachedAt === 'number' && peer.lastReachedAt > 0) {
123
+ const age = Date.now() - peer.lastReachedAt;
124
+ console.log(` Last reached: ${new Date(peer.lastReachedAt).toISOString()} ${chalk.dim(`(${Math.max(0, Math.floor(age / 1000))}s ago)`)}`);
125
+ }
126
+ console.log('');
127
+ console.log(chalk.bold('Capacity'));
128
+ const maxC = peer.maxConcurrency ?? null;
129
+ const curL = peer.currentLoad ?? null;
130
+ if (maxC !== null || curL !== null) {
131
+ console.log(` Load: ${curL ?? '?'} / ${maxC ?? '?'}`);
132
+ }
133
+ else {
134
+ console.log(` Load: ${chalk.dim('—')}`);
135
+ }
136
+ console.log('');
137
+ console.log(chalk.bold('On-chain (AntseedChannels.getAgentStats)'));
138
+ const channels = peer.onChainChannelCount;
139
+ const ghosts = peer.onChainGhostCount;
140
+ const vouchedBadge = (typeof channels === 'number' && channels > 0 && (ghosts ?? 0) === 0)
141
+ ? chalk.green(' ✓ vouched')
142
+ : '';
143
+ console.log(` Sessions: ${typeof channels === 'number' ? chalk.cyan(String(channels)) : chalk.dim('—')}${vouchedBadge}`);
144
+ console.log(` Ghosts: ${typeof ghosts === 'number' ? (ghosts === 0 ? chalk.dim('0') : chalk.red(String(ghosts))) : chalk.dim('—')}`);
145
+ console.log(` Volume: ${formatUsdcVolume(peer.onChainTotalVolumeUsdcMicros)}`);
146
+ console.log(` Last settled: ${formatTimestampSec(peer.onChainLastSettledAtSec)}`);
147
+ if (typeof peer.onChainStatsFetchedAt === 'number' && peer.onChainStatsFetchedAt > 0) {
148
+ const age = Date.now() - peer.onChainStatsFetchedAt;
149
+ console.log(` ${chalk.dim(`Verified ${Math.max(0, Math.floor(age / 1000))}s ago by reading contract directly`)}`);
150
+ }
151
+ else {
152
+ console.log(chalk.dim(' (on-chain stats unavailable — configure chain RPC to enable)'));
153
+ }
154
+ console.log('');
155
+ const servicesHeader = requestedTags.size > 0
156
+ ? chalk.bold('Providers & services') + chalk.dim(` (filtered by tag: ${Array.from(requestedTags).sort().join(', ')})`)
157
+ : chalk.bold('Providers & services');
158
+ console.log(servicesHeader);
159
+ if (peer.providers.length === 0) {
160
+ console.log(chalk.dim(' (none announced)'));
161
+ }
162
+ else {
163
+ let renderedAnyProvider = false;
164
+ for (const providerName of peer.providers) {
165
+ const pricingEntry = peer.providerPricing?.[providerName];
166
+ const protocolsEntry = peer.providerServiceApiProtocols?.[providerName];
167
+ const categoriesEntry = peer.providerServiceCategories?.[providerName];
168
+ const allServiceNames = pricingEntry?.services ? Object.keys(pricingEntry.services).sort() : [];
169
+ const visibleServices = requestedTags.size === 0
170
+ ? allServiceNames
171
+ : allServiceNames.filter((serviceName) => serviceMatchesTagFilter(peer, providerName, serviceName, requestedTags));
172
+ // Hide providers entirely when a filter is active and nothing matches —
173
+ // showing an empty block would just be noise.
174
+ if (requestedTags.size > 0 && visibleServices.length === 0) {
175
+ continue;
176
+ }
177
+ renderedAnyProvider = true;
178
+ console.log(` ${chalk.cyan(providerName)}`);
179
+ // Provider defaults only render when no tag filter is in effect —
180
+ // defaults aren't tagged so they can't match.
181
+ if (requestedTags.size === 0 && pricingEntry?.defaults) {
182
+ const d = pricingEntry.defaults;
183
+ console.log(` defaults: in ${formatUsdPerMillion(d.inputUsdPerMillion)} out ${formatUsdPerMillion(d.outputUsdPerMillion)}`
184
+ + (d.cachedInputUsdPerMillion != null ? ` cached-in ${formatUsdPerMillion(d.cachedInputUsdPerMillion)}` : ''));
185
+ }
186
+ if (visibleServices.length === 0) {
187
+ console.log(chalk.dim(' (no services announced for this provider)'));
188
+ continue;
189
+ }
190
+ for (const serviceName of visibleServices) {
191
+ const s = pricingEntry.services[serviceName];
192
+ const protocols = protocolsEntry?.services?.[serviceName] ?? [];
193
+ const categories = categoriesEntry?.services?.[serviceName] ?? [];
194
+ const parts = [
195
+ `in ${formatUsdPerMillion(s.inputUsdPerMillion)}`,
196
+ `out ${formatUsdPerMillion(s.outputUsdPerMillion)}`,
197
+ ];
198
+ if (s.cachedInputUsdPerMillion != null) {
199
+ parts.push(`cached-in ${formatUsdPerMillion(s.cachedInputUsdPerMillion)}`);
200
+ }
201
+ if (protocols.length > 0)
202
+ parts.push(chalk.dim(`protocols: ${protocols.join(', ')}`));
203
+ if (categories.length > 0) {
204
+ const rendered = categories
205
+ .map((t) => (requestedTags.has(t.toLowerCase()) ? chalk.green(t) : t))
206
+ .join(', ');
207
+ parts.push(chalk.dim('tags: ') + rendered);
208
+ }
209
+ console.log(` ${serviceName.padEnd(28)} ${parts.join(' ')}`);
210
+ }
211
+ }
212
+ if (requestedTags.size > 0 && !renderedAnyProvider) {
213
+ console.log(chalk.dim(` (no services match tag(s): ${Array.from(requestedTags).sort().join(', ')})`));
214
+ }
215
+ }
216
+ console.log('');
217
+ console.log(chalk.bold('Pin this peer'));
218
+ console.log(` antseed buyer connection set --peer ${peer.peerId}`);
219
+ console.log(chalk.dim(` or per-request: curl -H "x-antseed-pin-peer: ${peer.peerId}" ...`));
220
+ console.log('');
221
+ }
222
+ /**
223
+ * Register the `antseed network peer <peerId>` command.
224
+ */
225
+ export function registerNetworkPeerCommand(networkCmd) {
226
+ networkCmd
227
+ .command('peer <peerId>')
228
+ .description('Show full details for a single peer (providers, services, on-chain stats)')
229
+ .option('-t, --tag <tags>', 'show only services matching tag(s); comma-separated for OR match '
230
+ + '(e.g. --tag coding,privacy). Well-known tags: privacy, legal, uncensored, coding, finance, tee')
231
+ .option('--json', 'output as JSON', false)
232
+ .action(async (peerIdArg, options) => {
233
+ const normalized = normalizePeerId(peerIdArg);
234
+ if (!normalized) {
235
+ console.error(chalk.red('Error: peerId must be a 40-char hex EVM address (with or without 0x prefix).'));
236
+ process.exit(1);
237
+ }
238
+ const tagFilter = parseTagFilter(options.tag);
239
+ const globalOpts = getGlobalOptions(networkCmd);
240
+ const config = await loadConfig(globalOpts.config);
241
+ let peers = await loadPeersFromBuyerDaemon(globalOpts.dataDir);
242
+ let sourceLabel = 'buyer daemon cache';
243
+ if (!peers) {
244
+ const bootstrapNodes = config.network.bootstrapNodes.length > 0
245
+ ? toBootstrapConfig(parseBootstrapList(config.network.bootstrapNodes))
246
+ : undefined;
247
+ const paymentsConfig = buildPaymentsConfig(config.payments?.crypto);
248
+ const spinner = ora(`Discovering peer ${normalized.slice(0, 12)}...`).start();
249
+ const node = new AntseedNode({
250
+ role: 'buyer',
251
+ ...(bootstrapNodes ? { bootstrapNodes } : {}),
252
+ dhtOperationTimeoutMs: 30_000,
253
+ ...(paymentsConfig ? { payments: paymentsConfig } : {}),
254
+ });
255
+ try {
256
+ await node.start();
257
+ peers = await node.discoverPeers();
258
+ spinner.succeed(chalk.green(`Found ${peers.length} peer(s)`));
259
+ sourceLabel = 'live DHT discovery';
260
+ }
261
+ catch (err) {
262
+ spinner.fail(chalk.red(`Discovery failed: ${err.message}`));
263
+ try {
264
+ await node.stop();
265
+ }
266
+ catch { /* ignore */ }
267
+ process.exit(1);
268
+ }
269
+ try {
270
+ await node.stop();
271
+ }
272
+ catch { /* ignore */ }
273
+ }
274
+ const match = peers.find((p) => p.peerId.toLowerCase() === normalized) ?? null;
275
+ if (!match) {
276
+ console.error(chalk.red(`Peer ${normalized} not found (source: ${sourceLabel}).`));
277
+ console.error(chalk.dim('Run `antseed network browse` to see all peers currently visible on the network.'));
278
+ process.exit(1);
279
+ }
280
+ if (options.json) {
281
+ // Always include `matchingServices` so callers can consume the flat,
282
+ // filtered list without walking providerPricing themselves. When no
283
+ // tag filter is in effect it simply contains every announced service.
284
+ const matchingServices = collectMatchingServices(match, tagFilter);
285
+ console.log(JSON.stringify({
286
+ source: sourceLabel,
287
+ filter: tagFilter.size > 0 ? { tags: Array.from(tagFilter).sort() } : null,
288
+ peer: match,
289
+ matchingServices,
290
+ }, null, 2));
291
+ return;
292
+ }
293
+ console.log(chalk.dim(`Source: ${sourceLabel}`));
294
+ printPeerDetail(match, tagFilter);
295
+ });
296
+ }
297
+ //# sourceMappingURL=peer.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"peer.js","sourceRoot":"","sources":["../../../../src/cli/commands/network/peer.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,25 @@
1
+ /**
2
+ * Format a USD-per-million-tokens price with precision proportional to the
3
+ * magnitude so sub-cent rates don't collapse to "$0.00":
4
+ *
5
+ * * null / undefined / non-finite → dim em-dash placeholder
6
+ * * 0 → "$0.00" (2 decimals, tabular-aligned)
7
+ * * 0 < x < 0.001 → 6 decimals (e.g. "$0.000015")
8
+ * * 0.001 ≤ x < 0.1 → 4 decimals (e.g. "$0.0050", "$0.0500")
9
+ * * x ≥ 0.1 → 2 decimals (e.g. "$0.10", "$15.00")
10
+ *
11
+ * The tiering matches the cost ranges real LLM providers actually charge at:
12
+ * pennies per million tokens (most of today's models), sub-cent per million
13
+ * (bulk/long-context tiers), and sub-thousandth-cent per million (some
14
+ * cached-input rates). Tables using this formatter have columns wide enough
15
+ * for the 4/6-decimal cases; the 2-decimal branch renders flush-right for
16
+ * the common majority of rows.
17
+ *
18
+ * `opts.withUnit` appends `/1M` for contexts where there's no column header
19
+ * (per-service detail lines); table renderers should omit the suffix since
20
+ * their column header already says "$/1M".
21
+ */
22
+ export declare function formatUsdPerMillion(value: number | null | undefined, opts?: {
23
+ withUnit?: boolean;
24
+ }): string;
25
+ //# sourceMappingURL=pricing-format.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pricing-format.d.ts","sourceRoot":"","sources":["../../../../src/cli/commands/network/pricing-format.ts"],"names":[],"mappings":"AAIA;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,wBAAgB,mBAAmB,CACjC,KAAK,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,EAChC,IAAI,CAAC,EAAE;IAAE,QAAQ,CAAC,EAAE,OAAO,CAAA;CAAE,GAC5B,MAAM,CAcR"}
@@ -0,0 +1,38 @@
1
+ import chalk from 'chalk';
2
+ const DIM_DASH = chalk.dim('—');
3
+ /**
4
+ * Format a USD-per-million-tokens price with precision proportional to the
5
+ * magnitude so sub-cent rates don't collapse to "$0.00":
6
+ *
7
+ * * null / undefined / non-finite → dim em-dash placeholder
8
+ * * 0 → "$0.00" (2 decimals, tabular-aligned)
9
+ * * 0 < x < 0.001 → 6 decimals (e.g. "$0.000015")
10
+ * * 0.001 ≤ x < 0.1 → 4 decimals (e.g. "$0.0050", "$0.0500")
11
+ * * x ≥ 0.1 → 2 decimals (e.g. "$0.10", "$15.00")
12
+ *
13
+ * The tiering matches the cost ranges real LLM providers actually charge at:
14
+ * pennies per million tokens (most of today's models), sub-cent per million
15
+ * (bulk/long-context tiers), and sub-thousandth-cent per million (some
16
+ * cached-input rates). Tables using this formatter have columns wide enough
17
+ * for the 4/6-decimal cases; the 2-decimal branch renders flush-right for
18
+ * the common majority of rows.
19
+ *
20
+ * `opts.withUnit` appends `/1M` for contexts where there's no column header
21
+ * (per-service detail lines); table renderers should omit the suffix since
22
+ * their column header already says "$/1M".
23
+ */
24
+ export function formatUsdPerMillion(value, opts) {
25
+ if (value === null || value === undefined || !Number.isFinite(value)) {
26
+ return DIM_DASH;
27
+ }
28
+ const withUnit = opts?.withUnit ?? false;
29
+ const rendered = value === 0
30
+ ? `$${value.toFixed(2)}`
31
+ : value < 0.001
32
+ ? `$${value.toFixed(6)}`
33
+ : value < 0.1
34
+ ? `$${value.toFixed(4)}`
35
+ : `$${value.toFixed(2)}`;
36
+ return withUnit ? `${rendered}/1M` : rendered;
37
+ }
38
+ //# sourceMappingURL=pricing-format.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pricing-format.js","sourceRoot":"","sources":["../../../../src/cli/commands/network/pricing-format.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,MAAM,QAAQ,GAAG,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;AAEhC;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,MAAM,UAAU,mBAAmB,CACjC,KAAgC,EAChC,IAA6B;IAE7B,IAAI,KAAK,KAAK,IAAI,IAAI,KAAK,KAAK,SAAS,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;QACrE,OAAO,QAAQ,CAAC;IAClB,CAAC;IACD,MAAM,QAAQ,GAAG,IAAI,EAAE,QAAQ,IAAI,KAAK,CAAC;IACzC,MAAM,QAAQ,GACZ,KAAK,KAAK,CAAC;QACT,CAAC,CAAC,IAAI,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE;QACxB,CAAC,CAAC,KAAK,GAAG,KAAK;YACb,CAAC,CAAC,IAAI,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE;YACxB,CAAC,CAAC,KAAK,GAAG,GAAG;gBACX,CAAC,CAAC,IAAI,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE;gBACxB,CAAC,CAAC,IAAI,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC;IACjC,OAAO,QAAQ,CAAC,CAAC,CAAC,GAAG,QAAQ,KAAK,CAAC,CAAC,CAAC,QAAQ,CAAC;AAChD,CAAC"}
@@ -0,0 +1,30 @@
1
+ import type { PeerInfo } from '@antseed/node';
2
+ /**
3
+ * Parse a comma-separated `--tag` argument into a lowercased set. Empty or
4
+ * whitespace-only entries are dropped; returns an empty set for undefined
5
+ * input so callers can treat "no filter" and "empty filter" uniformly.
6
+ */
7
+ export declare function parseTagFilter(raw: string | undefined): Set<string>;
8
+ /**
9
+ * Collect every service category tag announced by the peer, flattened across
10
+ * all providers and services and lowercased so comparison is case-insensitive.
11
+ */
12
+ export declare function collectPeerTags(peer: PeerInfo): Set<string>;
13
+ /**
14
+ * Collect the tags announced for a specific (provider, service) pair.
15
+ * Returned sorted for stable rendering.
16
+ */
17
+ export declare function collectServiceTags(peer: PeerInfo, providerName: string, serviceName: string): string[];
18
+ /**
19
+ * A peer matches the tag filter when *any* of its announced service tags
20
+ * matches *any* of the requested tags (OR semantics across both sides).
21
+ * An empty requested set matches every peer.
22
+ */
23
+ export declare function peerMatchesTagFilter(peer: PeerInfo, requestedTags: Set<string>): boolean;
24
+ /**
25
+ * Does this specific (provider, service) pair match the tag filter?
26
+ * Used by the peer detail command to hide services that don't match while
27
+ * keeping providers that still have at least one matching service.
28
+ */
29
+ export declare function serviceMatchesTagFilter(peer: PeerInfo, providerName: string, serviceName: string, requestedTags: Set<string>): boolean;
30
+ //# sourceMappingURL=tag-filter.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tag-filter.d.ts","sourceRoot":"","sources":["../../../../src/cli/commands/network/tag-filter.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAE9C;;;;GAIG;AACH,wBAAgB,cAAc,CAAC,GAAG,EAAE,MAAM,GAAG,SAAS,GAAG,GAAG,CAAC,MAAM,CAAC,CAQnE;AAED;;;GAGG;AACH,wBAAgB,eAAe,CAAC,IAAI,EAAE,QAAQ,GAAG,GAAG,CAAC,MAAM,CAAC,CAc3D;AAED;;;GAGG;AACH,wBAAgB,kBAAkB,CAChC,IAAI,EAAE,QAAQ,EACd,YAAY,EAAE,MAAM,EACpB,WAAW,EAAE,MAAM,GAClB,MAAM,EAAE,CAGV;AAED;;;;GAIG;AACH,wBAAgB,oBAAoB,CAAC,IAAI,EAAE,QAAQ,EAAE,aAAa,EAAE,GAAG,CAAC,MAAM,CAAC,GAAG,OAAO,CAOxF;AAED;;;;GAIG;AACH,wBAAgB,uBAAuB,CACrC,IAAI,EAAE,QAAQ,EACd,YAAY,EAAE,MAAM,EACpB,WAAW,EAAE,MAAM,EACnB,aAAa,EAAE,GAAG,CAAC,MAAM,CAAC,GACzB,OAAO,CAOT"}