Files
property-match/archive/livia/src/provider/MockupExposeLeadProvider.ts
T
Benjamin SutterandClaude Opus 5 2037e5a463 docs(agenten): Fallakte Livia und Agenten-Briefing sichern
`LIVIA_PROFIL_UND_PROMPT.md` hält Livia als Exposé Master fest, wie sie vor
Runde 8 war: Personalblatt, Aufgabenkatalog, Kanäle und Systeme, das
Exposé-Dossier mit elf Bereichen und neun Pflichtfeldern, die
`missingFacts`-Regel der Textmaschine — dazu ein System-Prompt, mit dem sich
diese Fassung ausserhalb des Repositories rekonstruieren lässt.

`archive/livia/` ergänzt die Beschreibung um die Wiederherstellung: die 23
Dateien der Exposé-Funktion als wörtliche Kopie im Original-Pfadlayout sowie
ein Manifest jeder Stelle, an der Livia in geteilten Dateien verdrahtet war.

Beides ist mit Runde 8 nicht überholt, sondern der Referenzstand: die
Exposé-Funktion wurde nicht entfernt, sondern nachgeordnet. Das Manifest
beschreibt allerdings den Rückbau eines vollständigen Entfernens und damit ein
Szenario, das so nicht eingetreten ist.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
2026-08-22 00:35:57 +02:00

37 lines
1.0 KiB
TypeScript

import { mockExposeLeads } from '../mock-data/exposeLeads'
import type { ExposeLead } from '../domain/exposeLead'
import { ExposeLeadStatus } from '../domain/exposeLead'
import type { IExposeLeadProvider } from './IExposeLeadProvider'
let store: ExposeLead[] = [...mockExposeLeads]
let sequence = store.length
export const MockupExposeLeadProvider: IExposeLeadProvider = {
async getAll() {
return [...store]
},
async getById(id) {
return store.find(l => l.id === id) ?? null
},
async create(input) {
sequence += 1
const lead: ExposeLead = {
...input,
id: `lead-${String(sequence).padStart(3, '0')}`,
receivedAt: input.receivedAt ?? new Date().toISOString(),
status: input.status ?? ExposeLeadStatus.ACTIVE,
}
store = [lead, ...store]
return lead
},
async archive(id) {
const idx = store.findIndex(l => l.id === id)
if (idx === -1) throw new Error(`Lead ${id} nicht gefunden`)
store[idx] = { ...store[idx], status: ExposeLeadStatus.ARCHIVED }
return store[idx]
},
}