backup: snapshot post-démo GHT 2026-05-19
Backup état complet après enregistrement vidéo démo de bout en bout. À utiliser comme point de référence pour la consolidation post-démo. Changements majeurs de la session 18-19 mai : - AIVA-URGENCE : page autonome avec preset URL + auto-focus chain - Workflow Demo_urgence_3_db : merge linux_db + steps AIVA + pause humaine NoMachine - Bypass LLM (static_result / static_text) dans replay_engine pour démos déterministes sans appel Ollama - Fix api_stream:3013 — replay_paused au premier polling /next - dag_execute : lift duration_ms vers top-level pour wait runtime - NPM bypass auth /aiva-urgence/ via location ^~ (proxy_host/10.conf hors git) - scripts/cancel-replays.sh — workaround Stop VWB qui ne purge pas la queue Anchors visuels (468) forcés dans le commit pour garantir restorabilité. DB workflows actuelle + ~12 .bak DB de la journée incluses. Sujets identifiés pour consolidation post-démo (TODO) : 1. Bug VWB recapture anchor ne régénère pas le PNG 2. Léa client accumule état mémoire (restart périodique requis) 3. Stop VWB ne purge pas la queue serveur (lien manquant vers /replay/cancel) 4. Bug coord client mss tronqué 2560x60 → mapping Y cassé 5. delay_before/delay_after ignorés au runtime (fix partiel duration_ms) Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -58,8 +58,10 @@ VWB_ACTION_TO_CORE = {
|
||||
"visual_condition": "evaluate_condition",
|
||||
"screenshot_evidence": "screenshot",
|
||||
"extract_text": "extract_text", # passthrough — handler serveur OCR + variable
|
||||
"extract_text_scroll": "extract_text_scroll", # passthrough — expansé en sous-actions par _edge_to_normalized_actions
|
||||
"pause_for_human": "pause_for_human", # passthrough — intercepté par api_stream /replay/next
|
||||
"t2a_decision": "t2a_decision", # passthrough — handler serveur LLM T2A + variable
|
||||
"llm_generate": "llm_generate", # passthrough — génération texte libre côté serveur
|
||||
}
|
||||
|
||||
|
||||
@@ -673,12 +675,29 @@ def _vwb_params_to_core(action_type: str, params: Dict[str, Any]) -> Dict[str, A
|
||||
if "paragraph" in params:
|
||||
core_params["paragraph"] = bool(params["paragraph"])
|
||||
|
||||
elif action_type == "extract_text_scroll":
|
||||
# variable_name est le nom canonique côté VWB (cohérent avec extract_table) ;
|
||||
# output_var accepté en compat. Le préprocesseur d'expansion lit les deux.
|
||||
var = params.get("variable_name") or params.get("output_var") or "extracted_text"
|
||||
core_params["variable_name"] = var
|
||||
if "paragraph" in params:
|
||||
core_params["paragraph"] = bool(params["paragraph"])
|
||||
|
||||
elif action_type == "t2a_decision":
|
||||
core_params["input_template"] = params.get("input_template", "")
|
||||
core_params["output_var"] = params.get("output_var", "t2a_result")
|
||||
if params.get("model"):
|
||||
core_params["model"] = params["model"]
|
||||
|
||||
elif action_type == "llm_generate":
|
||||
core_params["prompt"] = params.get("prompt", "")
|
||||
core_params["context"] = params.get("context", "")
|
||||
core_params["output_var"] = params.get("output_var", "generated_text")
|
||||
if params.get("model"):
|
||||
core_params["model"] = params["model"]
|
||||
if params.get("temperature") is not None:
|
||||
core_params["temperature"] = params["temperature"]
|
||||
|
||||
return core_params
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user