UNPKG

@iota-big3/sdk-security

Version:

Advanced security features including zero trust, quantum-safe crypto, and ML threat detection

147 lines 3.92 kB
/** * Integration Types for SDK Security * Uses contracts to ensure compatibility */ import type { TypedRequest } from '@iota-big3/sdk-types'; import type { SecurityCacheContract } from '../contracts/cache.contract'; import type { SecurityDatabaseContract } from '../contracts/database.contract'; import type { SecurityEventBusContract } from '../contracts/events.contract'; import type { SecurityLoggerContract } from '../contracts/logger.contract'; import type { SDK as CoreSDK } from '@iota-big3/sdk-core'; import type { UniversalAPIGateway } from '@iota-big3/sdk-gateway'; export interface SDKIntegrationOptions { database?: SecurityDatabaseContract; eventBus?: SecurityEventBusContract; logger?: SecurityLoggerContract; cache?: SecurityCacheContract; core?: CoreSDK; gateway?: UniversalAPIGateway; } export interface SecurityManagerOptions extends SDKIntegrationOptions { config: SecurityConfig; } import type { SecurityConfig } from '../types'; export interface SecurityEvents { 'security:initialized': { timestamp: number; }; 'security:role.created': { roleId: string; permissions: string[]; }; 'security:role.updated': { roleId: string; changes: Record<string, unknown>; }; 'security:role.deleted': { roleId: string; }; 'security:permission.granted': { userId: string; permission: string; }; 'security:permission.revoked': { userId: string; permission: string; }; 'security:policy.created': { policyId: string; rules: unknown[]; }; 'security:policy.updated': { policyId: string; changes: Record<string, unknown>; }; 'security:scan.started': { scanId: string; targets: string[]; }; 'security:scan.completed': { scanId: string; results: unknown; }; 'security:threat.detected': { threatId: string; severity: string; }; 'security:audit.logged': { eventId: string; action: string; }; } export interface SecurityDatabaseTables { security_roles: { id: string; name: string; permissions: string; created_at: Date; updated_at: Date; }; security_policies: { id: string; type: 'rbac' | 'abac'; rules: string; created_at: Date; }; security_audit_events: { id: string; event_type: string; actor_id: string; resource: string; action: string; result: 'success' | 'failure'; timestamp: Date; }; security_scan_results: { id: string; scan_type: string; target: string; vulnerabilities: string; timestamp: Date; }; } export interface SecurityCacheKeys { accessControl: `access:${string}:${string}`; roles: `roles:${string}`; policies: `policy:${string}`; scanResults: `scan:${string}`; } export interface SecurityGatewayRoutes { '/api/security/auth': { methods: ['POST']; middleware: ['rate-limit', 'validate']; }; '/api/security/roles': { methods: ['GET', 'POST', 'PUT', 'DELETE']; middleware: ['auth', 'admin']; }; '/api/security/scan': { methods: ['POST']; middleware: ['auth', 'rate-limit']; }; } export interface AuthenticatedRequest extends TypedRequest { user?: { id: string; roles?: string[]; permissions?: string[]; }; } export interface SecurityCoreConfig { security: { enabled: boolean; rbac: { enabled: boolean; }; abac: { enabled: boolean; }; encryption: { algorithm: string; }; auth: { sessionTimeout: number; }; }; } //# sourceMappingURL=integration.types.d.ts.map