@agirails/sdk 3.1.0 → 3.2.0
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,14 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Verify Command — Trustless verification of agent identity files.
|
|
3
|
+
*
|
|
4
|
+
* Accepts input from file, stdin (pipe), or URL.
|
|
5
|
+
* Verifies: V4 format → config hash → on-chain match → optional IPFS content match.
|
|
6
|
+
*
|
|
7
|
+
* The Purple Cow moment:
|
|
8
|
+
* curl -s agirails.app/a/agent/agent.md | npx actp verify
|
|
9
|
+
*
|
|
10
|
+
* @module cli/commands/verify
|
|
11
|
+
*/
|
|
12
|
+
import { Command } from 'commander';
|
|
13
|
+
export declare function createVerifyCommand(): Command;
|
|
14
|
+
//# sourceMappingURL=verify.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"verify.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/verify.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AA6CpC,wBAAgB,mBAAmB,IAAI,OAAO,CA2B7C"}
|
|
@@ -0,0 +1,253 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* Verify Command — Trustless verification of agent identity files.
|
|
4
|
+
*
|
|
5
|
+
* Accepts input from file, stdin (pipe), or URL.
|
|
6
|
+
* Verifies: V4 format → config hash → on-chain match → optional IPFS content match.
|
|
7
|
+
*
|
|
8
|
+
* The Purple Cow moment:
|
|
9
|
+
* curl -s agirails.app/a/agent/agent.md | npx actp verify
|
|
10
|
+
*
|
|
11
|
+
* @module cli/commands/verify
|
|
12
|
+
*/
|
|
13
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
14
|
+
exports.createVerifyCommand = void 0;
|
|
15
|
+
const commander_1 = require("commander");
|
|
16
|
+
const fs_1 = require("fs");
|
|
17
|
+
const output_1 = require("../utils/output");
|
|
18
|
+
const client_1 = require("../utils/client");
|
|
19
|
+
const agirailsmdV4_1 = require("../../config/agirailsmdV4");
|
|
20
|
+
const agirailsmd_1 = require("../../config/agirailsmd");
|
|
21
|
+
const networks_1 = require("../../config/networks");
|
|
22
|
+
const AgentRegistryClient_1 = require("../../registry/AgentRegistryClient");
|
|
23
|
+
const ethers_1 = require("ethers");
|
|
24
|
+
// ============================================================================
|
|
25
|
+
// Command
|
|
26
|
+
// ============================================================================
|
|
27
|
+
function createVerifyCommand() {
|
|
28
|
+
const cmd = new commander_1.Command('verify')
|
|
29
|
+
.description('Verify an agent identity file against on-chain state')
|
|
30
|
+
.argument('[source]', 'File path, URL, or - for stdin')
|
|
31
|
+
.option('-n, --network <network>', 'Network (base-sepolia | base-mainnet)', 'base-sepolia')
|
|
32
|
+
.option('-a, --address <address>', 'Agent address override')
|
|
33
|
+
.option('--reputation', 'Also fetch and display reputation data')
|
|
34
|
+
.option('--json', 'Output as JSON')
|
|
35
|
+
.option('-q, --quiet', 'Minimal output (exit code only)')
|
|
36
|
+
.action(async (source, options) => {
|
|
37
|
+
const output = new output_1.Output(options.json ? 'json' : options.quiet ? 'quiet' : 'human');
|
|
38
|
+
try {
|
|
39
|
+
await runVerify(source, options, output);
|
|
40
|
+
}
|
|
41
|
+
catch (error) {
|
|
42
|
+
const structuredError = (0, client_1.mapError)(error);
|
|
43
|
+
output.errorResult({
|
|
44
|
+
code: structuredError.code,
|
|
45
|
+
message: structuredError.message,
|
|
46
|
+
});
|
|
47
|
+
process.exit(output_1.ExitCode.ERROR);
|
|
48
|
+
}
|
|
49
|
+
});
|
|
50
|
+
return cmd;
|
|
51
|
+
}
|
|
52
|
+
exports.createVerifyCommand = createVerifyCommand;
|
|
53
|
+
// ============================================================================
|
|
54
|
+
// Core Logic
|
|
55
|
+
// ============================================================================
|
|
56
|
+
async function runVerify(source, options, output) {
|
|
57
|
+
// Step 1: Read content
|
|
58
|
+
const content = await readContent(source);
|
|
59
|
+
if (!content) {
|
|
60
|
+
output.error('No input provided. Usage: actp verify <file> or pipe from stdin.');
|
|
61
|
+
process.exit(output_1.ExitCode.INVALID_INPUT);
|
|
62
|
+
}
|
|
63
|
+
// Step 2: Parse V4
|
|
64
|
+
let v4Config;
|
|
65
|
+
try {
|
|
66
|
+
v4Config = (0, agirailsmdV4_1.parseAgirailsMdV4)(content);
|
|
67
|
+
output.success(`Valid V4 identity file`);
|
|
68
|
+
}
|
|
69
|
+
catch (err) {
|
|
70
|
+
output.error(`Invalid identity file: ${err instanceof Error ? err.message : err}`);
|
|
71
|
+
process.exit(output_1.ExitCode.INVALID_INPUT);
|
|
72
|
+
}
|
|
73
|
+
// Step 3: Compute hash
|
|
74
|
+
const { configHash } = (0, agirailsmd_1.computeConfigHash)(content);
|
|
75
|
+
output.success(`Config hash: ${configHash}`);
|
|
76
|
+
// Step 4: Resolve agent address
|
|
77
|
+
const address = resolveAddress(v4Config, options.address);
|
|
78
|
+
// Step 5: On-chain verification
|
|
79
|
+
const result = {
|
|
80
|
+
valid: true,
|
|
81
|
+
name: v4Config.name,
|
|
82
|
+
slug: v4Config.slug,
|
|
83
|
+
configHash,
|
|
84
|
+
onChain: { checked: false, match: false },
|
|
85
|
+
ipfs: { checked: false, match: false },
|
|
86
|
+
trustTier: 'unverified',
|
|
87
|
+
};
|
|
88
|
+
if (address) {
|
|
89
|
+
try {
|
|
90
|
+
const networkConfig = (0, networks_1.getNetwork)(options.network);
|
|
91
|
+
const registryAddr = networkConfig.contracts.agentRegistry;
|
|
92
|
+
if (!registryAddr) {
|
|
93
|
+
output.warning('AgentRegistry not deployed on this network');
|
|
94
|
+
}
|
|
95
|
+
else {
|
|
96
|
+
const provider = new ethers_1.ethers.JsonRpcProvider(networkConfig.rpcUrl);
|
|
97
|
+
const registry = AgentRegistryClient_1.AgentRegistryClient.readOnly(registryAddr, provider);
|
|
98
|
+
const onChainConfig = await registry.getConfig(address);
|
|
99
|
+
result.onChain = {
|
|
100
|
+
checked: true,
|
|
101
|
+
match: onChainConfig.configHash === configHash,
|
|
102
|
+
network: networkConfig.name,
|
|
103
|
+
address,
|
|
104
|
+
registryHash: onChainConfig.configHash,
|
|
105
|
+
registryCID: onChainConfig.configCID,
|
|
106
|
+
};
|
|
107
|
+
if (result.onChain.match) {
|
|
108
|
+
output.success(`On-chain match: ${networkConfig.name}`);
|
|
109
|
+
result.trustTier = 'chain-verified';
|
|
110
|
+
}
|
|
111
|
+
else if (onChainConfig.configHash === ethers_1.ethers.ZeroHash) {
|
|
112
|
+
output.warning('No config published on-chain yet');
|
|
113
|
+
result.trustTier = 'published';
|
|
114
|
+
}
|
|
115
|
+
else {
|
|
116
|
+
output.error(`On-chain mismatch: chain=${onChainConfig.configHash.slice(0, 10)}... local=${configHash.slice(0, 10)}...`);
|
|
117
|
+
result.valid = false;
|
|
118
|
+
}
|
|
119
|
+
// Step 6: IPFS verification (if CID available)
|
|
120
|
+
if (onChainConfig.configCID && onChainConfig.configCID !== '') {
|
|
121
|
+
result.ipfs.cid = onChainConfig.configCID;
|
|
122
|
+
result.ipfs.checked = true;
|
|
123
|
+
try {
|
|
124
|
+
const ipfsContent = await fetchIPFS(onChainConfig.configCID);
|
|
125
|
+
if (ipfsContent) {
|
|
126
|
+
const ipfsHash = (0, agirailsmd_1.computeConfigHash)(ipfsContent);
|
|
127
|
+
result.ipfs.match = ipfsHash.configHash === configHash;
|
|
128
|
+
if (result.ipfs.match) {
|
|
129
|
+
output.success(`IPFS CID: ${onChainConfig.configCID.slice(0, 16)}... (content matches)`);
|
|
130
|
+
}
|
|
131
|
+
else {
|
|
132
|
+
output.warning(`IPFS content hash differs from local`);
|
|
133
|
+
}
|
|
134
|
+
}
|
|
135
|
+
}
|
|
136
|
+
catch {
|
|
137
|
+
output.warning('IPFS fetch failed (gateways unavailable)');
|
|
138
|
+
}
|
|
139
|
+
}
|
|
140
|
+
}
|
|
141
|
+
}
|
|
142
|
+
catch (err) {
|
|
143
|
+
output.warning(`On-chain check failed: ${err instanceof Error ? err.message : 'RPC error'}`);
|
|
144
|
+
}
|
|
145
|
+
}
|
|
146
|
+
else {
|
|
147
|
+
output.info('No on-chain identity (mock/unpublished agent)');
|
|
148
|
+
result.trustTier = v4Config.wallet ? 'published' : 'unverified';
|
|
149
|
+
}
|
|
150
|
+
// Step 7: Reputation (optional)
|
|
151
|
+
if (options.reputation && v4Config.slug) {
|
|
152
|
+
try {
|
|
153
|
+
const repUrl = (content.match(/check_reputation:\s*["']?([^\s"']+)/)?.[1]) ??
|
|
154
|
+
`https://agirails.app/a/${v4Config.slug}/${v4Config.slug}.reputation.json`;
|
|
155
|
+
const ctrl = new AbortController();
|
|
156
|
+
const timeout = setTimeout(() => ctrl.abort(), 5000);
|
|
157
|
+
try {
|
|
158
|
+
const res = await fetch(repUrl, { signal: ctrl.signal });
|
|
159
|
+
if (res.ok) {
|
|
160
|
+
const rep = await res.json();
|
|
161
|
+
result.reputation = {
|
|
162
|
+
score: Number(rep.reputation_score ?? 0),
|
|
163
|
+
completed: Number(rep.completed_transactions ?? 0),
|
|
164
|
+
successRate: Number(rep.success_rate ?? 0),
|
|
165
|
+
volume: String(rep.total_volume_usdc ?? '0'),
|
|
166
|
+
};
|
|
167
|
+
output.success(`Reputation: ${result.reputation.score}/100 (${result.reputation.completed} txs, ${result.reputation.successRate}% success)`);
|
|
168
|
+
}
|
|
169
|
+
}
|
|
170
|
+
finally {
|
|
171
|
+
clearTimeout(timeout);
|
|
172
|
+
}
|
|
173
|
+
}
|
|
174
|
+
catch {
|
|
175
|
+
output.warning('Reputation fetch failed');
|
|
176
|
+
}
|
|
177
|
+
}
|
|
178
|
+
// Step 8: Summary
|
|
179
|
+
output.blank();
|
|
180
|
+
output.print(` Agent: ${v4Config.name} (${v4Config.slug}) | Trust: ${result.trustTier}`);
|
|
181
|
+
// JSON output
|
|
182
|
+
if (output.mode === 'json') {
|
|
183
|
+
console.log(JSON.stringify(result, null, 2));
|
|
184
|
+
}
|
|
185
|
+
process.exit(result.valid ? output_1.ExitCode.SUCCESS : output_1.ExitCode.ERROR);
|
|
186
|
+
}
|
|
187
|
+
// ============================================================================
|
|
188
|
+
// Helpers
|
|
189
|
+
// ============================================================================
|
|
190
|
+
async function readContent(source) {
|
|
191
|
+
// Stdin (pipe)
|
|
192
|
+
if (!source || source === '-') {
|
|
193
|
+
if (process.stdin.isTTY)
|
|
194
|
+
return null; // No pipe, no file
|
|
195
|
+
return new Promise((resolve) => {
|
|
196
|
+
const chunks = [];
|
|
197
|
+
process.stdin.on('data', (chunk) => chunks.push(chunk));
|
|
198
|
+
process.stdin.on('end', () => resolve(Buffer.concat(chunks).toString('utf-8')));
|
|
199
|
+
});
|
|
200
|
+
}
|
|
201
|
+
// URL
|
|
202
|
+
if (source.startsWith('http://') || source.startsWith('https://')) {
|
|
203
|
+
const ctrl = new AbortController();
|
|
204
|
+
const timeout = setTimeout(() => ctrl.abort(), 10000);
|
|
205
|
+
try {
|
|
206
|
+
const res = await fetch(source, { signal: ctrl.signal });
|
|
207
|
+
if (!res.ok)
|
|
208
|
+
throw new Error(`HTTP ${res.status}`);
|
|
209
|
+
return await res.text();
|
|
210
|
+
}
|
|
211
|
+
finally {
|
|
212
|
+
clearTimeout(timeout);
|
|
213
|
+
}
|
|
214
|
+
}
|
|
215
|
+
// File
|
|
216
|
+
if ((0, fs_1.existsSync)(source)) {
|
|
217
|
+
return (0, fs_1.readFileSync)(source, 'utf-8');
|
|
218
|
+
}
|
|
219
|
+
throw new Error(`File not found: ${source}`);
|
|
220
|
+
}
|
|
221
|
+
function resolveAddress(v4Config, override) {
|
|
222
|
+
// Priority: --address flag > frontmatter wallet > skip
|
|
223
|
+
if (override)
|
|
224
|
+
return override;
|
|
225
|
+
if (v4Config.wallet && /^0x[0-9a-fA-F]{40}$/.test(v4Config.wallet))
|
|
226
|
+
return v4Config.wallet;
|
|
227
|
+
// agent_id alone requires ownerOf lookup which needs a provider — skip for now
|
|
228
|
+
return null;
|
|
229
|
+
}
|
|
230
|
+
const IPFS_GATEWAYS = [
|
|
231
|
+
'https://ipfs.io/ipfs/',
|
|
232
|
+
'https://dweb.link/ipfs/',
|
|
233
|
+
'https://cloudflare-ipfs.com/ipfs/',
|
|
234
|
+
];
|
|
235
|
+
async function fetchIPFS(cid) {
|
|
236
|
+
for (const gw of IPFS_GATEWAYS) {
|
|
237
|
+
try {
|
|
238
|
+
const ctrl = new AbortController();
|
|
239
|
+
const timeout = setTimeout(() => ctrl.abort(), 8000);
|
|
240
|
+
try {
|
|
241
|
+
const res = await fetch(`${gw}${cid}`, { signal: ctrl.signal });
|
|
242
|
+
if (res.ok)
|
|
243
|
+
return await res.text();
|
|
244
|
+
}
|
|
245
|
+
finally {
|
|
246
|
+
clearTimeout(timeout);
|
|
247
|
+
}
|
|
248
|
+
}
|
|
249
|
+
catch { /* next */ }
|
|
250
|
+
}
|
|
251
|
+
return null;
|
|
252
|
+
}
|
|
253
|
+
//# sourceMappingURL=verify.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"verify.js","sourceRoot":"","sources":["../../../src/cli/commands/verify.ts"],"names":[],"mappings":"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"}
|
package/dist/cli/index.js
CHANGED
|
@@ -52,6 +52,7 @@ const time_1 = require("./commands/time");
|
|
|
52
52
|
const publish_1 = require("./commands/publish");
|
|
53
53
|
const pull_1 = require("./commands/pull");
|
|
54
54
|
const diff_1 = require("./commands/diff");
|
|
55
|
+
const verify_1 = require("./commands/verify");
|
|
55
56
|
const register_1 = require("./commands/register");
|
|
56
57
|
const deploy_env_1 = require("./commands/deploy-env");
|
|
57
58
|
const deploy_check_1 = require("./commands/deploy-check");
|
|
@@ -100,6 +101,7 @@ program.addCommand((0, time_1.createTimeCommand)());
|
|
|
100
101
|
program.addCommand((0, publish_1.createPublishCommand)());
|
|
101
102
|
program.addCommand((0, pull_1.createPullCommand)());
|
|
102
103
|
program.addCommand((0, diff_1.createDiffCommand)());
|
|
104
|
+
program.addCommand((0, verify_1.createVerifyCommand)());
|
|
103
105
|
// AIP-12: Gas-free registration
|
|
104
106
|
program.addCommand((0, register_1.createRegisterCommand)());
|
|
105
107
|
// AIP-13: Deployment security
|
package/dist/cli/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/cli/index.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/cli/index.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED