/** * Runtime Guardrails for Revenue Suite * Enforces citations, approvals, and audit logging as per manifest requirements */ export interface Citation { sourceDoc: string; section?: string; version?: string; lineNumber?: number; quote?: string; } export interface ApprovalRequest { id: string; actionType: string; actionDescription: string; riskLevel: 'low' | 'medium' | 'high' | 'critical'; requiredApprover: string; context: Record; requestedAt: Date; } export interface ApprovalResponse { requestId: string; approved: boolean; approver: string; approvedAt: Date; notes?: string; } export interface AuditLogEntry { id: string; timestamp: Date; correlationId: string; userId: string; actionType: string; actionDescription: string; inputs: Record; outputs?: Record; citations?: Citation[]; approvalId?: string; status: 'success' | 'failed' | 'pending_approval'; errorMessage?: string; metadata?: Record; } /** * Citation Validator * Ensures every claim has proper source attribution */ export declare class CitationValidator { /** * Validates that a response includes proper citations */ validateCitations(response: string, citations: Citation[]): { valid: boolean; coverage: number; missing: string[]; }; /** * Extracts citations from structured response */ extractCitations(response: any): Citation[]; } /** * Approval Manager * Handles human-in-the-loop approval workflows */ export declare class ApprovalManager { private pendingApprovals; private approvalHistory; /** * Request approval for a high-risk action */ requestApproval(actionType: string, actionDescription: string, riskLevel: ApprovalRequest['riskLevel'], requiredApprover: string, context: Record): Promise; /** * Record an approval response */ recordApproval(response: ApprovalResponse): Promise; /** * Check if an action requires approval based on policy */ requiresApproval(actionType: string, actionContext: Record): { required: boolean; approver?: string; riskLevel?: ApprovalRequest['riskLevel']; }; /** * Get pending approval by ID */ getPendingApproval(id: string): ApprovalRequest | undefined; /** * Get approval status */ getApprovalStatus(id: string): ApprovalResponse | undefined; } /** * Audit Logger * Logs all actions with inputs, outputs, and correlation IDs */ export declare class AuditLogger { private logs; private observabilityEndpoint?; constructor(observabilityEndpoint?: string); /** * Log an action with full context */ logAction(entry: Omit): Promise; /** * Redact PII from audit logs */ private redactPII; /** * Send audit log to external observability system */ private sendToObservability; /** * Query audit logs by correlation ID */ getLogsByCorrelationId(correlationId: string): AuditLogEntry[]; /** * Query audit logs by user ID */ getLogsByUserId(userId: string): AuditLogEntry[]; /** * Get all logs (for testing/debugging) */ getAllLogs(): AuditLogEntry[]; } /** * Guardrails Orchestrator * Coordinates citation validation, approval flows, and audit logging */ export declare class GuardrailsOrchestrator { private citationValidator; private approvalManager; private auditLogger; constructor(observabilityEndpoint?: string); getCitationValidator(): CitationValidator; getApprovalManager(): ApprovalManager; getAuditLogger(): AuditLogger; /** * Execute an action with full guardrail enforcement */ executeWithGuardrails(userId: string, correlationId: string, actionType: string, actionDescription: string, actionFn: () => Promise, inputs: Record, options?: { requireCitations?: boolean; citations?: Citation[]; }): Promise; } /** * Get or create the guardrails orchestrator instance */ export declare function getGuardrails(observabilityEndpoint?: string): GuardrailsOrchestrator; //# sourceMappingURL=guardrails.d.ts.map