veto-sdk 2.2.1 → 2.4.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.
Files changed (132) hide show
  1. package/README.md +933 -57
  2. package/dist/admin/client.d.ts +93 -0
  3. package/dist/admin/client.d.ts.map +1 -0
  4. package/dist/admin/client.js +365 -0
  5. package/dist/admin/client.js.map +1 -0
  6. package/dist/admin/types.d.ts +206 -0
  7. package/dist/admin/types.d.ts.map +1 -0
  8. package/dist/admin/types.js +2 -0
  9. package/dist/admin/types.js.map +1 -0
  10. package/dist/audit/chain.d.ts +13 -0
  11. package/dist/audit/chain.d.ts.map +1 -0
  12. package/dist/audit/chain.js +32 -0
  13. package/dist/audit/chain.js.map +1 -0
  14. package/dist/browser/types.d.ts +1 -1
  15. package/dist/browser/types.d.ts.map +1 -1
  16. package/dist/browser/veto.d.ts.map +1 -1
  17. package/dist/browser/veto.js +24 -2
  18. package/dist/browser/veto.js.map +1 -1
  19. package/dist/cli/compile.d.ts.map +1 -1
  20. package/dist/cli/compile.js +6 -5
  21. package/dist/cli/compile.js.map +1 -1
  22. package/dist/cli/repl-generate.js +1 -1
  23. package/dist/cli/repl-generate.js.map +1 -1
  24. package/dist/cli/runner.d.ts.map +1 -1
  25. package/dist/cli/runner.js +129 -8
  26. package/dist/cli/runner.js.map +1 -1
  27. package/dist/cli/templates.d.ts +1 -1
  28. package/dist/cli/templates.d.ts.map +1 -1
  29. package/dist/cli/templates.js +1 -1
  30. package/dist/core/history.d.ts +14 -0
  31. package/dist/core/history.d.ts.map +1 -1
  32. package/dist/core/history.js +73 -13
  33. package/dist/core/history.js.map +1 -1
  34. package/dist/core/tool-pack-heuristics.d.ts.map +1 -1
  35. package/dist/core/tool-pack-heuristics.js +33 -0
  36. package/dist/core/tool-pack-heuristics.js.map +1 -1
  37. package/dist/core/validator.d.ts +4 -0
  38. package/dist/core/validator.d.ts.map +1 -1
  39. package/dist/core/validator.js +119 -97
  40. package/dist/core/validator.js.map +1 -1
  41. package/dist/core/veto.d.ts +53 -2
  42. package/dist/core/veto.d.ts.map +1 -1
  43. package/dist/core/veto.js +137 -7
  44. package/dist/core/veto.js.map +1 -1
  45. package/dist/custom/types.d.ts +1 -1
  46. package/dist/custom/types.d.ts.map +1 -1
  47. package/dist/deterministic/types.d.ts +2 -0
  48. package/dist/deterministic/types.d.ts.map +1 -1
  49. package/dist/index.d.ts +11 -1
  50. package/dist/index.d.ts.map +1 -1
  51. package/dist/index.js +9 -0
  52. package/dist/index.js.map +1 -1
  53. package/dist/integrations/langchain/middleware.d.ts +1 -1
  54. package/dist/integrations/langchain/middleware.js +1 -1
  55. package/dist/integrations/openclaw/hooks.d.ts +30 -0
  56. package/dist/integrations/openclaw/hooks.d.ts.map +1 -0
  57. package/dist/integrations/openclaw/hooks.js +130 -0
  58. package/dist/integrations/openclaw/hooks.js.map +1 -0
  59. package/dist/integrations/openclaw/index.d.ts +3 -0
  60. package/dist/integrations/openclaw/index.d.ts.map +1 -0
  61. package/dist/integrations/openclaw/index.js +2 -0
  62. package/dist/integrations/openclaw/index.js.map +1 -0
  63. package/dist/integrations/vercel-ai/middleware.d.ts +1 -1
  64. package/dist/integrations/vercel-ai/middleware.js +1 -1
  65. package/dist/observability/otel.d.ts +29 -0
  66. package/dist/observability/otel.d.ts.map +1 -0
  67. package/dist/observability/otel.js +43 -0
  68. package/dist/observability/otel.js.map +1 -0
  69. package/dist/proxy/anthropic-interceptor.d.ts +51 -0
  70. package/dist/proxy/anthropic-interceptor.d.ts.map +1 -0
  71. package/dist/proxy/anthropic-interceptor.js +132 -0
  72. package/dist/proxy/anthropic-interceptor.js.map +1 -0
  73. package/dist/proxy/interceptor.d.ts +55 -0
  74. package/dist/proxy/interceptor.d.ts.map +1 -0
  75. package/dist/proxy/interceptor.js +111 -0
  76. package/dist/proxy/interceptor.js.map +1 -0
  77. package/dist/proxy/server.d.ts +21 -0
  78. package/dist/proxy/server.d.ts.map +1 -0
  79. package/dist/proxy/server.js +545 -0
  80. package/dist/proxy/server.js.map +1 -0
  81. package/dist/proxy/types.d.ts +18 -0
  82. package/dist/proxy/types.d.ts.map +1 -0
  83. package/dist/proxy/types.js +7 -0
  84. package/dist/proxy/types.js.map +1 -0
  85. package/dist/rate-limiting/evaluator.d.ts +17 -0
  86. package/dist/rate-limiting/evaluator.d.ts.map +1 -0
  87. package/dist/rate-limiting/evaluator.js +48 -0
  88. package/dist/rate-limiting/evaluator.js.map +1 -0
  89. package/dist/rate-limiting/redis-store.d.ts +36 -0
  90. package/dist/rate-limiting/redis-store.d.ts.map +1 -0
  91. package/dist/rate-limiting/redis-store.js +68 -0
  92. package/dist/rate-limiting/redis-store.js.map +1 -0
  93. package/dist/rate-limiting/store.d.ts +8 -0
  94. package/dist/rate-limiting/store.d.ts.map +1 -0
  95. package/dist/rate-limiting/store.js +60 -0
  96. package/dist/rate-limiting/store.js.map +1 -0
  97. package/dist/rate-limiting/types.d.ts +9 -0
  98. package/dist/rate-limiting/types.d.ts.map +1 -0
  99. package/dist/rate-limiting/types.js +2 -0
  100. package/dist/rate-limiting/types.js.map +1 -0
  101. package/dist/rules/condition-evaluator.d.ts.map +1 -1
  102. package/dist/rules/condition-evaluator.js +29 -0
  103. package/dist/rules/condition-evaluator.js.map +1 -1
  104. package/dist/rules/loader.d.ts.map +1 -1
  105. package/dist/rules/loader.js +5 -0
  106. package/dist/rules/loader.js.map +1 -1
  107. package/dist/rules/local-evaluator.d.ts.map +1 -1
  108. package/dist/rules/local-evaluator.js +9 -1
  109. package/dist/rules/local-evaluator.js.map +1 -1
  110. package/dist/rules/policy-ir-schema.d.ts +145 -4
  111. package/dist/rules/policy-ir-schema.d.ts.map +1 -1
  112. package/dist/rules/policy-ir-schema.js +122 -3
  113. package/dist/rules/policy-ir-schema.js.map +1 -1
  114. package/dist/rules/policy-packs.d.ts.map +1 -1
  115. package/dist/rules/policy-packs.js +1 -0
  116. package/dist/rules/policy-packs.js.map +1 -1
  117. package/dist/rules/types.d.ts +29 -2
  118. package/dist/rules/types.d.ts.map +1 -1
  119. package/dist/rules/types.js.map +1 -1
  120. package/dist/testing/runner.d.ts +21 -0
  121. package/dist/testing/runner.d.ts.map +1 -0
  122. package/dist/testing/runner.js +239 -0
  123. package/dist/testing/runner.js.map +1 -0
  124. package/dist/testing/types.d.ts +39 -0
  125. package/dist/testing/types.d.ts.map +1 -0
  126. package/dist/testing/types.js +7 -0
  127. package/dist/testing/types.js.map +1 -0
  128. package/dist/types/config.d.ts +1 -0
  129. package/dist/types/config.d.ts.map +1 -1
  130. package/dist/types/config.js.map +1 -1
  131. package/package.json +24 -14
  132. package/packs/crypto-trading.yaml +320 -0
@@ -13,6 +13,8 @@ export declare const POLICY_IR_V1_SCHEMA: {
13
13
  readonly required: readonly ["extends"];
14
14
  }, {
15
15
  readonly required: readonly ["economic"];
16
+ }, {
17
+ readonly required: readonly ["sessionConstraints"];
16
18
  }];
17
19
  readonly properties: {
18
20
  readonly version: {
@@ -53,6 +55,9 @@ export declare const POLICY_IR_V1_SCHEMA: {
53
55
  readonly economic: {
54
56
  readonly $ref: "#/$defs/EconomicPolicy";
55
57
  };
58
+ readonly sessionConstraints: {
59
+ readonly $ref: "#/$defs/SessionConstraints";
60
+ };
56
61
  };
57
62
  readonly additionalProperties: false;
58
63
  readonly $defs: {
@@ -74,6 +79,10 @@ export declare const POLICY_IR_V1_SCHEMA: {
74
79
  readonly type: "string";
75
80
  readonly description: "Detailed description of what this rule does.";
76
81
  };
82
+ readonly message: {
83
+ readonly type: "string";
84
+ readonly description: "Optional user-facing message for approvals, warnings, or denials.";
85
+ };
77
86
  readonly enabled: {
78
87
  readonly type: "boolean";
79
88
  readonly default: true;
@@ -139,6 +148,48 @@ export declare const POLICY_IR_V1_SCHEMA: {
139
148
  readonly additionalProperties: true;
140
149
  readonly description: "Arbitrary key-value metadata attached to this rule.";
141
150
  };
151
+ readonly rate_limits: {
152
+ readonly type: "array";
153
+ readonly items: {
154
+ readonly type: "object";
155
+ readonly required: readonly ["scope", "max_calls", "window_seconds"];
156
+ readonly properties: {
157
+ readonly scope: {
158
+ readonly type: "string";
159
+ readonly enum: readonly ["agent", "user", "session", "global"];
160
+ };
161
+ readonly max_calls: {
162
+ readonly type: "number";
163
+ };
164
+ readonly window_seconds: {
165
+ readonly type: "number";
166
+ };
167
+ };
168
+ readonly additionalProperties: false;
169
+ };
170
+ readonly description: "Sliding-window rate limits evaluated after conditions pass.";
171
+ };
172
+ readonly payment: {
173
+ readonly type: "object";
174
+ readonly required: readonly ["protocol", "amount", "currency"];
175
+ readonly properties: {
176
+ readonly protocol: {
177
+ readonly type: "string";
178
+ readonly enum: readonly ["x402", "mpp", "ap2"];
179
+ };
180
+ readonly amount: {
181
+ readonly type: "number";
182
+ };
183
+ readonly currency: {
184
+ readonly type: "string";
185
+ };
186
+ readonly chain_id: {
187
+ readonly type: "number";
188
+ };
189
+ };
190
+ readonly additionalProperties: false;
191
+ readonly description: "Payment gate configuration for require_payment action.";
192
+ };
142
193
  };
143
194
  readonly additionalProperties: false;
144
195
  };
@@ -217,7 +268,7 @@ export declare const POLICY_IR_V1_SCHEMA: {
217
268
  };
218
269
  readonly Condition: {
219
270
  readonly type: "object";
220
- readonly required: readonly ["field", "operator", "value"];
271
+ readonly required: readonly ["field", "operator"];
221
272
  readonly properties: {
222
273
  readonly field: {
223
274
  readonly type: "string";
@@ -237,6 +288,17 @@ export declare const POLICY_IR_V1_SCHEMA: {
237
288
  };
238
289
  };
239
290
  readonly allOf: readonly [{
291
+ readonly if: {
292
+ readonly properties: {
293
+ readonly operator: {
294
+ readonly const: "not_exists";
295
+ };
296
+ };
297
+ };
298
+ readonly else: {
299
+ readonly required: readonly ["value"];
300
+ };
301
+ }, {
240
302
  readonly if: {
241
303
  readonly properties: {
242
304
  readonly operator: {
@@ -247,7 +309,11 @@ export declare const POLICY_IR_V1_SCHEMA: {
247
309
  readonly then: {
248
310
  readonly properties: {
249
311
  readonly value: {
250
- readonly $ref: "#/$defs/TimeWindowValue";
312
+ readonly anyOf: readonly [{
313
+ readonly $ref: "#/$defs/TimeWindowValue";
314
+ }, {
315
+ readonly $ref: "#/$defs/TimeWindowString";
316
+ }];
251
317
  };
252
318
  };
253
319
  };
@@ -301,6 +367,11 @@ export declare const POLICY_IR_V1_SCHEMA: {
301
367
  };
302
368
  readonly additionalProperties: false;
303
369
  };
370
+ readonly TimeWindowString: {
371
+ readonly type: "string";
372
+ readonly pattern: "^(?:[01]\\d|2[0-3]):[0-5]\\d-(?:[01]\\d|2[0-3]):[0-5]\\d$";
373
+ readonly description: "Simple time window in HH:MM-HH:MM format.";
374
+ };
304
375
  readonly AgentScope: {
305
376
  readonly oneOf: readonly [{
306
377
  readonly type: "array";
@@ -362,9 +433,79 @@ export declare const POLICY_IR_V1_SCHEMA: {
362
433
  };
363
434
  readonly Operator: {
364
435
  readonly type: "string";
365
- readonly enum: readonly ["equals", "not_equals", "contains", "not_contains", "starts_with", "ends_with", "matches", "greater_than", "less_than", "percent_of", "length_greater_than", "in", "not_in", "outside_hours", "within_hours"];
436
+ readonly enum: readonly ["equals", "not_equals", "contains", "not_contains", "starts_with", "ends_with", "matches", "greater_than", "greater_than_or_equal", "less_than", "less_than_or_equal", "percent_of", "length_greater_than", "in", "not_in", "not_exists", "outside_hours", "within_hours"];
366
437
  readonly description: "Comparison operator.";
367
438
  };
439
+ readonly SessionCounterConfig: {
440
+ readonly type: "object";
441
+ readonly required: readonly ["increment"];
442
+ readonly properties: {
443
+ readonly increment: {
444
+ readonly type: "array";
445
+ readonly items: {
446
+ readonly type: "string";
447
+ readonly minLength: 1;
448
+ };
449
+ };
450
+ readonly decrement: {
451
+ readonly type: "array";
452
+ readonly items: {
453
+ readonly type: "string";
454
+ readonly minLength: 1;
455
+ };
456
+ };
457
+ readonly max: {
458
+ readonly type: "number";
459
+ };
460
+ readonly maxAction: {
461
+ readonly type: "string";
462
+ readonly enum: readonly ["deny", "require_approval"];
463
+ };
464
+ };
465
+ readonly additionalProperties: false;
466
+ };
467
+ readonly CumulativeLimit: {
468
+ readonly type: "object";
469
+ readonly required: readonly ["argumentName", "maxValue"];
470
+ readonly properties: {
471
+ readonly argumentName: {
472
+ readonly type: "string";
473
+ readonly minLength: 1;
474
+ };
475
+ readonly maxValue: {
476
+ readonly type: "number";
477
+ };
478
+ };
479
+ readonly additionalProperties: false;
480
+ };
481
+ readonly SessionConstraints: {
482
+ readonly type: "object";
483
+ readonly properties: {
484
+ readonly maxCalls: {
485
+ readonly type: "number";
486
+ };
487
+ readonly budget: {
488
+ readonly type: "number";
489
+ };
490
+ readonly spendArgument: {
491
+ readonly type: "string";
492
+ readonly minLength: 1;
493
+ };
494
+ readonly cumulativeLimits: {
495
+ readonly type: "array";
496
+ readonly items: {
497
+ readonly $ref: "#/$defs/CumulativeLimit";
498
+ };
499
+ };
500
+ readonly counters: {
501
+ readonly type: "object";
502
+ readonly additionalProperties: {
503
+ readonly $ref: "#/$defs/SessionCounterConfig";
504
+ };
505
+ };
506
+ };
507
+ readonly additionalProperties: false;
508
+ };
368
509
  readonly Severity: {
369
510
  readonly type: "string";
370
511
  readonly enum: readonly ["critical", "high", "medium", "low", "info"];
@@ -373,7 +514,7 @@ export declare const POLICY_IR_V1_SCHEMA: {
373
514
  };
374
515
  readonly Action: {
375
516
  readonly type: "string";
376
- readonly enum: readonly ["block", "warn", "log", "allow", "require_approval"];
517
+ readonly enum: readonly ["block", "warn", "log", "allow", "require_approval", "require_payment"];
377
518
  readonly description: "Action to take when the rule matches.";
378
519
  };
379
520
  readonly OutputAction: {
@@ -1 +1 @@
1
- {"version":3,"file":"policy-ir-schema.d.ts","sourceRoot":"","sources":["../../src/rules/policy-ir-schema.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,mBAAmB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAsdtB,CAAC"}
1
+ {"version":3,"file":"policy-ir-schema.d.ts","sourceRoot":"","sources":["../../src/rules/policy-ir-schema.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,mBAAmB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA6kBtB,CAAC"}
@@ -10,6 +10,7 @@ export const POLICY_IR_V1_SCHEMA = {
10
10
  { required: ['output_rules'] },
11
11
  { required: ['extends'] },
12
12
  { required: ['economic'] },
13
+ { required: ['sessionConstraints'] },
13
14
  ],
14
15
  properties: {
15
16
  version: {
@@ -46,6 +47,9 @@ export const POLICY_IR_V1_SCHEMA = {
46
47
  economic: {
47
48
  $ref: '#/$defs/EconomicPolicy',
48
49
  },
50
+ sessionConstraints: {
51
+ $ref: '#/$defs/SessionConstraints',
52
+ },
49
53
  },
50
54
  additionalProperties: false,
51
55
  $defs: {
@@ -67,6 +71,10 @@ export const POLICY_IR_V1_SCHEMA = {
67
71
  type: 'string',
68
72
  description: 'Detailed description of what this rule does.',
69
73
  },
74
+ message: {
75
+ type: 'string',
76
+ description: 'Optional user-facing message for approvals, warnings, or denials.',
77
+ },
70
78
  enabled: {
71
79
  type: 'boolean',
72
80
  default: true,
@@ -119,6 +127,32 @@ export const POLICY_IR_V1_SCHEMA = {
119
127
  additionalProperties: true,
120
128
  description: 'Arbitrary key-value metadata attached to this rule.',
121
129
  },
130
+ rate_limits: {
131
+ type: 'array',
132
+ items: {
133
+ type: 'object',
134
+ required: ['scope', 'max_calls', 'window_seconds'],
135
+ properties: {
136
+ scope: { type: 'string', enum: ['agent', 'user', 'session', 'global'] },
137
+ max_calls: { type: 'number' },
138
+ window_seconds: { type: 'number' },
139
+ },
140
+ additionalProperties: false,
141
+ },
142
+ description: 'Sliding-window rate limits evaluated after conditions pass.',
143
+ },
144
+ payment: {
145
+ type: 'object',
146
+ required: ['protocol', 'amount', 'currency'],
147
+ properties: {
148
+ protocol: { type: 'string', enum: ['x402', 'mpp', 'ap2'] },
149
+ amount: { type: 'number' },
150
+ currency: { type: 'string' },
151
+ chain_id: { type: 'number' },
152
+ },
153
+ additionalProperties: false,
154
+ description: 'Payment gate configuration for require_payment action.',
155
+ },
122
156
  },
123
157
  additionalProperties: false,
124
158
  },
@@ -188,7 +222,7 @@ export const POLICY_IR_V1_SCHEMA = {
188
222
  },
189
223
  Condition: {
190
224
  type: 'object',
191
- required: ['field', 'operator', 'value'],
225
+ required: ['field', 'operator'],
192
226
  properties: {
193
227
  field: {
194
228
  type: 'string',
@@ -208,6 +242,18 @@ export const POLICY_IR_V1_SCHEMA = {
208
242
  },
209
243
  },
210
244
  allOf: [
245
+ {
246
+ if: {
247
+ properties: {
248
+ operator: {
249
+ const: 'not_exists',
250
+ },
251
+ },
252
+ },
253
+ else: {
254
+ required: ['value'],
255
+ },
256
+ },
211
257
  {
212
258
  if: {
213
259
  properties: {
@@ -218,7 +264,12 @@ export const POLICY_IR_V1_SCHEMA = {
218
264
  },
219
265
  then: {
220
266
  properties: {
221
- value: { $ref: '#/$defs/TimeWindowValue' },
267
+ value: {
268
+ anyOf: [
269
+ { $ref: '#/$defs/TimeWindowValue' },
270
+ { $ref: '#/$defs/TimeWindowString' },
271
+ ],
272
+ },
222
273
  },
223
274
  },
224
275
  },
@@ -273,6 +324,11 @@ export const POLICY_IR_V1_SCHEMA = {
273
324
  },
274
325
  additionalProperties: false,
275
326
  },
327
+ TimeWindowString: {
328
+ type: 'string',
329
+ pattern: '^(?:[01]\\d|2[0-3]):[0-5]\\d-(?:[01]\\d|2[0-3]):[0-5]\\d$',
330
+ description: 'Simple time window in HH:MM-HH:MM format.',
331
+ },
276
332
  AgentScope: {
277
333
  oneOf: [
278
334
  {
@@ -336,16 +392,79 @@ export const POLICY_IR_V1_SCHEMA = {
336
392
  'ends_with',
337
393
  'matches',
338
394
  'greater_than',
395
+ 'greater_than_or_equal',
339
396
  'less_than',
397
+ 'less_than_or_equal',
340
398
  'percent_of',
341
399
  'length_greater_than',
342
400
  'in',
343
401
  'not_in',
402
+ 'not_exists',
344
403
  'outside_hours',
345
404
  'within_hours',
346
405
  ],
347
406
  description: 'Comparison operator.',
348
407
  },
408
+ SessionCounterConfig: {
409
+ type: 'object',
410
+ required: ['increment'],
411
+ properties: {
412
+ increment: {
413
+ type: 'array',
414
+ items: { type: 'string', minLength: 1 },
415
+ },
416
+ decrement: {
417
+ type: 'array',
418
+ items: { type: 'string', minLength: 1 },
419
+ },
420
+ max: {
421
+ type: 'number',
422
+ },
423
+ maxAction: {
424
+ type: 'string',
425
+ enum: ['deny', 'require_approval'],
426
+ },
427
+ },
428
+ additionalProperties: false,
429
+ },
430
+ CumulativeLimit: {
431
+ type: 'object',
432
+ required: ['argumentName', 'maxValue'],
433
+ properties: {
434
+ argumentName: {
435
+ type: 'string',
436
+ minLength: 1,
437
+ },
438
+ maxValue: {
439
+ type: 'number',
440
+ },
441
+ },
442
+ additionalProperties: false,
443
+ },
444
+ SessionConstraints: {
445
+ type: 'object',
446
+ properties: {
447
+ maxCalls: {
448
+ type: 'number',
449
+ },
450
+ budget: {
451
+ type: 'number',
452
+ },
453
+ spendArgument: {
454
+ type: 'string',
455
+ minLength: 1,
456
+ },
457
+ cumulativeLimits: {
458
+ type: 'array',
459
+ items: { $ref: '#/$defs/CumulativeLimit' },
460
+ },
461
+ counters: {
462
+ type: 'object',
463
+ additionalProperties: { $ref: '#/$defs/SessionCounterConfig' },
464
+ },
465
+ },
466
+ additionalProperties: false,
467
+ },
349
468
  Severity: {
350
469
  type: 'string',
351
470
  enum: ['critical', 'high', 'medium', 'low', 'info'],
@@ -354,7 +473,7 @@ export const POLICY_IR_V1_SCHEMA = {
354
473
  },
355
474
  Action: {
356
475
  type: 'string',
357
- enum: ['block', 'warn', 'log', 'allow', 'require_approval'],
476
+ enum: ['block', 'warn', 'log', 'allow', 'require_approval', 'require_payment'],
358
477
  description: 'Action to take when the rule matches.',
359
478
  },
360
479
  OutputAction: {
@@ -1 +1 @@
1
- {"version":3,"file":"policy-ir-schema.js","sourceRoot":"","sources":["../../src/rules/policy-ir-schema.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"policy-ir-schema.js","sourceRoot":"","sources":["../../src/rules/policy-ir-schema.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"policy-packs.d.ts","sourceRoot":"","sources":["../../src/rules/policy-packs.ts"],"names":[],"mappings":"AAkBA,KAAK,cAAc,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;AAE9C,wBAAgB,yBAAyB,IAAI,MAAM,EAAE,CAEpD;AAED,wBAAgB,uBAAuB,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,CAMhE;AAED,wBAAgB,4BAA4B,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,CAoBrE;AA+CD,wBAAgB,mBAAmB,CACjC,UAAU,EAAE,cAAc,EAC1B,UAAU,EAAE,cAAc,GACzB,cAAc,CAqBhB;AAED,wBAAgB,wBAAwB,CACtC,UAAU,EAAE,cAAc,EAC1B,MAAM,EAAE,MAAM,EACd,UAAU,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,OAAO,GACxC,cAAc,CAyBhB"}
1
+ {"version":3,"file":"policy-packs.d.ts","sourceRoot":"","sources":["../../src/rules/policy-packs.ts"],"names":[],"mappings":"AAmBA,KAAK,cAAc,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;AAE9C,wBAAgB,yBAAyB,IAAI,MAAM,EAAE,CAEpD;AAED,wBAAgB,uBAAuB,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,CAMhE;AAED,wBAAgB,4BAA4B,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,CAoBrE;AA+CD,wBAAgB,mBAAmB,CACjC,UAAU,EAAE,cAAc,EAC1B,UAAU,EAAE,cAAc,GACzB,cAAc,CAqBhB;AAED,wBAAgB,wBAAwB,CACtC,UAAU,EAAE,cAAc,EAC1B,MAAM,EAAE,MAAM,EACd,UAAU,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,OAAO,GACxC,cAAc,CAyBhB"}
@@ -4,6 +4,7 @@ import { fileURLToPath } from 'node:url';
4
4
  import { parse as parseYaml } from 'yaml';
5
5
  const BUILT_IN_POLICY_PACK_FILE_NAMES = {
6
6
  '@veto/coding-agent': 'coding-agent.yaml',
7
+ '@veto/crypto-trading': 'crypto-trading.yaml',
7
8
  '@veto/financial': 'financial.yaml',
8
9
  '@veto/browser-automation': 'browser-automation.yaml',
9
10
  '@veto/data-access': 'data-access.yaml',
@@ -1 +1 @@
1
- {"version":3,"file":"policy-packs.js","sourceRoot":"","sources":["../../src/rules/policy-packs.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"policy-packs.js","sourceRoot":"","sources":["../../src/rules/policy-packs.ts"],"names":[],"mappings":"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"}
@@ -6,10 +6,14 @@
6
6
  *
7
7
  * @module rules/types
8
8
  */
9
+ import type { SessionConstraints } from '../deterministic/types.js';
10
+ import type { EconomicPolicyConfig } from '../economic/types.js';
11
+ import type { RateLimitEntry } from '../rate-limiting/types.js';
12
+ export type { RateLimitEntry };
9
13
  /**
10
14
  * Condition operators for rule matching.
11
15
  */
12
- export type ConditionOperator = 'equals' | 'not_equals' | 'contains' | 'not_contains' | 'starts_with' | 'ends_with' | 'matches' | 'greater_than' | 'less_than' | 'percent_of' | 'length_greater_than' | 'in' | 'not_in' | 'outside_hours' | 'within_hours';
16
+ export type ConditionOperator = 'equals' | 'not_equals' | 'contains' | 'not_contains' | 'starts_with' | 'ends_with' | 'matches' | 'greater_than' | 'greater_than_or_equal' | 'less_than' | 'less_than_or_equal' | 'percent_of' | 'length_greater_than' | 'in' | 'not_in' | 'not_exists' | 'outside_hours' | 'within_hours';
13
17
  /**
14
18
  * Supported day abbreviations for time-based conditions.
15
19
  */
@@ -64,7 +68,20 @@ export interface RuleSequenceConstraint {
64
68
  /**
65
69
  * Action to take when a rule matches.
66
70
  */
67
- export type RuleAction = 'block' | 'warn' | 'log' | 'allow' | 'require_approval';
71
+ export type RuleAction = 'block' | 'warn' | 'log' | 'allow' | 'require_approval' | 'require_payment';
72
+ /**
73
+ * Payment configuration for the `require_payment` action.
74
+ */
75
+ export interface PaymentConfig {
76
+ /** Payment protocol: x402 (EVM L2), mpp (Stripe), or ap2 (Google) */
77
+ protocol: 'x402' | 'mpp' | 'ap2';
78
+ /** Amount to charge */
79
+ amount: number;
80
+ /** Currency code (e.g. USDC, USD) */
81
+ currency: string;
82
+ /** Chain ID for EVM-based protocols (e.g. 8453 for Base) */
83
+ chain_id?: number;
84
+ }
68
85
  /**
69
86
  * Action to take when an output rule matches.
70
87
  */
@@ -91,6 +108,8 @@ export interface Rule {
91
108
  name: string;
92
109
  /** Detailed description of what the rule does */
93
110
  description?: string;
111
+ /** Optional user-facing message for approvals, warnings, or denials */
112
+ message?: string;
94
113
  /** Whether the rule is enabled */
95
114
  enabled: boolean;
96
115
  /** Severity level */
@@ -113,6 +132,10 @@ export interface Rule {
113
132
  tags?: string[];
114
133
  /** Additional metadata */
115
134
  metadata?: Record<string, unknown>;
135
+ /** Dynamic sliding-window rate limits evaluated after conditions pass. */
136
+ rate_limits?: RateLimitEntry[];
137
+ /** Payment gate configuration for `require_payment` action. */
138
+ payment?: PaymentConfig;
116
139
  }
117
140
  /**
118
141
  * A single output rule definition.
@@ -161,6 +184,10 @@ export interface RuleSet {
161
184
  output_rules?: OutputRule[];
162
185
  /** Global settings for this rule set */
163
186
  settings?: RuleSetSettings;
187
+ /** Economic authorization settings for this rule set */
188
+ economic?: EconomicPolicyConfig;
189
+ /** Session-level constraints for this rule set */
190
+ sessionConstraints?: SessionConstraints;
164
191
  }
165
192
  /**
166
193
  * Global settings for a rule set.
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/rules/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/rules/types.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/rules/types.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AA2RH;;GAEG;AACH,MAAM,UAAU,eAAe,CAC7B,WAAwB,EACxB,QAAgB;IAEhB,MAAM,YAAY,GAAG,WAAW,CAAC,WAAW,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC;IACjE,OAAO,CAAC,GAAG,WAAW,CAAC,WAAW,EAAE,GAAG,YAAY,CAAC,CAAC,MAAM,CACzD,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,OAAO,CACvB,CAAC;AACJ,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,qBAAqB,CACnC,WAAwB,EACxB,QAAgB;IAEhB,MAAM,YAAY,GAAG,WAAW,CAAC,iBAAiB,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC;IACvE,OAAO,CAAC,GAAG,WAAW,CAAC,iBAAiB,EAAE,GAAG,YAAY,CAAC,CAAC,MAAM,CAC/D,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,OAAO,CACvB,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/rules/types.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AA2TH;;GAEG;AACH,MAAM,UAAU,eAAe,CAC7B,WAAwB,EACxB,QAAgB;IAEhB,MAAM,YAAY,GAAG,WAAW,CAAC,WAAW,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC;IACjE,OAAO,CAAC,GAAG,WAAW,CAAC,WAAW,EAAE,GAAG,YAAY,CAAC,CAAC,MAAM,CACzD,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,OAAO,CACvB,CAAC;AACJ,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,qBAAqB,CACnC,WAAwB,EACxB,QAAgB;IAEhB,MAAM,YAAY,GAAG,WAAW,CAAC,iBAAiB,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC;IACvE,OAAO,CAAC,GAAG,WAAW,CAAC,iBAAiB,EAAE,GAAG,YAAY,CAAC,CAAC,MAAM,CAC/D,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,OAAO,CACvB,CAAC;AACJ,CAAC"}
@@ -0,0 +1,21 @@
1
+ /**
2
+ * Policy unit testing framework.
3
+ *
4
+ * Reads YAML fixture files and evaluates each test case against the policy
5
+ * using the deterministic replay engine (no LLM, no network).
6
+ *
7
+ * @module testing/runner
8
+ */
9
+ import type { VetoTestRunResult } from './types.js';
10
+ export interface RunTestsOptions {
11
+ /** Path to fixture YAML files or directory. Defaults to ./veto/tests */
12
+ fixturesPath?: string;
13
+ /** Path to the policy file or directory to test against. Defaults to ./veto */
14
+ policyPath?: string;
15
+ /** When true, report which rule IDs have no test coverage */
16
+ coverage?: boolean;
17
+ /** Suppress console output */
18
+ quiet?: boolean;
19
+ }
20
+ export declare function runTests(options?: RunTestsOptions): Promise<VetoTestRunResult>;
21
+ //# sourceMappingURL=runner.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"runner.d.ts","sourceRoot":"","sources":["../../src/testing/runner.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAYH,OAAO,KAAK,EAGX,iBAAiB,EAEjB,MAAM,YAAY,CAAC;AAsHpB,MAAM,WAAW,eAAe;IAC/B,wEAAwE;IACxE,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,+EAA+E;IAC/E,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,6DAA6D;IAC7D,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,8BAA8B;IAC9B,KAAK,CAAC,EAAE,OAAO,CAAC;CAChB;AAMD,wBAAsB,QAAQ,CAAC,OAAO,GAAE,eAAoB,GAAG,OAAO,CAAC,iBAAiB,CAAC,CAqHxF"}