diff --git a/skyvern/forge/prompts/skyvern/surface-user-defined-errors.j2 b/skyvern/forge/prompts/skyvern/surface-user-defined-errors.j2 index 4decd02d..1bf8a8eb 100644 --- a/skyvern/forge/prompts/skyvern/surface-user-defined-errors.j2 +++ b/skyvern/forge/prompts/skyvern/surface-user-defined-errors.j2 @@ -3,6 +3,7 @@ Do not return any error that's not defined by the user. Reply in JSON format with the following keys: { + "reasoning": str, // A string to explain the reason for inferring the result. "errors": array // A list of errors. If no error description suits the current situation on the screenshots, return an empty list. You are allowed to return multiple errors if there are multiple errors on the page. [{ "error_code": str, // The error code from the user's error code list diff --git a/skyvern/webeye/actions/handler.py b/skyvern/webeye/actions/handler.py index d795761d..01ffe0ed 100644 --- a/skyvern/webeye/actions/handler.py +++ b/skyvern/webeye/actions/handler.py @@ -3736,8 +3736,8 @@ async def extract_user_defined_errors(task: Task, step: Step, scraped_page: Scra navigation_goal=task.navigation_goal, navigation_payload_str=json.dumps(task.navigation_payload), elements=scraped_page_refreshed.build_element_tree(fmt=ElementTreeFormat.HTML), - current_url=task.url, - error_code_mapping_str=json.dumps(task.error_code_mapping) if task.error_code_mapping else {}, + current_url=scraped_page_refreshed.url, + error_code_mapping_str=json.dumps(task.error_code_mapping) if task.error_code_mapping else "{}", local_datetime=datetime.now(skyvern_context.ensure_context().tz_info).isoformat(), ) json_response = await app.EXTRACTION_LLM_API_HANDLER(