/** * Error thrown when a guardrail blocks a request */ export class GuardrailBlockError extends Error { public readonly pluginName: string; public readonly reason: string; constructor(pluginName: string, reason: string) { super(`Request blocked by guardrail '${pluginName}': ${reason}`); this.name = 'GuardrailBlockError'; this.pluginName = pluginName; this.reason = reason; } } /** * Error thrown when a guardrail plugin fails to initialize */ export class GuardrailInitError extends Error { public readonly pluginName: string; public readonly cause: Error | undefined; constructor(pluginName: string, message: string, cause?: Error) { super(`Failed to initialize guardrail plugin '${pluginName}': ${message}`); this.name = 'GuardrailInitError'; this.pluginName = pluginName; this.cause = cause; } } /** * Error thrown when a guardrail plugin execution fails */ export class GuardrailExecutionError extends Error { public readonly pluginName: string; public readonly phase: string; public readonly cause: Error | undefined; constructor(pluginName: string, phase: string, message: string, cause?: Error) { super(`Guardrail plugin '${pluginName}' failed during '${phase}': ${message}`); this.name = 'GuardrailExecutionError'; this.pluginName = pluginName; this.phase = phase; this.cause = cause; } }