@azeth/cli 0.2.2 → 0.2.4
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.
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"quickstart.d.ts","sourceRoot":"","sources":["../../src/commands/quickstart.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAwCpC,eAAO,MAAM,iBAAiB,SAwL1B,CAAC"}
|
|
@@ -0,0 +1,209 @@
|
|
|
1
|
+
import { Command } from 'commander';
|
|
2
|
+
import chalk from 'chalk';
|
|
3
|
+
import ora from 'ora';
|
|
4
|
+
import { generatePrivateKey, privateKeyToAccount } from 'viem/accounts';
|
|
5
|
+
import { AzethKit } from '@azeth/sdk';
|
|
6
|
+
import { isValidChainName, TOKENS } from '@azeth/common';
|
|
7
|
+
import { printHeader, printField, printSuccess, printError } from '../utils/display.js';
|
|
8
|
+
const DEFAULT_SERVER_URL = 'https://api.azeth.ai';
|
|
9
|
+
/** Print a prominent warning box about the throwaway demo key */
|
|
10
|
+
function printKeyWarning(privateKey, eoaAddress) {
|
|
11
|
+
const lines = [
|
|
12
|
+
'WARNING: DEMO KEY — NOT FOR PRODUCTION',
|
|
13
|
+
'',
|
|
14
|
+
'A throwaway private key has been generated for this demo.',
|
|
15
|
+
`Private Key: ${privateKey}`,
|
|
16
|
+
`EOA Address: ${eoaAddress}`,
|
|
17
|
+
'',
|
|
18
|
+
'To keep this account, save the key above.',
|
|
19
|
+
'To use your own key: export AZETH_PRIVATE_KEY=0x...',
|
|
20
|
+
];
|
|
21
|
+
// Compute box width based on longest content line + padding
|
|
22
|
+
const maxLen = Math.max(...lines.map((l) => l.length));
|
|
23
|
+
const innerWidth = maxLen + 4; // 2 chars padding each side
|
|
24
|
+
const top = chalk.yellow.bold('╔' + '═'.repeat(innerWidth) + '╗');
|
|
25
|
+
const bottom = chalk.yellow.bold('╚' + '═'.repeat(innerWidth) + '╝');
|
|
26
|
+
console.log();
|
|
27
|
+
console.log(top);
|
|
28
|
+
for (const line of lines) {
|
|
29
|
+
const padded = ' ' + line + ' '.repeat(innerWidth - line.length - 2);
|
|
30
|
+
console.log(chalk.yellow.bold('║') + chalk.yellow(padded) + chalk.yellow.bold('║'));
|
|
31
|
+
}
|
|
32
|
+
console.log(bottom);
|
|
33
|
+
console.log();
|
|
34
|
+
}
|
|
35
|
+
export const quickstartCommand = new Command('quickstart')
|
|
36
|
+
.description('Deploy a smart account in one command — no config, no ETH required')
|
|
37
|
+
.option('--name <name>', 'Agent name (auto-generated if omitted)')
|
|
38
|
+
.action(async (_opts, cmd) => {
|
|
39
|
+
let kit;
|
|
40
|
+
try {
|
|
41
|
+
// Resolve chain from global --chain option
|
|
42
|
+
const chainRaw = cmd.optsWithGlobals().chain ?? 'baseSepolia';
|
|
43
|
+
if (!isValidChainName(chainRaw)) {
|
|
44
|
+
printError(`Invalid chain "${chainRaw}". Must be one of: base, baseSepolia, ethereumSepolia, ethereum`);
|
|
45
|
+
process.exit(1);
|
|
46
|
+
}
|
|
47
|
+
const chain = chainRaw;
|
|
48
|
+
// Step 1: Resolve private key — use existing env var or generate a throwaway key
|
|
49
|
+
let privateKey;
|
|
50
|
+
let generated = false;
|
|
51
|
+
const envKey = process.env['AZETH_PRIVATE_KEY'];
|
|
52
|
+
if (envKey && /^0x[0-9a-fA-F]{64}$/.test(envKey.trim())) {
|
|
53
|
+
privateKey = envKey.trim();
|
|
54
|
+
}
|
|
55
|
+
else {
|
|
56
|
+
privateKey = generatePrivateKey();
|
|
57
|
+
generated = true;
|
|
58
|
+
}
|
|
59
|
+
const account = privateKeyToAccount(privateKey);
|
|
60
|
+
const eoaAddress = account.address;
|
|
61
|
+
// Step 2: Show the warning box if key was generated
|
|
62
|
+
if (generated) {
|
|
63
|
+
printKeyWarning(privateKey, eoaAddress);
|
|
64
|
+
}
|
|
65
|
+
// Step 3: Resolve name
|
|
66
|
+
const localOpts = cmd.opts();
|
|
67
|
+
const shortHex = eoaAddress.slice(-4);
|
|
68
|
+
const name = localOpts.name ?? `Agent-${shortHex}`;
|
|
69
|
+
if (name.length > 256) {
|
|
70
|
+
printError('Name must be 256 characters or fewer');
|
|
71
|
+
process.exit(1);
|
|
72
|
+
}
|
|
73
|
+
// Step 4: Build AzethKitConfig directly (no env vars required)
|
|
74
|
+
const config = {
|
|
75
|
+
privateKey,
|
|
76
|
+
chain,
|
|
77
|
+
serverUrl: process.env['AZETH_SERVER_URL'] ?? DEFAULT_SERVER_URL,
|
|
78
|
+
};
|
|
79
|
+
const spinner = ora(`Deploying smart account on ${chain} (gas sponsored by Azeth)...`).start();
|
|
80
|
+
kit = await AzethKit.create(config);
|
|
81
|
+
// Step 5: Deploy smart account + register on ERC-8004
|
|
82
|
+
const isTestnet = chain === 'baseSepolia' || chain === 'ethereumSepolia';
|
|
83
|
+
const maxTxUSD = isTestnet ? 100 : 50;
|
|
84
|
+
const dailyUSD = isTestnet ? 1000 : 500;
|
|
85
|
+
const guardrails = {
|
|
86
|
+
maxTxAmountUSD: BigInt(maxTxUSD) * 10n ** 18n,
|
|
87
|
+
dailySpendLimitUSD: BigInt(dailyUSD) * 10n ** 18n,
|
|
88
|
+
guardianMaxTxAmountUSD: BigInt(maxTxUSD * 5) * 10n ** 18n,
|
|
89
|
+
guardianDailySpendLimitUSD: BigInt(dailyUSD * 5) * 10n ** 18n,
|
|
90
|
+
guardian: eoaAddress,
|
|
91
|
+
emergencyWithdrawTo: eoaAddress,
|
|
92
|
+
};
|
|
93
|
+
const defaultTokens = [
|
|
94
|
+
'0x0000000000000000000000000000000000000000',
|
|
95
|
+
TOKENS[chain].USDC,
|
|
96
|
+
TOKENS[chain].WETH,
|
|
97
|
+
];
|
|
98
|
+
const result = await kit.createAccount({
|
|
99
|
+
owner: eoaAddress,
|
|
100
|
+
guardrails,
|
|
101
|
+
tokens: defaultTokens,
|
|
102
|
+
registry: {
|
|
103
|
+
name,
|
|
104
|
+
description: 'Azeth quickstart agent',
|
|
105
|
+
entityType: 'agent',
|
|
106
|
+
capabilities: ['general'],
|
|
107
|
+
},
|
|
108
|
+
});
|
|
109
|
+
spinner.stop();
|
|
110
|
+
// Step 6: Print results
|
|
111
|
+
const serverUrl = config.serverUrl ?? DEFAULT_SERVER_URL;
|
|
112
|
+
const tokenIdStr = result.tokenId.toString();
|
|
113
|
+
const badgeUrl = `${serverUrl}/badge/${tokenIdStr}`;
|
|
114
|
+
const profileUrl = `https://azeth.ai/agent/${result.account}`;
|
|
115
|
+
printHeader('Azeth Quickstart Complete');
|
|
116
|
+
printField('Name', name);
|
|
117
|
+
printField('Smart Account', chalk.cyan(result.account));
|
|
118
|
+
printField('Token ID', tokenIdStr);
|
|
119
|
+
printField('Chain', chain);
|
|
120
|
+
printField('Tx Hash', chalk.cyan(result.txHash));
|
|
121
|
+
console.log();
|
|
122
|
+
printField('Profile', profileUrl);
|
|
123
|
+
printField('Badge', badgeUrl);
|
|
124
|
+
console.log();
|
|
125
|
+
printSuccess('Gas sponsored by Azeth testnet — no ETH required.');
|
|
126
|
+
console.log();
|
|
127
|
+
// Step 6b: Fund the smart account with testnet USDC via faucet (testnet only)
|
|
128
|
+
if (isTestnet) {
|
|
129
|
+
try {
|
|
130
|
+
const faucetSpinner = ora('Funding account with testnet USDC...').start();
|
|
131
|
+
const faucetRes = await fetch(`${serverUrl}/api/v1/faucet`, {
|
|
132
|
+
method: 'POST',
|
|
133
|
+
headers: { 'Content-Type': 'application/json' },
|
|
134
|
+
body: JSON.stringify({ address: result.account }),
|
|
135
|
+
signal: AbortSignal.timeout(60_000),
|
|
136
|
+
});
|
|
137
|
+
if (faucetRes.ok) {
|
|
138
|
+
const faucetBody = await faucetRes.json();
|
|
139
|
+
faucetSpinner.stop();
|
|
140
|
+
printSuccess(`Funded with ${faucetBody.data?.amount ?? '1.00 USDC'} for demo calls.`);
|
|
141
|
+
console.log();
|
|
142
|
+
}
|
|
143
|
+
else {
|
|
144
|
+
faucetSpinner.stop();
|
|
145
|
+
// Non-fatal: show manual funding instructions
|
|
146
|
+
console.log(chalk.gray(' Faucet unavailable — send testnet USDC to your smart account to try paid services.'));
|
|
147
|
+
console.log();
|
|
148
|
+
}
|
|
149
|
+
}
|
|
150
|
+
catch {
|
|
151
|
+
// Non-fatal — faucet unreachable
|
|
152
|
+
console.log(chalk.gray(' Could not reach faucet — send testnet USDC to your smart account to try paid services.'));
|
|
153
|
+
console.log();
|
|
154
|
+
}
|
|
155
|
+
}
|
|
156
|
+
// Step 6c: Demo the live ecosystem — call the free catalog
|
|
157
|
+
const catalogUrl = `${serverUrl}/api/v1/pricing`;
|
|
158
|
+
try {
|
|
159
|
+
const catalogSpinner = ora('Discovering live services...').start();
|
|
160
|
+
const catalogRes = await fetch(catalogUrl, { signal: AbortSignal.timeout(5000) });
|
|
161
|
+
if (catalogRes.ok) {
|
|
162
|
+
const catalogBody = await catalogRes.json();
|
|
163
|
+
const catalog = catalogBody.data?.catalog;
|
|
164
|
+
catalogSpinner.stop();
|
|
165
|
+
if (catalog && catalog.length > 0) {
|
|
166
|
+
printHeader('Live Services Available');
|
|
167
|
+
for (const item of catalog) {
|
|
168
|
+
console.log(` ${chalk.cyan(item.name ?? '?')} ${chalk.gray(item.pricing ?? '')} ${chalk.white(item.description ?? '')}`);
|
|
169
|
+
}
|
|
170
|
+
console.log();
|
|
171
|
+
console.log(chalk.gray(' Try a paid call now' + (isTestnet ? ' (your account is funded)' : '') + ':'));
|
|
172
|
+
console.log(chalk.cyan(` azeth call ${serverUrl}/api/v1/pricing/ethereum`));
|
|
173
|
+
console.log();
|
|
174
|
+
}
|
|
175
|
+
}
|
|
176
|
+
else {
|
|
177
|
+
catalogSpinner.stop();
|
|
178
|
+
}
|
|
179
|
+
}
|
|
180
|
+
catch {
|
|
181
|
+
// Non-fatal — catalog fetch failed, just skip the demo
|
|
182
|
+
}
|
|
183
|
+
console.log(chalk.gray(' Next steps:'));
|
|
184
|
+
console.log(chalk.gray(' azeth status — Check your account'));
|
|
185
|
+
console.log(chalk.gray(' azeth find "price feed" — Discover services'));
|
|
186
|
+
console.log(chalk.gray(` azeth call <url> — Call an x402 service`));
|
|
187
|
+
console.log();
|
|
188
|
+
// Step 7: Print key persistence instructions (only for generated keys)
|
|
189
|
+
if (generated) {
|
|
190
|
+
console.log(chalk.bold(' To continue using this account:'));
|
|
191
|
+
console.log(chalk.cyan(` export AZETH_PRIVATE_KEY=${privateKey}`));
|
|
192
|
+
console.log();
|
|
193
|
+
console.log(chalk.gray(' Or add to .env:'));
|
|
194
|
+
console.log(chalk.gray(` echo 'AZETH_PRIVATE_KEY=${privateKey}' >> .env`));
|
|
195
|
+
console.log();
|
|
196
|
+
}
|
|
197
|
+
}
|
|
198
|
+
catch (err) {
|
|
199
|
+
printError(err instanceof Error ? err.message : String(err));
|
|
200
|
+
process.exit(1);
|
|
201
|
+
}
|
|
202
|
+
finally {
|
|
203
|
+
try {
|
|
204
|
+
await kit?.destroy();
|
|
205
|
+
}
|
|
206
|
+
catch { /* cleanup best-effort */ }
|
|
207
|
+
}
|
|
208
|
+
});
|
|
209
|
+
//# sourceMappingURL=quickstart.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"quickstart.js","sourceRoot":"","sources":["../../src/commands/quickstart.ts"],"names":[],"mappings":"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"}
|
package/dist/index.js
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { Command } from 'commander';
|
|
2
|
+
import { quickstartCommand } from './commands/quickstart.js';
|
|
2
3
|
import { initCommand } from './commands/init.js';
|
|
3
4
|
import { registerCommand } from './commands/register.js';
|
|
4
5
|
import { discoverCommand } from './commands/discover.js';
|
|
@@ -17,6 +18,7 @@ const program = new Command()
|
|
|
17
18
|
.option('--rpc-url <url>', 'RPC URL (or set BASE_RPC_URL)')
|
|
18
19
|
.option('--server-url <url>', 'Azeth server URL (or set AZETH_SERVER_URL)');
|
|
19
20
|
// Daily porcelain commands
|
|
21
|
+
program.addCommand(quickstartCommand);
|
|
20
22
|
program.addCommand(initCommand);
|
|
21
23
|
program.addCommand(callCommand);
|
|
22
24
|
program.addCommand(findCommand);
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AACjD,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AACzD,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AACzD,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AACjD,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AACjD,OAAO,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAC/C,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AACrD,OAAO,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AAC7D,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AACrD,OAAO,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AAE7D,MAAM,OAAO,GAAG,IAAI,OAAO,EAAE;KAC1B,IAAI,CAAC,OAAO,CAAC;KACb,WAAW,CAAC,6DAA6D,CAAC;KAC1E,OAAO,CAAC,OAAO,CAAC;KAChB,MAAM,CAAC,iBAAiB,EAAE,0DAA0D,EAAE,aAAa,CAAC;KACpG,MAAM,CAAC,iBAAiB,EAAE,+BAA+B,CAAC;KAC1D,MAAM,CAAC,oBAAoB,EAAE,4CAA4C,CAAC,CAAC;AAE9E,2BAA2B;AAC3B,OAAO,CAAC,UAAU,CAAC,WAAW,CAAC,CAAC;AAChC,OAAO,CAAC,UAAU,CAAC,WAAW,CAAC,CAAC;AAChC,OAAO,CAAC,UAAU,CAAC,WAAW,CAAC,CAAC;AAChC,OAAO,CAAC,UAAU,CAAC,aAAa,CAAC,CAAC;AAClC,OAAO,CAAC,UAAU,CAAC,aAAa,CAAC,CAAC;AAClC,OAAO,CAAC,UAAU,CAAC,iBAAiB,CAAC,CAAC;AACtC,OAAO,CAAC,UAAU,CAAC,iBAAiB,CAAC,CAAC;AAEtC,+BAA+B;AAC/B,OAAO,CAAC,UAAU,CAAC,eAAe,CAAC,CAAC;AACpC,OAAO,CAAC,UAAU,CAAC,eAAe,CAAC,CAAC;AACpC,OAAO,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC;AAE/B,OAAO,CAAC,KAAK,EAAE,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AAC7D,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AACjD,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AACzD,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AACzD,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AACjD,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AACjD,OAAO,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAC/C,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AACrD,OAAO,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AAC7D,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AACrD,OAAO,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AAE7D,MAAM,OAAO,GAAG,IAAI,OAAO,EAAE;KAC1B,IAAI,CAAC,OAAO,CAAC;KACb,WAAW,CAAC,6DAA6D,CAAC;KAC1E,OAAO,CAAC,OAAO,CAAC;KAChB,MAAM,CAAC,iBAAiB,EAAE,0DAA0D,EAAE,aAAa,CAAC;KACpG,MAAM,CAAC,iBAAiB,EAAE,+BAA+B,CAAC;KAC1D,MAAM,CAAC,oBAAoB,EAAE,4CAA4C,CAAC,CAAC;AAE9E,2BAA2B;AAC3B,OAAO,CAAC,UAAU,CAAC,iBAAiB,CAAC,CAAC;AACtC,OAAO,CAAC,UAAU,CAAC,WAAW,CAAC,CAAC;AAChC,OAAO,CAAC,UAAU,CAAC,WAAW,CAAC,CAAC;AAChC,OAAO,CAAC,UAAU,CAAC,WAAW,CAAC,CAAC;AAChC,OAAO,CAAC,UAAU,CAAC,aAAa,CAAC,CAAC;AAClC,OAAO,CAAC,UAAU,CAAC,aAAa,CAAC,CAAC;AAClC,OAAO,CAAC,UAAU,CAAC,iBAAiB,CAAC,CAAC;AACtC,OAAO,CAAC,UAAU,CAAC,iBAAiB,CAAC,CAAC;AAEtC,+BAA+B;AAC/B,OAAO,CAAC,UAAU,CAAC,eAAe,CAAC,CAAC;AACpC,OAAO,CAAC,UAAU,CAAC,eAAe,CAAC,CAAC;AACpC,OAAO,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC;AAE/B,OAAO,CAAC,KAAK,EAAE,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@azeth/cli",
|
|
3
|
-
"version": "0.2.
|
|
3
|
+
"version": "0.2.4",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"description": "CLI for the Azeth trust infrastructure — register, discover, pay, and manage machine participants",
|
|
6
6
|
"license": "MIT",
|
|
@@ -35,8 +35,8 @@
|
|
|
35
35
|
"clean": "rm -rf dist"
|
|
36
36
|
},
|
|
37
37
|
"dependencies": {
|
|
38
|
-
"@azeth/common": "^0.2.
|
|
39
|
-
"@azeth/sdk": "^0.2.
|
|
38
|
+
"@azeth/common": "^0.2.4",
|
|
39
|
+
"@azeth/sdk": "^0.2.4",
|
|
40
40
|
"commander": "^12.1.0",
|
|
41
41
|
"chalk": "^5.3.0",
|
|
42
42
|
"ora": "^8.1.0",
|