veto-sdk 1.17.0 → 2.2.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +69 -203
- package/dist/browser/index.d.ts +1 -1
- package/dist/browser/index.d.ts.map +1 -1
- package/dist/browser/index.js.map +1 -1
- package/dist/browser/types.d.ts +17 -1
- package/dist/browser/types.d.ts.map +1 -1
- package/dist/browser/veto.d.ts +10 -0
- package/dist/browser/veto.d.ts.map +1 -1
- package/dist/browser/veto.js +69 -5
- package/dist/browser/veto.js.map +1 -1
- package/dist/cli/bin.js +0 -0
- package/dist/cli/compile.d.ts +22 -1
- package/dist/cli/compile.d.ts.map +1 -1
- package/dist/cli/compile.js +100 -21
- package/dist/cli/compile.js.map +1 -1
- package/dist/cli/diff.d.ts +2 -25
- package/dist/cli/diff.d.ts.map +1 -1
- package/dist/cli/diff.js +5 -327
- package/dist/cli/diff.js.map +1 -1
- package/dist/cli/headless.js +1 -1
- package/dist/cli/headless.js.map +1 -1
- package/dist/cli/index.d.ts +3 -1
- package/dist/cli/index.d.ts.map +1 -1
- package/dist/cli/index.js +2 -0
- package/dist/cli/index.js.map +1 -1
- package/dist/cli/repl-generate.d.ts.map +1 -1
- package/dist/cli/repl-generate.js +346 -17
- package/dist/cli/repl-generate.js.map +1 -1
- package/dist/cli/replay-engine.d.ts +77 -0
- package/dist/cli/replay-engine.d.ts.map +1 -0
- package/dist/cli/replay-engine.js +379 -0
- package/dist/cli/replay-engine.js.map +1 -0
- package/dist/cli/replay.d.ts +57 -0
- package/dist/cli/replay.d.ts.map +1 -0
- package/dist/cli/replay.js +202 -0
- package/dist/cli/replay.js.map +1 -0
- package/dist/cli/runner.d.ts.map +1 -1
- package/dist/cli/runner.js +20 -0
- package/dist/cli/runner.js.map +1 -1
- package/dist/cli/templates.d.ts +1 -1
- package/dist/cli/templates.d.ts.map +1 -1
- package/dist/cli/templates.js +1 -1
- package/dist/cloud/client.d.ts.map +1 -1
- package/dist/cloud/client.js +6 -1
- package/dist/cloud/client.js.map +1 -1
- package/dist/cloud/types.d.ts +33 -2
- package/dist/cloud/types.d.ts.map +1 -1
- package/dist/core/events.d.ts +11 -1
- package/dist/core/events.d.ts.map +1 -1
- package/dist/core/events.js +4 -0
- package/dist/core/events.js.map +1 -1
- package/dist/core/interceptor.d.ts +20 -1
- package/dist/core/interceptor.d.ts.map +1 -1
- package/dist/core/interceptor.js +47 -3
- package/dist/core/interceptor.js.map +1 -1
- package/dist/core/output-validator.d.ts +11 -0
- package/dist/core/output-validator.d.ts.map +1 -1
- package/dist/core/output-validator.js +88 -15
- package/dist/core/output-validator.js.map +1 -1
- package/dist/core/protect.d.ts +3 -1
- package/dist/core/protect.d.ts.map +1 -1
- package/dist/core/protect.js +14 -4
- package/dist/core/protect.js.map +1 -1
- package/dist/core/veto.d.ts +54 -1
- package/dist/core/veto.d.ts.map +1 -1
- package/dist/core/veto.js +471 -91
- package/dist/core/veto.js.map +1 -1
- package/dist/deterministic/types.d.ts +103 -0
- package/dist/deterministic/types.d.ts.map +1 -1
- package/dist/economic/budget-engine.d.ts +29 -0
- package/dist/economic/budget-engine.d.ts.map +1 -0
- package/dist/economic/budget-engine.js +146 -0
- package/dist/economic/budget-engine.js.map +1 -0
- package/dist/economic/connectors/ap2.d.ts +51 -0
- package/dist/economic/connectors/ap2.d.ts.map +1 -0
- package/dist/economic/connectors/ap2.js +133 -0
- package/dist/economic/connectors/ap2.js.map +1 -0
- package/dist/economic/connectors/index.d.ts +8 -0
- package/dist/economic/connectors/index.d.ts.map +1 -0
- package/dist/economic/connectors/index.js +8 -0
- package/dist/economic/connectors/index.js.map +1 -0
- package/dist/economic/connectors/mpp.d.ts +41 -0
- package/dist/economic/connectors/mpp.d.ts.map +1 -0
- package/dist/economic/connectors/mpp.js +97 -0
- package/dist/economic/connectors/mpp.js.map +1 -0
- package/dist/economic/connectors/x402.d.ts +20 -0
- package/dist/economic/connectors/x402.d.ts.map +1 -0
- package/dist/economic/connectors/x402.js +142 -0
- package/dist/economic/connectors/x402.js.map +1 -0
- package/dist/economic/evaluator.d.ts +77 -0
- package/dist/economic/evaluator.d.ts.map +1 -0
- package/dist/economic/evaluator.js +231 -0
- package/dist/economic/evaluator.js.map +1 -0
- package/dist/economic/index.d.ts +13 -0
- package/dist/economic/index.d.ts.map +1 -0
- package/dist/economic/index.js +15 -0
- package/dist/economic/index.js.map +1 -0
- package/dist/economic/types.d.ts +188 -0
- package/dist/economic/types.d.ts.map +1 -0
- package/dist/economic/types.js +10 -0
- package/dist/economic/types.js.map +1 -0
- package/dist/extractors/content.d.ts +42 -0
- package/dist/extractors/content.d.ts.map +1 -0
- package/dist/extractors/content.js +154 -0
- package/dist/extractors/content.js.map +1 -0
- package/dist/extractors/index.d.ts +7 -0
- package/dist/extractors/index.d.ts.map +1 -0
- package/dist/extractors/index.js +7 -0
- package/dist/extractors/index.js.map +1 -0
- package/dist/index.d.ts +10 -4
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +10 -2
- package/dist/index.js.map +1 -1
- package/dist/policy/generator.d.ts +110 -0
- package/dist/policy/generator.d.ts.map +1 -0
- package/dist/policy/generator.js +463 -0
- package/dist/policy/generator.js.map +1 -0
- package/dist/policy/index.d.ts +7 -0
- package/dist/policy/index.d.ts.map +1 -0
- package/dist/policy/index.js +7 -0
- package/dist/policy/index.js.map +1 -0
- package/dist/providers/adapters.d.ts +27 -0
- package/dist/providers/adapters.d.ts.map +1 -1
- package/dist/providers/adapters.js +58 -0
- package/dist/providers/adapters.js.map +1 -1
- package/dist/rules/condition-evaluator.d.ts +2 -1
- package/dist/rules/condition-evaluator.d.ts.map +1 -1
- package/dist/rules/condition-evaluator.js +97 -7
- package/dist/rules/condition-evaluator.js.map +1 -1
- package/dist/rules/index.d.ts +1 -0
- package/dist/rules/index.d.ts.map +1 -1
- package/dist/rules/index.js +1 -0
- package/dist/rules/index.js.map +1 -1
- package/dist/rules/local-evaluator.d.ts +69 -0
- package/dist/rules/local-evaluator.d.ts.map +1 -0
- package/dist/rules/local-evaluator.js +217 -0
- package/dist/rules/local-evaluator.js.map +1 -0
- package/dist/rules/policy-ir-schema.d.ts +132 -1
- package/dist/rules/policy-ir-schema.d.ts.map +1 -1
- package/dist/rules/policy-ir-schema.js +114 -0
- package/dist/rules/policy-ir-schema.js.map +1 -1
- package/dist/rules/policy-packs.d.ts.map +1 -1
- package/dist/rules/policy-packs.js +1 -0
- package/dist/rules/policy-packs.js.map +1 -1
- package/dist/rules/types.d.ts +3 -1
- package/dist/rules/types.d.ts.map +1 -1
- package/dist/rules/types.js.map +1 -1
- package/dist/types/config.d.ts +2 -1
- package/dist/types/config.d.ts.map +1 -1
- package/dist/types/config.js.map +1 -1
- package/dist/utils/logger.d.ts +38 -2
- package/dist/utils/logger.d.ts.map +1 -1
- package/dist/utils/logger.js +231 -26
- package/dist/utils/logger.js.map +1 -1
- package/package.json +9 -1
- package/packs/economic-agent.yaml +62 -0
package/dist/core/events.js
CHANGED
|
@@ -2,6 +2,10 @@ const VALID_EVENT_TYPES = [
|
|
|
2
2
|
'deny',
|
|
3
3
|
'require_approval',
|
|
4
4
|
'budget_exceeded',
|
|
5
|
+
'budget_warning',
|
|
6
|
+
'approval_triggered',
|
|
7
|
+
'spend_committed',
|
|
8
|
+
'protocol_detected',
|
|
5
9
|
];
|
|
6
10
|
const VALID_FORMATS = ['slack', 'pagerduty', 'generic', 'cef'];
|
|
7
11
|
const VALID_SEVERITIES = ['critical', 'high', 'medium', 'low', 'info'];
|
package/dist/core/events.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"events.js","sourceRoot":"","sources":["../../src/core/events.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"events.js","sourceRoot":"","sources":["../../src/core/events.ts"],"names":[],"mappings":"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"}
|
|
@@ -62,6 +62,18 @@ export interface InterceptionResult {
|
|
|
62
62
|
/** The potentially modified arguments */
|
|
63
63
|
finalArguments: Record<string, unknown>;
|
|
64
64
|
}
|
|
65
|
+
/**
|
|
66
|
+
* Structured denial details from the server.
|
|
67
|
+
*/
|
|
68
|
+
export interface DenialDetails {
|
|
69
|
+
policyId?: string;
|
|
70
|
+
policyName?: string;
|
|
71
|
+
severity?: 'deny' | 'require_approval';
|
|
72
|
+
matchedCondition?: string;
|
|
73
|
+
suggestedFixes?: string[];
|
|
74
|
+
docsUrl?: string;
|
|
75
|
+
input?: Record<string, unknown>;
|
|
76
|
+
}
|
|
65
77
|
/**
|
|
66
78
|
* Error thrown when a tool call is denied.
|
|
67
79
|
*/
|
|
@@ -70,7 +82,14 @@ export declare class ToolCallDeniedError extends Error {
|
|
|
70
82
|
readonly callId: string;
|
|
71
83
|
readonly reason: string;
|
|
72
84
|
readonly validationResult: ValidationResult;
|
|
73
|
-
|
|
85
|
+
readonly policyId?: string;
|
|
86
|
+
readonly policyName?: string;
|
|
87
|
+
readonly severity?: 'deny' | 'require_approval';
|
|
88
|
+
readonly matchedCondition?: string;
|
|
89
|
+
readonly suggestedFixes: string[];
|
|
90
|
+
readonly docsUrl?: string;
|
|
91
|
+
constructor(toolName: string, callId: string, validationResult: ValidationResult, denial?: DenialDetails);
|
|
92
|
+
private static formatMessage;
|
|
74
93
|
}
|
|
75
94
|
/**
|
|
76
95
|
* Tool call interceptor that routes calls through validation.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"interceptor.d.ts","sourceRoot":"","sources":["../../src/core/interceptor.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,KAAK,EACV,QAAQ,EACR,UAAU,EACV,cAAc,EACf,MAAM,kBAAkB,CAAC;AAC1B,OAAO,KAAK,EACV,iBAAiB,EACjB,gBAAgB,EACjB,MAAM,oBAAoB,CAAC;AAC5B,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAC;AACjD,OAAO,KAAK,EAAE,gBAAgB,EAAE,0BAA0B,EAAE,MAAM,gBAAgB,CAAC;AACnF,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AACnD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAEjD,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,uBAAuB,CAAC;AAEpE,UAAU,sBAAsB;IAC9B,QAAQ,EAAE,CACR,QAAQ,EAAE,MAAM,EAChB,MAAM,EAAE,OAAO,KACZ,sBAAsB,GAAG,OAAO,CAAC,sBAAsB,CAAC,CAAC;CAC/D;AAED;;GAEG;AACH,MAAM,WAAW,kBAAkB;IACjC,sBAAsB;IACtB,MAAM,EAAE,MAAM,CAAC;IACf,wBAAwB;IACxB,gBAAgB,EAAE,gBAAgB,CAAC;IACnC,iCAAiC;IACjC,cAAc,CAAC,EAAE,cAAc,CAAC;IAChC,gCAAgC;IAChC,aAAa,CAAC,EAAE,aAAa,CAAC;IAC9B,wDAAwD;IACxD,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,sDAAsD;IACtD,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,qDAAqD;IACrD,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,0CAA0C;IAC1C,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,yCAAyC;IACzC,aAAa,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACxC,oCAAoC;IACpC,kBAAkB,CAAC,EAAE,CAAC,OAAO,EAAE,iBAAiB,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAC1E,mCAAmC;IACnC,iBAAiB,CAAC,EAAE,CAClB,OAAO,EAAE,iBAAiB,EAC1B,MAAM,EAAE,gBAAgB,KACrB,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAC1B,wCAAwC;IACxC,QAAQ,CAAC,EAAE,CACT,OAAO,EAAE,iBAAiB,EAC1B,MAAM,EAAE,gBAAgB,KACrB,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAC1B,iEAAiE;IACjE,eAAe,CAAC,EAAE,sBAAsB,CAAC;CAC1C;AAED;;GAEG;AACH,MAAM,WAAW,kBAAkB;IACjC,mCAAmC;IACnC,OAAO,EAAE,OAAO,CAAC;IACjB,4BAA4B;IAC5B,gBAAgB,EAAE,gBAAgB,CAAC;IACnC,6CAA6C;IAC7C,gBAAgB,EAAE,0BAA0B,CAAC;IAC7C,6BAA6B;IAC7B,YAAY,EAAE,QAAQ,CAAC;IACvB,yCAAyC;IACzC,cAAc,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACzC;AAED;;GAEG;AACH,qBAAa,mBAAoB,SAAQ,KAAK;IAC5C,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,gBAAgB,EAAE,gBAAgB,CAAC;
|
|
1
|
+
{"version":3,"file":"interceptor.d.ts","sourceRoot":"","sources":["../../src/core/interceptor.ts"],"names":[],"mappings":"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"}
|
package/dist/core/interceptor.js
CHANGED
|
@@ -15,14 +15,57 @@ export class ToolCallDeniedError extends Error {
|
|
|
15
15
|
callId;
|
|
16
16
|
reason;
|
|
17
17
|
validationResult;
|
|
18
|
-
|
|
18
|
+
policyId;
|
|
19
|
+
policyName;
|
|
20
|
+
severity;
|
|
21
|
+
matchedCondition;
|
|
22
|
+
suggestedFixes;
|
|
23
|
+
docsUrl;
|
|
24
|
+
constructor(toolName, callId, validationResult, denial) {
|
|
19
25
|
const reason = validationResult.reason ?? 'Tool call denied';
|
|
20
|
-
super(
|
|
26
|
+
super(ToolCallDeniedError.formatMessage(toolName, reason, denial));
|
|
21
27
|
this.name = 'ToolCallDeniedError';
|
|
22
28
|
this.toolName = toolName;
|
|
23
29
|
this.callId = callId;
|
|
24
30
|
this.reason = reason;
|
|
25
31
|
this.validationResult = validationResult;
|
|
32
|
+
this.policyId = denial?.policyId;
|
|
33
|
+
this.policyName = denial?.policyName;
|
|
34
|
+
this.severity = denial?.severity;
|
|
35
|
+
this.matchedCondition = denial?.matchedCondition;
|
|
36
|
+
this.suggestedFixes = denial?.suggestedFixes ?? [];
|
|
37
|
+
this.docsUrl = denial?.docsUrl;
|
|
38
|
+
}
|
|
39
|
+
static formatMessage(toolName, reason, denial) {
|
|
40
|
+
if (!denial) {
|
|
41
|
+
return `Tool call denied: ${toolName} - ${reason}`;
|
|
42
|
+
}
|
|
43
|
+
const lines = [];
|
|
44
|
+
lines.push(`Veto denied ${toolName}`);
|
|
45
|
+
lines.push('');
|
|
46
|
+
if (denial.policyName) {
|
|
47
|
+
lines.push(`Policy: ${denial.policyName}`);
|
|
48
|
+
}
|
|
49
|
+
lines.push(`Reason: ${reason}`);
|
|
50
|
+
if (denial.matchedCondition) {
|
|
51
|
+
lines.push(`Rule: ${denial.matchedCondition}`);
|
|
52
|
+
}
|
|
53
|
+
if (denial.input && Object.keys(denial.input).length > 0) {
|
|
54
|
+
const inputStr = JSON.stringify(denial.input);
|
|
55
|
+
lines.push(`Input: ${inputStr.length > 120 ? inputStr.slice(0, 117) + '...' : inputStr}`);
|
|
56
|
+
}
|
|
57
|
+
if (denial.suggestedFixes && denial.suggestedFixes.length > 0) {
|
|
58
|
+
lines.push('');
|
|
59
|
+
lines.push('To resolve:');
|
|
60
|
+
for (const fix of denial.suggestedFixes) {
|
|
61
|
+
lines.push(` - ${fix}`);
|
|
62
|
+
}
|
|
63
|
+
}
|
|
64
|
+
if (denial.docsUrl) {
|
|
65
|
+
lines.push('');
|
|
66
|
+
lines.push(denial.docsUrl);
|
|
67
|
+
}
|
|
68
|
+
return lines.join('\n');
|
|
26
69
|
}
|
|
27
70
|
}
|
|
28
71
|
/**
|
|
@@ -194,7 +237,8 @@ export class Interceptor {
|
|
|
194
237
|
async interceptOrThrow(call) {
|
|
195
238
|
const result = await this.intercept(call);
|
|
196
239
|
if (!result.allowed) {
|
|
197
|
-
|
|
240
|
+
const denial = result.validationResult.metadata?.denial;
|
|
241
|
+
throw new ToolCallDeniedError(call.name, call.id || 'unknown', result.validationResult, denial);
|
|
198
242
|
}
|
|
199
243
|
return result;
|
|
200
244
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"interceptor.js","sourceRoot":"","sources":["../../src/core/interceptor.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAeH,OAAO,EAAE,kBAAkB,EAAE,MAAM,gBAAgB,CAAC;
|
|
1
|
+
{"version":3,"file":"interceptor.js","sourceRoot":"","sources":["../../src/core/interceptor.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,11 +1,20 @@
|
|
|
1
1
|
import type { Logger } from '../utils/logger.js';
|
|
2
2
|
import type { OutputRule } from '../rules/types.js';
|
|
3
|
+
export interface RedactionTrace {
|
|
4
|
+
ruleId: string;
|
|
5
|
+
ruleName: string;
|
|
6
|
+
field: string;
|
|
7
|
+
pattern: string;
|
|
8
|
+
redactedCount: number;
|
|
9
|
+
replacement: string;
|
|
10
|
+
}
|
|
3
11
|
export interface OutputValidationResult {
|
|
4
12
|
decision: 'allow' | 'block';
|
|
5
13
|
output: unknown;
|
|
6
14
|
reason?: string;
|
|
7
15
|
matchedRuleIds: string[];
|
|
8
16
|
redactions: number;
|
|
17
|
+
trace: RedactionTrace[];
|
|
9
18
|
}
|
|
10
19
|
export interface OutputValidatorOptions {
|
|
11
20
|
logger: Logger;
|
|
@@ -22,6 +31,8 @@ export declare class OutputValidator {
|
|
|
22
31
|
private collectRedactionConditions;
|
|
23
32
|
private toOutputPath;
|
|
24
33
|
private redactAtPath;
|
|
34
|
+
private redactStringValue;
|
|
35
|
+
private redactNestedStrings;
|
|
25
36
|
private resolveMutableParent;
|
|
26
37
|
private cloneOutput;
|
|
27
38
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"output-validator.d.ts","sourceRoot":"","sources":["../../src/core/output-validator.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAC;AAKjD,OAAO,KAAK,EAAE,UAAU,EAAiB,MAAM,mBAAmB,CAAC;AAInE,MAAM,WAAW,sBAAsB;IACrC,QAAQ,EAAE,OAAO,GAAG,OAAO,CAAC;IAC5B,MAAM,EAAE,OAAO,CAAC;IAChB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,cAAc,EAAE,MAAM,EAAE,CAAC;IACzB,UAAU,EAAE,MAAM,CAAC;
|
|
1
|
+
{"version":3,"file":"output-validator.d.ts","sourceRoot":"","sources":["../../src/core/output-validator.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAC;AAKjD,OAAO,KAAK,EAAE,UAAU,EAAiB,MAAM,mBAAmB,CAAC;AAInE,MAAM,WAAW,cAAc;IAC7B,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,CAAC;IAChB,aAAa,EAAE,MAAM,CAAC;IACtB,WAAW,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,sBAAsB;IACrC,QAAQ,EAAE,OAAO,GAAG,OAAO,CAAC;IAC5B,MAAM,EAAE,OAAO,CAAC;IAChB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,cAAc,EAAE,MAAM,EAAE,CAAC;IACzB,UAAU,EAAE,MAAM,CAAC;IACnB,KAAK,EAAE,cAAc,EAAE,CAAC;CACzB;AAED,MAAM,WAAW,sBAAsB;IACrC,MAAM,EAAE,MAAM,CAAC;IACf,eAAe,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,UAAU,EAAE,CAAC;CACrD;AAED,qBAAa,eAAe;IAC1B,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAS;IAChC,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAqC;gBAEzD,OAAO,EAAE,sBAAsB;IAK3C,QAAQ,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,GAAG,sBAAsB;IAmFnE,OAAO,CAAC,WAAW;IAYnB,OAAO,CAAC,sBAAsB;IAoB9B,OAAO,CAAC,cAAc;IA4EtB,OAAO,CAAC,0BAA0B;IASlC,OAAO,CAAC,YAAY;IAWpB,OAAO,CAAC,YAAY;IA4CpB,OAAO,CAAC,iBAAiB;IAczB,OAAO,CAAC,mBAAmB;IAgD3B,OAAO,CAAC,oBAAoB;IAuB5B,OAAO,CAAC,WAAW;CAWpB"}
|
|
@@ -15,6 +15,7 @@ export class OutputValidator {
|
|
|
15
15
|
output,
|
|
16
16
|
matchedRuleIds: [],
|
|
17
17
|
redactions: 0,
|
|
18
|
+
trace: [],
|
|
18
19
|
};
|
|
19
20
|
}
|
|
20
21
|
const context = this.buildEvaluationContext(toolName, output);
|
|
@@ -25,6 +26,7 @@ export class OutputValidator {
|
|
|
25
26
|
output,
|
|
26
27
|
matchedRuleIds: [],
|
|
27
28
|
redactions: 0,
|
|
29
|
+
trace: [],
|
|
28
30
|
};
|
|
29
31
|
}
|
|
30
32
|
const matchedRuleIds = matchedRules.map((rule) => rule.id);
|
|
@@ -42,10 +44,12 @@ export class OutputValidator {
|
|
|
42
44
|
reason,
|
|
43
45
|
matchedRuleIds,
|
|
44
46
|
redactions: 0,
|
|
47
|
+
trace: [],
|
|
45
48
|
};
|
|
46
49
|
}
|
|
47
50
|
let transformedOutput = output;
|
|
48
51
|
let redactions = 0;
|
|
52
|
+
const trace = [];
|
|
49
53
|
for (const rule of matchedRules) {
|
|
50
54
|
if (rule.action === 'log') {
|
|
51
55
|
this.logger.warn('Tool output matched log-only output rule', {
|
|
@@ -59,6 +63,7 @@ export class OutputValidator {
|
|
|
59
63
|
const redactResult = this.applyRedaction(rule, transformedOutput);
|
|
60
64
|
transformedOutput = redactResult.output;
|
|
61
65
|
redactions += redactResult.redactions;
|
|
66
|
+
trace.push(...redactResult.trace);
|
|
62
67
|
if (redactResult.redactions > 0) {
|
|
63
68
|
this.logger.info('Tool output redacted by output rule', {
|
|
64
69
|
tool: toolName,
|
|
@@ -73,10 +78,11 @@ export class OutputValidator {
|
|
|
73
78
|
output: transformedOutput,
|
|
74
79
|
matchedRuleIds,
|
|
75
80
|
redactions,
|
|
81
|
+
trace,
|
|
76
82
|
};
|
|
77
83
|
}
|
|
78
84
|
matchesRule(rule, context) {
|
|
79
|
-
return evaluateConditionCollections(rule.output_conditions, rule.output_condition_groups, context);
|
|
85
|
+
return evaluateConditionCollections(rule.output_conditions, rule.output_condition_groups, context, { allowNestedObjectStringSearch: true });
|
|
80
86
|
}
|
|
81
87
|
buildEvaluationContext(toolName, output) {
|
|
82
88
|
const base = {
|
|
@@ -96,14 +102,19 @@ export class OutputValidator {
|
|
|
96
102
|
const redactWith = rule.redact_with ?? DEFAULT_REDACT_WITH;
|
|
97
103
|
const candidateConditions = this.collectRedactionConditions(rule);
|
|
98
104
|
if (candidateConditions.length === 0) {
|
|
99
|
-
return { output, redactions: 0 };
|
|
105
|
+
return { output, redactions: 0, trace: [] };
|
|
100
106
|
}
|
|
101
107
|
let mutableOutput = output;
|
|
102
108
|
let cloned = false;
|
|
103
109
|
let totalRedactions = 0;
|
|
110
|
+
const trace = [];
|
|
104
111
|
const ensureClone = () => {
|
|
105
112
|
if (!cloned) {
|
|
106
|
-
|
|
113
|
+
const clonedOutput = this.cloneOutput(output);
|
|
114
|
+
if (clonedOutput === null) {
|
|
115
|
+
return null;
|
|
116
|
+
}
|
|
117
|
+
mutableOutput = clonedOutput;
|
|
107
118
|
cloned = true;
|
|
108
119
|
}
|
|
109
120
|
return mutableOutput;
|
|
@@ -125,14 +136,30 @@ export class OutputValidator {
|
|
|
125
136
|
continue;
|
|
126
137
|
}
|
|
127
138
|
const clonedOutput = ensureClone();
|
|
139
|
+
if (clonedOutput === null) {
|
|
140
|
+
this.logger.warn('Skipping output redaction because output could not be cloned', {
|
|
141
|
+
ruleId: rule.id,
|
|
142
|
+
});
|
|
143
|
+
return { output, redactions: 0, trace: [] };
|
|
144
|
+
}
|
|
128
145
|
const result = this.redactAtPath(clonedOutput, path, regex, redactWith);
|
|
129
146
|
mutableOutput = result.output;
|
|
130
147
|
totalRedactions += result.redactions;
|
|
148
|
+
if (result.redactions > 0) {
|
|
149
|
+
trace.push({
|
|
150
|
+
ruleId: rule.id,
|
|
151
|
+
ruleName: rule.name,
|
|
152
|
+
field,
|
|
153
|
+
pattern,
|
|
154
|
+
redactedCount: result.redactions,
|
|
155
|
+
replacement: redactWith,
|
|
156
|
+
});
|
|
157
|
+
}
|
|
131
158
|
}
|
|
132
159
|
if (!cloned) {
|
|
133
|
-
return { output, redactions: 0 };
|
|
160
|
+
return { output, redactions: 0, trace: [] };
|
|
134
161
|
}
|
|
135
|
-
return { output: mutableOutput, redactions: totalRedactions };
|
|
162
|
+
return { output: mutableOutput, redactions: totalRedactions, trace };
|
|
136
163
|
}
|
|
137
164
|
collectRedactionConditions(rule) {
|
|
138
165
|
const direct = (rule.output_conditions ?? [])
|
|
@@ -154,15 +181,16 @@ export class OutputValidator {
|
|
|
154
181
|
}
|
|
155
182
|
redactAtPath(output, path, regex, replacement) {
|
|
156
183
|
if (path === '') {
|
|
157
|
-
if (typeof output
|
|
184
|
+
if (typeof output === 'string') {
|
|
185
|
+
return this.redactStringValue(output, regex, replacement);
|
|
186
|
+
}
|
|
187
|
+
if (!output || typeof output !== 'object') {
|
|
158
188
|
return { output, redactions: 0 };
|
|
159
189
|
}
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
redactions
|
|
163
|
-
|
|
164
|
-
});
|
|
165
|
-
return { output: redacted, redactions };
|
|
190
|
+
return {
|
|
191
|
+
output,
|
|
192
|
+
redactions: this.redactNestedStrings(output, regex, replacement),
|
|
193
|
+
};
|
|
166
194
|
}
|
|
167
195
|
const parentAndKey = this.resolveMutableParent(output, path);
|
|
168
196
|
if (!parentAndKey) {
|
|
@@ -170,16 +198,61 @@ export class OutputValidator {
|
|
|
170
198
|
}
|
|
171
199
|
const { parent, key } = parentAndKey;
|
|
172
200
|
const current = parent[key];
|
|
173
|
-
if (typeof current
|
|
201
|
+
if (typeof current === 'string') {
|
|
202
|
+
const result = this.redactStringValue(current, regex, replacement);
|
|
203
|
+
parent[key] = result.output;
|
|
204
|
+
return { output, redactions: result.redactions };
|
|
205
|
+
}
|
|
206
|
+
if (!current || typeof current !== 'object') {
|
|
174
207
|
return { output, redactions: 0 };
|
|
175
208
|
}
|
|
209
|
+
return {
|
|
210
|
+
output,
|
|
211
|
+
redactions: this.redactNestedStrings(current, regex, replacement),
|
|
212
|
+
};
|
|
213
|
+
}
|
|
214
|
+
redactStringValue(value, regex, replacement) {
|
|
176
215
|
let redactions = 0;
|
|
177
|
-
|
|
216
|
+
const output = value.replace(regex, () => {
|
|
178
217
|
redactions += 1;
|
|
179
218
|
return replacement;
|
|
180
219
|
});
|
|
181
220
|
return { output, redactions };
|
|
182
221
|
}
|
|
222
|
+
redactNestedStrings(value, regex, replacement, seen = new Set()) {
|
|
223
|
+
if (!value || typeof value !== 'object') {
|
|
224
|
+
return 0;
|
|
225
|
+
}
|
|
226
|
+
if (seen.has(value)) {
|
|
227
|
+
return 0;
|
|
228
|
+
}
|
|
229
|
+
seen.add(value);
|
|
230
|
+
if (Array.isArray(value)) {
|
|
231
|
+
let total = 0;
|
|
232
|
+
for (let index = 0; index < value.length; index += 1) {
|
|
233
|
+
const current = value[index];
|
|
234
|
+
if (typeof current === 'string') {
|
|
235
|
+
const result = this.redactStringValue(current, regex, replacement);
|
|
236
|
+
value[index] = result.output;
|
|
237
|
+
total += result.redactions;
|
|
238
|
+
continue;
|
|
239
|
+
}
|
|
240
|
+
total += this.redactNestedStrings(current, regex, replacement, seen);
|
|
241
|
+
}
|
|
242
|
+
return total;
|
|
243
|
+
}
|
|
244
|
+
let total = 0;
|
|
245
|
+
for (const [key, current] of Object.entries(value)) {
|
|
246
|
+
if (typeof current === 'string') {
|
|
247
|
+
const result = this.redactStringValue(current, regex, replacement);
|
|
248
|
+
value[key] = result.output;
|
|
249
|
+
total += result.redactions;
|
|
250
|
+
continue;
|
|
251
|
+
}
|
|
252
|
+
total += this.redactNestedStrings(current, regex, replacement, seen);
|
|
253
|
+
}
|
|
254
|
+
return total;
|
|
255
|
+
}
|
|
183
256
|
resolveMutableParent(root, path) {
|
|
184
257
|
if (!root || typeof root !== 'object')
|
|
185
258
|
return null;
|
|
@@ -209,7 +282,7 @@ export class OutputValidator {
|
|
|
209
282
|
return JSON.parse(JSON.stringify(output));
|
|
210
283
|
}
|
|
211
284
|
catch {
|
|
212
|
-
return
|
|
285
|
+
return null;
|
|
213
286
|
}
|
|
214
287
|
}
|
|
215
288
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"output-validator.js","sourceRoot":"","sources":["../../src/core/output-validator.ts"],"names":[],"mappings":"AACA,OAAO,EACL,eAAe,EACf,4BAA4B,GAC7B,MAAM,iCAAiC,CAAC;AAGzC,MAAM,mBAAmB,GAAG,YAAY,CAAC;
|
|
1
|
+
{"version":3,"file":"output-validator.js","sourceRoot":"","sources":["../../src/core/output-validator.ts"],"names":[],"mappings":"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"}
|
package/dist/core/protect.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import type { Rule } from '../rules/types.js';
|
|
2
|
-
import type { LogLevel, ValidationContext } from '../types/config.js';
|
|
2
|
+
import type { LogLevel, StreamLogMode, ValidationContext } from '../types/config.js';
|
|
3
3
|
import type { BudgetConfig, ToolCostMap } from './budget.js';
|
|
4
4
|
import { type VetoMode } from './veto.js';
|
|
5
5
|
export type ProtectMode = VetoMode;
|
|
@@ -11,6 +11,8 @@ export interface ProtectOptions {
|
|
|
11
11
|
endpoint?: string;
|
|
12
12
|
mode?: ProtectMode;
|
|
13
13
|
logLevel?: LogLevel;
|
|
14
|
+
stream?: boolean;
|
|
15
|
+
streamMode?: StreamLogMode;
|
|
14
16
|
sessionId?: string;
|
|
15
17
|
agentId?: string;
|
|
16
18
|
userId?: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"protect.d.ts","sourceRoot":"","sources":["../../src/core/protect.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,IAAI,EAAc,MAAM,mBAAmB,CAAC;AAE1D,OAAO,KAAK,EAAE,QAAQ,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;
|
|
1
|
+
{"version":3,"file":"protect.d.ts","sourceRoot":"","sources":["../../src/core/protect.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,IAAI,EAAc,MAAM,mBAAmB,CAAC;AAE1D,OAAO,KAAK,EAAE,QAAQ,EAAE,aAAa,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AACrF,OAAO,KAAK,EAAE,YAAY,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAE7D,OAAO,EAAQ,KAAK,QAAQ,EAAE,MAAM,WAAW,CAAC;AAEhD,MAAM,MAAM,WAAW,GAAG,QAAQ,CAAC;AAEnC,MAAM,WAAW,cAAc;IAE7B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,IAAI,EAAE,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAGlB,IAAI,CAAC,EAAE,WAAW,CAAC;IACnB,QAAQ,CAAC,EAAE,QAAQ,CAAC;IACpB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,UAAU,CAAC,EAAE,aAAa,CAAC;IAG3B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,IAAI,CAAC,EAAE,MAAM,CAAC;IAGd,kBAAkB,CAAC,EAAE,CAAC,OAAO,EAAE,iBAAiB,EAAE,UAAU,EAAE,MAAM,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAG9F,MAAM,CAAC,EAAE,YAAY,CAAC;IACtB,KAAK,CAAC,EAAE,WAAW,CAAC;CACrB;AA8SD,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;AA4Bd,wBAAgB,2BAA2B,IAAI,IAAI,CAGlD"}
|
package/dist/core/protect.js
CHANGED
|
@@ -107,6 +107,9 @@ function buildInitDecision(tools, options) {
|
|
|
107
107
|
},
|
|
108
108
|
};
|
|
109
109
|
}
|
|
110
|
+
function resolveProtectLogLevel(options) {
|
|
111
|
+
return options.stream ? 'stream' : options.logLevel;
|
|
112
|
+
}
|
|
110
113
|
function createCacheKey(options, decision) {
|
|
111
114
|
return stableSerialize({
|
|
112
115
|
source: decision.source,
|
|
@@ -115,7 +118,9 @@ function createCacheKey(options, decision) {
|
|
|
115
118
|
apiKey: options.apiKey,
|
|
116
119
|
endpoint: options.endpoint,
|
|
117
120
|
mode: options.mode,
|
|
118
|
-
logLevel: options
|
|
121
|
+
logLevel: resolveProtectLogLevel(options),
|
|
122
|
+
stream: options.stream,
|
|
123
|
+
streamMode: options.streamMode,
|
|
119
124
|
sessionId: options.sessionId,
|
|
120
125
|
agentId: options.agentId,
|
|
121
126
|
userId: options.userId,
|
|
@@ -136,7 +141,9 @@ function createAllowAllInstance(options) {
|
|
|
136
141
|
rules: [],
|
|
137
142
|
outputRules: [],
|
|
138
143
|
mode: options.mode,
|
|
139
|
-
logLevel: options
|
|
144
|
+
logLevel: resolveProtectLogLevel(options),
|
|
145
|
+
stream: options.stream,
|
|
146
|
+
streamMode: options.streamMode,
|
|
140
147
|
sessionId: options.sessionId,
|
|
141
148
|
agentId: options.agentId,
|
|
142
149
|
userId: options.userId,
|
|
@@ -180,7 +187,9 @@ async function initializeVeto(tools, options) {
|
|
|
180
187
|
rules: inlineRules.rules,
|
|
181
188
|
outputRules: inlineRules.outputRules,
|
|
182
189
|
mode: options.mode,
|
|
183
|
-
logLevel: options
|
|
190
|
+
logLevel: resolveProtectLogLevel(options),
|
|
191
|
+
stream: options.stream,
|
|
192
|
+
streamMode: options.streamMode,
|
|
184
193
|
sessionId: options.sessionId,
|
|
185
194
|
agentId: options.agentId,
|
|
186
195
|
userId: options.userId,
|
|
@@ -200,7 +209,8 @@ async function initializeVeto(tools, options) {
|
|
|
200
209
|
instance = await Veto.init({
|
|
201
210
|
configDir: options.configDir,
|
|
202
211
|
mode: options.mode,
|
|
203
|
-
logLevel: options
|
|
212
|
+
logLevel: resolveProtectLogLevel(options),
|
|
213
|
+
streamMode: options.streamMode,
|
|
204
214
|
sessionId: options.sessionId,
|
|
205
215
|
agentId: options.agentId,
|
|
206
216
|
userId: options.userId,
|
package/dist/core/protect.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"protect.js","sourceRoot":"","sources":["../../src/core/protect.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AACnD,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,KAAK,IAAI,SAAS,EAAE,MAAM,MAAM,CAAC;AAE1C,OAAO,EAAE,uBAAuB,EAAE,4BAA4B,EAAE,MAAM,0BAA0B,CAAC;AAGjG,OAAO,EAAE,iCAAiC,EAAE,MAAM,2BAA2B,CAAC;AAC9E,OAAO,EAAE,IAAI,EAAiB,MAAM,WAAW,CAAC;
|
|
1
|
+
{"version":3,"file":"protect.js","sourceRoot":"","sources":["../../src/core/protect.ts"],"names":[],"mappings":"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"}
|