Browser streaming refactor (#4064)

This commit is contained in:
Jonathan Dobson
2025-11-21 15:12:26 -05:00
committed by GitHub
parent 91b8a9e0bb
commit d96de3b7a2
16 changed files with 1948 additions and 1295 deletions

View File

@@ -6,11 +6,35 @@ import structlog
from fastapi import WebSocket
from websockets.exceptions import ConnectionClosedOK
from skyvern.forge import app
from skyvern.forge.sdk.db.enums import OrganizationAuthTokenType
from skyvern.forge.sdk.services.org_auth_service import get_current_org
LOG = structlog.get_logger()
class Constants:
MISSING_API_KEY = "<missing-x-api-key>"
async def get_x_api_key(organization_id: str) -> str:
token = await app.DATABASE.get_valid_org_auth_token(
organization_id,
OrganizationAuthTokenType.api.value,
)
if not token:
LOG.warning(
"No valid API key found for organization when streaming.",
organization_id=organization_id,
)
x_api_key = Constants.MISSING_API_KEY
else:
x_api_key = token.token
return x_api_key
async def auth(apikey: str | None, token: str | None, websocket: WebSocket) -> str | None:
"""
Accepts the websocket connection.