nimble_python 0.20.0__py3-none-any.whl → 0.22.0__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.
Files changed (39) hide show
  1. nimble_python/_client.py +44 -4
  2. nimble_python/_version.py +1 -1
  3. nimble_python/resources/agent.py +6 -6
  4. nimble_python/resources/jobs/jobs.py +40 -0
  5. nimble_python/types/agent_generate_params.py +2 -2
  6. nimble_python/types/agent_run_batch_response.py +7 -2
  7. nimble_python/types/batch_get_response.py +7 -2
  8. nimble_python/types/client_extract_async_params.py +14 -2
  9. nimble_python/types/client_extract_batch_params.py +36 -6
  10. nimble_python/types/client_extract_params.py +14 -2
  11. nimble_python/types/crawl_run_params.py +14 -2
  12. nimble_python/types/extract_async_response.py +7 -2
  13. nimble_python/types/extract_batch_response.py +7 -2
  14. nimble_python/types/job_create_params.py +26 -0
  15. nimble_python/types/job_create_response.py +33 -0
  16. nimble_python/types/job_get_response.py +33 -0
  17. nimble_python/types/job_list_response.py +39 -0
  18. nimble_python/types/job_run_response.py +11 -0
  19. nimble_python/types/job_update_params.py +24 -0
  20. nimble_python/types/job_update_response.py +33 -0
  21. nimble_python/types/jobs/run_cancel_response.py +4 -0
  22. nimble_python/types/jobs/run_get_response.py +36 -0
  23. nimble_python/types/jobs/run_list_response.py +17 -0
  24. nimble_python/types/jobs/runs/artifact_download_url_response.py +4 -0
  25. nimble_python/types/jobs/runs/artifact_get_response.py +11 -0
  26. nimble_python/types/jobs/runs/artifact_list_response.py +14 -0
  27. nimble_python/types/jobs/runs/artifact_preview_response.py +5 -0
  28. nimble_python/types/media_run_async_response.py +7 -2
  29. nimble_python/types/search_response.py +6 -0
  30. nimble_python/types/serp_run_async_response.py +7 -2
  31. nimble_python/types/serp_run_batch_response.py +7 -2
  32. nimble_python/types/shared_params/get_cookies_action.py +5 -1
  33. nimble_python/types/task_agent/run_get_result_response.py +88 -22
  34. nimble_python/types/task_get_response.py +7 -2
  35. nimble_python/types/task_list_response.py +7 -2
  36. {nimble_python-0.20.0.dist-info → nimble_python-0.22.0.dist-info}/METADATA +1 -1
  37. {nimble_python-0.20.0.dist-info → nimble_python-0.22.0.dist-info}/RECORD +39 -39
  38. {nimble_python-0.20.0.dist-info → nimble_python-0.22.0.dist-info}/WHEEL +0 -0
  39. {nimble_python-0.20.0.dist-info → nimble_python-0.22.0.dist-info}/licenses/LICENSE +0 -0
nimble_python/_client.py CHANGED
@@ -294,6 +294,7 @@ class Nimble(SyncAPIClient):
294
294
  self,
295
295
  *,
296
296
  url: str,
297
+ auto_driver_configuration: Dict[str, int] | Omit = omit,
297
298
  body: object | Omit = omit,
298
299
  browser: client_extract_params.Browser | Omit = omit,
299
300
  browser_actions: Iterable[client_extract_params.BrowserAction] | Omit = omit,
@@ -555,7 +556,10 @@ class Nimble(SyncAPIClient):
555
556
  ]
556
557
  | Omit = omit,
557
558
  device: Literal["desktop", "mobile", "tablet"] | Omit = omit,
558
- driver: Literal["vx6", "vx8", "vx8-pro", "vx10", "vx10-pro", "vx12", "vx12-pro", "media-vx6"] | Omit = omit,
559
+ driver: Literal[
560
+ "auto", "vx6", "vx8", "vx8-pro", "vx10", "vx10-pro", "vx12", "vx12-pro", "media-vx6", "fast-vx6"
561
+ ]
562
+ | Omit = omit,
559
563
  expected_status_codes: Iterable[int] | Omit = omit,
560
564
  formats: List[Literal["html", "markdown", "screenshot", "headers", "links"]] | Omit = omit,
561
565
  headers: Dict[str, Union[str, SequenceNotStr[str], None]] | Omit = omit,
@@ -1184,6 +1188,11 @@ class Nimble(SyncAPIClient):
1184
1188
  Args:
1185
1189
  url: Target URL to scrape
1186
1190
 
1191
+ auto_driver_configuration: Custom flow for the optimization engine: maps candidate names to the number of
1192
+ attempts to spend on each candidate before advancing (0 skips it). Key order
1193
+ defines the flow order. Providing it opts the request into 'auto' driver
1194
+ selection.
1195
+
1187
1196
  body: Request body for POST, PUT, PATCH methods
1188
1197
 
1189
1198
  browser: Browser type to emulate
@@ -1253,6 +1262,7 @@ class Nimble(SyncAPIClient):
1253
1262
  body=maybe_transform(
1254
1263
  {
1255
1264
  "url": url,
1265
+ "auto_driver_configuration": auto_driver_configuration,
1256
1266
  "body": body,
1257
1267
  "browser": browser,
1258
1268
  "browser_actions": browser_actions,
@@ -1294,6 +1304,7 @@ class Nimble(SyncAPIClient):
1294
1304
  self,
1295
1305
  *,
1296
1306
  url: str,
1307
+ auto_driver_configuration: Dict[str, int] | Omit = omit,
1297
1308
  body: object | Omit = omit,
1298
1309
  browser: client_extract_async_params.Browser | Omit = omit,
1299
1310
  browser_actions: Iterable[client_extract_async_params.BrowserAction] | Omit = omit,
@@ -1556,7 +1567,10 @@ class Nimble(SyncAPIClient):
1556
1567
  ]
1557
1568
  | Omit = omit,
1558
1569
  device: Literal["desktop", "mobile", "tablet"] | Omit = omit,
1559
- driver: Literal["vx6", "vx8", "vx8-pro", "vx10", "vx10-pro", "vx12", "vx12-pro", "media-vx6"] | Omit = omit,
1570
+ driver: Literal[
1571
+ "auto", "vx6", "vx8", "vx8-pro", "vx10", "vx10-pro", "vx12", "vx12-pro", "media-vx6", "fast-vx6"
1572
+ ]
1573
+ | Omit = omit,
1560
1574
  expected_status_codes: Iterable[int] | Omit = omit,
1561
1575
  formats: List[Literal["html", "markdown", "screenshot", "headers", "links"]] | Omit = omit,
1562
1576
  headers: Dict[str, Union[str, SequenceNotStr[str], None]] | Omit = omit,
@@ -2189,6 +2203,11 @@ class Nimble(SyncAPIClient):
2189
2203
  Args:
2190
2204
  url: Target URL to scrape
2191
2205
 
2206
+ auto_driver_configuration: Custom flow for the optimization engine: maps candidate names to the number of
2207
+ attempts to spend on each candidate before advancing (0 skips it). Key order
2208
+ defines the flow order. Providing it opts the request into 'auto' driver
2209
+ selection.
2210
+
2192
2211
  body: Request body for POST, PUT, PATCH methods
2193
2212
 
2194
2213
  browser: Browser type to emulate
@@ -2268,6 +2287,7 @@ class Nimble(SyncAPIClient):
2268
2287
  body=maybe_transform(
2269
2288
  {
2270
2289
  "url": url,
2290
+ "auto_driver_configuration": auto_driver_configuration,
2271
2291
  "body": body,
2272
2292
  "browser": browser,
2273
2293
  "browser_actions": browser_actions,
@@ -3568,6 +3588,7 @@ class AsyncNimble(AsyncAPIClient):
3568
3588
  self,
3569
3589
  *,
3570
3590
  url: str,
3591
+ auto_driver_configuration: Dict[str, int] | Omit = omit,
3571
3592
  body: object | Omit = omit,
3572
3593
  browser: client_extract_params.Browser | Omit = omit,
3573
3594
  browser_actions: Iterable[client_extract_params.BrowserAction] | Omit = omit,
@@ -3829,7 +3850,10 @@ class AsyncNimble(AsyncAPIClient):
3829
3850
  ]
3830
3851
  | Omit = omit,
3831
3852
  device: Literal["desktop", "mobile", "tablet"] | Omit = omit,
3832
- driver: Literal["vx6", "vx8", "vx8-pro", "vx10", "vx10-pro", "vx12", "vx12-pro", "media-vx6"] | Omit = omit,
3853
+ driver: Literal[
3854
+ "auto", "vx6", "vx8", "vx8-pro", "vx10", "vx10-pro", "vx12", "vx12-pro", "media-vx6", "fast-vx6"
3855
+ ]
3856
+ | Omit = omit,
3833
3857
  expected_status_codes: Iterable[int] | Omit = omit,
3834
3858
  formats: List[Literal["html", "markdown", "screenshot", "headers", "links"]] | Omit = omit,
3835
3859
  headers: Dict[str, Union[str, SequenceNotStr[str], None]] | Omit = omit,
@@ -4458,6 +4482,11 @@ class AsyncNimble(AsyncAPIClient):
4458
4482
  Args:
4459
4483
  url: Target URL to scrape
4460
4484
 
4485
+ auto_driver_configuration: Custom flow for the optimization engine: maps candidate names to the number of
4486
+ attempts to spend on each candidate before advancing (0 skips it). Key order
4487
+ defines the flow order. Providing it opts the request into 'auto' driver
4488
+ selection.
4489
+
4461
4490
  body: Request body for POST, PUT, PATCH methods
4462
4491
 
4463
4492
  browser: Browser type to emulate
@@ -4527,6 +4556,7 @@ class AsyncNimble(AsyncAPIClient):
4527
4556
  body=await async_maybe_transform(
4528
4557
  {
4529
4558
  "url": url,
4559
+ "auto_driver_configuration": auto_driver_configuration,
4530
4560
  "body": body,
4531
4561
  "browser": browser,
4532
4562
  "browser_actions": browser_actions,
@@ -4568,6 +4598,7 @@ class AsyncNimble(AsyncAPIClient):
4568
4598
  self,
4569
4599
  *,
4570
4600
  url: str,
4601
+ auto_driver_configuration: Dict[str, int] | Omit = omit,
4571
4602
  body: object | Omit = omit,
4572
4603
  browser: client_extract_async_params.Browser | Omit = omit,
4573
4604
  browser_actions: Iterable[client_extract_async_params.BrowserAction] | Omit = omit,
@@ -4830,7 +4861,10 @@ class AsyncNimble(AsyncAPIClient):
4830
4861
  ]
4831
4862
  | Omit = omit,
4832
4863
  device: Literal["desktop", "mobile", "tablet"] | Omit = omit,
4833
- driver: Literal["vx6", "vx8", "vx8-pro", "vx10", "vx10-pro", "vx12", "vx12-pro", "media-vx6"] | Omit = omit,
4864
+ driver: Literal[
4865
+ "auto", "vx6", "vx8", "vx8-pro", "vx10", "vx10-pro", "vx12", "vx12-pro", "media-vx6", "fast-vx6"
4866
+ ]
4867
+ | Omit = omit,
4834
4868
  expected_status_codes: Iterable[int] | Omit = omit,
4835
4869
  formats: List[Literal["html", "markdown", "screenshot", "headers", "links"]] | Omit = omit,
4836
4870
  headers: Dict[str, Union[str, SequenceNotStr[str], None]] | Omit = omit,
@@ -5463,6 +5497,11 @@ class AsyncNimble(AsyncAPIClient):
5463
5497
  Args:
5464
5498
  url: Target URL to scrape
5465
5499
 
5500
+ auto_driver_configuration: Custom flow for the optimization engine: maps candidate names to the number of
5501
+ attempts to spend on each candidate before advancing (0 skips it). Key order
5502
+ defines the flow order. Providing it opts the request into 'auto' driver
5503
+ selection.
5504
+
5466
5505
  body: Request body for POST, PUT, PATCH methods
5467
5506
 
5468
5507
  browser: Browser type to emulate
@@ -5542,6 +5581,7 @@ class AsyncNimble(AsyncAPIClient):
5542
5581
  body=await async_maybe_transform(
5543
5582
  {
5544
5583
  "url": url,
5584
+ "auto_driver_configuration": auto_driver_configuration,
5545
5585
  "body": body,
5546
5586
  "browser": browser,
5547
5587
  "browser_actions": browser_actions,
nimble_python/_version.py CHANGED
@@ -1,4 +1,4 @@
1
1
  # File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
2
2
 
3
3
  __title__ = "nimble_python"
4
- __version__ = "0.20.0" # x-release-please-version
4
+ __version__ = "0.22.0" # x-release-please-version
@@ -120,9 +120,9 @@ class AgentResource(SyncAPIResource):
120
120
  *,
121
121
  prompt: str,
122
122
  url: str,
123
- agent_name: Optional[str] | Omit = omit,
124
123
  input_schema: Dict[str, object] | Omit = omit,
125
124
  metadata: Optional[agent_generate_params.CreateAgentGenerationRequestMetadata] | Omit = omit,
125
+ name: Optional[str] | Omit = omit,
126
126
  output_schema: Dict[str, object] | Omit = omit,
127
127
  # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
128
128
  # The extra values given here take precedence over values defined on the client or passed to this method.
@@ -178,9 +178,9 @@ class AgentResource(SyncAPIResource):
178
178
  *,
179
179
  prompt: str,
180
180
  url: str | Omit = omit,
181
- agent_name: Optional[str] | Omit = omit,
182
181
  input_schema: Dict[str, object] | Omit = omit,
183
182
  metadata: Optional[agent_generate_params.CreateAgentGenerationRequestMetadata] | Omit = omit,
183
+ name: Optional[str] | Omit = omit,
184
184
  output_schema: Dict[str, object] | Omit = omit,
185
185
  from_agent: str | Omit = omit,
186
186
  # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
@@ -196,9 +196,9 @@ class AgentResource(SyncAPIResource):
196
196
  {
197
197
  "prompt": prompt,
198
198
  "url": url,
199
- "agent_name": agent_name,
200
199
  "input_schema": input_schema,
201
200
  "metadata": metadata,
201
+ "name": name,
202
202
  "output_schema": output_schema,
203
203
  "from_agent": from_agent,
204
204
  },
@@ -511,9 +511,9 @@ class AsyncAgentResource(AsyncAPIResource):
511
511
  *,
512
512
  prompt: str,
513
513
  url: str,
514
- agent_name: Optional[str] | Omit = omit,
515
514
  input_schema: Dict[str, object] | Omit = omit,
516
515
  metadata: Optional[agent_generate_params.CreateAgentGenerationRequestMetadata] | Omit = omit,
516
+ name: Optional[str] | Omit = omit,
517
517
  output_schema: Dict[str, object] | Omit = omit,
518
518
  # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
519
519
  # The extra values given here take precedence over values defined on the client or passed to this method.
@@ -569,9 +569,9 @@ class AsyncAgentResource(AsyncAPIResource):
569
569
  *,
570
570
  prompt: str,
571
571
  url: str | Omit = omit,
572
- agent_name: Optional[str] | Omit = omit,
573
572
  input_schema: Dict[str, object] | Omit = omit,
574
573
  metadata: Optional[agent_generate_params.CreateAgentGenerationRequestMetadata] | Omit = omit,
574
+ name: Optional[str] | Omit = omit,
575
575
  output_schema: Dict[str, object] | Omit = omit,
576
576
  from_agent: str | Omit = omit,
577
577
  # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
@@ -587,9 +587,9 @@ class AsyncAgentResource(AsyncAPIResource):
587
587
  {
588
588
  "prompt": prompt,
589
589
  "url": url,
590
- "agent_name": agent_name,
591
590
  "input_schema": input_schema,
592
591
  "metadata": metadata,
592
+ "name": name,
593
593
  "output_schema": output_schema,
594
594
  "from_agent": from_agent,
595
595
  },
@@ -80,6 +80,18 @@ class JobsResource(SyncAPIResource):
80
80
  Create Job
81
81
 
82
82
  Args:
83
+ agent_name: Name of the agent to run.
84
+
85
+ name: Job name.
86
+
87
+ destination: Where a job writes its results.
88
+
89
+ display_name: Human-friendly job name shown in the UI.
90
+
91
+ inputs: Configuration for the input data a job processes.
92
+
93
+ schedule: Cron-based schedule controlling when a job runs automatically.
94
+
83
95
  extra_headers: Send extra headers
84
96
 
85
97
  extra_query: Add additional query parameters to the request
@@ -128,6 +140,14 @@ class JobsResource(SyncAPIResource):
128
140
  Update Job
129
141
 
130
142
  Args:
143
+ destination: Where a job writes its results.
144
+
145
+ display_name: New display name.
146
+
147
+ inputs: Configuration for the input data a job processes.
148
+
149
+ schedule: Cron-based schedule controlling when a job runs automatically.
150
+
131
151
  extra_headers: Send extra headers
132
152
 
133
153
  extra_query: Add additional query parameters to the request
@@ -352,6 +372,18 @@ class AsyncJobsResource(AsyncAPIResource):
352
372
  Create Job
353
373
 
354
374
  Args:
375
+ agent_name: Name of the agent to run.
376
+
377
+ name: Job name.
378
+
379
+ destination: Where a job writes its results.
380
+
381
+ display_name: Human-friendly job name shown in the UI.
382
+
383
+ inputs: Configuration for the input data a job processes.
384
+
385
+ schedule: Cron-based schedule controlling when a job runs automatically.
386
+
355
387
  extra_headers: Send extra headers
356
388
 
357
389
  extra_query: Add additional query parameters to the request
@@ -400,6 +432,14 @@ class AsyncJobsResource(AsyncAPIResource):
400
432
  Update Job
401
433
 
402
434
  Args:
435
+ destination: Where a job writes its results.
436
+
437
+ display_name: New display name.
438
+
439
+ inputs: Configuration for the input data a job processes.
440
+
441
+ schedule: Cron-based schedule controlling when a job runs automatically.
442
+
403
443
  extra_headers: Send extra headers
404
444
 
405
445
  extra_query: Add additional query parameters to the request
@@ -20,12 +20,12 @@ class CreateAgentGenerationRequest(TypedDict, total=False):
20
20
 
21
21
  url: Required[str]
22
22
 
23
- agent_name: Optional[str]
24
-
25
23
  input_schema: Dict[str, object]
26
24
 
27
25
  metadata: Optional[CreateAgentGenerationRequestMetadata]
28
26
 
27
+ name: Optional[str]
28
+
29
29
  output_schema: Dict[str, object]
30
30
 
31
31
 
@@ -22,7 +22,7 @@ class Task(BaseModel):
22
22
  input: object
23
23
  """Original input data for the task."""
24
24
 
25
- state: Literal["pending", "success", "error"]
25
+ state: Literal["pending", "queued", "in_progress", "success", "error"]
26
26
  """Current state of the task."""
27
27
 
28
28
  status_url: str
@@ -31,7 +31,9 @@ class Task(BaseModel):
31
31
  account_name: Optional[str] = None
32
32
  """Account name that owns the task."""
33
33
 
34
- api_type: Optional[Literal["web", "serp", "ecommerce", "social", "media", "agent", "extract", "fast-serp"]] = None
34
+ api_type: Optional[
35
+ Literal["web", "serp", "ecommerce", "social", "media", "agent", "extract", "fast-serp", "labs"]
36
+ ] = None
35
37
 
36
38
  batch_id: Optional[str] = None
37
39
  """Batch ID if this task is part of a batch."""
@@ -51,6 +53,9 @@ class Task(BaseModel):
51
53
  output_url: Optional[str] = None
52
54
  """Storage location of the output data."""
53
55
 
56
+ queue: Optional[str] = None
57
+ """Queue name the task was submitted to."""
58
+
54
59
  status_code: Optional[float] = None
55
60
  """HTTP status code from the task execution."""
56
61
 
@@ -22,7 +22,7 @@ class Task(BaseModel):
22
22
  input: object
23
23
  """Original input data for the task."""
24
24
 
25
- state: Literal["pending", "success", "error"]
25
+ state: Literal["pending", "queued", "in_progress", "success", "error"]
26
26
  """Current state of the task."""
27
27
 
28
28
  status_url: str
@@ -31,7 +31,9 @@ class Task(BaseModel):
31
31
  account_name: Optional[str] = None
32
32
  """Account name that owns the task."""
33
33
 
34
- api_type: Optional[Literal["web", "serp", "ecommerce", "social", "media", "agent", "extract", "fast-serp"]] = None
34
+ api_type: Optional[
35
+ Literal["web", "serp", "ecommerce", "social", "media", "agent", "extract", "fast-serp", "labs"]
36
+ ] = None
35
37
 
36
38
  batch_id: Optional[str] = None
37
39
  """Batch ID if this task is part of a batch."""
@@ -51,6 +53,9 @@ class Task(BaseModel):
51
53
  output_url: Optional[str] = None
52
54
  """Storage location of the output data."""
53
55
 
56
+ queue: Optional[str] = None
57
+ """Queue name the task was submitted to."""
58
+
54
59
  status_code: Optional[float] = None
55
60
  """HTTP status code from the task execution."""
56
61
 
@@ -37,6 +37,14 @@ class ClientExtractAsyncParams(TypedDict, total=False):
37
37
  url: Required[str]
38
38
  """Target URL to scrape"""
39
39
 
40
+ auto_driver_configuration: Dict[str, int]
41
+ """
42
+ Custom flow for the optimization engine: maps candidate names to the number of
43
+ attempts to spend on each candidate before advancing (0 skips it). Key order
44
+ defines the flow order. Providing it opts the request into 'auto' driver
45
+ selection.
46
+ """
47
+
40
48
  body: object
41
49
  """Request body for POST, PUT, PATCH methods"""
42
50
 
@@ -316,7 +324,7 @@ class ClientExtractAsyncParams(TypedDict, total=False):
316
324
  device: Literal["desktop", "mobile", "tablet"]
317
325
  """Device type for browser emulation"""
318
326
 
319
- driver: Literal["vx6", "vx8", "vx8-pro", "vx10", "vx10-pro", "vx12", "vx12-pro", "media-vx6"]
327
+ driver: Literal["auto", "vx6", "vx8", "vx8-pro", "vx10", "vx10-pro", "vx12", "vx12-pro", "media-vx6", "fast-vx6"]
320
328
  """Browser driver to use"""
321
329
 
322
330
  expected_status_codes: Iterable[int]
@@ -1009,7 +1017,11 @@ BrowserAction: TypeAlias = Union[
1009
1017
  ]
1010
1018
 
1011
1019
 
1012
- class CookiesUnionMember0(TypedDict, total=False, extra_items=object): # type: ignore[call-arg]
1020
+ class CookiesUnionMember0( # type: ignore[call-arg]
1021
+ TypedDict,
1022
+ total=False,
1023
+ extra_items=object, # pyright: ignore[reportGeneralTypeIssues]
1024
+ ):
1013
1025
  creation: Optional[str]
1014
1026
 
1015
1027
  domain: Optional[str]
@@ -82,7 +82,11 @@ InputBrowserAction: TypeAlias = Union[
82
82
  ]
83
83
 
84
84
 
85
- class InputCookiesUnionMember0(TypedDict, total=False, extra_items=object): # type: ignore[call-arg]
85
+ class InputCookiesUnionMember0( # type: ignore[call-arg]
86
+ TypedDict,
87
+ total=False,
88
+ extra_items=object, # pyright: ignore[reportGeneralTypeIssues]
89
+ ):
86
90
  creation: Optional[str]
87
91
 
88
92
  domain: Optional[str]
@@ -146,6 +150,14 @@ class InputSession(TypedDict, total=False):
146
150
 
147
151
 
148
152
  class Input(TypedDict, total=False):
153
+ auto_driver_configuration: Dict[str, int]
154
+ """
155
+ Custom flow for the optimization engine: maps candidate names to the number of
156
+ attempts to spend on each candidate before advancing (0 skips it). Key order
157
+ defines the flow order. Providing it opts the request into 'auto' driver
158
+ selection.
159
+ """
160
+
149
161
  body: object
150
162
  """Request body for POST, PUT, PATCH methods"""
151
163
 
@@ -425,8 +437,11 @@ class Input(TypedDict, total=False):
425
437
  device: Literal["desktop", "mobile", "tablet"]
426
438
  """Device type for browser emulation"""
427
439
 
428
- driver: Literal["vx6", "vx8", "vx8-pro", "vx10", "vx10-pro", "vx12", "vx12-pro", "media-vx6"]
429
- """Browser driver to use"""
440
+ driver: Literal["auto", "vx6", "vx8", "vx8-pro", "vx10", "vx10-pro", "vx12", "vx12-pro", "media-vx6", "fast-vx6"]
441
+ """Browser driver to use.
442
+
443
+ Use 'auto' to let the engine select the candidate config per domain.
444
+ """
430
445
 
431
446
  expected_status_codes: Iterable[int]
432
447
  """Expected HTTP status codes for successful requests"""
@@ -1124,7 +1139,11 @@ SharedInputsBrowserAction: TypeAlias = Union[
1124
1139
  ]
1125
1140
 
1126
1141
 
1127
- class SharedInputsCookiesUnionMember0(TypedDict, total=False, extra_items=object): # type: ignore[call-arg]
1142
+ class SharedInputsCookiesUnionMember0( # type: ignore[call-arg]
1143
+ TypedDict,
1144
+ total=False,
1145
+ extra_items=object, # pyright: ignore[reportGeneralTypeIssues]
1146
+ ):
1128
1147
  creation: Optional[str]
1129
1148
 
1130
1149
  domain: Optional[str]
@@ -1193,6 +1212,14 @@ class SharedInputs(TypedDict, total=False):
1193
1212
  Can include extraction parameters and async/storage settings.
1194
1213
  """
1195
1214
 
1215
+ auto_driver_configuration: Dict[str, int]
1216
+ """
1217
+ Custom flow for the optimization engine: maps candidate names to the number of
1218
+ attempts to spend on each candidate before advancing (0 skips it). Key order
1219
+ defines the flow order. Providing it opts the request into 'auto' driver
1220
+ selection.
1221
+ """
1222
+
1196
1223
  body: object
1197
1224
  """Request body for POST, PUT, PATCH methods"""
1198
1225
 
@@ -1472,8 +1499,11 @@ class SharedInputs(TypedDict, total=False):
1472
1499
  device: Literal["desktop", "mobile", "tablet"]
1473
1500
  """Device type for browser emulation"""
1474
1501
 
1475
- driver: Literal["vx6", "vx8", "vx8-pro", "vx10", "vx10-pro", "vx12", "vx12-pro", "media-vx6"]
1476
- """Browser driver to use"""
1502
+ driver: Literal["auto", "vx6", "vx8", "vx8-pro", "vx10", "vx10-pro", "vx12", "vx12-pro", "media-vx6", "fast-vx6"]
1503
+ """Browser driver to use.
1504
+
1505
+ Use 'auto' to let the engine select the candidate config per domain.
1506
+ """
1477
1507
 
1478
1508
  expected_status_codes: Iterable[int]
1479
1509
  """Expected HTTP status codes for successful requests"""
@@ -37,6 +37,14 @@ class ClientExtractParams(TypedDict, total=False):
37
37
  url: Required[str]
38
38
  """Target URL to scrape"""
39
39
 
40
+ auto_driver_configuration: Dict[str, int]
41
+ """
42
+ Custom flow for the optimization engine: maps candidate names to the number of
43
+ attempts to spend on each candidate before advancing (0 skips it). Key order
44
+ defines the flow order. Providing it opts the request into 'auto' driver
45
+ selection.
46
+ """
47
+
40
48
  body: object
41
49
  """Request body for POST, PUT, PATCH methods"""
42
50
 
@@ -313,7 +321,7 @@ class ClientExtractParams(TypedDict, total=False):
313
321
  device: Literal["desktop", "mobile", "tablet"]
314
322
  """Device type for browser emulation"""
315
323
 
316
- driver: Literal["vx6", "vx8", "vx8-pro", "vx10", "vx10-pro", "vx12", "vx12-pro", "media-vx6"]
324
+ driver: Literal["auto", "vx6", "vx8", "vx8-pro", "vx10", "vx10-pro", "vx12", "vx12-pro", "media-vx6", "fast-vx6"]
317
325
  """Browser driver to use"""
318
326
 
319
327
  expected_status_codes: Iterable[int]
@@ -994,7 +1002,11 @@ BrowserAction: TypeAlias = Union[
994
1002
  ]
995
1003
 
996
1004
 
997
- class CookiesUnionMember0(TypedDict, total=False, extra_items=object): # type: ignore[call-arg]
1005
+ class CookiesUnionMember0( # type: ignore[call-arg]
1006
+ TypedDict,
1007
+ total=False,
1008
+ extra_items=object, # pyright: ignore[reportGeneralTypeIssues]
1009
+ ):
998
1010
  creation: Optional[str]
999
1011
 
1000
1012
  domain: Optional[str]
@@ -118,7 +118,11 @@ ExtractOptionsBrowserAction: TypeAlias = Union[
118
118
  ]
119
119
 
120
120
 
121
- class ExtractOptionsCookiesUnionMember0(TypedDict, total=False, extra_items=object): # type: ignore[call-arg]
121
+ class ExtractOptionsCookiesUnionMember0( # type: ignore[call-arg]
122
+ TypedDict,
123
+ total=False,
124
+ extra_items=object, # pyright: ignore[reportGeneralTypeIssues]
125
+ ):
122
126
  creation: Optional[str]
123
127
 
124
128
  domain: Optional[str]
@@ -182,6 +186,14 @@ class ExtractOptionsSession(TypedDict, total=False):
182
186
 
183
187
 
184
188
  class ExtractOptions(TypedDict, total=False):
189
+ auto_driver_configuration: Dict[str, int]
190
+ """
191
+ Custom flow for the optimization engine: maps candidate names to the number of
192
+ attempts to spend on each candidate before advancing (0 skips it). Key order
193
+ defines the flow order. Providing it opts the request into 'auto' driver
194
+ selection.
195
+ """
196
+
185
197
  body: object
186
198
  """Request body for POST, PUT, PATCH methods"""
187
199
 
@@ -458,7 +470,7 @@ class ExtractOptions(TypedDict, total=False):
458
470
  device: Literal["desktop", "mobile", "tablet"]
459
471
  """Device type for browser emulation"""
460
472
 
461
- driver: Literal["vx6", "vx8", "vx8-pro", "vx10", "vx10-pro", "vx12", "vx12-pro", "media-vx6"]
473
+ driver: Literal["auto", "vx6", "vx8", "vx8-pro", "vx10", "vx10-pro", "vx12", "vx12-pro", "media-vx6", "fast-vx6"]
462
474
  """Browser driver to use"""
463
475
 
464
476
  expected_status_codes: Iterable[int]
@@ -24,7 +24,7 @@ class Task(BaseModel):
24
24
  input: object
25
25
  """Original input data for the task."""
26
26
 
27
- state: Literal["pending", "success", "error"]
27
+ state: Literal["pending", "queued", "in_progress", "success", "error"]
28
28
  """Current state of the task."""
29
29
 
30
30
  status_url: str
@@ -33,7 +33,9 @@ class Task(BaseModel):
33
33
  account_name: Optional[str] = None
34
34
  """Account name that owns the task."""
35
35
 
36
- api_type: Optional[Literal["web", "serp", "ecommerce", "social", "media", "agent", "extract", "fast-serp"]] = None
36
+ api_type: Optional[
37
+ Literal["web", "serp", "ecommerce", "social", "media", "agent", "extract", "fast-serp", "labs"]
38
+ ] = None
37
39
 
38
40
  batch_id: Optional[str] = None
39
41
  """Batch ID if this task is part of a batch."""
@@ -53,6 +55,9 @@ class Task(BaseModel):
53
55
  output_url: Optional[str] = None
54
56
  """Storage location of the output data."""
55
57
 
58
+ queue: Optional[str] = None
59
+ """Queue name the task was submitted to."""
60
+
56
61
  status_code: Optional[float] = None
57
62
  """HTTP status code from the task execution."""
58
63
 
@@ -22,7 +22,7 @@ class Task(BaseModel):
22
22
  input: object
23
23
  """Original input data for the task."""
24
24
 
25
- state: Literal["pending", "success", "error"]
25
+ state: Literal["pending", "queued", "in_progress", "success", "error"]
26
26
  """Current state of the task."""
27
27
 
28
28
  status_url: str
@@ -31,7 +31,9 @@ class Task(BaseModel):
31
31
  account_name: Optional[str] = None
32
32
  """Account name that owns the task."""
33
33
 
34
- api_type: Optional[Literal["web", "serp", "ecommerce", "social", "media", "agent", "extract", "fast-serp"]] = None
34
+ api_type: Optional[
35
+ Literal["web", "serp", "ecommerce", "social", "media", "agent", "extract", "fast-serp", "labs"]
36
+ ] = None
35
37
 
36
38
  batch_id: Optional[str] = None
37
39
  """Batch ID if this task is part of a batch."""
@@ -51,6 +53,9 @@ class Task(BaseModel):
51
53
  output_url: Optional[str] = None
52
54
  """Storage location of the output data."""
53
55
 
56
+ queue: Optional[str] = None
57
+ """Queue name the task was submitted to."""
58
+
54
59
  status_code: Optional[float] = None
55
60
  """HTTP status code from the task execution."""
56
61