@browserless.io/browserless 2.25.0-beta-2 → 2.25.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.
Files changed (224) hide show
  1. package/CHANGELOG.md +43 -3
  2. package/README.md +4 -5
  3. package/build/browserless.js +3 -1
  4. package/build/browsers/browsers.cdp.d.ts +3 -0
  5. package/build/browsers/browsers.cdp.js +4 -1
  6. package/build/browsers/browsers.playwright.d.ts +4 -0
  7. package/build/browsers/browsers.playwright.js +11 -2
  8. package/build/browsers/index.js +4 -3
  9. package/build/http.d.ts +9 -0
  10. package/build/http.js +9 -0
  11. package/build/routes/chrome/http/content.post.body.json +8 -8
  12. package/build/routes/chrome/http/pdf.post.body.json +8 -8
  13. package/build/routes/chrome/http/scrape.post.body.json +8 -8
  14. package/build/routes/chrome/http/screenshot.post.body.json +8 -8
  15. package/build/routes/chrome/tests/kill-sessions.spec.js +1 -1
  16. package/build/routes/chromium/http/content.post.body.json +8 -8
  17. package/build/routes/chromium/http/pdf.post.body.json +8 -8
  18. package/build/routes/chromium/http/scrape.post.body.json +8 -8
  19. package/build/routes/chromium/http/screenshot.post.body.json +8 -8
  20. package/build/routes/chromium/tests/kill-sessions.spec.js +1 -1
  21. package/build/routes/edge/http/content.post.body.json +579 -0
  22. package/build/routes/edge/http/content.post.d.ts +8 -0
  23. package/build/routes/edge/http/content.post.js +7 -0
  24. package/build/routes/edge/http/content.post.query.json +183 -0
  25. package/build/routes/edge/http/content.post.response.json +5 -0
  26. package/build/routes/edge/http/download.post.body.json +32 -0
  27. package/build/routes/edge/http/download.post.d.ts +8 -0
  28. package/build/routes/edge/http/download.post.js +7 -0
  29. package/build/routes/edge/http/download.post.query.json +120 -0
  30. package/build/routes/edge/http/download.post.response.json +4 -0
  31. package/build/routes/edge/http/function.post.body.json +32 -0
  32. package/build/routes/edge/http/function.post.d.ts +8 -0
  33. package/build/routes/edge/http/function.post.js +7 -0
  34. package/build/routes/edge/http/function.post.query.json +120 -0
  35. package/build/routes/edge/http/function.post.response.json +4 -0
  36. package/build/routes/edge/http/json-list.get.d.ts +5 -0
  37. package/build/routes/edge/http/json-list.get.js +5 -0
  38. package/build/routes/edge/http/json-list.get.response.json +52 -0
  39. package/build/routes/edge/http/json-new.put.d.ts +5 -0
  40. package/build/routes/edge/http/json-new.put.js +5 -0
  41. package/build/routes/edge/http/json-new.put.response.json +44 -0
  42. package/build/routes/edge/http/json-protocol.get.d.ts +5 -0
  43. package/build/routes/edge/http/json-protocol.get.js +5 -0
  44. package/build/routes/edge/http/json-protocol.get.response.json +6 -0
  45. package/build/routes/edge/http/json-version.get.d.ts +5 -0
  46. package/build/routes/edge/http/json-version.get.js +5 -0
  47. package/build/routes/edge/http/json-version.get.response.json +44 -0
  48. package/build/routes/edge/http/pdf.post.body.json +724 -0
  49. package/build/routes/edge/http/pdf.post.d.ts +8 -0
  50. package/build/routes/edge/http/pdf.post.js +7 -0
  51. package/build/routes/edge/http/pdf.post.query.json +120 -0
  52. package/build/routes/edge/http/pdf.post.response.json +5 -0
  53. package/build/routes/edge/http/performance.post.body.json +26 -0
  54. package/build/routes/edge/http/performance.post.d.ts +8 -0
  55. package/build/routes/edge/http/performance.post.js +7 -0
  56. package/build/routes/edge/http/performance.post.query.json +120 -0
  57. package/build/routes/edge/http/performance.post.response.json +7 -0
  58. package/build/routes/edge/http/scrape.post.body.json +626 -0
  59. package/build/routes/edge/http/scrape.post.d.ts +8 -0
  60. package/build/routes/edge/http/scrape.post.js +7 -0
  61. package/build/routes/edge/http/scrape.post.query.json +183 -0
  62. package/build/routes/edge/http/scrape.post.response.json +334 -0
  63. package/build/routes/edge/http/screenshot.post.body.json +669 -0
  64. package/build/routes/edge/http/screenshot.post.d.ts +8 -0
  65. package/build/routes/edge/http/screenshot.post.js +7 -0
  66. package/build/routes/edge/http/screenshot.post.query.json +120 -0
  67. package/build/routes/edge/http/screenshot.post.response.json +5 -0
  68. package/build/routes/edge/tests/content.spec.d.ts +1 -0
  69. package/build/routes/edge/tests/content.spec.js +312 -0
  70. package/build/routes/edge/tests/download.spec.d.ts +1 -0
  71. package/build/routes/edge/tests/download.spec.js +67 -0
  72. package/build/routes/edge/tests/function.spec.d.ts +1 -0
  73. package/build/routes/edge/tests/function.spec.js +277 -0
  74. package/build/routes/edge/tests/json-version.spec.d.ts +1 -0
  75. package/build/routes/edge/tests/json-version.spec.js +37 -0
  76. package/build/routes/edge/tests/kill-sessions.spec.d.ts +1 -0
  77. package/build/routes/edge/tests/kill-sessions.spec.js +80 -0
  78. package/build/routes/edge/tests/page-websocket.spec.d.ts +1 -0
  79. package/build/routes/edge/tests/page-websocket.spec.js +97 -0
  80. package/build/routes/edge/tests/pdf.spec.d.ts +1 -0
  81. package/build/routes/edge/tests/pdf.spec.js +345 -0
  82. package/build/routes/edge/tests/performance.spec.d.ts +1 -0
  83. package/build/routes/edge/tests/performance.spec.js +124 -0
  84. package/build/routes/edge/tests/scrape.spec.d.ts +1 -0
  85. package/build/routes/edge/tests/scrape.spec.js +354 -0
  86. package/build/routes/edge/tests/screenshot.spec.d.ts +1 -0
  87. package/build/routes/edge/tests/screenshot.spec.js +339 -0
  88. package/build/routes/edge/tests/websocket.spec.d.ts +1 -0
  89. package/build/routes/edge/tests/websocket.spec.js +384 -0
  90. package/build/routes/edge/ws/browser.d.ts +7 -0
  91. package/build/routes/edge/ws/browser.js +6 -0
  92. package/build/routes/edge/ws/browser.query.json +120 -0
  93. package/build/routes/edge/ws/cdp.d.ts +8 -0
  94. package/build/routes/edge/ws/cdp.js +7 -0
  95. package/build/routes/edge/ws/cdp.query.json +120 -0
  96. package/build/routes/edge/ws/page.d.ts +8 -0
  97. package/build/routes/edge/ws/page.js +7 -0
  98. package/build/routes/edge/ws/page.query.json +120 -0
  99. package/build/routes/edge/ws/playwright.d.ts +8 -0
  100. package/build/routes/edge/ws/playwright.js +7 -0
  101. package/build/routes/edge/ws/playwright.query.json +100 -0
  102. package/build/routes/firefox/tests/kill-sessions.spec.js +1 -1
  103. package/build/routes/management/http/meta.get.js +3 -1
  104. package/build/routes/webkit/tests/kill-sessions.spec.js +1 -1
  105. package/build/sdk-utils.js +1 -1
  106. package/build/shared/scrape.http.js +2 -2
  107. package/build/types.d.ts +32 -0
  108. package/build/types.js +18 -0
  109. package/build/utils.d.ts +1 -0
  110. package/build/utils.js +16 -2
  111. package/docker/chrome/Dockerfile +14 -14
  112. package/docker/chromium/Dockerfile +14 -14
  113. package/docker/edge/.dockerignore +16 -0
  114. package/docker/edge/Dockerfile +43 -0
  115. package/docker/firefox/Dockerfile +14 -14
  116. package/docker/multi/Dockerfile +18 -18
  117. package/docker/sdk/Dockerfile +10 -0
  118. package/extensions/ublock/_locales/ar/messages.json +3 -3
  119. package/extensions/ublock/_locales/bg/messages.json +1 -1
  120. package/extensions/ublock/_locales/br_FR/messages.json +2 -2
  121. package/extensions/ublock/_locales/cy/messages.json +11 -11
  122. package/extensions/ublock/_locales/el/messages.json +2 -2
  123. package/extensions/ublock/_locales/hu/messages.json +1 -1
  124. package/extensions/ublock/_locales/id/messages.json +1 -1
  125. package/extensions/ublock/_locales/lv/messages.json +4 -4
  126. package/extensions/ublock/_locales/mk/messages.json +130 -130
  127. package/extensions/ublock/_locales/oc/messages.json +1 -1
  128. package/extensions/ublock/_locales/pt_BR/messages.json +1 -1
  129. package/extensions/ublock/_locales/pt_PT/messages.json +2 -2
  130. package/extensions/ublock/_locales/si/messages.json +100 -100
  131. package/extensions/ublock/_locales/sr/messages.json +4 -4
  132. package/extensions/ublock/_locales/vi/messages.json +19 -19
  133. package/extensions/ublock/_locales/zh_TW/messages.json +28 -28
  134. package/extensions/ublock/assets/assets.json +33 -29
  135. package/extensions/ublock/assets/thirdparties/easylist/easylist.txt +2984 -3287
  136. package/extensions/ublock/assets/thirdparties/easylist/easyprivacy.txt +150 -171
  137. package/extensions/ublock/assets/thirdparties/pgl.yoyo.org/as/serverlist +37 -27
  138. package/extensions/ublock/assets/thirdparties/publicsuffix.org/list/effective_tld_names.dat +802 -888
  139. package/extensions/ublock/assets/thirdparties/urlhaus-filter/urlhaus-filter-online.txt +2355 -2071
  140. package/extensions/ublock/assets/ublock/badlists.txt +9 -1
  141. package/extensions/ublock/assets/ublock/badware.min.txt +354 -243
  142. package/extensions/ublock/assets/ublock/filters.min.txt +5837 -5737
  143. package/extensions/ublock/assets/ublock/privacy.min.txt +151 -38
  144. package/extensions/ublock/assets/ublock/quick-fixes.min.txt +83 -127
  145. package/extensions/ublock/assets/ublock/unbreak.min.txt +66 -50
  146. package/extensions/ublock/css/codemirror.css +4 -0
  147. package/extensions/ublock/document-blocked.html +3 -1
  148. package/extensions/ublock/js/arglist-parser.js +116 -0
  149. package/extensions/ublock/js/background.js +1 -1
  150. package/extensions/ublock/js/logger-ui.js +1 -1
  151. package/extensions/ublock/js/messaging.js +9 -2
  152. package/extensions/ublock/js/pagestore.js +3 -1
  153. package/extensions/ublock/js/redirect-engine.js +3 -1
  154. package/extensions/ublock/{assets/resources/set-attr.js → js/resources/attribute.js} +115 -11
  155. package/extensions/ublock/js/resources/base.js +38 -0
  156. package/extensions/ublock/js/resources/cookie.js +419 -0
  157. package/extensions/ublock/js/resources/href-sanitizer.js +188 -0
  158. package/extensions/ublock/js/resources/localstorage.js +235 -0
  159. package/extensions/ublock/js/resources/parse-replace.js +54 -0
  160. package/extensions/ublock/js/resources/prevent-settimeout.js +236 -0
  161. package/extensions/ublock/js/resources/proxy-apply.js +109 -0
  162. package/extensions/ublock/js/resources/replace-argument.js +120 -0
  163. package/extensions/ublock/{assets → js}/resources/run-at.js +20 -4
  164. package/extensions/ublock/{assets → js}/resources/safe-self.js +5 -4
  165. package/extensions/ublock/{assets → js}/resources/scriptlets.js +90 -1589
  166. package/extensions/ublock/js/resources/set-constant.js +287 -0
  167. package/extensions/ublock/js/resources/shared.js +44 -0
  168. package/extensions/ublock/js/resources/spoof-css.js +163 -0
  169. package/extensions/ublock/js/s14e-serializer.js +2 -1
  170. package/extensions/ublock/js/scriptlet-filtering-core.js +1 -1
  171. package/extensions/ublock/js/scriptlet-filtering.js +1 -31
  172. package/extensions/ublock/js/static-dnr-filtering.js +143 -129
  173. package/extensions/ublock/js/static-filtering-parser.js +27 -117
  174. package/extensions/ublock/js/static-net-filtering.js +53 -141
  175. package/extensions/ublock/js/traffic.js +1 -1
  176. package/extensions/ublock/js/urlskip.js +166 -0
  177. package/extensions/ublock/js/vapi-background-ext.js +38 -14
  178. package/extensions/ublock/manifest.json +1 -1
  179. package/package.json +22 -22
  180. package/src/browserless.ts +4 -0
  181. package/src/browsers/browsers.cdp.ts +5 -0
  182. package/src/browsers/browsers.playwright.ts +14 -1
  183. package/src/browsers/index.ts +5 -2
  184. package/src/http.ts +9 -0
  185. package/src/routes/chrome/tests/kill-sessions.spec.ts +1 -1
  186. package/src/routes/chromium/tests/kill-sessions.spec.ts +1 -1
  187. package/src/routes/edge/http/content.post.ts +20 -0
  188. package/src/routes/edge/http/download.post.ts +20 -0
  189. package/src/routes/edge/http/function.post.ts +20 -0
  190. package/src/routes/edge/http/json-list.get.ts +7 -0
  191. package/src/routes/edge/http/json-new.put.ts +7 -0
  192. package/src/routes/edge/http/json-protocol.get.ts +7 -0
  193. package/src/routes/edge/http/json-version.get.ts +7 -0
  194. package/src/routes/edge/http/pdf.post.ts +20 -0
  195. package/src/routes/edge/http/performance.post.ts +20 -0
  196. package/src/routes/edge/http/scrape.post.ts +20 -0
  197. package/src/routes/edge/http/screenshot.post.ts +20 -0
  198. package/src/routes/edge/tests/content.spec.ts +376 -0
  199. package/src/routes/edge/tests/download.spec.ts +77 -0
  200. package/src/routes/edge/tests/function.spec.ts +317 -0
  201. package/src/routes/edge/tests/json-version.spec.ts +52 -0
  202. package/src/routes/edge/tests/kill-sessions.spec.ts +99 -0
  203. package/src/routes/edge/tests/page-websocket.spec.ts +129 -0
  204. package/src/routes/edge/tests/pdf.spec.ts +389 -0
  205. package/src/routes/edge/tests/performance.spec.ts +155 -0
  206. package/src/routes/edge/tests/scrape.spec.ts +417 -0
  207. package/src/routes/edge/tests/screenshot.spec.ts +387 -0
  208. package/src/routes/edge/tests/websocket.spec.ts +510 -0
  209. package/src/routes/edge/ws/browser.ts +10 -0
  210. package/src/routes/edge/ws/cdp.ts +17 -0
  211. package/src/routes/edge/ws/page.ts +10 -0
  212. package/src/routes/edge/ws/playwright.ts +17 -0
  213. package/src/routes/firefox/tests/kill-sessions.spec.ts +1 -1
  214. package/src/routes/management/http/meta.get.ts +6 -1
  215. package/src/routes/management/http/static.get.ts +1 -1
  216. package/src/routes/webkit/tests/kill-sessions.spec.ts +1 -1
  217. package/src/sdk-utils.ts +1 -1
  218. package/src/shared/scrape.http.ts +2 -2
  219. package/src/types.ts +19 -0
  220. package/src/utils.ts +38 -16
  221. package/static/docs/swagger.json +2097 -10
  222. package/static/docs/swagger.min.json +2096 -9
  223. package/static/function/client.js +141 -253
  224. package/static/function/index.html +141 -253
@@ -0,0 +1,183 @@
1
+ {
2
+ "additionalProperties": false,
3
+ "type": "object",
4
+ "properties": {
5
+ "blockAds": {
6
+ "description": "Whether or nor to load ad-blocking extensions for the session.\nThis currently uses uBlock Origin and may cause certain sites\nto not load properly.",
7
+ "type": "boolean"
8
+ },
9
+ "launch": {
10
+ "anyOf": [
11
+ {
12
+ "$ref": "#/definitions/CDPLaunchOptions"
13
+ },
14
+ {
15
+ "type": "string"
16
+ }
17
+ ]
18
+ },
19
+ "timeout": {
20
+ "description": "Override the system-level timeout for this request.\nAccepts a value in milliseconds.",
21
+ "type": "number"
22
+ },
23
+ "token": {
24
+ "description": "The authorization token",
25
+ "type": "string"
26
+ },
27
+ "trackingId": {
28
+ "description": "Custom session identifier",
29
+ "type": "string"
30
+ }
31
+ },
32
+ "definitions": {
33
+ "CDPLaunchOptions": {
34
+ "type": "object",
35
+ "properties": {
36
+ "args": {
37
+ "type": "array",
38
+ "items": {
39
+ "type": "string"
40
+ }
41
+ },
42
+ "defaultViewport": {
43
+ "type": "object",
44
+ "properties": {
45
+ "deviceScaleFactor": {
46
+ "type": "number"
47
+ },
48
+ "hasTouch": {
49
+ "type": "boolean"
50
+ },
51
+ "height": {
52
+ "type": "number"
53
+ },
54
+ "isLandscape": {
55
+ "type": "boolean"
56
+ },
57
+ "isMobile": {
58
+ "type": "boolean"
59
+ },
60
+ "width": {
61
+ "type": "number"
62
+ }
63
+ },
64
+ "additionalProperties": false,
65
+ "required": [
66
+ "height",
67
+ "width"
68
+ ]
69
+ },
70
+ "devtools": {
71
+ "type": "boolean"
72
+ },
73
+ "dumpio": {
74
+ "type": "boolean"
75
+ },
76
+ "headless": {
77
+ "enum": [
78
+ false,
79
+ "shell",
80
+ true
81
+ ]
82
+ },
83
+ "ignoreDefaultArgs": {
84
+ "anyOf": [
85
+ {
86
+ "type": "array",
87
+ "items": {
88
+ "type": "string"
89
+ }
90
+ },
91
+ {
92
+ "type": "boolean"
93
+ }
94
+ ]
95
+ },
96
+ "ignoreHTTPSErrors": {
97
+ "type": "boolean"
98
+ },
99
+ "slowMo": {
100
+ "type": "number"
101
+ },
102
+ "stealth": {
103
+ "type": "boolean"
104
+ },
105
+ "timeout": {
106
+ "type": "number"
107
+ },
108
+ "userDataDir": {
109
+ "type": "string"
110
+ },
111
+ "waitForInitialPage": {
112
+ "type": "boolean"
113
+ }
114
+ },
115
+ "additionalProperties": false
116
+ },
117
+ "BrowserServerOptions": {
118
+ "type": "object",
119
+ "properties": {
120
+ "args": {
121
+ "type": "array",
122
+ "items": {
123
+ "type": "string"
124
+ }
125
+ },
126
+ "chromiumSandbox": {
127
+ "type": "boolean"
128
+ },
129
+ "devtools": {
130
+ "type": "boolean"
131
+ },
132
+ "downloadsPath": {
133
+ "type": "string"
134
+ },
135
+ "headless": {
136
+ "type": "boolean"
137
+ },
138
+ "ignoreDefaultArgs": {
139
+ "anyOf": [
140
+ {
141
+ "type": "array",
142
+ "items": {
143
+ "type": "string"
144
+ }
145
+ },
146
+ {
147
+ "type": "boolean"
148
+ }
149
+ ]
150
+ },
151
+ "proxy": {
152
+ "type": "object",
153
+ "properties": {
154
+ "bypass": {
155
+ "type": "string"
156
+ },
157
+ "password": {
158
+ "type": "string"
159
+ },
160
+ "server": {
161
+ "type": "string"
162
+ },
163
+ "username": {
164
+ "type": "string"
165
+ }
166
+ },
167
+ "additionalProperties": false,
168
+ "required": [
169
+ "server"
170
+ ]
171
+ },
172
+ "timeout": {
173
+ "type": "number"
174
+ },
175
+ "tracesDir": {
176
+ "type": "string"
177
+ }
178
+ },
179
+ "additionalProperties": false
180
+ }
181
+ },
182
+ "$schema": "http://json-schema.org/draft-07/schema#"
183
+ }
@@ -0,0 +1,5 @@
1
+ {
2
+ "description": "An HTML payload of the website or HTML after JavaScript\nparsing and execution.",
3
+ "type": "string",
4
+ "$schema": "http://json-schema.org/draft-07/schema#"
5
+ }
@@ -0,0 +1,32 @@
1
+ {
2
+ "anyOf": [
3
+ {
4
+ "$ref": "#/definitions/JSONSchema"
5
+ },
6
+ {
7
+ "type": "string"
8
+ }
9
+ ],
10
+ "definitions": {
11
+ "JSONSchema": {
12
+ "type": "object",
13
+ "properties": {
14
+ "code": {
15
+ "type": "string"
16
+ },
17
+ "context": {
18
+ "$ref": "#/definitions/Record<string,string|number>"
19
+ }
20
+ },
21
+ "additionalProperties": false,
22
+ "required": [
23
+ "code"
24
+ ]
25
+ },
26
+ "Record<string,string|number>": {
27
+ "type": "object",
28
+ "additionalProperties": false
29
+ }
30
+ },
31
+ "$schema": "http://json-schema.org/draft-07/schema#"
32
+ }
@@ -0,0 +1,8 @@
1
+ import { EdgeCDP, HTTPRoutes } from '@browserless.io/browserless';
2
+ import { BodySchema, default as Download, QuerySchema, ResponseSchema } from '../../../shared/download.http.js';
3
+ export default class EdgeDownloadPostRoute extends Download {
4
+ name: string;
5
+ browser: typeof EdgeCDP;
6
+ path: HTTPRoutes[];
7
+ }
8
+ export { BodySchema, QuerySchema, ResponseSchema };
@@ -0,0 +1,7 @@
1
+ import { BrowserlessRoutes, EdgeCDP, HTTPRoutes, } from '@browserless.io/browserless';
2
+ import { default as Download, } from '../../../shared/download.http.js';
3
+ export default class EdgeDownloadPostRoute extends Download {
4
+ name = BrowserlessRoutes.EdgeDownloadPostRoute;
5
+ browser = EdgeCDP;
6
+ path = [HTTPRoutes.edgeDownload];
7
+ }
@@ -0,0 +1,120 @@
1
+ {
2
+ "type": "object",
3
+ "properties": {
4
+ "launch": {
5
+ "description": "Launch options, which can be either an object\nof puppeteer.launch options or playwright.launchServer\noptions, depending on the API. Must be either JSON\nobject, or a base64-encoded JSON object.",
6
+ "anyOf": [
7
+ {
8
+ "$ref": "#/definitions/CDPLaunchOptions"
9
+ },
10
+ {
11
+ "type": "string"
12
+ }
13
+ ]
14
+ },
15
+ "blockAds": {
16
+ "description": "Whether or nor to load ad-blocking extensions for the session.\nThis currently uses uBlock Origin and may cause certain sites\nto not load properly.",
17
+ "type": "boolean"
18
+ },
19
+ "timeout": {
20
+ "description": "Override the system-level timeout for this request.\nAccepts a value in milliseconds.",
21
+ "type": "number"
22
+ },
23
+ "token": {
24
+ "description": "The authorization token",
25
+ "type": "string"
26
+ },
27
+ "trackingId": {
28
+ "description": "Custom session identifier",
29
+ "type": "string"
30
+ }
31
+ },
32
+ "additionalProperties": false,
33
+ "definitions": {
34
+ "CDPLaunchOptions": {
35
+ "type": "object",
36
+ "properties": {
37
+ "args": {
38
+ "type": "array",
39
+ "items": {
40
+ "type": "string"
41
+ }
42
+ },
43
+ "defaultViewport": {
44
+ "type": "object",
45
+ "properties": {
46
+ "deviceScaleFactor": {
47
+ "type": "number"
48
+ },
49
+ "hasTouch": {
50
+ "type": "boolean"
51
+ },
52
+ "height": {
53
+ "type": "number"
54
+ },
55
+ "isLandscape": {
56
+ "type": "boolean"
57
+ },
58
+ "isMobile": {
59
+ "type": "boolean"
60
+ },
61
+ "width": {
62
+ "type": "number"
63
+ }
64
+ },
65
+ "additionalProperties": false,
66
+ "required": [
67
+ "height",
68
+ "width"
69
+ ]
70
+ },
71
+ "devtools": {
72
+ "type": "boolean"
73
+ },
74
+ "dumpio": {
75
+ "type": "boolean"
76
+ },
77
+ "headless": {
78
+ "enum": [
79
+ false,
80
+ "shell",
81
+ true
82
+ ]
83
+ },
84
+ "ignoreDefaultArgs": {
85
+ "anyOf": [
86
+ {
87
+ "type": "array",
88
+ "items": {
89
+ "type": "string"
90
+ }
91
+ },
92
+ {
93
+ "type": "boolean"
94
+ }
95
+ ]
96
+ },
97
+ "ignoreHTTPSErrors": {
98
+ "type": "boolean"
99
+ },
100
+ "slowMo": {
101
+ "type": "number"
102
+ },
103
+ "stealth": {
104
+ "type": "boolean"
105
+ },
106
+ "timeout": {
107
+ "type": "number"
108
+ },
109
+ "userDataDir": {
110
+ "type": "string"
111
+ },
112
+ "waitForInitialPage": {
113
+ "type": "boolean"
114
+ }
115
+ },
116
+ "additionalProperties": false
117
+ }
118
+ },
119
+ "$schema": "http://json-schema.org/draft-07/schema#"
120
+ }
@@ -0,0 +1,4 @@
1
+ {
2
+ "description": "Responses are determined by the returned value of the downloads\nthemselves, so there isn't a static response type for this API.",
3
+ "$schema": "http://json-schema.org/draft-07/schema#"
4
+ }
@@ -0,0 +1,32 @@
1
+ {
2
+ "anyOf": [
3
+ {
4
+ "$ref": "#/definitions/JSONSchema"
5
+ },
6
+ {
7
+ "type": "string"
8
+ }
9
+ ],
10
+ "definitions": {
11
+ "JSONSchema": {
12
+ "type": "object",
13
+ "properties": {
14
+ "code": {
15
+ "type": "string"
16
+ },
17
+ "context": {
18
+ "$ref": "#/definitions/Record<string,string|number>"
19
+ }
20
+ },
21
+ "additionalProperties": false,
22
+ "required": [
23
+ "code"
24
+ ]
25
+ },
26
+ "Record<string,string|number>": {
27
+ "type": "object",
28
+ "additionalProperties": false
29
+ }
30
+ },
31
+ "$schema": "http://json-schema.org/draft-07/schema#"
32
+ }
@@ -0,0 +1,8 @@
1
+ import { EdgeCDP, HTTPRoutes } from '@browserless.io/browserless';
2
+ import { BodySchema, default as Function, QuerySchema, ResponseSchema } from '../../../shared/function.http.js';
3
+ export default class EdgeFunctionPostRoute extends Function {
4
+ name: string;
5
+ browser: typeof EdgeCDP;
6
+ path: HTTPRoutes[];
7
+ }
8
+ export { BodySchema, QuerySchema, ResponseSchema };
@@ -0,0 +1,7 @@
1
+ import { BrowserlessRoutes, EdgeCDP, HTTPRoutes, } from '@browserless.io/browserless';
2
+ import { default as Function, } from '../../../shared/function.http.js';
3
+ export default class EdgeFunctionPostRoute extends Function {
4
+ name = BrowserlessRoutes.EdgeFunctionPostRoute;
5
+ browser = EdgeCDP;
6
+ path = [HTTPRoutes.edgeFunction];
7
+ }
@@ -0,0 +1,120 @@
1
+ {
2
+ "type": "object",
3
+ "properties": {
4
+ "launch": {
5
+ "description": "Launch options, which can be either an object\nof puppeteer.launch options or playwright.launchServer\noptions, depending on the API. Must be either JSON\nobject, or a base64-encoded JSON object.",
6
+ "anyOf": [
7
+ {
8
+ "$ref": "#/definitions/CDPLaunchOptions"
9
+ },
10
+ {
11
+ "type": "string"
12
+ }
13
+ ]
14
+ },
15
+ "blockAds": {
16
+ "description": "Whether or nor to load ad-blocking extensions for the session.\nThis currently uses uBlock Origin and may cause certain sites\nto not load properly.",
17
+ "type": "boolean"
18
+ },
19
+ "timeout": {
20
+ "description": "Override the system-level timeout for this request.\nAccepts a value in milliseconds.",
21
+ "type": "number"
22
+ },
23
+ "token": {
24
+ "description": "The authorization token",
25
+ "type": "string"
26
+ },
27
+ "trackingId": {
28
+ "description": "Custom session identifier",
29
+ "type": "string"
30
+ }
31
+ },
32
+ "additionalProperties": false,
33
+ "definitions": {
34
+ "CDPLaunchOptions": {
35
+ "type": "object",
36
+ "properties": {
37
+ "args": {
38
+ "type": "array",
39
+ "items": {
40
+ "type": "string"
41
+ }
42
+ },
43
+ "defaultViewport": {
44
+ "type": "object",
45
+ "properties": {
46
+ "deviceScaleFactor": {
47
+ "type": "number"
48
+ },
49
+ "hasTouch": {
50
+ "type": "boolean"
51
+ },
52
+ "height": {
53
+ "type": "number"
54
+ },
55
+ "isLandscape": {
56
+ "type": "boolean"
57
+ },
58
+ "isMobile": {
59
+ "type": "boolean"
60
+ },
61
+ "width": {
62
+ "type": "number"
63
+ }
64
+ },
65
+ "additionalProperties": false,
66
+ "required": [
67
+ "height",
68
+ "width"
69
+ ]
70
+ },
71
+ "devtools": {
72
+ "type": "boolean"
73
+ },
74
+ "dumpio": {
75
+ "type": "boolean"
76
+ },
77
+ "headless": {
78
+ "enum": [
79
+ false,
80
+ "shell",
81
+ true
82
+ ]
83
+ },
84
+ "ignoreDefaultArgs": {
85
+ "anyOf": [
86
+ {
87
+ "type": "array",
88
+ "items": {
89
+ "type": "string"
90
+ }
91
+ },
92
+ {
93
+ "type": "boolean"
94
+ }
95
+ ]
96
+ },
97
+ "ignoreHTTPSErrors": {
98
+ "type": "boolean"
99
+ },
100
+ "slowMo": {
101
+ "type": "number"
102
+ },
103
+ "stealth": {
104
+ "type": "boolean"
105
+ },
106
+ "timeout": {
107
+ "type": "number"
108
+ },
109
+ "userDataDir": {
110
+ "type": "string"
111
+ },
112
+ "waitForInitialPage": {
113
+ "type": "boolean"
114
+ }
115
+ },
116
+ "additionalProperties": false
117
+ }
118
+ },
119
+ "$schema": "http://json-schema.org/draft-07/schema#"
120
+ }
@@ -0,0 +1,4 @@
1
+ {
2
+ "description": "Responses are determined by the returned value of the function\nitself. Binary responses (PDF's, screenshots) are returned back\nas binary data, and primitive JavaScript values are returned back\nby type (HTML data is \"text/html\", Objects are \"application/json\")",
3
+ "$schema": "http://json-schema.org/draft-07/schema#"
4
+ }
@@ -0,0 +1,5 @@
1
+ import { default as ChromiumJSONListGetRoute } from '../../../shared/json-list.http.js';
2
+ export { ResponseSchema } from '../../../shared/json-list.http.js';
3
+ export default class EdgeJSONListGetRoute extends ChromiumJSONListGetRoute {
4
+ name: string;
5
+ }
@@ -0,0 +1,5 @@
1
+ import { BrowserlessRoutes } from '@browserless.io/browserless';
2
+ import { default as ChromiumJSONListGetRoute } from '../../../shared/json-list.http.js';
3
+ export default class EdgeJSONListGetRoute extends ChromiumJSONListGetRoute {
4
+ name = BrowserlessRoutes.EdgeJSONListGetRoute;
5
+ }
@@ -0,0 +1,52 @@
1
+ {
2
+ "type": "array",
3
+ "items": {
4
+ "$ref": "#/definitions/CDPJSONPayload"
5
+ },
6
+ "definitions": {
7
+ "CDPJSONPayload": {
8
+ "type": "object",
9
+ "properties": {
10
+ "description": {
11
+ "description": "The description of the target. Generally the page's title.",
12
+ "type": "string"
13
+ },
14
+ "devtoolsFrontendUrl": {
15
+ "description": "The fully-qualified URL of the Devtools inspector app.",
16
+ "type": "string"
17
+ },
18
+ "id": {
19
+ "description": "A Unique Id for the underlying target.",
20
+ "type": "string"
21
+ },
22
+ "title": {
23
+ "description": "The title of the target. For pages this is the page's title.",
24
+ "type": "string"
25
+ },
26
+ "type": {
27
+ "description": "The type of target, generally \"page\" or \"background_page\".",
28
+ "type": "string"
29
+ },
30
+ "url": {
31
+ "description": "The current URL the target is consuming or visiting.",
32
+ "type": "string"
33
+ },
34
+ "webSocketDebuggerUrl": {
35
+ "description": "The target or page's WebSocket Debugger URL. Primarily used for legacy\nlibraries to connect and inspect or remote automate this target.",
36
+ "type": "string"
37
+ }
38
+ },
39
+ "additionalProperties": false,
40
+ "required": [
41
+ "description",
42
+ "devtoolsFrontendUrl",
43
+ "id",
44
+ "title",
45
+ "type",
46
+ "url",
47
+ "webSocketDebuggerUrl"
48
+ ]
49
+ }
50
+ },
51
+ "$schema": "http://json-schema.org/draft-07/schema#"
52
+ }
@@ -0,0 +1,5 @@
1
+ import { default as ChromiumJSONNewPutRoute } from '../../../shared/json-new.http.js';
2
+ export { ResponseSchema } from '../../../shared/json-new.http.js';
3
+ export default class EdgeJSONNewPutRoute extends ChromiumJSONNewPutRoute {
4
+ name: string;
5
+ }
@@ -0,0 +1,5 @@
1
+ import { BrowserlessRoutes } from '@browserless.io/browserless';
2
+ import { default as ChromiumJSONNewPutRoute } from '../../../shared/json-new.http.js';
3
+ export default class EdgeJSONNewPutRoute extends ChromiumJSONNewPutRoute {
4
+ name = BrowserlessRoutes.EdgeJSONNewPutRoute;
5
+ }
@@ -0,0 +1,44 @@
1
+ {
2
+ "type": "object",
3
+ "properties": {
4
+ "description": {
5
+ "description": "The description of the target. Generally the page's title.",
6
+ "type": "string"
7
+ },
8
+ "devtoolsFrontendUrl": {
9
+ "description": "The fully-qualified URL of the Devtools inspector app.",
10
+ "type": "string"
11
+ },
12
+ "id": {
13
+ "description": "A Unique Id for the underlying target.",
14
+ "type": "string"
15
+ },
16
+ "title": {
17
+ "description": "The title of the target. For pages this is the page's title.",
18
+ "type": "string"
19
+ },
20
+ "type": {
21
+ "description": "The type of target, generally \"page\" or \"background_page\".",
22
+ "type": "string"
23
+ },
24
+ "url": {
25
+ "description": "The current URL the target is consuming or visiting.",
26
+ "type": "string"
27
+ },
28
+ "webSocketDebuggerUrl": {
29
+ "description": "The target or page's WebSocket Debugger URL. Primarily used for legacy\nlibraries to connect and inspect or remote automate this target.",
30
+ "type": "string"
31
+ }
32
+ },
33
+ "additionalProperties": false,
34
+ "required": [
35
+ "description",
36
+ "devtoolsFrontendUrl",
37
+ "id",
38
+ "title",
39
+ "type",
40
+ "url",
41
+ "webSocketDebuggerUrl"
42
+ ],
43
+ "$schema": "http://json-schema.org/draft-07/schema#"
44
+ }
@@ -0,0 +1,5 @@
1
+ import { default as ChromiumJSONProtocolGetRoute } from '../../../shared/json-protocol.http.js';
2
+ export { ResponseSchema } from '../../../shared/json-protocol.http.js';
3
+ export default class EdgeJSONProtocolGetRoute extends ChromiumJSONProtocolGetRoute {
4
+ name: string;
5
+ }
@@ -0,0 +1,5 @@
1
+ import { BrowserlessRoutes } from '@browserless.io/browserless';
2
+ import { default as ChromiumJSONProtocolGetRoute } from '../../../shared/json-protocol.http.js';
3
+ export default class EdgeJSONProtocolGetRoute extends ChromiumJSONProtocolGetRoute {
4
+ name = BrowserlessRoutes.EdgeJSONProtocolGetRoute;
5
+ }