@antseed/cli 0.1.81 → 0.1.82
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 +93 -77
- package/dist/cli/commands/buyer/balance.d.ts +3 -0
- package/dist/cli/commands/buyer/balance.d.ts.map +1 -0
- package/dist/cli/commands/{balance.js → buyer/balance.js} +5 -6
- package/dist/cli/commands/buyer/balance.js.map +1 -0
- package/dist/cli/commands/buyer/channels.d.ts +3 -0
- package/dist/cli/commands/buyer/channels.d.ts.map +1 -0
- package/dist/cli/commands/{channels.js → buyer/channels.js} +9 -17
- package/dist/cli/commands/buyer/channels.js.map +1 -0
- package/dist/cli/commands/buyer/connection.d.ts +3 -0
- package/dist/cli/commands/buyer/connection.d.ts.map +1 -0
- package/dist/cli/commands/{connection.js → buyer/connection.js} +5 -5
- package/dist/cli/commands/buyer/connection.js.map +1 -0
- package/dist/cli/commands/buyer/deposit.d.ts +3 -0
- package/dist/cli/commands/buyer/deposit.d.ts.map +1 -0
- package/dist/cli/commands/{deposit.js → buyer/deposit.js} +6 -6
- package/dist/cli/commands/buyer/deposit.js.map +1 -0
- package/dist/cli/commands/buyer/index.d.ts +3 -0
- package/dist/cli/commands/buyer/index.d.ts.map +1 -0
- package/dist/cli/commands/buyer/index.js +24 -0
- package/dist/cli/commands/buyer/index.js.map +1 -0
- package/dist/cli/commands/buyer/metering.d.ts +3 -0
- package/dist/cli/commands/buyer/metering.d.ts.map +1 -0
- package/dist/cli/commands/{metering.js → buyer/metering.js} +7 -10
- package/dist/cli/commands/buyer/metering.js.map +1 -0
- package/dist/cli/commands/buyer/metering.test.d.ts.map +1 -0
- package/dist/cli/commands/buyer/metering.test.js.map +1 -0
- package/dist/cli/commands/{connect.d.ts → buyer/start.d.ts} +7 -4
- package/dist/cli/commands/buyer/start.d.ts.map +1 -0
- package/dist/cli/commands/{connect.js → buyer/start.js} +37 -71
- package/dist/cli/commands/buyer/start.js.map +1 -0
- package/dist/cli/commands/buyer/start.test.d.ts +2 -0
- package/dist/cli/commands/buyer/start.test.d.ts.map +1 -0
- package/dist/cli/commands/{connect.test.js → buyer/start.test.js} +12 -8
- package/dist/cli/commands/buyer/start.test.js.map +1 -0
- package/dist/cli/commands/buyer/status.d.ts +3 -0
- package/dist/cli/commands/buyer/status.d.ts.map +1 -0
- package/dist/cli/commands/buyer/status.js +70 -0
- package/dist/cli/commands/buyer/status.js.map +1 -0
- package/dist/cli/commands/buyer/subscribe.d.ts +3 -0
- package/dist/cli/commands/buyer/subscribe.d.ts.map +1 -0
- package/dist/cli/commands/{subscribe.js → buyer/subscribe.js} +8 -8
- package/dist/cli/commands/buyer/subscribe.js.map +1 -0
- package/dist/cli/commands/buyer/withdraw.d.ts +3 -0
- package/dist/cli/commands/buyer/withdraw.d.ts.map +1 -0
- package/dist/cli/commands/{withdraw.js → buyer/withdraw.js} +6 -7
- package/dist/cli/commands/buyer/withdraw.js.map +1 -0
- package/dist/cli/commands/{config.d.ts → config/index.d.ts} +7 -7
- package/dist/cli/commands/config/index.d.ts.map +1 -0
- package/dist/cli/commands/config/index.js +357 -0
- package/dist/cli/commands/config/index.js.map +1 -0
- package/dist/cli/commands/config/index.test.d.ts +2 -0
- package/dist/cli/commands/config/index.test.d.ts.map +1 -0
- package/dist/cli/commands/config/index.test.js +28 -0
- package/dist/cli/commands/config/index.test.js.map +1 -0
- package/dist/cli/commands/identity/index.d.ts +3 -0
- package/dist/cli/commands/identity/index.d.ts.map +1 -0
- package/dist/cli/commands/identity/index.js +6 -0
- package/dist/cli/commands/identity/index.js.map +1 -0
- package/dist/cli/commands/identity/profile.d.ts.map +1 -0
- package/dist/cli/commands/identity/profile.js.map +1 -0
- package/dist/cli/commands/network/bootstrap.d.ts +3 -0
- package/dist/cli/commands/network/bootstrap.d.ts.map +1 -0
- package/dist/cli/commands/{bootstrap.js → network/bootstrap.js} +5 -5
- package/dist/cli/commands/network/bootstrap.js.map +1 -0
- package/dist/cli/commands/network/browse.d.ts +7 -0
- package/dist/cli/commands/network/browse.d.ts.map +1 -0
- package/dist/cli/commands/{browse.js → network/browse.js} +6 -6
- package/dist/cli/commands/network/browse.js.map +1 -0
- package/dist/cli/commands/network/index.d.ts +3 -0
- package/dist/cli/commands/network/index.d.ts.map +1 -0
- package/dist/cli/commands/network/index.js +10 -0
- package/dist/cli/commands/network/index.js.map +1 -0
- package/dist/cli/commands/seller/emissions.d.ts +3 -0
- package/dist/cli/commands/seller/emissions.d.ts.map +1 -0
- package/dist/cli/commands/{emissions.js → seller/emissions.js} +7 -7
- package/dist/cli/commands/seller/emissions.js.map +1 -0
- package/dist/cli/commands/seller/index.d.ts +3 -0
- package/dist/cli/commands/seller/index.d.ts.map +1 -0
- package/dist/cli/commands/seller/index.js +18 -0
- package/dist/cli/commands/seller/index.js.map +1 -0
- package/dist/cli/commands/seller/register.d.ts +3 -0
- package/dist/cli/commands/seller/register.d.ts.map +1 -0
- package/dist/cli/commands/{register.js → seller/register.js} +6 -6
- package/dist/cli/commands/seller/register.js.map +1 -0
- package/dist/cli/commands/seller/setup.d.ts +12 -0
- package/dist/cli/commands/seller/setup.d.ts.map +1 -0
- package/dist/cli/commands/seller/setup.js +175 -0
- package/dist/cli/commands/seller/setup.js.map +1 -0
- package/dist/cli/commands/seller/setup.test.d.ts +2 -0
- package/dist/cli/commands/seller/setup.test.d.ts.map +1 -0
- package/dist/cli/commands/seller/setup.test.js +32 -0
- package/dist/cli/commands/seller/setup.test.js.map +1 -0
- package/dist/cli/commands/seller/stake.d.ts +3 -0
- package/dist/cli/commands/seller/stake.d.ts.map +1 -0
- package/dist/cli/commands/{stake.js → seller/stake.js} +11 -11
- package/dist/cli/commands/seller/stake.js.map +1 -0
- package/dist/cli/commands/seller/start.d.ts +44 -0
- package/dist/cli/commands/seller/start.d.ts.map +1 -0
- package/dist/cli/commands/{seed.js → seller/start.js} +241 -135
- package/dist/cli/commands/seller/start.js.map +1 -0
- package/dist/cli/commands/seller/start.test.d.ts +2 -0
- package/dist/cli/commands/seller/start.test.d.ts.map +1 -0
- package/dist/cli/commands/seller/start.test.js +212 -0
- package/dist/cli/commands/seller/start.test.js.map +1 -0
- package/dist/cli/commands/seller/status.d.ts +3 -0
- package/dist/cli/commands/seller/status.d.ts.map +1 -0
- package/dist/cli/commands/seller/status.js +72 -0
- package/dist/cli/commands/seller/status.js.map +1 -0
- package/dist/cli/commands/types.d.ts.map +1 -1
- package/dist/cli/commands/types.js +3 -1
- package/dist/cli/commands/types.js.map +1 -1
- package/dist/cli/commands/types.test.d.ts +2 -0
- package/dist/cli/commands/types.test.d.ts.map +1 -0
- package/dist/cli/commands/types.test.js +21 -0
- package/dist/cli/commands/types.test.js.map +1 -0
- package/dist/cli/index.js +11 -42
- package/dist/cli/index.js.map +1 -1
- package/dist/cli/payment-utils.js +1 -1
- package/dist/cli/payment-utils.js.map +1 -1
- package/dist/config/defaults.d.ts.map +1 -1
- package/dist/config/defaults.js +1 -8
- package/dist/config/defaults.js.map +1 -1
- package/dist/config/effective.d.ts.map +1 -1
- package/dist/config/effective.js +23 -4
- package/dist/config/effective.js.map +1 -1
- package/dist/config/effective.test.js +24 -5
- package/dist/config/effective.test.js.map +1 -1
- package/dist/config/loader.d.ts.map +1 -1
- package/dist/config/loader.js +64 -95
- package/dist/config/loader.js.map +1 -1
- package/dist/config/loader.test.js +62 -41
- package/dist/config/loader.test.js.map +1 -1
- package/dist/config/types.d.ts +35 -49
- package/dist/config/types.d.ts.map +1 -1
- package/dist/config/validation.d.ts.map +1 -1
- package/dist/config/validation.js +51 -35
- package/dist/config/validation.js.map +1 -1
- package/dist/plugins/loader.js +1 -1
- package/dist/plugins/loader.js.map +1 -1
- package/dist/plugins/registry.d.ts +1 -0
- package/dist/plugins/registry.d.ts.map +1 -1
- package/dist/plugins/registry.js +4 -0
- package/dist/plugins/registry.js.map +1 -1
- package/dist/proxy/buyer-proxy.d.ts +1 -1
- package/package.json +8 -8
- package/dist/cli/commands/balance.d.ts +0 -3
- package/dist/cli/commands/balance.d.ts.map +0 -1
- package/dist/cli/commands/balance.js.map +0 -1
- package/dist/cli/commands/bootstrap.d.ts +0 -3
- package/dist/cli/commands/bootstrap.d.ts.map +0 -1
- package/dist/cli/commands/bootstrap.js.map +0 -1
- package/dist/cli/commands/browse.d.ts +0 -7
- package/dist/cli/commands/browse.d.ts.map +0 -1
- package/dist/cli/commands/browse.js.map +0 -1
- package/dist/cli/commands/channels.d.ts +0 -3
- package/dist/cli/commands/channels.d.ts.map +0 -1
- package/dist/cli/commands/channels.js.map +0 -1
- package/dist/cli/commands/config.d.ts.map +0 -1
- package/dist/cli/commands/config.js +0 -239
- package/dist/cli/commands/config.js.map +0 -1
- package/dist/cli/commands/connect.d.ts.map +0 -1
- package/dist/cli/commands/connect.js.map +0 -1
- package/dist/cli/commands/connect.test.d.ts +0 -2
- package/dist/cli/commands/connect.test.d.ts.map +0 -1
- package/dist/cli/commands/connect.test.js.map +0 -1
- package/dist/cli/commands/connection.d.ts +0 -3
- package/dist/cli/commands/connection.d.ts.map +0 -1
- package/dist/cli/commands/connection.js.map +0 -1
- package/dist/cli/commands/deposit.d.ts +0 -3
- package/dist/cli/commands/deposit.d.ts.map +0 -1
- package/dist/cli/commands/deposit.js.map +0 -1
- package/dist/cli/commands/emissions.d.ts +0 -3
- package/dist/cli/commands/emissions.d.ts.map +0 -1
- package/dist/cli/commands/emissions.js.map +0 -1
- package/dist/cli/commands/init.d.ts +0 -3
- package/dist/cli/commands/init.d.ts.map +0 -1
- package/dist/cli/commands/init.js +0 -90
- package/dist/cli/commands/init.js.map +0 -1
- package/dist/cli/commands/metering.d.ts +0 -3
- package/dist/cli/commands/metering.d.ts.map +0 -1
- package/dist/cli/commands/metering.js.map +0 -1
- package/dist/cli/commands/metering.test.d.ts.map +0 -1
- package/dist/cli/commands/metering.test.js.map +0 -1
- package/dist/cli/commands/plugin-create.d.ts +0 -11
- package/dist/cli/commands/plugin-create.d.ts.map +0 -1
- package/dist/cli/commands/plugin-create.js +0 -201
- package/dist/cli/commands/plugin-create.js.map +0 -1
- package/dist/cli/commands/plugin-create.test.d.ts +0 -2
- package/dist/cli/commands/plugin-create.test.d.ts.map +0 -1
- package/dist/cli/commands/plugin-create.test.js +0 -53
- package/dist/cli/commands/plugin-create.test.js.map +0 -1
- package/dist/cli/commands/plugin.d.ts +0 -3
- package/dist/cli/commands/plugin.d.ts.map +0 -1
- package/dist/cli/commands/plugin.js +0 -279
- package/dist/cli/commands/plugin.js.map +0 -1
- package/dist/cli/commands/plugin.test.d.ts +0 -2
- package/dist/cli/commands/plugin.test.d.ts.map +0 -1
- package/dist/cli/commands/plugin.test.js +0 -54
- package/dist/cli/commands/plugin.test.js.map +0 -1
- package/dist/cli/commands/profile.d.ts.map +0 -1
- package/dist/cli/commands/profile.js.map +0 -1
- package/dist/cli/commands/register.d.ts +0 -3
- package/dist/cli/commands/register.d.ts.map +0 -1
- package/dist/cli/commands/register.js.map +0 -1
- package/dist/cli/commands/seed.d.ts +0 -14
- package/dist/cli/commands/seed.d.ts.map +0 -1
- package/dist/cli/commands/seed.js.map +0 -1
- package/dist/cli/commands/seed.test.d.ts +0 -2
- package/dist/cli/commands/seed.test.d.ts.map +0 -1
- package/dist/cli/commands/seed.test.js +0 -92
- package/dist/cli/commands/seed.test.js.map +0 -1
- package/dist/cli/commands/setup.d.ts +0 -3
- package/dist/cli/commands/setup.d.ts.map +0 -1
- package/dist/cli/commands/setup.js +0 -84
- package/dist/cli/commands/setup.js.map +0 -1
- package/dist/cli/commands/stake.d.ts +0 -3
- package/dist/cli/commands/stake.d.ts.map +0 -1
- package/dist/cli/commands/stake.js.map +0 -1
- package/dist/cli/commands/status.d.ts +0 -8
- package/dist/cli/commands/status.d.ts.map +0 -1
- package/dist/cli/commands/status.js +0 -55
- package/dist/cli/commands/status.js.map +0 -1
- package/dist/cli/commands/subscribe.d.ts +0 -3
- package/dist/cli/commands/subscribe.d.ts.map +0 -1
- package/dist/cli/commands/subscribe.js.map +0 -1
- package/dist/cli/commands/withdraw.d.ts +0 -3
- package/dist/cli/commands/withdraw.d.ts.map +0 -1
- package/dist/cli/commands/withdraw.js.map +0 -1
- /package/dist/cli/commands/{metering.test.d.ts → buyer/metering.test.d.ts} +0 -0
- /package/dist/cli/commands/{metering.test.js → buyer/metering.test.js} +0 -0
- /package/dist/cli/commands/{profile.d.ts → identity/profile.d.ts} +0 -0
- /package/dist/cli/commands/{profile.js → identity/profile.js} +0 -0
|
@@ -0,0 +1,212 @@
|
|
|
1
|
+
import assert from 'node:assert/strict';
|
|
2
|
+
import test from 'node:test';
|
|
3
|
+
import { createDefaultConfig } from '../../../config/defaults.js';
|
|
4
|
+
import { resolveEffectiveSellerConfig } from '../../../config/effective.js';
|
|
5
|
+
import { assertSellerPrerequisites, buildSellerRuntimeOverridesFromFlags, buildSellerPluginRuntimeEnv, mergeSellerRuntimeEnv, selectSellerProviderNames, } from './start.js';
|
|
6
|
+
test('seller start runtime overrides are runtime-only and win over env/config', () => {
|
|
7
|
+
const config = createDefaultConfig();
|
|
8
|
+
config.seller.reserveFloor = 11;
|
|
9
|
+
config.seller.providers = {
|
|
10
|
+
anthropic: {
|
|
11
|
+
plugin: 'anthropic',
|
|
12
|
+
defaults: { inputUsdPerMillion: 12, outputUsdPerMillion: 18 },
|
|
13
|
+
services: {},
|
|
14
|
+
},
|
|
15
|
+
};
|
|
16
|
+
const beforeResolution = JSON.parse(JSON.stringify(config));
|
|
17
|
+
const env = {
|
|
18
|
+
ANTSEED_SELLER_INPUT_USD_PER_MILLION: '20',
|
|
19
|
+
};
|
|
20
|
+
const overrides = buildSellerRuntimeOverridesFromFlags({
|
|
21
|
+
reserve: 33,
|
|
22
|
+
inputUsdPerMillion: 44,
|
|
23
|
+
outputUsdPerMillion: 55,
|
|
24
|
+
});
|
|
25
|
+
const effective = resolveEffectiveSellerConfig({
|
|
26
|
+
config,
|
|
27
|
+
env,
|
|
28
|
+
sellerOverrides: overrides,
|
|
29
|
+
});
|
|
30
|
+
assert.equal(effective.reserveFloor, 33);
|
|
31
|
+
assert.equal(effective.providers.anthropic?.defaults?.inputUsdPerMillion, 44);
|
|
32
|
+
assert.equal(effective.providers.anthropic?.defaults?.outputUsdPerMillion, 55);
|
|
33
|
+
assert.deepEqual(config, beforeResolution);
|
|
34
|
+
});
|
|
35
|
+
test('buildSellerPluginRuntimeEnv translates unified config into flat ANTSEED_* keys', () => {
|
|
36
|
+
const config = createDefaultConfig();
|
|
37
|
+
config.seller.maxConcurrentBuyers = 17;
|
|
38
|
+
config.seller.providers = {
|
|
39
|
+
anthropic: {
|
|
40
|
+
plugin: 'anthropic',
|
|
41
|
+
defaults: {
|
|
42
|
+
inputUsdPerMillion: 15,
|
|
43
|
+
outputUsdPerMillion: 35,
|
|
44
|
+
cachedInputUsdPerMillion: 1.5,
|
|
45
|
+
},
|
|
46
|
+
services: {
|
|
47
|
+
'claude-sonnet-4-5-20250929': {
|
|
48
|
+
upstreamModel: 'claude-sonnet-4-5-20250929',
|
|
49
|
+
categories: ['coding', 'chat'],
|
|
50
|
+
pricing: {
|
|
51
|
+
inputUsdPerMillion: 18,
|
|
52
|
+
outputUsdPerMillion: 42,
|
|
53
|
+
},
|
|
54
|
+
},
|
|
55
|
+
'claude-opus-4-5': {
|
|
56
|
+
upstreamModel: 'anthropic/claude-opus-4-5-20251117',
|
|
57
|
+
categories: ['reasoning'],
|
|
58
|
+
},
|
|
59
|
+
},
|
|
60
|
+
},
|
|
61
|
+
};
|
|
62
|
+
const runtimeEnv = buildSellerPluginRuntimeEnv(config.seller, 'anthropic');
|
|
63
|
+
assert.equal(runtimeEnv['ANTSEED_INPUT_USD_PER_MILLION'], '15');
|
|
64
|
+
assert.equal(runtimeEnv['ANTSEED_OUTPUT_USD_PER_MILLION'], '35');
|
|
65
|
+
assert.equal(runtimeEnv['ANTSEED_CACHED_INPUT_USD_PER_MILLION'], '1.5');
|
|
66
|
+
assert.equal(runtimeEnv['ANTSEED_MAX_CONCURRENCY'], '17');
|
|
67
|
+
// ANTSEED_ALLOWED_SERVICES is derived from the services map keys.
|
|
68
|
+
const allowed = (runtimeEnv['ANTSEED_ALLOWED_SERVICES'] ?? '').split(',').sort();
|
|
69
|
+
assert.deepEqual(allowed, ['claude-opus-4-5', 'claude-sonnet-4-5-20250929']);
|
|
70
|
+
const services = JSON.parse(runtimeEnv['ANTSEED_SERVICE_PRICING_JSON'] ?? '{}');
|
|
71
|
+
assert.equal(services['claude-sonnet-4-5-20250929']?.inputUsdPerMillion, 18);
|
|
72
|
+
assert.equal(services['claude-sonnet-4-5-20250929']?.outputUsdPerMillion, 42);
|
|
73
|
+
assert.equal(services['claude-opus-4-5'], undefined);
|
|
74
|
+
// Categories are intentionally NOT emitted as an env var — plugins don't
|
|
75
|
+
// read them from env. The CLI writes them directly onto
|
|
76
|
+
// `provider.serviceCategories` inside the seed action.
|
|
77
|
+
assert.equal(runtimeEnv['ANTSEED_SERVICE_CATEGORIES_JSON'], undefined);
|
|
78
|
+
const aliases = JSON.parse(runtimeEnv['ANTSEED_SERVICE_ALIAS_MAP_JSON'] ?? '{}');
|
|
79
|
+
assert.equal(aliases['claude-opus-4-5'], 'anthropic/claude-opus-4-5-20251117');
|
|
80
|
+
// When upstream == serviceId, no alias entry is emitted.
|
|
81
|
+
assert.equal(aliases['claude-sonnet-4-5-20250929'], undefined);
|
|
82
|
+
});
|
|
83
|
+
test('buildSellerPluginRuntimeEnv returns bare env when no provider is configured', () => {
|
|
84
|
+
const config = createDefaultConfig();
|
|
85
|
+
config.seller.maxConcurrentBuyers = 7;
|
|
86
|
+
const runtimeEnv = buildSellerPluginRuntimeEnv(config.seller, 'openai');
|
|
87
|
+
assert.equal(runtimeEnv['ANTSEED_INPUT_USD_PER_MILLION'], undefined);
|
|
88
|
+
assert.equal(runtimeEnv['ANTSEED_OUTPUT_USD_PER_MILLION'], undefined);
|
|
89
|
+
assert.equal(runtimeEnv['ANTSEED_ALLOWED_SERVICES'], undefined);
|
|
90
|
+
assert.equal(runtimeEnv['ANTSEED_MAX_CONCURRENCY'], '7');
|
|
91
|
+
});
|
|
92
|
+
test('buildSellerPluginRuntimeEnv sets OPENAI_BASE_URL from provider baseUrl', () => {
|
|
93
|
+
const config = createDefaultConfig();
|
|
94
|
+
config.seller.providers = {
|
|
95
|
+
openai: {
|
|
96
|
+
plugin: 'openai',
|
|
97
|
+
baseUrl: 'https://api.together.ai',
|
|
98
|
+
services: {
|
|
99
|
+
'qwen3.5-9b': {},
|
|
100
|
+
},
|
|
101
|
+
},
|
|
102
|
+
};
|
|
103
|
+
const runtimeEnv = buildSellerPluginRuntimeEnv(config.seller, 'openai');
|
|
104
|
+
assert.equal(runtimeEnv['OPENAI_BASE_URL'], 'https://api.together.ai');
|
|
105
|
+
});
|
|
106
|
+
test('assertSellerPrerequisites fails when no services are configured', async () => {
|
|
107
|
+
const config = createDefaultConfig();
|
|
108
|
+
const seller = config.seller;
|
|
109
|
+
await assert.rejects(async () => assertSellerPrerequisites({
|
|
110
|
+
dataDir: '/tmp/no-identity-here',
|
|
111
|
+
config,
|
|
112
|
+
effectiveSeller: seller,
|
|
113
|
+
providerNames: ['anthropic'],
|
|
114
|
+
paymentsEnabled: false,
|
|
115
|
+
runtimePricingOverride: false,
|
|
116
|
+
skipChainChecks: true,
|
|
117
|
+
}), /seller prerequisites not met/);
|
|
118
|
+
});
|
|
119
|
+
test('assertSellerPrerequisites fails when pricing override has no providers to apply to', async () => {
|
|
120
|
+
const config = createDefaultConfig();
|
|
121
|
+
const seller = config.seller;
|
|
122
|
+
await assert.rejects(async () => assertSellerPrerequisites({
|
|
123
|
+
dataDir: '/tmp/no-identity-here',
|
|
124
|
+
config,
|
|
125
|
+
effectiveSeller: seller,
|
|
126
|
+
providerNames: ['anthropic'],
|
|
127
|
+
paymentsEnabled: false,
|
|
128
|
+
runtimePricingOverride: true,
|
|
129
|
+
skipChainChecks: true,
|
|
130
|
+
}), /seller prerequisites not met/);
|
|
131
|
+
});
|
|
132
|
+
test('assertSellerPrerequisites passes when services are configured and chain checks are skipped', async () => {
|
|
133
|
+
const config = createDefaultConfig();
|
|
134
|
+
config.seller.providers = {
|
|
135
|
+
anthropic: {
|
|
136
|
+
plugin: 'anthropic',
|
|
137
|
+
defaults: { inputUsdPerMillion: 3, outputUsdPerMillion: 15 },
|
|
138
|
+
services: {
|
|
139
|
+
'claude-sonnet-4-5-20250929': {
|
|
140
|
+
pricing: { inputUsdPerMillion: 3, outputUsdPerMillion: 15 },
|
|
141
|
+
},
|
|
142
|
+
},
|
|
143
|
+
},
|
|
144
|
+
};
|
|
145
|
+
await assertSellerPrerequisites({
|
|
146
|
+
dataDir: '/tmp/no-identity-here',
|
|
147
|
+
config,
|
|
148
|
+
effectiveSeller: config.seller,
|
|
149
|
+
providerNames: ['anthropic'],
|
|
150
|
+
paymentsEnabled: false,
|
|
151
|
+
runtimePricingOverride: false,
|
|
152
|
+
skipChainChecks: true,
|
|
153
|
+
});
|
|
154
|
+
});
|
|
155
|
+
test('assertSellerPrerequisites fails when any selected provider has no services', async () => {
|
|
156
|
+
const config = createDefaultConfig();
|
|
157
|
+
config.seller.providers = {
|
|
158
|
+
anthropic: {
|
|
159
|
+
plugin: 'anthropic',
|
|
160
|
+
services: {
|
|
161
|
+
'claude-sonnet-4-5-20250929': {},
|
|
162
|
+
},
|
|
163
|
+
},
|
|
164
|
+
together: {
|
|
165
|
+
plugin: 'openai',
|
|
166
|
+
services: {},
|
|
167
|
+
},
|
|
168
|
+
};
|
|
169
|
+
await assert.rejects(async () => assertSellerPrerequisites({
|
|
170
|
+
dataDir: '/tmp/no-identity-here',
|
|
171
|
+
config,
|
|
172
|
+
effectiveSeller: config.seller,
|
|
173
|
+
providerNames: ['anthropic', 'together'],
|
|
174
|
+
paymentsEnabled: false,
|
|
175
|
+
runtimePricingOverride: false,
|
|
176
|
+
skipChainChecks: true,
|
|
177
|
+
}), /seller prerequisites not met/);
|
|
178
|
+
});
|
|
179
|
+
test('seller start merge keeps explicit pricing when runtime env also contains pricing and force override is off', () => {
|
|
180
|
+
const merged = mergeSellerRuntimeEnv({
|
|
181
|
+
ANTSEED_INPUT_USD_PER_MILLION: '0.05',
|
|
182
|
+
ANTSEED_OUTPUT_USD_PER_MILLION: '0.1',
|
|
183
|
+
}, {
|
|
184
|
+
ANTSEED_INPUT_USD_PER_MILLION: '3',
|
|
185
|
+
ANTSEED_OUTPUT_USD_PER_MILLION: '15',
|
|
186
|
+
ANTSEED_MAX_CONCURRENCY: '10',
|
|
187
|
+
});
|
|
188
|
+
assert.equal(merged['ANTSEED_INPUT_USD_PER_MILLION'], '0.05');
|
|
189
|
+
assert.equal(merged['ANTSEED_OUTPUT_USD_PER_MILLION'], '0.1');
|
|
190
|
+
assert.equal(merged['ANTSEED_MAX_CONCURRENCY'], '10');
|
|
191
|
+
});
|
|
192
|
+
test('selectSellerProviderNames defaults to all configured providers', () => {
|
|
193
|
+
const config = createDefaultConfig();
|
|
194
|
+
config.seller.providers = {
|
|
195
|
+
anthropic: { plugin: 'anthropic', services: {} },
|
|
196
|
+
together: { plugin: 'openai', services: {} },
|
|
197
|
+
};
|
|
198
|
+
const selection = selectSellerProviderNames(config.seller);
|
|
199
|
+
assert.deepEqual(selection.selected, ['anthropic', 'together']);
|
|
200
|
+
assert.deepEqual(selection.unknown, []);
|
|
201
|
+
});
|
|
202
|
+
test('selectSellerProviderNames parses comma-separated provider filters and reports unknown names', () => {
|
|
203
|
+
const config = createDefaultConfig();
|
|
204
|
+
config.seller.providers = {
|
|
205
|
+
anthropic: { plugin: 'anthropic', services: {} },
|
|
206
|
+
together: { plugin: 'openai', services: {} },
|
|
207
|
+
};
|
|
208
|
+
const selection = selectSellerProviderNames(config.seller, 'together, missing');
|
|
209
|
+
assert.deepEqual(selection.selected, ['together', 'missing']);
|
|
210
|
+
assert.deepEqual(selection.unknown, ['missing']);
|
|
211
|
+
});
|
|
212
|
+
//# sourceMappingURL=start.test.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"start.test.js","sourceRoot":"","sources":["../../../../src/cli/commands/seller/start.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"status.d.ts","sourceRoot":"","sources":["../../../../src/cli/commands/seller/status.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAWzC,wBAAgB,2BAA2B,CAAC,SAAS,EAAE,OAAO,GAAG,IAAI,CA4EpE"}
|
|
@@ -0,0 +1,72 @@
|
|
|
1
|
+
import chalk from 'chalk';
|
|
2
|
+
import Table from 'cli-table3';
|
|
3
|
+
import { getGlobalOptions } from '../types.js';
|
|
4
|
+
import { loadConfig } from '../../../config/loader.js';
|
|
5
|
+
import { resolveEffectiveSellerConfig } from '../../../config/effective.js';
|
|
6
|
+
import { getNodeStatus } from '../../../status/node-status.js';
|
|
7
|
+
import { formatEarnings, formatTokens } from '../../formatters.js';
|
|
8
|
+
export function registerSellerStatusCommand(sellerCmd) {
|
|
9
|
+
sellerCmd
|
|
10
|
+
.command('status')
|
|
11
|
+
.description('Show seller node status and readiness')
|
|
12
|
+
.option('--json', 'output as JSON', false)
|
|
13
|
+
.action(async (options) => {
|
|
14
|
+
try {
|
|
15
|
+
const globalOpts = getGlobalOptions(sellerCmd);
|
|
16
|
+
const config = await loadConfig(globalOpts.config);
|
|
17
|
+
const effectiveSeller = resolveEffectiveSellerConfig({ config });
|
|
18
|
+
const status = await getNodeStatus(config);
|
|
19
|
+
const providerSummary = Object.entries(effectiveSeller.providers).map(([name, cfg]) => {
|
|
20
|
+
const defaults = cfg.defaults;
|
|
21
|
+
const serviceCount = Object.keys(cfg.services).length;
|
|
22
|
+
const priceLabel = defaults
|
|
23
|
+
? `${defaults.inputUsdPerMillion}/${defaults.outputUsdPerMillion}`
|
|
24
|
+
: 'per-service';
|
|
25
|
+
return {
|
|
26
|
+
name,
|
|
27
|
+
services: serviceCount,
|
|
28
|
+
pricing: priceLabel,
|
|
29
|
+
plugin: cfg.plugin,
|
|
30
|
+
};
|
|
31
|
+
});
|
|
32
|
+
if (options.json) {
|
|
33
|
+
console.log(JSON.stringify({
|
|
34
|
+
state: status.state,
|
|
35
|
+
peerCount: status.peerCount,
|
|
36
|
+
earningsToday: status.earningsToday,
|
|
37
|
+
tokensToday: status.tokensToday,
|
|
38
|
+
activeChannels: status.activeChannels,
|
|
39
|
+
uptime: status.uptime,
|
|
40
|
+
walletAddress: status.walletAddress,
|
|
41
|
+
providers: providerSummary,
|
|
42
|
+
}, null, 2));
|
|
43
|
+
return;
|
|
44
|
+
}
|
|
45
|
+
const stateColors = {
|
|
46
|
+
seeding: chalk.green,
|
|
47
|
+
connected: chalk.cyan,
|
|
48
|
+
idle: chalk.gray,
|
|
49
|
+
};
|
|
50
|
+
const colorFn = stateColors[status.state] ?? chalk.white;
|
|
51
|
+
console.log(chalk.bold('Seller Status: ') + colorFn(status.state.toUpperCase()));
|
|
52
|
+
console.log('');
|
|
53
|
+
const table = new Table({
|
|
54
|
+
head: [chalk.bold('Metric'), chalk.bold('Value')],
|
|
55
|
+
colWidths: [25, 55],
|
|
56
|
+
});
|
|
57
|
+
table.push(['Peers connected', chalk.cyan(String(status.peerCount))], ['Earnings today', chalk.green(formatEarnings(status.earningsToday))], ['Tokens today', formatTokens(status.tokensToday)], ['Active channels', String(status.activeChannels)], ['Uptime', status.uptime], ['Wallet address', status.walletAddress ?? chalk.dim('not configured')]);
|
|
58
|
+
table.push([
|
|
59
|
+
'Configured providers',
|
|
60
|
+
providerSummary.length > 0
|
|
61
|
+
? providerSummary.map((provider) => `${provider.name} (${provider.plugin}): ${provider.services} service(s), defaults ${provider.pricing}`).join('\n')
|
|
62
|
+
: chalk.dim('(none)'),
|
|
63
|
+
]);
|
|
64
|
+
console.log(table.toString());
|
|
65
|
+
}
|
|
66
|
+
catch (err) {
|
|
67
|
+
console.error(chalk.red(`Error: ${err.message}`));
|
|
68
|
+
process.exitCode = 1;
|
|
69
|
+
}
|
|
70
|
+
});
|
|
71
|
+
}
|
|
72
|
+
//# sourceMappingURL=status.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"status.js","sourceRoot":"","sources":["../../../../src/cli/commands/seller/status.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAIzC,+DAA+D;AAC/D,MAAM,MAAM,iBAAiB,GAAG,CAAC,OAAO,EAAE,OAAO,KAAK,IAAI,CAAC;AAE3D,mDAAmD;AACnD,MAAM,WAAW,aAAa;IAC5B,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,OAAO,CAAC;CAClB;AAyBD;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,OAAO,GAAG,aAAa,
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAIzC,+DAA+D;AAC/D,MAAM,MAAM,iBAAiB,GAAG,CAAC,OAAO,EAAE,OAAO,KAAK,IAAI,CAAC;AAE3D,mDAAmD;AACnD,MAAM,WAAW,aAAa;IAC5B,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,OAAO,CAAC;CAClB;AAyBD;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,OAAO,GAAG,aAAa,CAuBhE"}
|
|
@@ -25,7 +25,9 @@ function isTruthyEnv(value) {
|
|
|
25
25
|
* Extract global options from the Commander program instance.
|
|
26
26
|
*/
|
|
27
27
|
export function getGlobalOptions(program) {
|
|
28
|
-
const opts = program.
|
|
28
|
+
const opts = typeof program.optsWithGlobals === 'function'
|
|
29
|
+
? program.optsWithGlobals()
|
|
30
|
+
: program.opts();
|
|
29
31
|
const verbose = opts['verbose'] ?? false;
|
|
30
32
|
if (verbose || isTruthyEnv(process.env['ANTSEED_DEBUG'])) {
|
|
31
33
|
process.env['ANTSEED_DEBUG'] = '1';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/cli/commands/types.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAClC,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAY1C,MAAM,YAAY,GAAG,IAAI,CAAC,OAAO,EAAE,EAAE,UAAU,CAAC,CAAC;AACjD,MAAM,eAAe,GAAG,IAAI,CAAC,YAAY,EAAE,aAAa,CAAC,CAAC;AAE1D,SAAS,mBAAmB,CAAC,QAAgB,EAAE,oBAA4B;IACzE,MAAM,GAAG,GAAG,OAAO,QAAQ,KAAK,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;IAChE,IAAI,GAAG,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACrB,OAAO,oBAAoB,CAAC;IAC9B,CAAC;IACD,IAAI,GAAG,KAAK,GAAG,EAAE,CAAC;QAChB,OAAO,OAAO,EAAE,CAAC;IACnB,CAAC;IACD,IAAI,GAAG,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC;QACzB,OAAO,IAAI,CAAC,OAAO,EAAE,EAAE,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;IACvC,CAAC;IACD,OAAO,OAAO,CAAC,GAAG,CAAC,CAAC;AACtB,CAAC;AAED,SAAS,WAAW,CAAC,KAAyB;IAC5C,IAAI,CAAC,KAAK;QAAE,OAAO,KAAK,CAAC;IACzB,MAAM,UAAU,GAAG,KAAK,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;IAC9C,OAAO,UAAU,KAAK,GAAG,IAAI,UAAU,KAAK,MAAM,IAAI,UAAU,KAAK,KAAK,IAAI,UAAU,KAAK,IAAI,CAAC;AACpG,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,gBAAgB,CAAC,OAAgB;IAC/C,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,EAAE,CAAC;
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/cli/commands/types.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAClC,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAY1C,MAAM,YAAY,GAAG,IAAI,CAAC,OAAO,EAAE,EAAE,UAAU,CAAC,CAAC;AACjD,MAAM,eAAe,GAAG,IAAI,CAAC,YAAY,EAAE,aAAa,CAAC,CAAC;AAE1D,SAAS,mBAAmB,CAAC,QAAgB,EAAE,oBAA4B;IACzE,MAAM,GAAG,GAAG,OAAO,QAAQ,KAAK,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;IAChE,IAAI,GAAG,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACrB,OAAO,oBAAoB,CAAC;IAC9B,CAAC;IACD,IAAI,GAAG,KAAK,GAAG,EAAE,CAAC;QAChB,OAAO,OAAO,EAAE,CAAC;IACnB,CAAC;IACD,IAAI,GAAG,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC;QACzB,OAAO,IAAI,CAAC,OAAO,EAAE,EAAE,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;IACvC,CAAC;IACD,OAAO,OAAO,CAAC,GAAG,CAAC,CAAC;AACtB,CAAC;AAED,SAAS,WAAW,CAAC,KAAyB;IAC5C,IAAI,CAAC,KAAK;QAAE,OAAO,KAAK,CAAC;IACzB,MAAM,UAAU,GAAG,KAAK,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;IAC9C,OAAO,UAAU,KAAK,GAAG,IAAI,UAAU,KAAK,MAAM,IAAI,UAAU,KAAK,KAAK,IAAI,UAAU,KAAK,IAAI,CAAC;AACpG,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,gBAAgB,CAAC,OAAgB;IAC/C,MAAM,IAAI,GAAG,OAAO,OAAO,CAAC,eAAe,KAAK,UAAU;QACxD,CAAC,CAAC,OAAO,CAAC,eAAe,EAAE;QAC3B,CAAC,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC;IACnB,MAAM,OAAO,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,KAAK,CAAC;IACzC,IAAI,OAAO,IAAI,WAAW,CAAC,OAAO,CAAC,GAAG,CAAC,eAAe,CAAC,CAAC,EAAE,CAAC;QACzD,OAAO,CAAC,GAAG,CAAC,eAAe,CAAC,GAAG,GAAG,CAAC;IACrC,CAAC;IAED,MAAM,eAAe,GAAG,mBAAmB,CACzC,IAAI,CAAC,QAAQ,CAAC,IAAI,OAAO,CAAC,GAAG,CAAC,gBAAgB,CAAC,IAAI,wBAAwB,EAC3E,eAAe,CAChB,CAAC;IACF,MAAM,gBAAgB,GAAG,mBAAmB,CAC1C,IAAI,CAAC,SAAS,CAAC,IAAI,OAAO,CAAC,GAAG,CAAC,kBAAkB,CAAC,IAAI,YAAY,EAClE,YAAY,CACb,CAAC;IAEF,OAAO;QACL,MAAM,EAAE,eAAe;QACvB,OAAO,EAAE,gBAAgB;QACzB,OAAO;KACR,CAAC;AACJ,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.test.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/types.test.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import assert from 'node:assert/strict';
|
|
2
|
+
import test from 'node:test';
|
|
3
|
+
import { Command } from 'commander';
|
|
4
|
+
import { getGlobalOptions } from './types.js';
|
|
5
|
+
test('getGlobalOptions reads root options from a nested subcommand', () => {
|
|
6
|
+
const program = new Command();
|
|
7
|
+
program
|
|
8
|
+
.option('-c, --config <path>')
|
|
9
|
+
.option('--data-dir <path>')
|
|
10
|
+
.option('-v, --verbose');
|
|
11
|
+
const sellerCmd = program.command('seller');
|
|
12
|
+
const startCmd = sellerCmd.command('start');
|
|
13
|
+
program.parse(['--config', '/tmp/custom-config.json', '--data-dir', '/tmp/custom-data', '--verbose', 'seller', 'start'], {
|
|
14
|
+
from: 'user',
|
|
15
|
+
});
|
|
16
|
+
const options = getGlobalOptions(startCmd);
|
|
17
|
+
assert.equal(options.config, '/tmp/custom-config.json');
|
|
18
|
+
assert.equal(options.dataDir, '/tmp/custom-data');
|
|
19
|
+
assert.equal(options.verbose, true);
|
|
20
|
+
});
|
|
21
|
+
//# sourceMappingURL=types.test.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.test.js","sourceRoot":"","sources":["../../../src/cli/commands/types.test.ts"],"names":[],"mappings":"AAAA,OAAO,MAAM,MAAM,oBAAoB,CAAC;AACxC,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAE9C,IAAI,CAAC,8DAA8D,EAAE,GAAG,EAAE;IACxE,MAAM,OAAO,GAAG,IAAI,OAAO,EAAE,CAAC;IAC9B,OAAO;SACJ,MAAM,CAAC,qBAAqB,CAAC;SAC7B,MAAM,CAAC,mBAAmB,CAAC;SAC3B,MAAM,CAAC,eAAe,CAAC,CAAC;IAE3B,MAAM,SAAS,GAAG,OAAO,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;IAC5C,MAAM,QAAQ,GAAG,SAAS,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;IAE5C,OAAO,CAAC,KAAK,CAAC,CAAC,UAAU,EAAE,yBAAyB,EAAE,YAAY,EAAE,kBAAkB,EAAE,WAAW,EAAE,QAAQ,EAAE,OAAO,CAAC,EAAE;QACvH,IAAI,EAAE,MAAM;KACb,CAAC,CAAC;IAEH,MAAM,OAAO,GAAG,gBAAgB,CAAC,QAAQ,CAAC,CAAC;IAE3C,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,EAAE,yBAAyB,CAAC,CAAC;IACxD,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,EAAE,kBAAkB,CAAC,CAAC;IAClD,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;AACtC,CAAC,CAAC,CAAC"}
|
package/dist/cli/index.js
CHANGED
|
@@ -1,30 +1,15 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
2
|
import { Command } from 'commander';
|
|
3
3
|
import { loadEnvFromFiles } from '../env/load-env.js';
|
|
4
|
-
import {
|
|
5
|
-
import {
|
|
6
|
-
import {
|
|
7
|
-
import {
|
|
4
|
+
import { registerSellerCommands } from './commands/seller/index.js';
|
|
5
|
+
import { registerBuyerCommands } from './commands/buyer/index.js';
|
|
6
|
+
import { registerConfigCommand } from './commands/config/index.js';
|
|
7
|
+
import { registerNetworkCommands } from './commands/network/index.js';
|
|
8
|
+
import { registerIdentityCommands } from './commands/identity/index.js';
|
|
9
|
+
import { registerAgentCommand } from './commands/agent.js';
|
|
8
10
|
import { registerDashboardCommand } from './commands/dashboard.js';
|
|
9
11
|
import { registerDevCommand } from './commands/dev.js';
|
|
10
|
-
import { registerBrowseCommand } from './commands/browse.js';
|
|
11
|
-
import { registerInitCommand } from './commands/init.js';
|
|
12
|
-
import { registerPluginCommand } from './commands/plugin.js';
|
|
13
|
-
import { registerProfileCommand, registerPeerCommand } from './commands/profile.js';
|
|
14
|
-
import { registerDepositCommand } from './commands/deposit.js';
|
|
15
|
-
import { registerWithdrawCommand } from './commands/withdraw.js';
|
|
16
|
-
import { registerBalanceCommand } from './commands/balance.js';
|
|
17
|
-
import { registerBootstrapCommand } from './commands/bootstrap.js';
|
|
18
|
-
import { registerConnectionCommand } from './commands/connection.js';
|
|
19
|
-
import { registerAgentCommand } from './commands/agent.js';
|
|
20
|
-
import { registerSetupCommand } from './commands/setup.js';
|
|
21
|
-
import { registerRegisterCommand } from './commands/register.js';
|
|
22
|
-
import { registerStakeCommand } from './commands/stake.js';
|
|
23
|
-
import { registerEmissionsCommand } from './commands/emissions.js';
|
|
24
|
-
import { registerChannelsCommand } from './commands/channels.js';
|
|
25
|
-
import { registerSubscribeCommand } from './commands/subscribe.js';
|
|
26
12
|
import { registerPaymentsCommand } from './commands/payments.js';
|
|
27
|
-
import { registerMeteringCommand } from './commands/metering.js';
|
|
28
13
|
loadEnvFromFiles();
|
|
29
14
|
import pkg from '../../package.json' with { type: 'json' };
|
|
30
15
|
const version = pkg.version;
|
|
@@ -36,30 +21,14 @@ program
|
|
|
36
21
|
.option('-c, --config <path>', 'path to config file (env: ANTSEED_CONFIG, default: ~/.antseed/config.json)')
|
|
37
22
|
.option('--data-dir <path>', 'path to node identity/state directory (env: ANTSEED_DATA_DIR, default: ~/.antseed)')
|
|
38
23
|
.option('-v, --verbose', 'enable verbose logging', false);
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
registerStatusCommand(program);
|
|
24
|
+
registerSellerCommands(program);
|
|
25
|
+
registerBuyerCommands(program);
|
|
42
26
|
registerConfigCommand(program);
|
|
43
|
-
|
|
27
|
+
registerNetworkCommands(program);
|
|
28
|
+
registerIdentityCommands(program);
|
|
44
29
|
registerDevCommand(program);
|
|
45
|
-
registerBrowseCommand(program);
|
|
46
|
-
registerInitCommand(program);
|
|
47
|
-
registerPluginCommand(program);
|
|
48
|
-
registerProfileCommand(program);
|
|
49
|
-
registerPeerCommand(program);
|
|
50
|
-
registerDepositCommand(program);
|
|
51
|
-
registerWithdrawCommand(program);
|
|
52
|
-
registerBalanceCommand(program);
|
|
53
|
-
registerBootstrapCommand(program);
|
|
54
|
-
registerConnectionCommand(program);
|
|
55
30
|
registerAgentCommand(program);
|
|
56
|
-
|
|
57
|
-
registerRegisterCommand(program);
|
|
58
|
-
registerStakeCommand(program);
|
|
59
|
-
registerEmissionsCommand(program);
|
|
60
|
-
registerChannelsCommand(program);
|
|
61
|
-
registerSubscribeCommand(program);
|
|
31
|
+
registerDashboardCommand(program);
|
|
62
32
|
registerPaymentsCommand(program);
|
|
63
|
-
registerMeteringCommand(program);
|
|
64
33
|
program.parse(process.argv);
|
|
65
34
|
//# sourceMappingURL=index.js.map
|
package/dist/cli/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/cli/index.ts"],"names":[],"mappings":";AAEA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AACtD,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/cli/index.ts"],"names":[],"mappings":";AAEA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AACtD,OAAO,EAAE,sBAAsB,EAAE,MAAM,4BAA4B,CAAC;AACpE,OAAO,EAAE,qBAAqB,EAAE,MAAM,2BAA2B,CAAC;AAClE,OAAO,EAAE,qBAAqB,EAAE,MAAM,4BAA4B,CAAC;AACnE,OAAO,EAAE,uBAAuB,EAAE,MAAM,6BAA6B,CAAC;AACtE,OAAO,EAAE,wBAAwB,EAAE,MAAM,8BAA8B,CAAC;AACxE,OAAO,EAAE,oBAAoB,EAAE,MAAM,qBAAqB,CAAC;AAC3D,OAAO,EAAE,wBAAwB,EAAE,MAAM,yBAAyB,CAAC;AACnE,OAAO,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAC;AACvD,OAAO,EAAE,uBAAuB,EAAE,MAAM,wBAAwB,CAAC;AAEjE,gBAAgB,EAAE,CAAC;AAEnB,OAAO,GAAG,MAAM,oBAAoB,CAAC,OAAO,IAAI,EAAE,MAAM,EAAE,CAAC;AAC3D,MAAM,OAAO,GAAG,GAAG,CAAC,OAAO,CAAC;AAE5B,MAAM,OAAO,GAAG,IAAI,OAAO,EAAE,CAAC;AAE9B,OAAO;KACJ,IAAI,CAAC,SAAS,CAAC;KACf,WAAW,CAAC,6BAA6B,CAAC;KAC1C,OAAO,CAAC,OAAO,CAAC;KAChB,MAAM,CAAC,qBAAqB,EAAE,4EAA4E,CAAC;KAC3G,MAAM,CAAC,mBAAmB,EAAE,oFAAoF,CAAC;KACjH,MAAM,CAAC,eAAe,EAAE,wBAAwB,EAAE,KAAK,CAAC,CAAC;AAE5D,sBAAsB,CAAC,OAAO,CAAC,CAAC;AAChC,qBAAqB,CAAC,OAAO,CAAC,CAAC;AAC/B,qBAAqB,CAAC,OAAO,CAAC,CAAC;AAC/B,uBAAuB,CAAC,OAAO,CAAC,CAAC;AACjC,wBAAwB,CAAC,OAAO,CAAC,CAAC;AAClC,kBAAkB,CAAC,OAAO,CAAC,CAAC;AAC5B,oBAAoB,CAAC,OAAO,CAAC,CAAC;AAC9B,wBAAwB,CAAC,OAAO,CAAC,CAAC;AAClC,uBAAuB,CAAC,OAAO,CAAC,CAAC;AAEjC,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC"}
|
|
@@ -39,7 +39,7 @@ export async function loadCryptoContext(dataDir) {
|
|
|
39
39
|
export function requireCryptoConfig(config) {
|
|
40
40
|
const crypto = config.payments?.crypto;
|
|
41
41
|
if (!crypto) {
|
|
42
|
-
throw new Error('No crypto payment configuration found. Configure payments.crypto in your config file
|
|
42
|
+
throw new Error('No crypto payment configuration found. Configure payments.crypto in your config file.');
|
|
43
43
|
}
|
|
44
44
|
// Merge with chain-config defaults so commands work with just chainId
|
|
45
45
|
const resolved = resolveChainConfig(crypto);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"payment-utils.js","sourceRoot":"","sources":["../../src/cli/payment-utils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAEjC,OAAO,EACL,cAAc,EACd,cAAc,EACd,aAAa,EACb,oBAAoB,EACpB,kBAAkB,GACnB,MAAM,eAAe,CAAC;AACvB,OAAO,EACL,cAAc,EACd,eAAe,EACf,aAAa,EACb,YAAY,GACb,MAAM,wBAAwB,CAAC;AAGhC,wEAAwE;AACxE,MAAM,UAAU,UAAU,CAAC,SAAiB;IAC1C,MAAM,KAAK,GAAG,SAAS,GAAG,GAAG,IAAI,GAAG,CAAC;IACrC,MAAM,IAAI,GAAG,SAAS,GAAG,GAAG,IAAI,GAAG,CAAC;IACpC,MAAM,OAAO,GAAG,IAAI,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,EAAE,EAAE,GAAG,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,CAAC;IACxF,OAAO,GAAG,KAAK,IAAI,OAAO,EAAE,CAAC;AAC/B,CAAC;AAED,oEAAoE;AACpE,MAAM,UAAU,UAAU,CAAC,SAAiB;IAC1C,MAAM,KAAK,GAAG,SAAS,GAAG,QAAU,CAAC;IACrC,MAAM,IAAI,GAAG,SAAS,GAAG,QAAU,CAAC;IACpC,MAAM,OAAO,GAAG,IAAI,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,IAAI,GAAG,CAAC;IAC3E,OAAO,GAAG,KAAK,IAAI,OAAO,EAAE,CAAC;AAC/B,CAAC;AAED,4DAA4D;AAC5D,MAAM,UAAU,oBAAoB,CAAC,MAAc;IACjD,MAAM,WAAW,GAAG,UAAU,CAAC,MAAM,CAAC,CAAC;IACvC,IAAI,KAAK,CAAC,WAAW,CAAC,IAAI,WAAW,IAAI,CAAC,EAAE,CAAC;QAC3C,MAAM,IAAI,KAAK,CAAC,mCAAmC,CAAC,CAAC;IACvD,CAAC;IACD,OAAO,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,WAAW,GAAG,SAAS,CAAC,CAAC,CAAC;AACrD,CAAC;AAQD;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,iBAAiB,CAAC,OAAe;IACrD,MAAM,QAAQ,GAAG,MAAM,oBAAoB,CAAC,OAAO,CAAC,CAAC;IACrD,MAAM,MAAM,GAAG,QAAQ,CAAC,MAAM,CAAC;IAC/B,MAAM,OAAO,GAAG,QAAQ,CAAC,MAAM,CAAC,OAAO,CAAC;IACxC,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC;AACvC,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,mBAAmB,CAAC,MAAqB;IACvD,MAAM,MAAM,GAAG,MAAM,CAAC,QAAQ,EAAE,MAAM,CAAC;IACvC,IAAI,CAAC,MAAM,EAAE,CAAC;QACZ,MAAM,IAAI,KAAK,CAAC,
|
|
1
|
+
{"version":3,"file":"payment-utils.js","sourceRoot":"","sources":["../../src/cli/payment-utils.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"defaults.d.ts","sourceRoot":"","sources":["../../src/config/defaults.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAEhD;;GAEG;AACH,wBAAgB,mBAAmB,IAAI,aAAa,
|
|
1
|
+
{"version":3,"file":"defaults.d.ts","sourceRoot":"","sources":["../../src/config/defaults.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAEhD;;GAEG;AACH,wBAAgB,mBAAmB,IAAI,aAAa,CA6BnD"}
|
package/dist/config/defaults.js
CHANGED
|
@@ -6,17 +6,10 @@ export function createDefaultConfig() {
|
|
|
6
6
|
identity: {
|
|
7
7
|
displayName: 'Antseed Node',
|
|
8
8
|
},
|
|
9
|
-
providers: [],
|
|
10
9
|
seller: {
|
|
11
10
|
reserveFloor: 10,
|
|
12
11
|
maxConcurrentBuyers: 5,
|
|
13
|
-
|
|
14
|
-
pricing: {
|
|
15
|
-
defaults: {
|
|
16
|
-
inputUsdPerMillion: 10,
|
|
17
|
-
outputUsdPerMillion: 10,
|
|
18
|
-
},
|
|
19
|
-
},
|
|
12
|
+
providers: {},
|
|
20
13
|
publicAddress: '',
|
|
21
14
|
},
|
|
22
15
|
buyer: {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"defaults.js","sourceRoot":"","sources":["../../src/config/defaults.ts"],"names":[],"mappings":"AAEA;;GAEG;AACH,MAAM,UAAU,mBAAmB;IACjC,OAAO;QACL,QAAQ,EAAE;YACR,WAAW,EAAE,cAAc;SAC5B;QACD,
|
|
1
|
+
{"version":3,"file":"defaults.js","sourceRoot":"","sources":["../../src/config/defaults.ts"],"names":[],"mappings":"AAEA;;GAEG;AACH,MAAM,UAAU,mBAAmB;IACjC,OAAO;QACL,QAAQ,EAAE;YACR,WAAW,EAAE,cAAc;SAC5B;QACD,MAAM,EAAE;YACN,YAAY,EAAE,EAAE;YAChB,mBAAmB,EAAE,CAAC;YACtB,SAAS,EAAE,EAAE;YACb,aAAa,EAAE,EAAE;SAClB;QACD,KAAK,EAAE;YACL,UAAU,EAAE;gBACV,QAAQ,EAAE;oBACR,kBAAkB,EAAE,GAAG;oBACvB,mBAAmB,EAAE,GAAG;iBACzB;aACF;YACD,iBAAiB,EAAE,EAAE;YACrB,SAAS,EAAE,IAAI;SAChB;QACD,QAAQ,EAAE;YACR,eAAe,EAAE,QAAQ;YACzB,eAAe,EAAE,IAAI;SACtB;QACD,OAAO,EAAE;YACP,cAAc,EAAE,EAAE;SACnB;KACF,CAAC;AACJ,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"effective.d.ts","sourceRoot":"","sources":["../../src/config/effective.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,aAAa,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAEjF,MAAM,WAAW,sBAAsB;IACrC,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,mBAAmB,CAAC,EAAE,MAAM,CAAC;CAC9B;AAED,MAAM,WAAW,qBAAqB;IACpC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,qBAAqB,CAAC,EAAE,MAAM,CAAC;IAC/B,sBAAsB,CAAC,EAAE,MAAM,CAAC;CACjC;AAED,MAAM,WAAW,2BAA2B;IAC1C,MAAM,EAAE,aAAa,CAAC;IACtB,GAAG,CAAC,EAAE,MAAM,CAAC,UAAU,CAAC;IACxB,eAAe,CAAC,EAAE,sBAAsB,CAAC;IACzC,cAAc,CAAC,EAAE,qBAAqB,CAAC;CACxC;
|
|
1
|
+
{"version":3,"file":"effective.d.ts","sourceRoot":"","sources":["../../src/config/effective.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,aAAa,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAEjF,MAAM,WAAW,sBAAsB;IACrC,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,mBAAmB,CAAC,EAAE,MAAM,CAAC;CAC9B;AAED,MAAM,WAAW,qBAAqB;IACpC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,qBAAqB,CAAC,EAAE,MAAM,CAAC;IAC/B,sBAAsB,CAAC,EAAE,MAAM,CAAC;CACjC;AAED,MAAM,WAAW,2BAA2B;IAC1C,MAAM,EAAE,aAAa,CAAC;IACtB,GAAG,CAAC,EAAE,MAAM,CAAC,UAAU,CAAC;IACxB,eAAe,CAAC,EAAE,sBAAsB,CAAC;IACzC,cAAc,CAAC,EAAE,qBAAqB,CAAC;CACxC;AAmCD,wBAAgB,4BAA4B,CAAC,KAAK,EAAE,2BAA2B,GAAG,eAAe,CA0BhG;AAED,wBAAgB,2BAA2B,CAAC,KAAK,EAAE,2BAA2B,GAAG,cAAc,CAiC9F;AAED,wBAAgB,0BAA0B,CAAC,KAAK,EAAE,2BAA2B,GAAG;IAC9E,MAAM,EAAE,eAAe,CAAC;IACxB,KAAK,EAAE,cAAc,CAAC;CACvB,CAKA"}
|
package/dist/config/effective.js
CHANGED
|
@@ -5,26 +5,45 @@ function parseEnvNumber(env, key) {
|
|
|
5
5
|
const parsed = Number(raw);
|
|
6
6
|
return Number.isFinite(parsed) ? parsed : undefined;
|
|
7
7
|
}
|
|
8
|
+
/**
|
|
9
|
+
* Apply a global seller-wide pricing override to every configured provider's
|
|
10
|
+
* defaults. Service-specific pricing entries are left alone — the override
|
|
11
|
+
* only shifts the fallback price floor.
|
|
12
|
+
*/
|
|
13
|
+
function applyProviderPricingOverride(seller, field, value) {
|
|
14
|
+
const providers = Object.values(seller.providers);
|
|
15
|
+
if (providers.length === 0) {
|
|
16
|
+
console.warn(`Warning: ${field} override (${value}) has no effect — no providers configured yet. ` +
|
|
17
|
+
`Add a provider first via 'antseed config seller add-provider'.`);
|
|
18
|
+
return;
|
|
19
|
+
}
|
|
20
|
+
for (const providerCfg of providers) {
|
|
21
|
+
if (!providerCfg.defaults) {
|
|
22
|
+
providerCfg.defaults = { inputUsdPerMillion: 0, outputUsdPerMillion: 0 };
|
|
23
|
+
}
|
|
24
|
+
providerCfg.defaults[field] = value;
|
|
25
|
+
}
|
|
26
|
+
}
|
|
8
27
|
export function resolveEffectiveSellerConfig(input) {
|
|
9
28
|
const env = input.env ?? process.env;
|
|
10
29
|
const seller = structuredClone(input.config.seller);
|
|
11
30
|
const envInputUsdPerMillion = parseEnvNumber(env, 'ANTSEED_SELLER_INPUT_USD_PER_MILLION');
|
|
12
31
|
const envOutputUsdPerMillion = parseEnvNumber(env, 'ANTSEED_SELLER_OUTPUT_USD_PER_MILLION');
|
|
13
32
|
if (envInputUsdPerMillion !== undefined) {
|
|
14
|
-
seller
|
|
33
|
+
applyProviderPricingOverride(seller, 'inputUsdPerMillion', envInputUsdPerMillion);
|
|
15
34
|
}
|
|
16
35
|
if (envOutputUsdPerMillion !== undefined) {
|
|
17
|
-
seller
|
|
36
|
+
applyProviderPricingOverride(seller, 'outputUsdPerMillion', envOutputUsdPerMillion);
|
|
18
37
|
}
|
|
19
38
|
const overrides = input.sellerOverrides;
|
|
20
39
|
if (overrides?.reserveFloor !== undefined) {
|
|
21
40
|
seller.reserveFloor = overrides.reserveFloor;
|
|
22
41
|
}
|
|
23
42
|
if (overrides?.inputUsdPerMillion !== undefined) {
|
|
24
|
-
seller
|
|
43
|
+
applyProviderPricingOverride(seller, 'inputUsdPerMillion', overrides.inputUsdPerMillion);
|
|
25
44
|
}
|
|
26
45
|
if (overrides?.outputUsdPerMillion !== undefined) {
|
|
27
|
-
seller
|
|
46
|
+
applyProviderPricingOverride(seller, 'outputUsdPerMillion', overrides.outputUsdPerMillion);
|
|
28
47
|
}
|
|
29
48
|
return seller;
|
|
30
49
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"effective.js","sourceRoot":"","sources":["../../src/config/effective.ts"],"names":[],"mappings":"AAsBA,SAAS,cAAc,CAAC,GAAsB,EAAE,GAAW;IACzD,MAAM,GAAG,GAAG,GAAG,CAAC,GAAG,CAAC,CAAC;IACrB,IAAI,GAAG,KAAK,SAAS;QAAE,OAAO,SAAS,CAAC;IACxC,MAAM,MAAM,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC;IAC3B,OAAO,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC;AACtD,CAAC;AAED,MAAM,UAAU,4BAA4B,CAAC,KAAkC;IAC7E,MAAM,GAAG,GAAG,KAAK,CAAC,GAAG,IAAI,OAAO,CAAC,GAAG,CAAC;IACrC,MAAM,MAAM,GAAG,eAAe,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;IAEpD,MAAM,qBAAqB,GAAG,cAAc,CAAC,GAAG,EAAE,sCAAsC,CAAC,CAAC;IAC1F,MAAM,sBAAsB,GAAG,cAAc,CAAC,GAAG,EAAE,uCAAuC,CAAC,CAAC;IAE5F,IAAI,qBAAqB,KAAK,SAAS,EAAE,CAAC;QACxC,
|
|
1
|
+
{"version":3,"file":"effective.js","sourceRoot":"","sources":["../../src/config/effective.ts"],"names":[],"mappings":"AAsBA,SAAS,cAAc,CAAC,GAAsB,EAAE,GAAW;IACzD,MAAM,GAAG,GAAG,GAAG,CAAC,GAAG,CAAC,CAAC;IACrB,IAAI,GAAG,KAAK,SAAS;QAAE,OAAO,SAAS,CAAC;IACxC,MAAM,MAAM,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC;IAC3B,OAAO,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC;AACtD,CAAC;AAED;;;;GAIG;AACH,SAAS,4BAA4B,CACnC,MAAuB,EACvB,KAAmD,EACnD,KAAa;IAEb,MAAM,SAAS,GAAG,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;IAClD,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC3B,OAAO,CAAC,IAAI,CACV,YAAY,KAAK,cAAc,KAAK,iDAAiD;YACrF,gEAAgE,CACjE,CAAC;QACF,OAAO;IACT,CAAC;IACD,KAAK,MAAM,WAAW,IAAI,SAAS,EAAE,CAAC;QACpC,IAAI,CAAC,WAAW,CAAC,QAAQ,EAAE,CAAC;YAC1B,WAAW,CAAC,QAAQ,GAAG,EAAE,kBAAkB,EAAE,CAAC,EAAE,mBAAmB,EAAE,CAAC,EAAE,CAAC;QAC3E,CAAC;QACD,WAAW,CAAC,QAAQ,CAAC,KAAK,CAAC,GAAG,KAAK,CAAC;IACtC,CAAC;AACH,CAAC;AAED,MAAM,UAAU,4BAA4B,CAAC,KAAkC;IAC7E,MAAM,GAAG,GAAG,KAAK,CAAC,GAAG,IAAI,OAAO,CAAC,GAAG,CAAC;IACrC,MAAM,MAAM,GAAG,eAAe,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;IAEpD,MAAM,qBAAqB,GAAG,cAAc,CAAC,GAAG,EAAE,sCAAsC,CAAC,CAAC;IAC1F,MAAM,sBAAsB,GAAG,cAAc,CAAC,GAAG,EAAE,uCAAuC,CAAC,CAAC;IAE5F,IAAI,qBAAqB,KAAK,SAAS,EAAE,CAAC;QACxC,4BAA4B,CAAC,MAAM,EAAE,oBAAoB,EAAE,qBAAqB,CAAC,CAAC;IACpF,CAAC;IACD,IAAI,sBAAsB,KAAK,SAAS,EAAE,CAAC;QACzC,4BAA4B,CAAC,MAAM,EAAE,qBAAqB,EAAE,sBAAsB,CAAC,CAAC;IACtF,CAAC;IAED,MAAM,SAAS,GAAG,KAAK,CAAC,eAAe,CAAC;IACxC,IAAI,SAAS,EAAE,YAAY,KAAK,SAAS,EAAE,CAAC;QAC1C,MAAM,CAAC,YAAY,GAAG,SAAS,CAAC,YAAY,CAAC;IAC/C,CAAC;IACD,IAAI,SAAS,EAAE,kBAAkB,KAAK,SAAS,EAAE,CAAC;QAChD,4BAA4B,CAAC,MAAM,EAAE,oBAAoB,EAAE,SAAS,CAAC,kBAAkB,CAAC,CAAC;IAC3F,CAAC;IACD,IAAI,SAAS,EAAE,mBAAmB,KAAK,SAAS,EAAE,CAAC;QACjD,4BAA4B,CAAC,MAAM,EAAE,qBAAqB,EAAE,SAAS,CAAC,mBAAmB,CAAC,CAAC;IAC7F,CAAC;IAED,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,MAAM,UAAU,2BAA2B,CAAC,KAAkC;IAC5E,MAAM,GAAG,GAAG,KAAK,CAAC,GAAG,IAAI,OAAO,CAAC,GAAG,CAAC;IACrC,MAAM,KAAK,GAAG,eAAe,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;IAElD,MAAM,gBAAgB,GAAG,cAAc,CAAC,GAAG,EAAE,8BAA8B,CAAC,CAAC;IAC7E,MAAM,wBAAwB,GAAG,cAAc,CAAC,GAAG,EAAE,yCAAyC,CAAC,CAAC;IAChG,MAAM,yBAAyB,GAAG,cAAc,CAAC,GAAG,EAAE,0CAA0C,CAAC,CAAC;IAElG,IAAI,gBAAgB,KAAK,SAAS,EAAE,CAAC;QACnC,KAAK,CAAC,iBAAiB,GAAG,gBAAgB,CAAC;IAC7C,CAAC;IACD,IAAI,wBAAwB,KAAK,SAAS,EAAE,CAAC;QAC3C,KAAK,CAAC,UAAU,CAAC,QAAQ,CAAC,kBAAkB,GAAG,wBAAwB,CAAC;IAC1E,CAAC;IACD,IAAI,yBAAyB,KAAK,SAAS,EAAE,CAAC;QAC5C,KAAK,CAAC,UAAU,CAAC,QAAQ,CAAC,mBAAmB,GAAG,yBAAyB,CAAC;IAC5E,CAAC;IAED,MAAM,SAAS,GAAG,KAAK,CAAC,cAAc,CAAC;IACvC,IAAI,SAAS,EAAE,SAAS,KAAK,SAAS,EAAE,CAAC;QACvC,KAAK,CAAC,SAAS,GAAG,SAAS,CAAC,SAAS,CAAC;IACxC,CAAC;IACD,IAAI,SAAS,EAAE,iBAAiB,KAAK,SAAS,EAAE,CAAC;QAC/C,KAAK,CAAC,iBAAiB,GAAG,SAAS,CAAC,iBAAiB,CAAC;IACxD,CAAC;IACD,IAAI,SAAS,EAAE,qBAAqB,KAAK,SAAS,EAAE,CAAC;QACnD,KAAK,CAAC,UAAU,CAAC,QAAQ,CAAC,kBAAkB,GAAG,SAAS,CAAC,qBAAqB,CAAC;IACjF,CAAC;IACD,IAAI,SAAS,EAAE,sBAAsB,KAAK,SAAS,EAAE,CAAC;QACpD,KAAK,CAAC,UAAU,CAAC,QAAQ,CAAC,mBAAmB,GAAG,SAAS,CAAC,sBAAsB,CAAC;IACnF,CAAC;IAED,OAAO,KAAK,CAAC;AACf,CAAC;AAED,MAAM,UAAU,0BAA0B,CAAC,KAAkC;IAI3E,OAAO;QACL,MAAM,EAAE,4BAA4B,CAAC,KAAK,CAAC;QAC3C,KAAK,EAAE,2BAA2B,CAAC,KAAK,CAAC;KAC1C,CAAC;AACJ,CAAC"}
|