support extension choice in pbs (#4364)
This commit is contained in:
@@ -13,6 +13,7 @@ from skyvern.forge import app
|
||||
from skyvern.forge.sdk.db.agent_db import AgentDB
|
||||
from skyvern.forge.sdk.db.polls import wait_on_persistent_browser_address
|
||||
from skyvern.forge.sdk.schemas.persistent_browser_sessions import (
|
||||
Extensions,
|
||||
PersistentBrowserSession,
|
||||
PersistentBrowserSessionStatus,
|
||||
is_final_status,
|
||||
@@ -256,6 +257,7 @@ class PersistentSessionsManager:
|
||||
runnable_type: str | None = None,
|
||||
timeout_minutes: int | None = None,
|
||||
proxy_location: ProxyLocationInput = ProxyLocation.RESIDENTIAL,
|
||||
extensions: list[Extensions] | None = None,
|
||||
) -> PersistentBrowserSession:
|
||||
"""Create a new browser session for an organization and return its ID with the browser state."""
|
||||
|
||||
@@ -270,6 +272,7 @@ class PersistentSessionsManager:
|
||||
runnable_id=runnable_id,
|
||||
timeout_minutes=timeout_minutes,
|
||||
proxy_location=proxy_location,
|
||||
extensions=extensions,
|
||||
)
|
||||
|
||||
return browser_session_db
|
||||
|
||||
@@ -10,7 +10,7 @@ from skyvern.config import settings
|
||||
from skyvern.constants import GET_DOWNLOADED_FILES_TIMEOUT
|
||||
from skyvern.forge.sdk.artifact.storage.base import BaseStorage
|
||||
from skyvern.forge.sdk.schemas.files import FileInfo
|
||||
from skyvern.forge.sdk.schemas.persistent_browser_sessions import PersistentBrowserSession
|
||||
from skyvern.forge.sdk.schemas.persistent_browser_sessions import Extensions, PersistentBrowserSession
|
||||
|
||||
LOG = structlog.get_logger()
|
||||
|
||||
@@ -46,6 +46,10 @@ class BrowserSessionResponse(BaseModel):
|
||||
description="Url for the browser session page",
|
||||
examples=["https://app.skyvern.com/browser-session/pbs_123456"],
|
||||
)
|
||||
extensions: list[Extensions] | None = Field(
|
||||
None,
|
||||
description="A list of extensions installed in the browser session.",
|
||||
)
|
||||
vnc_streaming_supported: bool = Field(False, description="Whether the browser session supports VNC streaming")
|
||||
download_path: str | None = Field(None, description="The path where the browser session downloads files")
|
||||
downloaded_files: list[FileInfo] | None = Field(
|
||||
@@ -126,4 +130,5 @@ class BrowserSessionResponse(BaseModel):
|
||||
download_path=download_path,
|
||||
downloaded_files=downloaded_files,
|
||||
recordings=recordings,
|
||||
extensions=browser_session.extensions,
|
||||
)
|
||||
|
||||
Reference in New Issue
Block a user