Skyvern/skyvern/forge/sdk/schemas/browser_profiles.py
Marc Kelechava 3db5ec6cd7
Some checks are pending
Run tests and pre-commit / Run tests and pre-commit hooks (push) Waiting to run
Run tests and pre-commit / Frontend Lint and Build (push) Waiting to run
Publish Fern Docs / run (push) Waiting to run
[SKY-6974] Browser Profiles [2/3] Marc/backend browser session profiles (#3923)
2025-11-06 01:24:39 -08:00

32 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