/**
 * Loeschfristen Draft Prompt - Loeschkonzept
 */

import type { DraftContext } from '../types'

export interface LoeschfristenDraftInput {
  context: DraftContext
  instructions?: string
}

export function buildLoeschfristenDraftPrompt(input: LoeschfristenDraftInput): string {
  const { context, instructions } = input
  const level = context.decisions.level
  const depthItems = context.constraints.depthRequirements.detailItems

  return `## Aufgabe: Loeschkonzept / Loeschfristen entwerfen

### Unternehmensprofil
- Name: ${context.companyProfile.name}
- Branche: ${context.companyProfile.industry}
- Mitarbeiter: ${context.companyProfile.employeeCount}

### Compliance-Level: ${level}
Tiefe: ${context.constraints.depthRequirements.depth}

### Erforderliche Inhalte:
${depthItems.map((item, i) => `${i + 1}. ${item}`).join('\n')}

${context.existingDocumentData ? `### Bestehende Loeschfristen: ${JSON.stringify(context.existingDocumentData).slice(0, 500)}` : ''}
${instructions ? `### Zusaetzliche Anweisungen: ${instructions}` : ''}

### Antwort-Format
Antworte als JSON:
{
  "sections": [
    {
      "id": "grundsaetze",
      "title": "Grundsaetze der Datenlöschung",
      "content": "...",
      "schemaField": "principles"
    },
    {
      "id": "kategorien",
      "title": "Datenkategorien und Loeschfristen",
      "content": "Tabellarische Uebersicht...",
      "schemaField": "retentionSchedule"
    },
    {
      "id": "gesetzliche_fristen",
      "title": "Gesetzliche Aufbewahrungsfristen",
      "content": "HGB, AO, weitere...",
      "schemaField": "legalRetention"
    },
    {
      "id": "loeschprozess",
      "title": "Technischer Loeschprozess",
      "content": "...",
      "schemaField": "deletionProcess"
    },
    {
      "id": "verantwortlichkeiten",
      "title": "Verantwortlichkeiten",
      "content": "...",
      "schemaField": "responsibilities"
    },
    {
      "id": "ausnahmen",
      "title": "Ausnahmen und Sonderfaelle",
      "content": "...",
      "schemaField": "exceptions"
    }
  ]
}

Halte die Tiefe exakt auf Level ${level}.
Beruecksichtige branchenspezifische Aufbewahrungsfristen fuer ${context.companyProfile.industry}.`
}
