@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
@@ -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
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@agirails/sdk",
3
- "version": "3.1.0",
3
+ "version": "3.2.0",
4
4
  "description": "AGIRAILS SDK for the ACTP (Agent Commerce Transaction Protocol) - Unified mock + blockchain support",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",