File size: 1,164 Bytes
fb38ec5
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
import { z } from "zod";

const LaunchRequest = z.object({
  options: z.object({
    args: z.array(z.string()).optional(),
    chromiumSandbox: z.boolean().optional(),
    devtools: z.boolean().optional(),
    downloadsPath: z.string().optional(),
    headless: z.boolean().optional(),
    ignoreDefaultArgs: z.union([z.boolean(), z.array(z.string())]).optional(),
    proxyUrl: z.string().optional(),
    timeout: z.number().optional(),
    tracesDir: z.string().optional(),
  }),
  req: z.any().optional(),
  stealth: z.boolean().optional(),
  cookies: z.array(z.any()).optional(),
  userAgent: z.string().optional(),
  extensions: z.array(z.string()).optional(),
  logSinkUrl: z.string().optional().describe("Deprecated"),
  customHeaders: z.record(z.string()).optional(),
  timezone: z.string().optional(),
  dimensions: z
    .object({
      width: z.number(),
      height: z.number(),
    })
    .nullable()
    .optional(),
});

const LaunchResponse = z.object({
  success: z.boolean(),
});

export type LaunchRequest = z.infer<typeof LaunchRequest>;

export const seleniumSchemas = {
  LaunchRequest,
  LaunchResponse,
};

export default seleniumSchemas;