veto-sdk 2.0.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/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 +68 -4
- package/dist/browser/veto.js.map +1 -1
- package/dist/cli/bin.js +0 -0
- package/dist/cloud/types.d.ts +17 -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/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 +43 -1
- package/dist/core/veto.d.ts.map +1 -1
- package/dist/core/veto.js +248 -13
- 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 +9 -3
- 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/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 +109 -0
- package/dist/rules/policy-ir-schema.d.ts.map +1 -1
- package/dist/rules/policy-ir-schema.js +90 -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/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/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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"}
|
package/dist/core/veto.d.ts
CHANGED
|
@@ -7,10 +7,11 @@
|
|
|
7
7
|
* @module core/veto
|
|
8
8
|
*/
|
|
9
9
|
import type { ToolDefinition, ToolCall } from '../types/tool.js';
|
|
10
|
-
import type { DecisionExportFormat, Validator, NamedValidator, ValidationContext, LogLevel } from '../types/config.js';
|
|
10
|
+
import type { DecisionExportFormat, Validator, NamedValidator, ValidationContext, LogLevel, StreamLogMode } from '../types/config.js';
|
|
11
11
|
import { type HistoryStats } from './history.js';
|
|
12
12
|
import { BudgetExceededError, type BudgetStatus } from './budget.js';
|
|
13
13
|
import { ToolCallDeniedError, type InterceptionResult } from './interceptor.js';
|
|
14
|
+
import type { EconomicContext, EconomicDenialDetails, EconomicPolicyConfig, BudgetScope, EconomicBudgetStatus } from '../economic/types.js';
|
|
14
15
|
import type { MCPTool, MCPServerClient, MCPToolResult } from '../providers/types.js';
|
|
15
16
|
import type { RuleSeverity } from '../rules/types.js';
|
|
16
17
|
import type { KernelClient as KernelClientType } from '../kernel/client.js';
|
|
@@ -60,6 +61,8 @@ export interface GuardContext {
|
|
|
60
61
|
market?: Record<string, unknown>;
|
|
61
62
|
budget?: Record<string, unknown>;
|
|
62
63
|
portfolio?: Record<string, unknown>;
|
|
64
|
+
/** Economic context from a protocol connector (x402, MPP, AP2) */
|
|
65
|
+
economic?: EconomicContext;
|
|
63
66
|
}
|
|
64
67
|
/**
|
|
65
68
|
* Standalone validation result returned by `guard()`.
|
|
@@ -72,6 +75,8 @@ export interface GuardResult {
|
|
|
72
75
|
approvalId?: string;
|
|
73
76
|
shadow?: boolean;
|
|
74
77
|
shadowDecision?: string;
|
|
78
|
+
/** Structured economic denial details (present when economic policy denies) */
|
|
79
|
+
economicDenial?: EconomicDenialDetails;
|
|
75
80
|
}
|
|
76
81
|
/**
|
|
77
82
|
* Parsed veto.config.yaml structure.
|
|
@@ -126,6 +131,7 @@ interface VetoConfigFile {
|
|
|
126
131
|
};
|
|
127
132
|
logging?: {
|
|
128
133
|
level?: LogLevel;
|
|
134
|
+
streamMode?: StreamLogMode;
|
|
129
135
|
};
|
|
130
136
|
rules?: {
|
|
131
137
|
directory?: string;
|
|
@@ -145,6 +151,8 @@ interface VetoConfigFile {
|
|
|
145
151
|
format?: 'slack' | 'pagerduty' | 'generic' | 'cef';
|
|
146
152
|
};
|
|
147
153
|
};
|
|
154
|
+
/** Economic authorization policy (x402, MPP, AP2 support) */
|
|
155
|
+
economic?: EconomicPolicyConfig;
|
|
148
156
|
}
|
|
149
157
|
/**
|
|
150
158
|
* Options for creating a Veto instance.
|
|
@@ -166,6 +174,11 @@ export interface VetoOptions {
|
|
|
166
174
|
* Can also be set via VETO_LOG_LEVEL environment variable.
|
|
167
175
|
*/
|
|
168
176
|
logLevel?: LogLevel;
|
|
177
|
+
/**
|
|
178
|
+
* Decision stream formatting mode when logLevel is set to "stream".
|
|
179
|
+
* Can also be configured with VETO_LOG=stream:verbose.
|
|
180
|
+
*/
|
|
181
|
+
streamMode?: StreamLogMode;
|
|
169
182
|
/**
|
|
170
183
|
* Session ID for tracking.
|
|
171
184
|
* Can also be set via VETO_SESSION_ID environment variable.
|
|
@@ -214,6 +227,10 @@ export interface VetoOptions {
|
|
|
214
227
|
* The SDK blocks until the approval is resolved on the server.
|
|
215
228
|
*/
|
|
216
229
|
onApprovalRequired?: (context: ValidationContext, approvalId: string) => void | Promise<void>;
|
|
230
|
+
/** Callback fired after every guard() invocation. Enables UI logging, audit trails, analytics. */
|
|
231
|
+
onDecisionMade?: (result: GuardResult & {
|
|
232
|
+
toolName: string;
|
|
233
|
+
}) => void;
|
|
217
234
|
}
|
|
218
235
|
export type VetoBrowserOptions = SharedVetoBrowserOptions<VetoCloudClient> & {
|
|
219
236
|
budget?: VetoConfigFile['budget'];
|
|
@@ -248,6 +265,8 @@ export declare class Veto {
|
|
|
248
265
|
private readonly validationEngine;
|
|
249
266
|
private readonly historyTracker;
|
|
250
267
|
private readonly budgetTracker;
|
|
268
|
+
private readonly economicEvaluator;
|
|
269
|
+
private readonly economicBudgetEngine;
|
|
251
270
|
private readonly interceptor;
|
|
252
271
|
private readonly outputValidator;
|
|
253
272
|
private readonly eventWebhookEmitter;
|
|
@@ -274,6 +293,7 @@ export declare class Veto {
|
|
|
274
293
|
private readonly approvalPollOptions;
|
|
275
294
|
private readonly localApprovalConfig;
|
|
276
295
|
private readonly onApprovalRequired?;
|
|
296
|
+
private readonly onDecisionMade?;
|
|
277
297
|
private readonly approvalPreferences;
|
|
278
298
|
private readonly policyCache;
|
|
279
299
|
private readonly remoteOutputRulesByTool;
|
|
@@ -310,6 +330,8 @@ export declare class Veto {
|
|
|
310
330
|
static fromRules(options: VetoBrowserOptions): Veto;
|
|
311
331
|
static fromCloud(options: VetoCloudInitOptions): Promise<Veto>;
|
|
312
332
|
private static parseEnvMode;
|
|
333
|
+
private static parseEnvLogSetting;
|
|
334
|
+
private static resolveExplicitLogLevel;
|
|
313
335
|
private static parseEnvLogLevel;
|
|
314
336
|
private static isSelfHostedBaseUrl;
|
|
315
337
|
private static createEmptyRulesState;
|
|
@@ -432,6 +454,17 @@ export declare class Veto {
|
|
|
432
454
|
private isBudgetExceededResult;
|
|
433
455
|
private resolveDecisionEventType;
|
|
434
456
|
private emitDecisionEvent;
|
|
457
|
+
private notifyDecisionMade;
|
|
458
|
+
/**
|
|
459
|
+
* Emit a webhook event for economic authorization outcomes.
|
|
460
|
+
*
|
|
461
|
+
* Maps economic evaluation results to the appropriate webhook event type:
|
|
462
|
+
* - budget_exceeded → 'budget_exceeded'
|
|
463
|
+
* - approval_required → 'approval_triggered'
|
|
464
|
+
* - budget_warning (>80% utilization on allow) → 'budget_warning'
|
|
465
|
+
* - spend_committed (successful reservation) → 'spend_committed'
|
|
466
|
+
*/
|
|
467
|
+
private emitEconomicEvent;
|
|
435
468
|
private toGuardResult;
|
|
436
469
|
private extractMetadataString;
|
|
437
470
|
private extractMetadataSeverity;
|
|
@@ -580,6 +613,15 @@ export declare class Veto {
|
|
|
580
613
|
clearHistory(): void;
|
|
581
614
|
getBudgetStatus(): BudgetStatus | null;
|
|
582
615
|
resetBudget(): void;
|
|
616
|
+
/**
|
|
617
|
+
* Get current economic budget status for a scope.
|
|
618
|
+
* Returns null if no economic policy is configured.
|
|
619
|
+
*/
|
|
620
|
+
getEconomicBudgetStatus(scope?: BudgetScope): EconomicBudgetStatus | null;
|
|
621
|
+
/**
|
|
622
|
+
* Reset economic budget for a scope.
|
|
623
|
+
*/
|
|
624
|
+
resetEconomicBudget(scope?: BudgetScope): void;
|
|
583
625
|
dispose(): void;
|
|
584
626
|
}
|
|
585
627
|
export { ToolCallDeniedError };
|
package/dist/core/veto.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"veto.d.ts","sourceRoot":"","sources":["../../src/core/veto.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"veto.d.ts","sourceRoot":"","sources":["../../src/core/veto.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,KAAK,EACV,cAAc,EACd,QAAQ,EACT,MAAM,kBAAkB,CAAC;AAC1B,OAAO,KAAK,EACV,oBAAoB,EACpB,SAAS,EACT,cAAc,EACd,iBAAiB,EAEjB,QAAQ,EACR,aAAa,EAEd,MAAM,oBAAoB,CAAC;AAO5B,OAAO,EAAkB,KAAK,YAAY,EAAE,MAAM,cAAc,CAAC;AACjE,OAAO,EAAiB,mBAAmB,EAAE,KAAK,YAAY,EAAE,MAAM,aAAa,CAAC;AACpF,OAAO,EAAe,mBAAmB,EAAE,KAAK,kBAAkB,EAAsB,MAAM,kBAAkB,CAAC;AACjH,OAAO,KAAK,EAAE,eAAe,EAAE,qBAAqB,EAAE,oBAAoB,EAAE,WAAW,EAAE,oBAAoB,EAAE,MAAM,sBAAsB,CAAC;AAG5I,OAAO,KAAK,EAAE,OAAO,EAAE,eAAe,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AACrF,OAAO,KAAK,EAEV,YAAY,EAMb,MAAM,mBAAmB,CAAC;AAK3B,OAAO,KAAK,EAAE,YAAY,IAAI,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AAG5E,OAAO,KAAK,EAAwC,qBAAqB,EAAE,MAAM,mBAAmB,CAAC;AACrG,OAAO,EAAE,eAAe,EAAwB,MAAM,oBAAoB,CAAC;AAI3E,OAAO,EAAmB,KAAK,sBAAsB,EAAE,MAAM,uBAAuB,CAAC;AACrF,OAAO,KAAK,EACV,kBAAkB,IAAI,wBAAwB,EAC9C,oBAAoB,IAAI,0BAA0B,EACnD,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAIL,KAAK,oBAAoB,EAC1B,MAAM,aAAa,CAAC;AAErB;;;;;GAKG;AACH,MAAM,MAAM,QAAQ,GAAG,QAAQ,GAAG,KAAK,GAAG,QAAQ,CAAC;AAEnD;;;;;;;GAOG;AACH,MAAM,MAAM,cAAc,GAAG,OAAO,GAAG,KAAK,GAAG,QAAQ,GAAG,QAAQ,GAAG,OAAO,CAAC;AAI7E;;GAEG;AACH,MAAM,MAAM,cAAc,GAAG,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,OAAO,CAAC,OAAO,CAAC,CAAC;AAEjF;;GAEG;AACH,MAAM,WAAW,YAAY;IAC3B,sDAAsD;IACtD,WAAW,EAAE,cAAc,EAAE,CAAC;IAC9B,mDAAmD;IACnD,eAAe,EAAE,MAAM,CAAC,MAAM,EAAE,cAAc,CAAC,CAAC;CACjD;AAED;;GAEG;AACH,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;IACd,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACjC,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACjC,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACjC,SAAS,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACpC,kEAAkE;IAClE,QAAQ,CAAC,EAAE,eAAe,CAAC;CAC5B;AAED;;GAEG;AACH,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;IACxB,+EAA+E;IAC/E,cAAc,CAAC,EAAE,qBAAqB,CAAC;CACxC;AAID;;GAEG;AACH,UAAU,cAAc;IACtB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,IAAI,CAAC,EAAE,QAAQ,CAAC;IAChB,UAAU,CAAC,EAAE;QACX,IAAI,CAAC,EAAE,cAAc,CAAC;KACvB,CAAC;IACF,GAAG,CAAC,EAAE;QACJ,OAAO,CAAC,EAAE,MAAM,CAAC;QACjB,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,OAAO,CAAC,EAAE,MAAM,CAAC;QACjB,OAAO,CAAC,EAAE,MAAM,CAAC;QACjB,UAAU,CAAC,EAAE,MAAM,CAAC;KACrB,CAAC;IACF,MAAM,CAAC,EAAE;QACP,OAAO,CAAC,EAAE,MAAM,CAAC;QACjB,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,WAAW,CAAC,EAAE,MAAM,CAAC;QACrB,SAAS,CAAC,EAAE,MAAM,CAAC;QACnB,OAAO,CAAC,EAAE,MAAM,CAAC;KAClB,CAAC;IACF,MAAM,CAAC,EAAE;QACP,QAAQ,CAAC,EAAE,QAAQ,GAAG,YAAY,GAAG,QAAQ,GAAG,WAAW,CAAC;QAC5D,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,MAAM,CAAC,EAAE,MAAM,CAAC;QAChB,WAAW,CAAC,EAAE,MAAM,CAAC;QACrB,SAAS,CAAC,EAAE,MAAM,CAAC;QACnB,OAAO,CAAC,EAAE,MAAM,CAAC;QACjB,OAAO,CAAC,EAAE,MAAM,CAAC;KAClB,CAAC;IACF,KAAK,CAAC,EAAE;QACN,MAAM,CAAC,EAAE,MAAM,CAAC;QAChB,OAAO,CAAC,EAAE,MAAM,CAAC;QACjB,OAAO,CAAC,EAAE,MAAM,CAAC;QACjB,OAAO,CAAC,EAAE,MAAM,CAAC;QACjB,UAAU,CAAC,EAAE,MAAM,CAAC;KACrB,CAAC;IACF,QAAQ,CAAC,EAAE;QACT,YAAY,CAAC,EAAE,MAAM,CAAC;QACtB,OAAO,CAAC,EAAE,MAAM,CAAC;QACjB,WAAW,CAAC,EAAE,MAAM,CAAC;QACrB,eAAe,CAAC,EAAE,OAAO,GAAG,OAAO,CAAC;QACpC,yGAAyG;QACzG,oBAAoB,CAAC,EAAE,OAAO,CAAC;QAC/B,cAAc,CAAC,EAAE;YACf,aAAa,CAAC,EAAE,MAAM,CAAC;YACvB,WAAW,CAAC,EAAE,MAAM,CAAC;SACtB,CAAC;KACH,CAAC;IACF,OAAO,CAAC,EAAE;QACR,KAAK,CAAC,EAAE,QAAQ,CAAC;QACjB,UAAU,CAAC,EAAE,aAAa,CAAC;KAC5B,CAAC;IACF,KAAK,CAAC,EAAE;QACN,SAAS,CAAC,EAAE,MAAM,CAAC;QACnB,SAAS,CAAC,EAAE,OAAO,CAAC;KACrB,CAAC;IACF,MAAM,CAAC,EAAE;QACP,GAAG,CAAC,EAAE,MAAM,CAAC;QACb,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,MAAM,CAAC,EAAE,SAAS,CAAC;KACpB,CAAC;IACF,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAAC,CAAC;IACxC,MAAM,CAAC,EAAE;QACP,OAAO,CAAC,EAAE;YACR,GAAG,CAAC,EAAE,MAAM,CAAC;YACb,EAAE,CAAC,EAAE,oBAAoB,EAAE,CAAC;YAC5B,YAAY,CAAC,EAAE,YAAY,CAAC;YAC5B,MAAM,CAAC,EAAE,OAAO,GAAG,WAAW,GAAG,SAAS,GAAG,KAAK,CAAC;SACpD,CAAC;KACH,CAAC;IACF,6DAA6D;IAC7D,QAAQ,CAAC,EAAE,oBAAoB,CAAC;CACjC;AAuDD;;GAEG;AACH,MAAM,WAAW,WAAW;IAC1B;;;OAGG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;IAEnB;;;;OAIG;IACH,IAAI,CAAC,EAAE,QAAQ,CAAC;IAEhB;;;OAGG;IACH,QAAQ,CAAC,EAAE,QAAQ,CAAC;IAEpB;;;OAGG;IACH,UAAU,CAAC,EAAE,aAAa,CAAC;IAE3B;;;OAGG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;IAEnB;;;OAGG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC;IAEjB;;;OAGG;IACH,MAAM,CAAC,EAAE,MAAM,CAAC;IAEhB;;;OAGG;IACH,IAAI,CAAC,EAAE,MAAM,CAAC;IAEd;;OAEG;IACH,UAAU,CAAC,EAAE,CAAC,SAAS,GAAG,cAAc,CAAC,EAAE,CAAC;IAE5C;;;OAGG;IACH,MAAM,CAAC,EAAE,MAAM,CAAC;IAEhB;;;OAGG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC;IAElB;;OAEG;IACH,YAAY,CAAC,EAAE,gBAAgB,CAAC;IAEhC;;OAEG;IACH,WAAW,CAAC,EAAE,eAAe,CAAC;IAE9B;;;;OAIG;IACH,kBAAkB,CAAC,EAAE,CACnB,OAAO,EAAE,iBAAiB,EAC1B,UAAU,EAAE,MAAM,KACf,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAE1B,kGAAkG;IAClG,cAAc,CAAC,EAAE,CAAC,MAAM,EAAE,WAAW,GAAG;QAAE,QAAQ,EAAE,MAAM,CAAA;KAAE,KAAK,IAAI,CAAC;CACvE;AAED,MAAM,MAAM,kBAAkB,GAAG,wBAAwB,CAAC,eAAe,CAAC,GAAG;IAC3E,MAAM,CAAC,EAAE,cAAc,CAAC,QAAQ,CAAC,CAAC;IAClC,KAAK,CAAC,EAAE,cAAc,CAAC,OAAO,CAAC,CAAC;IAChC,QAAQ,CAAC,EAAE,cAAc,CAAC,UAAU,CAAC,CAAC;IACtC,MAAM,CAAC,EAAE,cAAc,CAAC,QAAQ,CAAC,CAAC;CACnC,CAAC;AAEF,MAAM,MAAM,oBAAoB,GAAG,0BAA0B,CAAC;AAE9D;;;;;;;;;;;;;;;;;;;GAmBG;AACH,qBAAa,IAAI;IACf,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,sBAAsB,CAAyB;IAEvE,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAS;IAChC,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAmB;IACpD,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAiB;IAChD,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAuB;IACrD,OAAO,CAAC,QAAQ,CAAC,iBAAiB,CAA2B;IAC7D,OAAO,CAAC,QAAQ,CAAC,oBAAoB,CAA2B;IAChE,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAc;IAC1C,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAkB;IAClD,OAAO,CAAC,QAAQ,CAAC,mBAAmB,CAAsB;IAG1D,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAS;IACnC,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAW;IAChC,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAW;IAC5C,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAiB;IAChD,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAc;IAC1C,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAS;IACpC,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAS;IACrC,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAS;IACpC,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAS;IACpC,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAS;IACvC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAS;IACpC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAS;IAClC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAS;IACjC,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAS;IAG/B,OAAO,CAAC,YAAY,CAAiC;IACrD,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAsB;IAGnD,OAAO,CAAC,YAAY,CAAiC;IACrD,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAsB;IAGnD,OAAO,CAAC,WAAW,CAAgC;IACnD,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAyB;IACrD,OAAO,CAAC,QAAQ,CAAC,mBAAmB,CAAsB;IAC1D,OAAO,CAAC,QAAQ,CAAC,mBAAmB,CAAsB;IAC1D,OAAO,CAAC,QAAQ,CAAC,kBAAkB,CAAC,CAGV;IAC1B,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAC,CAAuD;IAGvF,OAAO,CAAC,QAAQ,CAAC,mBAAmB,CAAiD;IAGrF,OAAO,CAAC,QAAQ,CAAC,WAAW,CAA4B;IACxD,OAAO,CAAC,QAAQ,CAAC,uBAAuB,CAAmC;IAG3E,OAAO,CAAC,UAAU,CAAmB;IACrC,OAAO,CAAC,gBAAgB,CAAgB;IACxC,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAS;IACxC,OAAO,CAAC,QAAQ,CAAC,mBAAmB,CAAU;IAC9C,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAU;IACtC,OAAO,CAAC,QAAQ,CAAC,uBAAuB,CAA8B;IACtE,OAAO,CAAC,iBAAiB,CAA+C;IAExE,OAAO;IAyTP;;;;;;;;;;;;;;;;;;;;OAoBG;WACU,IAAI,CAAC,OAAO,GAAE,WAAgB,GAAG,OAAO,CAAC,IAAI,CAAC;IAiE3D,MAAM,CAAC,SAAS,CAAC,OAAO,EAAE,kBAAkB,GAAG,IAAI;WAqEtC,SAAS,CAAC,OAAO,EAAE,oBAAoB,GAAG,OAAO,CAAC,IAAI,CAAC;IAgCpE,OAAO,CAAC,MAAM,CAAC,YAAY;IAO3B,OAAO,CAAC,MAAM,CAAC,kBAAkB;IAoBjC,OAAO,CAAC,MAAM,CAAC,uBAAuB;IAWtC,OAAO,CAAC,MAAM,CAAC,gBAAgB;IAc/B,OAAO,CAAC,MAAM,CAAC,mBAAmB;IAKlC,OAAO,CAAC,MAAM,CAAC,qBAAqB;IAWpC,OAAO,CAAC,MAAM,CAAC,UAAU;mBAuCJ,gBAAgB;mBAIhB,kBAAkB;mBAIlB,cAAc;mBAKd,eAAe;IAmBpC;;OAEG;mBACkB,SAAS;IAoG9B;;OAEG;IACH,OAAO,CAAC,MAAM,CAAC,aAAa;IA+B5B;;OAEG;IACH,OAAO,CAAC,eAAe;IAKvB,OAAO,CAAC,qBAAqB;IAO7B,OAAO,CAAC,sBAAsB;IAS9B,OAAO,CAAC,iBAAiB;IAIzB,OAAO,CAAC,0BAA0B;IAIlC,OAAO,CAAC,sBAAsB;IAO9B,OAAO,CAAC,qBAAqB;IAQ7B,OAAO,CAAC,gBAAgB;IAmBxB,OAAO,CAAC,uBAAuB;IAkC/B,OAAO,CAAC,gBAAgB;IAIxB,OAAO,CAAC,cAAc;IAItB,OAAO,CAAC,aAAa;IAIrB,OAAO,CAAC,WAAW;IAInB,OAAO,CAAC,mBAAmB;IAU3B,OAAO,CAAC,eAAe;IAWvB,OAAO,CAAC,WAAW;IAYnB;;OAEG;YACW,eAAe;IAiD7B;;OAEG;YACW,cAAc;IAwC5B;;OAEG;IACH,OAAO,CAAC,iBAAiB;IAkEzB;;OAEG;IACH,OAAO,CAAC,gBAAgB;IAuBxB;;OAEG;YACW,iBAAiB;IAiJ/B,OAAO,CAAC,2BAA2B;IA8BnC,OAAO,CAAC,gBAAgB;IA+BxB,OAAO,CAAC,sBAAsB;IAc9B,OAAO,CAAC,mBAAmB;IAI3B,OAAO,CAAC,+BAA+B;IAuBvC,OAAO,CAAC,uBAAuB;IAyC/B,OAAO,CAAC,gCAAgC;IAYxC,OAAO,CAAC,uBAAuB;IA8B/B;;OAEG;YACW,eAAe;IAyB7B;;OAEG;YACW,kBAAkB;IAyBhC;;OAEG;IACH,OAAO,CAAC,oBAAoB;IAkE5B;;OAEG;IACH,OAAO,CAAC,mBAAmB;IA0B3B;;OAEG;YACW,eAAe;IA2B7B;;OAEG;YACW,kBAAkB;IAyBhC;;OAEG;IACH,OAAO,CAAC,oBAAoB;IAkE5B;;OAEG;IACH,OAAO,CAAC,mBAAmB;IA0B3B;;OAEG;IACH,OAAO,CAAC,cAAc;IAatB;;;OAGG;IACH,OAAO,CAAC,qBAAqB;IA4C7B;;;OAGG;YACW,iBAAiB;IAoN/B;;OAEG;YACW,kBAAkB;YA6FlB,uBAAuB;YAkJvB,wBAAwB;YAgDxB,WAAW;IAwBzB,OAAO,CAAC,0BAA0B;IAQlC,OAAO,CAAC,yBAAyB;IA4CjC,OAAO,CAAC,iBAAiB;IAoCzB,OAAO,CAAC,sBAAsB;IA2B9B,OAAO,CAAC,wBAAwB;IAgBhC,OAAO,CAAC,iBAAiB;IAyBzB,OAAO,CAAC,kBAAkB;IAW1B;;;;;;;;OAQG;IACH,OAAO,CAAC,iBAAiB;IAyCzB,OAAO,CAAC,aAAa;IAwBrB,OAAO,CAAC,qBAAqB;IAqB7B,OAAO,CAAC,uBAAuB;IA0B/B;;OAEG;IACH,OAAO,CAAC,mBAAmB;IAU3B;;OAEG;IACH,OAAO,CAAC,KAAK;IAIb,OAAO,CAAC,mBAAmB;IA6B3B,OAAO,CAAC,qBAAqB;IA6B7B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OA8BG;IACH,IAAI,CAAC,CAAC,SAAS;QAAE,IAAI,EAAE,MAAM,CAAA;KAAE,EAAE,KAAK,EAAE,CAAC,EAAE,GAAG,CAAC,EAAE;IAIjD;;;;;OAKG;IACH,QAAQ,CAAC,CAAC,SAAS;QAAE,IAAI,EAAE,MAAM,CAAA;KAAE,EAAE,IAAI,EAAE,CAAC,GAAG,CAAC;IAuIhD;;;;;;;;;;;;;;;;;;;;;;;;OAwBG;IACH,YAAY,CACV,KAAK,EAAE,OAAO,EAAE,EAChB,YAAY,EAAE,eAAe,GAC5B;QACD,KAAK,EAAE,OAAO,EAAE,CAAC;QACjB,QAAQ,EAAE,CAAC,IAAI,EAAE;YAAE,IAAI,EAAE,MAAM,CAAC;YAAC,SAAS,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;SAAE,KAAK,OAAO,CAAC,aAAa,CAAC,CAAC;KACnG;IAuDD;;;;;;OAMG;IACG,gBAAgB,CAAC,IAAI,EAAE,QAAQ,GAAG,OAAO,CAAC,kBAAkB,CAAC;IAwBnE;;OAEG;IACH,cAAc,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,GAAG,sBAAsB;IAIzE;;;;OAIG;IACG,KAAK,CACT,QAAQ,EAAE,MAAM,EAChB,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC7B,OAAO,GAAE,YAAiB,GACzB,OAAO,CAAC,WAAW,CAAC;IA4JvB;;;;;;;;OAQG;IACH,qBAAqB,CACnB,QAAQ,EAAE,MAAM,EAChB,UAAU,EAAE,aAAa,GAAG,UAAU,GACrC,IAAI;IAQP;;;;OAIG;IACH,wBAAwB,CAAC,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI;IAQjD;;OAEG;IACH,qBAAqB,CACnB,QAAQ,EAAE,MAAM,GACf,aAAa,GAAG,UAAU,GAAG,SAAS;IAIzC;;;OAGG;IACG,aAAa,CAAC,aAAa,EAAE,qBAAqB,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IASpE,YAAY,IAAI,OAAO,CAAC,IAAI,CAAC;IAkB7B,gBAAgB,IAAI,OAAO,CAAC,IAAI,CAAC;IA+BvC,OAAO,CAAC,kBAAkB;IAmB1B;;OAEG;IACH,eAAe,IAAI,YAAY;IAI/B;;OAEG;IACH,eAAe,CAAC,MAAM,GAAE,oBAA6B,GAAG,MAAM;IAI9D;;OAEG;IACH,YAAY,IAAI,IAAI;IAIpB,eAAe,IAAI,YAAY,GAAG,IAAI;IAItC,WAAW,IAAI,IAAI;IAInB;;;OAGG;IACH,uBAAuB,CAAC,KAAK,GAAE,WAAuB,GAAG,oBAAoB,GAAG,IAAI;IAIpF;;OAEG;IACH,mBAAmB,CAAC,KAAK,GAAE,WAAuB,GAAG,IAAI;IAIzD,OAAO,IAAI,IAAI;CAMhB;AAGD,OAAO,EAAE,mBAAmB,EAAE,CAAC;AAC/B,OAAO,EAAE,mBAAmB,EAAE,CAAC"}
|
package/dist/core/veto.js
CHANGED
|
@@ -6,12 +6,14 @@
|
|
|
6
6
|
*
|
|
7
7
|
* @module core/veto
|
|
8
8
|
*/
|
|
9
|
-
import { createLogger } from '../utils/logger.js';
|
|
9
|
+
import { createLogger, } from '../utils/logger.js';
|
|
10
10
|
import { generateId, generateToolCallId } from '../utils/id.js';
|
|
11
11
|
import { ValidationEngine } from './validator.js';
|
|
12
12
|
import { HistoryTracker } from './history.js';
|
|
13
13
|
import { BudgetTracker, BudgetExceededError } from './budget.js';
|
|
14
14
|
import { Interceptor, ToolCallDeniedError } from './interceptor.js';
|
|
15
|
+
import { EconomicEvaluator } from '../economic/evaluator.js';
|
|
16
|
+
import { LocalBudgetEngine } from '../economic/budget-engine.js';
|
|
15
17
|
import { compile, evaluate } from '../compiler/index.js';
|
|
16
18
|
import { evaluateConditionCollections } from '../rules/condition-evaluator.js';
|
|
17
19
|
import { VetoCloudClient, ApprovalTimeoutError } from '../cloud/client.js';
|
|
@@ -52,6 +54,8 @@ export class Veto {
|
|
|
52
54
|
validationEngine;
|
|
53
55
|
historyTracker;
|
|
54
56
|
budgetTracker;
|
|
57
|
+
economicEvaluator;
|
|
58
|
+
economicBudgetEngine;
|
|
55
59
|
interceptor;
|
|
56
60
|
outputValidator;
|
|
57
61
|
eventWebhookEmitter;
|
|
@@ -82,6 +86,7 @@ export class Veto {
|
|
|
82
86
|
approvalPollOptions;
|
|
83
87
|
localApprovalConfig;
|
|
84
88
|
onApprovalRequired;
|
|
89
|
+
onDecisionMade;
|
|
85
90
|
// Approval preference cache: tool name -> 'approve_all' | 'deny_all'
|
|
86
91
|
approvalPreferences = new Map();
|
|
87
92
|
// Client-side deterministic validation cache
|
|
@@ -107,10 +112,18 @@ export class Veto {
|
|
|
107
112
|
? undefined
|
|
108
113
|
: Veto.parseEnvMode(process.env.VETO_MODE);
|
|
109
114
|
this.mode = options.mode ?? config.mode ?? envMode ?? 'strict';
|
|
115
|
+
const envLogSetting = this.browserMode
|
|
116
|
+
? undefined
|
|
117
|
+
: Veto.parseEnvLogSetting(process.env.VETO_LOG);
|
|
110
118
|
const envLogLevel = this.browserMode
|
|
111
119
|
? undefined
|
|
112
120
|
: Veto.parseEnvLogLevel(process.env.VETO_LOG_LEVEL);
|
|
113
|
-
|
|
121
|
+
const explicitLogLevel = Veto.resolveExplicitLogLevel(options);
|
|
122
|
+
this.resolvedLogLevel = explicitLogLevel
|
|
123
|
+
?? envLogSetting?.level
|
|
124
|
+
?? envLogLevel
|
|
125
|
+
?? config.logging?.level
|
|
126
|
+
?? 'info';
|
|
114
127
|
const explicitValidationMode = config.validation?.mode;
|
|
115
128
|
const cloudApiKey = options.apiKey
|
|
116
129
|
?? config.cloud?.apiKey
|
|
@@ -238,8 +251,9 @@ export class Veto {
|
|
|
238
251
|
reasonField: config.approval?.responseSchema?.reasonField ?? 'reason',
|
|
239
252
|
},
|
|
240
253
|
};
|
|
241
|
-
//
|
|
254
|
+
// Hooks
|
|
242
255
|
this.onApprovalRequired = options.onApprovalRequired;
|
|
256
|
+
this.onDecisionMade = options.onDecisionMade;
|
|
243
257
|
this.eventWebhookEmitter = new EventWebhookEmitter(resolveEventWebhookConfig(config.events?.webhook, this.logger), this.logger);
|
|
244
258
|
// Resolve tracking options
|
|
245
259
|
const envSessionId = this.browserMode ? undefined : process.env.VETO_SESSION_ID;
|
|
@@ -327,6 +341,28 @@ export class Veto {
|
|
|
327
341
|
else {
|
|
328
342
|
this.budgetTracker = null;
|
|
329
343
|
}
|
|
344
|
+
// Initialize economic evaluator (if configured)
|
|
345
|
+
if (config.economic?.budgets?.length) {
|
|
346
|
+
const localBudgetEngine = new LocalBudgetEngine({
|
|
347
|
+
budgets: config.economic.budgets,
|
|
348
|
+
logger: this.logger,
|
|
349
|
+
});
|
|
350
|
+
this.economicBudgetEngine = localBudgetEngine;
|
|
351
|
+
this.economicEvaluator = new EconomicEvaluator({
|
|
352
|
+
policy: config.economic,
|
|
353
|
+
budgetEngine: localBudgetEngine,
|
|
354
|
+
logger: this.logger,
|
|
355
|
+
});
|
|
356
|
+
this.logger.info('Economic authorization enabled', {
|
|
357
|
+
budgets: config.economic.budgets.length,
|
|
358
|
+
protocols: ['x402', 'mpp', 'ap2'],
|
|
359
|
+
payer_required: config.economic.payer?.required ?? false,
|
|
360
|
+
});
|
|
361
|
+
}
|
|
362
|
+
else {
|
|
363
|
+
this.economicEvaluator = null;
|
|
364
|
+
this.economicBudgetEngine = null;
|
|
365
|
+
}
|
|
330
366
|
// Initialize interceptor
|
|
331
367
|
this.outputValidator = new OutputValidator({
|
|
332
368
|
logger: this.logger,
|
|
@@ -375,17 +411,28 @@ export class Veto {
|
|
|
375
411
|
const parseYaml = await Veto.loadYamlParser();
|
|
376
412
|
const configDir = pathModule.resolve(options.configDir ?? './veto');
|
|
377
413
|
// Determine log level
|
|
378
|
-
const
|
|
379
|
-
|
|
414
|
+
const envLogSetting = Veto.parseEnvLogSetting(process.env.VETO_LOG);
|
|
415
|
+
const envLogLevel = Veto.parseEnvLogLevel(process.env.VETO_LOG_LEVEL);
|
|
416
|
+
const explicitLogLevel = Veto.resolveExplicitLogLevel(options);
|
|
417
|
+
let logLevel = explicitLogLevel ?? envLogSetting?.level ?? envLogLevel ?? 'info';
|
|
418
|
+
let streamMode = options.streamMode ?? envLogSetting?.streamMode ?? 'compact';
|
|
380
419
|
// Load config file
|
|
381
420
|
const configPath = pathModule.join(configDir, 'veto.config.yaml');
|
|
382
421
|
let config = {};
|
|
383
422
|
if (fsModule.existsSync(configPath)) {
|
|
384
423
|
const configContent = fsModule.readFileSync(configPath, 'utf-8');
|
|
385
424
|
config = parseYaml(configContent);
|
|
386
|
-
logLevel =
|
|
387
|
-
|
|
388
|
-
|
|
425
|
+
logLevel = explicitLogLevel
|
|
426
|
+
?? envLogSetting?.level
|
|
427
|
+
?? envLogLevel
|
|
428
|
+
?? config.logging?.level
|
|
429
|
+
?? 'info';
|
|
430
|
+
streamMode = options.streamMode
|
|
431
|
+
?? envLogSetting?.streamMode
|
|
432
|
+
?? config.logging?.streamMode
|
|
433
|
+
?? 'compact';
|
|
434
|
+
}
|
|
435
|
+
const logger = createLogger(logLevel, streamMode);
|
|
389
436
|
if (!fsModule.existsSync(configPath)) {
|
|
390
437
|
logger.warn('Veto config not found. Run "npx veto init" to initialize.', {
|
|
391
438
|
expected: configPath,
|
|
@@ -402,8 +449,13 @@ export class Veto {
|
|
|
402
449
|
});
|
|
403
450
|
}
|
|
404
451
|
static fromRules(options) {
|
|
405
|
-
const
|
|
406
|
-
const
|
|
452
|
+
const envLogSetting = Veto.parseEnvLogSetting(typeof process === 'undefined' ? undefined : process.env.VETO_LOG);
|
|
453
|
+
const logLevel = Veto.resolveExplicitLogLevel(options)
|
|
454
|
+
?? envLogSetting?.level
|
|
455
|
+
?? Veto.parseEnvLogLevel(typeof process === 'undefined' ? undefined : process.env.VETO_LOG_LEVEL)
|
|
456
|
+
?? 'warn';
|
|
457
|
+
const streamMode = options.streamMode ?? envLogSetting?.streamMode ?? 'compact';
|
|
458
|
+
const logger = createLogger(logLevel, streamMode);
|
|
407
459
|
const envMode = Veto.parseEnvMode(typeof process === 'undefined' ? undefined : process.env.VETO_MODE);
|
|
408
460
|
const resolvedMode = options.mode ?? envMode;
|
|
409
461
|
const cloudClient = options.cloudClient ?? (options.apiKey
|
|
@@ -424,7 +476,7 @@ export class Veto {
|
|
|
424
476
|
baseUrl: options.endpoint,
|
|
425
477
|
}
|
|
426
478
|
: undefined,
|
|
427
|
-
logging: { level: logLevel },
|
|
479
|
+
logging: { level: logLevel, streamMode },
|
|
428
480
|
budget: options.budget,
|
|
429
481
|
costs: options.costs,
|
|
430
482
|
approval: options.approval,
|
|
@@ -434,6 +486,7 @@ export class Veto {
|
|
|
434
486
|
const vetoOptions = {
|
|
435
487
|
mode: resolvedMode,
|
|
436
488
|
logLevel,
|
|
489
|
+
streamMode,
|
|
437
490
|
sessionId: options.sessionId,
|
|
438
491
|
agentId: options.agentId,
|
|
439
492
|
userId: options.userId,
|
|
@@ -443,11 +496,17 @@ export class Veto {
|
|
|
443
496
|
endpoint: undefined,
|
|
444
497
|
cloudClient,
|
|
445
498
|
onApprovalRequired: options.onApprovalRequired,
|
|
499
|
+
onDecisionMade: options.onDecisionMade,
|
|
446
500
|
};
|
|
447
501
|
return new Veto(vetoOptions, config, rules, logger, true);
|
|
448
502
|
}
|
|
449
503
|
static async fromCloud(options) {
|
|
450
|
-
const
|
|
504
|
+
const envLogSetting = Veto.parseEnvLogSetting(typeof process === 'undefined' ? undefined : process.env.VETO_LOG);
|
|
505
|
+
const logLevel = envLogSetting?.level
|
|
506
|
+
?? Veto.parseEnvLogLevel(typeof process === 'undefined' ? undefined : process.env.VETO_LOG_LEVEL)
|
|
507
|
+
?? 'warn';
|
|
508
|
+
const streamMode = envLogSetting?.streamMode ?? 'compact';
|
|
509
|
+
const logger = createLogger(logLevel, streamMode);
|
|
451
510
|
const cloudClient = new VetoCloudClient({
|
|
452
511
|
config: {
|
|
453
512
|
apiKey: options.apiKey,
|
|
@@ -472,9 +531,29 @@ export class Veto {
|
|
|
472
531
|
}
|
|
473
532
|
return undefined;
|
|
474
533
|
}
|
|
534
|
+
static parseEnvLogSetting(value) {
|
|
535
|
+
if (!value) {
|
|
536
|
+
return undefined;
|
|
537
|
+
}
|
|
538
|
+
const normalized = value.trim().toLowerCase();
|
|
539
|
+
if (normalized === 'stream') {
|
|
540
|
+
return { level: 'stream', streamMode: 'compact' };
|
|
541
|
+
}
|
|
542
|
+
if (normalized === 'stream:verbose') {
|
|
543
|
+
return { level: 'stream', streamMode: 'verbose' };
|
|
544
|
+
}
|
|
545
|
+
return undefined;
|
|
546
|
+
}
|
|
547
|
+
static resolveExplicitLogLevel(options) {
|
|
548
|
+
if (options.stream) {
|
|
549
|
+
return 'stream';
|
|
550
|
+
}
|
|
551
|
+
return options.logLevel;
|
|
552
|
+
}
|
|
475
553
|
static parseEnvLogLevel(level) {
|
|
476
554
|
if (level === 'debug'
|
|
477
555
|
|| level === 'info'
|
|
556
|
+
|| level === 'stream'
|
|
478
557
|
|| level === 'warn'
|
|
479
558
|
|| level === 'error'
|
|
480
559
|
|| level === 'silent') {
|
|
@@ -2026,6 +2105,61 @@ export class Veto {
|
|
|
2026
2105
|
};
|
|
2027
2106
|
this.eventWebhookEmitter.emit(event);
|
|
2028
2107
|
}
|
|
2108
|
+
notifyDecisionMade(result, toolName) {
|
|
2109
|
+
try {
|
|
2110
|
+
const maybePromise = this.onDecisionMade?.({ ...result, toolName });
|
|
2111
|
+
if (maybePromise && typeof maybePromise.catch === 'function') {
|
|
2112
|
+
maybePromise.catch(() => { });
|
|
2113
|
+
}
|
|
2114
|
+
}
|
|
2115
|
+
catch {
|
|
2116
|
+
// swallow — callback errors must not break guard flow
|
|
2117
|
+
}
|
|
2118
|
+
}
|
|
2119
|
+
/**
|
|
2120
|
+
* Emit a webhook event for economic authorization outcomes.
|
|
2121
|
+
*
|
|
2122
|
+
* Maps economic evaluation results to the appropriate webhook event type:
|
|
2123
|
+
* - budget_exceeded → 'budget_exceeded'
|
|
2124
|
+
* - approval_required → 'approval_triggered'
|
|
2125
|
+
* - budget_warning (>80% utilization on allow) → 'budget_warning'
|
|
2126
|
+
* - spend_committed (successful reservation) → 'spend_committed'
|
|
2127
|
+
*/
|
|
2128
|
+
emitEconomicEvent(toolName, args, econResult, economicContext, forceType) {
|
|
2129
|
+
let eventType;
|
|
2130
|
+
if (forceType) {
|
|
2131
|
+
eventType = forceType;
|
|
2132
|
+
}
|
|
2133
|
+
else if (econResult.denial?.reason === 'budget_exceeded') {
|
|
2134
|
+
eventType = 'budget_exceeded';
|
|
2135
|
+
}
|
|
2136
|
+
else if (econResult.denial?.reason === 'approval_required') {
|
|
2137
|
+
eventType = 'approval_triggered';
|
|
2138
|
+
}
|
|
2139
|
+
else {
|
|
2140
|
+
eventType = 'deny';
|
|
2141
|
+
}
|
|
2142
|
+
const event = {
|
|
2143
|
+
eventType,
|
|
2144
|
+
toolName,
|
|
2145
|
+
arguments: args,
|
|
2146
|
+
decision: econResult.decision,
|
|
2147
|
+
reason: econResult.denial?.reason,
|
|
2148
|
+
severity: eventType === 'budget_exceeded' ? 'high' : 'medium',
|
|
2149
|
+
timestamp: new Date().toISOString(),
|
|
2150
|
+
shadow: this.mode === 'shadow' ? true : undefined,
|
|
2151
|
+
economic: {
|
|
2152
|
+
cost: economicContext.cost,
|
|
2153
|
+
currency: economicContext.currency,
|
|
2154
|
+
protocol: economicContext.protocol,
|
|
2155
|
+
payer: economicContext.payer,
|
|
2156
|
+
budget_spent: econResult.denial?.budget_spent,
|
|
2157
|
+
budget_limit: econResult.denial?.budget_limit,
|
|
2158
|
+
budget_remaining: econResult.denial?.budget_remaining,
|
|
2159
|
+
},
|
|
2160
|
+
};
|
|
2161
|
+
this.eventWebhookEmitter.emit(event);
|
|
2162
|
+
}
|
|
2029
2163
|
toGuardResult(result) {
|
|
2030
2164
|
const metadata = result.metadata;
|
|
2031
2165
|
const ruleId = this.extractMetadataString(metadata, ['ruleId', 'rule_id']);
|
|
@@ -2376,6 +2510,67 @@ export class Veto {
|
|
|
2376
2510
|
* Unlike interceptor execution, this returns raw validation outcomes in log/shadow mode.
|
|
2377
2511
|
*/
|
|
2378
2512
|
async guard(toolName, args, context = {}) {
|
|
2513
|
+
// Economic pre-checks: payer validation and cost validation run BEFORE
|
|
2514
|
+
// behavioral rules. Budget reservation happens AFTER behavioral rules
|
|
2515
|
+
// to avoid the TOCTOU double-spend (check then reserve race).
|
|
2516
|
+
if (this.economicEvaluator && context.economic) {
|
|
2517
|
+
const econResult = this.economicEvaluator.evaluate(context.economic);
|
|
2518
|
+
if (econResult.decision !== 'allow') {
|
|
2519
|
+
this.logger.warn('Economic authorization denied', {
|
|
2520
|
+
toolName,
|
|
2521
|
+
decision: econResult.decision,
|
|
2522
|
+
reason: econResult.denial?.reason,
|
|
2523
|
+
cost: context.economic.cost,
|
|
2524
|
+
protocol: context.economic.protocol,
|
|
2525
|
+
});
|
|
2526
|
+
this.emitEconomicEvent(toolName, args, econResult, context.economic);
|
|
2527
|
+
const result = {
|
|
2528
|
+
decision: this.mode === 'shadow' ? 'allow' : econResult.decision,
|
|
2529
|
+
reason: econResult.denial
|
|
2530
|
+
? `Economic: ${econResult.denial.reason}`
|
|
2531
|
+
: 'Economic authorization denied',
|
|
2532
|
+
economicDenial: econResult.denial,
|
|
2533
|
+
shadow: this.mode === 'shadow' ? true : undefined,
|
|
2534
|
+
shadowDecision: this.mode === 'shadow' ? econResult.decision : undefined,
|
|
2535
|
+
};
|
|
2536
|
+
this.notifyDecisionMade(result, toolName);
|
|
2537
|
+
return result;
|
|
2538
|
+
}
|
|
2539
|
+
}
|
|
2540
|
+
// If economic evaluator is configured and can resolve cost from args
|
|
2541
|
+
// (no explicit EconomicContext provided, but cost_extraction is configured)
|
|
2542
|
+
let implicitEconomicContext;
|
|
2543
|
+
if (this.economicEvaluator && !context.economic) {
|
|
2544
|
+
const resolvedCost = this.economicEvaluator.resolveCost(toolName, args);
|
|
2545
|
+
if (resolvedCost !== undefined && resolvedCost > 0) {
|
|
2546
|
+
implicitEconomicContext = {
|
|
2547
|
+
cost: resolvedCost,
|
|
2548
|
+
currency: 'USD', // Default currency for implicit extraction
|
|
2549
|
+
protocol: 'custom',
|
|
2550
|
+
};
|
|
2551
|
+
const econResult = this.economicEvaluator.evaluate(implicitEconomicContext);
|
|
2552
|
+
if (econResult.decision !== 'allow') {
|
|
2553
|
+
this.logger.warn('Economic authorization denied (implicit cost)', {
|
|
2554
|
+
toolName,
|
|
2555
|
+
decision: econResult.decision,
|
|
2556
|
+
reason: econResult.denial?.reason,
|
|
2557
|
+
cost: resolvedCost,
|
|
2558
|
+
});
|
|
2559
|
+
this.emitEconomicEvent(toolName, args, econResult, implicitEconomicContext);
|
|
2560
|
+
const result = {
|
|
2561
|
+
decision: this.mode === 'shadow' ? 'allow' : econResult.decision,
|
|
2562
|
+
reason: econResult.denial
|
|
2563
|
+
? `Economic: ${econResult.denial.reason}`
|
|
2564
|
+
: 'Economic authorization denied',
|
|
2565
|
+
economicDenial: econResult.denial,
|
|
2566
|
+
shadow: this.mode === 'shadow' ? true : undefined,
|
|
2567
|
+
shadowDecision: this.mode === 'shadow' ? econResult.decision : undefined,
|
|
2568
|
+
};
|
|
2569
|
+
this.notifyDecisionMade(result, toolName);
|
|
2570
|
+
return result;
|
|
2571
|
+
}
|
|
2572
|
+
}
|
|
2573
|
+
}
|
|
2379
2574
|
const customContext = {
|
|
2380
2575
|
...(context.custom ?? {}),
|
|
2381
2576
|
};
|
|
@@ -2415,7 +2610,34 @@ export class Veto {
|
|
|
2415
2610
|
this.historyTracker.record(toolName, args, validationResult, aggregatedResult.totalDurationMs);
|
|
2416
2611
|
this.emitDecisionEvent(validationContext, validationResult);
|
|
2417
2612
|
this.logClientDecision(validationContext, validationResult, aggregatedResult.totalDurationMs);
|
|
2418
|
-
|
|
2613
|
+
// If behavioral rules allow and economic context exists, reserve budget.
|
|
2614
|
+
// Skip reservation in shadow mode — shadow should never deduct real budget.
|
|
2615
|
+
const behavioralResult = this.toGuardResult(validationResult);
|
|
2616
|
+
const effectiveEconomic = context.economic ?? implicitEconomicContext;
|
|
2617
|
+
if (behavioralResult.decision === 'allow'
|
|
2618
|
+
&& this.economicEvaluator
|
|
2619
|
+
&& effectiveEconomic
|
|
2620
|
+
&& effectiveEconomic.cost > 0
|
|
2621
|
+
&& this.mode !== 'shadow') {
|
|
2622
|
+
const reserveResult = this.economicEvaluator.reserveBudget(effectiveEconomic.cost, effectiveEconomic.currency);
|
|
2623
|
+
if (reserveResult.decision !== 'allow') {
|
|
2624
|
+
this.emitEconomicEvent(toolName, args, reserveResult, effectiveEconomic);
|
|
2625
|
+
const result = {
|
|
2626
|
+
...behavioralResult,
|
|
2627
|
+
decision: reserveResult.decision,
|
|
2628
|
+
reason: reserveResult.denial
|
|
2629
|
+
? `Economic: ${reserveResult.denial.reason}`
|
|
2630
|
+
: 'Budget reservation failed',
|
|
2631
|
+
economicDenial: reserveResult.denial,
|
|
2632
|
+
};
|
|
2633
|
+
this.notifyDecisionMade(result, toolName);
|
|
2634
|
+
return result;
|
|
2635
|
+
}
|
|
2636
|
+
// Emit spend_committed event on successful reservation
|
|
2637
|
+
this.emitEconomicEvent(toolName, args, reserveResult, effectiveEconomic, 'spend_committed');
|
|
2638
|
+
}
|
|
2639
|
+
this.notifyDecisionMade(behavioralResult, toolName);
|
|
2640
|
+
return behavioralResult;
|
|
2419
2641
|
}
|
|
2420
2642
|
/**
|
|
2421
2643
|
* Cache an approval preference for a tool.
|
|
@@ -2537,6 +2759,19 @@ export class Veto {
|
|
|
2537
2759
|
resetBudget() {
|
|
2538
2760
|
this.budgetTracker?.reset();
|
|
2539
2761
|
}
|
|
2762
|
+
/**
|
|
2763
|
+
* Get current economic budget status for a scope.
|
|
2764
|
+
* Returns null if no economic policy is configured.
|
|
2765
|
+
*/
|
|
2766
|
+
getEconomicBudgetStatus(scope = 'session') {
|
|
2767
|
+
return this.economicBudgetEngine?.getStatus(scope) ?? null;
|
|
2768
|
+
}
|
|
2769
|
+
/**
|
|
2770
|
+
* Reset economic budget for a scope.
|
|
2771
|
+
*/
|
|
2772
|
+
resetEconomicBudget(scope = 'session') {
|
|
2773
|
+
this.economicBudgetEngine?.reset(scope);
|
|
2774
|
+
}
|
|
2540
2775
|
dispose() {
|
|
2541
2776
|
if (this.refreshIntervalId) {
|
|
2542
2777
|
clearInterval(this.refreshIntervalId);
|