From 33ab70dd8b7f161837c9b4e180159c8b7be5b95f Mon Sep 17 00:00:00 2001 From: Kerem Yilmaz Date: Fri, 12 Jul 2024 15:20:59 -0700 Subject: [PATCH] fix the problem of verification_code not injected into string navigation goal (#603) --- skyvern/forge/agent.py | 16 ++++++++++++++-- 1 file changed, 14 insertions(+), 2 deletions(-) diff --git a/skyvern/forge/agent.py b/skyvern/forge/agent.py index ffcc7a36..a291c166 100644 --- a/skyvern/forge/agent.py +++ b/skyvern/forge/agent.py @@ -1009,9 +1009,21 @@ class ForgeAgent: task: Task, ) -> dict[str, Any] | list | str | None: final_navigation_payload = task.navigation_payload - if isinstance(final_navigation_payload, dict) and task.totp_verification_url: - if SPECIAL_FIELD_VERIFICATION_CODE not in final_navigation_payload: + if task.totp_verification_url: + if ( + isinstance(final_navigation_payload, dict) + and SPECIAL_FIELD_VERIFICATION_CODE not in final_navigation_payload + ): final_navigation_payload[SPECIAL_FIELD_VERIFICATION_CODE] = VERIFICATION_CODE_PLACEHOLDER + elif ( + isinstance(final_navigation_payload, str) + and SPECIAL_FIELD_VERIFICATION_CODE not in final_navigation_payload + ): + final_navigation_payload = ( + final_navigation_payload + + "\n" + + str({SPECIAL_FIELD_VERIFICATION_CODE: VERIFICATION_CODE_PLACEHOLDER}) + ) return final_navigation_payload async def _get_action_results(self, task: Task) -> str: