Dokumentationen / Modul
felanmalan
ModulStartsideportalenDet första samtalsflödet: användaren beskriver felet i fri text och ser i realtid vad assistenten uppfattat.
källa: packages/modules/felanmalanuppdaterad: 2026-08-30
Ansvar
- Äga fokusrutten /flode/felanmalan och hela vyn bakom den.
- Beskriva flödet som data i flow.ts, så att motorn kan lyftas i M4 utan omskrivning.
- Hålla samtalstillståndet i klienten och skicka historiken till serverändan.
- Hålla regelmotorn som kör flödet när AI_PROVIDER=mock, så att demon fungerar utan nyckel.
- Aldrig skapa ett ärende själv – servern avgör.
Filer
| Sökväg | Roll |
|---|---|
| modules/felanmalan/src/manifest.ts | routes med mode focus och ai.intents. Ingen nav-post: ingången är IT-supportsidans snabbväg Felanmäl (ADR-022). |
| modules/felanmalan/src/flow.ts | felanmalanFlow: grupper, autoFalt, fragaFalt, mål. KARNFALT. |
| modules/felanmalan/src/components/FelanmalanFlode.tsx | Vyn: chatt till vänster, formulärspegel till höger. |
| modules/felanmalan/src/components/ChatPane.tsx | Samtalet. Nya bubblor animeras med animate-msg-in. |
| modules/felanmalan/src/components/FormMirror.tsx | Kvittot: AI-tonad kant och ✦ per fält assistenten fyllt. |
| modules/felanmalan/src/store.ts | Zustand: bubblor, fältvärden, signaturen och anropet mot route handlern. |
| modules/felanmalan/src/motor/index.ts | koraTur och spelaUpp: regelmotorn bakom AI_PROVIDER=mock. |
| modules/felanmalan/test/motor.test.ts | 18 tester på regelmotorn. Plockas upp av vitest.config.mts i roten. |
API
| Namn | Signatur | Beskrivning |
|---|---|---|
| felanmalanFlow | FlowDefinition | Flödet som data. Systemprompten, formulärspegeln och turkontraktet genereras alla ur den. |
| koraTur / spelaUpp | regelmotorn | Deterministisk tur för offline-demo. Samma kontrakt som modellen. |
| KARNFALT | readonly ["problem", "plats", "datornamn"] | De fält som måste finnas innan ett ärende ens kan övervägas. |
Kontrakt
- Samtalet är inmatningen, formuläret är kvittot. Användaren ska se vad som uppfattats innan något skapas.
- Ärendet skapas aldrig utan uttrycklig bekräftelse, och farSkapas kräver tre villkor samtidigt.
- Klienten skickar meddelanden plus fältvärdena och serverns signatur över dem. Prompt, profil och beslut bor i route handlern.
- Fälten skickas tillbaka för att assistenten ska återge dem ordagrant. Ett fält som byter lydelse medan användaren tittar på formulärspegeln läses som ett fel (ADR-013).
Beroenden och beslut
Kvarstår
- M3: ärendeadaptern. Ett skapat ärende landar ingenstans ännu.
- M4: motorn ska lyftas till packages/flow-engine, och ett andra flöde definieras deklarativt.
- Flödet är det enda som finns – generaliseringen är obevisad tills ett andra flöde byggts.