fix(vwb): propage l'image d'ancre aux substeps compound à l'import (SP-1/U-B)
Les actions compound passaient par _convert_compound_substep qui ne lisait jamais l'image d'ancre du parent -> substeps anchor_id NULL, "Ancre requise" sans image dans le VWB. On pose desormais l'ancre du parent (meme fallback que la branche action simple) sur le 1er substep cliquable uniquement. Test: test_learned_workflow_bridge.py (TDD, RED->GREEN). Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -166,11 +166,30 @@ def convert_learned_to_vwb_steps(
|
||||
)
|
||||
continue
|
||||
|
||||
# Image d'ancre du parent : à poser sur le 1er substep cliquable.
|
||||
# Les actions simples l'obtiennent déjà (branche `else` plus bas) ;
|
||||
# les compound ne la propageaient pas → substeps anchor_id NULL.
|
||||
compound_anchor_b64 = (
|
||||
target.get("anchor_image_base64")
|
||||
or target.get("screenshot")
|
||||
or (target.get("context_hints") or {}).get("anchor_image_base64")
|
||||
)
|
||||
compound_anchor_attached = False
|
||||
|
||||
for sub_idx, sub in enumerate(sub_steps):
|
||||
sub_type = sub.get("type", "unknown")
|
||||
sub_vwb_type, sub_params = _convert_compound_substep(
|
||||
sub_type, sub, target
|
||||
)
|
||||
# Poser l'ancre du parent sur le 1er substep cliquable uniquement
|
||||
# (éviter de la dupliquer sur les N substeps).
|
||||
if (
|
||||
compound_anchor_b64
|
||||
and not compound_anchor_attached
|
||||
and sub_vwb_type in ("click_anchor", "double_click_anchor", "right_click_anchor")
|
||||
):
|
||||
sub_params["_anchor_image_base64"] = compound_anchor_b64
|
||||
compound_anchor_attached = True
|
||||
label = _build_step_label(sub_vwb_type, sub_params, from_name, to_name)
|
||||
steps.append({
|
||||
"action_type": sub_vwb_type,
|
||||
|
||||
Reference in New Issue
Block a user