Files
Dorod-Sky/skyvern/forge/sdk/schemas/browser_profiles.py

33 lines
1.1 KiB
Python

from datetime import datetime
from pydantic import BaseModel, ConfigDict, Field, model_validator
class BrowserProfile(BaseModel):
model_config = ConfigDict(from_attributes=True)
browser_profile_id: str
organization_id: str
name: str
description: str | None = None
created_at: datetime
modified_at: datetime
deleted_at: datetime | None = None
class CreateBrowserProfileRequest(BaseModel):
name: str = Field(..., description="Name for the browser profile")
description: str | None = Field(None, description="Optional profile description")
browser_session_id: str | None = Field(
default=None, description="Persistent browser session to convert into a profile"
)
workflow_run_id: str | None = Field(
default=None, description="Workflow run whose persisted session should be captured"
)
@model_validator(mode="after")
def _validate_source(self) -> "CreateBrowserProfileRequest":
if bool(self.browser_session_id) == bool(self.workflow_run_id):
raise ValueError("Provide either browser_session_id or workflow_run_id")
return self