veto-sdk 2.0.0 → 2.2.1

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 (121) hide show
  1. package/dist/browser/index.d.ts +1 -1
  2. package/dist/browser/index.d.ts.map +1 -1
  3. package/dist/browser/index.js.map +1 -1
  4. package/dist/browser/protect.d.ts.map +1 -1
  5. package/dist/browser/protect.js +9 -1
  6. package/dist/browser/protect.js.map +1 -1
  7. package/dist/browser/types.d.ts +20 -1
  8. package/dist/browser/types.d.ts.map +1 -1
  9. package/dist/browser/veto.d.ts +10 -0
  10. package/dist/browser/veto.d.ts.map +1 -1
  11. package/dist/browser/veto.js +77 -4
  12. package/dist/browser/veto.js.map +1 -1
  13. package/dist/cloud/types.d.ts +17 -2
  14. package/dist/cloud/types.d.ts.map +1 -1
  15. package/dist/compiler/evaluator.d.ts.map +1 -1
  16. package/dist/compiler/evaluator.js +6 -0
  17. package/dist/compiler/evaluator.js.map +1 -1
  18. package/dist/core/events.d.ts +13 -1
  19. package/dist/core/events.d.ts.map +1 -1
  20. package/dist/core/events.js +37 -4
  21. package/dist/core/events.js.map +1 -1
  22. package/dist/core/protect.d.ts +7 -1
  23. package/dist/core/protect.d.ts.map +1 -1
  24. package/dist/core/protect.js +23 -5
  25. package/dist/core/protect.js.map +1 -1
  26. package/dist/core/veto.d.ts +43 -1
  27. package/dist/core/veto.d.ts.map +1 -1
  28. package/dist/core/veto.js +256 -13
  29. package/dist/core/veto.js.map +1 -1
  30. package/dist/deterministic/regex-safety.d.ts.map +1 -1
  31. package/dist/deterministic/regex-safety.js +42 -1
  32. package/dist/deterministic/regex-safety.js.map +1 -1
  33. package/dist/deterministic/types.d.ts +103 -0
  34. package/dist/deterministic/types.d.ts.map +1 -1
  35. package/dist/economic/budget-engine.d.ts +29 -0
  36. package/dist/economic/budget-engine.d.ts.map +1 -0
  37. package/dist/economic/budget-engine.js +146 -0
  38. package/dist/economic/budget-engine.js.map +1 -0
  39. package/dist/economic/connectors/ap2.d.ts +51 -0
  40. package/dist/economic/connectors/ap2.d.ts.map +1 -0
  41. package/dist/economic/connectors/ap2.js +133 -0
  42. package/dist/economic/connectors/ap2.js.map +1 -0
  43. package/dist/economic/connectors/index.d.ts +8 -0
  44. package/dist/economic/connectors/index.d.ts.map +1 -0
  45. package/dist/economic/connectors/index.js +8 -0
  46. package/dist/economic/connectors/index.js.map +1 -0
  47. package/dist/economic/connectors/mpp.d.ts +41 -0
  48. package/dist/economic/connectors/mpp.d.ts.map +1 -0
  49. package/dist/economic/connectors/mpp.js +97 -0
  50. package/dist/economic/connectors/mpp.js.map +1 -0
  51. package/dist/economic/connectors/x402.d.ts +20 -0
  52. package/dist/economic/connectors/x402.d.ts.map +1 -0
  53. package/dist/economic/connectors/x402.js +142 -0
  54. package/dist/economic/connectors/x402.js.map +1 -0
  55. package/dist/economic/evaluator.d.ts +77 -0
  56. package/dist/economic/evaluator.d.ts.map +1 -0
  57. package/dist/economic/evaluator.js +231 -0
  58. package/dist/economic/evaluator.js.map +1 -0
  59. package/dist/economic/index.d.ts +13 -0
  60. package/dist/economic/index.d.ts.map +1 -0
  61. package/dist/economic/index.js +15 -0
  62. package/dist/economic/index.js.map +1 -0
  63. package/dist/economic/types.d.ts +188 -0
  64. package/dist/economic/types.d.ts.map +1 -0
  65. package/dist/economic/types.js +10 -0
  66. package/dist/economic/types.js.map +1 -0
  67. package/dist/extractors/content.d.ts +42 -0
  68. package/dist/extractors/content.d.ts.map +1 -0
  69. package/dist/extractors/content.js +171 -0
  70. package/dist/extractors/content.js.map +1 -0
  71. package/dist/extractors/index.d.ts +7 -0
  72. package/dist/extractors/index.d.ts.map +1 -0
  73. package/dist/extractors/index.js +7 -0
  74. package/dist/extractors/index.js.map +1 -0
  75. package/dist/index.d.ts +9 -3
  76. package/dist/index.d.ts.map +1 -1
  77. package/dist/index.js +10 -2
  78. package/dist/index.js.map +1 -1
  79. package/dist/policy/generator.d.ts +110 -0
  80. package/dist/policy/generator.d.ts.map +1 -0
  81. package/dist/policy/generator.js +465 -0
  82. package/dist/policy/generator.js.map +1 -0
  83. package/dist/policy/index.d.ts +7 -0
  84. package/dist/policy/index.d.ts.map +1 -0
  85. package/dist/policy/index.js +7 -0
  86. package/dist/policy/index.js.map +1 -0
  87. package/dist/providers/adapters.d.ts +27 -0
  88. package/dist/providers/adapters.d.ts.map +1 -1
  89. package/dist/providers/adapters.js +58 -0
  90. package/dist/providers/adapters.js.map +1 -1
  91. package/dist/rules/condition-evaluator.d.ts +6 -0
  92. package/dist/rules/condition-evaluator.d.ts.map +1 -1
  93. package/dist/rules/condition-evaluator.js +60 -18
  94. package/dist/rules/condition-evaluator.js.map +1 -1
  95. package/dist/rules/expression-validator.d.ts.map +1 -1
  96. package/dist/rules/expression-validator.js +5 -0
  97. package/dist/rules/expression-validator.js.map +1 -1
  98. package/dist/rules/index.d.ts +1 -0
  99. package/dist/rules/index.d.ts.map +1 -1
  100. package/dist/rules/index.js +1 -0
  101. package/dist/rules/index.js.map +1 -1
  102. package/dist/rules/local-evaluator.d.ts +65 -0
  103. package/dist/rules/local-evaluator.d.ts.map +1 -0
  104. package/dist/rules/local-evaluator.js +250 -0
  105. package/dist/rules/local-evaluator.js.map +1 -0
  106. package/dist/rules/policy-ir-schema.d.ts +109 -0
  107. package/dist/rules/policy-ir-schema.d.ts.map +1 -1
  108. package/dist/rules/policy-ir-schema.js +90 -0
  109. package/dist/rules/policy-ir-schema.js.map +1 -1
  110. package/dist/rules/policy-packs.d.ts.map +1 -1
  111. package/dist/rules/policy-packs.js +1 -0
  112. package/dist/rules/policy-packs.js.map +1 -1
  113. package/dist/types/config.d.ts +2 -1
  114. package/dist/types/config.d.ts.map +1 -1
  115. package/dist/types/config.js.map +1 -1
  116. package/dist/utils/logger.d.ts +38 -2
  117. package/dist/utils/logger.d.ts.map +1 -1
  118. package/dist/utils/logger.js +231 -26
  119. package/dist/utils/logger.js.map +1 -1
  120. package/package.json +27 -12
  121. package/packs/economic-agent.yaml +62 -0
@@ -7,6 +7,7 @@
7
7
  * @module providers/adapters
8
8
  */
9
9
  import type { ToolDefinition, ToolCall } from '../types/tool.js';
10
+ import type { EconomicContext } from '../economic/types.js';
10
11
  import type { OpenAITool, OpenAIToolCall, AnthropicTool, AnthropicToolUse, GoogleTool, GoogleFunctionDeclaration, GoogleFunctionCall, MCPTool, MCPToolCallArgs } from './types.js';
11
12
  /**
12
13
  * Convert Veto tool definition to OpenAI format.
@@ -163,6 +164,32 @@ export declare function toMCPTools(tools: readonly ToolDefinition[]): MCPTool[];
163
164
  * no `input_schema` (Anthropic) or `function` (OpenAI) properties.
164
165
  */
165
166
  export declare function isMCPTool(tool: unknown): tool is MCPTool;
167
+ /**
168
+ * Extract economic context from MCP tool call metadata.
169
+ *
170
+ * MCP servers can include economic metadata in tool call arguments or
171
+ * _meta fields. This function looks for the `economic_context` convention:
172
+ *
173
+ * ```json
174
+ * {
175
+ * "name": "search_api",
176
+ * "arguments": {
177
+ * "query": "...",
178
+ * "_meta": {
179
+ * "economic_context": {
180
+ * "cost": 0.01,
181
+ * "currency": "USD",
182
+ * "protocol": "mpp",
183
+ * "payer": "cus_stripe_123"
184
+ * }
185
+ * }
186
+ * }
187
+ * }
188
+ * ```
189
+ *
190
+ * Returns null if no economic context is found.
191
+ */
192
+ export declare function extractMCPEconomicContext(toolCall: MCPToolCallArgs): EconomicContext | null;
166
193
  /**
167
194
  * Adapter interface for converting between formats.
168
195
  */
@@ -1 +1 @@
1
- {"version":3,"file":"adapters.d.ts","sourceRoot":"","sources":["../../src/providers/adapters.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"adapters.d.ts","sourceRoot":"","sources":["../../src/providers/adapters.ts"],"names":[],"mappings":"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"}
@@ -296,6 +296,64 @@ export function isMCPTool(tool) {
296
296
  return false;
297
297
  return true;
298
298
  }
299
+ // ============================================================================
300
+ // MCP Economic Context Extraction
301
+ // ============================================================================
302
+ /**
303
+ * Extract economic context from MCP tool call metadata.
304
+ *
305
+ * MCP servers can include economic metadata in tool call arguments or
306
+ * _meta fields. This function looks for the `economic_context` convention:
307
+ *
308
+ * ```json
309
+ * {
310
+ * "name": "search_api",
311
+ * "arguments": {
312
+ * "query": "...",
313
+ * "_meta": {
314
+ * "economic_context": {
315
+ * "cost": 0.01,
316
+ * "currency": "USD",
317
+ * "protocol": "mpp",
318
+ * "payer": "cus_stripe_123"
319
+ * }
320
+ * }
321
+ * }
322
+ * }
323
+ * ```
324
+ *
325
+ * Returns null if no economic context is found.
326
+ */
327
+ export function extractMCPEconomicContext(toolCall) {
328
+ const args = toolCall.arguments;
329
+ if (!args)
330
+ return null;
331
+ // Check _meta.economic_context (preferred convention)
332
+ const meta = args._meta;
333
+ if (meta?.economic_context && typeof meta.economic_context === 'object') {
334
+ return parseMCPEconomicContext(meta.economic_context);
335
+ }
336
+ // Check top-level economic_context (alternative)
337
+ if (args.economic_context && typeof args.economic_context === 'object') {
338
+ return parseMCPEconomicContext(args.economic_context);
339
+ }
340
+ return null;
341
+ }
342
+ function parseMCPEconomicContext(data) {
343
+ const cost = typeof data.cost === 'number' ? data.cost : undefined;
344
+ if (cost === undefined || !Number.isFinite(cost) || cost < 0)
345
+ return null;
346
+ const currency = typeof data.currency === 'string' ? data.currency : 'USD';
347
+ const VALID_PROTOCOLS = new Set(['x402', 'mpp', 'ap2', 'custom']);
348
+ const protocol = typeof data.protocol === 'string'
349
+ && VALID_PROTOCOLS.has(data.protocol)
350
+ ? data.protocol
351
+ : 'custom';
352
+ const payer = typeof data.payer === 'string' ? data.payer : undefined;
353
+ const { cost: _, currency: _c, protocol: _p, payer: _py, ...rest } = data;
354
+ const protocol_metadata = Object.keys(rest).length > 0 ? rest : undefined;
355
+ return { cost, currency, payer, protocol, protocol_metadata };
356
+ }
299
357
  /**
300
358
  * OpenAI adapter instance.
301
359
  */
@@ -1 +1 @@
1
- {"version":3,"file":"adapters.js","sourceRoot":"","sources":["../../src/providers/adapters.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"adapters.js","sourceRoot":"","sources":["../../src/providers/adapters.ts"],"names":[],"mappings":"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"}
@@ -4,6 +4,10 @@ export interface ConditionEvaluationOptions {
4
4
  allowNestedObjectStringSearch?: boolean;
5
5
  now?: Date;
6
6
  }
7
+ interface TimeWindowEvaluation {
8
+ inScope: boolean;
9
+ withinWindow: boolean;
10
+ }
7
11
  /**
8
12
  * Resolve a dot-notation field path from an evaluation context.
9
13
  */
@@ -12,6 +16,7 @@ export declare function resolveFieldPath(field: string, context: Record<string,
12
16
  * Compile a regex pattern only if it passes safety checks.
13
17
  */
14
18
  export declare function createSafeRegex(pattern: string, flags?: string): RegExp | null;
19
+ export declare function evaluateTimeWindow(fieldValue: unknown, expected: unknown): TimeWindowEvaluation | null;
15
20
  /**
16
21
  * Evaluate a single legacy field/operator/value condition.
17
22
  */
@@ -26,4 +31,5 @@ export declare function evaluateCondition(condition: RuleCondition, context: Rec
26
31
  * - `conditionGroups`: OR semantics, each group is AND
27
32
  */
28
33
  export declare function evaluateConditionCollections(conditions: RuleCondition[] | undefined, conditionGroups: RuleCondition[][] | undefined, context: Record<string, unknown>, options?: ConditionEvaluationOptions): boolean;
34
+ export {};
29
35
  //# sourceMappingURL=condition-evaluator.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"condition-evaluator.d.ts","sourceRoot":"","sources":["../../src/rules/condition-evaluator.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EACV,iBAAiB,EACjB,aAAa,EAEd,MAAM,YAAY,CAAC;AAEpB,MAAM,WAAW,0BAA0B;IACzC,kBAAkB,CAAC,EAAE,CAAC,UAAU,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,OAAO,CAAC;IACvF,6BAA6B,CAAC,EAAE,OAAO,CAAC;IACxC,GAAG,CAAC,EAAE,IAAI,CAAC;CACZ;AAwDD;;GAEG;AACH,wBAAgB,gBAAgB,CAC9B,KAAK,EAAE,MAAM,EACb,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAChC,cAAc,GAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAoC,GACzE,OAAO,CAWT;AAED;;GAEG;AACH,wBAAgB,eAAe,CAC7B,OAAO,EAAE,MAAM,EACf,KAAK,CAAC,EAAE,MAAM,GACb,MAAM,GAAG,IAAI,CAef;AAuTD;;GAEG;AACH,wBAAgB,uBAAuB,CACrC,UAAU,EAAE,OAAO,EACnB,QAAQ,EAAE,iBAAiB,EAC3B,QAAQ,EAAE,OAAO,EACjB,OAAO,GAAE,IAAI,CAAC,0BAA0B,EAAE,+BAA+B,CAAM,GAC9E,OAAO,CA0FT;AAED;;GAEG;AACH,wBAAgB,iBAAiB,CAC/B,SAAS,EAAE,aAAa,EACxB,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAChC,OAAO,GAAE,0BAA+B,GACvC,OAAO,CAuCT;AAED;;;;GAIG;AACH,wBAAgB,4BAA4B,CAC1C,UAAU,EAAE,aAAa,EAAE,GAAG,SAAS,EACvC,eAAe,EAAE,aAAa,EAAE,EAAE,GAAG,SAAS,EAC9C,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAChC,OAAO,GAAE,0BAA+B,GACvC,OAAO,CAiBT"}
1
+ {"version":3,"file":"condition-evaluator.d.ts","sourceRoot":"","sources":["../../src/rules/condition-evaluator.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EACV,iBAAiB,EACjB,aAAa,EAEd,MAAM,YAAY,CAAC;AAEpB,MAAM,WAAW,0BAA0B;IACzC,kBAAkB,CAAC,EAAE,CAAC,UAAU,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,OAAO,CAAC;IACvF,6BAA6B,CAAC,EAAE,OAAO,CAAC;IACxC,GAAG,CAAC,EAAE,IAAI,CAAC;CACZ;AASD,UAAU,oBAAoB;IAC5B,OAAO,EAAE,OAAO,CAAC;IACjB,YAAY,EAAE,OAAO,CAAC;CACvB;AA6CD;;GAEG;AACH,wBAAgB,gBAAgB,CAC9B,KAAK,EAAE,MAAM,EACb,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAChC,cAAc,GAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAoC,GACzE,OAAO,CAWT;AAED;;GAEG;AACH,wBAAgB,eAAe,CAC7B,OAAO,EAAE,MAAM,EACf,KAAK,CAAC,EAAE,MAAM,GACb,MAAM,GAAG,IAAI,CAef;AAqMD,wBAAgB,kBAAkB,CAChC,UAAU,EAAE,OAAO,EACnB,QAAQ,EAAE,OAAO,GAChB,oBAAoB,GAAG,IAAI,CAmD7B;AAgED;;GAEG;AACH,wBAAgB,uBAAuB,CACrC,UAAU,EAAE,OAAO,EACnB,QAAQ,EAAE,iBAAiB,EAC3B,QAAQ,EAAE,OAAO,EACjB,OAAO,GAAE,IAAI,CAAC,0BAA0B,EAAE,+BAA+B,CAAM,GAC9E,OAAO,CAwHT;AAED;;GAEG;AACH,wBAAgB,iBAAiB,CAC/B,SAAS,EAAE,aAAa,EACxB,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAChC,OAAO,GAAE,0BAA+B,GACvC,OAAO,CAwCT;AAED;;;;GAIG;AACH,wBAAgB,4BAA4B,CAC1C,UAAU,EAAE,aAAa,EAAE,GAAG,SAAS,EACvC,eAAe,EAAE,aAAa,EAAE,EAAE,GAAG,SAAS,EAC9C,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAChC,OAAO,GAAE,0BAA+B,GACvC,OAAO,CAiBT"}
@@ -31,6 +31,8 @@ function resolveDotPath(path, source) {
31
31
  if (typeof current !== 'object') {
32
32
  return undefined;
33
33
  }
34
+ if (!Object.prototype.hasOwnProperty.call(current, part))
35
+ return undefined;
34
36
  current = current[part];
35
37
  }
36
38
  return current;
@@ -178,6 +180,11 @@ function getTimeZoneFormatter(timezone) {
178
180
  minute: '2-digit',
179
181
  hour12: false,
180
182
  });
183
+ if (TIMEZONE_FORMATTER_CACHE.size >= 1000) {
184
+ const firstKey = TIMEZONE_FORMATTER_CACHE.keys().next().value;
185
+ if (firstKey !== undefined)
186
+ TIMEZONE_FORMATTER_CACHE.delete(firstKey);
187
+ }
181
188
  TIMEZONE_FORMATTER_CACHE.set(timezone, formatter);
182
189
  return formatter;
183
190
  }
@@ -224,7 +231,7 @@ function previousDay(day) {
224
231
  function isDayAllowed(day, allowedDays) {
225
232
  return allowedDays === null || allowedDays.has(day);
226
233
  }
227
- function evaluateTimeWindow(fieldValue, expected) {
234
+ export function evaluateTimeWindow(fieldValue, expected) {
228
235
  const parsedWindow = normalizeTimeWindowValue(expected);
229
236
  if (!parsedWindow) {
230
237
  return null;
@@ -321,60 +328,82 @@ export function evaluateLegacyCondition(fieldValue, operator, expected, options
321
328
  const allowNestedObjectStringSearch = options.allowNestedObjectStringSearch === true;
322
329
  switch (operator) {
323
330
  case 'equals':
331
+ if (typeof fieldValue === 'string' && typeof expected === 'string') {
332
+ return fieldValue.toLowerCase() === expected.toLowerCase();
333
+ }
324
334
  return fieldValue === expected;
325
335
  case 'not_equals':
336
+ if (typeof fieldValue === 'string' && typeof expected === 'string') {
337
+ return fieldValue.toLowerCase() !== expected.toLowerCase();
338
+ }
326
339
  return fieldValue !== expected;
327
340
  case 'contains':
328
341
  if (typeof fieldValue === 'string' && typeof expected === 'string') {
329
- return fieldValue.includes(expected);
342
+ return fieldValue.toLowerCase().includes(expected.toLowerCase());
330
343
  }
331
344
  if (Array.isArray(fieldValue)) {
345
+ if (typeof expected === 'string') {
346
+ const lower = expected.toLowerCase();
347
+ return fieldValue.some((e) => typeof e === 'string' ? e.toLowerCase() === lower : e === expected);
348
+ }
332
349
  return fieldValue.includes(expected);
333
350
  }
334
351
  if (allowNestedObjectStringSearch && typeof expected === 'string') {
352
+ const lower = expected.toLowerCase();
335
353
  return collectNestedStrings(fieldValue)
336
- .some((value) => value.includes(expected));
354
+ .some((value) => value.toLowerCase().includes(lower));
337
355
  }
338
356
  return false;
339
357
  case 'not_contains':
340
358
  if (typeof fieldValue === 'string' && typeof expected === 'string') {
341
- return !fieldValue.includes(expected);
359
+ return !fieldValue.toLowerCase().includes(expected.toLowerCase());
342
360
  }
343
361
  if (Array.isArray(fieldValue)) {
362
+ if (typeof expected === 'string') {
363
+ const lower = expected.toLowerCase();
364
+ return !fieldValue.some((e) => typeof e === 'string' ? e.toLowerCase() === lower : e === expected);
365
+ }
344
366
  return !fieldValue.includes(expected);
345
367
  }
346
368
  if (allowNestedObjectStringSearch && typeof expected === 'string') {
369
+ const lower = expected.toLowerCase();
347
370
  return collectNestedStrings(fieldValue)
348
- .every((value) => !value.includes(expected));
371
+ .every((value) => !value.toLowerCase().includes(lower));
349
372
  }
350
- return true;
373
+ return false;
351
374
  case 'starts_with':
352
375
  return typeof fieldValue === 'string' && typeof expected === 'string'
353
- && fieldValue.startsWith(expected);
376
+ && fieldValue.toLowerCase().startsWith(expected.toLowerCase());
354
377
  case 'ends_with':
355
378
  return typeof fieldValue === 'string' && typeof expected === 'string'
356
- && fieldValue.endsWith(expected);
379
+ && fieldValue.toLowerCase().endsWith(expected.toLowerCase());
357
380
  case 'matches': {
358
381
  if (typeof expected !== 'string') {
359
382
  return false;
360
383
  }
361
384
  if (typeof fieldValue === 'string') {
362
- return createSafeRegex(expected)?.test(fieldValue) ?? false;
385
+ return createSafeRegex(expected, 'i')?.test(fieldValue) ?? false;
363
386
  }
364
387
  if (!allowNestedObjectStringSearch) {
365
388
  return false;
366
389
  }
367
- const regex = createSafeRegex(expected);
390
+ const regex = createSafeRegex(expected, 'i');
368
391
  if (!regex) {
369
392
  return false;
370
393
  }
371
394
  return collectNestedStrings(fieldValue)
372
395
  .some((value) => regex.test(value));
373
396
  }
374
- case 'greater_than':
375
- return Number(fieldValue) > Number(expected);
376
- case 'less_than':
377
- return Number(fieldValue) < Number(expected);
397
+ case 'greater_than': {
398
+ if (typeof fieldValue !== 'number' || typeof expected !== 'number')
399
+ return false;
400
+ return Number.isFinite(fieldValue) && Number.isFinite(expected) && fieldValue > expected;
401
+ }
402
+ case 'less_than': {
403
+ if (typeof fieldValue !== 'number' || typeof expected !== 'number')
404
+ return false;
405
+ return Number.isFinite(fieldValue) && Number.isFinite(expected) && fieldValue < expected;
406
+ }
378
407
  case 'length_greater_than': {
379
408
  const fieldLength = getLengthComparableValue(fieldValue);
380
409
  if (fieldLength === null) {
@@ -387,9 +416,21 @@ export function evaluateLegacyCondition(fieldValue, operator, expected, options
387
416
  return fieldLength > expectedLength;
388
417
  }
389
418
  case 'in':
390
- return Array.isArray(expected) && expected.includes(fieldValue);
419
+ if (!Array.isArray(expected))
420
+ return false;
421
+ if (typeof fieldValue === 'string') {
422
+ const lower = fieldValue.toLowerCase();
423
+ return expected.some((e) => typeof e === 'string' ? e.toLowerCase() === lower : e === fieldValue);
424
+ }
425
+ return expected.includes(fieldValue);
391
426
  case 'not_in':
392
- return Array.isArray(expected) && !expected.includes(fieldValue);
427
+ if (!Array.isArray(expected))
428
+ return false;
429
+ if (typeof fieldValue === 'string') {
430
+ const lower = fieldValue.toLowerCase();
431
+ return !expected.some((e) => typeof e === 'string' ? e.toLowerCase() === lower : e === fieldValue);
432
+ }
433
+ return !expected.includes(fieldValue);
393
434
  case 'within_hours': {
394
435
  const result = evaluateTimeWindow(fieldValue, expected);
395
436
  return result !== null && result.inScope && result.withinWindow;
@@ -425,7 +466,8 @@ export function evaluateCondition(condition, context, options = {}) {
425
466
  const resolvedReferenceValue = Number(referenceValue);
426
467
  if (Number.isNaN(resolvedFieldValue)
427
468
  || Number.isNaN(resolvedExpectedValue)
428
- || Number.isNaN(resolvedReferenceValue)) {
469
+ || Number.isNaN(resolvedReferenceValue)
470
+ || resolvedReferenceValue === 0) {
429
471
  return false;
430
472
  }
431
473
  return resolvedFieldValue > (resolvedReferenceValue * resolvedExpectedValue / 100);
@@ -434,7 +476,7 @@ export function evaluateCondition(condition, context, options = {}) {
434
476
  allowNestedObjectStringSearch: options.allowNestedObjectStringSearch,
435
477
  });
436
478
  }
437
- return true;
479
+ return false;
438
480
  }
439
481
  /**
440
482
  * Evaluate a rule-like condition collection:
@@ -1 +1 @@
1
- {"version":3,"file":"condition-evaluator.js","sourceRoot":"","sources":["../../src/rules/condition-evaluator.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"condition-evaluator.js","sourceRoot":"","sources":["../../src/rules/condition-evaluator.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"expression-validator.d.ts","sourceRoot":"","sources":["../../src/rules/expression-validator.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAC;AACjD,OAAO,KAAK,EACV,iBAAiB,EACjB,gBAAgB,EAChB,cAAc,EACf,MAAM,oBAAoB,CAAC;AAC5B,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,YAAY,CAAC;AACvC,OAAO,EAAE,UAAU,EAAE,KAAK,UAAU,EAAE,MAAM,aAAa,CAAC;AAK1D,MAAM,WAAW,yBAAyB;IACxC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,UAAU,CAAC,EAAE,UAAU,CAAC;IACxB,mBAAmB,CAAC,EAAE,OAAO,CAAC;CAC/B;AAED,MAAM,WAAW,0BAA0B;IACzC,MAAM,EAAE,yBAAyB,CAAC;IAClC,MAAM,EAAE,MAAM,CAAC;CAChB;AAED;;;;;GAKG;AACH,qBAAa,mBAAmB;IAC9B,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAS;IAChC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAA4B;IACnD,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAa;IACxC,OAAO,CAAC,QAAQ,CAAC,aAAa,CAA8B;IAC5D,OAAO,CAAC,aAAa,CAAS;gBAElB,OAAO,EAAE,0BAA0B;IAUzC,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;IAajC,QAAQ,CAAC,KAAK,EAAE,IAAI,EAAE,EAAE,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI;IAI/C,aAAa,IAAI,UAAU;IAIrB,QAAQ,CAAC,OAAO,EAAE,iBAAiB,GAAG,OAAO,CAAC,gBAAgB,CAAC;IAuDrE,gBAAgB,IAAI,cAAc;IASlC,OAAO,CAAC,kBAAkB;CAU3B;AAED,wBAAgB,yBAAyB,CACvC,OAAO,EAAE,0BAA0B,GAClC,mBAAmB,CAErB"}
1
+ {"version":3,"file":"expression-validator.d.ts","sourceRoot":"","sources":["../../src/rules/expression-validator.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAC;AACjD,OAAO,KAAK,EACV,iBAAiB,EACjB,gBAAgB,EAChB,cAAc,EACf,MAAM,oBAAoB,CAAC;AAC5B,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,YAAY,CAAC;AACvC,OAAO,EAAE,UAAU,EAAE,KAAK,UAAU,EAAE,MAAM,aAAa,CAAC;AAK1D,MAAM,WAAW,yBAAyB;IACxC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,UAAU,CAAC,EAAE,UAAU,CAAC;IACxB,mBAAmB,CAAC,EAAE,OAAO,CAAC;CAC/B;AAED,MAAM,WAAW,0BAA0B;IACzC,MAAM,EAAE,yBAAyB,CAAC;IAClC,MAAM,EAAE,MAAM,CAAC;CAChB;AAED;;;;;GAKG;AACH,qBAAa,mBAAmB;IAC9B,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAS;IAChC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAA4B;IACnD,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAa;IACxC,OAAO,CAAC,QAAQ,CAAC,aAAa,CAA8B;IAC5D,OAAO,CAAC,aAAa,CAAS;gBAElB,OAAO,EAAE,0BAA0B;IAUzC,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;IAajC,QAAQ,CAAC,KAAK,EAAE,IAAI,EAAE,EAAE,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI;IAI/C,aAAa,IAAI,UAAU;IAIrB,QAAQ,CAAC,OAAO,EAAE,iBAAiB,GAAG,OAAO,CAAC,gBAAgB,CAAC;IAuDrE,gBAAgB,IAAI,cAAc;IASlC,OAAO,CAAC,kBAAkB;CAc3B;AAED,wBAAgB,yBAAyB,CACvC,OAAO,EAAE,0BAA0B,GAClC,mBAAmB,CAErB"}
@@ -97,6 +97,11 @@ export class ExpressionValidator {
97
97
  let ast = this.compiledCache.get(expression);
98
98
  if (!ast) {
99
99
  ast = compile(expression);
100
+ if (this.compiledCache.size >= 10_000) {
101
+ const firstKey = this.compiledCache.keys().next().value;
102
+ if (firstKey !== undefined)
103
+ this.compiledCache.delete(firstKey);
104
+ }
100
105
  this.compiledCache.set(expression, ast);
101
106
  }
102
107
  const result = evaluate(ast, ctx);
@@ -1 +1 @@
1
- {"version":3,"file":"expression-validator.js","sourceRoot":"","sources":["../../src/rules/expression-validator.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"expression-validator.js","sourceRoot":"","sources":["../../src/rules/expression-validator.ts"],"names":[],"mappings":"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"}
@@ -12,4 +12,5 @@ export * from './schema-validator.js';
12
12
  export * from './policy-ir-schema.js';
13
13
  export * from './condition-evaluator.js';
14
14
  export * from './patterns.js';
15
+ export { evaluateRulesLocally, evaluateCondition as evaluateConditionLocally, resolveFieldPath as resolveLocalFieldPath, type LocalEvalResult, } from './local-evaluator.js';
15
16
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/rules/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,cAAc,YAAY,CAAC;AAC3B,cAAc,aAAa,CAAC;AAC5B,cAAc,iBAAiB,CAAC;AAChC,cAAc,qBAAqB,CAAC;AACpC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,uBAAuB,CAAC;AACtC,cAAc,uBAAuB,CAAC;AACtC,cAAc,0BAA0B,CAAC;AACzC,cAAc,eAAe,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/rules/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,cAAc,YAAY,CAAC;AAC3B,cAAc,aAAa,CAAC;AAC5B,cAAc,iBAAiB,CAAC;AAChC,cAAc,qBAAqB,CAAC;AACpC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,uBAAuB,CAAC;AACtC,cAAc,uBAAuB,CAAC;AACtC,cAAc,0BAA0B,CAAC;AACzC,cAAc,eAAe,CAAC;AAC9B,OAAO,EACL,oBAAoB,EACpB,iBAAiB,IAAI,wBAAwB,EAC7C,gBAAgB,IAAI,qBAAqB,EACzC,KAAK,eAAe,GACrB,MAAM,sBAAsB,CAAC"}
@@ -12,4 +12,5 @@ export * from './schema-validator.js';
12
12
  export * from './policy-ir-schema.js';
13
13
  export * from './condition-evaluator.js';
14
14
  export * from './patterns.js';
15
+ export { evaluateRulesLocally, evaluateCondition as evaluateConditionLocally, resolveFieldPath as resolveLocalFieldPath, } from './local-evaluator.js';
15
16
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/rules/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,cAAc,YAAY,CAAC;AAC3B,cAAc,aAAa,CAAC;AAC5B,cAAc,iBAAiB,CAAC;AAChC,cAAc,qBAAqB,CAAC;AACpC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,uBAAuB,CAAC;AACtC,cAAc,uBAAuB,CAAC;AACtC,cAAc,0BAA0B,CAAC;AACzC,cAAc,eAAe,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/rules/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,cAAc,YAAY,CAAC;AAC3B,cAAc,aAAa,CAAC;AAC5B,cAAc,iBAAiB,CAAC;AAChC,cAAc,qBAAqB,CAAC;AACpC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,uBAAuB,CAAC;AACtC,cAAc,uBAAuB,CAAC;AACtC,cAAc,0BAA0B,CAAC;AACzC,cAAc,eAAe,CAAC;AAC9B,OAAO,EACL,oBAAoB,EACpB,iBAAiB,IAAI,wBAAwB,EAC7C,gBAAgB,IAAI,qBAAqB,GAE1C,MAAM,sBAAsB,CAAC"}
@@ -0,0 +1,65 @@
1
+ /**
2
+ * Local rule evaluator — evaluate Rule[] against a tool call without cloud.
3
+ *
4
+ * Supports 16 operators, dot-notation field resolution, AND/OR condition
5
+ * groups, and tool filtering. Designed for sub-millisecond local evaluation.
6
+ *
7
+ * Key behavior: undefined fields NEVER match. This prevents false positives
8
+ * on negative operators like not_equals, not_contains, not_in.
9
+ *
10
+ * **Alignment with canonical condition-evaluator.ts:**
11
+ * - All string comparisons are case-insensitive (aligned with canonical).
12
+ * - `within_hours`/`outside_hours` support structured TimeWindowValue objects
13
+ * with timezone/day support (aligned with canonical), plus simple
14
+ * "HH:MM-HH:MM" wall clock strings for backwards compatibility.
15
+ * - `percent_of` falls back to simplified `fieldValue >= expected` when
16
+ * no `reference` field is provided (canonical requires `reference`).
17
+ *
18
+ * @module rules/local-evaluator
19
+ */
20
+ import type { Rule, RuleCondition } from './types.js';
21
+ export interface LocalEvalResult {
22
+ decision: 'allow' | 'deny' | 'require_approval' | null;
23
+ reason?: string;
24
+ ruleId?: string;
25
+ }
26
+ /**
27
+ * Resolve a dot-notation field path in a nested object.
28
+ *
29
+ * Returns `undefined` for any broken path segment.
30
+ */
31
+ export declare function resolveFieldPath(path: string, obj: Record<string, unknown>): unknown;
32
+ /**
33
+ * Evaluate a single condition against a context object.
34
+ *
35
+ * All string comparisons are case-insensitive (aligned with canonical evaluator).
36
+ *
37
+ * **`within_hours` / `outside_hours`:**
38
+ * Supports two formats:
39
+ * 1. Structured TimeWindowValue objects with timezone/day support (aligned
40
+ * with canonical evaluator, uses field value as timestamp).
41
+ * 2. Simple `"HH:MM-HH:MM"` strings for backwards-compatible wall clock mode.
42
+ *
43
+ * **`percent_of` divergence:**
44
+ * When a `reference` field is present on the condition, the local
45
+ * evaluator resolves it and computes `fieldValue / referenceValue * 100`,
46
+ * returning true when the percentage exceeds `expected`. When no
47
+ * `reference` field exists, it falls back to a simplified comparison:
48
+ * `fieldValue >= expected`. The canonical evaluator always requires a
49
+ * `reference` field and returns false without one.
50
+ *
51
+ * Unknown operators return false.
52
+ */
53
+ export declare function evaluateCondition(condition: RuleCondition, context: Record<string, unknown>): boolean;
54
+ /**
55
+ * Evaluate an array of rules against a tool call.
56
+ *
57
+ * Rules are evaluated in order. First matching rule wins.
58
+ * Returns `null` if no rule matched (caller should fall through to cloud).
59
+ *
60
+ * @param rules - Rules to evaluate (only enabled rules are considered)
61
+ * @param toolName - The tool being called (e.g. "browser_click")
62
+ * @param args - Context object for field resolution (typically `{ arguments: { ... } }`)
63
+ */
64
+ export declare function evaluateRulesLocally(rules: Rule[], toolName: string, args: Record<string, unknown>): LocalEvalResult;
65
+ //# sourceMappingURL=local-evaluator.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"local-evaluator.d.ts","sourceRoot":"","sources":["../../src/rules/local-evaluator.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AAEH,OAAO,KAAK,EAAE,IAAI,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAGtD,MAAM,WAAW,eAAe;IAC9B,QAAQ,EAAE,OAAO,GAAG,MAAM,GAAG,kBAAkB,GAAG,IAAI,CAAC;IACvD,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED;;;;GAIG;AACH,wBAAgB,gBAAgB,CAC9B,IAAI,EAAE,MAAM,EACZ,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAC3B,OAAO,CAST;AAED;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,wBAAgB,iBAAiB,CAC/B,SAAS,EAAE,aAAa,EACxB,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAC/B,OAAO,CA6IT;AAED;;;;;;;;;GASG;AACH,wBAAgB,oBAAoB,CAClC,KAAK,EAAE,IAAI,EAAE,EACb,QAAQ,EAAE,MAAM,EAChB,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAC5B,eAAe,CAiCjB"}