script skyvern fallback (#3285)

This commit is contained in:
Shuchang Zheng
2025-08-24 13:45:00 -07:00
committed by GitHub
parent d119c0ac92
commit 53d8c69e08
6 changed files with 246 additions and 82 deletions

View File

@@ -76,6 +76,7 @@ from skyvern.forge.sdk.workflow.context_manager import WorkflowRunContext
from skyvern.forge.sdk.workflow.models.block import ActionBlock, BaseTaskBlock, ValidationBlock
from skyvern.forge.sdk.workflow.models.workflow import Workflow, WorkflowRun, WorkflowRunStatus
from skyvern.schemas.runs import CUA_ENGINES, RunEngine
from skyvern.schemas.steps import AgentStepOutput
from skyvern.services import run_service
from skyvern.services.task_v1_service import is_cua_task
from skyvern.utils.image_resizer import Resolution
@@ -95,7 +96,7 @@ from skyvern.webeye.actions.actions import (
)
from skyvern.webeye.actions.caching import retrieve_action_plan
from skyvern.webeye.actions.handler import ActionHandler, poll_verification_code
from skyvern.webeye.actions.models import AgentStepOutput, DetailedAgentStepOutput
from skyvern.webeye.actions.models import DetailedAgentStepOutput
from skyvern.webeye.actions.parse_actions import (
parse_actions,
parse_anthropic_actions,
@@ -461,7 +462,7 @@ class ForgeAgent:
llm_caller=llm_caller,
)
await app.AGENT_FUNCTION.post_step_execution(task, step)
task = await self.update_task_errors_from_detailed_output(task, detailed_output)
task = await self.update_task_errors_from_detailed_output(task, detailed_output) # type: ignore
retry = False
if task_block and task_block.complete_on_download and task.workflow_run_id:

View File

@@ -105,9 +105,9 @@ from skyvern.forge.sdk.workflow.models.workflow import (
)
from skyvern.schemas.runs import ProxyLocation, RunEngine, RunType
from skyvern.schemas.scripts import Script, ScriptBlock, ScriptFile
from skyvern.schemas.steps import AgentStepOutput
from skyvern.schemas.workflows import BlockStatus, BlockType, WorkflowStatus
from skyvern.webeye.actions.actions import Action
from skyvern.webeye.actions.models import AgentStepOutput
LOG = structlog.get_logger()
@@ -213,6 +213,7 @@ class AgentDB:
order: int,
retry_index: int,
organization_id: str | None = None,
status: StepStatus = StepStatus.created,
) -> Step:
try:
async with self.Session() as session:
@@ -220,7 +221,7 @@ class AgentDB:
task_id=task_id,
order=order,
retry_index=retry_index,
status="created",
status=status,
organization_id=organization_id,
)
session.add(new_step)

View File

@@ -5,8 +5,8 @@ from enum import StrEnum
from pydantic import BaseModel
from skyvern.schemas.steps import AgentStepOutput
from skyvern.webeye.actions.action_types import ActionType
from skyvern.webeye.actions.models import AgentStepOutput
class StepStatus(StrEnum):