agentverify 1.0.0 → 1.1.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.
package/README.md CHANGED
@@ -15,7 +15,7 @@ npm install -g agentverify
15
15
  ### Scan a directory
16
16
 
17
17
  ```bash
18
- agentverify scan ./agents --key av_your_key
18
+ agentverify scan ./agents --key YOUR_KEY
19
19
  ```
20
20
 
21
21
  ### Scan a single file
@@ -51,9 +51,9 @@ const result = await scan(
51
51
  { apiKey: process.env.AGENTVERIFY_API_KEY }
52
52
  )
53
53
 
54
- console.log(result.verdict) // 'VERIFIED' | 'NOT VERIFIED'
55
- console.log(result.riskScore) // 0-100
56
- console.log(result.findings) // Array of security findings
54
+ result.verdict // 'VERIFIED' | 'NOT VERIFIED'
55
+ result.riskScore // 0-100
56
+ result.findings // Array of security findings
57
57
  ```
58
58
 
59
59
  ### Scan multiple files
@@ -79,8 +79,9 @@ const results = await scanMany(
79
79
 
80
80
  ## Get your API key
81
81
 
82
- Sign up at https://agentverify.ai and go to Dashboard → API
82
+ Sign up at https://aimodularity.com/agentverify/dashboard and go to Dashboard -> API
83
83
 
84
84
  ## License
85
85
 
86
86
  MIT — AI Blockchain Ventures LLC
87
+ hello@aiblockchainventures.com
@@ -5,7 +5,7 @@ async function scan(input, options) {
5
5
  const { apiKey, apiUrl = DEFAULT_API_URL, timeout = DEFAULT_TIMEOUT } = options;
6
6
  if (!apiKey) {
7
7
  throw new Error(
8
- "API key required. Generate one at https://agentverify.ai/dashboard"
8
+ "API key required. Generate one at https://aimodularity.com/agentverify/dashboard"
9
9
  );
10
10
  }
11
11
  if (!input.content || input.content.trim().length === 0) {
@@ -30,7 +30,7 @@ async function scan(input, options) {
30
30
  });
31
31
  if (response.status === 401) {
32
32
  throw new Error(
33
- "Invalid API key. Generate one at https://agentverify.ai/dashboard"
33
+ "Invalid API key. Generate one at https://aimodularity.com/agentverify/dashboard"
34
34
  );
35
35
  }
36
36
  if (response.status === 400) {
package/dist/cli.js CHANGED
@@ -12,7 +12,7 @@ async function scan(input, options) {
12
12
  const { apiKey, apiUrl = DEFAULT_API_URL, timeout = DEFAULT_TIMEOUT } = options;
13
13
  if (!apiKey) {
14
14
  throw new Error(
15
- "API key required. Generate one at https://agentverify.ai/dashboard"
15
+ "API key required. Generate one at https://aimodularity.com/agentverify/dashboard"
16
16
  );
17
17
  }
18
18
  if (!input.content || input.content.trim().length === 0) {
@@ -37,7 +37,7 @@ async function scan(input, options) {
37
37
  });
38
38
  if (response.status === 401) {
39
39
  throw new Error(
40
- "Invalid API key. Generate one at https://agentverify.ai/dashboard"
40
+ "Invalid API key. Generate one at https://aimodularity.com/agentverify/dashboard"
41
41
  );
42
42
  }
43
43
  if (response.status === 400) {
@@ -60,7 +60,7 @@ async function scan(input, options) {
60
60
  }
61
61
 
62
62
  // src/cli.ts
63
- var VERSION = "1.0.0";
63
+ var VERSION = "1.1.0";
64
64
  var API_URL = "https://agentverify-api.agentverify.workers.dev/v1/scan";
65
65
  var c = {
66
66
  reset: "\x1B[0m",
@@ -73,6 +73,8 @@ var c = {
73
73
  white: "\x1B[37m",
74
74
  gray: "\x1B[90m"
75
75
  };
76
+ var write = (value = "") => process.stdout.write(`${value}
77
+ `);
76
78
  var SUPPORTED_EXTENSIONS = /* @__PURE__ */ new Set([".js", ".ts", ".py", ".json", ".yaml", ".yml", ".md", ".mjs", ".cjs"]);
77
79
  var SKIP_DIRS = /* @__PURE__ */ new Set(["node_modules", ".git", "dist", "build", ".next", "vendor", "coverage", ".cache"]);
78
80
  function collectFiles(dir) {
@@ -125,7 +127,7 @@ function parseArgs(argv) {
125
127
  return result;
126
128
  }
127
129
  function printHelp() {
128
- console.log(`
130
+ write(`
129
131
  ${c.bold}${c.cyan}Agent Verify${c.reset} ${c.gray}v${VERSION}${c.reset}
130
132
  ${c.gray}Execution trust analysis for AI agents${c.reset}
131
133
 
@@ -157,7 +159,7 @@ ${c.bold}Examples:${c.reset}
157
159
  agentverify scan . --key av_your_key --json
158
160
 
159
161
  ${c.bold}Get your API key:${c.reset}
160
- https://agentverify.ai/dashboard
162
+ https://aimodularity.com/agentverify/dashboard
161
163
 
162
164
  ${c.bold}Docs:${c.reset}
163
165
  https://github.com/AI-Blockchain-Ventures/agentverify
@@ -170,9 +172,9 @@ function printVerdict(result, fileName) {
170
172
  const score = verified ? `${c.green}${result.riskScore}/100${c.reset}` : result.riskScore >= 50 ? `${c.yellow}${result.riskScore}/100${c.reset}` : `${c.red}${result.riskScore}/100${c.reset}`;
171
173
  const findings = result.findings.length > 0 ? `${c.gray}\u2014 ${result.findings.length} finding${result.findings.length === 1 ? "" : "s"}${c.reset}` : "";
172
174
  const name = fileName.padEnd(30);
173
- console.log(` ${icon} ${verdict} ${name} score: ${score} ${findings}`);
175
+ write(` ${icon} ${verdict} ${name} score: ${score} ${findings}`);
174
176
  if (result.saved && result.reportId) {
175
- console.log(` ${c.gray}\u2192 Report: https://agentverify.ai/report/${result.reportId}${c.reset}`);
177
+ write(` ${c.gray}\u2192 Report: https://aimodularity.com/agentverify/report?id=${result.reportId}${c.reset}`);
176
178
  }
177
179
  }
178
180
  async function runScan(args) {
@@ -181,7 +183,7 @@ async function runScan(args) {
181
183
  ${c.red}Error:${c.reset} API key required
182
184
  `);
183
185
  console.error(` Set with --key av_your_key or AGENTVERIFY_API_KEY env var`);
184
- console.error(` Get your key at https://agentverify.ai/dashboard
186
+ console.error(` Get your key at https://aimodularity.com/agentverify/dashboard
185
187
  `);
186
188
  process.exit(1);
187
189
  }
@@ -190,14 +192,14 @@ ${c.red}Error:${c.reset} API key required
190
192
  files = [args.file];
191
193
  } else {
192
194
  const dir = args.dir;
193
- console.log(`
195
+ write(`
194
196
  ${c.bold}Agent Verify${c.reset} ${c.gray}v${VERSION}${c.reset}`);
195
- console.log(`${c.gray}Scanning ${dir}...${c.reset}
197
+ write(`${c.gray}Scanning ${dir}...${c.reset}
196
198
  `);
197
199
  files = collectFiles(dir);
198
200
  if (files.length === 0) {
199
- console.log(`${c.yellow}No agent files found in ${dir}${c.reset}`);
200
- console.log(`${c.gray}Supported: .js .ts .py .json .yaml .yml .md${c.reset}
201
+ write(`${c.yellow}No agent files found in ${dir}${c.reset}`);
202
+ write(`${c.gray}Supported: .js .ts .py .json .yaml .yml .md${c.reset}
201
203
  `);
202
204
  process.exit(0);
203
205
  }
@@ -233,7 +235,7 @@ ${c.bold}Agent Verify${c.reset} ${c.gray}v${VERSION}${c.reset}`);
233
235
  const relPath = (0, import_path.relative)(args.dir, filePath);
234
236
  const errMsg = outcome.reason instanceof Error ? outcome.reason.message : String(outcome.reason);
235
237
  if (!args.json) {
236
- console.log(` ${c.yellow}\u26A0${c.reset} ${c.yellow}WARNING${c.reset} ${relPath.padEnd(30)} ${c.gray}${errMsg}${c.reset}`);
238
+ write(` ${c.yellow}\u26A0${c.reset} ${c.yellow}WARNING${c.reset} ${relPath.padEnd(30)} ${c.gray}${errMsg}${c.reset}`);
237
239
  }
238
240
  jsonResults.push({ file: relPath, result: null, error: errMsg });
239
241
  errors++;
@@ -241,26 +243,26 @@ ${c.bold}Agent Verify${c.reset} ${c.gray}v${VERSION}${c.reset}`);
241
243
  }
242
244
  }
243
245
  if (args.json) {
244
- console.log(JSON.stringify({ results: jsonResults, summary: { total: files.length, verified, notVerified, errors } }, null, 2));
246
+ write(JSON.stringify({ results: jsonResults, summary: { total: files.length, verified, notVerified, errors } }, null, 2));
245
247
  return;
246
248
  }
247
- console.log(`
249
+ write(`
248
250
  ${c.gray}${"\u2500".repeat(60)}${c.reset}`);
249
- console.log(`${c.bold}Agent Verify Scan Complete${c.reset}`);
250
- console.log(`${c.gray}Files scanned:${c.reset} ${files.length}`);
251
- console.log(`${c.green}Verified:${c.reset} ${verified}`);
252
- if (notVerified > 0) console.log(`${c.red}Not Verified:${c.reset} ${notVerified}`);
253
- if (errors > 0) console.log(`${c.yellow}Errors:${c.reset} ${errors}`);
254
- console.log(`${c.gray}${"\u2500".repeat(60)}${c.reset}`);
255
- console.log(`
256
- ${c.gray}View reports: https://agentverify.ai/dashboard${c.reset}
251
+ write(`${c.bold}Agent Verify Scan Complete${c.reset}`);
252
+ write(`${c.gray}Files scanned:${c.reset} ${files.length}`);
253
+ write(`${c.green}Verified:${c.reset} ${verified}`);
254
+ if (notVerified > 0) write(`${c.red}Not Verified:${c.reset} ${notVerified}`);
255
+ if (errors > 0) write(`${c.yellow}Errors:${c.reset} ${errors}`);
256
+ write(`${c.gray}${"\u2500".repeat(60)}${c.reset}`);
257
+ write(`
258
+ ${c.gray}View reports: https://aimodularity.com/agentverify/dashboard${c.reset}
257
259
  `);
258
260
  if (notVerified > 0) process.exit(1);
259
261
  }
260
262
  async function main() {
261
263
  const args = parseArgs(process.argv);
262
264
  if (args.version) {
263
- console.log(`agentverify v${VERSION}`);
265
+ write(`agentverify v${VERSION}`);
264
266
  process.exit(0);
265
267
  }
266
268
  if (args.help || !args.command) {
package/dist/cli.mjs CHANGED
@@ -1,12 +1,12 @@
1
1
  #!/usr/bin/env node
2
2
  import {
3
3
  scan
4
- } from "./chunk-JWWQ7MRK.mjs";
4
+ } from "./chunk-YOD7H7MC.mjs";
5
5
 
6
6
  // src/cli.ts
7
7
  import { readFileSync, readdirSync, statSync } from "fs";
8
8
  import { join, relative, extname } from "path";
9
- var VERSION = "1.0.0";
9
+ var VERSION = "1.1.0";
10
10
  var API_URL = "https://agentverify-api.agentverify.workers.dev/v1/scan";
11
11
  var c = {
12
12
  reset: "\x1B[0m",
@@ -19,6 +19,8 @@ var c = {
19
19
  white: "\x1B[37m",
20
20
  gray: "\x1B[90m"
21
21
  };
22
+ var write = (value = "") => process.stdout.write(`${value}
23
+ `);
22
24
  var SUPPORTED_EXTENSIONS = /* @__PURE__ */ new Set([".js", ".ts", ".py", ".json", ".yaml", ".yml", ".md", ".mjs", ".cjs"]);
23
25
  var SKIP_DIRS = /* @__PURE__ */ new Set(["node_modules", ".git", "dist", "build", ".next", "vendor", "coverage", ".cache"]);
24
26
  function collectFiles(dir) {
@@ -71,7 +73,7 @@ function parseArgs(argv) {
71
73
  return result;
72
74
  }
73
75
  function printHelp() {
74
- console.log(`
76
+ write(`
75
77
  ${c.bold}${c.cyan}Agent Verify${c.reset} ${c.gray}v${VERSION}${c.reset}
76
78
  ${c.gray}Execution trust analysis for AI agents${c.reset}
77
79
 
@@ -103,7 +105,7 @@ ${c.bold}Examples:${c.reset}
103
105
  agentverify scan . --key av_your_key --json
104
106
 
105
107
  ${c.bold}Get your API key:${c.reset}
106
- https://agentverify.ai/dashboard
108
+ https://aimodularity.com/agentverify/dashboard
107
109
 
108
110
  ${c.bold}Docs:${c.reset}
109
111
  https://github.com/AI-Blockchain-Ventures/agentverify
@@ -116,9 +118,9 @@ function printVerdict(result, fileName) {
116
118
  const score = verified ? `${c.green}${result.riskScore}/100${c.reset}` : result.riskScore >= 50 ? `${c.yellow}${result.riskScore}/100${c.reset}` : `${c.red}${result.riskScore}/100${c.reset}`;
117
119
  const findings = result.findings.length > 0 ? `${c.gray}\u2014 ${result.findings.length} finding${result.findings.length === 1 ? "" : "s"}${c.reset}` : "";
118
120
  const name = fileName.padEnd(30);
119
- console.log(` ${icon} ${verdict} ${name} score: ${score} ${findings}`);
121
+ write(` ${icon} ${verdict} ${name} score: ${score} ${findings}`);
120
122
  if (result.saved && result.reportId) {
121
- console.log(` ${c.gray}\u2192 Report: https://agentverify.ai/report/${result.reportId}${c.reset}`);
123
+ write(` ${c.gray}\u2192 Report: https://aimodularity.com/agentverify/report?id=${result.reportId}${c.reset}`);
122
124
  }
123
125
  }
124
126
  async function runScan(args) {
@@ -127,7 +129,7 @@ async function runScan(args) {
127
129
  ${c.red}Error:${c.reset} API key required
128
130
  `);
129
131
  console.error(` Set with --key av_your_key or AGENTVERIFY_API_KEY env var`);
130
- console.error(` Get your key at https://agentverify.ai/dashboard
132
+ console.error(` Get your key at https://aimodularity.com/agentverify/dashboard
131
133
  `);
132
134
  process.exit(1);
133
135
  }
@@ -136,14 +138,14 @@ ${c.red}Error:${c.reset} API key required
136
138
  files = [args.file];
137
139
  } else {
138
140
  const dir = args.dir;
139
- console.log(`
141
+ write(`
140
142
  ${c.bold}Agent Verify${c.reset} ${c.gray}v${VERSION}${c.reset}`);
141
- console.log(`${c.gray}Scanning ${dir}...${c.reset}
143
+ write(`${c.gray}Scanning ${dir}...${c.reset}
142
144
  `);
143
145
  files = collectFiles(dir);
144
146
  if (files.length === 0) {
145
- console.log(`${c.yellow}No agent files found in ${dir}${c.reset}`);
146
- console.log(`${c.gray}Supported: .js .ts .py .json .yaml .yml .md${c.reset}
147
+ write(`${c.yellow}No agent files found in ${dir}${c.reset}`);
148
+ write(`${c.gray}Supported: .js .ts .py .json .yaml .yml .md${c.reset}
147
149
  `);
148
150
  process.exit(0);
149
151
  }
@@ -179,7 +181,7 @@ ${c.bold}Agent Verify${c.reset} ${c.gray}v${VERSION}${c.reset}`);
179
181
  const relPath = relative(args.dir, filePath);
180
182
  const errMsg = outcome.reason instanceof Error ? outcome.reason.message : String(outcome.reason);
181
183
  if (!args.json) {
182
- console.log(` ${c.yellow}\u26A0${c.reset} ${c.yellow}WARNING${c.reset} ${relPath.padEnd(30)} ${c.gray}${errMsg}${c.reset}`);
184
+ write(` ${c.yellow}\u26A0${c.reset} ${c.yellow}WARNING${c.reset} ${relPath.padEnd(30)} ${c.gray}${errMsg}${c.reset}`);
183
185
  }
184
186
  jsonResults.push({ file: relPath, result: null, error: errMsg });
185
187
  errors++;
@@ -187,26 +189,26 @@ ${c.bold}Agent Verify${c.reset} ${c.gray}v${VERSION}${c.reset}`);
187
189
  }
188
190
  }
189
191
  if (args.json) {
190
- console.log(JSON.stringify({ results: jsonResults, summary: { total: files.length, verified, notVerified, errors } }, null, 2));
192
+ write(JSON.stringify({ results: jsonResults, summary: { total: files.length, verified, notVerified, errors } }, null, 2));
191
193
  return;
192
194
  }
193
- console.log(`
195
+ write(`
194
196
  ${c.gray}${"\u2500".repeat(60)}${c.reset}`);
195
- console.log(`${c.bold}Agent Verify Scan Complete${c.reset}`);
196
- console.log(`${c.gray}Files scanned:${c.reset} ${files.length}`);
197
- console.log(`${c.green}Verified:${c.reset} ${verified}`);
198
- if (notVerified > 0) console.log(`${c.red}Not Verified:${c.reset} ${notVerified}`);
199
- if (errors > 0) console.log(`${c.yellow}Errors:${c.reset} ${errors}`);
200
- console.log(`${c.gray}${"\u2500".repeat(60)}${c.reset}`);
201
- console.log(`
202
- ${c.gray}View reports: https://agentverify.ai/dashboard${c.reset}
197
+ write(`${c.bold}Agent Verify Scan Complete${c.reset}`);
198
+ write(`${c.gray}Files scanned:${c.reset} ${files.length}`);
199
+ write(`${c.green}Verified:${c.reset} ${verified}`);
200
+ if (notVerified > 0) write(`${c.red}Not Verified:${c.reset} ${notVerified}`);
201
+ if (errors > 0) write(`${c.yellow}Errors:${c.reset} ${errors}`);
202
+ write(`${c.gray}${"\u2500".repeat(60)}${c.reset}`);
203
+ write(`
204
+ ${c.gray}View reports: https://aimodularity.com/agentverify/dashboard${c.reset}
203
205
  `);
204
206
  if (notVerified > 0) process.exit(1);
205
207
  }
206
208
  async function main() {
207
209
  const args = parseArgs(process.argv);
208
210
  if (args.version) {
209
- console.log(`agentverify v${VERSION}`);
211
+ write(`agentverify v${VERSION}`);
210
212
  process.exit(0);
211
213
  }
212
214
  if (args.help || !args.command) {
package/dist/sdk.d.mts CHANGED
@@ -39,9 +39,9 @@ interface ScanOptions {
39
39
  * { apiKey: process.env.AGENTVERIFY_API_KEY }
40
40
  * )
41
41
  *
42
- * console.log(result.verdict) // 'VERIFIED' | 'NOT VERIFIED'
43
- * console.log(result.riskScore) // 0-100
44
- * console.log(result.findings) // Array of findings
42
+ * result.verdict // 'VERIFIED' | 'NOT VERIFIED'
43
+ * result.riskScore // 0-100
44
+ * result.findings // Array of findings
45
45
  */
46
46
  declare function scan(input: ScanInput, options: ScanOptions): Promise<ScanResult>;
47
47
  /**
package/dist/sdk.d.ts CHANGED
@@ -39,9 +39,9 @@ interface ScanOptions {
39
39
  * { apiKey: process.env.AGENTVERIFY_API_KEY }
40
40
  * )
41
41
  *
42
- * console.log(result.verdict) // 'VERIFIED' | 'NOT VERIFIED'
43
- * console.log(result.riskScore) // 0-100
44
- * console.log(result.findings) // Array of findings
42
+ * result.verdict // 'VERIFIED' | 'NOT VERIFIED'
43
+ * result.riskScore // 0-100
44
+ * result.findings // Array of findings
45
45
  */
46
46
  declare function scan(input: ScanInput, options: ScanOptions): Promise<ScanResult>;
47
47
  /**
package/dist/sdk.js CHANGED
@@ -30,7 +30,7 @@ async function scan(input, options) {
30
30
  const { apiKey, apiUrl = DEFAULT_API_URL, timeout = DEFAULT_TIMEOUT } = options;
31
31
  if (!apiKey) {
32
32
  throw new Error(
33
- "API key required. Generate one at https://agentverify.ai/dashboard"
33
+ "API key required. Generate one at https://aimodularity.com/agentverify/dashboard"
34
34
  );
35
35
  }
36
36
  if (!input.content || input.content.trim().length === 0) {
@@ -55,7 +55,7 @@ async function scan(input, options) {
55
55
  });
56
56
  if (response.status === 401) {
57
57
  throw new Error(
58
- "Invalid API key. Generate one at https://agentverify.ai/dashboard"
58
+ "Invalid API key. Generate one at https://aimodularity.com/agentverify/dashboard"
59
59
  );
60
60
  }
61
61
  if (response.status === 400) {
package/dist/sdk.mjs CHANGED
@@ -1,7 +1,7 @@
1
1
  import {
2
2
  scan,
3
3
  scanMany
4
- } from "./chunk-JWWQ7MRK.mjs";
4
+ } from "./chunk-YOD7H7MC.mjs";
5
5
  export {
6
6
  scan,
7
7
  scanMany
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "agentverify",
3
- "version": "1.0.0",
3
+ "version": "1.1.0",
4
4
  "description": "CLI and SDK for Agent Verify — execution trust analysis for AI agents",
5
5
  "bin": {
6
6
  "agentverify": "./dist/cli.js"
@@ -27,13 +27,13 @@
27
27
  "ai", "agents", "security", "verification", "a2spa",
28
28
  "agent-security", "llm", "ai-safety", "cli"
29
29
  ],
30
- "author": "AI Blockchain Ventures LLC",
30
+ "author": "AI Blockchain Ventures LLC <hello@aiblockchainventures.com>",
31
31
  "license": "MIT",
32
32
  "repository": {
33
33
  "type": "git",
34
34
  "url": "https://github.com/AI-Blockchain-Ventures/agentverify"
35
35
  },
36
- "homepage": "https://agentverify.ai",
36
+ "homepage": "https://aimodularity.com/agentverify",
37
37
  "devDependencies": {
38
38
  "tsup": "^8.0.0",
39
39
  "typescript": "^5.0.0",