raccoonai 0.1.0a6__py3-none-any.whl → 0.1.0a8__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.

Potentially problematic release.


This version of raccoonai might be problematic. Click here for more details.

Files changed (44) hide show
  1. raccoonai/_base_client.py +7 -1
  2. raccoonai/_client.py +20 -3
  3. raccoonai/_files.py +1 -1
  4. raccoonai/_version.py +1 -1
  5. raccoonai/resources/__init__.py +28 -0
  6. raccoonai/resources/extensions.py +400 -0
  7. raccoonai/resources/fleet.py +176 -14
  8. raccoonai/resources/lam.py +219 -764
  9. raccoonai/resources/tail/__init__.py +47 -0
  10. raccoonai/resources/tail/apps.py +225 -0
  11. raccoonai/resources/tail/auth.py +186 -0
  12. raccoonai/resources/tail/tail.py +273 -0
  13. raccoonai/types/__init__.py +10 -4
  14. raccoonai/types/extension_all_response.py +22 -0
  15. raccoonai/types/extension_get_response.py +16 -0
  16. raccoonai/types/extension_upload_params.py +13 -0
  17. raccoonai/types/extension_upload_response.py +16 -0
  18. raccoonai/types/fleet_create_params.py +26 -12
  19. raccoonai/types/fleet_create_response.py +3 -5
  20. raccoonai/types/fleet_sessions_params.py +42 -0
  21. raccoonai/types/fleet_sessions_response.py +58 -0
  22. raccoonai/types/fleet_status_response.py +3 -5
  23. raccoonai/types/fleet_terminate_response.py +3 -5
  24. raccoonai/types/lam_run_params.py +36 -3
  25. raccoonai/types/lam_run_response.py +9 -1
  26. raccoonai/types/lam_tasks_params.py +39 -0
  27. raccoonai/types/lam_tasks_response.py +52 -0
  28. raccoonai/types/tail/__init__.py +9 -0
  29. raccoonai/types/tail/app_all_response.py +38 -0
  30. raccoonai/types/tail/app_linked_params.py +13 -0
  31. raccoonai/types/tail/app_linked_response.py +14 -0
  32. raccoonai/types/tail/auth_status_params.py +15 -0
  33. raccoonai/types/tail/auth_status_response.py +17 -0
  34. raccoonai/types/tail_users_params.py +26 -0
  35. raccoonai/types/tail_users_response.py +48 -0
  36. {raccoonai-0.1.0a6.dist-info → raccoonai-0.1.0a8.dist-info}/METADATA +33 -16
  37. raccoonai-0.1.0a8.dist-info/RECORD +61 -0
  38. raccoonai/types/lam_extract_params.py +0 -68
  39. raccoonai/types/lam_extract_response.py +0 -31
  40. raccoonai/types/lam_integration_run_params.py +0 -57
  41. raccoonai/types/lam_integration_run_response.py +0 -53
  42. raccoonai-0.1.0a6.dist-info/RECORD +0 -44
  43. {raccoonai-0.1.0a6.dist-info → raccoonai-0.1.0a8.dist-info}/WHEEL +0 -0
  44. {raccoonai-0.1.0a6.dist-info → raccoonai-0.1.0a8.dist-info}/licenses/LICENSE +0 -0
@@ -0,0 +1,273 @@
1
+ # File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
2
+
3
+ from __future__ import annotations
4
+
5
+ from typing import Optional
6
+ from typing_extensions import Literal
7
+
8
+ import httpx
9
+
10
+ from .apps import (
11
+ AppsResource,
12
+ AsyncAppsResource,
13
+ AppsResourceWithRawResponse,
14
+ AsyncAppsResourceWithRawResponse,
15
+ AppsResourceWithStreamingResponse,
16
+ AsyncAppsResourceWithStreamingResponse,
17
+ )
18
+ from .auth import (
19
+ AuthResource,
20
+ AsyncAuthResource,
21
+ AuthResourceWithRawResponse,
22
+ AsyncAuthResourceWithRawResponse,
23
+ AuthResourceWithStreamingResponse,
24
+ AsyncAuthResourceWithStreamingResponse,
25
+ )
26
+ from ...types import tail_users_params
27
+ from ..._types import NOT_GIVEN, Body, Query, Headers, NotGiven
28
+ from ..._utils import (
29
+ maybe_transform,
30
+ async_maybe_transform,
31
+ )
32
+ from ..._compat import cached_property
33
+ from ..._resource import SyncAPIResource, AsyncAPIResource
34
+ from ..._response import (
35
+ to_raw_response_wrapper,
36
+ to_streamed_response_wrapper,
37
+ async_to_raw_response_wrapper,
38
+ async_to_streamed_response_wrapper,
39
+ )
40
+ from ..._base_client import make_request_options
41
+ from ...types.tail_users_response import TailUsersResponse
42
+
43
+ __all__ = ["TailResource", "AsyncTailResource"]
44
+
45
+
46
+ class TailResource(SyncAPIResource):
47
+ @cached_property
48
+ def apps(self) -> AppsResource:
49
+ return AppsResource(self._client)
50
+
51
+ @cached_property
52
+ def auth(self) -> AuthResource:
53
+ return AuthResource(self._client)
54
+
55
+ @cached_property
56
+ def with_raw_response(self) -> TailResourceWithRawResponse:
57
+ """
58
+ This property can be used as a prefix for any HTTP method call to return
59
+ the raw response object instead of the parsed content.
60
+
61
+ For more information, see https://www.github.com/raccoonaihq/raccoonai-python#accessing-raw-response-data-eg-headers
62
+ """
63
+ return TailResourceWithRawResponse(self)
64
+
65
+ @cached_property
66
+ def with_streaming_response(self) -> TailResourceWithStreamingResponse:
67
+ """
68
+ An alternative to `.with_raw_response` that doesn't eagerly read the response body.
69
+
70
+ For more information, see https://www.github.com/raccoonaihq/raccoonai-python#with_streaming_response
71
+ """
72
+ return TailResourceWithStreamingResponse(self)
73
+
74
+ def users(
75
+ self,
76
+ *,
77
+ email_id: Optional[str] | NotGiven = NOT_GIVEN,
78
+ limit: Optional[int] | NotGiven = NOT_GIVEN,
79
+ page: Optional[int] | NotGiven = NOT_GIVEN,
80
+ raccoon_passcode: Optional[str] | NotGiven = NOT_GIVEN,
81
+ search_query: Optional[str] | NotGiven = NOT_GIVEN,
82
+ sort_by: Optional[Literal["createdAt", "name", "email", "raccoonPasscode"]] | NotGiven = NOT_GIVEN,
83
+ sort_order: Optional[Literal["ascend", "descend"]] | NotGiven = NOT_GIVEN,
84
+ # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
85
+ # The extra values given here take precedence over values defined on the client or passed to this method.
86
+ extra_headers: Headers | None = None,
87
+ extra_query: Query | None = None,
88
+ extra_body: Body | None = None,
89
+ timeout: float | httpx.Timeout | None | NotGiven = NOT_GIVEN,
90
+ ) -> TailUsersResponse:
91
+ """
92
+ Get Users Endpoint
93
+
94
+ Args:
95
+ extra_headers: Send extra headers
96
+
97
+ extra_query: Add additional query parameters to the request
98
+
99
+ extra_body: Add additional JSON properties to the request
100
+
101
+ timeout: Override the client-level default timeout for this request, in seconds
102
+ """
103
+ return self._get(
104
+ "/tail/users",
105
+ options=make_request_options(
106
+ extra_headers=extra_headers,
107
+ extra_query=extra_query,
108
+ extra_body=extra_body,
109
+ timeout=timeout,
110
+ query=maybe_transform(
111
+ {
112
+ "email_id": email_id,
113
+ "limit": limit,
114
+ "page": page,
115
+ "raccoon_passcode": raccoon_passcode,
116
+ "search_query": search_query,
117
+ "sort_by": sort_by,
118
+ "sort_order": sort_order,
119
+ },
120
+ tail_users_params.TailUsersParams,
121
+ ),
122
+ ),
123
+ cast_to=TailUsersResponse,
124
+ )
125
+
126
+
127
+ class AsyncTailResource(AsyncAPIResource):
128
+ @cached_property
129
+ def apps(self) -> AsyncAppsResource:
130
+ return AsyncAppsResource(self._client)
131
+
132
+ @cached_property
133
+ def auth(self) -> AsyncAuthResource:
134
+ return AsyncAuthResource(self._client)
135
+
136
+ @cached_property
137
+ def with_raw_response(self) -> AsyncTailResourceWithRawResponse:
138
+ """
139
+ This property can be used as a prefix for any HTTP method call to return
140
+ the raw response object instead of the parsed content.
141
+
142
+ For more information, see https://www.github.com/raccoonaihq/raccoonai-python#accessing-raw-response-data-eg-headers
143
+ """
144
+ return AsyncTailResourceWithRawResponse(self)
145
+
146
+ @cached_property
147
+ def with_streaming_response(self) -> AsyncTailResourceWithStreamingResponse:
148
+ """
149
+ An alternative to `.with_raw_response` that doesn't eagerly read the response body.
150
+
151
+ For more information, see https://www.github.com/raccoonaihq/raccoonai-python#with_streaming_response
152
+ """
153
+ return AsyncTailResourceWithStreamingResponse(self)
154
+
155
+ async def users(
156
+ self,
157
+ *,
158
+ email_id: Optional[str] | NotGiven = NOT_GIVEN,
159
+ limit: Optional[int] | NotGiven = NOT_GIVEN,
160
+ page: Optional[int] | NotGiven = NOT_GIVEN,
161
+ raccoon_passcode: Optional[str] | NotGiven = NOT_GIVEN,
162
+ search_query: Optional[str] | NotGiven = NOT_GIVEN,
163
+ sort_by: Optional[Literal["createdAt", "name", "email", "raccoonPasscode"]] | NotGiven = NOT_GIVEN,
164
+ sort_order: Optional[Literal["ascend", "descend"]] | NotGiven = NOT_GIVEN,
165
+ # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
166
+ # The extra values given here take precedence over values defined on the client or passed to this method.
167
+ extra_headers: Headers | None = None,
168
+ extra_query: Query | None = None,
169
+ extra_body: Body | None = None,
170
+ timeout: float | httpx.Timeout | None | NotGiven = NOT_GIVEN,
171
+ ) -> TailUsersResponse:
172
+ """
173
+ Get Users Endpoint
174
+
175
+ Args:
176
+ extra_headers: Send extra headers
177
+
178
+ extra_query: Add additional query parameters to the request
179
+
180
+ extra_body: Add additional JSON properties to the request
181
+
182
+ timeout: Override the client-level default timeout for this request, in seconds
183
+ """
184
+ return await self._get(
185
+ "/tail/users",
186
+ options=make_request_options(
187
+ extra_headers=extra_headers,
188
+ extra_query=extra_query,
189
+ extra_body=extra_body,
190
+ timeout=timeout,
191
+ query=await async_maybe_transform(
192
+ {
193
+ "email_id": email_id,
194
+ "limit": limit,
195
+ "page": page,
196
+ "raccoon_passcode": raccoon_passcode,
197
+ "search_query": search_query,
198
+ "sort_by": sort_by,
199
+ "sort_order": sort_order,
200
+ },
201
+ tail_users_params.TailUsersParams,
202
+ ),
203
+ ),
204
+ cast_to=TailUsersResponse,
205
+ )
206
+
207
+
208
+ class TailResourceWithRawResponse:
209
+ def __init__(self, tail: TailResource) -> None:
210
+ self._tail = tail
211
+
212
+ self.users = to_raw_response_wrapper(
213
+ tail.users,
214
+ )
215
+
216
+ @cached_property
217
+ def apps(self) -> AppsResourceWithRawResponse:
218
+ return AppsResourceWithRawResponse(self._tail.apps)
219
+
220
+ @cached_property
221
+ def auth(self) -> AuthResourceWithRawResponse:
222
+ return AuthResourceWithRawResponse(self._tail.auth)
223
+
224
+
225
+ class AsyncTailResourceWithRawResponse:
226
+ def __init__(self, tail: AsyncTailResource) -> None:
227
+ self._tail = tail
228
+
229
+ self.users = async_to_raw_response_wrapper(
230
+ tail.users,
231
+ )
232
+
233
+ @cached_property
234
+ def apps(self) -> AsyncAppsResourceWithRawResponse:
235
+ return AsyncAppsResourceWithRawResponse(self._tail.apps)
236
+
237
+ @cached_property
238
+ def auth(self) -> AsyncAuthResourceWithRawResponse:
239
+ return AsyncAuthResourceWithRawResponse(self._tail.auth)
240
+
241
+
242
+ class TailResourceWithStreamingResponse:
243
+ def __init__(self, tail: TailResource) -> None:
244
+ self._tail = tail
245
+
246
+ self.users = to_streamed_response_wrapper(
247
+ tail.users,
248
+ )
249
+
250
+ @cached_property
251
+ def apps(self) -> AppsResourceWithStreamingResponse:
252
+ return AppsResourceWithStreamingResponse(self._tail.apps)
253
+
254
+ @cached_property
255
+ def auth(self) -> AuthResourceWithStreamingResponse:
256
+ return AuthResourceWithStreamingResponse(self._tail.auth)
257
+
258
+
259
+ class AsyncTailResourceWithStreamingResponse:
260
+ def __init__(self, tail: AsyncTailResource) -> None:
261
+ self._tail = tail
262
+
263
+ self.users = async_to_streamed_response_wrapper(
264
+ tail.users,
265
+ )
266
+
267
+ @cached_property
268
+ def apps(self) -> AsyncAppsResourceWithStreamingResponse:
269
+ return AsyncAppsResourceWithStreamingResponse(self._tail.apps)
270
+
271
+ @cached_property
272
+ def auth(self) -> AsyncAuthResourceWithStreamingResponse:
273
+ return AsyncAuthResourceWithStreamingResponse(self._tail.auth)
@@ -4,12 +4,18 @@ from __future__ import annotations
4
4
 
5
5
  from .lam_run_params import LamRunParams as LamRunParams
6
6
  from .lam_run_response import LamRunResponse as LamRunResponse
7
- from .lam_extract_params import LamExtractParams as LamExtractParams
7
+ from .lam_tasks_params import LamTasksParams as LamTasksParams
8
+ from .tail_users_params import TailUsersParams as TailUsersParams
9
+ from .lam_tasks_response import LamTasksResponse as LamTasksResponse
8
10
  from .fleet_create_params import FleetCreateParams as FleetCreateParams
9
11
  from .fleet_logs_response import FleetLogsResponse as FleetLogsResponse
10
- from .lam_extract_response import LamExtractResponse as LamExtractResponse
12
+ from .tail_users_response import TailUsersResponse as TailUsersResponse
11
13
  from .fleet_create_response import FleetCreateResponse as FleetCreateResponse
14
+ from .fleet_sessions_params import FleetSessionsParams as FleetSessionsParams
12
15
  from .fleet_status_response import FleetStatusResponse as FleetStatusResponse
16
+ from .extension_all_response import ExtensionAllResponse as ExtensionAllResponse
17
+ from .extension_get_response import ExtensionGetResponse as ExtensionGetResponse
18
+ from .extension_upload_params import ExtensionUploadParams as ExtensionUploadParams
19
+ from .fleet_sessions_response import FleetSessionsResponse as FleetSessionsResponse
13
20
  from .fleet_terminate_response import FleetTerminateResponse as FleetTerminateResponse
14
- from .lam_integration_run_params import LamIntegrationRunParams as LamIntegrationRunParams
15
- from .lam_integration_run_response import LamIntegrationRunResponse as LamIntegrationRunResponse
21
+ from .extension_upload_response import ExtensionUploadResponse as ExtensionUploadResponse
@@ -0,0 +1,22 @@
1
+ # File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
2
+
3
+ from typing import List
4
+
5
+ from pydantic import Field as FieldInfo
6
+
7
+ from .._models import BaseModel
8
+
9
+ __all__ = ["ExtensionAllResponse", "Extension"]
10
+
11
+
12
+ class Extension(BaseModel):
13
+ extension_id: str = FieldInfo(alias="extensionId")
14
+ """Unique identifier for the extension."""
15
+
16
+ filename: str
17
+ """Name of the extension file."""
18
+
19
+
20
+ class ExtensionAllResponse(BaseModel):
21
+ extensions: List[Extension]
22
+ """List of extensions."""
@@ -0,0 +1,16 @@
1
+ # File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
2
+
3
+
4
+ from pydantic import Field as FieldInfo
5
+
6
+ from .._models import BaseModel
7
+
8
+ __all__ = ["ExtensionGetResponse"]
9
+
10
+
11
+ class ExtensionGetResponse(BaseModel):
12
+ extension_id: str = FieldInfo(alias="extensionId")
13
+ """Unique identifier for the extension."""
14
+
15
+ filename: str
16
+ """Name of the extension file."""
@@ -0,0 +1,13 @@
1
+ # File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
2
+
3
+ from __future__ import annotations
4
+
5
+ from typing_extensions import Required, TypedDict
6
+
7
+ from .._types import FileTypes
8
+
9
+ __all__ = ["ExtensionUploadParams"]
10
+
11
+
12
+ class ExtensionUploadParams(TypedDict, total=False):
13
+ file: Required[FileTypes]
@@ -0,0 +1,16 @@
1
+ # File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
2
+
3
+
4
+ from pydantic import Field as FieldInfo
5
+
6
+ from .._models import BaseModel
7
+
8
+ __all__ = ["ExtensionUploadResponse"]
9
+
10
+
11
+ class ExtensionUploadResponse(BaseModel):
12
+ extension_id: str = FieldInfo(alias="extensionId")
13
+ """Unique identifier for the extension."""
14
+
15
+ filename: str
16
+ """Name of the extension file."""
@@ -2,10 +2,10 @@
2
2
 
3
3
  from __future__ import annotations
4
4
 
5
- from typing import Dict, List, Optional
6
- from typing_extensions import TypedDict
5
+ from typing import Dict, List, Iterable, Optional
6
+ from typing_extensions import Literal, TypedDict
7
7
 
8
- __all__ = ["FleetCreateParams", "Advanced", "Settings"]
8
+ __all__ = ["FleetCreateParams", "Advanced", "AdvancedProxy", "Settings"]
9
9
 
10
10
 
11
11
  class FleetCreateParams(TypedDict, total=False):
@@ -15,13 +15,7 @@ class FleetCreateParams(TypedDict, total=False):
15
15
  solving.
16
16
  """
17
17
 
18
- app_name: Optional[str]
19
- """
20
- The name of the app for which the session is going to run for, used for
21
- streamlining authentication.
22
- """
23
-
24
- browser_type: Optional[str]
18
+ browser_type: Optional[Literal["chromium", "firefox", "webkit"]]
25
19
  """The type of browser to use.
26
20
 
27
21
  Supported values include 'chromium', 'firefox', and 'webkit'.
@@ -49,12 +43,32 @@ class FleetCreateParams(TypedDict, total=False):
49
43
  """The entrypoint url for the session."""
50
44
 
51
45
 
46
+ class AdvancedProxy(TypedDict, total=False):
47
+ city: Optional[str]
48
+ """Target city."""
49
+
50
+ country: Optional[str]
51
+ """Target country (2-letter ISO code)."""
52
+
53
+ enable: bool
54
+ """Whether to use a proxy for the browser session."""
55
+
56
+ state: Optional[str]
57
+ """Target state (2-letter code)."""
58
+
59
+ zip: Optional[int]
60
+ """Target postal code."""
61
+
62
+
52
63
  class Advanced(TypedDict, total=False):
53
64
  block_ads: Optional[bool]
54
65
  """Whether to block advertisements during the browser session."""
55
66
 
56
- proxy: Optional[bool]
57
- """Whether to use a proxy for the browser session."""
67
+ extension_ids: Optional[Iterable[object]]
68
+ """list of extension ids"""
69
+
70
+ proxy: Optional[AdvancedProxy]
71
+ """Proxy details for the browser session."""
58
72
 
59
73
  solve_captchas: Optional[bool]
60
74
  """Whether to attempt automatic CAPTCHA solving."""
@@ -1,5 +1,6 @@
1
1
  # File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
2
2
 
3
+ from typing_extensions import Literal
3
4
 
4
5
  from .._models import BaseModel
5
6
 
@@ -13,11 +14,8 @@ class FleetCreateResponse(BaseModel):
13
14
  session_id: str
14
15
  """A unique identifier for the created session."""
15
16
 
16
- status: str
17
- """The current status of the session.
18
-
19
- Possible values include 'running', 'unknown', or 'terminated'.
20
- """
17
+ status: Literal["starting", "running", "terminated", "completed", "unknown"]
18
+ """The current status of the session."""
21
19
 
22
20
  websocket_url: str
23
21
  """The WebSocket URL for interacting with the session."""
@@ -0,0 +1,42 @@
1
+ # File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
2
+
3
+ from __future__ import annotations
4
+
5
+ from typing import List, Optional
6
+ from typing_extensions import Literal, Annotated, TypedDict
7
+
8
+ from .._utils import PropertyInfo
9
+
10
+ __all__ = ["FleetSessionsParams"]
11
+
12
+
13
+ class FleetSessionsParams(TypedDict, total=False):
14
+ end_time: Optional[int]
15
+ """Filter sessions created before this Unix timestamp (in milliseconds)."""
16
+
17
+ execution_type: Annotated[Optional[List[Literal["run", "extract", "fleet"]]], PropertyInfo(alias="executionType")]
18
+ """Filter sessions by execution type (e.g., 'run', 'extract')."""
19
+
20
+ limit: Optional[int]
21
+ """Number of sessions per page (maximum 100)."""
22
+
23
+ page: Optional[int]
24
+ """Page number for pagination."""
25
+
26
+ raccoon_passcode: Optional[str]
27
+ """Filter sessions by Raccoon passcode."""
28
+
29
+ session_id: Optional[str]
30
+ """Filter sessions by a specific session ID."""
31
+
32
+ sort_by: Optional[Literal["timestamp", "executionTime", "taskId", "status", "executionType"]]
33
+ """Field to sort sessions by (e.g., 'timestamp', 'executionTime')."""
34
+
35
+ sort_order: Optional[Literal["ascend", "descend"]]
36
+ """Sort order ('ascend' or 'descend')."""
37
+
38
+ start_time: Optional[int]
39
+ """Filter sessions created after this Unix timestamp (in milliseconds)."""
40
+
41
+ task_id: Optional[str]
42
+ """Filter sessions by a specific task ID."""
@@ -0,0 +1,58 @@
1
+ # File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
2
+
3
+ from typing import List
4
+ from typing_extensions import Literal
5
+
6
+ from pydantic import Field as FieldInfo
7
+
8
+ from .._models import BaseModel
9
+
10
+ __all__ = ["FleetSessionsResponse", "Meta", "Session"]
11
+
12
+
13
+ class Meta(BaseModel):
14
+ current_page: int = FieldInfo(alias="currentPage")
15
+ """The current page number."""
16
+
17
+ total_pages: int = FieldInfo(alias="totalPages")
18
+ """Total number of pages available."""
19
+
20
+ total_records: int = FieldInfo(alias="totalRecords")
21
+ """Total number of records across all pages."""
22
+
23
+
24
+ class Session(BaseModel):
25
+ execution_time: int = FieldInfo(alias="executionTime")
26
+ """Time taken for the session execution (in milliseconds)."""
27
+
28
+ execution_type: Literal["run", "extract", "fleet"] = FieldInfo(alias="executionType")
29
+ """The type of execution performed (e.g., 'run', 'extract')."""
30
+
31
+ inputs: object
32
+ """Input parameters used for the session."""
33
+
34
+ output: List[object]
35
+ """Output generated by the session."""
36
+
37
+ raccoon_passcode: str = FieldInfo(alias="raccoonPasscode")
38
+ """Passcode associated with the user."""
39
+
40
+ session_id: str = FieldInfo(alias="sessionId")
41
+ """Unique identifier for the session."""
42
+
43
+ status: Literal["success", "failure", "running"]
44
+ """Current status of the session."""
45
+
46
+ task_id: str = FieldInfo(alias="taskId")
47
+ """Unique identifier for the associated task."""
48
+
49
+ timestamp: int
50
+ """Unix timestamp (in milliseconds) indicating when the session was created."""
51
+
52
+
53
+ class FleetSessionsResponse(BaseModel):
54
+ meta: Meta
55
+ """Metadata about the session list."""
56
+
57
+ sessions: List[Session]
58
+ """List of sessions."""
@@ -1,5 +1,6 @@
1
1
  # File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
2
2
 
3
+ from typing_extensions import Literal
3
4
 
4
5
  from .._models import BaseModel
5
6
 
@@ -10,8 +11,5 @@ class FleetStatusResponse(BaseModel):
10
11
  session_id: str
11
12
  """A unique identifier for the session."""
12
13
 
13
- status: str
14
- """The current status of the session.
15
-
16
- Possible values include 'running', 'unknown', or 'terminated'.
17
- """
14
+ status: Literal["starting", "running", "terminated", "completed", "unknown"]
15
+ """The current status of the session."""
@@ -1,5 +1,6 @@
1
1
  # File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
2
2
 
3
+ from typing_extensions import Literal
3
4
 
4
5
  from .._models import BaseModel
5
6
 
@@ -10,8 +11,5 @@ class FleetTerminateResponse(BaseModel):
10
11
  session_id: str
11
12
  """A unique identifier for the session."""
12
13
 
13
- status: str
14
- """The current status of the session.
15
-
16
- Possible values include 'running', 'unknown', or 'terminated'.
17
- """
14
+ status: Literal["starting", "running", "terminated", "completed", "unknown"]
15
+ """The current status of the session."""
@@ -5,7 +5,7 @@ from __future__ import annotations
5
5
  from typing import Union, Iterable, Optional
6
6
  from typing_extensions import Literal, Required, TypedDict
7
7
 
8
- __all__ = ["LamRunParamsBase", "Advanced", "LamRunParamsNonStreaming", "LamRunParamsStreaming"]
8
+ __all__ = ["LamRunParamsBase", "Advanced", "AdvancedProxy", "LamRunParamsNonStreaming", "LamRunParamsStreaming"]
9
9
 
10
10
 
11
11
  class LamRunParamsBase(TypedDict, total=False):
@@ -33,13 +33,46 @@ class LamRunParamsBase(TypedDict, total=False):
33
33
  while building a chat app to give the model context of the past conversation.
34
34
  """
35
35
 
36
+ max_count: Optional[int]
37
+ """The maximum number of results to extract."""
38
+
39
+ mode: Optional[Literal["deepsearch", "default"]]
40
+ """Mode of execution."""
41
+
42
+ schema: object
43
+ """The expected schema for the response.
44
+
45
+ This is a dictionary where the keys describe the fields and the values describe
46
+ their purposes.
47
+ """
48
+
49
+
50
+ class AdvancedProxy(TypedDict, total=False):
51
+ city: Optional[str]
52
+ """Target city."""
53
+
54
+ country: Optional[str]
55
+ """Target country (2-letter ISO code)."""
56
+
57
+ enable: bool
58
+ """Whether to use a proxy for the browser session."""
59
+
60
+ state: Optional[str]
61
+ """Target state (2-letter code)."""
62
+
63
+ zip: Optional[int]
64
+ """Target postal code."""
65
+
36
66
 
37
67
  class Advanced(TypedDict, total=False):
38
68
  block_ads: Optional[bool]
39
69
  """Whether to block advertisements during the browser session."""
40
70
 
41
- proxy: Optional[bool]
42
- """Whether to use a proxy for the browser session."""
71
+ extension_ids: Optional[Iterable[object]]
72
+ """list of extension ids"""
73
+
74
+ proxy: Optional[AdvancedProxy]
75
+ """Proxy details for the browser session."""
43
76
 
44
77
  solve_captchas: Optional[bool]
45
78
  """Whether to attempt automatic CAPTCHA solving."""
@@ -1,5 +1,7 @@
1
1
  # File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
2
2
 
3
+ from typing import List
4
+ from typing_extensions import Literal
3
5
 
4
6
  from .._models import BaseModel
5
7
 
@@ -7,6 +9,12 @@ __all__ = ["LamRunResponse"]
7
9
 
8
10
 
9
11
  class LamRunResponse(BaseModel):
12
+ data: List[object]
13
+ """The extracted data as a list of objects when the status is DONE.
14
+
15
+ Each object represents an extracted entity.
16
+ """
17
+
10
18
  livestream_url: str
11
19
  """The Livestream URL"""
12
20
 
@@ -16,7 +24,7 @@ class LamRunResponse(BaseModel):
16
24
  properties: object
17
25
  """Additional metadata or details related to the run task."""
18
26
 
19
- task_status: str
27
+ task_status: Literal["STARTING", "PROCESSING", "DONE", "HUMAN_INTERACTION", "FAILURE"]
20
28
  """The current status of the extraction task.
21
29
 
22
30
  For example: 'STARTING', 'PROCESSING', 'DONE', 'HUMAN_INTERACTION', or