terminate action when CUA verification code is not received (#2196)

This commit is contained in:
Shuchang Zheng
2025-04-20 06:35:21 +08:00
committed by GitHub
parent b56ac3f3bd
commit 63af3d984c

View File

@@ -4,7 +4,7 @@ import structlog
from openai.types.responses.response import Response as OpenAIResponse
from pydantic import ValidationError
from skyvern.exceptions import UnsupportedActionType
from skyvern.exceptions import NoTOTPVerificationCodeFound, UnsupportedActionType
from skyvern.forge import app
from skyvern.forge.prompts import prompt_engine
from skyvern.forge.sdk.models import Step
@@ -412,6 +412,7 @@ async def parse_cua_actions(
totp_verification_url=task.totp_verification_url,
totp_identifier=task.totp_identifier,
)
try:
verification_code = await poll_verification_code(
task.task_id,
task.organization_id,
@@ -425,6 +426,14 @@ async def parse_cua_actions(
reasoning=reasoning,
intention=reasoning,
)
except NoTOTPVerificationCodeFound:
reasoning_suffix = "No verification code found"
reasoning = f"{reasoning}. {reasoning_suffix}" if reasoning else reasoning_suffix
action = TerminateAction(
reasoning=reasoning,
intention=reasoning,
)
else:
action = TerminateAction(
reasoning=reasoning,