mirror of
https://github.com/R0m1k3/Loki.git
synced 2026-10-15 19:29:16 +02:00
Lot 6 : analyse du flux SSE du moteur portée en Rust (chat::stream)
La partie « protocole » de runChatLoop devient une machine à états pure et incrémentale (StreamParser) : lignes data:, décodage strict de streamChunk façon encoding/json (un champ mal typé saute le chunk), télémétrie tolérante (perfWire/applyPerf), timings et usage, accumulation des tool_calls par index, découpage </think> côté client, frappe en direct (argPreview, bodyTail), détection des appels d'outils écrits en texte (motifs embarqués codés à la main, fenêtre retryScanStart), pré-vol du mode Code, stats de secours sans timings. Plus toolCallLabel, repairToolCall, l'assemblage des appels (badArgs, ids de secours) et l'encodage json.Marshal de Go. L'état global Go (REASONING, preset externe, REASONING_ECHO, retry_patterns, noteEnginePrompt, codeWriteGuard, tReq) devient des paramètres explicites (StreamConfig). HTTP, reprises, compactage et exécution restent à la boucle. Tests Go portés un pour un, et les flux enregistrés des tests de bout en bout rejoués sur le parseur. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
1 parent
4c615d131f
commit
d8e2c3dbf6
1 file changed
+3212
-1
+3212
-1
File diff suppressed because it is too large.
Load diff
Reference in new issue
Block a user