@intuned/runtime-dev 1.3.4-enhancements.2 → 1.3.6-brave.0
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/dist/commands/common/utils/settings.js +6 -5
- package/dist/commands/intuned-cli/commands/run_authsession.command.d.ts +3 -3
- package/dist/commands/intuned-cli/commands/types.d.ts +1 -1
- package/dist/common/constants.d.ts +1 -0
- package/dist/common/constants.js +2 -1
- package/dist/common/extensionsHelpers.d.ts +15 -0
- package/dist/common/extensionsHelpers.js +81 -0
- package/dist/common/playwrightContext.d.ts +1 -0
- package/dist/common/playwrightContext.js +41 -4
- package/dist/common/settingsSchema.d.ts +513 -0
- package/dist/common/settingsSchema.js +40 -2
- package/package.json +3 -1
|
@@ -6,13 +6,14 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
6
6
|
exports.getSettings = getSettings;
|
|
7
7
|
var _fileUtils = require("./fileUtils");
|
|
8
8
|
var _settingsSchema = require("../../../common/settingsSchema");
|
|
9
|
-
|
|
10
|
-
function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
|
|
9
|
+
var _promises = require("fs/promises");
|
|
11
10
|
async function getSettings() {
|
|
12
11
|
const settingsFilePath = (0, _fileUtils.getFullPathInProject)("Intuned.json");
|
|
13
|
-
const settings = await (
|
|
14
|
-
|
|
15
|
-
|
|
12
|
+
const settings = await (0, _promises.readFile)(settingsFilePath, {
|
|
13
|
+
encoding: "utf-8"
|
|
14
|
+
});
|
|
15
|
+
if (settings) {
|
|
16
|
+
const parsed = _settingsSchema.settingsSchema.safeParse(JSON.parse(settings));
|
|
16
17
|
if (parsed.success) {
|
|
17
18
|
return parsed.data;
|
|
18
19
|
} else {
|
|
@@ -2,15 +2,15 @@ import { Command } from "commander";
|
|
|
2
2
|
export declare const baseRunAuthSessionCommandOptionsSchema: import("zod").ZodObject<{
|
|
3
3
|
proxy: import("zod").ZodOptional<import("zod").ZodString>;
|
|
4
4
|
headless: import("zod").ZodDefault<import("zod").ZodBoolean>;
|
|
5
|
-
keepBrowserOpen: import("zod").ZodDefault<import("zod").ZodBoolean>;
|
|
6
5
|
timeout: import("zod").ZodEffects<import("zod").ZodEffects<import("zod").ZodDefault<import("zod").ZodString>, import("ms").StringValue, string | undefined>, number, string | undefined>;
|
|
6
|
+
keepBrowserOpen: import("zod").ZodDefault<import("zod").ZodBoolean>;
|
|
7
7
|
trace: import("zod").ZodDefault<import("zod").ZodBoolean>;
|
|
8
8
|
checkAttempts: import("zod").ZodDefault<import("zod").ZodNumber>;
|
|
9
9
|
createAttempts: import("zod").ZodDefault<import("zod").ZodNumber>;
|
|
10
10
|
}, "strip", import("zod").ZodTypeAny, {
|
|
11
11
|
headless: boolean;
|
|
12
|
-
keepBrowserOpen: boolean;
|
|
13
12
|
timeout: number;
|
|
13
|
+
keepBrowserOpen: boolean;
|
|
14
14
|
trace: boolean;
|
|
15
15
|
checkAttempts: number;
|
|
16
16
|
createAttempts: number;
|
|
@@ -18,8 +18,8 @@ export declare const baseRunAuthSessionCommandOptionsSchema: import("zod").ZodOb
|
|
|
18
18
|
}, {
|
|
19
19
|
proxy?: string | undefined;
|
|
20
20
|
headless?: boolean | undefined;
|
|
21
|
-
keepBrowserOpen?: boolean | undefined;
|
|
22
21
|
timeout?: string | undefined;
|
|
22
|
+
keepBrowserOpen?: boolean | undefined;
|
|
23
23
|
trace?: boolean | undefined;
|
|
24
24
|
checkAttempts?: number | undefined;
|
|
25
25
|
createAttempts?: number | undefined;
|
|
@@ -16,8 +16,8 @@ export declare const baseCommandOptionsSchema: z.ZodObject<{
|
|
|
16
16
|
keepBrowserOpen: z.ZodDefault<z.ZodBoolean>;
|
|
17
17
|
}, "strip", z.ZodTypeAny, {
|
|
18
18
|
headless: boolean;
|
|
19
|
-
keepBrowserOpen: boolean;
|
|
20
19
|
timeout: number;
|
|
20
|
+
keepBrowserOpen: boolean;
|
|
21
21
|
trace: boolean;
|
|
22
22
|
proxy?: string | undefined;
|
|
23
23
|
}, {
|
|
@@ -2,6 +2,7 @@ export declare const API_FOLDER_NAME = "api";
|
|
|
2
2
|
export declare const AUTH_SESSIONS_FOLDER_NAME = "auth-sessions";
|
|
3
3
|
export declare const AUTH_SESSIONS_INSTANCES_FOLDER_NAME = "auth-sessions-instances";
|
|
4
4
|
export declare const WORKSPACE_ID_ENV_VAR_KEY = "INTUNED_WORKSPACE_ID";
|
|
5
|
+
export declare const EXTENSION_PATH_ENV_VAR_KEY = "INTUNED_EXTENSION_PATH";
|
|
5
6
|
export declare const PROJECT_ID_ENV_VAR_KEY = "INTUNED_PROJECT_ID";
|
|
6
7
|
export declare const API_KEY_ENV_VAR_KEY = "INTUNED_API_KEY";
|
|
7
8
|
export declare const API_KEY_HEADER_NAME = "x-api-key";
|
package/dist/common/constants.js
CHANGED
|
@@ -3,11 +3,12 @@
|
|
|
3
3
|
Object.defineProperty(exports, "__esModule", {
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
|
-
exports.WORKSPACE_ID_ENV_VAR_KEY = exports.PROJECT_ID_ENV_VAR_KEY = exports.CLI_ENV_VAR_KEY = exports.AUTH_SESSIONS_INSTANCES_FOLDER_NAME = exports.AUTH_SESSIONS_FOLDER_NAME = exports.API_KEY_HEADER_NAME = exports.API_KEY_ENV_VAR_KEY = exports.API_FOLDER_NAME = exports.API_BASE_URL_ENV_VAR_KEY = void 0;
|
|
6
|
+
exports.WORKSPACE_ID_ENV_VAR_KEY = exports.PROJECT_ID_ENV_VAR_KEY = exports.EXTENSION_PATH_ENV_VAR_KEY = exports.CLI_ENV_VAR_KEY = exports.AUTH_SESSIONS_INSTANCES_FOLDER_NAME = exports.AUTH_SESSIONS_FOLDER_NAME = exports.API_KEY_HEADER_NAME = exports.API_KEY_ENV_VAR_KEY = exports.API_FOLDER_NAME = exports.API_BASE_URL_ENV_VAR_KEY = void 0;
|
|
7
7
|
const API_FOLDER_NAME = exports.API_FOLDER_NAME = "api";
|
|
8
8
|
const AUTH_SESSIONS_FOLDER_NAME = exports.AUTH_SESSIONS_FOLDER_NAME = "auth-sessions";
|
|
9
9
|
const AUTH_SESSIONS_INSTANCES_FOLDER_NAME = exports.AUTH_SESSIONS_INSTANCES_FOLDER_NAME = "auth-sessions-instances";
|
|
10
10
|
const WORKSPACE_ID_ENV_VAR_KEY = exports.WORKSPACE_ID_ENV_VAR_KEY = "INTUNED_WORKSPACE_ID";
|
|
11
|
+
const EXTENSION_PATH_ENV_VAR_KEY = exports.EXTENSION_PATH_ENV_VAR_KEY = "INTUNED_EXTENSION_PATH";
|
|
11
12
|
const PROJECT_ID_ENV_VAR_KEY = exports.PROJECT_ID_ENV_VAR_KEY = "INTUNED_PROJECT_ID";
|
|
12
13
|
const API_KEY_ENV_VAR_KEY = exports.API_KEY_ENV_VAR_KEY = "INTUNED_API_KEY";
|
|
13
14
|
const API_KEY_HEADER_NAME = exports.API_KEY_HEADER_NAME = "x-api-key";
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import * as playwright from "playwright";
|
|
2
|
+
import { CaptchaSolverSettings } from "./settingsSchema";
|
|
3
|
+
type CaptchaSolverSettingsWithRunContext = CaptchaSolverSettings & {
|
|
4
|
+
workspaceId: string;
|
|
5
|
+
projectId: string;
|
|
6
|
+
baseUrl: string;
|
|
7
|
+
token?: string;
|
|
8
|
+
};
|
|
9
|
+
export declare function buildExtensionsList(): string[];
|
|
10
|
+
export declare function getIntunedExtensionPath(): string;
|
|
11
|
+
export declare function isIntunedExtensionEnabled(): boolean;
|
|
12
|
+
export declare function getIntunedExtensionWorker(context: playwright.BrowserContext): Promise<playwright.Worker | null>;
|
|
13
|
+
export declare function getIntunedExtensionSettings(): Promise<CaptchaSolverSettingsWithRunContext>;
|
|
14
|
+
export declare function setupIntunedExtension(): Promise<void>;
|
|
15
|
+
export {};
|
|
@@ -0,0 +1,81 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.buildExtensionsList = buildExtensionsList;
|
|
7
|
+
exports.getIntunedExtensionPath = getIntunedExtensionPath;
|
|
8
|
+
exports.getIntunedExtensionSettings = getIntunedExtensionSettings;
|
|
9
|
+
exports.getIntunedExtensionWorker = getIntunedExtensionWorker;
|
|
10
|
+
exports.isIntunedExtensionEnabled = isIntunedExtensionEnabled;
|
|
11
|
+
exports.setupIntunedExtension = setupIntunedExtension;
|
|
12
|
+
var _settings = require("../commands/common/utils/settings");
|
|
13
|
+
var _settingsSchema = require("./settingsSchema");
|
|
14
|
+
var _constants = require("./constants");
|
|
15
|
+
var _jwtTokenManager = require("./jwtTokenManager");
|
|
16
|
+
var _path = _interopRequireDefault(require("path"));
|
|
17
|
+
var _promises = require("fs/promises");
|
|
18
|
+
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
|
19
|
+
const INTUNED_WORKER = "intunedWorker.js";
|
|
20
|
+
const INTUNED_EXTENSION_SETTINGS_FILE_NAME = "intunedSettings.json";
|
|
21
|
+
function buildExtensionsList() {
|
|
22
|
+
const extensionsList = [];
|
|
23
|
+
if (isIntunedExtensionEnabled()) {
|
|
24
|
+
const intunedExtensionPath = getIntunedExtensionPath();
|
|
25
|
+
extensionsList.push(intunedExtensionPath);
|
|
26
|
+
}
|
|
27
|
+
return extensionsList;
|
|
28
|
+
}
|
|
29
|
+
function getIntunedExtensionPath() {
|
|
30
|
+
return process.env.INTUNED_EXTENSION_PATH;
|
|
31
|
+
}
|
|
32
|
+
function isIntunedExtensionEnabled() {
|
|
33
|
+
return !!getIntunedExtensionPath();
|
|
34
|
+
}
|
|
35
|
+
async function getIntunedExtensionWorker(context) {
|
|
36
|
+
if (!isIntunedExtensionEnabled()) {
|
|
37
|
+
return null;
|
|
38
|
+
}
|
|
39
|
+
let attemptCount = 0;
|
|
40
|
+
while (attemptCount < 4) {
|
|
41
|
+
const intunedServiceWorker = context.serviceWorkers().find(serviceWorker => serviceWorker.url().includes(INTUNED_WORKER));
|
|
42
|
+
if (intunedServiceWorker) {
|
|
43
|
+
return intunedServiceWorker;
|
|
44
|
+
}
|
|
45
|
+
try {
|
|
46
|
+
await context.waitForEvent("serviceworker", {
|
|
47
|
+
timeout: 3000
|
|
48
|
+
});
|
|
49
|
+
} catch (err) {
|
|
50
|
+
console.log(`Error accessing service workers (attempt ${attemptCount})`);
|
|
51
|
+
}
|
|
52
|
+
attemptCount++;
|
|
53
|
+
}
|
|
54
|
+
console.error("Failed to get intuned worker after 5 attmepts");
|
|
55
|
+
return null;
|
|
56
|
+
}
|
|
57
|
+
async function getIntunedExtensionSettings() {
|
|
58
|
+
const settings = await (0, _settings.getSettings)();
|
|
59
|
+
const captchaSolverSettings = settings.captchaSolver ?? _settingsSchema.captchaSolverSettingsSchema.parse({});
|
|
60
|
+
const [domain, workspaceId, projectId] = [process.env.FUNCTIONS_DOMAIN, process.env[_constants.WORKSPACE_ID_ENV_VAR_KEY], process.env.INTUNED_INTEGRATION_ID ?? process.env[_constants.PROJECT_ID_ENV_VAR_KEY]];
|
|
61
|
+
if (!domain || !workspaceId || !projectId) {
|
|
62
|
+
const missingEnvVars = [domain && "FUNCTIONS_DOMAIN", workspaceId && _constants.WORKSPACE_ID_ENV_VAR_KEY, projectId && `INTUNED_INTEGRATION_ID OR ${_constants.PROJECT_ID_ENV_VAR_KEY}`];
|
|
63
|
+
throw new Error(`Missing required environment variables: ${missingEnvVars}`);
|
|
64
|
+
}
|
|
65
|
+
return {
|
|
66
|
+
...captchaSolverSettings,
|
|
67
|
+
baseUrl: domain,
|
|
68
|
+
token: _jwtTokenManager.backendFunctionsTokenManager.token,
|
|
69
|
+
workspaceId,
|
|
70
|
+
projectId
|
|
71
|
+
};
|
|
72
|
+
}
|
|
73
|
+
async function setupIntunedExtension() {
|
|
74
|
+
if (!isIntunedExtensionEnabled()) {
|
|
75
|
+
return;
|
|
76
|
+
}
|
|
77
|
+
const intunedExtensionPath = getIntunedExtensionPath();
|
|
78
|
+
const intunedExtensionSettingsPath = _path.default.join(intunedExtensionPath, INTUNED_EXTENSION_SETTINGS_FILE_NAME);
|
|
79
|
+
const settings = await getIntunedExtensionSettings();
|
|
80
|
+
await (0, _promises.writeFile)(intunedExtensionSettingsPath, JSON.stringify(settings));
|
|
81
|
+
}
|
|
@@ -18,7 +18,9 @@ var _waitOn = _interopRequireDefault(require("wait-on"));
|
|
|
18
18
|
var _errors = require("./runApi/errors");
|
|
19
19
|
var _neverthrow = require("neverthrow");
|
|
20
20
|
var _setupContextHook = require("./setupContextHook");
|
|
21
|
+
var _which = _interopRequireDefault(require("which"));
|
|
21
22
|
var _portfinder = require("portfinder");
|
|
23
|
+
var _extensionsHelpers = require("./extensionsHelpers");
|
|
22
24
|
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
|
23
25
|
function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }
|
|
24
26
|
function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
|
|
@@ -43,7 +45,8 @@ async function launchChromium({
|
|
|
43
45
|
downloadsPath,
|
|
44
46
|
cdpAddress,
|
|
45
47
|
cdpPort,
|
|
46
|
-
appModeInitialUrl
|
|
48
|
+
appModeInitialUrl,
|
|
49
|
+
executablePath
|
|
47
50
|
}) {
|
|
48
51
|
if (cdpAddress) {
|
|
49
52
|
const browser = await playwright.chromium.connectOverCDP(cdpAddress);
|
|
@@ -60,20 +63,41 @@ async function launchChromium({
|
|
|
60
63
|
context
|
|
61
64
|
};
|
|
62
65
|
}
|
|
66
|
+
const defaultArgsToIgnore = ["--disable-extensions", "--disable-component-extensions-with-background-pages", "--disable-background-networking", "--disable-backgrounding-occluded-windows", "--disable-background-timer-throttling"];
|
|
63
67
|
const extraArgs = [];
|
|
64
68
|
const userDataDir = await createUserDirWithPreferences();
|
|
69
|
+
if ((0, _extensionsHelpers.isIntunedExtensionEnabled)()) {
|
|
70
|
+
const extensionsList = (0, _extensionsHelpers.buildExtensionsList)();
|
|
71
|
+
const extensions = extensionsList.join(",");
|
|
72
|
+
extraArgs.push(`--disable-extensions-except=${extensions}`);
|
|
73
|
+
extraArgs.push(`--load-extension=${extensions}`);
|
|
74
|
+
await (0, _extensionsHelpers.setupIntunedExtension)();
|
|
75
|
+
}
|
|
65
76
|
if (cdpPort) {
|
|
66
77
|
extraArgs.push(`--remote-debugging-port=${cdpPort}`);
|
|
67
78
|
}
|
|
79
|
+
if (headless) {
|
|
80
|
+
defaultArgsToIgnore.push("--headless=old");
|
|
81
|
+
extraArgs.push("--headless=new");
|
|
82
|
+
}
|
|
68
83
|
if (appModeInitialUrl) {
|
|
69
84
|
extraArgs.push(`--app=${appModeInitialUrl}`);
|
|
70
85
|
}
|
|
86
|
+
if (executablePath) {
|
|
87
|
+
executablePath = await fs.realpath(executablePath);
|
|
88
|
+
if (!(await fs.exists(executablePath))) {
|
|
89
|
+
console.warn(`Executable path ${executablePath} does not exist. Falling back to default.`);
|
|
90
|
+
executablePath = undefined;
|
|
91
|
+
}
|
|
92
|
+
}
|
|
71
93
|
const context = await playwright.chromium.launchPersistentContext(userDataDir, {
|
|
94
|
+
executablePath,
|
|
72
95
|
headless,
|
|
73
96
|
viewport: null,
|
|
74
97
|
proxy,
|
|
75
98
|
downloadsPath,
|
|
76
|
-
args: extraArgs
|
|
99
|
+
args: extraArgs,
|
|
100
|
+
ignoreDefaultArgs: defaultArgsToIgnore
|
|
77
101
|
});
|
|
78
102
|
context.once("close", async () => {
|
|
79
103
|
try {
|
|
@@ -92,6 +116,9 @@ async function launchChromium({
|
|
|
92
116
|
await waitOnCdpAddress(createdCdpAddress);
|
|
93
117
|
}
|
|
94
118
|
const page = context.pages().at(0) ?? (await context.newPage());
|
|
119
|
+
if ((0, _extensionsHelpers.isIntunedExtensionEnabled)()) {
|
|
120
|
+
await (0, _extensionsHelpers.getIntunedExtensionWorker)(context);
|
|
121
|
+
}
|
|
95
122
|
return {
|
|
96
123
|
page,
|
|
97
124
|
context
|
|
@@ -132,7 +159,8 @@ async function withPlaywrightContext({
|
|
|
132
159
|
} = await launchChromium({
|
|
133
160
|
proxy,
|
|
134
161
|
headless,
|
|
135
|
-
downloadsPath
|
|
162
|
+
downloadsPath,
|
|
163
|
+
executablePath: await getExecutablePath()
|
|
136
164
|
}));
|
|
137
165
|
}
|
|
138
166
|
return await fn(context, page);
|
|
@@ -158,7 +186,8 @@ async function withPlaywrightContext({
|
|
|
158
186
|
proxy,
|
|
159
187
|
headless,
|
|
160
188
|
downloadsPath,
|
|
161
|
-
cdpPort: port
|
|
189
|
+
cdpPort: port,
|
|
190
|
+
executablePath: await getExecutablePath()
|
|
162
191
|
}));
|
|
163
192
|
}
|
|
164
193
|
let hookResult;
|
|
@@ -258,4 +287,12 @@ async function getRemotePlaywrightContext(cdpAddress) {
|
|
|
258
287
|
browser,
|
|
259
288
|
context
|
|
260
289
|
};
|
|
290
|
+
}
|
|
291
|
+
async function getExecutablePath() {
|
|
292
|
+
if (process.env.BROWSER_TYPE === "brave") {
|
|
293
|
+
return (await (0, _which.default)("brave-browser-stable", {
|
|
294
|
+
nothrow: true
|
|
295
|
+
})) || undefined;
|
|
296
|
+
}
|
|
297
|
+
return undefined;
|
|
261
298
|
}
|
|
@@ -1,4 +1,212 @@
|
|
|
1
1
|
import * as z from "zod";
|
|
2
|
+
export declare const captchaSolverSettingsSchema: z.ZodDefault<z.ZodObject<{
|
|
3
|
+
enabled: z.ZodDefault<z.ZodBoolean>;
|
|
4
|
+
workspaceId: z.ZodNullable<z.ZodOptional<z.ZodString>>;
|
|
5
|
+
projectId: z.ZodNullable<z.ZodOptional<z.ZodString>>;
|
|
6
|
+
baseUrl: z.ZodNullable<z.ZodOptional<z.ZodString>>;
|
|
7
|
+
token: z.ZodNullable<z.ZodOptional<z.ZodString>>;
|
|
8
|
+
cloudflare: z.ZodOptional<z.ZodObject<{
|
|
9
|
+
enabled: z.ZodBoolean;
|
|
10
|
+
}, "strip", z.ZodTypeAny, {
|
|
11
|
+
enabled: boolean;
|
|
12
|
+
}, {
|
|
13
|
+
enabled: boolean;
|
|
14
|
+
}>>;
|
|
15
|
+
googleRecaptchaV2: z.ZodOptional<z.ZodObject<{
|
|
16
|
+
enabled: z.ZodBoolean;
|
|
17
|
+
}, "strip", z.ZodTypeAny, {
|
|
18
|
+
enabled: boolean;
|
|
19
|
+
}, {
|
|
20
|
+
enabled: boolean;
|
|
21
|
+
}>>;
|
|
22
|
+
googleRecaptchaV3: z.ZodOptional<z.ZodObject<{
|
|
23
|
+
enabled: z.ZodBoolean;
|
|
24
|
+
}, "strip", z.ZodTypeAny, {
|
|
25
|
+
enabled: boolean;
|
|
26
|
+
}, {
|
|
27
|
+
enabled: boolean;
|
|
28
|
+
}>>;
|
|
29
|
+
awscaptcha: z.ZodOptional<z.ZodObject<{
|
|
30
|
+
enabled: z.ZodBoolean;
|
|
31
|
+
}, "strip", z.ZodTypeAny, {
|
|
32
|
+
enabled: boolean;
|
|
33
|
+
}, {
|
|
34
|
+
enabled: boolean;
|
|
35
|
+
}>>;
|
|
36
|
+
hcaptcha: z.ZodOptional<z.ZodObject<{
|
|
37
|
+
enabled: z.ZodBoolean;
|
|
38
|
+
}, "strip", z.ZodTypeAny, {
|
|
39
|
+
enabled: boolean;
|
|
40
|
+
}, {
|
|
41
|
+
enabled: boolean;
|
|
42
|
+
}>>;
|
|
43
|
+
funcaptcha: z.ZodOptional<z.ZodObject<{
|
|
44
|
+
enabled: z.ZodBoolean;
|
|
45
|
+
}, "strip", z.ZodTypeAny, {
|
|
46
|
+
enabled: boolean;
|
|
47
|
+
}, {
|
|
48
|
+
enabled: boolean;
|
|
49
|
+
}>>;
|
|
50
|
+
geetest: z.ZodOptional<z.ZodObject<{
|
|
51
|
+
enabled: z.ZodBoolean;
|
|
52
|
+
}, "strip", z.ZodTypeAny, {
|
|
53
|
+
enabled: boolean;
|
|
54
|
+
}, {
|
|
55
|
+
enabled: boolean;
|
|
56
|
+
}>>;
|
|
57
|
+
lemin: z.ZodOptional<z.ZodObject<{
|
|
58
|
+
enabled: z.ZodBoolean;
|
|
59
|
+
}, "strip", z.ZodTypeAny, {
|
|
60
|
+
enabled: boolean;
|
|
61
|
+
}, {
|
|
62
|
+
enabled: boolean;
|
|
63
|
+
}>>;
|
|
64
|
+
customCaptcha: z.ZodOptional<z.ZodObject<{
|
|
65
|
+
enabled: z.ZodBoolean;
|
|
66
|
+
imageLocators: z.ZodArray<z.ZodString, "many">;
|
|
67
|
+
submitLocators: z.ZodArray<z.ZodString, "many">;
|
|
68
|
+
inputLocators: z.ZodArray<z.ZodString, "many">;
|
|
69
|
+
}, "strip", z.ZodTypeAny, {
|
|
70
|
+
enabled: boolean;
|
|
71
|
+
imageLocators: string[];
|
|
72
|
+
submitLocators: string[];
|
|
73
|
+
inputLocators: string[];
|
|
74
|
+
}, {
|
|
75
|
+
enabled: boolean;
|
|
76
|
+
imageLocators: string[];
|
|
77
|
+
submitLocators: string[];
|
|
78
|
+
inputLocators: string[];
|
|
79
|
+
}>>;
|
|
80
|
+
text: z.ZodOptional<z.ZodObject<{
|
|
81
|
+
enabled: z.ZodBoolean;
|
|
82
|
+
labelLocators: z.ZodArray<z.ZodString, "many">;
|
|
83
|
+
submitLocators: z.ZodArray<z.ZodString, "many">;
|
|
84
|
+
inputLocators: z.ZodArray<z.ZodString, "many">;
|
|
85
|
+
}, "strip", z.ZodTypeAny, {
|
|
86
|
+
enabled: boolean;
|
|
87
|
+
submitLocators: string[];
|
|
88
|
+
inputLocators: string[];
|
|
89
|
+
labelLocators: string[];
|
|
90
|
+
}, {
|
|
91
|
+
enabled: boolean;
|
|
92
|
+
submitLocators: string[];
|
|
93
|
+
inputLocators: string[];
|
|
94
|
+
labelLocators: string[];
|
|
95
|
+
}>>;
|
|
96
|
+
settings: z.ZodDefault<z.ZodOptional<z.ZodObject<{
|
|
97
|
+
autoSolve: z.ZodDefault<z.ZodBoolean>;
|
|
98
|
+
solveDelay: z.ZodDefault<z.ZodNumber>;
|
|
99
|
+
maxRetries: z.ZodDefault<z.ZodNumber>;
|
|
100
|
+
timeout: z.ZodDefault<z.ZodNumber>;
|
|
101
|
+
}, "strip", z.ZodTypeAny, {
|
|
102
|
+
autoSolve: boolean;
|
|
103
|
+
solveDelay: number;
|
|
104
|
+
maxRetries: number;
|
|
105
|
+
timeout: number;
|
|
106
|
+
}, {
|
|
107
|
+
autoSolve?: boolean | undefined;
|
|
108
|
+
solveDelay?: number | undefined;
|
|
109
|
+
maxRetries?: number | undefined;
|
|
110
|
+
timeout?: number | undefined;
|
|
111
|
+
}>>>;
|
|
112
|
+
}, "strip", z.ZodTypeAny, {
|
|
113
|
+
enabled: boolean;
|
|
114
|
+
settings: {
|
|
115
|
+
autoSolve: boolean;
|
|
116
|
+
solveDelay: number;
|
|
117
|
+
maxRetries: number;
|
|
118
|
+
timeout: number;
|
|
119
|
+
};
|
|
120
|
+
workspaceId?: string | null | undefined;
|
|
121
|
+
projectId?: string | null | undefined;
|
|
122
|
+
baseUrl?: string | null | undefined;
|
|
123
|
+
token?: string | null | undefined;
|
|
124
|
+
cloudflare?: {
|
|
125
|
+
enabled: boolean;
|
|
126
|
+
} | undefined;
|
|
127
|
+
googleRecaptchaV2?: {
|
|
128
|
+
enabled: boolean;
|
|
129
|
+
} | undefined;
|
|
130
|
+
googleRecaptchaV3?: {
|
|
131
|
+
enabled: boolean;
|
|
132
|
+
} | undefined;
|
|
133
|
+
awscaptcha?: {
|
|
134
|
+
enabled: boolean;
|
|
135
|
+
} | undefined;
|
|
136
|
+
hcaptcha?: {
|
|
137
|
+
enabled: boolean;
|
|
138
|
+
} | undefined;
|
|
139
|
+
funcaptcha?: {
|
|
140
|
+
enabled: boolean;
|
|
141
|
+
} | undefined;
|
|
142
|
+
geetest?: {
|
|
143
|
+
enabled: boolean;
|
|
144
|
+
} | undefined;
|
|
145
|
+
lemin?: {
|
|
146
|
+
enabled: boolean;
|
|
147
|
+
} | undefined;
|
|
148
|
+
customCaptcha?: {
|
|
149
|
+
enabled: boolean;
|
|
150
|
+
imageLocators: string[];
|
|
151
|
+
submitLocators: string[];
|
|
152
|
+
inputLocators: string[];
|
|
153
|
+
} | undefined;
|
|
154
|
+
text?: {
|
|
155
|
+
enabled: boolean;
|
|
156
|
+
submitLocators: string[];
|
|
157
|
+
inputLocators: string[];
|
|
158
|
+
labelLocators: string[];
|
|
159
|
+
} | undefined;
|
|
160
|
+
}, {
|
|
161
|
+
enabled?: boolean | undefined;
|
|
162
|
+
workspaceId?: string | null | undefined;
|
|
163
|
+
projectId?: string | null | undefined;
|
|
164
|
+
baseUrl?: string | null | undefined;
|
|
165
|
+
token?: string | null | undefined;
|
|
166
|
+
cloudflare?: {
|
|
167
|
+
enabled: boolean;
|
|
168
|
+
} | undefined;
|
|
169
|
+
googleRecaptchaV2?: {
|
|
170
|
+
enabled: boolean;
|
|
171
|
+
} | undefined;
|
|
172
|
+
googleRecaptchaV3?: {
|
|
173
|
+
enabled: boolean;
|
|
174
|
+
} | undefined;
|
|
175
|
+
awscaptcha?: {
|
|
176
|
+
enabled: boolean;
|
|
177
|
+
} | undefined;
|
|
178
|
+
hcaptcha?: {
|
|
179
|
+
enabled: boolean;
|
|
180
|
+
} | undefined;
|
|
181
|
+
funcaptcha?: {
|
|
182
|
+
enabled: boolean;
|
|
183
|
+
} | undefined;
|
|
184
|
+
geetest?: {
|
|
185
|
+
enabled: boolean;
|
|
186
|
+
} | undefined;
|
|
187
|
+
lemin?: {
|
|
188
|
+
enabled: boolean;
|
|
189
|
+
} | undefined;
|
|
190
|
+
customCaptcha?: {
|
|
191
|
+
enabled: boolean;
|
|
192
|
+
imageLocators: string[];
|
|
193
|
+
submitLocators: string[];
|
|
194
|
+
inputLocators: string[];
|
|
195
|
+
} | undefined;
|
|
196
|
+
text?: {
|
|
197
|
+
enabled: boolean;
|
|
198
|
+
submitLocators: string[];
|
|
199
|
+
inputLocators: string[];
|
|
200
|
+
labelLocators: string[];
|
|
201
|
+
} | undefined;
|
|
202
|
+
settings?: {
|
|
203
|
+
autoSolve?: boolean | undefined;
|
|
204
|
+
solveDelay?: number | undefined;
|
|
205
|
+
maxRetries?: number | undefined;
|
|
206
|
+
timeout?: number | undefined;
|
|
207
|
+
} | undefined;
|
|
208
|
+
}>>;
|
|
209
|
+
export type CaptchaSolverSettings = z.infer<typeof captchaSolverSettingsSchema>;
|
|
2
210
|
export declare const settingsSchema: z.ZodObject<{
|
|
3
211
|
authSessions: z.ZodDefault<z.ZodOptional<z.ZodObject<{
|
|
4
212
|
enabled: z.ZodBoolean;
|
|
@@ -7,13 +215,318 @@ export declare const settingsSchema: z.ZodObject<{
|
|
|
7
215
|
}, {
|
|
8
216
|
enabled: boolean;
|
|
9
217
|
}>>>;
|
|
218
|
+
captchaSolver: z.ZodOptional<z.ZodDefault<z.ZodObject<{
|
|
219
|
+
enabled: z.ZodDefault<z.ZodBoolean>;
|
|
220
|
+
workspaceId: z.ZodNullable<z.ZodOptional<z.ZodString>>;
|
|
221
|
+
projectId: z.ZodNullable<z.ZodOptional<z.ZodString>>;
|
|
222
|
+
baseUrl: z.ZodNullable<z.ZodOptional<z.ZodString>>;
|
|
223
|
+
token: z.ZodNullable<z.ZodOptional<z.ZodString>>;
|
|
224
|
+
cloudflare: z.ZodOptional<z.ZodObject<{
|
|
225
|
+
enabled: z.ZodBoolean;
|
|
226
|
+
}, "strip", z.ZodTypeAny, {
|
|
227
|
+
enabled: boolean;
|
|
228
|
+
}, {
|
|
229
|
+
enabled: boolean;
|
|
230
|
+
}>>;
|
|
231
|
+
googleRecaptchaV2: z.ZodOptional<z.ZodObject<{
|
|
232
|
+
enabled: z.ZodBoolean;
|
|
233
|
+
}, "strip", z.ZodTypeAny, {
|
|
234
|
+
enabled: boolean;
|
|
235
|
+
}, {
|
|
236
|
+
enabled: boolean;
|
|
237
|
+
}>>;
|
|
238
|
+
googleRecaptchaV3: z.ZodOptional<z.ZodObject<{
|
|
239
|
+
enabled: z.ZodBoolean;
|
|
240
|
+
}, "strip", z.ZodTypeAny, {
|
|
241
|
+
enabled: boolean;
|
|
242
|
+
}, {
|
|
243
|
+
enabled: boolean;
|
|
244
|
+
}>>;
|
|
245
|
+
awscaptcha: z.ZodOptional<z.ZodObject<{
|
|
246
|
+
enabled: z.ZodBoolean;
|
|
247
|
+
}, "strip", z.ZodTypeAny, {
|
|
248
|
+
enabled: boolean;
|
|
249
|
+
}, {
|
|
250
|
+
enabled: boolean;
|
|
251
|
+
}>>;
|
|
252
|
+
hcaptcha: z.ZodOptional<z.ZodObject<{
|
|
253
|
+
enabled: z.ZodBoolean;
|
|
254
|
+
}, "strip", z.ZodTypeAny, {
|
|
255
|
+
enabled: boolean;
|
|
256
|
+
}, {
|
|
257
|
+
enabled: boolean;
|
|
258
|
+
}>>;
|
|
259
|
+
funcaptcha: z.ZodOptional<z.ZodObject<{
|
|
260
|
+
enabled: z.ZodBoolean;
|
|
261
|
+
}, "strip", z.ZodTypeAny, {
|
|
262
|
+
enabled: boolean;
|
|
263
|
+
}, {
|
|
264
|
+
enabled: boolean;
|
|
265
|
+
}>>;
|
|
266
|
+
geetest: z.ZodOptional<z.ZodObject<{
|
|
267
|
+
enabled: z.ZodBoolean;
|
|
268
|
+
}, "strip", z.ZodTypeAny, {
|
|
269
|
+
enabled: boolean;
|
|
270
|
+
}, {
|
|
271
|
+
enabled: boolean;
|
|
272
|
+
}>>;
|
|
273
|
+
lemin: z.ZodOptional<z.ZodObject<{
|
|
274
|
+
enabled: z.ZodBoolean;
|
|
275
|
+
}, "strip", z.ZodTypeAny, {
|
|
276
|
+
enabled: boolean;
|
|
277
|
+
}, {
|
|
278
|
+
enabled: boolean;
|
|
279
|
+
}>>;
|
|
280
|
+
customCaptcha: z.ZodOptional<z.ZodObject<{
|
|
281
|
+
enabled: z.ZodBoolean;
|
|
282
|
+
imageLocators: z.ZodArray<z.ZodString, "many">;
|
|
283
|
+
submitLocators: z.ZodArray<z.ZodString, "many">;
|
|
284
|
+
inputLocators: z.ZodArray<z.ZodString, "many">;
|
|
285
|
+
}, "strip", z.ZodTypeAny, {
|
|
286
|
+
enabled: boolean;
|
|
287
|
+
imageLocators: string[];
|
|
288
|
+
submitLocators: string[];
|
|
289
|
+
inputLocators: string[];
|
|
290
|
+
}, {
|
|
291
|
+
enabled: boolean;
|
|
292
|
+
imageLocators: string[];
|
|
293
|
+
submitLocators: string[];
|
|
294
|
+
inputLocators: string[];
|
|
295
|
+
}>>;
|
|
296
|
+
text: z.ZodOptional<z.ZodObject<{
|
|
297
|
+
enabled: z.ZodBoolean;
|
|
298
|
+
labelLocators: z.ZodArray<z.ZodString, "many">;
|
|
299
|
+
submitLocators: z.ZodArray<z.ZodString, "many">;
|
|
300
|
+
inputLocators: z.ZodArray<z.ZodString, "many">;
|
|
301
|
+
}, "strip", z.ZodTypeAny, {
|
|
302
|
+
enabled: boolean;
|
|
303
|
+
submitLocators: string[];
|
|
304
|
+
inputLocators: string[];
|
|
305
|
+
labelLocators: string[];
|
|
306
|
+
}, {
|
|
307
|
+
enabled: boolean;
|
|
308
|
+
submitLocators: string[];
|
|
309
|
+
inputLocators: string[];
|
|
310
|
+
labelLocators: string[];
|
|
311
|
+
}>>;
|
|
312
|
+
settings: z.ZodDefault<z.ZodOptional<z.ZodObject<{
|
|
313
|
+
autoSolve: z.ZodDefault<z.ZodBoolean>;
|
|
314
|
+
solveDelay: z.ZodDefault<z.ZodNumber>;
|
|
315
|
+
maxRetries: z.ZodDefault<z.ZodNumber>;
|
|
316
|
+
timeout: z.ZodDefault<z.ZodNumber>;
|
|
317
|
+
}, "strip", z.ZodTypeAny, {
|
|
318
|
+
autoSolve: boolean;
|
|
319
|
+
solveDelay: number;
|
|
320
|
+
maxRetries: number;
|
|
321
|
+
timeout: number;
|
|
322
|
+
}, {
|
|
323
|
+
autoSolve?: boolean | undefined;
|
|
324
|
+
solveDelay?: number | undefined;
|
|
325
|
+
maxRetries?: number | undefined;
|
|
326
|
+
timeout?: number | undefined;
|
|
327
|
+
}>>>;
|
|
328
|
+
}, "strip", z.ZodTypeAny, {
|
|
329
|
+
enabled: boolean;
|
|
330
|
+
settings: {
|
|
331
|
+
autoSolve: boolean;
|
|
332
|
+
solveDelay: number;
|
|
333
|
+
maxRetries: number;
|
|
334
|
+
timeout: number;
|
|
335
|
+
};
|
|
336
|
+
workspaceId?: string | null | undefined;
|
|
337
|
+
projectId?: string | null | undefined;
|
|
338
|
+
baseUrl?: string | null | undefined;
|
|
339
|
+
token?: string | null | undefined;
|
|
340
|
+
cloudflare?: {
|
|
341
|
+
enabled: boolean;
|
|
342
|
+
} | undefined;
|
|
343
|
+
googleRecaptchaV2?: {
|
|
344
|
+
enabled: boolean;
|
|
345
|
+
} | undefined;
|
|
346
|
+
googleRecaptchaV3?: {
|
|
347
|
+
enabled: boolean;
|
|
348
|
+
} | undefined;
|
|
349
|
+
awscaptcha?: {
|
|
350
|
+
enabled: boolean;
|
|
351
|
+
} | undefined;
|
|
352
|
+
hcaptcha?: {
|
|
353
|
+
enabled: boolean;
|
|
354
|
+
} | undefined;
|
|
355
|
+
funcaptcha?: {
|
|
356
|
+
enabled: boolean;
|
|
357
|
+
} | undefined;
|
|
358
|
+
geetest?: {
|
|
359
|
+
enabled: boolean;
|
|
360
|
+
} | undefined;
|
|
361
|
+
lemin?: {
|
|
362
|
+
enabled: boolean;
|
|
363
|
+
} | undefined;
|
|
364
|
+
customCaptcha?: {
|
|
365
|
+
enabled: boolean;
|
|
366
|
+
imageLocators: string[];
|
|
367
|
+
submitLocators: string[];
|
|
368
|
+
inputLocators: string[];
|
|
369
|
+
} | undefined;
|
|
370
|
+
text?: {
|
|
371
|
+
enabled: boolean;
|
|
372
|
+
submitLocators: string[];
|
|
373
|
+
inputLocators: string[];
|
|
374
|
+
labelLocators: string[];
|
|
375
|
+
} | undefined;
|
|
376
|
+
}, {
|
|
377
|
+
enabled?: boolean | undefined;
|
|
378
|
+
workspaceId?: string | null | undefined;
|
|
379
|
+
projectId?: string | null | undefined;
|
|
380
|
+
baseUrl?: string | null | undefined;
|
|
381
|
+
token?: string | null | undefined;
|
|
382
|
+
cloudflare?: {
|
|
383
|
+
enabled: boolean;
|
|
384
|
+
} | undefined;
|
|
385
|
+
googleRecaptchaV2?: {
|
|
386
|
+
enabled: boolean;
|
|
387
|
+
} | undefined;
|
|
388
|
+
googleRecaptchaV3?: {
|
|
389
|
+
enabled: boolean;
|
|
390
|
+
} | undefined;
|
|
391
|
+
awscaptcha?: {
|
|
392
|
+
enabled: boolean;
|
|
393
|
+
} | undefined;
|
|
394
|
+
hcaptcha?: {
|
|
395
|
+
enabled: boolean;
|
|
396
|
+
} | undefined;
|
|
397
|
+
funcaptcha?: {
|
|
398
|
+
enabled: boolean;
|
|
399
|
+
} | undefined;
|
|
400
|
+
geetest?: {
|
|
401
|
+
enabled: boolean;
|
|
402
|
+
} | undefined;
|
|
403
|
+
lemin?: {
|
|
404
|
+
enabled: boolean;
|
|
405
|
+
} | undefined;
|
|
406
|
+
customCaptcha?: {
|
|
407
|
+
enabled: boolean;
|
|
408
|
+
imageLocators: string[];
|
|
409
|
+
submitLocators: string[];
|
|
410
|
+
inputLocators: string[];
|
|
411
|
+
} | undefined;
|
|
412
|
+
text?: {
|
|
413
|
+
enabled: boolean;
|
|
414
|
+
submitLocators: string[];
|
|
415
|
+
inputLocators: string[];
|
|
416
|
+
labelLocators: string[];
|
|
417
|
+
} | undefined;
|
|
418
|
+
settings?: {
|
|
419
|
+
autoSolve?: boolean | undefined;
|
|
420
|
+
solveDelay?: number | undefined;
|
|
421
|
+
maxRetries?: number | undefined;
|
|
422
|
+
timeout?: number | undefined;
|
|
423
|
+
} | undefined;
|
|
424
|
+
}>>>;
|
|
10
425
|
}, "strip", z.ZodTypeAny, {
|
|
11
426
|
authSessions: {
|
|
12
427
|
enabled: boolean;
|
|
13
428
|
};
|
|
429
|
+
captchaSolver?: {
|
|
430
|
+
enabled: boolean;
|
|
431
|
+
settings: {
|
|
432
|
+
autoSolve: boolean;
|
|
433
|
+
solveDelay: number;
|
|
434
|
+
maxRetries: number;
|
|
435
|
+
timeout: number;
|
|
436
|
+
};
|
|
437
|
+
workspaceId?: string | null | undefined;
|
|
438
|
+
projectId?: string | null | undefined;
|
|
439
|
+
baseUrl?: string | null | undefined;
|
|
440
|
+
token?: string | null | undefined;
|
|
441
|
+
cloudflare?: {
|
|
442
|
+
enabled: boolean;
|
|
443
|
+
} | undefined;
|
|
444
|
+
googleRecaptchaV2?: {
|
|
445
|
+
enabled: boolean;
|
|
446
|
+
} | undefined;
|
|
447
|
+
googleRecaptchaV3?: {
|
|
448
|
+
enabled: boolean;
|
|
449
|
+
} | undefined;
|
|
450
|
+
awscaptcha?: {
|
|
451
|
+
enabled: boolean;
|
|
452
|
+
} | undefined;
|
|
453
|
+
hcaptcha?: {
|
|
454
|
+
enabled: boolean;
|
|
455
|
+
} | undefined;
|
|
456
|
+
funcaptcha?: {
|
|
457
|
+
enabled: boolean;
|
|
458
|
+
} | undefined;
|
|
459
|
+
geetest?: {
|
|
460
|
+
enabled: boolean;
|
|
461
|
+
} | undefined;
|
|
462
|
+
lemin?: {
|
|
463
|
+
enabled: boolean;
|
|
464
|
+
} | undefined;
|
|
465
|
+
customCaptcha?: {
|
|
466
|
+
enabled: boolean;
|
|
467
|
+
imageLocators: string[];
|
|
468
|
+
submitLocators: string[];
|
|
469
|
+
inputLocators: string[];
|
|
470
|
+
} | undefined;
|
|
471
|
+
text?: {
|
|
472
|
+
enabled: boolean;
|
|
473
|
+
submitLocators: string[];
|
|
474
|
+
inputLocators: string[];
|
|
475
|
+
labelLocators: string[];
|
|
476
|
+
} | undefined;
|
|
477
|
+
} | undefined;
|
|
14
478
|
}, {
|
|
15
479
|
authSessions?: {
|
|
16
480
|
enabled: boolean;
|
|
17
481
|
} | undefined;
|
|
482
|
+
captchaSolver?: {
|
|
483
|
+
enabled?: boolean | undefined;
|
|
484
|
+
workspaceId?: string | null | undefined;
|
|
485
|
+
projectId?: string | null | undefined;
|
|
486
|
+
baseUrl?: string | null | undefined;
|
|
487
|
+
token?: string | null | undefined;
|
|
488
|
+
cloudflare?: {
|
|
489
|
+
enabled: boolean;
|
|
490
|
+
} | undefined;
|
|
491
|
+
googleRecaptchaV2?: {
|
|
492
|
+
enabled: boolean;
|
|
493
|
+
} | undefined;
|
|
494
|
+
googleRecaptchaV3?: {
|
|
495
|
+
enabled: boolean;
|
|
496
|
+
} | undefined;
|
|
497
|
+
awscaptcha?: {
|
|
498
|
+
enabled: boolean;
|
|
499
|
+
} | undefined;
|
|
500
|
+
hcaptcha?: {
|
|
501
|
+
enabled: boolean;
|
|
502
|
+
} | undefined;
|
|
503
|
+
funcaptcha?: {
|
|
504
|
+
enabled: boolean;
|
|
505
|
+
} | undefined;
|
|
506
|
+
geetest?: {
|
|
507
|
+
enabled: boolean;
|
|
508
|
+
} | undefined;
|
|
509
|
+
lemin?: {
|
|
510
|
+
enabled: boolean;
|
|
511
|
+
} | undefined;
|
|
512
|
+
customCaptcha?: {
|
|
513
|
+
enabled: boolean;
|
|
514
|
+
imageLocators: string[];
|
|
515
|
+
submitLocators: string[];
|
|
516
|
+
inputLocators: string[];
|
|
517
|
+
} | undefined;
|
|
518
|
+
text?: {
|
|
519
|
+
enabled: boolean;
|
|
520
|
+
submitLocators: string[];
|
|
521
|
+
inputLocators: string[];
|
|
522
|
+
labelLocators: string[];
|
|
523
|
+
} | undefined;
|
|
524
|
+
settings?: {
|
|
525
|
+
autoSolve?: boolean | undefined;
|
|
526
|
+
solveDelay?: number | undefined;
|
|
527
|
+
maxRetries?: number | undefined;
|
|
528
|
+
timeout?: number | undefined;
|
|
529
|
+
} | undefined;
|
|
530
|
+
} | undefined;
|
|
18
531
|
}>;
|
|
19
532
|
export type IntunedSettings = z.infer<typeof settingsSchema>;
|
|
@@ -3,15 +3,53 @@
|
|
|
3
3
|
Object.defineProperty(exports, "__esModule", {
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
|
-
exports.settingsSchema = void 0;
|
|
6
|
+
exports.settingsSchema = exports.captchaSolverSettingsSchema = void 0;
|
|
7
7
|
var z = _interopRequireWildcard(require("zod"));
|
|
8
8
|
function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }
|
|
9
9
|
function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
|
|
10
|
+
const baseCaptchaSchema = z.object({
|
|
11
|
+
enabled: z.boolean()
|
|
12
|
+
});
|
|
13
|
+
const customCaptchaSchema = baseCaptchaSchema.extend({
|
|
14
|
+
imageLocators: z.array(z.string()).min(1, "At least one image locator is required"),
|
|
15
|
+
submitLocators: z.array(z.string()).min(1, "At least one submit locator is required"),
|
|
16
|
+
inputLocators: z.array(z.string()).min(1, "At least one input locator is required")
|
|
17
|
+
});
|
|
18
|
+
const textCaptchaSchema = baseCaptchaSchema.extend({
|
|
19
|
+
labelLocators: z.array(z.string()).min(1, "At least one image locator is required"),
|
|
20
|
+
submitLocators: z.array(z.string()).min(1, "At least one submit locator is required"),
|
|
21
|
+
inputLocators: z.array(z.string()).min(1, "At least one input locator is required")
|
|
22
|
+
});
|
|
23
|
+
const captchaSolverSolveSettingsSchema = z.object({
|
|
24
|
+
autoSolve: z.boolean().default(true),
|
|
25
|
+
solveDelay: z.number().min(0).default(2000),
|
|
26
|
+
maxRetries: z.number().min(0).default(3),
|
|
27
|
+
timeout: z.number().min(0).default(30000)
|
|
28
|
+
});
|
|
29
|
+
const captchaSolverSettingsSchema = exports.captchaSolverSettingsSchema = z.object({
|
|
30
|
+
enabled: z.boolean().default(false),
|
|
31
|
+
workspaceId: z.string().optional().nullable(),
|
|
32
|
+
projectId: z.string().optional().nullable(),
|
|
33
|
+
baseUrl: z.string().optional().nullable(),
|
|
34
|
+
token: z.string().optional().nullable(),
|
|
35
|
+
cloudflare: baseCaptchaSchema.optional(),
|
|
36
|
+
googleRecaptchaV2: baseCaptchaSchema.optional(),
|
|
37
|
+
googleRecaptchaV3: baseCaptchaSchema.optional(),
|
|
38
|
+
awscaptcha: baseCaptchaSchema.optional(),
|
|
39
|
+
hcaptcha: baseCaptchaSchema.optional(),
|
|
40
|
+
funcaptcha: baseCaptchaSchema.optional(),
|
|
41
|
+
geetest: baseCaptchaSchema.optional(),
|
|
42
|
+
lemin: baseCaptchaSchema.optional(),
|
|
43
|
+
customCaptcha: customCaptchaSchema.optional(),
|
|
44
|
+
text: textCaptchaSchema.optional(),
|
|
45
|
+
settings: captchaSolverSolveSettingsSchema.optional().default({})
|
|
46
|
+
}).default({});
|
|
10
47
|
const authSessionsSchema = z.object({
|
|
11
48
|
enabled: z.boolean()
|
|
12
49
|
}).optional().default({
|
|
13
50
|
enabled: false
|
|
14
51
|
});
|
|
15
52
|
const settingsSchema = exports.settingsSchema = z.object({
|
|
16
|
-
authSessions: authSessionsSchema
|
|
53
|
+
authSessions: authSessionsSchema,
|
|
54
|
+
captchaSolver: captchaSolverSettingsSchema.optional()
|
|
17
55
|
});
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@intuned/runtime-dev",
|
|
3
|
-
"version": "1.3.
|
|
3
|
+
"version": "1.3.6-brave.0",
|
|
4
4
|
"description": "Intuned runtime",
|
|
5
5
|
"exports": {
|
|
6
6
|
".": "./dist/index.js",
|
|
@@ -93,6 +93,7 @@
|
|
|
93
93
|
"typescript": "5.1.6",
|
|
94
94
|
"uuid": "11.1.0",
|
|
95
95
|
"wait-on": "7.2.0",
|
|
96
|
+
"which": "^5.0.0",
|
|
96
97
|
"yaml": "2.8.1",
|
|
97
98
|
"zod": "^3.21.4"
|
|
98
99
|
},
|
|
@@ -110,6 +111,7 @@
|
|
|
110
111
|
"@types/promptly": "^3.0.4",
|
|
111
112
|
"@types/terminal-kit": "^2.5.7",
|
|
112
113
|
"@types/wait-on": "^5.3.4",
|
|
114
|
+
"@types/which": "^3.0.4",
|
|
113
115
|
"@typescript-eslint/eslint-plugin": "^5.47.1",
|
|
114
116
|
"@typescript-eslint/parser": "^7.5.0",
|
|
115
117
|
"@vitest/ui": "^1.1.3",
|