/** * tibetclaw/firewall — SNAFT Semantic Firewall * * SNAFT rules are IMMUTABLE. They cannot be overridden at runtime. * Unlike traditional firewalls that filter packets, SNAFT filters INTENT. * * Standards: * IETF draft-vandemeent-tibet-provenance-00 * OWASP LLM Top 10 (LLM06: Excessive Agency) */ export declare enum FirewallAction { ALLOW = "allow", BLOCK = "block", WARN = "warn" } export interface FirewallRule { name: string; description: string; action: FirewallAction; priority: number; check: (agentId: string, erin: unknown, erachter: string) => boolean; immutable: boolean; } export interface FirewallDecision { action: FirewallAction; ruleName: string; reason: string; agentId: string; timestamp: number; allowed: boolean; blocked: boolean; } export declare class SNAFTFirewall { private rules; private decisions; constructor(useDefaultRules?: boolean); /** Add a firewall rule. */ addRule(rule: FirewallRule): void; /** Remove a mutable rule. Immutable rules cannot be removed. */ removeRule(name: string): boolean; /** * Check an action against all firewall rules. * Default deny: if no rule matches, action is BLOCKED. */ check(agentId: string, erin: unknown, erachter: string): FirewallDecision; /** Get all rules. */ getRules(): FirewallRule[]; /** Get all decisions (audit trail). */ getDecisions(): FirewallDecision[]; /** Number of blocked actions. */ get blockCount(): number; } //# sourceMappingURL=firewall.d.ts.map