Browser recording: events to blocks (#4195)
This commit is contained in:
@@ -18,7 +18,11 @@ from skyvern.forge.sdk.routes.code_samples import (
|
||||
from skyvern.forge.sdk.routes.routers import base_router
|
||||
from skyvern.forge.sdk.schemas.organizations import Organization
|
||||
from skyvern.forge.sdk.services import org_auth_service
|
||||
from skyvern.schemas.browser_sessions import CreateBrowserSessionRequest
|
||||
from skyvern.schemas.browser_sessions import (
|
||||
CreateBrowserSessionRequest,
|
||||
ProcessBrowserSessionRecordingRequest,
|
||||
ProcessBrowserSessionRecordingResponse,
|
||||
)
|
||||
from skyvern.webeye.schemas import BrowserSessionResponse
|
||||
|
||||
|
||||
@@ -217,3 +221,29 @@ async def get_browser_sessions(
|
||||
for browser_session in browser_sessions
|
||||
]
|
||||
)
|
||||
|
||||
|
||||
@base_router.post(
|
||||
"/browser_sessions/{browser_session_id}/process_recording",
|
||||
include_in_schema=False,
|
||||
)
|
||||
async def process_recording(
|
||||
browser_session_id: str = Path(..., description="The ID of the browser session.", examples=["pbs_123456"]),
|
||||
recording_request: ProcessBrowserSessionRecordingRequest = ProcessBrowserSessionRecordingRequest(),
|
||||
current_org: Organization = Depends(org_auth_service.get_current_org),
|
||||
) -> ProcessBrowserSessionRecordingResponse:
|
||||
browser_session = await app.PERSISTENT_SESSIONS_MANAGER.get_session(
|
||||
browser_session_id,
|
||||
current_org.organization_id,
|
||||
)
|
||||
if not browser_session:
|
||||
raise HTTPException(status_code=404, detail=f"Browser session {browser_session_id} not found")
|
||||
|
||||
blocks, parameters = await app.BROWSER_SESSION_RECORDING_SERVICE.process_recording(
|
||||
organization_id=current_org.organization_id,
|
||||
browser_session_id=browser_session_id,
|
||||
compressed_chunks=recording_request.compressed_chunks,
|
||||
workflow_permanent_id=recording_request.workflow_permanent_id,
|
||||
)
|
||||
|
||||
return ProcessBrowserSessionRecordingResponse(blocks=blocks, parameters=parameters)
|
||||
|
||||
Reference in New Issue
Block a user