11import os
22import time
3- from enum import Enum
43from typing import Literal , Optional , Sequence , Union
54
65import httpx
76from playwright .sync_api import sync_playwright
8- from pydantic import BaseModel
7+ from pydantic import BaseModel , Field
98
109BrowserType = Literal ["chrome" , "firefox" , "edge" , "safari" ]
1110DeviceType = Literal ["desktop" , "mobile" ]
@@ -60,23 +59,28 @@ class CreateSessionOptions(BaseModel):
6059class Session (BaseModel ):
6160 id : str
6261 createdAt : str
62+ updatedAt : str
63+ projectId : str
6364 startedAt : str
6465 endedAt : Optional [str ] = None
65- projectId : str
66- status : Optional [SessionStatus ] = None
67- taskId : Optional [str ] = None
68- proxyBytes : Optional [int ] = None
6966 expiresAt : Optional [str ] = None
70- avg_cpu_usage : Optional [float ] = None
71- memory_usage : Optional [int ] = None
67+ status : str
68+ proxyBytes : Optional [int ] = None
69+ taskId : Optional [str ] = None
70+ avg_cpu_usage : Optional [float ] = Field (None , alias = "avgCpuUsage" )
71+ memory_usage : Optional [int ] = Field (None , alias = "memoryUsage" )
72+ keep_alive : Optional [bool ] = Field (None , alias = "keepAlive" )
73+ context_id : Optional [str ] = Field (None , alias = "contextId" )
7274 details : Optional [str ] = None
7375 logs : Optional [str ] = None
7476
7577
7678class SessionRecording (BaseModel ):
79+ id : Optional [str ] = None
7780 type : Optional [str ] = None
78- time : Optional [str ] = None
81+ timestamp : Optional [Union [ str , int ] ] = None
7982 data : Optional [dict ] = None
83+ session_id : Optional [str ] = Field (None , alias = "sessionId" )
8084
8185
8286class DebugConnectionURLs (BaseModel ):
@@ -86,25 +90,27 @@ class DebugConnectionURLs(BaseModel):
8690
8791
8892class Request (BaseModel ):
89- timestamp : Optional [str ]
90- params : Optional [dict ]
93+ timestamp : Optional [Union [ str , int ]] = None
94+ params : Optional [dict ] = None
9195 rawBody : Optional [str ] = None
9296
9397
9498class Response (BaseModel ):
95- timestamp : Optional [str ]
96- result : Optional [dict ]
99+ timestamp : Optional [Union [ str , int ]] = None
100+ result : Optional [dict ] = None
97101 rawBody : Optional [str ] = None
98102
99103
100104class SessionLog (BaseModel ):
101105 sessionId : Optional [str ] = None
102- id : str
103- timestamp : Optional [str ]
104- method : Optional [str ]
105- request : Optional [Request ]
106- response : Optional [Response ]
106+ timestamp : Optional [str ] = None
107+ method : Optional [str ] = None
108+ request : Optional [Request ] = None
109+ response : Optional [Response ] = None
107110 pageId : Optional [str ] = None
111+ eventId : Optional [str ] = None
112+ frameId : Optional [str ] = None
113+ loaderId : Optional [str ] = None
108114
109115
110116class Browserbase :
0 commit comments