prompted workflows: use (nav block, [extract block],) for v1 prompts (#3658)
This commit is contained in:
21
skyvern/forge/sdk/schemas/prompts.py
Normal file
21
skyvern/forge/sdk/schemas/prompts.py
Normal file
@@ -0,0 +1,21 @@
|
||||
import typing as t
|
||||
|
||||
from pydantic import BaseModel, Field
|
||||
|
||||
from skyvern.forge.sdk.schemas.task_v2 import TaskV2Request
|
||||
from skyvern.forge.sdk.schemas.tasks import PromptedTaskRequest
|
||||
|
||||
|
||||
class CreateWorkflowFromPromptRequestV1(BaseModel):
|
||||
task_version: t.Literal["v1"]
|
||||
request: PromptedTaskRequest
|
||||
|
||||
|
||||
class CreateWorkflowFromPromptRequestV2(BaseModel):
|
||||
task_version: t.Literal["v2"]
|
||||
request: TaskV2Request
|
||||
|
||||
|
||||
CreateFromPromptRequest = t.Annotated[
|
||||
t.Union[CreateWorkflowFromPromptRequestV1, CreateWorkflowFromPromptRequestV2], Field(discriminator="task_version")
|
||||
]
|
||||
@@ -160,6 +160,29 @@ class TaskRequest(TaskBase):
|
||||
return validate_url(url)
|
||||
|
||||
|
||||
class PromptedTaskRequest(TaskRequest):
|
||||
ai_fallback: bool | None = Field(
|
||||
default=False,
|
||||
description="Whether to use AI fallback when the task fails.",
|
||||
examples=[True, False],
|
||||
)
|
||||
publish_workflow: bool | None = Field(
|
||||
default=False,
|
||||
description="Whether to publish the workflow created from the prompt.",
|
||||
examples=[True, False],
|
||||
)
|
||||
run_with: str | None = Field(
|
||||
default=None,
|
||||
description="The executor to run the task with.",
|
||||
examples=["code", "agent"],
|
||||
)
|
||||
user_prompt: str = Field(
|
||||
...,
|
||||
description="The user's prompt for the task.",
|
||||
examples=["Get a quote for car insurance"],
|
||||
)
|
||||
|
||||
|
||||
class TaskStatus(StrEnum):
|
||||
created = "created"
|
||||
queued = "queued"
|
||||
|
||||
Reference in New Issue
Block a user