veto-sdk 1.11.0 → 1.13.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 (61) hide show
  1. package/README.md +72 -5
  2. package/dist/browser/index.d.ts.map +1 -1
  3. package/dist/browser/index.js +2 -1
  4. package/dist/browser/index.js.map +1 -1
  5. package/dist/browser/protect.d.ts.map +1 -1
  6. package/dist/browser/protect.js +3 -10
  7. package/dist/browser/protect.js.map +1 -1
  8. package/dist/browser/types.d.ts +3 -1
  9. package/dist/browser/types.d.ts.map +1 -1
  10. package/dist/browser/veto.d.ts +1 -0
  11. package/dist/browser/veto.d.ts.map +1 -1
  12. package/dist/browser/veto.js +50 -5
  13. package/dist/browser/veto.js.map +1 -1
  14. package/dist/cli/bin.js +91 -7
  15. package/dist/cli/bin.js.map +1 -1
  16. package/dist/cli/diff.d.ts +120 -0
  17. package/dist/cli/diff.d.ts.map +1 -0
  18. package/dist/cli/diff.js +950 -0
  19. package/dist/cli/diff.js.map +1 -0
  20. package/dist/cli/index.d.ts +5 -0
  21. package/dist/cli/index.d.ts.map +1 -1
  22. package/dist/cli/index.js +5 -0
  23. package/dist/cli/index.js.map +1 -1
  24. package/dist/cli/repl-context.d.ts +34 -0
  25. package/dist/cli/repl-context.d.ts.map +1 -0
  26. package/dist/cli/repl-context.js +366 -0
  27. package/dist/cli/repl-context.js.map +1 -0
  28. package/dist/cli/repl-generate.d.ts +84 -0
  29. package/dist/cli/repl-generate.d.ts.map +1 -0
  30. package/dist/cli/repl-generate.js +907 -0
  31. package/dist/cli/repl-generate.js.map +1 -0
  32. package/dist/cli/repl.d.ts +39 -0
  33. package/dist/cli/repl.d.ts.map +1 -0
  34. package/dist/cli/repl.js +1060 -0
  35. package/dist/cli/repl.js.map +1 -0
  36. package/dist/cli/scan.d.ts +60 -0
  37. package/dist/cli/scan.d.ts.map +1 -0
  38. package/dist/cli/scan.js +644 -0
  39. package/dist/cli/scan.js.map +1 -0
  40. package/dist/core/events.d.ts +1 -0
  41. package/dist/core/events.d.ts.map +1 -1
  42. package/dist/core/events.js +6 -1
  43. package/dist/core/events.js.map +1 -1
  44. package/dist/core/interceptor.d.ts.map +1 -1
  45. package/dist/core/interceptor.js +14 -3
  46. package/dist/core/interceptor.js.map +1 -1
  47. package/dist/core/protect.d.ts +1 -1
  48. package/dist/core/protect.d.ts.map +1 -1
  49. package/dist/core/protect.js +6 -129
  50. package/dist/core/protect.js.map +1 -1
  51. package/dist/core/tool-pack-heuristics.d.ts +3 -0
  52. package/dist/core/tool-pack-heuristics.d.ts.map +1 -0
  53. package/dist/core/tool-pack-heuristics.js +124 -0
  54. package/dist/core/tool-pack-heuristics.js.map +1 -0
  55. package/dist/core/veto.d.ts +12 -2
  56. package/dist/core/veto.d.ts.map +1 -1
  57. package/dist/core/veto.js +168 -13
  58. package/dist/core/veto.js.map +1 -1
  59. package/dist/integrations/openai-agents/index.js +2 -2
  60. package/dist/integrations/openai-agents/index.js.map +1 -1
  61. package/package.json +1 -1
package/README.md CHANGED
@@ -108,7 +108,6 @@ logging:
108
108
  rules:
109
109
  directory: "./rules"
110
110
  recursive: true
111
-
112
111
  # Local approval callback (for action: require_approval)
113
112
  # approval:
114
113
  # callbackUrl: "http://localhost:8787/approvals"
@@ -176,10 +175,78 @@ const csvAudit = veto.exportDecisions("csv");
176
175
 
177
176
  ## CLI Commands
178
177
 
179
- | Command | Description |
180
- | ------------------ | ------------------------------------ |
181
- | `npx veto init` | Initialize Veto in current directory |
182
- | `npx veto version` | Show version |
178
+ | Command | Description |
179
+ | ------------------ | ----------------------------------------------------- |
180
+ | `npx veto` | Start interactive policy REPL |
181
+ | `npx veto --repl` | Start interactive policy REPL (explicit flag) |
182
+ | `npx veto repl` | Start interactive policy REPL |
183
+ | `npx veto init` | Initialize Veto in current directory |
184
+ | `npx veto learn` | Observe tool calls and generate starter policies |
185
+ | `npx veto compile` | Compile natural-language policy text into YAML |
186
+ | `npx veto test` | Run adversarial policy gap analysis |
187
+ | `npx veto scan` | Audit discovered tools vs loaded rule coverage |
188
+ | `npx veto diff` | Diff policy snapshots and replay deterministic impact |
189
+ | `npx veto version` | Show version |
190
+
191
+ Interactive REPL examples:
192
+
193
+ ```bash
194
+ # Start interactive policy shell
195
+ npx veto
196
+
197
+ # Start interactive policy shell (explicit flag)
198
+ npx veto --repl
199
+
200
+ # Test a call locally (no network)
201
+ /test transfer_funds({"amount": 50000})
202
+
203
+ # Ask a what-if question in plain language
204
+ what would happen if my agent tried to transfer $50,000?
205
+
206
+ # Explain a rule
207
+ /explain fin-block-high-transfers
208
+
209
+ # Run scenario suite
210
+ test my agent against current rules
211
+
212
+ # Export merged rules
213
+ /export
214
+
215
+ # Save generated YAML to a custom file during prompt flow
216
+ # Save to ./veto/rules/transfer-funds-block-25000.yaml? [Y/n/edit/path]
217
+ ```
218
+
219
+ Coverage audit examples:
220
+
221
+ ```bash
222
+ # Human-readable coverage report
223
+ npx veto scan
224
+
225
+ # CI gate: fail when uncovered tools are found
226
+ npx veto scan --fail-uncovered
227
+
228
+ # Include inline YAML snippets for uncovered tools
229
+ npx veto scan --suggest
230
+
231
+ # Machine-readable output for CI pipelines
232
+ npx veto scan --format json
233
+ ```
234
+
235
+ Policy diff examples:
236
+
237
+ ```bash
238
+ # Compare working rule file against HEAD (git snapshot)
239
+ npx veto diff financial.yaml
240
+
241
+ # Compare two explicit snapshots (file or directory mode)
242
+ npx veto diff --old ./rules-v1 --new ./rules-v2
243
+
244
+ # Include deterministic replay impact from historical calls
245
+ npx veto diff financial.yaml --log calls.jsonl
246
+
247
+ # Machine-readable structural + impact report
248
+ npx veto diff --old ./rules-v1 --new ./rules-v2 --log calls.jsonl --format json
249
+ ```
183
250
 
184
251
  ## General Rule YAML Format
185
252
 
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/browser/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAGjC,OAAO,EACL,OAAO,EACP,KAAK,cAAc,EACnB,KAAK,WAAW,GACjB,MAAM,cAAc,CAAC;AAEtB,OAAO,EAAE,IAAI,EAAE,CAAC;AAChB,YAAY,EACV,kBAAkB,EAClB,WAAW,EACX,YAAY,GACb,MAAM,YAAY,CAAC;AACpB,YAAY,EACV,IAAI,EACJ,UAAU,EACV,aAAa,EACb,YAAY,EACZ,UAAU,GACX,MAAM,mBAAmB,CAAC;AAC3B,YAAY,EAAE,sBAAsB,EAAE,MAAM,6BAA6B,CAAC;AAC1E,OAAO,EAAE,mBAAmB,EAAE,MAAM,wBAAwB,CAAC;AAC7D,OAAO,EAAE,eAAe,EAAE,MAAM,6BAA6B,CAAC;AAC9D,OAAO,EAAE,qBAAqB,EAAE,MAAM,+BAA+B,CAAC;AACtE,OAAO,EAAE,4BAA4B,EAAE,MAAM,iCAAiC,CAAC;AAoB/E,wBAAgB,UAAU,CAAC,CAAC,EAC1B,IAAI,EAAE,IAAI,EACV,QAAQ,EAAE,MAAM,EAChB,OAAO,EAAE,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,GACzD,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,OAAO,CAAC,CAAC,CAAC,CAQ/C;AAED,wBAAgB,WAAW,CACzB,IAAI,EAAE,IAAI,EACV,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,OAAO,CAAC,GAClE,MAAM,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,OAAO,CAAC,OAAO,CAAC,CAAC,CAYrE"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/browser/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAGjC,OAAO,EACL,OAAO,EACP,KAAK,cAAc,EACnB,KAAK,WAAW,GACjB,MAAM,cAAc,CAAC;AAEtB,OAAO,EAAE,IAAI,EAAE,CAAC;AAChB,YAAY,EACV,kBAAkB,EAClB,WAAW,EACX,YAAY,GACb,MAAM,YAAY,CAAC;AACpB,YAAY,EACV,IAAI,EACJ,UAAU,EACV,aAAa,EACb,YAAY,EACZ,UAAU,GACX,MAAM,mBAAmB,CAAC;AAC3B,YAAY,EAAE,sBAAsB,EAAE,MAAM,6BAA6B,CAAC;AAC1E,OAAO,EAAE,mBAAmB,EAAE,MAAM,wBAAwB,CAAC;AAC7D,OAAO,EAAE,eAAe,EAAE,MAAM,6BAA6B,CAAC;AAC9D,OAAO,EAAE,qBAAqB,EAAE,MAAM,+BAA+B,CAAC;AACtE,OAAO,EAAE,4BAA4B,EAAE,MAAM,iCAAiC,CAAC;AAoB/E,wBAAgB,UAAU,CAAC,CAAC,EAC1B,IAAI,EAAE,IAAI,EACV,QAAQ,EAAE,MAAM,EAChB,OAAO,EAAE,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,GACzD,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,OAAO,CAAC,CAAC,CAAC,CAW/C;AAED,wBAAgB,WAAW,CACzB,IAAI,EAAE,IAAI,EACV,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,OAAO,CAAC,GAClE,MAAM,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,OAAO,CAAC,OAAO,CAAC,CAAC,CAYrE"}
@@ -23,7 +23,8 @@ function toDeniedValidationResult(result) {
23
23
  export function wrapAction(veto, toolName, handler) {
24
24
  return async (args) => {
25
25
  const result = await veto.guard(toolName, args);
26
- if (result.decision === 'deny' || result.decision === 'require_approval') {
26
+ if ((result.decision === 'deny' || result.decision === 'require_approval')
27
+ && result.shadow !== true) {
27
28
  throw new ToolCallDeniedError(toolName, 'guard', toDeniedValidationResult(result));
28
29
  }
29
30
  return await handler(args);
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/browser/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,EAAE,mBAAmB,EAAE,MAAM,wBAAwB,CAAC;AAE7D,OAAO,EACL,OAAO,GAGR,MAAM,cAAc,CAAC;AAEtB,OAAO,EAAE,IAAI,EAAE,CAAC;AAchB,OAAO,EAAE,mBAAmB,EAAE,MAAM,wBAAwB,CAAC;AAC7D,OAAO,EAAE,eAAe,EAAE,MAAM,6BAA6B,CAAC;AAC9D,OAAO,EAAE,qBAAqB,EAAE,MAAM,+BAA+B,CAAC;AACtE,OAAO,EAAE,4BAA4B,EAAE,MAAM,iCAAiC,CAAC;AAE/E,SAAS,wBAAwB,CAC/B,MAA0C;IAE1C,MAAM,QAAQ,GAAiC,MAAM,CAAC,QAAQ,KAAK,kBAAkB;QACnF,CAAC,CAAC,kBAAkB;QACpB,CAAC,CAAC,MAAM,CAAC;IAEX,OAAO;QACL,QAAQ;QACR,MAAM,EAAE,MAAM,CAAC,MAAM;QACrB,QAAQ,EAAE;YACR,MAAM,EAAE,MAAM,CAAC,MAAM;YACrB,QAAQ,EAAE,MAAM,CAAC,QAAQ;YACzB,UAAU,EAAE,MAAM,CAAC,UAAU;SAC9B;KACF,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,UAAU,CACxB,IAAU,EACV,QAAgB,EAChB,OAA0D;IAE1D,OAAO,KAAK,EAAE,IAAI,EAAE,EAAE;QACpB,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;QAChD,IAAI,MAAM,CAAC,QAAQ,KAAK,MAAM,IAAI,MAAM,CAAC,QAAQ,KAAK,kBAAkB,EAAE,CAAC;YACzE,MAAM,IAAI,mBAAmB,CAAC,QAAQ,EAAE,OAAO,EAAE,wBAAwB,CAAC,MAAM,CAAC,CAAC,CAAC;QACrF,CAAC;QACD,OAAO,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;IAC7B,CAAC,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,WAAW,CACzB,IAAU,EACV,OAAmE;IAEnE,MAAM,OAAO,GAAwE,EAAE,CAAC;IAExF,KAAK,MAAM,CAAC,IAAI,EAAE,OAAO,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC;QACtD,OAAO,CAAC,IAAI,CAAC,GAAG,UAAU,CACxB,IAAI,EACJ,IAAI,EACJ,KAAK,EAAE,IAAI,EAAE,EAAE,CAAC,MAAM,OAAO,CAAC,IAAI,CAAC,CACpC,CAAC;IACJ,CAAC;IAED,OAAO,OAAO,CAAC;AACjB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/browser/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,EAAE,mBAAmB,EAAE,MAAM,wBAAwB,CAAC;AAE7D,OAAO,EACL,OAAO,GAGR,MAAM,cAAc,CAAC;AAEtB,OAAO,EAAE,IAAI,EAAE,CAAC;AAchB,OAAO,EAAE,mBAAmB,EAAE,MAAM,wBAAwB,CAAC;AAC7D,OAAO,EAAE,eAAe,EAAE,MAAM,6BAA6B,CAAC;AAC9D,OAAO,EAAE,qBAAqB,EAAE,MAAM,+BAA+B,CAAC;AACtE,OAAO,EAAE,4BAA4B,EAAE,MAAM,iCAAiC,CAAC;AAE/E,SAAS,wBAAwB,CAC/B,MAA0C;IAE1C,MAAM,QAAQ,GAAiC,MAAM,CAAC,QAAQ,KAAK,kBAAkB;QACnF,CAAC,CAAC,kBAAkB;QACpB,CAAC,CAAC,MAAM,CAAC;IAEX,OAAO;QACL,QAAQ;QACR,MAAM,EAAE,MAAM,CAAC,MAAM;QACrB,QAAQ,EAAE;YACR,MAAM,EAAE,MAAM,CAAC,MAAM;YACrB,QAAQ,EAAE,MAAM,CAAC,QAAQ;YACzB,UAAU,EAAE,MAAM,CAAC,UAAU;SAC9B;KACF,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,UAAU,CACxB,IAAU,EACV,QAAgB,EAChB,OAA0D;IAE1D,OAAO,KAAK,EAAE,IAAI,EAAE,EAAE;QACpB,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;QAChD,IACE,CAAC,MAAM,CAAC,QAAQ,KAAK,MAAM,IAAI,MAAM,CAAC,QAAQ,KAAK,kBAAkB,CAAC;eACnE,MAAM,CAAC,MAAM,KAAK,IAAI,EACzB,CAAC;YACD,MAAM,IAAI,mBAAmB,CAAC,QAAQ,EAAE,OAAO,EAAE,wBAAwB,CAAC,MAAM,CAAC,CAAC,CAAC;QACrF,CAAC;QACD,OAAO,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;IAC7B,CAAC,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,WAAW,CACzB,IAAU,EACV,OAAmE;IAEnE,MAAM,OAAO,GAAwE,EAAE,CAAC;IAExF,KAAK,MAAM,CAAC,IAAI,EAAE,OAAO,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC;QACtD,OAAO,CAAC,IAAI,CAAC,GAAG,UAAU,CACxB,IAAI,EACJ,IAAI,EACJ,KAAK,EAAE,IAAI,EAAE,EAAE,CAAC,MAAM,OAAO,CAAC,IAAI,CAAC,CACpC,CAAC;IACJ,CAAC;IAED,OAAO,OAAO,CAAC;AACjB,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"protect.d.ts","sourceRoot":"","sources":["../../src/browser/protect.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAe,cAAc,EAAE,MAAM,oBAAoB,CAAC;AAEtE,YAAY,EAAE,WAAW,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AAmMtE,wBAAsB,OAAO,CAAC,CAAC,SAAS;IAAE,IAAI,EAAE,MAAM,CAAA;CAAE,EACtD,KAAK,EAAE,CAAC,EAAE,EACV,OAAO,CAAC,EAAE,cAAc,GACvB,OAAO,CAAC,CAAC,EAAE,CAAC,CAAC;AAChB,wBAAsB,OAAO,CAAC,CAAC,SAAS;IAAE,IAAI,EAAE,MAAM,CAAA;CAAE,EACtD,IAAI,EAAE,CAAC,EACP,OAAO,CAAC,EAAE,cAAc,GACvB,OAAO,CAAC,CAAC,CAAC,CAAC;AAwBd,wBAAgB,2BAA2B,IAAI,IAAI,CAGlD"}
1
+ {"version":3,"file":"protect.d.ts","sourceRoot":"","sources":["../../src/browser/protect.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AACzD,YAAY,EAAE,WAAW,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AA0LtE,wBAAsB,OAAO,CAAC,CAAC,SAAS;IAAE,IAAI,EAAE,MAAM,CAAA;CAAE,EACtD,KAAK,EAAE,CAAC,EAAE,EACV,OAAO,CAAC,EAAE,cAAc,GACvB,OAAO,CAAC,CAAC,EAAE,CAAC,CAAC;AAChB,wBAAsB,OAAO,CAAC,CAAC,SAAS;IAAE,IAAI,EAAE,MAAM,CAAA;CAAE,EACtD,IAAI,EAAE,CAAC,EACP,OAAO,CAAC,EAAE,cAAc,GACvB,OAAO,CAAC,CAAC,CAAC,CAAC;AAwBd,wBAAgB,2BAA2B,IAAI,IAAI,CAGlD"}
@@ -31,13 +31,6 @@ function stableSerialize(value) {
31
31
  .map(([key, item]) => `${JSON.stringify(key)}:${stableSerialize(item)}`);
32
32
  return `{${entries.join(',')}}`;
33
33
  }
34
- function normalizeProtectMode(mode) {
35
- if (mode === 'shadow') {
36
- // TODO: PLW-94 true shadow mode behavior.
37
- return 'log';
38
- }
39
- return mode;
40
- }
41
34
  function toToolsArray(input) {
42
35
  return Array.isArray(input) ? input : [input];
43
36
  }
@@ -84,7 +77,7 @@ function createCacheKey(options, decision) {
84
77
  pack: options.pack,
85
78
  apiKey: options.apiKey,
86
79
  endpoint: options.endpoint,
87
- mode: normalizeProtectMode(options.mode),
80
+ mode: options.mode,
88
81
  logLevel: options.logLevel,
89
82
  sessionId: options.sessionId,
90
83
  agentId: options.agentId,
@@ -101,7 +94,7 @@ function createAllowAllInstance(options) {
101
94
  return Veto.fromRules({
102
95
  rules: [],
103
96
  outputRules: [],
104
- mode: normalizeProtectMode(options.mode),
97
+ mode: options.mode,
105
98
  logLevel: options.logLevel,
106
99
  sessionId: options.sessionId,
107
100
  agentId: options.agentId,
@@ -133,7 +126,7 @@ async function initializeVeto(tools, options) {
133
126
  instance = Veto.fromRules({
134
127
  rules: decision.rules,
135
128
  outputRules: decision.outputRules,
136
- mode: normalizeProtectMode(options.mode),
129
+ mode: options.mode,
137
130
  logLevel: options.logLevel,
138
131
  sessionId: options.sessionId,
139
132
  agentId: options.agentId,
@@ -1 +1 @@
1
- {"version":3,"file":"protect.js","sourceRoot":"","sources":["../../src/browser/protect.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"protect.js","sourceRoot":"","sources":["../../src/browser/protect.ts"],"names":[],"mappings":"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"}
@@ -1,7 +1,7 @@
1
1
  import type { LogLevel, NamedValidator, ValidationContext, Validator } from '../types/config.js';
2
2
  import type { OutputRule, Rule, RuleSeverity } from '../rules/types.js';
3
3
  import type { BudgetConfig, ToolCostMap } from '../core/budget.js';
4
- export type VetoMode = 'strict' | 'log';
4
+ export type VetoMode = 'strict' | 'log' | 'shadow';
5
5
  export interface GuardContext {
6
6
  sessionId?: string;
7
7
  agentId?: string;
@@ -14,6 +14,8 @@ export interface GuardResult {
14
14
  ruleId?: string;
15
15
  severity?: RuleSeverity;
16
16
  approvalId?: string;
17
+ shadow?: boolean;
18
+ shadowDecision?: string;
17
19
  }
18
20
  export interface BrowserCloudPoliciesResponse {
19
21
  policies: Rule[];
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/browser/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,QAAQ,EACR,cAAc,EACd,iBAAiB,EACjB,SAAS,EACV,MAAM,oBAAoB,CAAC;AAC5B,OAAO,KAAK,EAAE,UAAU,EAAE,IAAI,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACxE,OAAO,KAAK,EAAE,YAAY,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAEnE,MAAM,MAAM,QAAQ,GAAG,QAAQ,GAAG,KAAK,CAAC;AAExC,MAAM,WAAW,YAAY;IAC3B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,WAAW;IAC1B,QAAQ,EAAE,OAAO,GAAG,MAAM,GAAG,kBAAkB,CAAC;IAChD,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,EAAE,YAAY,CAAC;IACxB,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,4BAA4B;IAC3C,QAAQ,EAAE,IAAI,EAAE,CAAC;IACjB,WAAW,CAAC,EAAE,UAAU,EAAE,CAAC;CAC5B;AAED,MAAM,WAAW,2BAA2B;IAC1C,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACnC,QAAQ,EAAE,OAAO,GAAG,MAAM,CAAC;IAC3B,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,eAAe,CAAC;IACtB,UAAU,EAAE,MAAM,CAAC;IACnB,MAAM,EAAE,QAAQ,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACnC;AAED,MAAM,WAAW,kBAAkB;IACjC,aAAa,EAAE,MAAM,OAAO,CAAC,4BAA4B,CAAC,CAAC;IAC3D,WAAW,EAAE,CAAC,OAAO,EAAE,2BAA2B,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAC5E,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;CACtB;AAED,MAAM,WAAW,kBAAkB,CAAC,YAAY,GAAG,kBAAkB;IACnE,KAAK,EAAE,IAAI,EAAE,CAAC;IACd,WAAW,CAAC,EAAE,UAAU,EAAE,CAAC;IAC3B,IAAI,CAAC,EAAE,QAAQ,CAAC;IAChB,QAAQ,CAAC,EAAE,QAAQ,CAAC;IACpB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,UAAU,CAAC,EAAE,CAAC,SAAS,GAAG,cAAc,CAAC,EAAE,CAAC;IAC5C,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,WAAW,CAAC,EAAE,YAAY,CAAC;IAC3B,kBAAkB,CAAC,EAAE,CACnB,OAAO,EAAE,iBAAiB,EAC1B,UAAU,EAAE,MAAM,KACf,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAC1B,MAAM,CAAC,EAAE,YAAY,CAAC;IACtB,KAAK,CAAC,EAAE,WAAW,CAAC;CACrB;AAED,MAAM,WAAW,oBAAoB;IACnC,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,iBAAiB,CAAC,EAAE,MAAM,CAAC;CAC5B"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/browser/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,QAAQ,EACR,cAAc,EACd,iBAAiB,EACjB,SAAS,EACV,MAAM,oBAAoB,CAAC;AAC5B,OAAO,KAAK,EAAE,UAAU,EAAE,IAAI,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACxE,OAAO,KAAK,EAAE,YAAY,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAEnE,MAAM,MAAM,QAAQ,GAAG,QAAQ,GAAG,KAAK,GAAG,QAAQ,CAAC;AAEnD,MAAM,WAAW,YAAY;IAC3B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,WAAW;IAC1B,QAAQ,EAAE,OAAO,GAAG,MAAM,GAAG,kBAAkB,CAAC;IAChD,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,EAAE,YAAY,CAAC;IACxB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB;AAED,MAAM,WAAW,4BAA4B;IAC3C,QAAQ,EAAE,IAAI,EAAE,CAAC;IACjB,WAAW,CAAC,EAAE,UAAU,EAAE,CAAC;CAC5B;AAED,MAAM,WAAW,2BAA2B;IAC1C,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACnC,QAAQ,EAAE,OAAO,GAAG,MAAM,CAAC;IAC3B,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,eAAe,CAAC;IACtB,UAAU,EAAE,MAAM,CAAC;IACnB,MAAM,EAAE,QAAQ,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACnC;AAED,MAAM,WAAW,kBAAkB;IACjC,aAAa,EAAE,MAAM,OAAO,CAAC,4BAA4B,CAAC,CAAC;IAC3D,WAAW,EAAE,CAAC,OAAO,EAAE,2BAA2B,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAC5E,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;CACtB;AAED,MAAM,WAAW,kBAAkB,CAAC,YAAY,GAAG,kBAAkB;IACnE,KAAK,EAAE,IAAI,EAAE,CAAC;IACd,WAAW,CAAC,EAAE,UAAU,EAAE,CAAC;IAC3B,IAAI,CAAC,EAAE,QAAQ,CAAC;IAChB,QAAQ,CAAC,EAAE,QAAQ,CAAC;IACpB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,UAAU,CAAC,EAAE,CAAC,SAAS,GAAG,cAAc,CAAC,EAAE,CAAC;IAC5C,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,WAAW,CAAC,EAAE,YAAY,CAAC;IAC3B,kBAAkB,CAAC,EAAE,CACnB,OAAO,EAAE,iBAAiB,EAC1B,UAAU,EAAE,MAAM,KACf,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAC1B,MAAM,CAAC,EAAE,YAAY,CAAC;IACtB,KAAK,CAAC,EAAE,WAAW,CAAC;CACrB;AAED,MAAM,WAAW,oBAAoB;IACnC,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,iBAAiB,CAAC,EAAE,MAAM,CAAC;CAC5B"}
@@ -31,6 +31,7 @@ export declare class Veto {
31
31
  private resolveUserId;
32
32
  private resolveRole;
33
33
  private shouldApplyLogOverride;
34
+ private applyShadowOverride;
34
35
  private toRuleMetadata;
35
36
  private normalizeAgentScope;
36
37
  private matchesRuleAgents;
@@ -1 +1 @@
1
- {"version":3,"file":"veto.d.ts","sourceRoot":"","sources":["../../src/browser/veto.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"veto.d.ts","sourceRoot":"","sources":["../../src/browser/veto.ts"],"names":[],"mappings":"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"}
@@ -285,7 +285,29 @@ export class Veto {
285
285
  return context.role ?? this.role;
286
286
  }
287
287
  shouldApplyLogOverride(source) {
288
- return this.mode === 'log' && source !== 'guard';
288
+ return (this.mode === 'log' || this.mode === 'shadow') && source !== 'guard';
289
+ }
290
+ applyShadowOverride(toolName, decision, reason, metadata, ruleId) {
291
+ this.logger.warn(decision === 'deny'
292
+ ? '[shadow] Tool call would be denied'
293
+ : '[shadow] Tool call would require approval', {
294
+ tool: toolName,
295
+ decision,
296
+ reason,
297
+ ruleId,
298
+ shadow: true,
299
+ });
300
+ return {
301
+ decision,
302
+ reason,
303
+ metadata: {
304
+ ...(metadata ?? {}),
305
+ shadow: true,
306
+ shadow_decision: decision,
307
+ shadow_reason: reason,
308
+ shadow_rule_id: ruleId,
309
+ },
310
+ };
289
311
  }
290
312
  toRuleMetadata(rule) {
291
313
  return {
@@ -358,6 +380,9 @@ export class Veto {
358
380
  const metadata = this.toRuleMetadata(rule);
359
381
  if (rule.action === 'require_approval') {
360
382
  if (this.shouldApplyLogOverride(source)) {
383
+ if (this.mode === 'shadow') {
384
+ return this.applyShadowOverride(toolName, 'require_approval', reason, metadata, rule.id);
385
+ }
361
386
  return {
362
387
  decision: 'allow',
363
388
  reason: `[LOG MODE] Would require approval: ${reason}`,
@@ -382,6 +407,9 @@ export class Veto {
382
407
  }
383
408
  if (rule.action === 'block') {
384
409
  if (this.shouldApplyLogOverride(source)) {
410
+ if (this.mode === 'shadow') {
411
+ return this.applyShadowOverride(toolName, 'deny', reason, metadata, rule.id);
412
+ }
385
413
  return {
386
414
  decision: 'allow',
387
415
  reason: `[LOG MODE] Would block: ${reason}`,
@@ -448,15 +476,29 @@ export class Veto {
448
476
  ruleId,
449
477
  severity,
450
478
  approvalId,
479
+ shadow: this.mode === 'shadow' ? true : undefined,
480
+ shadowDecision: (this.mode === 'shadow'
481
+ && (result.decision === 'deny' || result.decision === 'require_approval'))
482
+ ? result.decision
483
+ : undefined,
451
484
  };
452
485
  }
453
486
  reportDecision(validationContext, result, durationMs) {
454
487
  if (!this.cloudClient)
455
488
  return;
489
+ const decision = result.decision === 'allow' ? 'allow' : 'deny';
490
+ const shadowContext = this.mode === 'shadow'
491
+ ? {
492
+ shadow: true,
493
+ shadow_decision: typeof result.metadata?.shadow_decision === 'string'
494
+ ? result.metadata.shadow_decision
495
+ : result.decision,
496
+ }
497
+ : {};
456
498
  this.cloudClient.logDecision({
457
499
  tool_name: validationContext.toolName,
458
500
  arguments: validationContext.arguments,
459
- decision: result.decision === 'deny' ? 'deny' : 'allow',
501
+ decision,
460
502
  reason: result.reason,
461
503
  mode: 'deterministic',
462
504
  latency_ms: durationMs,
@@ -468,6 +510,7 @@ export class Veto {
468
510
  agent_id: validationContext.agentId,
469
511
  user_id: validationContext.userId,
470
512
  role: validationContext.role,
513
+ ...shadowContext,
471
514
  },
472
515
  });
473
516
  }
@@ -506,10 +549,12 @@ export class Veto {
506
549
  ruleId: guardResult.ruleId,
507
550
  severity: guardResult.severity,
508
551
  approvalId: guardResult.approvalId,
552
+ shadow: guardResult.shadow === true ? true : undefined,
553
+ shadow_decision: guardResult.shadowDecision,
509
554
  },
510
555
  };
511
556
  return {
512
- allowed: validationResult.decision !== 'deny',
557
+ allowed: validationResult.decision !== 'deny' || guardResult.shadow === true,
513
558
  validationResult,
514
559
  originalCall: call,
515
560
  finalArguments: call.arguments,
@@ -563,7 +608,7 @@ export class Veto {
563
608
  userId: this.userId,
564
609
  role: this.role,
565
610
  });
566
- if (guardResult.decision === 'deny') {
611
+ if (guardResult.decision === 'deny' && guardResult.shadow !== true) {
567
612
  if (reserved > 0)
568
613
  this.budgetTracker?.refund(reserved);
569
614
  throw new ToolCallDeniedError(toolName, callId, {
@@ -575,7 +620,7 @@ export class Veto {
575
620
  },
576
621
  });
577
622
  }
578
- if (guardResult.decision === 'require_approval') {
623
+ if (guardResult.decision === 'require_approval' && guardResult.shadow !== true) {
579
624
  if (reserved > 0)
580
625
  this.budgetTracker?.refund(reserved);
581
626
  await this.denyWithApprovalHook(toolName, guardResult.reason, validationContext, guardResult.approvalId);
@@ -1 +1 @@
1
- {"version":3,"file":"veto.js","sourceRoot":"","sources":["../../src/browser/veto.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"veto.js","sourceRoot":"","sources":["../../src/browser/veto.ts"],"names":[],"mappings":"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"}