diff --git a/agent_v0/server_v1/api_stream.py b/agent_v0/server_v1/api_stream.py index a61d1cbf5..e3be254e3 100644 --- a/agent_v0/server_v1/api_stream.py +++ b/agent_v0/server_v1/api_stream.py @@ -101,10 +101,10 @@ _pending_lock = threading.Lock() _replay_lock = threading.Lock() # session_id -> liste d'actions en attente (FIFO) _replay_queues: Dict[str, List[Dict[str, Any]]] = defaultdict(list) -# replay_id -> état du replay (workflow_id, session_id, status, progress) -_replay_states: Dict[str, Dict[str, Any]] = {} # machine_id -> session_id (mapping pour le replay ciblé par machine) _machine_replay_target: Dict[str, str] = {} +# replay_id -> état du replay (workflow_id, session_id, status, progress) +_replay_states: Dict[str, Dict[str, Any]] = {} class StreamEvent(BaseModel): diff --git a/visual_workflow_builder/frontend_v4/src/components/ExecutionControls.tsx b/visual_workflow_builder/frontend_v4/src/components/ExecutionControls.tsx index 383dcee4a..fa4c51b50 100644 --- a/visual_workflow_builder/frontend_v4/src/components/ExecutionControls.tsx +++ b/visual_workflow_builder/frontend_v4/src/components/ExecutionControls.tsx @@ -39,7 +39,7 @@ export default function ExecutionControls({ execution, onStart, onStop }: Props) headers: { 'Content-Type': 'application/json' }, body: JSON.stringify({ workflow_id: workflowId, - session_id: `replay_${Date.now()}`, + session_id: '', // vide = auto-détection de la session agent active actions: steps.map((step: any, i: number) => ({ action_id: step.id || `action_${i}`, type: step.action_type,