/** * Federal Preemption Risk & Litigation Tracker - Type Definitions * * 🦉 The Compliance Sentinel AI Agents Trust * * @author Jason Pellerin AI Solutionist * @see https://jasonpellerin.com */ import { z } from 'zod'; // ═══════════════════════════════════════════════════════════════════════════ // Input Schema Validation // ═══════════════════════════════════════════════════════════════════════════ export const InputSchema = z.object({ searchMode: z.enum([ 'comprehensive', 'courtCases', 'executiveOrders', 'dojActions', 'federalRegister', 'stateConflicts', 'riskAssessment' ]).default('comprehensive'), targetStates: z.array(z.enum(['CO', 'CA', 'CT', 'IL', 'TX', 'NY', 'VA', 'WA', 'ALL'])).default(['CO', 'CA']), keywords: z.string().default(''), dateRangeStart: z.string().optional(), dateRangeEnd: z.string().optional(), courtTypes: z.array(z.enum(['scotus', 'circuit', 'district', 'all'])).default(['scotus', 'circuit']), includeProposedRules: z.boolean().default(true), includeFinalRules: z.boolean().default(true), includeExecutiveOrders: z.boolean().default(true), riskScoreThreshold: z.number().min(0).max(100).default(25), maxResults: z.number().min(10).max(500).default(100), outputFormat: z.enum(['detailed', 'summary', 'agent_optimized', 'compliance_report']).default('agent_optimized'), courtListenerApiToken: z.string().optional(), webhookUrl: z.string().url().optional(), proxyConfiguration: z.object({ useApifyProxy: z.boolean().optional(), apifyProxyGroups: z.array(z.string()).optional(), proxyUrls: z.array(z.string()).optional(), }).optional(), }); export type Input = z.infer; // ═══════════════════════════════════════════════════════════════════════════ // State AI Regulation Registry // ═══════════════════════════════════════════════════════════════════════════ export interface StateRegulation { state: string; stateName: string; billNumber: string; title: string; effectiveDate: string; status: 'enacted' | 'proposed' | 'delayed' | 'amended'; keyProvisions: string[]; preemptionRiskFactors: string[]; federalConflictPoints: string[]; } export const STATE_AI_REGULATIONS: StateRegulation[] = [ { state: 'CO', stateName: 'Colorado', billNumber: 'SB 24-205', title: 'Colorado AI Act (CAIA)', effectiveDate: '2026-06-30', status: 'enacted', keyProvisions: [ 'Reasonable care duty for high-risk AI deployers', 'Annual impact assessments required', 'Algorithmic discrimination prohibition', 'Consumer notification and appeal rights', 'Three-year record retention', '$20,000 per violation penalty' ], preemptionRiskFactors: [ 'Disparate impact standard conflicts with federal approach', 'Private right of action vs federal enforcement-only model', 'Broader definition of "high-risk AI" than federal proposals' ], federalConflictPoints: [ 'Executive Order 14281 - Removing Barriers to AI Leadership', 'FTC authority over AI consumer protection', 'Commerce Clause - burden on interstate commerce' ] }, { state: 'CA', stateName: 'California', billNumber: 'SB 1047', title: 'Safe and Secure Innovation for Frontier AI Models Act', effectiveDate: '2025-01-01', status: 'enacted', keyProvisions: [ 'Safety evaluations for frontier AI models', 'Kill switch requirements', 'Whistleblower protections', 'Mandatory incident reporting' ], preemptionRiskFactors: [ 'Federal government may claim exclusive AI safety jurisdiction', 'National security implications of state AI restrictions', 'Conflict with federal R&D incentives' ], federalConflictPoints: [ 'Commerce Department AI safety framework', 'NIST AI Risk Management Framework', 'Defense production considerations' ] }, { state: 'CT', stateName: 'Connecticut', billNumber: 'SB 2', title: 'Act Concerning Artificial Intelligence', effectiveDate: '2026-07-01', status: 'enacted', keyProvisions: [ 'High-risk AI system governance', 'Impact assessment requirements', 'Consumer disclosure obligations' ], preemptionRiskFactors: [ 'Similar to Colorado - faces same federal friction', 'May be cited as evidence of state "patchwork"' ], federalConflictPoints: [ 'Federal uniformity arguments', 'Interstate commerce burden' ] }, { state: 'IL', stateName: 'Illinois', billNumber: 'HB 3773', title: 'Illinois AI Video Interview Act Extension', effectiveDate: '2020-01-01', status: 'enacted', keyProvisions: [ 'AI in employment decisions disclosure', 'Video interview AI consent requirements' ], preemptionRiskFactors: [ 'EEOC guidance may supersede state requirements', 'DOL wage and hour preemption' ], federalConflictPoints: [ 'Title VII enforcement framework', 'EEOC AI hiring guidance' ] } ]; // ═══════════════════════════════════════════════════════════════════════════ // Core Data Types // ═══════════════════════════════════════════════════════════════════════════ export interface PreemptionEvent { id: string; eventType: PreemptionEventType; title: string; summary: string; // Source information source: DataSource; sourceUrl: string; sourceId?: string; // Dates datePublished: string; dateEffective?: string; dateDiscovered: string; // Classification federalAuthority: FederalAuthority; affectedStates: string[]; affectedProvisions: string[]; // Risk analysis preemptionRisk: PreemptionRisk; complianceImpact: ComplianceImpact; // Agent-ready metadata ragChunks: RagChunk[]; citations: Citation[]; relatedEvents: string[]; // Raw data rawData?: any; extractedAt: string; } export type PreemptionEventType = | 'executive_order' | 'court_case' | 'court_opinion' | 'doj_action' | 'doj_guidance' | 'federal_rule_proposed' | 'federal_rule_final' | 'agency_guidance' | 'congressional_action' | 'preemption_challenge' | 'enforcement_action'; export type DataSource = | 'federal_register' | 'courtlistener' | 'doj_press' | 'whitehouse' | 'regulations_gov' | 'congress_gov' | 'state_legislature'; export type FederalAuthority = | 'executive_branch' | 'doj' | 'ftc' | 'eeoc' | 'sec' | 'cfpb' | 'hhs' | 'commerce' | 'federal_courts' | 'congress' | 'multiple'; // ═══════════════════════════════════════════════════════════════════════════ // Risk Analysis Types // ═══════════════════════════════════════════════════════════════════════════ export interface PreemptionRisk { score: number; // 0-100 level: 'low' | 'medium' | 'high' | 'critical'; basis: PreemptionBasis[]; timeline: RiskTimeline; confidence: number; // 0-100 reasoning: string; } export type PreemptionBasis = | 'express_preemption' // Federal law explicitly preempts state law | 'field_preemption' // Federal law occupies entire field | 'conflict_preemption' // State law conflicts with federal objectives | 'commerce_clause' // Burden on interstate commerce | 'supremacy_clause' // Direct constitutional conflict | 'agency_exclusive' // Federal agency claims exclusive authority | 'federal_funding_threat'; // Threat to withhold federal funds (EO 14281) export type RiskTimeline = | 'immediate' // Active litigation or enforcement | 'near_term' // Within 6 months | 'medium_term' // 6-18 months | 'long_term' // 18+ months | 'speculative'; // No clear timeline export interface ComplianceImpact { severity: 'informational' | 'advisory' | 'actionable' | 'urgent'; affectedRequirements: string[]; recommendedActions: string[]; deadlines: ComplianceDeadline[]; costImpact?: CostImpact; } export interface ComplianceDeadline { description: string; date: string; source: string; isHard: boolean; // Hard deadline vs advisory } export interface CostImpact { estimatedRange: { low: number; high: number; }; basis: string; affectedOrganizations: string; } // ═══════════════════════════════════════════════════════════════════════════ // Court Case Types // ═══════════════════════════════════════════════════════════════════════════ export interface CourtCase extends PreemptionEvent { eventType: 'court_case' | 'court_opinion'; caseNumber: string; caseName: string; court: string; courtCode: string; judges?: string[]; parties: { plaintiff: string; defendant: string; intervenors?: string[]; amici?: string[]; }; status: CaseStatus; keyHoldings?: string[]; proceduralHistory?: string[]; } export type CaseStatus = | 'pending' | 'briefing' | 'oral_argument_scheduled' | 'submitted' | 'decided' | 'appealed' | 'remanded' | 'settled' | 'dismissed'; // ═══════════════════════════════════════════════════════════════════════════ // Executive Order Types // ═══════════════════════════════════════════════════════════════════════════ export interface ExecutiveOrder extends PreemptionEvent { eventType: 'executive_order'; eoNumber: string; president: string; federalRegisterCitation: string; revokes?: string[]; amends?: string[]; directedAgencies: string[]; implementationDeadlines: ComplianceDeadline[]; } // ═══════════════════════════════════════════════════════════════════════════ // Federal Register Types // ═══════════════════════════════════════════════════════════════════════════ export interface FederalRegisterDocument extends PreemptionEvent { eventType: 'federal_rule_proposed' | 'federal_rule_final' | 'agency_guidance'; documentNumber: string; documentType: 'RULE' | 'PRORULE' | 'NOTICE' | 'PRESDOC'; agencies: string[]; cfr?: string; rin?: string; commentPeriod?: { startDate: string; endDate: string; isOpen: boolean; }; effectiveDates?: string[]; } // ═══════════════════════════════════════════════════════════════════════════ // Conflict Analysis Types // ═══════════════════════════════════════════════════════════════════════════ export interface StateConflict { id: string; stateRegulation: StateRegulation; federalEvent: PreemptionEvent; conflictType: ConflictType; conflictSeverity: 'low' | 'medium' | 'high' | 'critical'; analysis: ConflictAnalysis; strategicOptions: StrategicOption[]; } export type ConflictType = | 'direct_conflict' // Federal law directly contradicts state law | 'implicit_conflict' // Federal objectives frustrated by state law | 'coverage_overlap' // Both regulate same area differently | 'enforcement_conflict' // Different enforcement mechanisms clash | 'timing_conflict' // Compliance timeline conflicts | 'definitional_conflict';// Key terms defined differently export interface ConflictAnalysis { summary: string; federalPosition: string; statePosition: string; likelyOutcome: string; precedents: string[]; openQuestions: string[]; } export interface StrategicOption { strategy: string; description: string; pros: string[]; cons: string[]; estimatedCost: CostImpact; timeline: string; riskLevel: 'low' | 'medium' | 'high'; } // ═══════════════════════════════════════════════════════════════════════════ // Agent-Ready Types (RAG Optimized) // ═══════════════════════════════════════════════════════════════════════════ export interface RagChunk { id: string; content: string; chunkType: 'summary' | 'holding' | 'rationale' | 'requirement' | 'deadline' | 'citation'; metadata: { source: string; date: string; relevanceScore: number; tokens?: number; }; embedding?: number[]; } export interface Citation { text: string; citation: string; type: 'statute' | 'regulation' | 'case' | 'executive_order' | 'guidance'; url?: string; verified: boolean; } // ═══════════════════════════════════════════════════════════════════════════ // Report Types // ═══════════════════════════════════════════════════════════════════════════ export interface PreemptionReport { title: string; generatedAt: string; dateRange: { start: string; end: string; }; targetStates: string[]; executiveSummary: { totalEvents: number; criticalRisks: number; highRisks: number; activeConflicts: number; upcomingDeadlines: number; keyFindings: string[]; }; riskDashboard: { overallRiskLevel: 'low' | 'medium' | 'high' | 'critical'; byState: { state: string; riskScore: number; trend: 'increasing' | 'stable' | 'decreasing' }[]; bySource: { source: FederalAuthority; count: number; avgRisk: number }[]; }; events: PreemptionEvent[]; conflicts: StateConflict[]; complianceCalendar: ComplianceDeadline[]; recommendations: string[]; dataQuality: { sourcesQueried: number; successfulQueries: number; totalResults: number; deduplicatedResults: number; coverageScore: number; }; } // ═══════════════════════════════════════════════════════════════════════════ // Extraction Types // ═══════════════════════════════════════════════════════════════════════════ export interface ExtractionResult { success: boolean; data: T[]; totalFound: number; extracted: number; errors: string[]; warnings: string[]; metrics: ExtractionMetrics; } export interface ExtractionMetrics { durationMs: number; requestCount: number; rateLimitHits: number; retries: number; deduplicatedCount: number; } // ═══════════════════════════════════════════════════════════════════════════ // API Response Types // ═══════════════════════════════════════════════════════════════════════════ export interface FederalRegisterApiResponse { count: number; total_pages: number; results: FederalRegisterResult[]; } export interface FederalRegisterResult { document_number: string; title: string; type: string; abstract: string; publication_date: string; effective_on?: string; agencies: { name: string; id: number }[]; html_url: string; pdf_url: string; full_text_xml_url?: string; citation?: string; cfr_references?: { title: number; part: number }[]; regulation_id_numbers?: string[]; executive_order_number?: string; presidential_document_type?: string; signing_date?: string; comments_close_on?: string; [key: string]: any; } export interface CourtListenerSearchResponse { count: number; next: string | null; previous: string | null; results: CourtListenerResult[]; } export interface CourtListenerResult { id: number; absolute_url: string; case_name: string; case_name_short?: string; court: string; court_id: string; date_filed: string; date_argued?: string; docket_number?: string; citation_count?: number; citations?: string[]; author_str?: string; snippet?: string; download_url?: string; [key: string]: any; }