Skip to content
Merged
Show file tree
Hide file tree
Changes from 1 commit
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions pyproject.toml
Original file line number Diff line number Diff line change
Expand Up @@ -67,6 +67,7 @@ dev = [
"importlib-metadata>=6.7.0",
"rich>=13.7.1",
"pytest-xdist>=3.6.1",
"dotenv>=0.9.9",
]
pydantic-v1 = [
"pydantic>=1.9.0,<2",
Expand Down
8 changes: 0 additions & 8 deletions src/stagehand/resources/sessions_helpers.py
Original file line number Diff line number Diff line change
Expand Up @@ -29,8 +29,6 @@ def create(
system_prompt: str | Omit = omit,
verbose: Literal[0, 1, 2] | Omit = omit,
wait_for_captcha_solves: bool | Omit = omit,
x_language: Literal["typescript", "python", "playground"] | Omit = omit,
x_sdk_version: str | Omit = omit,
x_sent_at: Union[str, datetime] | Omit = omit,
x_stream_response: Literal["true", "false"] | Omit = omit,
extra_headers: Headers | None = None,
Expand All @@ -50,8 +48,6 @@ def create(
system_prompt=system_prompt,
verbose=verbose,
wait_for_captcha_solves=wait_for_captcha_solves,
x_language=x_language,
x_sdk_version=x_sdk_version,
x_sent_at=x_sent_at,
x_stream_response=x_stream_response,
extra_headers=extra_headers,
Expand All @@ -77,8 +73,6 @@ async def create(
system_prompt: str | Omit = omit,
verbose: Literal[0, 1, 2] | Omit = omit,
wait_for_captcha_solves: bool | Omit = omit,
x_language: Literal["typescript", "python", "playground"] | Omit = omit,
x_sdk_version: str | Omit = omit,
x_sent_at: Union[str, datetime] | Omit = omit,
x_stream_response: Literal["true", "false"] | Omit = omit,
extra_headers: Headers | None = None,
Expand All @@ -98,8 +92,6 @@ async def create(
system_prompt=system_prompt,
verbose=verbose,
wait_for_captcha_solves=wait_for_captcha_solves,
x_language=x_language,
x_sdk_version=x_sdk_version,
x_sent_at=x_sent_at,
x_stream_response=x_stream_response,
extra_headers=extra_headers,
Expand Down
15 changes: 4 additions & 11 deletions src/stagehand/session.py
Original file line number Diff line number Diff line change
Expand Up @@ -41,10 +41,10 @@ class Session(SessionStartResponse):
"""A Stagehand session bound to a specific `session_id`."""

def __init__(self, client: Stagehand, id: str, data: SessionStartResponseData, success: bool) -> None:
# Must call super().__init__() first to initialize Pydantic's __pydantic_extra__ before setting attributes
super().__init__(data=data, success=success)
self._client = client
self.id = id
# in case user tries to use client.sessions.start(...) return value as a SessionStartResponse dataclass/dict
super().__init__(data=data, success=success)


def navigate(
Expand Down Expand Up @@ -140,8 +140,6 @@ def execute(
def end(
self,
*,
x_language: Literal["typescript", "python", "playground"] | Omit = omit,
x_sdk_version: str | Omit = omit,
x_sent_at: Union[str, datetime] | Omit = omit,
x_stream_response: Literal["true", "false"] | Omit = omit,
extra_headers: Headers | None = None,
Expand All @@ -151,8 +149,6 @@ def end(
) -> SessionEndResponse:
return self._client.sessions.end(
id=self.id,
x_language=x_language,
x_sdk_version=x_sdk_version,
x_sent_at=x_sent_at,
x_stream_response=x_stream_response,
extra_headers=extra_headers,
Expand All @@ -166,9 +162,10 @@ class AsyncSession(SessionStartResponse):
"""Async variant of `Session`."""

def __init__(self, client: AsyncStagehand, id: str, data: SessionStartResponseData, success: bool) -> None:
# Must call super().__init__() first to initialize Pydantic's __pydantic_extra__ before setting attributes
super().__init__(data=data, success=success)
self._client = client
self.id = id
super().__init__(data=data, success=success)

async def navigate(
self,
Expand Down Expand Up @@ -263,8 +260,6 @@ async def execute(
async def end(
self,
*,
x_language: Literal["typescript", "python", "playground"] | Omit = omit,
x_sdk_version: str | Omit = omit,
x_sent_at: Union[str, datetime] | Omit = omit,
x_stream_response: Literal["true", "false"] | Omit = omit,
extra_headers: Headers | None = None,
Expand All @@ -274,8 +269,6 @@ async def end(
) -> SessionEndResponse:
return await self._client.sessions.end(
id=self.id,
x_language=x_language,
x_sdk_version=x_sdk_version,
x_sent_at=x_sent_at,
x_stream_response=x_stream_response,
extra_headers=extra_headers,
Expand Down
22 changes: 22 additions & 0 deletions uv.lock

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Loading