fix(agent): adapters Claude/Codex au format CLI réel (spikes S1/S2 résolus)
Formats vérifiés sur les vraies CLI le 2026-06-09 : - Claude (claude -p … --output-format stream-json --verbose ; reprise --resume <session_id>) : parse system/init (session_id), ignore rate_limit_event + types inconnus, assistant.content[] ITÉRÉ (fix multi-blocs), result→Final. Flag --verbose ajouté à build_spawn_line. - Codex (codex exec --json --skip-git-repo-check ; reprise codex exec resume <thread_id>) : thread.started→conversation_id, item.completed/agent_message →Final, autres items→ToolActivity, turn.*/inconnu ignorés. parse_event émet désormais Vec<ReplyEvent> (multi-blocs) ; drain aplatit. Scripts fake CLI passés aux lignes réelles. Tests : session 46 + intégration, workspace vert. À vérifier à l'intégration (D3) : reprise Codex (ordre d'args), et lancement Codex avec --sandbox workspace-write + approbation non bloquante (hors parsing). Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
@ -7,11 +7,9 @@
|
||||
//! Disponible hors `cfg(test)` (mais sous une porte `pub`) pour que QA puisse
|
||||
//! réutiliser le harnais et le fake CLI dans des tests d'intégration ultérieurs.
|
||||
//!
|
||||
//! > Ce qui dépend du **format réel non vérifié** (spikes S1/S2) : les *scripts*
|
||||
//! > de lignes JSON fournis aux tests reproduisent le **schéma SUPPOSÉ** documenté
|
||||
//! > dans `claude::parse_event` / `codex::parse_event`. Quand S1/S2 confirmeront le
|
||||
//! > vrai format, ces scripts (et le parser) seront ajustés ; la machinerie et le
|
||||
//! > harnais, eux, restent valides.
|
||||
//! > Les *scripts* de lignes JSON fournis aux tests reproduisent le **format RÉEL
|
||||
//! > vérifié 2026-06-09** (spikes S1/S2 résolus), documenté dans `claude::parse_event`
|
||||
//! > / `codex::parse_event`. La machinerie et le harnais sont indépendants du format.
|
||||
|
||||
use std::io::Write;
|
||||
use std::path::PathBuf;
|
||||
|
||||
Reference in New Issue
Block a user