@antseed/cli 0.1.59 → 0.1.60
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
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/dist/cli/index.js
CHANGED
|
@@ -24,7 +24,6 @@ import { registerEmissionsCommand } from './commands/emissions.js';
|
|
|
24
24
|
import { registerChannelsCommand } from './commands/channels.js';
|
|
25
25
|
import { registerSubscribeCommand } from './commands/subscribe.js';
|
|
26
26
|
import { registerPaymentsCommand } from './commands/payments.js';
|
|
27
|
-
import { registerClaimCommand } from './commands/claim.js';
|
|
28
27
|
loadEnvFromFiles();
|
|
29
28
|
import pkg from '../../package.json' with { type: 'json' };
|
|
30
29
|
const version = pkg.version;
|
|
@@ -60,6 +59,5 @@ registerEmissionsCommand(program);
|
|
|
60
59
|
registerChannelsCommand(program);
|
|
61
60
|
registerSubscribeCommand(program);
|
|
62
61
|
registerPaymentsCommand(program);
|
|
63
|
-
registerClaimCommand(program);
|
|
64
62
|
program.parse(process.argv);
|
|
65
63
|
//# 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,mBAAmB,EAAE,MAAM,oBAAoB,CAAC;AACzD,OAAO,EAAE,sBAAsB,EAAE,MAAM,uBAAuB,CAAC;AAC/D,OAAO,EAAE,qBAAqB,EAAE,MAAM,sBAAsB,CAAC;AAC7D,OAAO,EAAE,qBAAqB,EAAE,MAAM,sBAAsB,CAAC;AAC7D,OAAO,EAAE,wBAAwB,EAAE,MAAM,yBAAyB,CAAC;AACnE,OAAO,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAC;AACvD,OAAO,EAAE,qBAAqB,EAAE,MAAM,sBAAsB,CAAC;AAC7D,OAAO,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAC;AACzD,OAAO,EAAE,qBAAqB,EAAE,MAAM,sBAAsB,CAAC;AAC7D,OAAO,EAAE,sBAAsB,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AACpF,OAAO,EAAE,sBAAsB,EAAE,MAAM,uBAAuB,CAAC;AAC/D,OAAO,EAAE,uBAAuB,EAAE,MAAM,wBAAwB,CAAC;AACjE,OAAO,EAAE,sBAAsB,EAAE,MAAM,uBAAuB,CAAC;AAC/D,OAAO,EAAE,wBAAwB,EAAE,MAAM,yBAAyB,CAAC;AACnE,OAAO,EAAE,yBAAyB,EAAE,MAAM,0BAA0B,CAAC;AACrE,OAAO,EAAE,oBAAoB,EAAE,MAAM,qBAAqB,CAAC;AAC3D,OAAO,EAAE,oBAAoB,EAAE,MAAM,qBAAqB,CAAC;AAC3D,OAAO,EAAE,uBAAuB,EAAE,MAAM,wBAAwB,CAAC;AACjE,OAAO,EAAE,oBAAoB,EAAE,MAAM,qBAAqB,CAAC;AAC3D,OAAO,EAAE,wBAAwB,EAAE,MAAM,yBAAyB,CAAC;AACnE,OAAO,EAAE,uBAAuB,EAAE,MAAM,wBAAwB,CAAC;AACjE,OAAO,EAAE,wBAAwB,EAAE,MAAM,yBAAyB,CAAC;AACnE,OAAO,EAAE,uBAAuB,EAAE,MAAM,wBAAwB,CAAC;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/cli/index.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@antseed/cli",
|
|
3
|
-
"version": "0.1.
|
|
3
|
+
"version": "0.1.60",
|
|
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
|
+
"@antseed/provider-core": "0.2.28",
|
|
24
25
|
"@antseed/payments": "0.1.3",
|
|
25
|
-
"@antseed/
|
|
26
|
-
"@antseed/dashboard": "0.1.
|
|
27
|
-
"@antseed/node": "0.2.33"
|
|
26
|
+
"@antseed/node": "0.2.34",
|
|
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":"claim.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/claim.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAWzC,wBAAgB,oBAAoB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAgC3D"}
|
|
@@ -1,35 +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 { createDepositsClient, loadCryptoContext, formatUsdc, } from '../payment-utils.js';
|
|
6
|
-
export function registerClaimCommand(program) {
|
|
7
|
-
program
|
|
8
|
-
.command('claim')
|
|
9
|
-
.description('Claim accumulated seller payouts from the deposits contract')
|
|
10
|
-
.action(async () => {
|
|
11
|
-
const globalOpts = getGlobalOptions(program);
|
|
12
|
-
const config = await loadConfig(globalOpts.config);
|
|
13
|
-
const spinner = ora('Checking seller payouts...').start();
|
|
14
|
-
try {
|
|
15
|
-
const { wallet, address } = await loadCryptoContext(globalOpts.dataDir);
|
|
16
|
-
const depositsClient = createDepositsClient(config);
|
|
17
|
-
const pending = await depositsClient.getSellerPayouts(address);
|
|
18
|
-
if (pending === 0n) {
|
|
19
|
-
spinner.succeed(chalk.yellow('No payouts to claim.'));
|
|
20
|
-
return;
|
|
21
|
-
}
|
|
22
|
-
console.log(chalk.dim(`Wallet: ${address}`));
|
|
23
|
-
console.log(chalk.dim(`Pending payouts: ${formatUsdc(pending)} USDC`));
|
|
24
|
-
spinner.text = 'Claiming payouts...';
|
|
25
|
-
const txHash = await depositsClient.claimPayouts(wallet);
|
|
26
|
-
spinner.succeed(chalk.green(`Claimed ${formatUsdc(pending)} USDC`));
|
|
27
|
-
console.log(chalk.dim(`Transaction: ${txHash}`));
|
|
28
|
-
}
|
|
29
|
-
catch (err) {
|
|
30
|
-
spinner.fail(chalk.red(`Claim failed: ${err.message}`));
|
|
31
|
-
process.exit(1);
|
|
32
|
-
}
|
|
33
|
-
});
|
|
34
|
-
}
|
|
35
|
-
//# sourceMappingURL=claim.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"claim.js","sourceRoot":"","sources":["../../../src/cli/commands/claim.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,GAAG,MAAM,KAAK,CAAC;AACtB,OAAO,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAC9C,OAAO,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AACpD,OAAO,EACL,oBAAoB,EACpB,iBAAiB,EACjB,UAAU,GACX,MAAM,qBAAqB,CAAC;AAE7B,MAAM,UAAU,oBAAoB,CAAC,OAAgB;IACnD,OAAO;SACJ,OAAO,CAAC,OAAO,CAAC;SAChB,WAAW,CAAC,6DAA6D,CAAC;SAC1E,MAAM,CAAC,KAAK,IAAI,EAAE;QACjB,MAAM,UAAU,GAAG,gBAAgB,CAAC,OAAO,CAAC,CAAC;QAC7C,MAAM,MAAM,GAAG,MAAM,UAAU,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;QAEnD,MAAM,OAAO,GAAG,GAAG,CAAC,4BAA4B,CAAC,CAAC,KAAK,EAAE,CAAC;QAE1D,IAAI,CAAC;YACH,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,GAAG,MAAM,iBAAiB,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;YACxE,MAAM,cAAc,GAAG,oBAAoB,CAAC,MAAM,CAAC,CAAC;YAEpD,MAAM,OAAO,GAAG,MAAM,cAAc,CAAC,gBAAgB,CAAC,OAAO,CAAC,CAAC;YAC/D,IAAI,OAAO,KAAK,EAAE,EAAE,CAAC;gBACnB,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,MAAM,CAAC,sBAAsB,CAAC,CAAC,CAAC;gBACtD,OAAO;YACT,CAAC;YAED,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,WAAW,OAAO,EAAE,CAAC,CAAC,CAAC;YAC7C,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,oBAAoB,UAAU,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC;YAEvE,OAAO,CAAC,IAAI,GAAG,qBAAqB,CAAC;YACrC,MAAM,MAAM,GAAG,MAAM,cAAc,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC;YACzD,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,WAAW,UAAU,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC;YACpE,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,gBAAgB,MAAM,EAAE,CAAC,CAAC,CAAC;QACnD,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,iBAAkB,GAAa,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;YACnE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;IACH,CAAC,CAAC,CAAC;AACP,CAAC"}
|