terminate action when CUA verification code is not received (#2196)
This commit is contained in:
@@ -4,7 +4,7 @@ import structlog
|
|||||||
from openai.types.responses.response import Response as OpenAIResponse
|
from openai.types.responses.response import Response as OpenAIResponse
|
||||||
from pydantic import ValidationError
|
from pydantic import ValidationError
|
||||||
|
|
||||||
from skyvern.exceptions import UnsupportedActionType
|
from skyvern.exceptions import NoTOTPVerificationCodeFound, UnsupportedActionType
|
||||||
from skyvern.forge import app
|
from skyvern.forge import app
|
||||||
from skyvern.forge.prompts import prompt_engine
|
from skyvern.forge.prompts import prompt_engine
|
||||||
from skyvern.forge.sdk.models import Step
|
from skyvern.forge.sdk.models import Step
|
||||||
@@ -412,6 +412,7 @@ async def parse_cua_actions(
|
|||||||
totp_verification_url=task.totp_verification_url,
|
totp_verification_url=task.totp_verification_url,
|
||||||
totp_identifier=task.totp_identifier,
|
totp_identifier=task.totp_identifier,
|
||||||
)
|
)
|
||||||
|
try:
|
||||||
verification_code = await poll_verification_code(
|
verification_code = await poll_verification_code(
|
||||||
task.task_id,
|
task.task_id,
|
||||||
task.organization_id,
|
task.organization_id,
|
||||||
@@ -425,6 +426,14 @@ async def parse_cua_actions(
|
|||||||
reasoning=reasoning,
|
reasoning=reasoning,
|
||||||
intention=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:
|
else:
|
||||||
action = TerminateAction(
|
action = TerminateAction(
|
||||||
reasoning=reasoning,
|
reasoning=reasoning,
|
||||||
|
|||||||
Reference in New Issue
Block a user