@antseed/cli 0.1.59 → 0.1.61
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 +46 -37
- package/package.json +6 -6
- package/dist/cli/commands/agent.d.ts +0 -3
- package/dist/cli/commands/agent.d.ts.map +0 -1
- package/dist/cli/commands/agent.js +0 -165
- package/dist/cli/commands/agent.js.map +0 -1
- 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 +0 -62
- 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 +0 -46
- 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 +0 -103
- 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 +0 -79
- package/dist/cli/commands/channels.js.map +0 -1
- package/dist/cli/commands/claim.d.ts +0 -3
- package/dist/cli/commands/claim.d.ts.map +0 -1
- package/dist/cli/commands/claim.js +0 -35
- package/dist/cli/commands/claim.js.map +0 -1
- package/dist/cli/commands/config.d.ts +0 -20
- 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 +0 -13
- package/dist/cli/commands/connect.d.ts.map +0 -1
- package/dist/cli/commands/connect.js +0 -402
- 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 +0 -52
- 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 +0 -128
- package/dist/cli/commands/connection.js.map +0 -1
- package/dist/cli/commands/dashboard.d.ts +0 -6
- package/dist/cli/commands/dashboard.d.ts.map +0 -1
- package/dist/cli/commands/dashboard.js +0 -48
- package/dist/cli/commands/dashboard.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 +0 -38
- package/dist/cli/commands/deposit.js.map +0 -1
- package/dist/cli/commands/dev.d.ts +0 -3
- package/dist/cli/commands/dev.d.ts.map +0 -1
- package/dist/cli/commands/dev.js +0 -94
- package/dist/cli/commands/dev.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 +0 -80
- 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/payments.d.ts +0 -3
- package/dist/cli/commands/payments.d.ts.map +0 -1
- package/dist/cli/commands/payments.js +0 -26
- package/dist/cli/commands/payments.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 +0 -10
- package/dist/cli/commands/profile.d.ts.map +0 -1
- package/dist/cli/commands/profile.js +0 -89
- 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 +0 -35
- 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 +0 -500
- 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 +0 -83
- 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 +0 -96
- package/dist/cli/commands/subscribe.js.map +0 -1
- package/dist/cli/commands/types.d.ts +0 -14
- package/dist/cli/commands/types.d.ts.map +0 -1
- package/dist/cli/commands/types.js +0 -41
- package/dist/cli/commands/types.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 +0 -48
- package/dist/cli/commands/withdraw.js.map +0 -1
- package/dist/cli/formatters.d.ts +0 -29
- package/dist/cli/formatters.d.ts.map +0 -1
- package/dist/cli/formatters.js +0 -67
- package/dist/cli/formatters.js.map +0 -1
- package/dist/cli/index.d.ts +0 -3
- package/dist/cli/index.d.ts.map +0 -1
- package/dist/cli/index.js +0 -65
- package/dist/cli/index.js.map +0 -1
- package/dist/cli/payment-utils.d.ts +0 -53
- package/dist/cli/payment-utils.d.ts.map +0 -1
- package/dist/cli/payment-utils.js +0 -137
- package/dist/cli/payment-utils.js.map +0 -1
- package/dist/cli/shutdown.d.ts +0 -11
- package/dist/cli/shutdown.d.ts.map +0 -1
- package/dist/cli/shutdown.js +0 -34
- package/dist/cli/shutdown.js.map +0 -1
- package/dist/config/defaults.d.ts +0 -6
- package/dist/config/defaults.d.ts.map +0 -1
- package/dist/config/defaults.js +0 -53
- package/dist/config/defaults.js.map +0 -1
- package/dist/config/effective.d.ts +0 -25
- package/dist/config/effective.d.ts.map +0 -1
- package/dist/config/effective.js +0 -67
- package/dist/config/effective.js.map +0 -1
- package/dist/config/effective.test.d.ts +0 -2
- package/dist/config/effective.test.d.ts.map +0 -1
- package/dist/config/effective.test.js +0 -62
- package/dist/config/effective.test.js.map +0 -1
- package/dist/config/loader.d.ts +0 -12
- package/dist/config/loader.d.ts.map +0 -1
- package/dist/config/loader.js +0 -269
- package/dist/config/loader.js.map +0 -1
- package/dist/config/loader.test.d.ts +0 -2
- package/dist/config/loader.test.d.ts.map +0 -1
- package/dist/config/loader.test.js +0 -124
- package/dist/config/loader.test.js.map +0 -1
- package/dist/config/types.d.ts +0 -167
- package/dist/config/types.d.ts.map +0 -1
- package/dist/config/types.js +0 -2
- package/dist/config/types.js.map +0 -1
- package/dist/config/validation.d.ts +0 -10
- package/dist/config/validation.d.ts.map +0 -1
- package/dist/config/validation.js +0 -130
- package/dist/config/validation.js.map +0 -1
- package/dist/env/load-env.d.ts +0 -6
- package/dist/env/load-env.d.ts.map +0 -1
- package/dist/env/load-env.js +0 -18
- package/dist/env/load-env.js.map +0 -1
- package/dist/plugins/loader.d.ts +0 -12
- package/dist/plugins/loader.d.ts.map +0 -1
- package/dist/plugins/loader.js +0 -111
- package/dist/plugins/loader.js.map +0 -1
- package/dist/plugins/manager.d.ts +0 -11
- package/dist/plugins/manager.d.ts.map +0 -1
- package/dist/plugins/manager.js +0 -52
- package/dist/plugins/manager.js.map +0 -1
- package/dist/plugins/registry.d.ts +0 -8
- package/dist/plugins/registry.d.ts.map +0 -1
- package/dist/plugins/registry.js +0 -45
- package/dist/plugins/registry.js.map +0 -1
- package/dist/proxy/buyer-proxy.d.ts +0 -82
- package/dist/proxy/buyer-proxy.d.ts.map +0 -1
- package/dist/proxy/buyer-proxy.js +0 -1056
- package/dist/proxy/buyer-proxy.js.map +0 -1
- package/dist/proxy/buyer-proxy.test.d.ts +0 -2
- package/dist/proxy/buyer-proxy.test.d.ts.map +0 -1
- package/dist/proxy/buyer-proxy.test.js +0 -124
- package/dist/proxy/buyer-proxy.test.js.map +0 -1
- package/dist/proxy/request-utils.d.ts +0 -21
- package/dist/proxy/request-utils.d.ts.map +0 -1
- package/dist/proxy/request-utils.js +0 -237
- package/dist/proxy/request-utils.js.map +0 -1
- package/dist/proxy/routing.d.ts +0 -17
- package/dist/proxy/routing.d.ts.map +0 -1
- package/dist/proxy/routing.js +0 -115
- package/dist/proxy/routing.js.map +0 -1
- package/dist/proxy/service-api-adapter.d.ts +0 -3
- package/dist/proxy/service-api-adapter.d.ts.map +0 -1
- package/dist/proxy/service-api-adapter.js +0 -2
- package/dist/proxy/service-api-adapter.js.map +0 -1
- package/dist/proxy/service-api-adapter.test.d.ts +0 -2
- package/dist/proxy/service-api-adapter.test.d.ts.map +0 -1
- package/dist/proxy/service-api-adapter.test.js +0 -121
- package/dist/proxy/service-api-adapter.test.js.map +0 -1
- package/dist/proxy/telemetry.d.ts +0 -23
- package/dist/proxy/telemetry.d.ts.map +0 -1
- package/dist/proxy/telemetry.js +0 -227
- package/dist/proxy/telemetry.js.map +0 -1
- package/dist/status/node-status.d.ts +0 -22
- package/dist/status/node-status.d.ts.map +0 -1
- package/dist/status/node-status.js +0 -83
- package/dist/status/node-status.js.map +0 -1
package/README.md
CHANGED
|
@@ -8,20 +8,35 @@ Command-line interface and web dashboard for the AntSeed Network — a P2P netwo
|
|
|
8
8
|
|
|
9
9
|
| Command | Description |
|
|
10
10
|
|---------|-------------|
|
|
11
|
+
| **Setup** | |
|
|
11
12
|
| `antseed init` | Install trusted provider and router plugins |
|
|
12
|
-
| `antseed
|
|
13
|
-
| `antseed
|
|
13
|
+
| `antseed setup --role <role>` | Check readiness for provider or buyer role |
|
|
14
|
+
| `antseed register` | Register peer identity on-chain (ERC-8004) |
|
|
15
|
+
| **Providing** | |
|
|
16
|
+
| `antseed seed --provider <name>` | Start providing AI services on the P2P network |
|
|
17
|
+
| `antseed stake <amount>` | Stake USDC as a provider (min $10) |
|
|
18
|
+
| `antseed unstake` | Withdraw staked USDC |
|
|
19
|
+
| `antseed claim` | Claim accumulated seller payouts |
|
|
20
|
+
| **Buying** | |
|
|
21
|
+
| `antseed connect --router <name>` | Start the buyer proxy and connect to sellers |
|
|
22
|
+
| `antseed deposit <amount>` | Deposit USDC for payments |
|
|
23
|
+
| `antseed withdraw <amount>` | Withdraw USDC from deposits |
|
|
24
|
+
| `antseed balance` | Check wallet and deposit balance |
|
|
25
|
+
| `antseed browse` | Browse available services and pricing |
|
|
26
|
+
| `antseed payments` | Launch the payments portal |
|
|
27
|
+
| **Session** | |
|
|
14
28
|
| `antseed connection get` | Show current session state (pinned service, peer) |
|
|
15
29
|
| `antseed connection set` | Update service/peer overrides on a running proxy |
|
|
16
|
-
| `antseed connection clear` | Clear service/peer overrides
|
|
17
|
-
|
|
|
18
|
-
| `antseed plugin remove <name>` | Remove an installed plugin |
|
|
19
|
-
| `antseed plugin list` | List installed plugins |
|
|
30
|
+
| `antseed connection clear` | Clear service/peer overrides |
|
|
31
|
+
| **Management** | |
|
|
20
32
|
| `antseed status` | Show current node status |
|
|
21
|
-
| `antseed config` | Manage configuration
|
|
22
|
-
| `antseed
|
|
23
|
-
| `antseed
|
|
24
|
-
| `antseed
|
|
33
|
+
| `antseed config` | Manage configuration |
|
|
34
|
+
| `antseed plugin add/remove/list` | Manage plugins |
|
|
35
|
+
| `antseed dashboard` | Start the web dashboard |
|
|
36
|
+
| `antseed channels` | List payment channels |
|
|
37
|
+
| `antseed emissions` | View ANTS emissions and epoch info |
|
|
38
|
+
| `antseed dev` | Run seller + buyer locally for testing |
|
|
39
|
+
| `antseed bootstrap` | Run a dedicated DHT bootstrap node |
|
|
25
40
|
|
|
26
41
|
## Plugins
|
|
27
42
|
|
|
@@ -195,33 +210,27 @@ Session overrides are stored in `~/.antseed/buyer.state.json` and picked up by t
|
|
|
195
210
|
|
|
196
211
|
The service override rewrites the `model` field in the request body **before routing**, so peer selection, pricing, and the forwarded request all reflect the overridden service — regardless of what the tool (e.g. Claude Code) originally requested.
|
|
197
212
|
|
|
198
|
-
##
|
|
199
|
-
|
|
200
|
-
`
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
-
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
- `
|
|
214
|
-
|
|
215
|
-
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
|
|
219
|
-
Set `ANTSEED_ENABLE_SETTLEMENT=true` to force-enable settlement checks.
|
|
220
|
-
|
|
221
|
-
Runtime behavior:
|
|
222
|
-
- session opens -> optional deposit into deposits contract
|
|
223
|
-
- session finalizes -> exact on-chain split settlement via sessions contract (`seller payout + platform fee + buyer refund remainder`)
|
|
224
|
-
- no receipts -> deposit refund path
|
|
213
|
+
## Payments
|
|
214
|
+
|
|
215
|
+
Payment channels are automatic when `payments.crypto.chainId` is set in config. Set it to `base-mainnet` for production or `base-sepolia` for testing. Contract addresses are resolved automatically from the chain ID.
|
|
216
|
+
|
|
217
|
+
```json
|
|
218
|
+
{
|
|
219
|
+
"payments": {
|
|
220
|
+
"preferredMethod": "crypto",
|
|
221
|
+
"crypto": {
|
|
222
|
+
"chainId": "base-mainnet"
|
|
223
|
+
}
|
|
224
|
+
}
|
|
225
|
+
}
|
|
226
|
+
```
|
|
227
|
+
|
|
228
|
+
The node's identity is a secp256k1 private key that doubles as the EVM wallet. Set it via `ANTSEED_IDENTITY_HEX` env var (recommended) or let the CLI generate one at `~/.antseed/identity.key` (not recommended for production — use env var with a secrets manager instead). Providers must register on-chain (`antseed register`) and stake USDC (`antseed stake 10`) before seeding. Buyers must deposit USDC (`antseed deposit 10`) before connecting.
|
|
229
|
+
|
|
230
|
+
Runtime env controls:
|
|
231
|
+
- `ANTSEED_SETTLEMENT_IDLE_MS=600000` — idle time before settling a session (default: 10 minutes)
|
|
232
|
+
- `ANTSEED_DEFAULT_DEPOSIT_USDC=1` — default lock amount per session
|
|
233
|
+
- `ANTSEED_IDENTITY_HEX=<hex>` — inject identity via env (supports 0x prefix)
|
|
225
234
|
|
|
226
235
|
Provider-specific options are configured via each plugin's config schema (see `antseed plugin add --help`).
|
|
227
236
|
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@antseed/cli",
|
|
3
|
-
"version": "0.1.
|
|
3
|
+
"version": "0.1.61",
|
|
4
4
|
"description": "Antseed Network CLI and Web Dashboard",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"files": [
|
|
@@ -19,12 +19,12 @@
|
|
|
19
19
|
"dotenv": "^16.6.1",
|
|
20
20
|
"open": "^11.0.0",
|
|
21
21
|
"ora": "^9.3.0",
|
|
22
|
-
"@antseed/api-adapter": "0.1.
|
|
23
|
-
"@antseed/ant-agent": "0.1.
|
|
22
|
+
"@antseed/api-adapter": "0.1.16",
|
|
23
|
+
"@antseed/ant-agent": "0.1.15",
|
|
24
24
|
"@antseed/payments": "0.1.3",
|
|
25
|
-
"@antseed/
|
|
26
|
-
"@antseed/
|
|
27
|
-
"@antseed/
|
|
25
|
+
"@antseed/node": "0.2.35",
|
|
26
|
+
"@antseed/provider-core": "0.2.28",
|
|
27
|
+
"@antseed/dashboard": "0.1.24"
|
|
28
28
|
},
|
|
29
29
|
"devDependencies": {
|
|
30
30
|
"@types/node": "^20.11.0",
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"agent.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/agent.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AA6DzC,wBAAgB,oBAAoB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAgI3D"}
|
|
@@ -1,165 +0,0 @@
|
|
|
1
|
-
import chalk from 'chalk';
|
|
2
|
-
import { createInterface } from 'node:readline';
|
|
3
|
-
import { resolve, isAbsolute } from 'node:path';
|
|
4
|
-
import { loadAntAgent, AntAgentProvider } from '@antseed/ant-agent';
|
|
5
|
-
import { BaseProvider, StaticTokenProvider } from '@antseed/provider-core';
|
|
6
|
-
const encoder = new TextEncoder();
|
|
7
|
-
const decoder = new TextDecoder();
|
|
8
|
-
function resolveLLMConfig(options) {
|
|
9
|
-
const endpoint = options['endpoint']
|
|
10
|
-
?? process.env['OPENAI_BASE_URL']
|
|
11
|
-
?? process.env['ANTHROPIC_BASE_URL']
|
|
12
|
-
?? 'https://api.anthropic.com';
|
|
13
|
-
const apiKey = options['apiKey']
|
|
14
|
-
?? process.env['ANTHROPIC_API_KEY']
|
|
15
|
-
?? process.env['OPENAI_API_KEY']
|
|
16
|
-
?? '';
|
|
17
|
-
const model = options['model']
|
|
18
|
-
?? process.env['ANTSEED_MODEL']
|
|
19
|
-
?? 'claude-sonnet-4-5-20250929';
|
|
20
|
-
if (!apiKey) {
|
|
21
|
-
console.error(chalk.red('No API key found. Set ANTHROPIC_API_KEY, OPENAI_API_KEY, or pass --api-key'));
|
|
22
|
-
process.exit(1);
|
|
23
|
-
}
|
|
24
|
-
// Detect auth header from endpoint — use lowercase to match relay convention
|
|
25
|
-
const isAnthropic = endpoint.includes('anthropic.com');
|
|
26
|
-
const authHeader = isAnthropic ? 'x-api-key' : 'authorization';
|
|
27
|
-
return { endpoint, apiKey, model, authHeader };
|
|
28
|
-
}
|
|
29
|
-
function createProvider(config) {
|
|
30
|
-
return new BaseProvider({
|
|
31
|
-
name: 'agent-dev',
|
|
32
|
-
services: [config.model],
|
|
33
|
-
pricing: { defaults: { inputUsdPerMillion: 0, outputUsdPerMillion: 0 } },
|
|
34
|
-
relay: {
|
|
35
|
-
baseUrl: config.endpoint,
|
|
36
|
-
authHeaderName: config.authHeader,
|
|
37
|
-
authHeaderValue: '',
|
|
38
|
-
tokenProvider: new StaticTokenProvider(config.apiKey),
|
|
39
|
-
maxConcurrency: 1,
|
|
40
|
-
allowedServices: [config.model],
|
|
41
|
-
},
|
|
42
|
-
});
|
|
43
|
-
}
|
|
44
|
-
export function registerAgentCommand(program) {
|
|
45
|
-
const agentCmd = program
|
|
46
|
-
.command('agent')
|
|
47
|
-
.description('Ant agent development tools');
|
|
48
|
-
agentCmd
|
|
49
|
-
.command('dev <agentDir>')
|
|
50
|
-
.description('Test an ant agent locally with an interactive chat')
|
|
51
|
-
.option('--endpoint <url>', 'LLM API endpoint (or set OPENAI_BASE_URL / ANTHROPIC_BASE_URL)')
|
|
52
|
-
.option('--api-key <key>', 'API key (or set ANTHROPIC_API_KEY / OPENAI_API_KEY)')
|
|
53
|
-
.option('--model <model>', 'model to use (default: claude-sonnet-4-5-20250929)')
|
|
54
|
-
.action(async (agentDir, options) => {
|
|
55
|
-
const agentPath = isAbsolute(agentDir) ? agentDir : resolve(process.cwd(), agentDir);
|
|
56
|
-
// Load agent
|
|
57
|
-
let agentDef;
|
|
58
|
-
try {
|
|
59
|
-
agentDef = await loadAntAgent(agentPath);
|
|
60
|
-
}
|
|
61
|
-
catch (err) {
|
|
62
|
-
console.error(chalk.red(`Failed to load agent from ${agentDir}: ${err.message}`));
|
|
63
|
-
process.exit(1);
|
|
64
|
-
}
|
|
65
|
-
const knowledgeCount = agentDef.knowledge.length;
|
|
66
|
-
const toolCount = agentDef.tools?.length ?? 0;
|
|
67
|
-
console.log(chalk.green(`Loaded agent "${agentDef.name}"`));
|
|
68
|
-
console.log(chalk.dim(` knowledge: ${knowledgeCount} module${knowledgeCount !== 1 ? 's' : ''}`));
|
|
69
|
-
console.log(chalk.dim(` tools: ${toolCount} custom tool${toolCount !== 1 ? 's' : ''}`));
|
|
70
|
-
if (agentDef.persona)
|
|
71
|
-
console.log(chalk.dim(` persona: ${agentDef.persona.slice(0, 80)}...`));
|
|
72
|
-
console.log();
|
|
73
|
-
// Setup LLM
|
|
74
|
-
const llmConfig = resolveLLMConfig(options);
|
|
75
|
-
console.log(chalk.dim(` endpoint: ${llmConfig.endpoint}`));
|
|
76
|
-
console.log(chalk.dim(` model: ${llmConfig.model}`));
|
|
77
|
-
console.log();
|
|
78
|
-
const innerProvider = createProvider(llmConfig);
|
|
79
|
-
const provider = new AntAgentProvider(innerProvider, agentDef);
|
|
80
|
-
// Detect API format from endpoint
|
|
81
|
-
const isOpenAI = !llmConfig.endpoint.includes('anthropic.com');
|
|
82
|
-
const apiPath = isOpenAI ? '/v1/chat/completions' : '/v1/messages';
|
|
83
|
-
const messages = [];
|
|
84
|
-
console.log(chalk.cyan('Chat with your ant agent. Type "exit" to quit, "clear" to reset.'));
|
|
85
|
-
console.log();
|
|
86
|
-
const rl = createInterface({
|
|
87
|
-
input: process.stdin,
|
|
88
|
-
output: process.stdout,
|
|
89
|
-
});
|
|
90
|
-
const prompt = () => {
|
|
91
|
-
rl.question(chalk.bold('You: '), (input) => {
|
|
92
|
-
const trimmed = input.trim();
|
|
93
|
-
if (!trimmed) {
|
|
94
|
-
prompt();
|
|
95
|
-
return;
|
|
96
|
-
}
|
|
97
|
-
if (trimmed === 'exit' || trimmed === 'quit') {
|
|
98
|
-
rl.close();
|
|
99
|
-
return;
|
|
100
|
-
}
|
|
101
|
-
if (trimmed === 'clear') {
|
|
102
|
-
messages.length = 0;
|
|
103
|
-
console.log(chalk.dim('Conversation cleared.\n'));
|
|
104
|
-
prompt();
|
|
105
|
-
return;
|
|
106
|
-
}
|
|
107
|
-
messages.push({ role: 'user', content: trimmed });
|
|
108
|
-
void (async () => {
|
|
109
|
-
// Build request
|
|
110
|
-
let body;
|
|
111
|
-
if (isOpenAI) {
|
|
112
|
-
body = {
|
|
113
|
-
model: llmConfig.model,
|
|
114
|
-
messages: [...messages],
|
|
115
|
-
stream: false,
|
|
116
|
-
};
|
|
117
|
-
}
|
|
118
|
-
else {
|
|
119
|
-
body = {
|
|
120
|
-
model: llmConfig.model,
|
|
121
|
-
messages: [...messages],
|
|
122
|
-
max_tokens: 4096,
|
|
123
|
-
stream: false,
|
|
124
|
-
};
|
|
125
|
-
}
|
|
126
|
-
const req = {
|
|
127
|
-
requestId: crypto.randomUUID(),
|
|
128
|
-
method: 'POST',
|
|
129
|
-
path: apiPath,
|
|
130
|
-
headers: { 'content-type': 'application/json' },
|
|
131
|
-
body: encoder.encode(JSON.stringify(body)),
|
|
132
|
-
};
|
|
133
|
-
try {
|
|
134
|
-
const res = await provider.handleRequest(req);
|
|
135
|
-
const resBody = JSON.parse(decoder.decode(res.body));
|
|
136
|
-
let text;
|
|
137
|
-
if (isOpenAI) {
|
|
138
|
-
const choices = resBody.choices;
|
|
139
|
-
text = choices?.[0]?.message?.content ?? '(no response)';
|
|
140
|
-
}
|
|
141
|
-
else {
|
|
142
|
-
const content = resBody.content;
|
|
143
|
-
text = content?.find(b => b.type === 'text')?.text ?? '(no response)';
|
|
144
|
-
}
|
|
145
|
-
messages.push({ role: 'assistant', content: text });
|
|
146
|
-
console.log(chalk.green('\nAssistant: ') + text + '\n');
|
|
147
|
-
}
|
|
148
|
-
catch (err) {
|
|
149
|
-
console.error(chalk.red(`\nError: ${err.message}\n`));
|
|
150
|
-
}
|
|
151
|
-
prompt();
|
|
152
|
-
})().catch((err) => {
|
|
153
|
-
console.error(chalk.red(`\nError: ${err.message}\n`));
|
|
154
|
-
prompt();
|
|
155
|
-
});
|
|
156
|
-
});
|
|
157
|
-
};
|
|
158
|
-
prompt();
|
|
159
|
-
rl.on('close', () => {
|
|
160
|
-
console.log(chalk.dim('\nGoodbye!'));
|
|
161
|
-
process.exit(0);
|
|
162
|
-
});
|
|
163
|
-
});
|
|
164
|
-
}
|
|
165
|
-
//# sourceMappingURL=agent.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"agent.js","sourceRoot":"","sources":["../../../src/cli/commands/agent.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"balance.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/balance.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAkBzC,wBAAgB,sBAAsB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAuD7D"}
|
|
@@ -1,62 +0,0 @@
|
|
|
1
|
-
import chalk from 'chalk';
|
|
2
|
-
import ora from 'ora';
|
|
3
|
-
import { getGlobalOptions } from './types.js';
|
|
4
|
-
import { loadConfig } from '../../config/loader.js';
|
|
5
|
-
import { loadOrCreateIdentity, DepositsClient, } from '@antseed/node';
|
|
6
|
-
/** Format USDC base units (6 decimals) to human-readable string. */
|
|
7
|
-
function formatUsdc(baseUnits) {
|
|
8
|
-
const whole = baseUnits / 1000000n;
|
|
9
|
-
const frac = baseUnits % 1000000n;
|
|
10
|
-
const fracStr = frac.toString().padStart(6, '0').replace(/0+$/, '') || '0';
|
|
11
|
-
return `${whole}.${fracStr}`;
|
|
12
|
-
}
|
|
13
|
-
export function registerBalanceCommand(program) {
|
|
14
|
-
program
|
|
15
|
-
.command('balance')
|
|
16
|
-
.description('Show deposits balance for your wallet')
|
|
17
|
-
.option('--json', 'output as JSON', false)
|
|
18
|
-
.action(async (options) => {
|
|
19
|
-
const globalOpts = getGlobalOptions(program);
|
|
20
|
-
const config = await loadConfig(globalOpts.config);
|
|
21
|
-
const payments = config.payments;
|
|
22
|
-
if (!payments?.crypto) {
|
|
23
|
-
console.error(chalk.red('Error: No crypto payment configuration found.'));
|
|
24
|
-
console.error(chalk.dim('Configure payments.crypto in your config file or run: antseed init'));
|
|
25
|
-
process.exit(1);
|
|
26
|
-
}
|
|
27
|
-
const identity = await loadOrCreateIdentity(globalOpts.dataDir);
|
|
28
|
-
const address = identity.wallet.address;
|
|
29
|
-
const depositsClient = new DepositsClient({
|
|
30
|
-
rpcUrl: payments.crypto.rpcUrl,
|
|
31
|
-
contractAddress: payments.crypto.depositsContractAddress,
|
|
32
|
-
usdcAddress: payments.crypto.usdcContractAddress,
|
|
33
|
-
});
|
|
34
|
-
const spinner = ora('Fetching balance...').start();
|
|
35
|
-
try {
|
|
36
|
-
const account = await depositsClient.getBuyerBalance(address);
|
|
37
|
-
const usdcBalance = await depositsClient.getUSDCBalance(address);
|
|
38
|
-
spinner.stop();
|
|
39
|
-
if (options.json) {
|
|
40
|
-
console.log(JSON.stringify({
|
|
41
|
-
address,
|
|
42
|
-
walletUSDC: formatUsdc(usdcBalance),
|
|
43
|
-
depositsAvailable: formatUsdc(account.available),
|
|
44
|
-
depositsReserved: formatUsdc(account.reserved),
|
|
45
|
-
}, null, 2));
|
|
46
|
-
return;
|
|
47
|
-
}
|
|
48
|
-
console.log(chalk.bold('Wallet: ') + chalk.cyan(address));
|
|
49
|
-
console.log('');
|
|
50
|
-
console.log(chalk.bold('USDC Balance (wallet): ') + chalk.green(formatUsdc(usdcBalance) + ' USDC'));
|
|
51
|
-
console.log('');
|
|
52
|
-
console.log(chalk.bold('Deposits Account:'));
|
|
53
|
-
console.log(` Available: ${chalk.green(formatUsdc(account.available) + ' USDC')}`);
|
|
54
|
-
console.log(` Reserved: ${chalk.yellow(formatUsdc(account.reserved) + ' USDC')}`);
|
|
55
|
-
}
|
|
56
|
-
catch (err) {
|
|
57
|
-
spinner.fail(chalk.red(`Failed to fetch balance: ${err.message}`));
|
|
58
|
-
process.exit(1);
|
|
59
|
-
}
|
|
60
|
-
});
|
|
61
|
-
}
|
|
62
|
-
//# sourceMappingURL=balance.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"balance.js","sourceRoot":"","sources":["../../../src/cli/commands/balance.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"bootstrap.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/bootstrap.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AAOxC,wBAAgB,wBAAwB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAkD/D"}
|
|
@@ -1,46 +0,0 @@
|
|
|
1
|
-
import chalk from 'chalk';
|
|
2
|
-
import { getGlobalOptions } from './types.js';
|
|
3
|
-
import { loadOrCreateIdentity } from '@antseed/node';
|
|
4
|
-
import { DHTNode, parseBootstrapList } from '@antseed/node/discovery';
|
|
5
|
-
import { setupShutdownHandler } from '../shutdown.js';
|
|
6
|
-
export function registerBootstrapCommand(program) {
|
|
7
|
-
program
|
|
8
|
-
.command('bootstrap')
|
|
9
|
-
.description('Run a dedicated DHT bootstrap node (no provider, no payments)')
|
|
10
|
-
.option('-p, --port <port>', 'UDP port to listen on', '6881')
|
|
11
|
-
.option('-b, --bootstrap <nodes>', 'comma-separated host:port list of peer bootstrap nodes (e.g. to cross-connect two bootstrap nodes)')
|
|
12
|
-
.action(async (options) => {
|
|
13
|
-
const globalOptions = getGlobalOptions(program);
|
|
14
|
-
const port = parseInt(options.port, 10);
|
|
15
|
-
if (!Number.isFinite(port) || port < 1 || port > 65535) {
|
|
16
|
-
console.error(chalk.red(`Invalid port: ${options.port}`));
|
|
17
|
-
process.exit(1);
|
|
18
|
-
}
|
|
19
|
-
const bootstrapNodes = options.bootstrap
|
|
20
|
-
? parseBootstrapList(options.bootstrap.split(',').map((s) => s.trim()))
|
|
21
|
-
: [];
|
|
22
|
-
const identity = await loadOrCreateIdentity(globalOptions.dataDir);
|
|
23
|
-
console.log(chalk.bold('AntSeed bootstrap node'));
|
|
24
|
-
console.log(chalk.gray(` Peer ID : ${identity.peerId.slice(0, 20)}...`));
|
|
25
|
-
console.log(chalk.gray(` DHT port: ${port}`));
|
|
26
|
-
if (bootstrapNodes.length > 0) {
|
|
27
|
-
console.log(chalk.gray(` Peers : ${bootstrapNodes.map((n) => `${n.host}:${n.port}`).join(', ')}`));
|
|
28
|
-
}
|
|
29
|
-
const dht = new DHTNode({
|
|
30
|
-
peerId: identity.peerId,
|
|
31
|
-
port,
|
|
32
|
-
bootstrapNodes,
|
|
33
|
-
reannounceIntervalMs: 15 * 60 * 1000,
|
|
34
|
-
operationTimeoutMs: 10_000,
|
|
35
|
-
});
|
|
36
|
-
await dht.start();
|
|
37
|
-
const actualPort = dht.getPort();
|
|
38
|
-
console.log(chalk.green(`\nListening on UDP port ${actualPort} — ready to accept bootstrap connections.`));
|
|
39
|
-
setupShutdownHandler(async () => {
|
|
40
|
-
process.stdout.write('\nShutting down bootstrap node...');
|
|
41
|
-
await dht.stop();
|
|
42
|
-
console.log(' done.');
|
|
43
|
-
});
|
|
44
|
-
});
|
|
45
|
-
}
|
|
46
|
-
//# sourceMappingURL=bootstrap.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"bootstrap.js","sourceRoot":"","sources":["../../../src/cli/commands/bootstrap.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
import type { Command } from 'commander';
|
|
2
|
-
/**
|
|
3
|
-
* Register the `antseed browse` command on the Commander program.
|
|
4
|
-
* Discovers peers on the network and displays available services, prices, and reputation.
|
|
5
|
-
*/
|
|
6
|
-
export declare function registerBrowseCommand(program: Command): void;
|
|
7
|
-
//# sourceMappingURL=browse.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"browse.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/browse.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAmBzC;;;GAGG;AACH,wBAAgB,qBAAqB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CA4F5D"}
|
|
@@ -1,103 +0,0 @@
|
|
|
1
|
-
import chalk from 'chalk';
|
|
2
|
-
import ora from 'ora';
|
|
3
|
-
import Table from 'cli-table3';
|
|
4
|
-
import { getGlobalOptions } from './types.js';
|
|
5
|
-
import { loadConfig } from '../../config/loader.js';
|
|
6
|
-
import { AntseedNode } from '@antseed/node';
|
|
7
|
-
import { parseBootstrapList, toBootstrapConfig } from '@antseed/node/discovery';
|
|
8
|
-
function getReputationColor(reputation) {
|
|
9
|
-
if (reputation >= 80) {
|
|
10
|
-
return chalk.green;
|
|
11
|
-
}
|
|
12
|
-
if (reputation >= 50) {
|
|
13
|
-
return chalk.yellow;
|
|
14
|
-
}
|
|
15
|
-
return chalk.red;
|
|
16
|
-
}
|
|
17
|
-
/**
|
|
18
|
-
* Register the `antseed browse` command on the Commander program.
|
|
19
|
-
* Discovers peers on the network and displays available services, prices, and reputation.
|
|
20
|
-
*/
|
|
21
|
-
export function registerBrowseCommand(program) {
|
|
22
|
-
program
|
|
23
|
-
.command('browse')
|
|
24
|
-
.description('Browse available services, prices, and reputation on the P2P network')
|
|
25
|
-
.option('-s, --service <service>', 'filter by service name')
|
|
26
|
-
.option('--json', 'output as JSON', false)
|
|
27
|
-
.action(async (options) => {
|
|
28
|
-
const globalOpts = getGlobalOptions(program);
|
|
29
|
-
const config = await loadConfig(globalOpts.config);
|
|
30
|
-
const bootstrapNodes = config.network.bootstrapNodes.length > 0
|
|
31
|
-
? toBootstrapConfig(parseBootstrapList(config.network.bootstrapNodes))
|
|
32
|
-
: undefined;
|
|
33
|
-
const spinner = ora('Discovering peers on the network...').start();
|
|
34
|
-
const node = new AntseedNode({
|
|
35
|
-
role: 'buyer',
|
|
36
|
-
bootstrapNodes,
|
|
37
|
-
dhtOperationTimeoutMs: 30_000,
|
|
38
|
-
});
|
|
39
|
-
try {
|
|
40
|
-
await node.start();
|
|
41
|
-
}
|
|
42
|
-
catch (err) {
|
|
43
|
-
spinner.fail(chalk.red(`Failed to connect to network: ${err.message}`));
|
|
44
|
-
process.exit(1);
|
|
45
|
-
}
|
|
46
|
-
try {
|
|
47
|
-
const peers = await node.discoverPeers(options.service);
|
|
48
|
-
spinner.succeed(chalk.green(`Found ${peers.length} peer(s)`));
|
|
49
|
-
if (peers.length === 0) {
|
|
50
|
-
console.log(chalk.dim('No peers found. Try again later or check your bootstrap nodes.'));
|
|
51
|
-
await node.stop();
|
|
52
|
-
return;
|
|
53
|
-
}
|
|
54
|
-
if (options.json) {
|
|
55
|
-
console.log(JSON.stringify(peers, null, 2));
|
|
56
|
-
await node.stop();
|
|
57
|
-
return;
|
|
58
|
-
}
|
|
59
|
-
// Display peers in a table
|
|
60
|
-
const table = new Table({
|
|
61
|
-
head: [
|
|
62
|
-
chalk.bold('Name'),
|
|
63
|
-
chalk.bold('Peer ID'),
|
|
64
|
-
chalk.bold('Providers'),
|
|
65
|
-
chalk.bold('Input $/1M'),
|
|
66
|
-
chalk.bold('Output $/1M'),
|
|
67
|
-
chalk.bold('Reputation'),
|
|
68
|
-
chalk.bold('Load'),
|
|
69
|
-
],
|
|
70
|
-
colWidths: [18, 16, 18, 14, 14, 12, 10],
|
|
71
|
-
});
|
|
72
|
-
for (const peer of peers) {
|
|
73
|
-
const reputation = peer.reputationScore ?? 0;
|
|
74
|
-
const repLabel = `${reputation}%`;
|
|
75
|
-
const repColor = getReputationColor(reputation);
|
|
76
|
-
const load = peer.currentLoad !== undefined && peer.maxConcurrency !== undefined
|
|
77
|
-
? `${peer.currentLoad}/${peer.maxConcurrency}`
|
|
78
|
-
: chalk.dim('n/a');
|
|
79
|
-
table.push([
|
|
80
|
-
peer.displayName ?? chalk.dim('n/a'),
|
|
81
|
-
chalk.dim(peer.peerId.slice(0, 12) + '...'),
|
|
82
|
-
peer.providers.join(', '),
|
|
83
|
-
peer.defaultInputUsdPerMillion !== undefined
|
|
84
|
-
? `$${peer.defaultInputUsdPerMillion.toFixed(2)}`
|
|
85
|
-
: chalk.dim('n/a'),
|
|
86
|
-
peer.defaultOutputUsdPerMillion !== undefined
|
|
87
|
-
? `$${peer.defaultOutputUsdPerMillion.toFixed(2)}`
|
|
88
|
-
: chalk.dim('n/a'),
|
|
89
|
-
repColor(repLabel),
|
|
90
|
-
load,
|
|
91
|
-
]);
|
|
92
|
-
}
|
|
93
|
-
console.log('');
|
|
94
|
-
console.log(table.toString());
|
|
95
|
-
console.log('');
|
|
96
|
-
}
|
|
97
|
-
catch (err) {
|
|
98
|
-
spinner.fail(chalk.red(`Discovery failed: ${err.message}`));
|
|
99
|
-
}
|
|
100
|
-
await node.stop();
|
|
101
|
-
});
|
|
102
|
-
}
|
|
103
|
-
//# sourceMappingURL=browse.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"browse.js","sourceRoot":"","sources":["../../../src/cli/commands/browse.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"channels.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/channels.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAoBzC,wBAAgB,uBAAuB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAoE9D"}
|