Hoppa till innehållet

Devportalen /portal/dev

Startsideportalens ekosystem för människa och agent

Dokumentationen / Modul

felanmalan

ModulStartsideportalen

Det 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

Tabell: Sökväg, Roll
SökvägRoll
modules/felanmalan/src/manifest.tsroutes med mode focus och ai.intents. Ingen nav-post: ingången är IT-supportsidans snabbväg Felanmäl (ADR-022).
modules/felanmalan/src/flow.tsfelanmalanFlow: grupper, autoFalt, fragaFalt, mål. KARNFALT.
modules/felanmalan/src/components/FelanmalanFlode.tsxVyn: chatt till vänster, formulärspegel till höger.
modules/felanmalan/src/components/ChatPane.tsxSamtalet. Nya bubblor animeras med animate-msg-in.
modules/felanmalan/src/components/FormMirror.tsxKvittot: AI-tonad kant och ✦ per fält assistenten fyllt.
modules/felanmalan/src/store.tsZustand: bubblor, fältvärden, signaturen och anropet mot route handlern.
modules/felanmalan/src/motor/index.tskoraTur och spelaUpp: regelmotorn bakom AI_PROVIDER=mock.
modules/felanmalan/test/motor.test.ts18 tester på regelmotorn. Plockas upp av vitest.config.mts i roten.

API

Tabell: Namn, Signatur, Beskrivning
NamnSignaturBeskrivning
felanmalanFlowFlowDefinitionFlödet som data. Systemprompten, formulärspegeln och turkontraktet genereras alla ur den.
koraTur / spelaUppregelmotornDeterministisk tur för offline-demo. Samma kontrakt som modellen.
KARNFALTreadonly ["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.