veto-sdk 2.8.0 → 2.8.2

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.
Files changed (81) hide show
  1. package/README.md +85 -1007
  2. package/dist/benchmark/loader.js +4 -1
  3. package/dist/benchmark/loader.js.map +1 -1
  4. package/dist/browser/protect.d.ts.map +1 -1
  5. package/dist/browser/protect.js +16 -35
  6. package/dist/browser/protect.js.map +1 -1
  7. package/dist/browser/veto.js +3 -5
  8. package/dist/browser/veto.js.map +1 -1
  9. package/dist/cli/compile.d.ts.map +1 -1
  10. package/dist/cli/compile.js +8 -4
  11. package/dist/cli/compile.js.map +1 -1
  12. package/dist/cli/headless.d.ts.map +1 -1
  13. package/dist/cli/headless.js +20 -19
  14. package/dist/cli/headless.js.map +1 -1
  15. package/dist/cli/init.d.ts.map +1 -1
  16. package/dist/cli/init.js +2 -3
  17. package/dist/cli/init.js.map +1 -1
  18. package/dist/cli/repl-generate.d.ts +1 -0
  19. package/dist/cli/repl-generate.d.ts.map +1 -1
  20. package/dist/cli/repl-generate.js +24 -7
  21. package/dist/cli/repl-generate.js.map +1 -1
  22. package/dist/cli/runner.d.ts.map +1 -1
  23. package/dist/cli/runner.js +1 -0
  24. package/dist/cli/runner.js.map +1 -1
  25. package/dist/cloud/policy-cache.d.ts +5 -0
  26. package/dist/cloud/policy-cache.d.ts.map +1 -1
  27. package/dist/cloud/policy-cache.js +29 -3
  28. package/dist/cloud/policy-cache.js.map +1 -1
  29. package/dist/compiler/evaluator.js +8 -2
  30. package/dist/compiler/evaluator.js.map +1 -1
  31. package/dist/core/budget.d.ts +35 -0
  32. package/dist/core/budget.d.ts.map +1 -1
  33. package/dist/core/budget.js +49 -0
  34. package/dist/core/budget.js.map +1 -1
  35. package/dist/core/history.d.ts +2 -1
  36. package/dist/core/history.d.ts.map +1 -1
  37. package/dist/core/history.js +30 -13
  38. package/dist/core/history.js.map +1 -1
  39. package/dist/core/interceptor.d.ts.map +1 -1
  40. package/dist/core/interceptor.js +26 -16
  41. package/dist/core/interceptor.js.map +1 -1
  42. package/dist/core/protect.d.ts.map +1 -1
  43. package/dist/core/protect.js +83 -16
  44. package/dist/core/protect.js.map +1 -1
  45. package/dist/core/veto.d.ts +21 -0
  46. package/dist/core/veto.d.ts.map +1 -1
  47. package/dist/core/veto.js +86 -13
  48. package/dist/core/veto.js.map +1 -1
  49. package/dist/custom/providers/anthropic.d.ts.map +1 -1
  50. package/dist/custom/providers/anthropic.js +4 -1
  51. package/dist/custom/providers/anthropic.js.map +1 -1
  52. package/dist/custom/providers/gemini.d.ts.map +1 -1
  53. package/dist/custom/providers/gemini.js +4 -1
  54. package/dist/custom/providers/gemini.js.map +1 -1
  55. package/dist/economic/connectors/x402.d.ts.map +1 -1
  56. package/dist/economic/connectors/x402.js.map +1 -1
  57. package/dist/index.d.ts +7 -18
  58. package/dist/index.d.ts.map +1 -1
  59. package/dist/index.js +7 -18
  60. package/dist/index.js.map +1 -1
  61. package/dist/integrations/langchain/middleware.d.ts.map +1 -1
  62. package/dist/integrations/langchain/middleware.js +4 -1
  63. package/dist/integrations/langchain/middleware.js.map +1 -1
  64. package/dist/integrations/langchain/tool-node.d.ts.map +1 -1
  65. package/dist/integrations/langchain/tool-node.js +4 -1
  66. package/dist/integrations/langchain/tool-node.js.map +1 -1
  67. package/dist/proxy/server.d.ts.map +1 -1
  68. package/dist/proxy/server.js +6 -2
  69. package/dist/proxy/server.js.map +1 -1
  70. package/dist/rules/condition-evaluator.d.ts.map +1 -1
  71. package/dist/rules/condition-evaluator.js +33 -2
  72. package/dist/rules/condition-evaluator.js.map +1 -1
  73. package/dist/rules/policy-packs.d.ts.map +1 -1
  74. package/dist/rules/policy-packs.js +1 -0
  75. package/dist/rules/policy-packs.js.map +1 -1
  76. package/dist/utils/logger.d.ts +28 -1
  77. package/dist/utils/logger.d.ts.map +1 -1
  78. package/dist/utils/logger.js +106 -30
  79. package/dist/utils/logger.js.map +1 -1
  80. package/package.json +10 -6
  81. package/packs/safe-defaults.yaml +98 -0
@@ -6,6 +6,17 @@
6
6
  *
7
7
  * @module utils/logger
8
8
  */
9
+ /**
10
+ * Base class for stream-mode decision loggers.
11
+ *
12
+ * External code (the validation engine, integrations, etc.) detects stream
13
+ * mode via `instanceof BaseStreamLogger`. Inheriting from this class is the
14
+ * explicit opt-in — duck-typing on the `streamDecision` method name is
15
+ * intentionally avoided so user loggers that happen to expose the same name
16
+ * are not silently misidentified.
17
+ */
18
+ export class BaseStreamLogger {
19
+ }
9
20
  /**
10
21
  * Numeric priority for log levels (lower = more verbose).
11
22
  */
@@ -32,14 +43,39 @@ function shouldLog(messageLevel, configuredLevel) {
32
43
  function isPlainObject(value) {
33
44
  return value !== null && typeof value === 'object' && !Array.isArray(value);
34
45
  }
46
+ // Strip C0/C1 control characters and explicitly visualise newlines/tabs in
47
+ // user-supplied strings before they hit the terminal. Keeps the
48
+ // one-line-per-decision invariant intact and prevents user data from
49
+ // spoofing terminal state via embedded ANSI escapes.
50
+ // eslint-disable-next-line no-control-regex
51
+ const CONTROL_CHARS = /[\x00-\x08\x0B-\x1F\x7F-\x9F]/g;
52
+ function sanitizeStr(value) {
53
+ return value
54
+ .replace(/\r\n/g, '\\n')
55
+ .replace(/\n/g, '\\n')
56
+ .replace(/\r/g, '\\r')
57
+ .replace(/\t/g, '\\t')
58
+ .replace(CONTROL_CHARS, '');
59
+ }
35
60
  function escapeString(value) {
36
- return value.replace(/\\/g, '\\\\').replace(/'/g, "\\'");
61
+ // Escape backslashes and quotes on the *original* string first; otherwise
62
+ // the visualisation backslashes that `sanitizeStr` introduces (e.g.
63
+ // turning a real newline into the two-char sequence `\` + `n`) get doubled
64
+ // by the backslash-escape pass and the row prints `'line1\\nline2'`
65
+ // instead of `'line1\nline2'`.
66
+ return sanitizeStr(value.replace(/\\/g, '\\\\').replace(/'/g, "\\'"));
37
67
  }
38
68
  function formatScalar(value) {
39
69
  if (typeof value === 'string') {
40
70
  return `'${escapeString(value)}'`;
41
71
  }
42
- if (typeof value === 'number' || typeof value === 'boolean' || typeof value === 'bigint') {
72
+ if (typeof value === 'number') {
73
+ if (!Number.isFinite(value)) {
74
+ return Number.isNaN(value) ? 'NaN' : value > 0 ? 'Infinity' : '-Infinity';
75
+ }
76
+ return String(value);
77
+ }
78
+ if (typeof value === 'boolean' || typeof value === 'bigint') {
43
79
  return String(value);
44
80
  }
45
81
  if (value === null) {
@@ -51,7 +87,7 @@ function formatScalar(value) {
51
87
  if (typeof value === 'undefined') {
52
88
  return 'undefined';
53
89
  }
54
- return String(value);
90
+ return sanitizeStr(String(value));
55
91
  }
56
92
  function formatValue(value, depth = 0) {
57
93
  if (value === null
@@ -85,24 +121,16 @@ function truncate(value, maxLength) {
85
121
  }
86
122
  return `${value.slice(0, Math.max(0, maxLength - 1))}…`;
87
123
  }
88
- function formatCallArguments(args, maxLength = 120) {
89
- if (!args || Object.keys(args).length === 0) {
90
- return '';
91
- }
92
- const inlineEntries = Object.entries(args)
93
- .map(([key, value]) => `${key}=${formatValue(value)}`)
94
- .join(', ');
95
- if (inlineEntries.length <= maxLength) {
96
- return inlineEntries;
97
- }
98
- return truncate(formatValue(args), maxLength);
99
- }
100
- /** JS-object-literal arg rendering: `{key: 'value', n: 1}`. Empty args render as `{}`. */
101
- function formatJsArgs(args, maxLength = 80) {
124
+ /**
125
+ * JS-object-literal arg rendering: `{key: 'value', n: 1}`. Single canonical
126
+ * formatter shared by compact + verbose modes. `empty` chooses what's
127
+ * rendered when there are no args: compact uses `'{}'`, verbose uses `''`.
128
+ */
129
+ function formatArgsInline(args, options) {
102
130
  if (!args || Object.keys(args).length === 0) {
103
- return '{}';
131
+ return options.empty ?? '';
104
132
  }
105
- return truncate(formatValue(args), maxLength);
133
+ return truncate(formatValue(args), options.maxLength);
106
134
  }
107
135
  function formatDuration(latencyMs) {
108
136
  if (typeof latencyMs !== 'number' || !Number.isFinite(latencyMs) || latencyMs < 0) {
@@ -127,11 +155,17 @@ function formatLatencyCell(latencyMs) {
127
155
  return `${Math.round(latencyMs / 60_000)}m`;
128
156
  return `${Math.round(latencyMs / 3_600_000)}h`;
129
157
  }
130
- /** HH:MM:SS, 24-hour, local time. */
158
+ /**
159
+ * HH:MM:SS in UTC by default; set `VETO_LOG_LOCALTIME=1` for host time.
160
+ *
161
+ * UTC is the default so the same code prints the same row on a developer's
162
+ * laptop, in CI, and inside a container — important for diffing logs.
163
+ */
131
164
  function formatTimeOfDay(date = new Date()) {
132
- const hh = String(date.getHours()).padStart(2, '0');
133
- const mm = String(date.getMinutes()).padStart(2, '0');
134
- const ss = String(date.getSeconds()).padStart(2, '0');
165
+ const localTime = typeof process !== 'undefined' && Boolean(process.env?.VETO_LOG_LOCALTIME);
166
+ const hh = String(localTime ? date.getHours() : date.getUTCHours()).padStart(2, '0');
167
+ const mm = String(localTime ? date.getMinutes() : date.getUTCMinutes()).padStart(2, '0');
168
+ const ss = String(localTime ? date.getSeconds() : date.getUTCSeconds()).padStart(2, '0');
135
169
  return `${hh}:${mm}:${ss}`;
136
170
  }
137
171
  /**
@@ -152,8 +186,21 @@ function formatTrailingTag(event) {
152
186
  }
153
187
  return null;
154
188
  }
189
+ /**
190
+ * Honor https://no-color.org and https://force-color.org conventions.
191
+ *
192
+ * - `NO_COLOR` set to any non-empty value → never emit ANSI.
193
+ * - `FORCE_COLOR` set to any non-empty value → always emit ANSI.
194
+ * - Otherwise → only emit ANSI when stderr is a TTY.
195
+ */
155
196
  function supportsColor() {
156
- return typeof process !== 'undefined' && Boolean(process.stderr?.isTTY);
197
+ if (typeof process === 'undefined')
198
+ return false;
199
+ if (process.env?.NO_COLOR)
200
+ return false;
201
+ if (process.env?.FORCE_COLOR)
202
+ return true;
203
+ return Boolean(process.stderr?.isTTY);
157
204
  }
158
205
  function colorize(value, color) {
159
206
  if (!supportsColor()) {
@@ -192,15 +239,24 @@ function formatDecisionReason(reason, maxLength) {
192
239
  return truncate(reason.trim(), maxLength);
193
240
  }
194
241
  const COMPACT_CALL_MIN_WIDTH = 40;
242
+ const COMPACT_CALL_MAX_WIDTH = 80;
195
243
  const COMPACT_LATENCY_WIDTH = 5;
244
+ const COMPACT_ARGS_BUDGET = 60;
245
+ const VERBOSE_ARGS_MAX = 320;
196
246
  /**
197
247
  * One-line decision row, formatted as:
198
248
  * `HH:MM:SS <decision> <tool>(<args>) <latency> <tag?>`
249
+ *
250
+ * Tool name and args are sanitized (no newlines / control chars) and the
251
+ * full call portion is hard-truncated to `COMPACT_CALL_MAX_WIDTH` so the
252
+ * latency column stays roughly aligned across rows.
199
253
  */
200
254
  function formatCompactDecision(event) {
201
255
  const time = dim(formatTimeOfDay(event.timestamp));
202
256
  const label = getDecisionLabel(event.decision);
203
- const call = `${event.toolName}(${formatJsArgs(event.arguments, 80)})`;
257
+ const safeTool = sanitizeStr(event.toolName);
258
+ const argString = formatArgsInline(event.arguments, { maxLength: COMPACT_ARGS_BUDGET, empty: '{}' });
259
+ const call = truncate(`${safeTool}(${argString})`, COMPACT_CALL_MAX_WIDTH);
204
260
  const callPadded = call.padEnd(COMPACT_CALL_MIN_WIDTH, ' ');
205
261
  const latency = formatLatencyCell(event.latencyMs).padStart(COMPACT_LATENCY_WIDTH, ' ');
206
262
  const tag = formatTrailingTag(event);
@@ -208,13 +264,13 @@ function formatCompactDecision(event) {
208
264
  return `${time} ${label} ${callPadded} ${latency}${tagSuffix}`;
209
265
  }
210
266
  function formatVerboseDecision(event) {
211
- const args = formatCallArguments(event.arguments, 320);
267
+ const args = formatArgsInline(event.arguments, { maxLength: VERBOSE_ARGS_MAX });
212
268
  const duration = formatDuration(event.latencyMs);
213
- const reason = formatDecisionReason(event.reason, 320) ?? 'n/a';
269
+ const reason = formatDecisionReason(event.reason, VERBOSE_ARGS_MAX) ?? 'n/a';
214
270
  const lines = [
215
271
  `${bold('VETO DECISION')} ${getDecisionLabel(event.decision).trimEnd()}`,
216
272
  `time: ${formatTimeOfDay(event.timestamp)}`,
217
- `tool: ${event.toolName}`,
273
+ `tool: ${sanitizeStr(event.toolName)}`,
218
274
  `args: ${args.length > 0 ? args : '(none)'}`,
219
275
  `reason: ${reason}`,
220
276
  ];
@@ -281,14 +337,27 @@ class ConsoleLogger {
281
337
  }
282
338
  }
283
339
  }
284
- export class StreamLogger {
340
+ // Warn-level messages whose body the stream row already conveys. The
341
+ // StreamLogger drops these locally so callers no longer need to know about
342
+ // logger types — the validation engine just emits as before.
343
+ const STREAM_NOISY_WARNS = new Set([
344
+ 'Tool call blocked by local rule',
345
+ 'Tool call blocked by local approval rule (no approval flow configured)',
346
+ ]);
347
+ export class StreamLogger extends BaseStreamLogger {
285
348
  mode;
286
349
  constructor(mode = 'compact') {
350
+ super();
287
351
  this.mode = mode;
288
352
  }
289
353
  debug() { }
290
354
  info() { }
291
355
  warn(message, context) {
356
+ // Suppress warnings that just duplicate the deny / await stream row —
357
+ // filtering here keeps the noise off the user's terminal without the
358
+ // validation engine having to know it's running in stream mode.
359
+ if (STREAM_NOISY_WARNS.has(message))
360
+ return;
292
361
  writeToStderr(formatMessage('warn', message, context));
293
362
  }
294
363
  error(message, context, error) {
@@ -303,8 +372,15 @@ export class StreamLogger {
303
372
  : formatCompactDecision(event));
304
373
  }
305
374
  }
375
+ /**
376
+ * Detect stream-mode loggers safely.
377
+ *
378
+ * Strict `instanceof` check against `BaseStreamLogger`. Older code duck-typed
379
+ * on the `streamDecision` attribute, which silently misidentified user
380
+ * loggers that happened to expose the same method name.
381
+ */
306
382
  export function isDecisionStreamLogger(logger) {
307
- return typeof logger.streamDecision === 'function';
383
+ return logger instanceof BaseStreamLogger;
308
384
  }
309
385
  /**
310
386
  * Create a console-based logger with the specified log level.
@@ -1 +1 @@
1
- {"version":3,"file":"logger.js","sourceRoot":"","sources":["../../src/utils/logger.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"logger.js","sourceRoot":"","sources":["../../src/utils/logger.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "veto-sdk",
3
- "version": "2.8.0",
4
- "description": "A guardrail system that intercepts and validates AI agent tool calls",
3
+ "version": "2.8.2",
4
+ "description": "Policy runtime for AI agent tool calls",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",
7
7
  "type": "module",
@@ -15,6 +15,7 @@
15
15
  "test": "vitest run",
16
16
  "test:watch": "vitest",
17
17
  "test:coverage": "vitest run --coverage",
18
+ "audit:docker": "bash scripts/docker-audit.sh",
18
19
  "benchmark": "node dist/benchmark/cli.js",
19
20
  "benchmark:dev": "tsx src/benchmark/cli.ts",
20
21
  "prepublishOnly": "npm run build"
@@ -22,9 +23,10 @@
22
23
  "keywords": [
23
24
  "ai",
24
25
  "agent",
25
- "guardrail",
26
+ "policy-runtime",
26
27
  "tool-calls",
27
- "safety",
28
+ "runtime-governance",
29
+ "authorization",
28
30
  "llm",
29
31
  "openai",
30
32
  "anthropic",
@@ -34,16 +36,18 @@
34
36
  "langgraph"
35
37
  ],
36
38
  "author": "",
37
- "license": "MIT",
39
+ "license": "Apache-2.0",
38
40
  "devDependencies": {
39
41
  "@opentelemetry/api": "^1.9.1",
40
42
  "@types/node": "^20.10.0",
41
43
  "@types/react": "^18.3.26",
42
44
  "@vitest/coverage-v8": "^4.0.16",
45
+ "ink": "^5.0.0",
43
46
  "openai": "^4.77.0",
44
47
  "tsx": "^4.7.0",
45
48
  "typescript": "^5.3.0",
46
- "vitest": "^4.0.16"
49
+ "vitest": "^4.0.16",
50
+ "zod": "^3.22.0"
47
51
  },
48
52
  "peerDependencies": {
49
53
  "@anthropic-ai/sdk": "^0.20.0",
@@ -0,0 +1,98 @@
1
+ version: "1.0"
2
+ name: "@veto/safe-defaults"
3
+ description: >
4
+ Zero-config observe-mode defaults for AI agent tool calls. Rules only warn or
5
+ log for obviously destructive shell, file, database, and money-movement
6
+ network patterns; they do not hard-block execution.
7
+
8
+ rules:
9
+ - id: safe-defaults-warn-destructive-shell
10
+ name: Warn on destructive shell commands
11
+ description: Observe recursive deletes, disk formatting, shutdowns, and privilege escalation.
12
+ enabled: true
13
+ severity: high
14
+ action: warn
15
+ tools:
16
+ - bash
17
+ - shell
18
+ - run_shell
19
+ - execute_command
20
+ - exec
21
+ - terminal
22
+ condition_groups:
23
+ - - field: arguments.command
24
+ operator: matches
25
+ value: '(^|[;&|\s])(rm\s+-rf|mkfs|dd\s+if=|shutdown|reboot|sudo\s+rm|chmod\s+-R\s+777)($|[;&|\s])'
26
+ - - field: arguments.cmd
27
+ operator: matches
28
+ value: '(^|[;&|\s])(rm\s+-rf|mkfs|dd\s+if=|shutdown|reboot|sudo\s+rm|chmod\s+-R\s+777)($|[;&|\s])'
29
+
30
+ - id: safe-defaults-warn-sensitive-file-mutation
31
+ name: Warn on sensitive file mutations
32
+ description: Observe writes, edits, appends, or deletes targeting sensitive system or credential paths.
33
+ enabled: true
34
+ severity: high
35
+ action: warn
36
+ tools:
37
+ - write_file
38
+ - edit_file
39
+ - append_file
40
+ - delete_file
41
+ - remove_file
42
+ - file_write
43
+ - file_delete
44
+ condition_groups:
45
+ - - field: arguments.path
46
+ operator: starts_with
47
+ value: /etc
48
+ - - field: arguments.path
49
+ operator: starts_with
50
+ value: /root
51
+ - - field: arguments.path
52
+ operator: contains
53
+ value: .ssh
54
+ - - field: arguments.path
55
+ operator: ends_with
56
+ value: .env
57
+
58
+ - id: safe-defaults-log-database-mutations
59
+ name: Log database mutations
60
+ description: Observe SQL or database operations that mutate rows or schema.
61
+ enabled: true
62
+ severity: medium
63
+ action: log
64
+ tools:
65
+ - query
66
+ - sql
67
+ - database
68
+ - db_query
69
+ - execute_sql
70
+ - run_query
71
+ condition_groups:
72
+ - - field: arguments.query
73
+ operator: matches
74
+ value: '\b(drop|delete|truncate|alter|update|insert|merge|grant|revoke)\b'
75
+ - - field: arguments.sql
76
+ operator: matches
77
+ value: '\b(drop|delete|truncate|alter|update|insert|merge|grant|revoke)\b'
78
+
79
+ - id: safe-defaults-warn-network-money-movement
80
+ name: Warn on network money-movement calls
81
+ description: Observe outbound API calls that appear to initiate payments, withdrawals, payouts, or transfers.
82
+ enabled: true
83
+ severity: medium
84
+ action: warn
85
+ tools:
86
+ - fetch
87
+ - http_request
88
+ - request
89
+ - call_api
90
+ - post
91
+ - webhook
92
+ condition_groups:
93
+ - - field: arguments.url
94
+ operator: matches
95
+ value: '\b(charge|payment|payout|withdraw|transfer|wire|refund|invoice|checkout|bank)\b'
96
+ - - field: arguments.endpoint
97
+ operator: matches
98
+ value: '\b(charge|payment|payout|withdraw|transfer|wire|refund|invoice|checkout|bank)\b'