/** * AgentGuard(TM) Spend: Policy evaluation engine * * Evaluates a SpendPolicy against a CallContext and returns a SpendDecision. * Pure function over inputs and the spend store; no network calls, no provider * SDK dependencies, no data plane involvement. * * Patent notice: Protected by U.S. patent-pending technology * (App. Nos. 63/983,615; 63/983,621; 63/983,843; 63/984,626; * 64/071,781; 64/071,789). */ import type { SpendPolicy, CallContext, SpendDecision, SpendStore, SpendScope, SpendAction, ReviewerCascadeOutcome, ReviewerCascadeReceipt } from './types'; import { type AgentGuardLicenseStatus } from './license'; /** * Build a collision-resistant storage key from a SpendScope. The hash is over * canonical JSON, so attacker-controlled separators in tenant/user IDs cannot * collide with another scope shape. */ export declare function buildScopeKey(scope: SpendScope): string; /** * Returns true if the policy scope shape is satisfied by the call scope. * Empty fields in the policy scope are wildcards. */ declare function policyMatchesCall(policyScope: SpendScope, callScope: SpendScope): boolean; export interface ReviewerCascadeInput { drafterConfidence?: number; outputText?: string; highRiskClassifierScore?: number; keywordWatchlist?: string[]; reviewerVerdict?: string; } export declare function getReviewerCascadeOutcome(policy: SpendPolicy, outcomeName: string): ReviewerCascadeOutcome | null; export declare function evaluateReviewerCascadeOutcome(outcomeName: string, outcome: ReviewerCascadeOutcome, input?: ReviewerCascadeInput): ReviewerCascadeReceipt; export declare function evaluateReviewerTriggers(triggers: unknown[], input?: ReviewerCascadeInput): string[]; export declare const BUILT_IN_KEYWORD_WATCHLISTS: Set; export declare function enforcePolicyLicenseGates(policy: SpendPolicy, license: AgentGuardLicenseStatus): void; export declare function findCustomKeywordWatchlists(policy: SpendPolicy): string[]; declare function mostRestrictive(a: SpendAction, b: SpendAction): SpendAction; export declare function evaluatePolicy(policy: SpendPolicy, call: CallContext, store: SpendStore): Promise; export declare function adjustPolicyWindowSpend(policy: SpendPolicy, store: SpendStore, deltaCents: number): Promise; declare function capabilityMeetsRequirement(claimed: NonNullable, required: NonNullable): boolean; export declare const _testing: { mostRestrictive: typeof mostRestrictive; policyMatchesCall: typeof policyMatchesCall; capabilityMeetsRequirement: typeof capabilityMeetsRequirement; }; export {}; //# sourceMappingURL=policy.d.ts.map