/**
 * SDK Flow Steps — Paket 1: Vorbereitung (seq 100–700)
 */
import type { SDKFlowStep } from './types'

export const STEPS_VORBEREITUNG: SDKFlowStep[] = [
  {
    id: 'company-profile',
    name: 'Unternehmensprofil',
    nameShort: 'Profil',
    package: 'vorbereitung',
    seq: 100,
    checkpointId: 'CP-PROF',
    checkpointType: 'REQUIRED',
    checkpointReviewer: 'NONE',
    description: 'Erfassung aller Stammdaten des Unternehmens als Grundlage fuer die Compliance-Analyse.',
    descriptionLong: 'Hier werden alle relevanten Unternehmensdaten erfasst: Firmenname, Rechtsform, Branche, Mitarbeiterzahl, Standorte, Datenschutzbeauftragter und Verantwortlicher. Diese Daten bilden die Basis fuer alle nachfolgenden Compliance-Schritte, da sie bestimmen, welche Regulierungen anwendbar sind (z.B. DSGVO, NIS2, AI Act). Nach Abschluss zeigt eine Summary-Seite alle erfassten Daten auf einen Blick. Ohne ein vollstaendiges Unternehmensprofil koennen keine weiteren Schritte durchgefuehrt werden.',
    inputs: [],
    outputs: ['companyProfile', 'complianceScope'],
    prerequisiteSteps: [],
    dbTables: ['sdk_states', 'compliance_company_profiles', 'compliance_company_profile_audit'],
    dbMode: 'read/write',
    ragCollections: [],
    isOptional: false,
    url: '/sdk/company-profile',
  },
  {
    id: 'compliance-scope',
    name: 'Compliance Scope',
    nameShort: 'Scope',
    package: 'vorbereitung',
    seq: 200,
    checkpointId: 'CP-SCOPE',
    checkpointType: 'REQUIRED',
    checkpointReviewer: 'NONE',
    description: 'Bestimmung der Compliance-Tiefe und des Umfangs basierend auf Unternehmensprofil.',
    descriptionLong: 'Basierend auf dem Unternehmensprofil wird automatisch ermittelt, wie tiefgehend die Compliance-Analyse sein muss. Kleine Unternehmen mit wenig Datenverarbeitung erhalten eine "BASIS"-Tiefe, waehrend grosse Unternehmen mit sensiblen Daten oder KI-Systemen eine "ERWEITERT" oder "VOLLSTAENDIG"-Tiefe erhalten. Der Compliance-Scope bestimmt, welche Module aktiviert werden und wie detailliert die Dokumentation sein muss. Zusaetzlich werden anwendbare Regulierungen (DSGVO, AI Act, NIS2 etc.) und zustaendige Aufsichtsbehoerden automatisch abgeleitet.',
    inputs: ['companyProfile'],
    outputs: ['complianceDepthLevel', 'applicableRegulations', 'supervisoryAuthorities'],
    prerequisiteSteps: ['company-profile'],
    dbTables: ['sdk_states'],
    dbMode: 'read/write',
    ragCollections: [],
    isOptional: false,
    url: '/sdk/compliance-scope',
  },
  {
    id: 'use-case-assessment',
    name: 'Anwendungsfall-Erfassung',
    nameShort: 'Anwendung',
    package: 'vorbereitung',
    seq: 300,
    checkpointId: 'CP-UC',
    checkpointType: 'REQUIRED',
    checkpointReviewer: 'NONE',
    description: 'Systematische Erfassung aller Datenverarbeitungs- und KI-Anwendungsfaelle ueber einen 8-Schritte-Wizard mit Kachel-Auswahl. Inkl. BetrVG-Mitbestimmungspruefung und Betriebsrats-Konflikt-Score.',
    descriptionLong: 'In einem 8-Schritte-Wizard werden alle Use Cases erfasst: (1) Grundlegendes — Titel, Beschreibung, KI-Kategorie (21 Kacheln), Branche wird automatisch aus dem Profil abgeleitet. (2) Datenkategorien — ~60 Kategorien in 10 Gruppen als Kacheln (inkl. Art. 9 hervorgehoben). (3) Verarbeitungszweck — 16 Zweck-Kacheln, Rechtsgrundlage wird vom SDK automatisch ermittelt. (4) Automatisierungsgrad — assistiv/teilautomatisiert/vollautomatisiert. (5) Hosting & Modell — Provider, Region, Modellnutzung (Inferenz/RAG/Fine-Tuning/Training). (6) Datentransfer — Transferziele und Schutzmechanismen. (7) Datenhaltung — Aufbewahrungsfristen. (8) Vertraege — vorhandene Compliance-Dokumente. Die RAG-Collection bp_compliance_ce wird verwendet, um relevante CE-Regulierungen automatisch den Use Cases zuzuordnen (UCCA).',
    legalBasis: 'Art. 30 DSGVO (Verzeichnis von Verarbeitungstaetigkeiten)',
    inputs: ['companyProfile'],
    outputs: ['useCases'],
    prerequisiteSteps: ['company-profile'],
    dbTables: ['ucca_assessments', 'ucca_findings', 'ucca_controls'],
    dbMode: 'read/write',
    ragCollections: ['bp_compliance_ce'],
    ragPurpose: 'CE-Regulierungen fuer Use-Case Matching',
    isOptional: false,
    url: '/sdk/use-cases',
  },
  {
    id: 'ai-registration',
    name: 'EU AI Database Registrierung',
    nameShort: 'EU-Reg',
    package: 'vorbereitung',
    seq: 350,
    checkpointId: 'CP-REG',
    checkpointType: 'CONDITIONAL',
    checkpointReviewer: 'NONE',
    description: 'Registrierung von Hochrisiko-KI-Systemen in der EU AI Database gemaess Art. 49 KI-Verordnung.',
    descriptionLong: 'Fuer Hochrisiko-KI-Systeme (Annex III) ist eine Registrierung in der EU AI Database Pflicht. Ein 6-Schritte-Wizard fuehrt durch den Prozess: (1) Anbieter-Daten — Name, Rechtsform, Adresse, EU-Repraesentant. (2) System-Details — Name, Version, Beschreibung, Einsatzzweck (vorausgefuellt aus UCCA Assessment). (3) Klassifikation — Risikoklasse und Annex III Kategorie (aus Decision Tree). (4) Konformitaet — CE-Kennzeichnung, Notified Body. (5) Trainingsdaten — Zusammenfassung der Datenquellen (Art. 10). (6) Pruefung + Export — JSON-Download fuer EU-Datenbank-Submission. Der Status-Workflow ist: Entwurf → Bereit → Eingereicht → Registriert.',
    legalBasis: 'Art. 49 KI-Verordnung (EU) 2024/1689',
    inputs: ['useCases', 'companyProfile'],
    outputs: ['euRegistration'],
    prerequisiteSteps: ['use-case-assessment'],
    dbTables: ['ai_system_registrations'],
    dbMode: 'read/write',
    ragCollections: [],
    isOptional: true,
    url: '/sdk/ai-registration',
  },
  {
    id: 'import',
    name: 'Dokument-Import',
    nameShort: 'Import',
    package: 'vorbereitung',
    seq: 400,
    description: 'Import bestehender Compliance-Dokumente (Datenschutzerklaerungen, TOMs, VVTs).',
    descriptionLong: 'Optionaler Schritt zum Import bereits vorhandener Compliance-Dokumente. Der Document Crawler analysiert hochgeladene PDFs, Word-Dokumente oder bestehende Datenschutzerklaerungen und extrahiert automatisch relevante Informationen wie bestehende TOMs, Verarbeitungsverzeichnisse oder Risikoanalysen. Diese importierten Daten werden als Grundlage fuer die nachfolgenden Schritte verwendet, damit nicht alles von Null aufgebaut werden muss.',
    inputs: ['useCases'],
    outputs: ['importedDocuments'],
    prerequisiteSteps: ['use-case-assessment'],
    dbTables: ['compliance_imported_documents', 'compliance_gap_analyses'],
    dbMode: 'read/write',
    ragCollections: [],
    isOptional: true,
    url: '/sdk/import',
  },
  {
    id: 'screening',
    name: 'System Screening',
    nameShort: 'Screening',
    package: 'vorbereitung',
    seq: 500,
    checkpointId: 'CP-SCAN',
    checkpointType: 'REQUIRED',
    checkpointReviewer: 'NONE',
    description: 'Technische Analyse der eingesetzten Software, Dienste und deren Abhaengigkeiten.',
    descriptionLong: 'Das System Screening analysiert die technische Infrastruktur des Unternehmens. Es werden alle eingesetzten Software-Systeme, Cloud-Dienste, APIs und deren Abhaengigkeiten erfasst. Dabei wird auch eine SBOM (Software Bill of Materials) erstellt, die alle Drittanbieter-Komponenten und deren Lizenzen dokumentiert. Das Screening identifiziert potenzielle Compliance-Risiken wie Datentransfers in Drittlaender, unsichere Abhaengigkeiten oder fehlende Verschluesselung.',
    inputs: ['useCases'],
    outputs: ['screening', 'sbom'],
    prerequisiteSteps: ['use-case-assessment'],
    dbTables: ['compliance_screenings', 'compliance_security_issues'],
    dbMode: 'read/write',
    ragCollections: [],
    isOptional: false,
    url: '/sdk/screening',
  },
  // Modules entfernt — Regulierungen im Scope-Decision-Tab
  {
    id: 'source-policy',
    name: 'Source Policy',
    nameShort: 'Quellen',
    package: 'vorbereitung',
    seq: 700,
    checkpointId: 'CP-SPOL',
    checkpointType: 'REQUIRED',
    checkpointReviewer: 'NONE',
    description: 'Festlegung der Rechtsquellen und Normen fuer die Compliance-Analyse.',
    descriptionLong: 'Die Source Policy definiert, welche Rechtsquellen und Normen fuer die Compliance-Analyse herangezogen werden. Dies umfasst EU-Verordnungen (DSGVO, AI Act, NIS2), nationale Gesetze (BDSG, TTDSG), Branchenstandards (ISO 27001, BSI Grundschutz) und interne Richtlinien. Die Source Policy stellt sicher, dass alle nachfolgenden Schritte konsistent auf denselben Rechtsgrundlagen basieren.',
    inputs: ['modules'],
    outputs: ['sourcePolicy'],
    prerequisiteSteps: ['modules'],
    dbTables: ['compliance_allowed_sources', 'compliance_pii_rules', 'compliance_source_operations', 'compliance_source_policy_audit'],
    dbMode: 'read/write',
    ragCollections: [],
    isOptional: true,
    url: '/sdk/source-policy',
  },
  {
    id: 'ai-act',
    name: 'AI Act Klassifizierung',
    nameShort: 'AI Act',
    package: 'vorbereitung',
    seq: 350,
    checkpointId: 'CP-AI',
    checkpointType: 'RECOMMENDED',
    checkpointReviewer: 'LEGAL',
    description: 'Klassifizierung aller KI-Systeme nach EU AI Act Risikokategorien (nur bei KI-Einsatz).',
    descriptionLong: 'KI-System-Registrierung mit Risikopyramide: Minimal → Begrenzt → Hoch → Verboten. KI-gestuetzte Risikobewertung. Fuer Hochrisiko-Systeme werden 8 AI Act Pflichten abgeleitet. Nur relevant wenn KI-Systeme im Einsatz sind.',
    legalBasis: 'EU AI Act Art. 6-9 (Risikokategorien)',
    inputs: ['useCases', 'companyProfile'],
    outputs: ['aiActClassification'],
    prerequisiteSteps: ['use-case-assessment'],
    dbTables: ['compliance_ai_systems'],
    dbMode: 'read/write',
    ragCollections: ['bp_compliance_ce'],
    ragPurpose: 'EU AI Act Regulierungstexte',
    isOptional: true,
    url: '/sdk/ai-act',
  },
]
