Files
Dorod-Sky/skyvern/forge/sdk/schemas/prompts.py
2025-11-18 19:02:21 -05:00

33 lines
1.1 KiB
Python

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")
]
class ImprovePromptRequest(BaseModel):
context: dict | None = Field(default_factory=dict, description="Additional context about the user's needs")
prompt: str = Field(..., min_length=1, description="The original prompt to improve")
class ImprovePromptResponse(BaseModel):
error: str | None = Field(None, description="Error message if prompt improvement failed")
improved: str = Field(..., description="The improved version of the prompt")
original: str = Field(..., description="The original prompt provided for improvement")