@olib-ai/owl-browser-sdk 2.1.0 → 2.1.1
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.
- package/openapi.json +55 -50
- package/package.json +1 -1
package/openapi.json
CHANGED
|
@@ -28,7 +28,7 @@
|
|
|
28
28
|
"/go": {
|
|
29
29
|
"get": {
|
|
30
30
|
"summary": "Browser Go",
|
|
31
|
-
"description": "One-shot browser navigation tool. Creates a new context, navigates to the URL, waits for page load, extracts the HTML, and closes the context. Optimized for single-page scraping or rendering tasks.
|
|
31
|
+
"description": "One-shot browser navigation tool. Creates a new context, navigates to the URL, waits for page load, extracts the HTML, and closes the context. Optimized for single-page scraping or rendering tasks. Callable as POST /execute/browser_go or the GET /go?url=... convenience endpoint (page requests are always GET).",
|
|
32
32
|
"tags": [
|
|
33
33
|
"Navigation"
|
|
34
34
|
],
|
|
@@ -56,7 +56,7 @@
|
|
|
56
56
|
"fullscroll"
|
|
57
57
|
]
|
|
58
58
|
},
|
|
59
|
-
"description": "When to consider navigation complete: '' (
|
|
59
|
+
"description": "When to consider navigation complete: 'load' (wait for load event, default; '' is treated as 'load'), 'domcontentloaded' (wait for DOMContentLoaded), 'networkidle' (wait for network to be idle), 'fullscroll' (scroll full page to trigger lazy loading, then scroll back to top)"
|
|
60
60
|
},
|
|
61
61
|
{
|
|
62
62
|
"name": "timeout",
|
|
@@ -254,14 +254,15 @@
|
|
|
254
254
|
},
|
|
255
255
|
"chrome_version_major": {
|
|
256
256
|
"type": "string",
|
|
257
|
-
"description": "Pin this context to a specific Chrome major. Resolved to chrome_version_id by looking up the chrome_versions row whose major matches. Options: '143', '144', '145', '146', '147', '148' (current
|
|
257
|
+
"description": "Pin this context to a specific Chrome major. Resolved to chrome_version_id by looking up the chrome_versions row whose major matches. Options: '143', '144', '145', '146', '147', '148', '149' (current 7-major roster).",
|
|
258
258
|
"enum": [
|
|
259
259
|
"143",
|
|
260
260
|
"144",
|
|
261
261
|
"145",
|
|
262
262
|
"146",
|
|
263
263
|
"147",
|
|
264
|
-
"148"
|
|
264
|
+
"148",
|
|
265
|
+
"149"
|
|
265
266
|
]
|
|
266
267
|
},
|
|
267
268
|
"proxy_type": {
|
|
@@ -292,9 +293,13 @@
|
|
|
292
293
|
"type": "string",
|
|
293
294
|
"description": "Password for proxy authentication. Only required if the proxy server requires credentials"
|
|
294
295
|
},
|
|
295
|
-
"
|
|
296
|
+
"proxy_spoof_timezone": {
|
|
296
297
|
"type": "boolean",
|
|
297
|
-
"description": "
|
|
298
|
+
"description": "Automatically spoof browser timezone to match proxy location (detected via IP geolocation). Default: true when proxy is configured"
|
|
299
|
+
},
|
|
300
|
+
"proxy_timezone_override": {
|
|
301
|
+
"type": "string",
|
|
302
|
+
"description": "Manually set timezone instead of proxy auto-detection. IANA format like 'America/New_York', 'Europe/London'. Takes precedence over proxy_spoof_timezone. The top-level 'timezone' parameter takes precedence over both"
|
|
298
303
|
},
|
|
299
304
|
"proxy_ca_cert_path": {
|
|
300
305
|
"type": "string",
|
|
@@ -339,6 +344,10 @@
|
|
|
339
344
|
"llm_api_key": {
|
|
340
345
|
"type": "string",
|
|
341
346
|
"description": "API key for the external LLM provider. Required when using external LLM endpoint"
|
|
347
|
+
},
|
|
348
|
+
"llm_is_third_party": {
|
|
349
|
+
"type": "boolean",
|
|
350
|
+
"description": "Mark the LLM as a third-party provider (OpenAI-compatible API). Automatically inferred as true when llm_endpoint is set. Default: false"
|
|
342
351
|
}
|
|
343
352
|
}
|
|
344
353
|
}
|
|
@@ -511,7 +520,7 @@
|
|
|
511
520
|
},
|
|
512
521
|
"wait_until": {
|
|
513
522
|
"type": "string",
|
|
514
|
-
"description": "When to consider reload complete: '
|
|
523
|
+
"description": "When to consider reload complete: 'load' (wait for load event, default; '' is treated as 'load'), 'domcontentloaded' (wait for DOMContentLoaded), 'networkidle' (wait for network to be idle), 'fullscroll' (scroll full page to trigger lazy loading, then scroll back to top)",
|
|
515
524
|
"enum": [
|
|
516
525
|
"",
|
|
517
526
|
"load",
|
|
@@ -565,7 +574,7 @@
|
|
|
565
574
|
},
|
|
566
575
|
"wait_until": {
|
|
567
576
|
"type": "string",
|
|
568
|
-
"description": "When to consider navigation complete: '
|
|
577
|
+
"description": "When to consider navigation complete: 'load' (wait for load event, default; '' is treated as 'load'), 'domcontentloaded' (wait for DOMContentLoaded), 'networkidle' (wait for network to be idle), 'fullscroll' (scroll full page to trigger lazy loading, then scroll back to top)",
|
|
569
578
|
"enum": [
|
|
570
579
|
"",
|
|
571
580
|
"load",
|
|
@@ -619,7 +628,7 @@
|
|
|
619
628
|
},
|
|
620
629
|
"wait_until": {
|
|
621
630
|
"type": "string",
|
|
622
|
-
"description": "When to consider navigation complete: '
|
|
631
|
+
"description": "When to consider navigation complete: 'load' (wait for load event, default; '' is treated as 'load'), 'domcontentloaded' (wait for DOMContentLoaded), 'networkidle' (wait for network to be idle), 'fullscroll' (scroll full page to trigger lazy loading, then scroll back to top)",
|
|
623
632
|
"enum": [
|
|
624
633
|
"",
|
|
625
634
|
"load",
|
|
@@ -803,7 +812,11 @@
|
|
|
803
812
|
},
|
|
804
813
|
"index": {
|
|
805
814
|
"type": "string",
|
|
806
|
-
"description": "When multiple elements match the selector, click the Nth element (0-based). Uses querySelectorAll()[index] instead of querySelector().
|
|
815
|
+
"description": "When multiple elements match the selector, click the Nth element (0-based). Uses querySelectorAll()[index] instead of querySelector(). Omit for the first match (querySelector). Use -1 to target the LAST matching element"
|
|
816
|
+
},
|
|
817
|
+
"verification_level": {
|
|
818
|
+
"type": "string",
|
|
819
|
+
"description": "How thoroughly to verify the click took effect: 'none', 'basic', 'standard', 'strict'. Default: 'standard'"
|
|
807
820
|
}
|
|
808
821
|
},
|
|
809
822
|
"required": [
|
|
@@ -855,7 +868,11 @@
|
|
|
855
868
|
},
|
|
856
869
|
"index": {
|
|
857
870
|
"type": "string",
|
|
858
|
-
"description": "When multiple elements match the selector, target the Nth element (0-based). Uses querySelectorAll()[index] instead of querySelector().
|
|
871
|
+
"description": "When multiple elements match the selector, target the Nth element (0-based). Uses querySelectorAll()[index] instead of querySelector(). Omit for the first match (querySelector). Use -1 to target the LAST matching element"
|
|
872
|
+
},
|
|
873
|
+
"verification_level": {
|
|
874
|
+
"type": "string",
|
|
875
|
+
"description": "How thoroughly to verify the typed text took effect: 'none', 'basic', 'standard', 'strict'. Default: 'standard'"
|
|
859
876
|
}
|
|
860
877
|
},
|
|
861
878
|
"required": [
|
|
@@ -904,6 +921,10 @@
|
|
|
904
921
|
"value": {
|
|
905
922
|
"type": "string",
|
|
906
923
|
"description": "The option to select. Can be the option's value attribute OR the visible display text. Works with both native select elements and dynamic dropdowns (select2, etc.)"
|
|
924
|
+
},
|
|
925
|
+
"verification_level": {
|
|
926
|
+
"type": "string",
|
|
927
|
+
"description": "How thoroughly to verify the selection took effect: 'none', 'basic', 'standard', 'strict'. Default: 'standard'"
|
|
907
928
|
}
|
|
908
929
|
},
|
|
909
930
|
"required": [
|
|
@@ -1214,7 +1235,7 @@
|
|
|
1214
1235
|
},
|
|
1215
1236
|
"index": {
|
|
1216
1237
|
"type": "string",
|
|
1217
|
-
"description": "When multiple elements match the selector, target the Nth element (0-based).
|
|
1238
|
+
"description": "When multiple elements match the selector, target the Nth element (0-based). Omit for the first match (querySelector). Use -1 to target the LAST matching element"
|
|
1218
1239
|
}
|
|
1219
1240
|
},
|
|
1220
1241
|
"required": [
|
|
@@ -1262,7 +1283,7 @@
|
|
|
1262
1283
|
},
|
|
1263
1284
|
"index": {
|
|
1264
1285
|
"type": "string",
|
|
1265
|
-
"description": "When multiple elements match the selector, target the Nth element (0-based).
|
|
1286
|
+
"description": "When multiple elements match the selector, target the Nth element (0-based). Omit for the first match (querySelector). Use -1 to target the LAST matching element"
|
|
1266
1287
|
}
|
|
1267
1288
|
},
|
|
1268
1289
|
"required": [
|
|
@@ -1310,7 +1331,7 @@
|
|
|
1310
1331
|
},
|
|
1311
1332
|
"index": {
|
|
1312
1333
|
"type": "string",
|
|
1313
|
-
"description": "When multiple elements match the selector, target the Nth element (0-based).
|
|
1334
|
+
"description": "When multiple elements match the selector, target the Nth element (0-based). Omit for the first match (querySelector). Use -1 to target the LAST matching element"
|
|
1314
1335
|
}
|
|
1315
1336
|
},
|
|
1316
1337
|
"required": [
|
|
@@ -1358,7 +1379,7 @@
|
|
|
1358
1379
|
},
|
|
1359
1380
|
"index": {
|
|
1360
1381
|
"type": "string",
|
|
1361
|
-
"description": "When multiple elements match the selector, target the Nth element (0-based).
|
|
1382
|
+
"description": "When multiple elements match the selector, target the Nth element (0-based). Omit for the first match (querySelector). Use -1 to target the LAST matching element"
|
|
1362
1383
|
}
|
|
1363
1384
|
},
|
|
1364
1385
|
"required": [
|
|
@@ -1406,7 +1427,7 @@
|
|
|
1406
1427
|
},
|
|
1407
1428
|
"index": {
|
|
1408
1429
|
"type": "string",
|
|
1409
|
-
"description": "When multiple elements match the selector, target the Nth element (0-based).
|
|
1430
|
+
"description": "When multiple elements match the selector, target the Nth element (0-based). Omit for the first match (querySelector). Use -1 to target the LAST matching element"
|
|
1410
1431
|
}
|
|
1411
1432
|
},
|
|
1412
1433
|
"required": [
|
|
@@ -1635,7 +1656,7 @@
|
|
|
1635
1656
|
},
|
|
1636
1657
|
"index": {
|
|
1637
1658
|
"type": "string",
|
|
1638
|
-
"description": "When multiple elements match the selector, check the Nth element (0-based).
|
|
1659
|
+
"description": "When multiple elements match the selector, check the Nth element (0-based). Omit for the first match (querySelector). Use -1 to target the LAST matching element"
|
|
1639
1660
|
}
|
|
1640
1661
|
},
|
|
1641
1662
|
"required": [
|
|
@@ -1683,7 +1704,7 @@
|
|
|
1683
1704
|
},
|
|
1684
1705
|
"index": {
|
|
1685
1706
|
"type": "string",
|
|
1686
|
-
"description": "When multiple elements match the selector, check the Nth element (0-based).
|
|
1707
|
+
"description": "When multiple elements match the selector, check the Nth element (0-based). Omit for the first match (querySelector). Use -1 to target the LAST matching element"
|
|
1687
1708
|
}
|
|
1688
1709
|
},
|
|
1689
1710
|
"required": [
|
|
@@ -1731,7 +1752,7 @@
|
|
|
1731
1752
|
},
|
|
1732
1753
|
"index": {
|
|
1733
1754
|
"type": "string",
|
|
1734
|
-
"description": "When multiple elements match the selector, check the Nth element (0-based).
|
|
1755
|
+
"description": "When multiple elements match the selector, check the Nth element (0-based). Omit for the first match (querySelector). Use -1 to target the LAST matching element"
|
|
1735
1756
|
}
|
|
1736
1757
|
},
|
|
1737
1758
|
"required": [
|
|
@@ -1779,7 +1800,7 @@
|
|
|
1779
1800
|
},
|
|
1780
1801
|
"index": {
|
|
1781
1802
|
"type": "string",
|
|
1782
|
-
"description": "When multiple elements match the selector, check the Nth element (0-based).
|
|
1803
|
+
"description": "When multiple elements match the selector, check the Nth element (0-based). Omit for the first match (querySelector). Use -1 to target the LAST matching element"
|
|
1783
1804
|
}
|
|
1784
1805
|
},
|
|
1785
1806
|
"required": [
|
|
@@ -1903,7 +1924,7 @@
|
|
|
1903
1924
|
"/api/execute/browser_get_attribute": {
|
|
1904
1925
|
"post": {
|
|
1905
1926
|
"summary": "Browser Get Attribute",
|
|
1906
|
-
"description": "Get the value of an HTML attribute from an element. Can retrieve any attribute including 'href', 'src', 'value', 'data-*' attributes, 'class', 'id', etc. Returns
|
|
1927
|
+
"description": "Get the value of an HTML attribute from an element. Can retrieve any attribute including 'href', 'src', 'value', 'data-*' attributes, 'class', 'id', etc. Returns an empty string if the attribute doesn't exist or the element is not found.",
|
|
1907
1928
|
"tags": [
|
|
1908
1929
|
"General"
|
|
1909
1930
|
],
|
|
@@ -1928,7 +1949,7 @@
|
|
|
1928
1949
|
},
|
|
1929
1950
|
"index": {
|
|
1930
1951
|
"type": "string",
|
|
1931
|
-
"description": "When multiple elements match the selector, get attribute from the Nth element (0-based).
|
|
1952
|
+
"description": "When multiple elements match the selector, get attribute from the Nth element (0-based). Omit for the first match (querySelector). Use -1 to target the LAST matching element"
|
|
1932
1953
|
}
|
|
1933
1954
|
},
|
|
1934
1955
|
"required": [
|
|
@@ -1977,7 +1998,7 @@
|
|
|
1977
1998
|
},
|
|
1978
1999
|
"index": {
|
|
1979
2000
|
"type": "string",
|
|
1980
|
-
"description": "When multiple elements match the selector, get bounding box of the Nth element (0-based).
|
|
2001
|
+
"description": "When multiple elements match the selector, get bounding box of the Nth element (0-based). Omit for the first match (querySelector). Use -1 to target the LAST matching element"
|
|
1981
2002
|
}
|
|
1982
2003
|
},
|
|
1983
2004
|
"required": [
|
|
@@ -2439,7 +2460,7 @@
|
|
|
2439
2460
|
},
|
|
2440
2461
|
"index": {
|
|
2441
2462
|
"type": "string",
|
|
2442
|
-
"description": "When multiple elements match the selector, highlight the Nth element (0-based).
|
|
2463
|
+
"description": "When multiple elements match the selector, highlight the Nth element (0-based). Omit for the first match (querySelector). Use -1 to target the LAST matching element"
|
|
2443
2464
|
}
|
|
2444
2465
|
},
|
|
2445
2466
|
"required": [
|
|
@@ -3347,7 +3368,7 @@
|
|
|
3347
3368
|
},
|
|
3348
3369
|
"max_results": {
|
|
3349
3370
|
"type": "string",
|
|
3350
|
-
"description": "Maximum number of results to return (default:
|
|
3371
|
+
"description": "Maximum number of results to return (default: 5)"
|
|
3351
3372
|
}
|
|
3352
3373
|
},
|
|
3353
3374
|
"required": [
|
|
@@ -3447,7 +3468,7 @@
|
|
|
3447
3468
|
},
|
|
3448
3469
|
"index": {
|
|
3449
3470
|
"type": "string",
|
|
3450
|
-
"description": "When multiple elements match the selector, scroll to the Nth element (0-based).
|
|
3471
|
+
"description": "When multiple elements match the selector, scroll to the Nth element (0-based). Omit for the first match (querySelector). Use -1 to target the LAST matching element"
|
|
3451
3472
|
}
|
|
3452
3473
|
},
|
|
3453
3474
|
"required": [
|
|
@@ -3577,7 +3598,7 @@
|
|
|
3577
3598
|
},
|
|
3578
3599
|
"index": {
|
|
3579
3600
|
"type": "string",
|
|
3580
|
-
"description": "When multiple elements match the selector, wait for the Nth element (0-based).
|
|
3601
|
+
"description": "When multiple elements match the selector, wait for the Nth element (0-based). Omit for the first match (querySelector). Use -1 to target the LAST matching element"
|
|
3581
3602
|
}
|
|
3582
3603
|
},
|
|
3583
3604
|
"required": [
|
|
@@ -3855,11 +3876,11 @@
|
|
|
3855
3876
|
},
|
|
3856
3877
|
"width": {
|
|
3857
3878
|
"type": "string",
|
|
3858
|
-
"description": "Viewport width in pixels. Common sizes: 1920 (desktop), 1366 (laptop), 768 (tablet), 375 (mobile)"
|
|
3879
|
+
"description": "Viewport width in pixels. Common sizes: 1920 (desktop), 1366 (laptop), 768 (tablet), 375 (mobile). Minimum 100 (values below are clamped). On Linux/Docker each dimension is capped at 2048 and total area at 4,000,000 px (requests above are scaled down proportionally)"
|
|
3859
3880
|
},
|
|
3860
3881
|
"height": {
|
|
3861
3882
|
"type": "string",
|
|
3862
|
-
"description": "Viewport height in pixels. Common sizes: 1080 (desktop), 768 (laptop), 1024 (tablet), 812 (mobile)"
|
|
3883
|
+
"description": "Viewport height in pixels. Common sizes: 1080 (desktop), 768 (laptop), 1024 (tablet), 812 (mobile). Minimum 100 (values below are clamped). On Linux/Docker each dimension is capped at 2048 and total area at 4,000,000 px (requests above are scaled down proportionally)"
|
|
3863
3884
|
}
|
|
3864
3885
|
},
|
|
3865
3886
|
"required": [
|
|
@@ -4154,7 +4175,7 @@
|
|
|
4154
4175
|
},
|
|
4155
4176
|
"codec": {
|
|
4156
4177
|
"type": "string",
|
|
4157
|
-
"description": "Video codec for encoding. Default: 'libx264' (H.264, widely compatible).
|
|
4178
|
+
"description": "Video codec for encoding. Default: 'libx264' (H.264, widely compatible). Accepted values: 'libx264', 'libx265', 'h264', 'hevc', 'vp8', 'vp9', 'libvpx', 'libvpx-vp9', 'mpeg4', 'copy'. Any other value is rejected and recording fails to start. The codec must also be supported by the system FFmpeg"
|
|
4158
4179
|
}
|
|
4159
4180
|
},
|
|
4160
4181
|
"required": [
|
|
@@ -5182,29 +5203,13 @@
|
|
|
5182
5203
|
"type": "string",
|
|
5183
5204
|
"description": "Password for proxy authentication. Only required if the proxy server requires credentials"
|
|
5184
5205
|
},
|
|
5185
|
-
"stealth": {
|
|
5186
|
-
"type": "boolean",
|
|
5187
|
-
"description": "Enable stealth mode to prevent proxy/VPN detection. Blocks WebRTC leaks, DNS leaks, and other fingerprinting vectors. Default: true"
|
|
5188
|
-
},
|
|
5189
|
-
"block_webrtc": {
|
|
5190
|
-
"type": "boolean",
|
|
5191
|
-
"description": "Block WebRTC to prevent real IP address leaking through STUN/TURN requests. Essential for privacy. Default: true (enabled when stealth mode is on)"
|
|
5192
|
-
},
|
|
5193
5206
|
"spoof_timezone": {
|
|
5194
5207
|
"type": "boolean",
|
|
5195
|
-
"description": "Automatically spoof browser timezone to match proxy location (detected via IP geolocation). Default:
|
|
5196
|
-
},
|
|
5197
|
-
"spoof_language": {
|
|
5198
|
-
"type": "boolean",
|
|
5199
|
-
"description": "Automatically spoof browser language preferences to match proxy location. Default: false"
|
|
5208
|
+
"description": "Automatically spoof browser timezone to match proxy location (detected via IP geolocation). Applied to the live context immediately. Default: true"
|
|
5200
5209
|
},
|
|
5201
5210
|
"timezone_override": {
|
|
5202
5211
|
"type": "string",
|
|
5203
|
-
"description": "Manually set timezone instead of auto-detection. IANA format like 'America/New_York', 'Europe/London'. Takes precedence over spoof_timezone"
|
|
5204
|
-
},
|
|
5205
|
-
"language_override": {
|
|
5206
|
-
"type": "string",
|
|
5207
|
-
"description": "Manually set browser language instead of auto-detection. BCP47 format like 'en-US', 'de-DE'. Takes precedence over spoof_language"
|
|
5212
|
+
"description": "Manually set timezone instead of auto-detection. IANA format like 'America/New_York', 'Europe/London'. Takes precedence over spoof_timezone. Applied to the live context immediately"
|
|
5208
5213
|
},
|
|
5209
5214
|
"ca_cert_path": {
|
|
5210
5215
|
"type": "string",
|
|
@@ -5431,7 +5436,7 @@
|
|
|
5431
5436
|
"properties": {
|
|
5432
5437
|
"context_id": {
|
|
5433
5438
|
"type": "string",
|
|
5434
|
-
"description": "Optional browser context ID. If provided,
|
|
5439
|
+
"description": "Optional browser context ID. If provided, the returned profile snapshots this context's live state (fingerprint, cookies, LLM/proxy config) — use browser_save_profile to persist it to disk. If omitted, creates a standalone profile with a freshly generated random fingerprint."
|
|
5435
5440
|
},
|
|
5436
5441
|
"name": {
|
|
5437
5442
|
"type": "string",
|
|
@@ -6231,7 +6236,7 @@
|
|
|
6231
6236
|
"/api/execute/browser_wait_for_download": {
|
|
6232
6237
|
"post": {
|
|
6233
6238
|
"summary": "Browser Wait For Download",
|
|
6234
|
-
"description": "Block until a specific download completes or times out. Returns
|
|
6239
|
+
"description": "Block until a specific download completes or times out. Returns true on completion; call browser_get_downloads afterwards for the file path and final status. Use after triggering a download to ensure it finishes before proceeding.",
|
|
6235
6240
|
"tags": [
|
|
6236
6241
|
"General"
|
|
6237
6242
|
],
|
package/package.json
CHANGED