Skip to content

Commit 531183c

Browse files
authored
remove x-language and x-sdk-version (#272)
* remove x-language and x-sdk-version * linting
1 parent 077035e commit 531183c

File tree

5 files changed

+31
-22
lines changed

5 files changed

+31
-22
lines changed

pyproject.toml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -67,6 +67,7 @@ dev = [
6767
"importlib-metadata>=6.7.0",
6868
"rich>=13.7.1",
6969
"pytest-xdist>=3.6.1",
70+
"dotenv>=0.9.9",
7071
]
7172
pydantic-v1 = [
7273
"pydantic>=1.9.0,<2",

scripts/download-binary.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -14,15 +14,15 @@
1414
"""
1515
from __future__ import annotations
1616

17-
import sys
1817
import os
18+
import sys
1919
import json
2020
import argparse
2121
import platform
2222
import urllib.error
2323
import urllib.request
24-
from pathlib import Path
2524
from typing import Any
25+
from pathlib import Path
2626

2727

2828
def get_platform_info() -> tuple[str, str]:

src/stagehand/resources/sessions_helpers.py

Lines changed: 1 addition & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,7 @@
1212
from .._types import Body, Omit, Query, Headers, NotGiven, omit, not_given
1313
from ..session import Session, AsyncSession
1414
from .sessions import SessionsResource, AsyncSessionsResource
15+
from ..types.session_start_response import SessionStartResponse
1516

1617

1718
class SessionsResourceWithHelpers(SessionsResource):
@@ -29,8 +30,6 @@ def create(
2930
system_prompt: str | Omit = omit,
3031
verbose: Literal[0, 1, 2] | Omit = omit,
3132
wait_for_captcha_solves: bool | Omit = omit,
32-
x_language: Literal["typescript", "python", "playground"] | Omit = omit,
33-
x_sdk_version: str | Omit = omit,
3433
x_sent_at: Union[str, datetime] | Omit = omit,
3534
x_stream_response: Literal["true", "false"] | Omit = omit,
3635
extra_headers: Headers | None = None,
@@ -50,8 +49,6 @@ def create(
5049
system_prompt=system_prompt,
5150
verbose=verbose,
5251
wait_for_captcha_solves=wait_for_captcha_solves,
53-
x_language=x_language,
54-
x_sdk_version=x_sdk_version,
5552
x_sent_at=x_sent_at,
5653
x_stream_response=x_stream_response,
5754
extra_headers=extra_headers,
@@ -77,8 +74,6 @@ async def create(
7774
system_prompt: str | Omit = omit,
7875
verbose: Literal[0, 1, 2] | Omit = omit,
7976
wait_for_captcha_solves: bool | Omit = omit,
80-
x_language: Literal["typescript", "python", "playground"] | Omit = omit,
81-
x_sdk_version: str | Omit = omit,
8277
x_sent_at: Union[str, datetime] | Omit = omit,
8378
x_stream_response: Literal["true", "false"] | Omit = omit,
8479
extra_headers: Headers | None = None,
@@ -98,8 +93,6 @@ async def create(
9893
system_prompt=system_prompt,
9994
verbose=verbose,
10095
wait_for_captcha_solves=wait_for_captcha_solves,
101-
x_language=x_language,
102-
x_sdk_version=x_sdk_version,
10396
x_sent_at=x_sent_at,
10497
x_stream_response=x_stream_response,
10598
extra_headers=extra_headers,

src/stagehand/session.py

Lines changed: 5 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -16,9 +16,9 @@
1616
session_navigate_params,
1717
)
1818
from ._types import Body, Omit, Query, Headers, NotGiven, omit, not_given
19-
from .types.session_start_response import SessionStartResponse, Data as SessionStartResponseData
2019
from .types.session_act_response import SessionActResponse
2120
from .types.session_end_response import SessionEndResponse
21+
from .types.session_start_response import Data as SessionStartResponseData, SessionStartResponse
2222
from .types.session_execute_response import SessionExecuteResponse
2323
from .types.session_extract_response import SessionExtractResponse
2424
from .types.session_observe_response import SessionObserveResponse
@@ -41,10 +41,10 @@ class Session(SessionStartResponse):
4141
"""A Stagehand session bound to a specific `session_id`."""
4242

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

4949

5050
def navigate(
@@ -140,8 +140,6 @@ def execute(
140140
def end(
141141
self,
142142
*,
143-
x_language: Literal["typescript", "python", "playground"] | Omit = omit,
144-
x_sdk_version: str | Omit = omit,
145143
x_sent_at: Union[str, datetime] | Omit = omit,
146144
x_stream_response: Literal["true", "false"] | Omit = omit,
147145
extra_headers: Headers | None = None,
@@ -151,8 +149,6 @@ def end(
151149
) -> SessionEndResponse:
152150
return self._client.sessions.end(
153151
id=self.id,
154-
x_language=x_language,
155-
x_sdk_version=x_sdk_version,
156152
x_sent_at=x_sent_at,
157153
x_stream_response=x_stream_response,
158154
extra_headers=extra_headers,
@@ -166,9 +162,10 @@ class AsyncSession(SessionStartResponse):
166162
"""Async variant of `Session`."""
167163

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

173170
async def navigate(
174171
self,
@@ -263,8 +260,6 @@ async def execute(
263260
async def end(
264261
self,
265262
*,
266-
x_language: Literal["typescript", "python", "playground"] | Omit = omit,
267-
x_sdk_version: str | Omit = omit,
268263
x_sent_at: Union[str, datetime] | Omit = omit,
269264
x_stream_response: Literal["true", "false"] | Omit = omit,
270265
extra_headers: Headers | None = None,
@@ -274,8 +269,6 @@ async def end(
274269
) -> SessionEndResponse:
275270
return await self._client.sessions.end(
276271
id=self.id,
277-
x_language=x_language,
278-
x_sdk_version=x_sdk_version,
279272
x_sent_at=x_sent_at,
280273
x_stream_response=x_stream_response,
281274
extra_headers=extra_headers,

uv.lock

Lines changed: 22 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

0 commit comments

Comments
 (0)