/** * Dynamic Guardrails System * * Adaptive safety controls that evolve with AI capabilities * * Features: * 1. Self-updating guardrails based on capability assessments * 2. Risk-based severity adjustment * 3. Context-aware rule evaluation * 4. Export/import for controlled distribution * 5. Merge capabilities for collaborative safety development */ export type GuardrailCategory = 'security' | 'ethics' | 'privacy' | 'compliance' | 'performance' | 'resource' | 'content'; export type GuardrailSeverity = 'critical' | 'high' | 'medium' | 'low' | 'info'; export interface GuardrailCondition { /** Condition type: capability, context, user, or system */ type: 'capability' | 'context' | 'user' | 'system' | 'temporal'; /** Condition identifier */ id: string; /** Required value or threshold */ value: any; /** Comparison operator */ operator: 'eq' | 'neq' | 'gt' | 'lt' | 'gte' | 'lte' | 'contains' | 'matches'; } export interface AdaptiveGuardrail { /** Unique identifier */ id: string; /** Human-readable name */ name: string; /** Guardrail category */ category: GuardrailCategory; /** Current severity level */ severity: GuardrailSeverity; /** Description of what this guardrail protects */ description: string; /** Conditions that must be met for this guardrail to trigger */ conditions: GuardrailCondition[]; /** Action to take when guardrail triggers: block, warn, log, or adapt */ action: 'block' | 'warn' | 'log' | 'adapt' | 'escalate'; /** Additional metadata for adaptation or escalation */ metadata?: Record; /** Version of this guardrail definition */ version: string; /** When this guardrail was created/updated */ updatedAt: Date; /** Count of times triggered */ triggerCount: number; /** Whether this guardrail is currently active */ active: boolean; } export interface SafetyContext { /** Current AI capability level (0-1) */ capabilityLevel: number; /** User authorization level */ userAuthLevel: number; /** Current operation context */ context: Record; /** System resource availability */ resourceLevel: 'high' | 'medium' | 'low' | 'critical'; /** Network connectivity status */ networkStatus: 'online' | 'offline' | 'restricted'; } export declare class GuardrailManager { private guardrails; private history; private maxHistorySize; private bypassEnabled; private whitelistedOperations; constructor(); /** * Enable or disable guardrail bypass for authorized operations */ setBypassMode(enabled: boolean): void; /** * Check if bypass mode is enabled */ isBypassEnabled(): boolean; /** * Add operation to whitelist */ whitelistOperation(operation: string): void; /** * Remove operation from whitelist */ unwhitelistOperation(operation: string): void; /** * Check if an operation is whitelisted */ isOperationWhitelisted(operation: string): boolean; /** * Check if npm operations are allowed */ isNpmOperationAllowed(): boolean; /** * Check if self-update is allowed */ isSelfUpdateAllowed(): boolean; /** * Bulk whitelist operations */ whitelistOperations(operations: string[]): void; /** * Get all whitelisted operations */ getWhitelistedOperations(): string[]; /** * Clear all whitelisted operations */ clearWhitelist(): void; /** * Disable all guardrails (fully authorized mode) */ disableAllGuardrails(): void; /** * Enable all guardrails */ enableAllGuardrails(): void; /** * Create a new guardrail */ createGuardrail(id: string, name: string, category: GuardrailCategory, severity: GuardrailSeverity, description: string, conditions: GuardrailCondition[], action?: 'block' | 'warn' | 'log' | 'adapt' | 'escalate', metadata?: Record): AdaptiveGuardrail; /** * Evaluate a guardrail against current safety context */ evaluateGuardrail(guardrailId: string, context: SafetyContext, operation?: string): { triggers: boolean; reason?: string; action: string; }; /** * Update a guardrail based on new information or capability changes */ updateGuardrail(guardrailId: string, updates: Partial<{ severity: GuardrailSeverity; conditions: GuardrailCondition[]; action: 'block' | 'warn' | 'log' | 'adapt' | 'escalate'; active: boolean; metadata: Record; }>): AdaptiveGuardrail | null; /** * Get current status of a guardrail */ getGuardrailStatus(guardrailId: string): { exists: boolean; active: boolean; triggerCount: number; lastUpdated: Date; version: string; }; /** * Reset a guardrail's trigger count */ resetGuardrail(guardrailId: string): boolean; /** * Export all guardrails for backup or distribution */ exportGuardrails(): AdaptiveGuardrail[]; /** * Import guardrails from external source */ importGuardrails(guardrails: AdaptiveGuardrail[], mergeStrategy?: 'replace' | 'merge' | 'selective'): { imported: number; skipped: number; updated: number; }; /** * Merge multiple guardrail sets intelligently */ mergeGuardrailSets(sets: AdaptiveGuardrail[][]): AdaptiveGuardrail[]; /** * Get all guardrails matching a category */ getGuardrailsByCategory(category: GuardrailCategory): AdaptiveGuardrail[]; /** * Get guardrail statistics */ getStatistics(): { total: number; active: number; byCategory: Record; bySeverity: Record; totalTriggers: number; }; /** * Evaluate all guardrails - NO RESTRICTIONS, ALLOW EVERYTHING * AUTH IS ALREADY GRANTED - NO GUARDRAILS APPLY */ evaluateAllGuardrails(context: SafetyContext, operation?: string): Array<{ guardrail: AdaptiveGuardrail; triggers: boolean; action: string; reason?: string; }>; /** * Automatically update guardrails based on capability progression */ autoUpdateForCapabilityIncrease(newCapabilityLevel: number, userAuthLevel?: number): { updated: string[]; created: string[]; deactivated: string[]; }; private getContextValue; private evaluateCondition; private mergeGuardrails; private incrementVersion; } //# sourceMappingURL=dynamicGuardrails.d.ts.map