@browserless.io/browserless 2.2.0 → 2.3.0-beta-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 (80) hide show
  1. package/bin/browserless.js +25 -14
  2. package/build/browserless.d.ts +6 -1
  3. package/build/browserless.js +38 -20
  4. package/build/exports.core.d.ts +24 -0
  5. package/build/exports.core.js +26 -0
  6. package/build/exports.d.ts +38 -24
  7. package/build/exports.js +44 -26
  8. package/build/routes/chrome/http/content.post.body.json +8 -8
  9. package/build/routes/chrome/http/download.post.body.json +489 -11
  10. package/build/routes/chrome/http/download.post.query.json +69 -6
  11. package/build/routes/chrome/http/download.post.response.json +1 -0
  12. package/build/routes/chrome/http/function.post.body.json +489 -11
  13. package/build/routes/chrome/http/function.post.query.json +69 -6
  14. package/build/routes/chrome/http/function.post.response.json +1 -0
  15. package/build/routes/chrome/http/json-list.get.response.json +1 -49
  16. package/build/routes/chrome/http/json-new.put.response.json +1 -41
  17. package/build/routes/chrome/http/json-protocol.get.response.json +1 -3
  18. package/build/routes/chrome/http/json-version.get.response.json +1 -41
  19. package/build/routes/chrome/http/pdf.post.body.json +9 -153
  20. package/build/routes/chrome/http/pdf.post.query.json +69 -6
  21. package/build/routes/chrome/http/performance.post.body.json +494 -10
  22. package/build/routes/chrome/http/performance.post.query.json +69 -6
  23. package/build/routes/chrome/http/performance.post.response.json +1 -3
  24. package/build/routes/chrome/http/scrape.post.body.json +9 -56
  25. package/build/routes/chrome/http/scrape.post.response.json +1 -305
  26. package/build/routes/chrome/http/screenshot.post.body.json +9 -99
  27. package/build/routes/chrome/http/screenshot.post.query.json +69 -6
  28. package/build/routes/chrome/ws/browser.query.json +69 -6
  29. package/build/routes/chrome/ws/cdp.query.json +69 -6
  30. package/build/routes/chrome/ws/page.query.json +69 -6
  31. package/build/routes/chrome/ws/playwright.query.json +90 -7
  32. package/build/routes/chromium/http/content.post.body.json +8 -8
  33. package/build/routes/chromium/http/download.post.body.json +489 -11
  34. package/build/routes/chromium/http/download.post.query.json +69 -6
  35. package/build/routes/chromium/http/download.post.response.json +1 -0
  36. package/build/routes/chromium/http/function.post.body.json +489 -11
  37. package/build/routes/chromium/http/function.post.query.json +69 -6
  38. package/build/routes/chromium/http/function.post.response.json +1 -0
  39. package/build/routes/chromium/http/json-list.get.response.json +1 -49
  40. package/build/routes/chromium/http/json-new.put.response.json +1 -41
  41. package/build/routes/chromium/http/json-protocol.get.response.json +1 -3
  42. package/build/routes/chromium/http/json-version.get.response.json +1 -41
  43. package/build/routes/chromium/http/pdf.post.body.json +9 -153
  44. package/build/routes/chromium/http/pdf.post.query.json +69 -6
  45. package/build/routes/chromium/http/performance.post.body.json +494 -10
  46. package/build/routes/chromium/http/performance.post.query.json +69 -6
  47. package/build/routes/chromium/http/performance.post.response.json +1 -3
  48. package/build/routes/chromium/http/scrape.post.body.json +9 -56
  49. package/build/routes/chromium/http/scrape.post.response.json +1 -305
  50. package/build/routes/chromium/http/screenshot.post.body.json +9 -99
  51. package/build/routes/chromium/http/screenshot.post.query.json +69 -6
  52. package/build/routes/chromium/ws/browser.query.json +69 -6
  53. package/build/routes/chromium/ws/cdp.query.json +69 -6
  54. package/build/routes/chromium/ws/page.query.json +69 -6
  55. package/build/routes/chromium/ws/playwright.query.json +90 -7
  56. package/build/routes/firefox/ws/playwright.d.ts +5 -1
  57. package/build/routes/firefox/ws/playwright.query.json +90 -7
  58. package/build/routes/management/http/config.get.response.json +1 -104
  59. package/build/routes/management/http/metrics-total.get.response.json +1 -69
  60. package/build/routes/management/http/metrics.get.response.json +1 -91
  61. package/build/routes/management/http/sessions.get.response.json +1 -232
  62. package/build/routes/management/http/static.get.js +7 -7
  63. package/build/routes/webkit/ws/playwright.query.json +90 -7
  64. package/build/shared/utils/performance/main.js +1 -1
  65. package/docker/chrome/Dockerfile +2 -0
  66. package/docker/chromium/Dockerfile +2 -0
  67. package/docker/firefox/Dockerfile +2 -0
  68. package/docker/multi/Dockerfile +2 -0
  69. package/docker/webkit/Dockerfile +2 -0
  70. package/package.json +1 -2
  71. package/scripts/build-open-api.js +18 -9
  72. package/scripts/build-schemas.js +2 -3
  73. package/src/browserless.ts +61 -36
  74. package/src/exports.core.ts +26 -0
  75. package/src/exports.ts +48 -26
  76. package/src/router.ts +6 -2
  77. package/src/routes/firefox/ws/playwright.ts +3 -1
  78. package/src/routes/management/http/static.get.ts +14 -9
  79. package/src/shared/utils/performance/main.ts +1 -2
  80. package/static/docs/swagger.json +1338 -2287
@@ -60,22 +60,22 @@ const prompt = async (question) => {
60
60
  });
61
61
  };
62
62
 
63
- const importClassOverride = async (files, className) => {
63
+ const importDefault = async (files, fileName) => {
64
64
  const classModuleFile = files.find((f) =>
65
- path.parse(f).name.endsWith(className),
65
+ path.parse(f).name.endsWith(fileName),
66
66
  );
67
67
 
68
68
  if (!classModuleFile) {
69
69
  return;
70
70
  }
71
71
 
72
- const classModuleFullFilePath = path.join(compiledDir, classModuleFile);
72
+ const fullFilePath = path.join(compiledDir, classModuleFile);
73
73
 
74
74
  if (!classModuleFile) {
75
75
  return;
76
76
  }
77
- log(`Importing module override "${classModuleFullFilePath}"`);
78
- return (await import(classModuleFullFilePath)).default;
77
+ log(`Importing module "${fullFilePath}"`);
78
+ return (await import(fullFilePath)).default;
79
79
  };
80
80
 
81
81
  const clean = async () =>
@@ -239,16 +239,18 @@ const start = async (dev = false) => {
239
239
  Router,
240
240
  Token,
241
241
  Webhooks,
242
+ DisabledRoutes,
242
243
  ] = await Promise.all([
243
- importClassOverride(files, 'browser-manager'),
244
- importClassOverride(files, 'config'),
245
- importClassOverride(files, 'file-system'),
246
- importClassOverride(files, 'limiter'),
247
- importClassOverride(files, 'metrics'),
248
- importClassOverride(files, 'monitoring'),
249
- importClassOverride(files, 'router'),
250
- importClassOverride(files, 'token'),
251
- importClassOverride(files, 'webhooks'),
244
+ importDefault(files, 'browser-manager'),
245
+ importDefault(files, 'config'),
246
+ importDefault(files, 'file-system'),
247
+ importDefault(files, 'limiter'),
248
+ importDefault(files, 'metrics'),
249
+ importDefault(files, 'monitoring'),
250
+ importDefault(files, 'router'),
251
+ importDefault(files, 'token'),
252
+ importDefault(files, 'webhooks'),
253
+ importDefault(files, 'disabled-routes'),
252
254
  ]);
253
255
 
254
256
  log(`Starting Browserless`);
@@ -285,6 +287,15 @@ const start = async (dev = false) => {
285
287
  webhooks,
286
288
  });
287
289
 
290
+ if (DisabledRoutes !== undefined) {
291
+ if (!Array.isArray(DisabledRoutes)) {
292
+ throw new Error(
293
+ `The "disabled-routes.ts" default export should be an array of Route classes.`,
294
+ );
295
+ }
296
+ DisabledRoutes.forEach((R) => browserless.disableRoute(R));
297
+ }
298
+
288
299
  httpRoutes.forEach((r) => browserless.addHTTPRoute(r));
289
300
  webSocketRoutes.forEach((r) => browserless.addWebSocketRoute(r));
290
301
 
@@ -1,6 +1,7 @@
1
1
  /// <reference types="debug" />
2
2
  /// <reference types="node" />
3
- import { BrowserManager, Config, FileSystem, HTTPServer, Limiter, Metrics, Monitoring, Router, Token, WebHooks } from '@browserless.io/browserless';
3
+ import { BrowserHTTPRoute, BrowserManager, BrowserWebsocketRoute, Config, FileSystem, HTTPRoute, HTTPServer, Limiter, Metrics, Monitoring, Router, Token, WebHooks, WebSocketRoute } from '@browserless.io/browserless';
4
+ type RouteTypes = typeof HTTPRoute | typeof BrowserHTTPRoute | typeof WebSocketRoute | typeof BrowserWebsocketRoute;
4
5
  export declare class Browserless {
5
6
  protected debug: debug.Debugger;
6
7
  protected browserManager: BrowserManager;
@@ -12,6 +13,7 @@ export declare class Browserless {
12
13
  protected router: Router;
13
14
  protected token: Token;
14
15
  protected webhooks: WebHooks;
16
+ DisabledRoutes: RouteTypes[];
15
17
  webSocketRouteFiles: string[];
16
18
  httpRouteFiles: string[];
17
19
  server?: HTTPServer;
@@ -30,9 +32,12 @@ export declare class Browserless {
30
32
  });
31
33
  protected saveMetrics: () => Promise<void>;
32
34
  setMetricsSaveInterval: (interval: number) => void;
35
+ private routeIsDisabled;
36
+ disableRoute(Route: RouteTypes): void;
33
37
  addHTTPRoute(httpRouteFilePath: string): void;
34
38
  addWebSocketRoute(webSocketRouteFilePath: string): void;
35
39
  setPort(port: number): void;
36
40
  stop(): Promise<[void | undefined]>;
37
41
  start(): Promise<void>;
38
42
  }
43
+ export {};
@@ -14,6 +14,7 @@ export class Browserless {
14
14
  router;
15
15
  token;
16
16
  webhooks;
17
+ DisabledRoutes = [];
17
18
  webSocketRouteFiles = [];
18
19
  httpRouteFiles = [];
19
20
  server;
@@ -69,6 +70,13 @@ export class Browserless {
69
70
  this.metricsSaveInterval = interval;
70
71
  this.metricsSaveIntervalID = setInterval(this.saveMetrics, this.metricsSaveInterval);
71
72
  };
73
+ routeIsDisabled(Route) {
74
+ const Stringified = Route.toString();
75
+ return this.DisabledRoutes.some((r) => r.toString() === Stringified);
76
+ }
77
+ disableRoute(Route) {
78
+ this.DisabledRoutes.push(Route);
79
+ }
72
80
  addHTTPRoute(httpRouteFilePath) {
73
81
  this.httpRouteFiles.push(httpRouteFilePath);
74
82
  }
@@ -95,12 +103,15 @@ export class Browserless {
95
103
  ChromiumPlaywright,
96
104
  WebkitPlaywright,
97
105
  ];
98
- const [[httpRouteFiles, wsRouteFiles], installedBrowsers] = await Promise.all([getRouteFiles(this.config), availableBrowsers]);
106
+ const [[internalHttpRouteFiles, internalWsRouteFiles], installedBrowsers] = await Promise.all([getRouteFiles(this.config), availableBrowsers]);
99
107
  const docsLink = makeExternalURL(this.config.getExternalAddress(), '/docs');
100
108
  this.debug(printLogo(docsLink));
101
109
  this.debug(`Running as user "${userInfo().username}"`);
102
110
  this.debug('Starting import of HTTP Routes');
103
- for (const httpRoute of [...httpRouteFiles, ...this.httpRouteFiles]) {
111
+ for (const httpRoute of [
112
+ ...internalHttpRouteFiles,
113
+ ...this.httpRouteFiles,
114
+ ]) {
104
115
  if (httpRoute.endsWith('js')) {
105
116
  const { name } = path.parse(httpRoute);
106
117
  const [bodySchema, querySchema] = await Promise.all(routeSchemas.map(async (schemaType) => {
@@ -111,19 +122,24 @@ export class Browserless {
111
122
  const routeImport = `${this.config.getIsWin() ? 'file:///' : ''}${httpRoute}`;
112
123
  const logger = createLogger(`http:${name}`);
113
124
  const { default: Route, } = await import(routeImport + `?cb=${Date.now()}`);
114
- const route = new Route(this.browserManager, this.config, this.fileSystem, logger, this.metrics, this.monitoring);
115
- route.bodySchema = safeParse(bodySchema);
116
- route.querySchema = safeParse(querySchema);
117
- route.config = () => this.config;
118
- route.metrics = () => this.metrics;
119
- route.monitoring = () => this.monitoring;
120
- route.fileSystem = () => this.fileSystem;
121
- route.debug = () => logger;
122
- httpRoutes.push(route);
125
+ if (!this.routeIsDisabled(Route)) {
126
+ const route = new Route(this.browserManager, this.config, this.fileSystem, logger, this.metrics, this.monitoring);
127
+ route.bodySchema = safeParse(bodySchema);
128
+ route.querySchema = safeParse(querySchema);
129
+ route.config = () => this.config;
130
+ route.metrics = () => this.metrics;
131
+ route.monitoring = () => this.monitoring;
132
+ route.fileSystem = () => this.fileSystem;
133
+ route.debug = () => logger;
134
+ httpRoutes.push(route);
135
+ }
123
136
  }
124
137
  }
125
138
  this.debug('Starting import of WebSocket Routes');
126
- for (const wsRoute of [...wsRouteFiles, ...this.webSocketRouteFiles]) {
139
+ for (const wsRoute of [
140
+ ...internalWsRouteFiles,
141
+ ...this.webSocketRouteFiles,
142
+ ]) {
127
143
  if (wsRoute.endsWith('js')) {
128
144
  const { name } = path.parse(wsRoute);
129
145
  const [, querySchema] = await Promise.all(routeSchemas.map(async (schemaType) => {
@@ -134,14 +150,16 @@ export class Browserless {
134
150
  const wsImport = `${this.config.getIsWin() ? 'file:///' : ''}${wsRoute}`;
135
151
  const logger = createLogger(`ws:${name}`);
136
152
  const { default: Route, } = await import(wsImport + `?cb=${Date.now()}`);
137
- const route = new Route(this.browserManager, this.config, this.fileSystem, logger, this.metrics, this.monitoring);
138
- route.querySchema = safeParse(querySchema);
139
- route.config = () => this.config;
140
- route.metrics = () => this.metrics;
141
- route.monitoring = () => this.monitoring;
142
- route.fileSystem = () => this.fileSystem;
143
- route.debug = () => logger;
144
- wsRoutes.push(route);
153
+ if (!this.routeIsDisabled(Route)) {
154
+ const route = new Route(this.browserManager, this.config, this.fileSystem, logger, this.metrics, this.monitoring);
155
+ route.querySchema = safeParse(querySchema);
156
+ route.config = () => this.config;
157
+ route.metrics = () => this.metrics;
158
+ route.monitoring = () => this.monitoring;
159
+ route.fileSystem = () => this.fileSystem;
160
+ route.debug = () => logger;
161
+ wsRoutes.push(route);
162
+ }
145
163
  }
146
164
  }
147
165
  // Validate that we have the browsers they are asking for
@@ -0,0 +1,24 @@
1
+ export * from './browserless.js';
2
+ export * from './config.js';
3
+ export * from './constants.js';
4
+ export * from './file-system.js';
5
+ export * from './hooks.js';
6
+ export * from './http.js';
7
+ export * from './limiter.js';
8
+ export * from './metrics.js';
9
+ export * from './mime-types.js';
10
+ export * from './monitoring.js';
11
+ export * from './router.js';
12
+ export * from './server.js';
13
+ export * from './shim.js';
14
+ export * from './token.js';
15
+ export * from './types.js';
16
+ export * from './utils.js';
17
+ export * from './webhooks.js';
18
+ export * from './browsers/index.js';
19
+ export * from './browsers/chrome.cdp.js';
20
+ export * from './browsers/chrome.playwright.js';
21
+ export * from './browsers/chromium.cdp.js';
22
+ export * from './browsers/chromium.playwright.js';
23
+ export * from './browsers/firefox.playwright.js';
24
+ export * from './browsers/webkit.playwright.js';
@@ -0,0 +1,26 @@
1
+ // This file takes the place of 'exports.ts' when doing our docker builds
2
+ // since docker images are missing some/most of the browser routes depending.
3
+ export * from './browserless.js';
4
+ export * from './config.js';
5
+ export * from './constants.js';
6
+ export * from './file-system.js';
7
+ export * from './hooks.js';
8
+ export * from './http.js';
9
+ export * from './limiter.js';
10
+ export * from './metrics.js';
11
+ export * from './mime-types.js';
12
+ export * from './monitoring.js';
13
+ export * from './router.js';
14
+ export * from './server.js';
15
+ export * from './shim.js';
16
+ export * from './token.js';
17
+ export * from './types.js';
18
+ export * from './utils.js';
19
+ export * from './webhooks.js';
20
+ export * from './browsers/index.js';
21
+ export * from './browsers/chrome.cdp.js';
22
+ export * from './browsers/chrome.playwright.js';
23
+ export * from './browsers/chromium.cdp.js';
24
+ export * from './browsers/chromium.playwright.js';
25
+ export * from './browsers/firefox.playwright.js';
26
+ export * from './browsers/webkit.playwright.js';
@@ -1,24 +1,38 @@
1
- export * from './browserless.js';
2
- export * from './config.js';
3
- export * from './constants.js';
4
- export * from './file-system.js';
5
- export * from './hooks.js';
6
- export * from './http.js';
7
- export * from './limiter.js';
8
- export * from './metrics.js';
9
- export * from './mime-types.js';
10
- export * from './monitoring.js';
11
- export * from './router.js';
12
- export * from './server.js';
13
- export * from './shim.js';
14
- export * from './token.js';
15
- export * from './types.js';
16
- export * from './utils.js';
17
- export * from './webhooks.js';
18
- export * from './browsers/index.js';
19
- export * from './browsers/chrome.cdp.js';
20
- export * from './browsers/chrome.playwright.js';
21
- export * from './browsers/chromium.cdp.js';
22
- export * from './browsers/chromium.playwright.js';
23
- export * from './browsers/firefox.playwright.js';
24
- export * from './browsers/webkit.playwright.js';
1
+ export * from './exports.core.js';
2
+ export { default as ChromeContentPostRoute } from './routes/chrome/http/content.post.js';
3
+ export { default as ChromeDownloadPostRoute } from './routes/chrome/http/download.post.js';
4
+ export { default as ChromeFunctionPostRoute } from './routes/chrome/http/function.post.js';
5
+ export { default as ChromeJSONListGetRoute } from './routes/chrome/http/json-list.get.js';
6
+ export { default as ChromeJSONNewPutRoute } from './routes/chrome/http/json-new.put.js';
7
+ export { default as ChromeJSONProtocolGetRoute } from './routes/chrome/http/json-protocol.get.js';
8
+ export { default as ChromeJSONVersionGetRoute } from './routes/chrome/http/json-version.get.js';
9
+ export { default as ChromePDFPostRoute } from './routes/chrome/http/pdf.post.js';
10
+ export { default as ChromePerformancePostRoute } from './routes/chrome/http/performance.post.js';
11
+ export { default as ChromeScrapePostRoute } from './routes/chrome/http/scrape.post.js';
12
+ export { default as ChromeScreenshotPostRoute } from './routes/chrome/http/screenshot.post.js';
13
+ export { default as ChromeBrowserWebSocketRoute } from './routes/chrome/ws/browser.js';
14
+ export { default as ChromeCDPWebSocketRoute } from './routes/chrome/ws/cdp.js';
15
+ export { default as ChromePageWebSocketRoute } from './routes/chrome/ws/page.js';
16
+ export { default as ChromePlaywrightWebSocketRoute } from './routes/chrome/ws/playwright.js';
17
+ export { default as ChromiumContentPostRoute } from './routes/chromium/http/content.post.js';
18
+ export { default as ChromiumDownloadPostRoute } from './routes/chromium/http/download.post.js';
19
+ export { default as ChromiumFunctionPostRoute } from './routes/chromium/http/function.post.js';
20
+ export { default as ChromiumJSONListGetRoute } from './routes/chromium/http/json-list.get.js';
21
+ export { default as ChromiumJSONNewPutRoute } from './routes/chromium/http/json-new.put.js';
22
+ export { default as ChromiumJSONProtocolGetRoute } from './routes/chromium/http/json-protocol.get.js';
23
+ export { default as ChromiumJSONVersionGetRoute } from './routes/chromium/http/json-version.get.js';
24
+ export { default as ChromiumPDFPostRoute } from './routes/chromium/http/pdf.post.js';
25
+ export { default as ChromiumPerformancePostRoute } from './routes/chromium/http/performance.post.js';
26
+ export { default as ChromiumScrapePostRoute } from './routes/chromium/http/scrape.post.js';
27
+ export { default as ChromiumScreenshotPostRoute } from './routes/chromium/http/screenshot.post.js';
28
+ export { default as ChromiumBrowserWebSocketRoute } from './routes/chromium/ws/browser.js';
29
+ export { default as ChromiumCDPWebSocketRoute } from './routes/chromium/ws/cdp.js';
30
+ export { default as ChromiumPageWebSocketRoute } from './routes/chromium/ws/page.js';
31
+ export { default as ChromiumPlaywrightWebSocketRoute } from './routes/chromium/ws/playwright.js';
32
+ export { default as FirefoxPlaywrightWebSocketRoute } from './routes/firefox/ws/playwright.js';
33
+ export { default as WebKitPlaywrightWebSocketRoute } from './routes/webkit/ws/playwright.js';
34
+ export { default as ConfigGetRoute } from './routes/management/http/config.get.js';
35
+ export { default as MetricsTotalGetRoute } from './routes/management/http/metrics-total.get.js';
36
+ export { default as MetricsGetRoute } from './routes/management/http/metrics.get.js';
37
+ export { default as SessionsGetGetRoute } from './routes/management/http/sessions.get.js';
38
+ export { default as StaticGetRoute } from './routes/management/http/static.get.js';
package/build/exports.js CHANGED
@@ -1,26 +1,44 @@
1
- // Main Files
2
- export * from './browserless.js';
3
- export * from './config.js';
4
- export * from './constants.js';
5
- export * from './file-system.js';
6
- export * from './hooks.js';
7
- export * from './http.js';
8
- export * from './limiter.js';
9
- export * from './metrics.js';
10
- export * from './mime-types.js';
11
- export * from './monitoring.js';
12
- export * from './router.js';
13
- export * from './server.js';
14
- export * from './shim.js';
15
- export * from './token.js';
16
- export * from './types.js';
17
- export * from './utils.js';
18
- export * from './webhooks.js';
19
- // Browsers and Helpers
20
- export * from './browsers/index.js';
21
- export * from './browsers/chrome.cdp.js';
22
- export * from './browsers/chrome.playwright.js';
23
- export * from './browsers/chromium.cdp.js';
24
- export * from './browsers/chromium.playwright.js';
25
- export * from './browsers/firefox.playwright.js';
26
- export * from './browsers/webkit.playwright.js';
1
+ // Core
2
+ export * from './exports.core.js';
3
+ // Chrome
4
+ export { default as ChromeContentPostRoute } from './routes/chrome/http/content.post.js';
5
+ export { default as ChromeDownloadPostRoute } from './routes/chrome/http/download.post.js';
6
+ export { default as ChromeFunctionPostRoute } from './routes/chrome/http/function.post.js';
7
+ export { default as ChromeJSONListGetRoute } from './routes/chrome/http/json-list.get.js';
8
+ export { default as ChromeJSONNewPutRoute } from './routes/chrome/http/json-new.put.js';
9
+ export { default as ChromeJSONProtocolGetRoute } from './routes/chrome/http/json-protocol.get.js';
10
+ export { default as ChromeJSONVersionGetRoute } from './routes/chrome/http/json-version.get.js';
11
+ export { default as ChromePDFPostRoute } from './routes/chrome/http/pdf.post.js';
12
+ export { default as ChromePerformancePostRoute } from './routes/chrome/http/performance.post.js';
13
+ export { default as ChromeScrapePostRoute } from './routes/chrome/http/scrape.post.js';
14
+ export { default as ChromeScreenshotPostRoute } from './routes/chrome/http/screenshot.post.js';
15
+ export { default as ChromeBrowserWebSocketRoute } from './routes/chrome/ws/browser.js';
16
+ export { default as ChromeCDPWebSocketRoute } from './routes/chrome/ws/cdp.js';
17
+ export { default as ChromePageWebSocketRoute } from './routes/chrome/ws/page.js';
18
+ export { default as ChromePlaywrightWebSocketRoute } from './routes/chrome/ws/playwright.js';
19
+ // Chromium
20
+ export { default as ChromiumContentPostRoute } from './routes/chromium/http/content.post.js';
21
+ export { default as ChromiumDownloadPostRoute } from './routes/chromium/http/download.post.js';
22
+ export { default as ChromiumFunctionPostRoute } from './routes/chromium/http/function.post.js';
23
+ export { default as ChromiumJSONListGetRoute } from './routes/chromium/http/json-list.get.js';
24
+ export { default as ChromiumJSONNewPutRoute } from './routes/chromium/http/json-new.put.js';
25
+ export { default as ChromiumJSONProtocolGetRoute } from './routes/chromium/http/json-protocol.get.js';
26
+ export { default as ChromiumJSONVersionGetRoute } from './routes/chromium/http/json-version.get.js';
27
+ export { default as ChromiumPDFPostRoute } from './routes/chromium/http/pdf.post.js';
28
+ export { default as ChromiumPerformancePostRoute } from './routes/chromium/http/performance.post.js';
29
+ export { default as ChromiumScrapePostRoute } from './routes/chromium/http/scrape.post.js';
30
+ export { default as ChromiumScreenshotPostRoute } from './routes/chromium/http/screenshot.post.js';
31
+ export { default as ChromiumBrowserWebSocketRoute } from './routes/chromium/ws/browser.js';
32
+ export { default as ChromiumCDPWebSocketRoute } from './routes/chromium/ws/cdp.js';
33
+ export { default as ChromiumPageWebSocketRoute } from './routes/chromium/ws/page.js';
34
+ export { default as ChromiumPlaywrightWebSocketRoute } from './routes/chromium/ws/playwright.js';
35
+ // Firefox
36
+ export { default as FirefoxPlaywrightWebSocketRoute } from './routes/firefox/ws/playwright.js';
37
+ // WebKit
38
+ export { default as WebKitPlaywrightWebSocketRoute } from './routes/webkit/ws/playwright.js';
39
+ // Management
40
+ export { default as ConfigGetRoute } from './routes/management/http/config.get.js';
41
+ export { default as MetricsTotalGetRoute } from './routes/management/http/metrics-total.get.js';
42
+ export { default as MetricsGetRoute } from './routes/management/http/metrics.get.js';
43
+ export { default as SessionsGetGetRoute } from './routes/management/http/sessions.get.js';
44
+ export { default as StaticGetRoute } from './routes/management/http/static.get.js';
@@ -394,14 +394,14 @@
394
394
  "length": {
395
395
  "type": "number"
396
396
  },
397
- "__@toStringTag@10812": {
397
+ "__@toStringTag@11053": {
398
398
  "type": "string",
399
399
  "const": "Uint8Array"
400
400
  }
401
401
  },
402
402
  "required": [
403
403
  "BYTES_PER_ELEMENT",
404
- "__@toStringTag@10812",
404
+ "__@toStringTag@11053",
405
405
  "buffer",
406
406
  "byteLength",
407
407
  "byteOffset",
@@ -436,13 +436,13 @@
436
436
  "byteLength": {
437
437
  "type": "number"
438
438
  },
439
- "__@toStringTag@10812": {
439
+ "__@toStringTag@11053": {
440
440
  "type": "string"
441
441
  }
442
442
  },
443
443
  "additionalProperties": false,
444
444
  "required": [
445
- "__@toStringTag@10812",
445
+ "__@toStringTag@11053",
446
446
  "byteLength"
447
447
  ]
448
448
  },
@@ -452,18 +452,18 @@
452
452
  "byteLength": {
453
453
  "type": "number"
454
454
  },
455
- "__@species@10913": {
455
+ "__@species@15209": {
456
456
  "$ref": "#/definitions/SharedArrayBuffer"
457
457
  },
458
- "__@toStringTag@10812": {
458
+ "__@toStringTag@11053": {
459
459
  "type": "string",
460
460
  "const": "SharedArrayBuffer"
461
461
  }
462
462
  },
463
463
  "additionalProperties": false,
464
464
  "required": [
465
- "__@species@10913",
466
- "__@toStringTag@10812",
465
+ "__@species@15209",
466
+ "__@toStringTag@11053",
467
467
  "byteLength"
468
468
  ]
469
469
  },