@intuned/runtime 1.3.17 → 1.3.18-interface.7
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/bin/intuned +0 -0
- package/bin/intuned-interface +7 -0
- package/dist/chunk-6ZRJOUQS.mjs +16 -0
- package/dist/chunk-6ZRJOUQS.mjs.map +1 -0
- package/dist/chunk-7YL2JUTE.mjs +146 -0
- package/dist/chunk-7YL2JUTE.mjs.map +1 -0
- package/dist/chunk-B3T6RXPC.mjs +794 -0
- package/dist/chunk-B3T6RXPC.mjs.map +1 -0
- package/dist/chunk-FGV5T6SI.mjs +27 -0
- package/dist/chunk-FGV5T6SI.mjs.map +1 -0
- package/dist/chunk-G4PO5RIV.mjs +85 -0
- package/dist/chunk-G4PO5RIV.mjs.map +1 -0
- package/dist/chunk-LZOMFHX3.mjs +38 -0
- package/dist/chunk-LZOMFHX3.mjs.map +1 -0
- package/dist/{common/formatZodError.js → chunk-NDMVGENG.mjs} +9 -9
- package/dist/chunk-NDMVGENG.mjs.map +1 -0
- package/dist/chunk-W4UX6G4X.mjs +17 -0
- package/dist/chunk-W4UX6G4X.mjs.map +1 -0
- package/dist/chunk-XC75QGFG.mjs +1106 -0
- package/dist/chunk-XC75QGFG.mjs.map +1 -0
- package/dist/chunk-XOAZ2MGA.mjs +59 -0
- package/dist/chunk-XOAZ2MGA.mjs.map +1 -0
- package/dist/commands/interface/run.d.mts +3 -0
- package/dist/commands/interface/run.d.ts +3 -1
- package/dist/commands/interface/run.js +2060 -178
- package/dist/commands/interface/run.js.map +1 -0
- package/dist/commands/interface/run.mjs +255 -0
- package/dist/commands/interface/run.mjs.map +1 -0
- package/dist/common/asyncLocalStorage/index.d.mts +17 -0
- package/dist/common/asyncLocalStorage/index.d.ts +9 -8
- package/dist/common/asyncLocalStorage/index.js +34 -9
- package/dist/common/asyncLocalStorage/index.js.map +1 -0
- package/dist/common/asyncLocalStorage/index.mjs +12 -0
- package/dist/common/asyncLocalStorage/index.mjs.map +1 -0
- package/dist/common/binStartupScript.d.mts +2 -0
- package/dist/common/binStartupScript.d.ts +2 -1
- package/dist/common/binStartupScript.js +127 -11
- package/dist/common/binStartupScript.js.map +1 -0
- package/dist/common/binStartupScript.mjs +135 -0
- package/dist/common/binStartupScript.mjs.map +1 -0
- package/dist/common/cleanEnvironmentVariables.d.mts +3 -0
- package/dist/common/cleanEnvironmentVariables.d.ts +3 -1
- package/dist/common/cleanEnvironmentVariables.js +30 -7
- package/dist/common/cleanEnvironmentVariables.js.map +1 -0
- package/dist/common/cleanEnvironmentVariables.mjs +8 -0
- package/dist/common/cleanEnvironmentVariables.mjs.map +1 -0
- package/dist/common/constants.d.mts +13 -0
- package/dist/common/constants.d.ts +13 -10
- package/dist/common/constants.js +58 -14
- package/dist/common/constants.js.map +1 -0
- package/dist/common/constants.mjs +28 -0
- package/dist/common/constants.mjs.map +1 -0
- package/dist/common/contextStorageStateHelpers.d.mts +24 -0
- package/dist/common/contextStorageStateHelpers.d.ts +8 -5
- package/dist/common/contextStorageStateHelpers.js +51 -23
- package/dist/common/contextStorageStateHelpers.js.map +1 -0
- package/dist/common/contextStorageStateHelpers.mjs +10 -0
- package/dist/common/contextStorageStateHelpers.mjs.map +1 -0
- package/dist/common/jwtTokenManager.d.mts +19 -0
- package/dist/common/jwtTokenManager.d.ts +6 -4
- package/dist/common/jwtTokenManager.js +112 -40
- package/dist/common/jwtTokenManager.js.map +1 -0
- package/dist/common/jwtTokenManager.mjs +11 -0
- package/dist/common/jwtTokenManager.mjs.map +1 -0
- package/dist/common/runApi/index.d.mts +11 -0
- package/dist/common/runApi/index.d.ts +10 -10
- package/dist/common/runApi/index.js +1776 -93
- package/dist/common/runApi/index.js.map +1 -0
- package/dist/common/runApi/index.mjs +18 -0
- package/dist/common/runApi/index.mjs.map +1 -0
- package/dist/common/settingsSchema.d.mts +540 -0
- package/dist/common/settingsSchema.d.ts +58 -51
- package/dist/common/settingsSchema.js +55 -20
- package/dist/common/settingsSchema.js.map +1 -0
- package/dist/common/settingsSchema.mjs +10 -0
- package/dist/common/settingsSchema.mjs.map +1 -0
- package/dist/common/telemetry.d.mts +6 -0
- package/dist/common/telemetry.d.ts +6 -3
- package/dist/common/telemetry.js +41 -9
- package/dist/common/telemetry.js.map +1 -0
- package/dist/common/telemetry.mjs +31 -0
- package/dist/common/telemetry.mjs.map +1 -0
- package/dist/export.d-BAUMB-lG.d.mts +140 -0
- package/dist/export.d-BAUMB-lG.d.ts +140 -0
- package/dist/index.d.mts +6 -0
- package/dist/index.d.ts +6 -5
- package/dist/index.js +783 -98
- package/dist/index.js.map +1 -0
- package/dist/index.mjs +47 -0
- package/dist/index.mjs.map +1 -0
- package/dist/runtime/index.d.mts +168 -0
- package/dist/runtime/index.d.ts +168 -10
- package/dist/runtime/index.js +779 -88
- package/dist/runtime/index.js.map +1 -0
- package/dist/runtime/index.mjs +42 -0
- package/dist/runtime/index.mjs.map +1 -0
- package/package.json +78 -23
- package/.babelrc +0 -21
- package/.eslintignore +0 -10
- package/.eslintrc.js +0 -39
- package/InterfaceTemplate/__utils.ts +0 -61
- package/InterfaceTemplate/index.playwright.ts +0 -6
- package/WebTemplate.zip +0 -0
- package/dist/commands/api/run.d.ts +0 -6
- package/dist/commands/api/run.js +0 -119
- package/dist/commands/auth-sessions/load.d.ts +0 -2
- package/dist/commands/auth-sessions/load.js +0 -35
- package/dist/commands/auth-sessions/run-check.d.ts +0 -2
- package/dist/commands/auth-sessions/run-check.js +0 -74
- package/dist/commands/auth-sessions/run-create.d.ts +0 -2
- package/dist/commands/auth-sessions/run-create.js +0 -78
- package/dist/commands/browser/save-state.d.ts +0 -2
- package/dist/commands/browser/save-state.js +0 -17
- package/dist/commands/browser/start-browser.d.ts +0 -2
- package/dist/commands/browser/start-browser.js +0 -14
- package/dist/commands/build.d.ts +0 -1
- package/dist/commands/build.js +0 -84
- package/dist/commands/common/browserUtils.d.ts +0 -14
- package/dist/commands/common/browserUtils.js +0 -58
- package/dist/commands/common/getFirstLineNumber.d.ts +0 -9
- package/dist/commands/common/getFirstLineNumber.js +0 -101
- package/dist/commands/common/getFirstLineNumber.test.js +0 -228
- package/dist/commands/common/projectExclusions.d.ts +0 -2
- package/dist/commands/common/projectExclusions.js +0 -8
- package/dist/commands/common/sendMessageToClient.d.ts +0 -1
- package/dist/commands/common/sendMessageToClient.js +0 -10
- package/dist/commands/common/tsNodeImport.d.ts +0 -2
- package/dist/commands/common/tsNodeImport.js +0 -43
- package/dist/commands/common/utils/fileUtils.d.ts +0 -6
- package/dist/commands/common/utils/fileUtils.js +0 -33
- package/dist/commands/common/utils/settings.d.ts +0 -2
- package/dist/commands/common/utils/settings.js +0 -31
- package/dist/commands/common/utils/template.d.ts +0 -2
- package/dist/commands/common/utils/template.js +0 -31
- package/dist/commands/common/utils/unixSocket.d.ts +0 -23
- package/dist/commands/common/utils/unixSocket.js +0 -87
- package/dist/commands/get-headless-user-agent.d.ts +0 -1
- package/dist/commands/get-headless-user-agent.js +0 -18
- package/dist/commands/intuned-cli/commands/attempt.command.d.ts +0 -1
- package/dist/commands/intuned-cli/commands/attempt.command.js +0 -8
- package/dist/commands/intuned-cli/commands/attempt_api.command.d.ts +0 -1
- package/dist/commands/intuned-cli/commands/attempt_api.command.js +0 -30
- package/dist/commands/intuned-cli/commands/attempt_authsession.command.d.ts +0 -1
- package/dist/commands/intuned-cli/commands/attempt_authsession.command.js +0 -8
- package/dist/commands/intuned-cli/commands/attempt_authsession_check.command.d.ts +0 -1
- package/dist/commands/intuned-cli/commands/attempt_authsession_check.command.js +0 -19
- package/dist/commands/intuned-cli/commands/attempt_authsession_create.command.d.ts +0 -1
- package/dist/commands/intuned-cli/commands/attempt_authsession_create.command.js +0 -24
- package/dist/commands/intuned-cli/commands/authsession.command.d.ts +0 -1
- package/dist/commands/intuned-cli/commands/authsession.command.js +0 -8
- package/dist/commands/intuned-cli/commands/authsession_record.command.d.ts +0 -1
- package/dist/commands/intuned-cli/commands/authsession_record.command.js +0 -32
- package/dist/commands/intuned-cli/commands/authsession_scaffold.command.d.ts +0 -1
- package/dist/commands/intuned-cli/commands/authsession_scaffold.command.js +0 -16
- package/dist/commands/intuned-cli/commands/build.command.d.ts +0 -1
- package/dist/commands/intuned-cli/commands/build.command.js +0 -12
- package/dist/commands/intuned-cli/commands/command.d.ts +0 -2
- package/dist/commands/intuned-cli/commands/command.js +0 -9
- package/dist/commands/intuned-cli/commands/deploy.command.d.ts +0 -1
- package/dist/commands/intuned-cli/commands/deploy.command.js +0 -42
- package/dist/commands/intuned-cli/commands/index.d.ts +0 -18
- package/dist/commands/intuned-cli/commands/index.js +0 -203
- package/dist/commands/intuned-cli/commands/provision.command.d.ts +0 -13
- package/dist/commands/intuned-cli/commands/provision.command.js +0 -50
- package/dist/commands/intuned-cli/commands/run.command.d.ts +0 -1
- package/dist/commands/intuned-cli/commands/run.command.js +0 -8
- package/dist/commands/intuned-cli/commands/run_api.command.d.ts +0 -1
- package/dist/commands/intuned-cli/commands/run_api.command.js +0 -46
- package/dist/commands/intuned-cli/commands/run_authsession.command.d.ts +0 -31
- package/dist/commands/intuned-cli/commands/run_authsession.command.js +0 -17
- package/dist/commands/intuned-cli/commands/run_authsession_create.command.d.ts +0 -1
- package/dist/commands/intuned-cli/commands/run_authsession_create.command.js +0 -35
- package/dist/commands/intuned-cli/commands/run_authsession_update.command.d.ts +0 -1
- package/dist/commands/intuned-cli/commands/run_authsession_update.command.js +0 -35
- package/dist/commands/intuned-cli/commands/run_authsession_validate.command.d.ts +0 -1
- package/dist/commands/intuned-cli/commands/run_authsession_validate.command.js +0 -33
- package/dist/commands/intuned-cli/commands/types.d.ts +0 -35
- package/dist/commands/intuned-cli/commands/types.js +0 -31
- package/dist/commands/intuned-cli/constants/index.d.ts +0 -17
- package/dist/commands/intuned-cli/constants/index.js +0 -25
- package/dist/commands/intuned-cli/controller/__test__/api.test.js +0 -398
- package/dist/commands/intuned-cli/controller/__test__/authSession.test.js +0 -1060
- package/dist/commands/intuned-cli/controller/api.d.ts +0 -42
- package/dist/commands/intuned-cli/controller/api.js +0 -194
- package/dist/commands/intuned-cli/controller/authSession.d.ts +0 -209
- package/dist/commands/intuned-cli/controller/authSession.js +0 -424
- package/dist/commands/intuned-cli/controller/build.d.ts +0 -1
- package/dist/commands/intuned-cli/controller/build.js +0 -36
- package/dist/commands/intuned-cli/controller/deploy.d.ts +0 -5
- package/dist/commands/intuned-cli/controller/deploy.js +0 -318
- package/dist/commands/intuned-cli/controller/index.d.ts +0 -1
- package/dist/commands/intuned-cli/controller/index.js +0 -46
- package/dist/commands/intuned-cli/controller/provision.d.ts +0 -21
- package/dist/commands/intuned-cli/controller/provision.js +0 -300
- package/dist/commands/intuned-cli/controller/scaffold.d.ts +0 -1
- package/dist/commands/intuned-cli/controller/scaffold.js +0 -77
- package/dist/commands/intuned-cli/helpers/__test__/browser.test.js +0 -115
- package/dist/commands/intuned-cli/helpers/__test__/tracing.test.js +0 -41
- package/dist/commands/intuned-cli/helpers/api.d.ts +0 -3
- package/dist/commands/intuned-cli/helpers/api.js +0 -16
- package/dist/commands/intuned-cli/helpers/auth.d.ts +0 -46
- package/dist/commands/intuned-cli/helpers/auth.js +0 -147
- package/dist/commands/intuned-cli/helpers/backend.d.ts +0 -8
- package/dist/commands/intuned-cli/helpers/backend.js +0 -35
- package/dist/commands/intuned-cli/helpers/browser.d.ts +0 -15
- package/dist/commands/intuned-cli/helpers/browser.js +0 -64
- package/dist/commands/intuned-cli/helpers/context.d.ts +0 -3
- package/dist/commands/intuned-cli/helpers/context.js +0 -33
- package/dist/commands/intuned-cli/helpers/errors.d.ts +0 -16
- package/dist/commands/intuned-cli/helpers/errors.js +0 -44
- package/dist/commands/intuned-cli/helpers/index.d.ts +0 -12
- package/dist/commands/intuned-cli/helpers/index.js +0 -137
- package/dist/commands/intuned-cli/helpers/intunedJson.d.ts +0 -39
- package/dist/commands/intuned-cli/helpers/intunedJson.js +0 -20
- package/dist/commands/intuned-cli/helpers/prompts.d.ts +0 -3
- package/dist/commands/intuned-cli/helpers/prompts.js +0 -71
- package/dist/commands/intuned-cli/helpers/proxy.d.ts +0 -5
- package/dist/commands/intuned-cli/helpers/proxy.js +0 -23
- package/dist/commands/intuned-cli/helpers/terminal.d.ts +0 -5
- package/dist/commands/intuned-cli/helpers/terminal.js +0 -13
- package/dist/commands/intuned-cli/helpers/timeout.d.ts +0 -1
- package/dist/commands/intuned-cli/helpers/timeout.js +0 -23
- package/dist/commands/intuned-cli/helpers/traces.d.ts +0 -2
- package/dist/commands/intuned-cli/helpers/traces.js +0 -32
- package/dist/commands/intuned-cli/helpers/validation.d.ts +0 -2
- package/dist/commands/intuned-cli/helpers/validation.js +0 -14
- package/dist/commands/intuned-cli/helpers/wrapper.d.ts +0 -2
- package/dist/commands/intuned-cli/helpers/wrapper.js +0 -76
- package/dist/commands/intuned-cli/index.d.ts +0 -1
- package/dist/commands/intuned-cli/index.js +0 -16
- package/dist/commands/intuned-cli/main.d.ts +0 -1
- package/dist/commands/intuned-cli/main.js +0 -36
- package/dist/commands/intuned-cli/types.d.ts +0 -70
- package/dist/commands/intuned-cli/types.js +0 -22
- package/dist/commands/ts-check.d.ts +0 -2
- package/dist/commands/ts-check.js +0 -56
- package/dist/common/Logger/Logger/index.d.ts +0 -12
- package/dist/common/Logger/Logger/index.js +0 -60
- package/dist/common/Logger/Logger/types.d.ts +0 -8
- package/dist/common/Logger/Logger/types.js +0 -5
- package/dist/common/Logger/index.d.ts +0 -12
- package/dist/common/Logger/index.js +0 -60
- package/dist/common/Logger/types.d.ts +0 -8
- package/dist/common/Logger/types.js +0 -5
- package/dist/common/backendFunctions/getAuthSessionParameters.d.ts +0 -1
- package/dist/common/backendFunctions/getAuthSessionParameters.js +0 -38
- package/dist/common/extension/extensionsHelpers.d.ts +0 -11
- package/dist/common/extension/extensionsHelpers.js +0 -147
- package/dist/common/extension/intunedExtensionServer.d.ts +0 -24
- package/dist/common/extension/intunedExtensionServer.js +0 -178
- package/dist/common/extension/types.d.ts +0 -212
- package/dist/common/extension/types.js +0 -51
- package/dist/common/formatZodError.d.ts +0 -2
- package/dist/common/intunedJson.d.ts +0 -229
- package/dist/common/intunedJson.js +0 -133
- package/dist/common/launchBrowser.d.ts +0 -33
- package/dist/common/launchBrowser.js +0 -235
- package/dist/common/playwrightContext.d.ts +0 -31
- package/dist/common/playwrightContext.js +0 -150
- package/dist/common/runApi/errors.d.ts +0 -72
- package/dist/common/runApi/errors.js +0 -169
- package/dist/common/runApi/importUsingImportFunction.d.ts +0 -9
- package/dist/common/runApi/importUsingImportFunction.js +0 -46
- package/dist/common/runApi/types.d.ts +0 -830
- package/dist/common/runApi/types.js +0 -73
- package/dist/common/setupContextHook.d.ts +0 -17
- package/dist/common/setupContextHook.js +0 -22
- package/dist/runtime/RunError.d.ts +0 -5
- package/dist/runtime/RunError.js +0 -19
- package/dist/runtime/attemptStore.d.ts +0 -2
- package/dist/runtime/attemptStore.js +0 -23
- package/dist/runtime/captcha.d.ts +0 -15
- package/dist/runtime/captcha.js +0 -191
- package/dist/runtime/captcha.test.js +0 -821
- package/dist/runtime/downloadDirectory.d.ts +0 -1
- package/dist/runtime/downloadDirectory.js +0 -19
- package/dist/runtime/enums.d.js +0 -5
- package/dist/runtime/enums.d.ts +0 -11
- package/dist/runtime/enums.js +0 -18
- package/dist/runtime/executionHelpers.test.js +0 -52
- package/dist/runtime/export.d.js +0 -5
- package/dist/runtime/export.d.ts +0 -284
- package/dist/runtime/extendPayload.d.ts +0 -2
- package/dist/runtime/extendPayload.js +0 -21
- package/dist/runtime/extendTimeout.d.ts +0 -1
- package/dist/runtime/extendTimeout.js +0 -23
- package/dist/runtime/getAiGatewayConfig.d.ts +0 -10
- package/dist/runtime/getAiGatewayConfig.js +0 -16
- package/dist/runtime/getAuthSessionParameters.d.ts +0 -1
- package/dist/runtime/getAuthSessionParameters.js +0 -20
- package/dist/runtime/persistentStore.d.ts +0 -2
- package/dist/runtime/persistentStore.js +0 -37
- package/dist/runtime/persistentStore.test.js +0 -101
- package/dist/runtime/runInfo.d.ts +0 -2
- package/dist/runtime/runInfo.js +0 -21
- package/template.tsconfig.json +0 -11
- package/tsconfig.eslint.json +0 -5
- package/tsconfig.json +0 -25
- package/typedoc.json +0 -49
- /package/dist/common/assets/{browser_scripts.js → assets/browser_scripts.js} +0 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/index.ts","../src/common/asyncLocalStorage/index.ts","../src/runtime/extendTimeout.ts","../src/runtime/extendPayload.ts","../src/runtime/attemptStore.ts","../src/runtime/persistentStore.ts","../src/common/jwtTokenManager.ts","../src/common/constants.ts","../src/runtime/getAuthSessionParameters.ts","../src/runtime/runInfo.ts","../src/runtime/RunError.ts","../src/common/extension/intunedExtensionServer.ts","../src/common/extension/types.ts","../src/commands/common/utils/fileUtils.ts","../src/common/settingsSchema.ts","../src/commands/common/utils/settings.ts","../src/common/extension/extensionsHelpers.ts","../src/runtime/captcha.ts","../src/runtime/getAiGatewayConfig.ts","../src/runtime/downloadDirectory.ts"],"sourcesContent":["export {\n extendPayload,\n extendTimeout,\n runInfo,\n RunError,\n getAuthSessionParameters,\n attemptStore,\n persistentStore,\n getAiGatewayConfig,\n} from \"./runtime\";\nexport {\n runWithContext,\n getExecutionContext,\n} from \"./common/asyncLocalStorage\";\nexport { getDownloadDirectoryPath } from \"./runtime/downloadDirectory\";\n\nexport {\n waitForCaptchaSolve,\n withWaitForCaptchaSolve,\n onCaptchaEvent,\n onceCaptchaEvent,\n removeCaptchaEventListener,\n pauseCaptchaSolver,\n resumeCaptchaSolver,\n} from \"./runtime/captcha\";\n","import { AsyncLocalStorage } from \"node:async_hooks\";\nimport { Payload, RunInfo } from \"../../runtime/export\";\n\nexport const asyncLocalStorage = new AsyncLocalStorage<InternalRunInfo>();\n\nexport function runWithContext<R, TArgs extends any[]>(\n contextData: InternalRunInfo,\n callback: (...args: TArgs) => R,\n ...args: TArgs\n): R {\n return asyncLocalStorage.run(contextData, callback, ...args);\n}\n\ninterface TimeoutInfo {\n extendTimeoutCallback?: () => Promise<void>;\n}\n\nexport interface InternalRunInfo extends RunInfo {\n extendedPayloads: Payload[];\n timeoutInfo?: TimeoutInfo;\n store?: Record<string, any>;\n getAuthSessionParameters?: () => Promise<any>;\n}\n\nexport function getExecutionContext() {\n const contextData = asyncLocalStorage.getStore();\n\n return contextData;\n}\n","import { getExecutionContext } from \"../common/asyncLocalStorage\";\n\nconst _DEBOUNCE_TIME = 60_000;\n\nexport function extendTimeout() {\n const context = getExecutionContext();\n\n if (!context) {\n throw new Error(\"extendTimeout failed due to an internal error.\");\n }\n\n const { timeoutInfo } = context;\n\n if (!timeoutInfo) {\n return;\n }\n\n if (timeoutInfo.extendTimeoutCallback !== undefined) {\n void timeoutInfo.extendTimeoutCallback().catch(() => undefined);\n }\n}\n","import { getExecutionContext } from \"../common/asyncLocalStorage\";\nimport { Payload } from \"./export\";\nimport { extendTimeout } from \"./extendTimeout\";\n\nexport function extendPayload(payload: Payload | Payload[]) {\n const context = getExecutionContext();\n\n if (!context) {\n throw new Error(\"extendPayload failed due to an internal error.\");\n }\n\n const items = Array.isArray(payload) ? payload : [payload];\n\n if (!context.extendedPayloads) {\n context.extendedPayloads = [...items];\n return;\n }\n\n context?.extendedPayloads.push(...items);\n\n extendTimeout();\n}\n","import { getExecutionContext } from \"../common/asyncLocalStorage\";\nimport { AttemptStore } from \"./export\";\n\nexport const attemptStore: AttemptStore = Object.freeze({\n get: (key: string) => {\n const context = getExecutionContext();\n return context?.store ? context.store[key] : undefined;\n },\n set: (key: string, value: any) => {\n const context = getExecutionContext();\n if (!context) {\n throw new Error(\"store.set failed due to an internal error.\");\n }\n if (!context.store) {\n context.store = {};\n }\n context.store[key] = value;\n },\n});\n","import { z } from \"zod\";\nimport { callBackendFunctionWithToken } from \"../common/jwtTokenManager\";\nimport type { PersistentStore } from \"./export\";\n\nconst forbiddenCharacters = /[:#]/g;\n\nconst keySchema = z\n .string()\n .min(1, \"Key must be at least 1 character long\")\n .refine(\n (key) => (key.match(forbiddenCharacters)?.length ?? 0) === 0,\n 'Key cannot contain the following characters: \":\" or \"#\"'\n );\n\nexport const persistentStore: PersistentStore = Object.freeze({\n get: async (key: string) => {\n const parsedKey = keySchema.parse(key);\n const response = await callBackendFunctionWithToken(\n `kv-store/${parsedKey}`,\n {\n method: \"GET\",\n }\n );\n const json = await response.json();\n if (!response.ok) {\n throw new Error(json.message);\n }\n return json.value;\n },\n set: async (key: string, value: any) => {\n const keyResult = keySchema.parse(key);\n const response = await callBackendFunctionWithToken(\n `kv-store/${keyResult}`,\n {\n method: \"PUT\",\n body: JSON.stringify(value),\n headers: {\n \"Content-Type\": \"application/json\",\n },\n }\n );\n const json = await response.json();\n if (!response.ok) {\n throw new Error(json.message);\n }\n },\n});\n","import fetch from \"cross-fetch\";\nimport * as jwt from \"jsonwebtoken\";\nimport { err, ResultAsync } from \"neverthrow\";\nimport {\n API_KEY_ENV_VAR_KEY,\n API_KEY_HEADER_NAME,\n PROJECT_ID_ENV_VAR_KEY,\n CLI_ENV_VAR_KEY,\n WORKSPACE_ID_ENV_VAR_KEY,\n AUTH_TOKEN_ENV_VAR_KEY,\n} from \"./constants\";\n\n// Manages JWT token with renewal\nclass JwtTokenManager {\n private _token: string | undefined;\n private tokenRefreshTimeout: NodeJS.Timeout | undefined;\n private refreshTokenPath: string;\n\n constructor(refreshTokenPath: string) {\n this.refreshTokenPath = refreshTokenPath;\n this._token = undefined;\n }\n\n public get token() {\n return this._token;\n }\n\n // When the token is set, the schedule for renewal is issued automatically\n // This is currently being set it two places:\n // 1. Whenever the runner starts, initializes it from the environment variable (set whenever the api is run from the authoring IDE)\n // 2. Whenever a published api is called to run (/api/run/*), it is set to the token received in the run request.\n public set token(newToken: string | undefined) {\n if (this._token != newToken) {\n this._token = newToken;\n void this.scheduleTokenRefresh();\n }\n }\n\n private get timeToRefresh() {\n if (!this._token) return;\n\n const payload = jwt.decode(this._token);\n\n if (!payload || typeof payload == \"string\") return;\n\n const expiry = payload.expiry;\n if (!expiry || typeof expiry !== \"number\") return;\n\n const timeWindow = 60 * 1000; // 1 minute\n\n const timeToRefresh = expiry - Date.now() - timeWindow;\n return Math.max(timeToRefresh, timeWindow);\n }\n\n private async scheduleTokenRefresh() {\n if (process.env.RUN_ENVIRONMENT?.toLowerCase() !== \"authoring\") return;\n const timeToRefresh = this.timeToRefresh;\n if (timeToRefresh === undefined) return;\n\n if (this.tokenRefreshTimeout) clearTimeout(this.tokenRefreshTimeout);\n\n this.tokenRefreshTimeout = setTimeout(async () => {\n const result = await this.refreshToken();\n if (result && result.isErr()) {\n console.error(`[Internal Error] ${result.error}`);\n return;\n }\n await this.scheduleTokenRefresh();\n }, timeToRefresh);\n }\n\n private async refreshToken() {\n if (process.env.RUN_ENVIRONMENT?.toLowerCase() !== \"authoring\") return;\n const res = await this.fetchWithToken(\n `${this.backendFunctionsBaseUrl}/${this.refreshTokenPath}`,\n {\n method: \"GET\",\n }\n );\n\n if (res.status === 401) {\n return err(\"Unauthorized\");\n }\n\n const jsonResult = await ResultAsync.fromPromise(\n res.json(),\n () => \"not json\"\n );\n\n if (jsonResult.isErr()) return;\n\n const newToken = jsonResult.value.token;\n if (newToken) this._token = newToken;\n }\n\n public async fetchWithToken(...[input, init]: Parameters<typeof fetch>) {\n const headers = new Headers(init?.headers);\n const apiKey = process.env[API_KEY_ENV_VAR_KEY];\n if (apiKey) {\n headers.set(API_KEY_HEADER_NAME, apiKey);\n }\n const token = process.env[AUTH_TOKEN_ENV_VAR_KEY];\n if (token) {\n headers.set(\"Authorization\", `Bearer ${token}`);\n }\n if (this.token !== undefined) {\n headers.set(\"Authorization\", `Bearer ${this.token}`);\n }\n const result = await fetch(input, {\n ...init,\n headers,\n });\n if (result.status === 401 && process.env[CLI_ENV_VAR_KEY] === \"true\") {\n console.warn(\n \"Unauthorized backend function call - make sure to provision your project to Intuned to set up the correct API credentials.\\n\" +\n \"Run 'intuned provision' or see https://docs.intunedhq.com/docs/05-references/cli#provision-project for more information.\"\n );\n }\n return result;\n }\n\n get backendFunctionsBaseUrl() {\n try {\n if (!process.env.FUNCTIONS_DOMAIN) {\n throw new Error(\n `Cannot call backend function - FUNCTIONS_DOMAIN not set`\n );\n }\n const domain = process.env.FUNCTIONS_DOMAIN;\n if (!process.env[WORKSPACE_ID_ENV_VAR_KEY]) {\n throw new Error(\n `Cannot call backend function - ${WORKSPACE_ID_ENV_VAR_KEY} not set`\n );\n }\n const workspaceId = process.env[WORKSPACE_ID_ENV_VAR_KEY];\n if (\n !process.env[PROJECT_ID_ENV_VAR_KEY] &&\n !process.env.INTUNED_INTEGRATION_ID\n ) {\n throw new Error(\n `Cannot call backend function - ${PROJECT_ID_ENV_VAR_KEY} or INTUNED_INTEGRATION_ID not set`\n );\n }\n\n const projectId =\n process.env.INTUNED_INTEGRATION_ID ??\n process.env[PROJECT_ID_ENV_VAR_KEY];\n return `${domain}/api/${workspaceId}/functions/${projectId}`;\n } catch (e) {\n if (process.env[CLI_ENV_VAR_KEY] === \"true\") {\n throw new Error(\n `API credentials not set - make sure to provision your project to Intuned to set up the correct API credentials.\\n` +\n `Run 'intuned provision' or see https://docs.intunedhq.com/docs/05-references/cli#provision-project for more information.\\n` +\n `Original error: ${e.message}`\n );\n }\n }\n }\n}\n\nexport const backendFunctionsTokenManager = new JwtTokenManager(\n `refreshBackendFunctionsToken`\n);\nbackendFunctionsTokenManager.token =\n process.env.INTUNED_AUTHORING_SESSION_BACKEND_FUNCTIONS_TOKEN;\n\nexport function callBackendFunctionWithToken(\n path: string,\n init?: Parameters<typeof fetch>[1]\n) {\n return backendFunctionsTokenManager.fetchWithToken(\n `${backendFunctionsTokenManager.backendFunctionsBaseUrl}/${path}`,\n init\n );\n}\n","export const API_FOLDER_NAME = \"api\";\nexport const AUTH_SESSIONS_FOLDER_NAME = \"auth-sessions\";\nexport const AUTH_SESSIONS_INSTANCES_FOLDER_NAME = \"auth-sessions-instances\";\nexport const WORKSPACE_ID_ENV_VAR_KEY = \"INTUNED_WORKSPACE_ID\";\nexport const EXTENSION_PATH_ENV_VAR_KEY = \"INTUNED_EXTENSION_PATH\";\nexport const PROJECT_ID_ENV_VAR_KEY = \"INTUNED_PROJECT_ID\";\nexport const API_KEY_ENV_VAR_KEY = \"INTUNED_API_KEY\";\nexport const AUTH_TOKEN_ENV_VAR_KEY = \"INTUNED_AUTH_TOKEN\";\nexport const API_KEY_HEADER_NAME = \"x-api-key\";\nexport const API_BASE_URL_ENV_VAR_KEY = \"INTUNED_API_BASE_URL\";\nexport const CLI_ENV_VAR_KEY = \"INTUNED_CLI\";\n","import { getExecutionContext } from \"../common/asyncLocalStorage\";\n\nexport async function getAuthSessionParameters() {\n const context = getExecutionContext();\n\n if (!context) {\n throw new Error(\n \"getAuthSessionParameters failed due to an internal error (context was not found).\"\n );\n }\n\n const { getAuthSessionParameters } = context;\n\n if (!getAuthSessionParameters) {\n throw new Error(\n \"getAuthSessionParameters failed due to an internal error (helper was not found on context).\"\n );\n }\n\n return await getAuthSessionParameters();\n}\n","import { getExecutionContext } from \"../common/asyncLocalStorage\";\nimport { RunInfo } from \"./export\";\nimport { RunType, RunEnvironment } from \"./enums\";\n\nexport function runInfo(): RunInfo {\n const context = getExecutionContext();\n\n if (!context) {\n return {\n runEnvironment: RunEnvironment.IDE,\n // runType: RunType.SYNC,\n };\n }\n\n //remove extendedPayloads from the user exposed data\n const { extendedPayloads: _extendedPayloads, ...rest } = context;\n\n return rest;\n}\n","import { RunErrorOptions } from \"./export\";\n\nexport class RunError extends Error {\n options: RunErrorOptions;\n constructor(message: string, options?: RunErrorOptions) {\n super(message);\n this.message = message;\n this.name = \"USER_GENERATED_ERROR\";\n this.options = options ?? {\n retryable: false,\n };\n Object.setPrototypeOf(this, RunError.prototype);\n }\n}\n\nnew RunError(\"\", {});\n","import type * as playwright from \"playwright\";\nimport fastify, { type FastifyInstance } from \"fastify\";\nimport {\n Captcha,\n CaptchaCallback,\n CaptchaStatus,\n captchaSchema,\n} from \"./types\";\nimport { CaptchaSolverSettings } from \"../settingsSchema\";\nimport { resolveCaptchaSolverSettings } from \"./extensionsHelpers\";\n\ntype CaptchaSubscriber = {\n handler: CaptchaCallback;\n status?: CaptchaStatus;\n};\n\nclass TabCaptchaState {\n public readonly tabId: number;\n private captchasById: Map<string, Captcha>;\n private subscribers: Array<CaptchaSubscriber>;\n\n constructor(tabId: number) {\n this.tabId = tabId;\n this.captchasById = new Map();\n this.subscribers = new Array<CaptchaSubscriber>();\n }\n\n subscribe(handler: CaptchaSubscriber) {\n this.subscribers.push(handler);\n }\n\n unsubscribe(handler: CaptchaCallback, status?: CaptchaStatus) {\n const index = this.subscribers.findIndex(\n (subscriber) =>\n subscriber.handler === handler &&\n (subscriber.status === status || !status)\n );\n if (index !== -1) {\n this.subscribers.splice(index, 1);\n }\n }\n\n getCaptchas(): Captcha[] {\n return [...this.captchasById.values()];\n }\n\n async upsertCaptcha(captcha: Captcha) {\n this.captchasById.set(captcha.id, captcha);\n for (const subscriber of this.subscribers) {\n // Only call handler if no status filter specified or status matches\n if (!subscriber.status || subscriber.status === captcha.status) {\n await subscriber.handler(captcha);\n }\n }\n }\n}\n\nexport class ExtensionServer {\n private tabs: Map<number, TabCaptchaState>;\n private app: FastifyInstance | null = null;\n\n constructor() {\n this.tabs = new Map();\n }\n\n private getOrCreateTab(tabId: number): TabCaptchaState {\n const existing = this.tabs.get(tabId);\n if (existing) return existing;\n const created = new TabCaptchaState(tabId);\n this.tabs.set(tabId, created);\n return created;\n }\n\n public async handleUpsertCaptcha(captcha: Captcha) {\n const tab = this.getOrCreateTab(captcha.tabId);\n await tab.upsertCaptcha(captcha);\n }\n\n async start({\n port,\n host = \"0.0.0.0\",\n }: {\n port: number;\n host?: string;\n }): Promise<void> {\n if (this.app) {\n return;\n }\n this.app = fastify({\n logger: false,\n bodyLimit: 1_000_000,\n });\n\n this.app.post(\"/state\", async (request, reply) => {\n try {\n const result = captchaSchema.safeParse(request.body);\n if (!result.success) {\n return reply.code(400).send({\n error: \"Invalid captcha payload\",\n details: result.error.flatten().fieldErrors,\n });\n }\n\n await this.handleUpsertCaptcha(result.data);\n return reply.code(200).send({});\n } catch (error: any) {\n console.error(\"Error processing captcha state update:\", error);\n return reply.code(500).send({\n error: \"Internal server error\",\n message: error?.message ?? String(error),\n });\n }\n });\n\n this.app.setNotFoundHandler((_request, reply) => {\n return reply.code(404).send({ error: \"Not found\" });\n });\n\n await this.app.listen({\n port,\n host,\n });\n }\n\n async stop(): Promise<void> {\n if (!this.app) return;\n const toClose = this.app;\n this.app = null;\n await toClose.close();\n }\n\n async getCaptchas(\n page: playwright.Page,\n status?: CaptchaStatus\n ): Promise<Captcha[]> {\n const tabId = await getTabId(page);\n const tab = this.tabs.get(tabId);\n if (!tab) return [];\n const captchas = tab.getCaptchas();\n if (!status) return captchas;\n return captchas.filter((c) => c.status === status && c.tabId === tabId);\n }\n\n async subscribe(\n page: playwright.Page,\n handler: CaptchaCallback,\n status?: CaptchaStatus\n ) {\n const tabId = await getTabId(page);\n const tab = this.getOrCreateTab(tabId);\n tab.subscribe({ handler, status });\n }\n\n async unsubscribe(\n page: playwright.Page,\n handler: CaptchaCallback,\n status?: CaptchaStatus\n ) {\n const tabId = await getTabId(page);\n const tab = this.tabs.get(tabId);\n if (!tab) return;\n tab.unsubscribe(handler, status);\n }\n\n removeTab(tabId: number) {\n this.tabs.delete(tabId);\n }\n\n async getTabId(page: playwright.Page): Promise<number> {\n return await getTabId(page);\n }\n}\n\nlet extensionServerSingleton: ExtensionServer | null = null;\n\nexport function getIntunedExtensionServer(): ExtensionServer {\n if (!extensionServerSingleton) {\n throw new Error(\"Intuned Extension Server is not initialized.\");\n }\n return extensionServerSingleton;\n}\n\nexport async function setupIntunedExtensionServer(\n captchaSolverSettings?: CaptchaSolverSettings\n) {\n if (!captchaSolverSettings) {\n captchaSolverSettings = await resolveCaptchaSolverSettings();\n }\n if (!extensionServerSingleton) {\n extensionServerSingleton = new ExtensionServer();\n }\n await extensionServerSingleton.start({\n port: captchaSolverSettings.port ?? 9000,\n });\n}\n\nexport async function cleanIntunedExtensionServer() {\n if (extensionServerSingleton) {\n await extensionServerSingleton.stop();\n extensionServerSingleton = null;\n }\n}\n\n// Cache tab IDs on the page object to avoid repeated expensive lookups\nconst TAB_ID_CACHE_KEY = \"__INTUNED_CACHED_TAB_ID__\";\n\nexport async function getTabId(page: playwright.Page): Promise<number> {\n // Check if we have a cached tab ID\n const cached = (page as any)[TAB_ID_CACHE_KEY];\n if (cached !== undefined && typeof cached === \"number\") {\n return cached;\n }\n\n // Try to get tab ID with a quick check first\n let tabId: number | undefined;\n try {\n tabId = await page.evaluate(\"window.__INTUNED_TAB_ID__\", { timeout: 100 });\n } catch {\n // If quick check fails, wait for it to be available\n await page.waitForFunction(\"window.__INTUNED_TAB_ID__ !== undefined\", {\n timeout: 15_000,\n });\n tabId = await page.evaluate(\"window.__INTUNED_TAB_ID__\");\n }\n\n const numericTabId = Number(tabId);\n // Cache the result on the page object\n (page as any)[TAB_ID_CACHE_KEY] = numericTabId;\n return numericTabId;\n}\n","import { z } from \"zod\";\n\nexport const captchaTypeSchema = z.enum([\n \"aws\",\n \"cloudflare\",\n \"customcaptcha\",\n \"funcaptcha\",\n \"geetest\",\n \"hcaptcha\",\n \"lemincaptcha\",\n \"recaptcha\",\n \"textcaptcha\",\n]);\n\nexport type CaptchaType = z.infer<typeof captchaTypeSchema>;\n\nexport const captchaStatusSchema = z.enum([\n \"attached\",\n \"solving\",\n \"solved\",\n \"error\",\n \"detached\",\n]);\n\nexport type CaptchaStatus = z.infer<typeof captchaStatusSchema>;\n\nexport const captchaErrorCodeSchema = z.enum([\n \"HIT_LIMIT\",\n \"MAX_RETRIES\",\n \"UNEXPECTED_SERVER_RESPONSE\",\n \"UNEXPECTED_ERROR\",\n]);\n\nexport type CaptchaErrorCode = z.infer<typeof captchaErrorCodeSchema>;\n\nexport const captchaErrorSchema = z.object({\n code: captchaErrorCodeSchema,\n error: z.unknown().optional(),\n});\n\nexport type CaptchaError = z.infer<typeof captchaErrorSchema>;\n\nconst captchaBaseSchema = z.object({\n id: z.string().min(1),\n tabId: z.number().int().positive(),\n type: captchaTypeSchema,\n retryCount: z.number().int().nonnegative().optional(),\n});\n\nexport type CaptchaBase = z.infer<typeof captchaBaseSchema>;\n\nconst captchaNonErrorSchema = captchaBaseSchema.extend({\n status: captchaStatusSchema.exclude([\"error\"]),\n});\n\nexport type CaptchaNonError = z.infer<typeof captchaNonErrorSchema>;\n\nconst captchaErrorStatusSchema = captchaBaseSchema.extend({\n status: z.literal(\"error\"),\n error: captchaErrorSchema,\n});\n\nexport type CaptchaErrorStatus = z.infer<typeof captchaErrorStatusSchema>;\n\nexport const captchaSchema = z.discriminatedUnion(\"status\", [\n captchaBaseSchema.extend({\n status: z.literal(\"attached\"),\n }),\n captchaBaseSchema.extend({\n status: z.literal(\"solving\"),\n }),\n captchaBaseSchema.extend({\n status: z.literal(\"solved\"),\n }),\n captchaBaseSchema.extend({\n status: z.literal(\"detached\"),\n }),\n captchaErrorStatusSchema,\n]);\n\nexport type Captcha = z.infer<typeof captchaSchema>;\n\nexport type CaptchaCallback = (captcha: Captcha) => Promise<void> | void;\n\nexport class CaptchaSolveError extends Error {\n constructor(message: string, public error: CaptchaError) {\n super(message);\n this.name = \"CaptchaSolveError\";\n }\n}\n\nexport class TimeoutError extends Error {\n constructor(message: string) {\n super(message);\n this.name = \"TimeoutError\";\n }\n}\n","import * as path from \"path\";\nimport * as fs from \"fs-extra\";\nimport dotenv from \"dotenv\";\n\ndotenv.config();\n\n// TODO: todo-identity handle identity instances\nexport function getFullPathInProject(...paths: string[]) {\n return path.resolve(process.cwd(), process.env.ROOT || \"./\", ...paths);\n}\n\nexport async function listProjectFilesAndFolders() {\n const projectPath = path.resolve(process.cwd(), process.env.ROOT || \"./\");\n try {\n const files = await fs.readdir(projectPath, { withFileTypes: true });\n return files.map((file) => ({\n type: file.isDirectory() ? (\"Folder\" as const) : (\"File\" as const),\n fullPath: path.join(projectPath, file.name),\n name: file.name,\n }));\n } catch (err) {\n console.error(\"Error reading the directory:\", err);\n throw err;\n }\n}\n","import * as z from \"zod\";\n\nconst baseCaptchaSchema = z.object({\n enabled: z.boolean(),\n});\n\nconst customCaptchaSchema = baseCaptchaSchema.extend({\n imageLocators: z\n .array(z.string())\n .min(1, \"At least one image locator is required\"),\n submitLocators: z\n .array(z.string())\n .min(1, \"At least one submit locator is required\"),\n inputLocators: z\n .array(z.string())\n .min(1, \"At least one input locator is required\"),\n});\n\nconst textCaptchaSchema = baseCaptchaSchema.extend({\n labelLocators: z\n .array(z.string())\n .min(1, \"At least one image locator is required\"),\n submitLocators: z\n .array(z.string())\n .min(1, \"At least one submit locator is required\"),\n inputLocators: z\n .array(z.string())\n .min(1, \"At least one input locator is required\"),\n});\n\nconst captchaSolverSolveSettingsSchema = z.object({\n autoSolve: z.boolean().default(true),\n solveDelay: z.number().min(0).default(2000),\n maxRetries: z.number().min(0).default(3),\n timeout: z.number().min(0).default(30000),\n});\n\nexport const captchaSolverSettingsSchema = z\n .object({\n enabled: z.boolean().default(false),\n port: z.number().int().min(1).max(65535).optional(),\n cloudflare: baseCaptchaSchema.optional(),\n googleRecaptchaV2: baseCaptchaSchema.optional(),\n googleRecaptchaV3: baseCaptchaSchema.optional(),\n awscaptcha: baseCaptchaSchema.optional(),\n hcaptcha: baseCaptchaSchema.optional(),\n funcaptcha: baseCaptchaSchema.optional(),\n geetest: baseCaptchaSchema.optional(),\n lemin: baseCaptchaSchema.optional(),\n customCaptcha: customCaptchaSchema.optional(),\n text: textCaptchaSchema.optional(),\n settings: captchaSolverSolveSettingsSchema.default(\n captchaSolverSolveSettingsSchema.parse({})\n ),\n })\n .default({});\n\nexport type CaptchaSolverSettings = z.infer<typeof captchaSolverSettingsSchema>;\n\nexport type CaptchaSolverSettingsWithRunContext = CaptchaSolverSettings & {\n workspaceId: string;\n projectId: string;\n baseUrl: string;\n authentication:\n | { type: \"apiKey\"; apiKey: string }\n | { type: \"basic\" | \"bearer\"; token?: string };\n};\n\nconst authSessionsSchema = z\n .object({\n enabled: z.boolean(),\n })\n .optional()\n .default({\n enabled: false,\n });\n\nconst stealthModeSchema = z\n .object({\n enabled: z.boolean(),\n })\n .optional()\n .default({\n enabled: false,\n });\n\nexport const settingsSchema = z.object({\n authSessions: authSessionsSchema,\n stealthMode: stealthModeSchema,\n captchaSolver: captchaSolverSettingsSchema.optional(),\n});\n\nexport type IntunedSettings = z.infer<typeof settingsSchema>;\n","import { getFullPathInProject } from \"./fileUtils\";\nimport {\n IntunedSettings,\n settingsSchema,\n} from \"../../../common/settingsSchema\";\nimport { readFile } from \"fs/promises\";\n\nexport async function getSettings(): Promise<IntunedSettings> {\n const settingsFilePath = getFullPathInProject(\"Intuned.json\");\n\n const settings = await readFile(settingsFilePath, { encoding: \"utf-8\" });\n if (settings) {\n const parsed = settingsSchema.safeParse(JSON.parse(settings));\n if (parsed.success) {\n return parsed.data;\n } else {\n // ToDo: why does the type not work here?\n throw new Error((parsed as any).error.message);\n }\n }\n\n return {\n authSessions: { enabled: false },\n stealthMode: { enabled: false },\n };\n}\n","import type * as playwright from \"playwright\";\nimport { getSettings } from \"../../commands/common/utils/settings\";\nimport {\n CaptchaSolverSettings,\n captchaSolverSettingsSchema,\n CaptchaSolverSettingsWithRunContext,\n} from \"../settingsSchema\";\nimport { PROJECT_ID_ENV_VAR_KEY, WORKSPACE_ID_ENV_VAR_KEY } from \"../constants\";\nimport { backendFunctionsTokenManager } from \"../jwtTokenManager\";\nimport path from \"path\";\nimport { writeFile } from \"fs/promises\";\nimport { setupIntunedExtensionServer } from \"./intunedExtensionServer\";\nimport { getPort } from \"portfinder\";\n\nconst INTUNED_WORKER = \"intunedWorker.js\";\nconst INTUNED_EXTENSION_SETTINGS_FILE_NAME = \"intunedSettings.json\";\nconst INTUNED_CAPTCHA_EXTENSION_PORT_ENV_VAR = \"INTUNED_CAPTCHA_EXTENSION_PORT\";\n\nlet captchaSolverSettings: CaptchaSolverSettings | null = null;\n\nasync function getIntunedCaptchaExtensionPort(): Promise<number> {\n if (process.env.INTUNED_CAPTCHA_EXTENSION_PORT) {\n return parseInt(process.env.INTUNED_CAPTCHA_EXTENSION_PORT, 10);\n }\n return await getPort({});\n}\n\nexport async function resolveCaptchaSolverSettings(\n input?: unknown\n): Promise<CaptchaSolverSettings> {\n const parsed = captchaSolverSettingsSchema.parse(input || {});\n\n if (!parsed.port) {\n parsed.port = await getIntunedCaptchaExtensionPort();\n }\n\n return parsed;\n}\n\nfunction getIntunedCaptchaExtensionPortFromEnv(): number | null {\n const raw = process.env[INTUNED_CAPTCHA_EXTENSION_PORT_ENV_VAR];\n if (!raw) return null;\n const parsed = Number(raw);\n if (!Number.isFinite(parsed) || parsed <= 0 || parsed > 65535) {\n throw new Error(\n `Invalid ${INTUNED_CAPTCHA_EXTENSION_PORT_ENV_VAR}: ${raw}`\n );\n }\n return parsed;\n}\n\nexport function isIntunedExtensionLoaded() {\n return !!getIntunedExtensionPath();\n}\n\nexport function buildExtensionsList(): string[] {\n const extensionsList: string[] = [];\n if (isIntunedExtensionLoaded()) {\n const intunedExtensionPath = getIntunedExtensionPath();\n extensionsList.push(intunedExtensionPath);\n }\n return extensionsList;\n}\n\nexport function getIntunedExtensionPath() {\n return process.env.INTUNED_EXTENSION_PATH as string;\n}\n\nexport async function isIntunedExtensionEnabled() {\n const path = getIntunedExtensionPath();\n if (!path) {\n return false;\n }\n\n const captchaSolverSettings = await getIntunedCaptchaSolverSettings();\n return captchaSolverSettings.enabled;\n}\n\nexport async function getIntunedExtensionWorker(\n context: playwright.BrowserContext\n): Promise<playwright.Worker | null> {\n if (!(await isIntunedExtensionEnabled())) {\n return null;\n }\n let attemptCount = 0;\n while (attemptCount < 4) {\n const intunedServiceWorker = context\n .serviceWorkers()\n .find((serviceWorker) => serviceWorker.url().includes(INTUNED_WORKER));\n if (intunedServiceWorker) {\n return intunedServiceWorker;\n }\n try {\n await context.waitForEvent(\"serviceworker\", { timeout: 3000 });\n } catch (err: any) {\n console.log(`Error accessing service workers (attempt ${attemptCount})`);\n }\n attemptCount++;\n }\n console.error(\"Failed to get intuned worker after 5 attmepts\");\n return null;\n}\n\nexport async function getIntunedExtensionSettings(\n captchaSolverSettings: CaptchaSolverSettings\n): Promise<CaptchaSolverSettingsWithRunContext> {\n const [domain, workspaceId, projectId] = [\n process.env.FUNCTIONS_DOMAIN,\n process.env[WORKSPACE_ID_ENV_VAR_KEY],\n process.env.INTUNED_INTEGRATION_ID ?? process.env[PROJECT_ID_ENV_VAR_KEY],\n ];\n if (!domain || !workspaceId || !projectId) {\n const missingEnvVars = [\n domain && \"FUNCTIONS_DOMAIN\",\n workspaceId && WORKSPACE_ID_ENV_VAR_KEY,\n projectId && `INTUNED_INTEGRATION_ID OR ${PROJECT_ID_ENV_VAR_KEY}`,\n ];\n throw new Error(\n `Missing required environment variables: ${missingEnvVars}`\n );\n }\n\n const authentication = (() => {\n if (process.env.INTUNED_API_KEY) {\n return { type: \"apiKey\" as const, apiKey: process.env.INTUNED_API_KEY };\n }\n if (\n process.env.INTUNED_BASIC_AUTH_USERNAME &&\n process.env.INTUNED_BASIC_AUTH_PASSWORD\n ) {\n const credentials = `${process.env.INTUNED_BASIC_AUTH_USERNAME}:${process.env.INTUNED_BASIC_AUTH_PASSWORD}`;\n const token = Buffer.from(credentials, \"utf-8\").toString(\"base64\");\n return { type: \"basic\" as const, token };\n }\n return {\n type: \"bearer\" as const,\n token: backendFunctionsTokenManager.token,\n };\n })();\n\n const baseUrl = process.env.INTUNED_API_BASE_URL ?? domain;\n\n return {\n ...captchaSolverSettings,\n workspaceId,\n projectId,\n baseUrl,\n authentication,\n };\n}\n\nexport async function getIntunedCaptchaSolverSettings(): Promise<CaptchaSolverSettings> {\n if (captchaSolverSettings) {\n return captchaSolverSettings;\n }\n const settings = await getSettings();\n captchaSolverSettings = await resolveCaptchaSolverSettings(\n settings.captchaSolver\n );\n return captchaSolverSettings;\n}\n\nexport async function setupIntunedExtension() {\n if (!(await isIntunedExtensionEnabled())) {\n return;\n }\n const intunedExtensionPath = getIntunedExtensionPath();\n const intunedExtensionSettingsPath = path.join(\n intunedExtensionPath,\n INTUNED_EXTENSION_SETTINGS_FILE_NAME\n );\n const captchaSolverSettings = await getIntunedCaptchaSolverSettings();\n await setupIntunedExtensionServer(captchaSolverSettings);\n const captchaSolverSettingsWithRunContext = await getIntunedExtensionSettings(\n captchaSolverSettings\n );\n\n await writeFile(\n intunedExtensionSettingsPath,\n JSON.stringify(captchaSolverSettingsWithRunContext)\n );\n}\n","import type { Page, BrowserContext } from \"playwright\";\n\nimport { getIntunedExtensionServer } from \"../common/extension/intunedExtensionServer\";\nimport {\n getIntunedExtensionWorker,\n isIntunedExtensionEnabled,\n} from \"../common/extension/extensionsHelpers\";\nimport {\n Captcha,\n CaptchaErrorStatus,\n CaptchaStatus,\n CaptchaCallback,\n TimeoutError,\n CaptchaSolveError,\n CaptchaError,\n} from \"../common/extension/types\";\n\nexport type WithWaitForCaptchaSolveOptions = {\n page: Page;\n timeoutInMs?: number;\n settleDurationMs?: number;\n waitForNetworkSettled?: boolean;\n};\n\nexport async function withWaitForCaptchaSolve<T>(\n callback: (page: Page) => Promise<T>,\n options: WithWaitForCaptchaSolveOptions\n): Promise<T> {\n const {\n page,\n timeoutInMs = 10_000,\n settleDurationMs = 5_000,\n waitForNetworkSettled = true,\n } = options;\n\n console.error(\n `Starting captcha solve wait (timeout=${timeoutInMs}ms, settleDuration=${settleDurationMs}ms, waitForNetworkSettled=${waitForNetworkSettled})`\n );\n\n const extensionServer = getIntunedExtensionServer();\n let settledResolve: (() => void) | null = null;\n let settledPromise = new Promise<void>((resolve) => {\n settledResolve = resolve;\n });\n let isTimeout = false;\n let captchasAppeared = false;\n let error: CaptchaError | undefined = undefined;\n let actionDone = false;\n\n const getPendingCaptchas = async () =>\n await extensionServer.getCaptchas(page, \"solving\");\n\n const hasNoPendingCaptchas = async () =>\n !captchasAppeared || (await getPendingCaptchas()).length === 0;\n\n const maybeSettle = async () => {\n if (await hasNoPendingCaptchas()) {\n settledResolve?.();\n }\n };\n\n const onCaptchaUpdate = async (_captcha: Captcha) => {\n const solvingCaptchas = await extensionServer.getCaptchas(page, \"solving\");\n const errorCaptchas = await extensionServer.getCaptchas(page, \"error\");\n\n console.error(\n `Captcha update received: solving=${solvingCaptchas.length}, errors=${errorCaptchas.length}`\n );\n\n if (solvingCaptchas.length > 0) {\n captchasAppeared = true;\n console.error(\n `Captchas detected: ${solvingCaptchas.map((c) => c.id).join(\", \")}`\n );\n }\n\n if (errorCaptchas.length > 0) {\n error = (errorCaptchas[0] as CaptchaErrorStatus).error;\n console.error(`Captcha error detected: ${error?.code}`);\n await maybeSettle();\n return;\n }\n\n if (solvingCaptchas.length === 0) {\n console.error(\"No pending captchas, settling\");\n await maybeSettle();\n }\n };\n\n const result = await callback(page);\n actionDone = true;\n if (waitForNetworkSettled) {\n try {\n await page.waitForLoadState(\"networkidle\");\n } catch (err) {\n console.error(`Failed to wait for networkidle. Error: ${err}`);\n }\n }\n\n const timeoutPromise = new Promise<void>((resolve) => {\n setTimeout(() => {\n isTimeout = true;\n console.error(\"Captcha solve timeout reached\");\n settledResolve?.();\n resolve();\n }, timeoutInMs);\n });\n\n await extensionServer.subscribe(page, onCaptchaUpdate);\n\n try {\n const initialPending = await getPendingCaptchas();\n console.error(`Found ${initialPending.length} ongoing captchas`);\n if (initialPending.length > 0) {\n captchasAppeared = true;\n }\n await maybeSettle();\n\n let shouldContinue = true;\n while (shouldContinue) {\n await Promise.race([settledPromise, timeoutPromise]);\n console.error(\n `Settled event received, waiting ${settleDurationMs}ms before checking`\n );\n await new Promise((r) => setTimeout(r, settleDurationMs));\n\n if (error) {\n console.error(`Raising captcha error: ${(error as CaptchaError).code}`);\n throw new CaptchaSolveError(\n `CAPTCHA Solve Error: ${(error as CaptchaError).code}`,\n error as CaptchaError\n );\n }\n const noPendingCaptchas = await hasNoPendingCaptchas();\n const pending = await getPendingCaptchas();\n console.error(\n `Check point: actionDone=${actionDone}, noPendingCaptchas=${noPendingCaptchas}, isTimeout=${isTimeout}, pendingCount=${pending.length}`\n );\n\n if ((actionDone && noPendingCaptchas) || isTimeout) {\n if (isTimeout && !noPendingCaptchas) {\n console.error(`Timeout with ${pending.length} pending captchas`);\n throw new TimeoutError(\n \"CAPTCHA Solve timed out with pending captchas.\"\n );\n }\n console.error(\"Captcha solve completed successfully\");\n shouldContinue = false;\n } else {\n console.error(\n `Still have ${pending.length} pending captchas, waiting for more updates`\n );\n settledPromise = new Promise<void>((resolve) => {\n settledResolve = resolve;\n });\n }\n }\n\n return result;\n } finally {\n await extensionServer.unsubscribe(page, onCaptchaUpdate);\n }\n}\n\nexport async function waitForCaptchaSolve(\n page: Page,\n {\n timeoutInMs = 10_000,\n settleDurationMs = 5_000,\n }: Pick<\n WithWaitForCaptchaSolveOptions,\n \"timeoutInMs\" | \"settleDurationMs\"\n > = {}\n): Promise<void> {\n await withWaitForCaptchaSolve(async () => undefined, {\n page,\n timeoutInMs,\n settleDurationMs,\n waitForNetworkSettled: false,\n });\n}\n\nexport async function removeCaptchaEventListener(\n page: Page,\n status: CaptchaStatus,\n f: CaptchaCallback\n) {\n const extensionServer = getIntunedExtensionServer();\n await extensionServer.unsubscribe(page, f, status);\n}\n\nexport async function onCaptchaEvent(\n page: Page,\n status: CaptchaStatus,\n f: CaptchaCallback\n) {\n const extensionServer = getIntunedExtensionServer();\n await extensionServer.subscribe(page, f, status);\n}\n\nexport async function onceCaptchaEvent(\n page: Page,\n status: CaptchaStatus,\n f: CaptchaCallback\n) {\n const extensionServer = getIntunedExtensionServer();\n\n const oneTimeHandler: CaptchaCallback = async (captcha: Captcha) => {\n await extensionServer.unsubscribe(page, oneTimeHandler, status);\n await f(captcha);\n };\n\n await extensionServer.subscribe(page, oneTimeHandler, status);\n}\n\nasync function setAutoSolve(context: BrowserContext, enabled: boolean) {\n const worker = await getIntunedExtensionWorker(context);\n if (!worker) {\n if (!enabled) {\n return;\n }\n throw new Error(\"Intuned service worker not found\");\n }\n\n await worker.evaluate(\n `\n (enabled) => new Promise((resolve, reject) => {\n const updateSettings = () => {\n if (chrome?.storage?.local) {\n chrome.storage.local.get('settings', (result) => {\n if (chrome.runtime.lastError) {\n reject(new Error(chrome.runtime.lastError.message));\n return;\n }\n const settings = result.settings || {};\n if (!settings.settings) {\n settings.settings = {};\n }\n settings.settings.autoSolve = enabled;\n chrome.storage.local.set({ settings }, () => {\n if (chrome.runtime.lastError) {\n reject(new Error(chrome.runtime.lastError.message));\n } else {\n resolve(true);\n }\n });\n });\n } else {\n setTimeout(updateSettings, 50);\n }\n };\n updateSettings();\n })\n `,\n enabled\n );\n}\n\nexport async function pauseCaptchaSolver(\n context: BrowserContext\n): Promise<void> {\n if (!(await isIntunedExtensionEnabled())) {\n throw new Error(\n \"Intuned extension is not enabled. Cannot pause captcha solver.\"\n );\n }\n await setAutoSolve(context, false);\n}\n\nexport async function resumeCaptchaSolver(\n context: BrowserContext\n): Promise<void> {\n if (!(await isIntunedExtensionEnabled())) {\n throw new Error(\n \"Intuned extension is not enabled. Cannot resume captcha solver.\"\n );\n }\n await setAutoSolve(context, true);\n}\n","import { API_KEY_ENV_VAR_KEY } from \"../common/constants\";\nimport { backendFunctionsTokenManager } from \"../common/jwtTokenManager\";\n\n/**\n * Retrieves the base URL and API key for the Intuned AI Gateway.\n\n * Returns:\n * { baseUrl: string, apiKey: string }: An object containing the base URL and API key\n */\nexport function getAiGatewayConfig() {\n const baseUrl = `${backendFunctionsTokenManager.backendFunctionsBaseUrl}/intuned-ai-gateway`;\n const apiKey =\n backendFunctionsTokenManager.token ??\n process.env[API_KEY_ENV_VAR_KEY] ??\n \"\";\n return { baseUrl, apiKey };\n}\n","import { getExecutionContext } from \"..\";\nimport { ensureDirSync } from \"fs-extra\";\n\nexport function getDownloadDirectoryPath() {\n const context = getExecutionContext();\n if (!context) {\n throw new Error(\"ExecutionContext not found\");\n }\n const path = `/tmp/downloads/${context.runId}`;\n ensureDirSync(path, {\n mode: 0o2775,\n });\n return path;\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;;ACAA,8BAAkC;AAG3B,IAAM,oBAAoB,IAAI,0CAAmC;AAEjE,SAAS,eACd,aACA,aACG,MACA;AACH,SAAO,kBAAkB,IAAI,aAAa,UAAU,GAAG,IAAI;AAC7D;AAaO,SAAS,sBAAsB;AACpC,QAAM,cAAc,kBAAkB,SAAS;AAE/C,SAAO;AACT;;;ACxBO,SAAS,gBAAgB;AAC9B,QAAM,UAAU,oBAAoB;AAEpC,MAAI,CAAC,SAAS;AACZ,UAAM,IAAI,MAAM,gDAAgD;AAAA,EAClE;AAEA,QAAM,EAAE,YAAY,IAAI;AAExB,MAAI,CAAC,aAAa;AAChB;AAAA,EACF;AAEA,MAAI,YAAY,0BAA0B,QAAW;AACnD,SAAK,YAAY,sBAAsB,EAAE,MAAM,MAAM,MAAS;AAAA,EAChE;AACF;;;AChBO,SAAS,cAAc,SAA8B;AAC1D,QAAM,UAAU,oBAAoB;AAEpC,MAAI,CAAC,SAAS;AACZ,UAAM,IAAI,MAAM,gDAAgD;AAAA,EAClE;AAEA,QAAM,QAAQ,MAAM,QAAQ,OAAO,IAAI,UAAU,CAAC,OAAO;AAEzD,MAAI,CAAC,QAAQ,kBAAkB;AAC7B,YAAQ,mBAAmB,CAAC,GAAG,KAAK;AACpC;AAAA,EACF;AAEA,WAAS,iBAAiB,KAAK,GAAG,KAAK;AAEvC,gBAAc;AAChB;;;AClBO,IAAM,eAA6B,OAAO,OAAO;AAAA,EACtD,KAAK,CAAC,QAAgB;AACpB,UAAM,UAAU,oBAAoB;AACpC,WAAO,SAAS,QAAQ,QAAQ,MAAM,GAAG,IAAI;AAAA,EAC/C;AAAA,EACA,KAAK,CAAC,KAAa,UAAe;AAChC,UAAM,UAAU,oBAAoB;AACpC,QAAI,CAAC,SAAS;AACZ,YAAM,IAAI,MAAM,4CAA4C;AAAA,IAC9D;AACA,QAAI,CAAC,QAAQ,OAAO;AAClB,cAAQ,QAAQ,CAAC;AAAA,IACnB;AACA,YAAQ,MAAM,GAAG,IAAI;AAAA,EACvB;AACF,CAAC;;;AClBD,iBAAkB;;;ACAlB,yBAAkB;AAClB,UAAqB;AACrB,wBAAiC;;;ACC1B,IAAM,2BAA2B;AAEjC,IAAM,yBAAyB;AAC/B,IAAM,sBAAsB;AAC5B,IAAM,yBAAyB;AAC/B,IAAM,sBAAsB;AAE5B,IAAM,kBAAkB;;;ADG/B,IAAM,kBAAN,MAAsB;AAAA,EAKpB,YAAY,kBAA0B;AACpC,SAAK,mBAAmB;AACxB,SAAK,SAAS;AAAA,EAChB;AAAA,EAEA,IAAW,QAAQ;AACjB,WAAO,KAAK;AAAA,EACd;AAAA;AAAA;AAAA;AAAA;AAAA,EAMA,IAAW,MAAM,UAA8B;AAC7C,QAAI,KAAK,UAAU,UAAU;AAC3B,WAAK,SAAS;AACd,WAAK,KAAK,qBAAqB;AAAA,IACjC;AAAA,EACF;AAAA,EAEA,IAAY,gBAAgB;AAC1B,QAAI,CAAC,KAAK,OAAQ;AAElB,UAAM,UAAc,WAAO,KAAK,MAAM;AAEtC,QAAI,CAAC,WAAW,OAAO,WAAW,SAAU;AAE5C,UAAM,SAAS,QAAQ;AACvB,QAAI,CAAC,UAAU,OAAO,WAAW,SAAU;AAE3C,UAAM,aAAa,KAAK;AAExB,UAAM,gBAAgB,SAAS,KAAK,IAAI,IAAI;AAC5C,WAAO,KAAK,IAAI,eAAe,UAAU;AAAA,EAC3C;AAAA,EAEA,MAAc,uBAAuB;AACnC,QAAI,QAAQ,IAAI,iBAAiB,YAAY,MAAM,YAAa;AAChE,UAAM,gBAAgB,KAAK;AAC3B,QAAI,kBAAkB,OAAW;AAEjC,QAAI,KAAK,oBAAqB,cAAa,KAAK,mBAAmB;AAEnE,SAAK,sBAAsB,WAAW,YAAY;AAChD,YAAM,SAAS,MAAM,KAAK,aAAa;AACvC,UAAI,UAAU,OAAO,MAAM,GAAG;AAC5B,gBAAQ,MAAM,oBAAoB,OAAO,KAAK,EAAE;AAChD;AAAA,MACF;AACA,YAAM,KAAK,qBAAqB;AAAA,IAClC,GAAG,aAAa;AAAA,EAClB;AAAA,EAEA,MAAc,eAAe;AAC3B,QAAI,QAAQ,IAAI,iBAAiB,YAAY,MAAM,YAAa;AAChE,UAAM,MAAM,MAAM,KAAK;AAAA,MACrB,GAAG,KAAK,uBAAuB,IAAI,KAAK,gBAAgB;AAAA,MACxD;AAAA,QACE,QAAQ;AAAA,MACV;AAAA,IACF;AAEA,QAAI,IAAI,WAAW,KAAK;AACtB,iBAAO,uBAAI,cAAc;AAAA,IAC3B;AAEA,UAAM,aAAa,MAAM,8BAAY;AAAA,MACnC,IAAI,KAAK;AAAA,MACT,MAAM;AAAA,IACR;AAEA,QAAI,WAAW,MAAM,EAAG;AAExB,UAAM,WAAW,WAAW,MAAM;AAClC,QAAI,SAAU,MAAK,SAAS;AAAA,EAC9B;AAAA,EAEA,MAAa,kBAAkB,CAAC,OAAO,IAAI,GAA6B;AACtE,UAAM,UAAU,IAAI,QAAQ,MAAM,OAAO;AACzC,UAAM,SAAS,QAAQ,IAAI,mBAAmB;AAC9C,QAAI,QAAQ;AACV,cAAQ,IAAI,qBAAqB,MAAM;AAAA,IACzC;AACA,UAAM,QAAQ,QAAQ,IAAI,sBAAsB;AAChD,QAAI,OAAO;AACT,cAAQ,IAAI,iBAAiB,UAAU,KAAK,EAAE;AAAA,IAChD;AACA,QAAI,KAAK,UAAU,QAAW;AAC5B,cAAQ,IAAI,iBAAiB,UAAU,KAAK,KAAK,EAAE;AAAA,IACrD;AACA,UAAM,SAAS,UAAM,mBAAAA,SAAM,OAAO;AAAA,MAChC,GAAG;AAAA,MACH;AAAA,IACF,CAAC;AACD,QAAI,OAAO,WAAW,OAAO,QAAQ,IAAI,eAAe,MAAM,QAAQ;AACpE,cAAQ;AAAA,QACN;AAAA,MAEF;AAAA,IACF;AACA,WAAO;AAAA,EACT;AAAA,EAEA,IAAI,0BAA0B;AAC5B,QAAI;AACF,UAAI,CAAC,QAAQ,IAAI,kBAAkB;AACjC,cAAM,IAAI;AAAA,UACR;AAAA,QACF;AAAA,MACF;AACA,YAAM,SAAS,QAAQ,IAAI;AAC3B,UAAI,CAAC,QAAQ,IAAI,wBAAwB,GAAG;AAC1C,cAAM,IAAI;AAAA,UACR,kCAAkC,wBAAwB;AAAA,QAC5D;AAAA,MACF;AACA,YAAM,cAAc,QAAQ,IAAI,wBAAwB;AACxD,UACE,CAAC,QAAQ,IAAI,sBAAsB,KACnC,CAAC,QAAQ,IAAI,wBACb;AACA,cAAM,IAAI;AAAA,UACR,kCAAkC,sBAAsB;AAAA,QAC1D;AAAA,MACF;AAEA,YAAM,YACJ,QAAQ,IAAI,0BACZ,QAAQ,IAAI,sBAAsB;AACpC,aAAO,GAAG,MAAM,QAAQ,WAAW,cAAc,SAAS;AAAA,IAC5D,SAAS,GAAG;AACV,UAAI,QAAQ,IAAI,eAAe,MAAM,QAAQ;AAC3C,cAAM,IAAI;AAAA,UACR;AAAA;AAAA,kBAEqB,EAAE,OAAO;AAAA,QAChC;AAAA,MACF;AAAA,IACF;AAAA,EACF;AACF;AAEO,IAAM,+BAA+B,IAAI;AAAA,EAC9C;AACF;AACA,6BAA6B,QAC3B,QAAQ,IAAI;AAEP,SAAS,6BACdC,OACA,MACA;AACA,SAAO,6BAA6B;AAAA,IAClC,GAAG,6BAA6B,uBAAuB,IAAIA,KAAI;AAAA,IAC/D;AAAA,EACF;AACF;;;AD1KA,IAAM,sBAAsB;AAE5B,IAAM,YAAY,aACf,OAAO,EACP,IAAI,GAAG,uCAAuC,EAC9C;AAAA,EACC,CAAC,SAAS,IAAI,MAAM,mBAAmB,GAAG,UAAU,OAAO;AAAA,EAC3D;AACF;AAEK,IAAM,kBAAmC,OAAO,OAAO;AAAA,EAC5D,KAAK,OAAO,QAAgB;AAC1B,UAAM,YAAY,UAAU,MAAM,GAAG;AACrC,UAAM,WAAW,MAAM;AAAA,MACrB,YAAY,SAAS;AAAA,MACrB;AAAA,QACE,QAAQ;AAAA,MACV;AAAA,IACF;AACA,UAAM,OAAO,MAAM,SAAS,KAAK;AACjC,QAAI,CAAC,SAAS,IAAI;AAChB,YAAM,IAAI,MAAM,KAAK,OAAO;AAAA,IAC9B;AACA,WAAO,KAAK;AAAA,EACd;AAAA,EACA,KAAK,OAAO,KAAa,UAAe;AACtC,UAAM,YAAY,UAAU,MAAM,GAAG;AACrC,UAAM,WAAW,MAAM;AAAA,MACrB,YAAY,SAAS;AAAA,MACrB;AAAA,QACE,QAAQ;AAAA,QACR,MAAM,KAAK,UAAU,KAAK;AAAA,QAC1B,SAAS;AAAA,UACP,gBAAgB;AAAA,QAClB;AAAA,MACF;AAAA,IACF;AACA,UAAM,OAAO,MAAM,SAAS,KAAK;AACjC,QAAI,CAAC,SAAS,IAAI;AAChB,YAAM,IAAI,MAAM,KAAK,OAAO;AAAA,IAC9B;AAAA,EACF;AACF,CAAC;;;AG5CD,eAAsB,2BAA2B;AAC/C,QAAM,UAAU,oBAAoB;AAEpC,MAAI,CAAC,SAAS;AACZ,UAAM,IAAI;AAAA,MACR;AAAA,IACF;AAAA,EACF;AAEA,QAAM,EAAE,0BAAAC,0BAAyB,IAAI;AAErC,MAAI,CAACA,2BAA0B;AAC7B,UAAM,IAAI;AAAA,MACR;AAAA,IACF;AAAA,EACF;AAEA,SAAO,MAAMA,0BAAyB;AACxC;;;AChBO,SAAS,UAAmB;AACjC,QAAM,UAAU,oBAAoB;AAEpC,MAAI,CAAC,SAAS;AACZ,WAAO;AAAA,MACL;AAAA;AAAA,IAEF;AAAA,EACF;AAGA,QAAM,EAAE,kBAAkB,mBAAmB,GAAG,KAAK,IAAI;AAEzD,SAAO;AACT;;;AChBO,IAAM,WAAN,MAAM,kBAAiB,MAAM;AAAA,EAElC,YAAY,SAAiB,SAA2B;AACtD,UAAM,OAAO;AACb,SAAK,UAAU;AACf,SAAK,OAAO;AACZ,SAAK,UAAU,WAAW;AAAA,MACxB,WAAW;AAAA,IACb;AACA,WAAO,eAAe,MAAM,UAAS,SAAS;AAAA,EAChD;AACF;AAEA,IAAI,SAAS,IAAI,CAAC,CAAC;;;ACdnB,qBAA8C;;;ACD9C,IAAAC,cAAkB;AAEX,IAAM,oBAAoB,cAAE,KAAK;AAAA,EACtC;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF,CAAC;AAIM,IAAM,sBAAsB,cAAE,KAAK;AAAA,EACxC;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF,CAAC;AAIM,IAAM,yBAAyB,cAAE,KAAK;AAAA,EAC3C;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF,CAAC;AAIM,IAAM,qBAAqB,cAAE,OAAO;AAAA,EACzC,MAAM;AAAA,EACN,OAAO,cAAE,QAAQ,EAAE,SAAS;AAC9B,CAAC;AAID,IAAM,oBAAoB,cAAE,OAAO;AAAA,EACjC,IAAI,cAAE,OAAO,EAAE,IAAI,CAAC;AAAA,EACpB,OAAO,cAAE,OAAO,EAAE,IAAI,EAAE,SAAS;AAAA,EACjC,MAAM;AAAA,EACN,YAAY,cAAE,OAAO,EAAE,IAAI,EAAE,YAAY,EAAE,SAAS;AACtD,CAAC;AAID,IAAM,wBAAwB,kBAAkB,OAAO;AAAA,EACrD,QAAQ,oBAAoB,QAAQ,CAAC,OAAO,CAAC;AAC/C,CAAC;AAID,IAAM,2BAA2B,kBAAkB,OAAO;AAAA,EACxD,QAAQ,cAAE,QAAQ,OAAO;AAAA,EACzB,OAAO;AACT,CAAC;AAIM,IAAM,gBAAgB,cAAE,mBAAmB,UAAU;AAAA,EAC1D,kBAAkB,OAAO;AAAA,IACvB,QAAQ,cAAE,QAAQ,UAAU;AAAA,EAC9B,CAAC;AAAA,EACD,kBAAkB,OAAO;AAAA,IACvB,QAAQ,cAAE,QAAQ,SAAS;AAAA,EAC7B,CAAC;AAAA,EACD,kBAAkB,OAAO;AAAA,IACvB,QAAQ,cAAE,QAAQ,QAAQ;AAAA,EAC5B,CAAC;AAAA,EACD,kBAAkB,OAAO;AAAA,IACvB,QAAQ,cAAE,QAAQ,UAAU;AAAA,EAC9B,CAAC;AAAA,EACD;AACF,CAAC;AAMM,IAAM,oBAAN,cAAgC,MAAM;AAAA,EAC3C,YAAY,SAAwB,OAAqB;AACvD,UAAM,OAAO;AADqB;AAElC,SAAK,OAAO;AAAA,EACd;AACF;AAEO,IAAM,eAAN,cAA2B,MAAM;AAAA,EACtC,YAAY,SAAiB;AAC3B,UAAM,OAAO;AACb,SAAK,OAAO;AAAA,EACd;AACF;;;AChGA,WAAsB;AACtB,SAAoB;AACpB,oBAAmB;AAEnB,cAAAC,QAAO,OAAO;AAGP,SAAS,wBAAwB,OAAiB;AACvD,SAAY,aAAQ,QAAQ,IAAI,GAAG,QAAQ,IAAI,QAAQ,MAAM,GAAG,KAAK;AACvE;;;ACTA,IAAAC,KAAmB;AAEnB,IAAM,oBAAsB,UAAO;AAAA,EACjC,SAAW,WAAQ;AACrB,CAAC;AAED,IAAM,sBAAsB,kBAAkB,OAAO;AAAA,EACnD,eACG,SAAQ,UAAO,CAAC,EAChB,IAAI,GAAG,wCAAwC;AAAA,EAClD,gBACG,SAAQ,UAAO,CAAC,EAChB,IAAI,GAAG,yCAAyC;AAAA,EACnD,eACG,SAAQ,UAAO,CAAC,EAChB,IAAI,GAAG,wCAAwC;AACpD,CAAC;AAED,IAAM,oBAAoB,kBAAkB,OAAO;AAAA,EACjD,eACG,SAAQ,UAAO,CAAC,EAChB,IAAI,GAAG,wCAAwC;AAAA,EAClD,gBACG,SAAQ,UAAO,CAAC,EAChB,IAAI,GAAG,yCAAyC;AAAA,EACnD,eACG,SAAQ,UAAO,CAAC,EAChB,IAAI,GAAG,wCAAwC;AACpD,CAAC;AAED,IAAM,mCAAqC,UAAO;AAAA,EAChD,WAAa,WAAQ,EAAE,QAAQ,IAAI;AAAA,EACnC,YAAc,UAAO,EAAE,IAAI,CAAC,EAAE,QAAQ,GAAI;AAAA,EAC1C,YAAc,UAAO,EAAE,IAAI,CAAC,EAAE,QAAQ,CAAC;AAAA,EACvC,SAAW,UAAO,EAAE,IAAI,CAAC,EAAE,QAAQ,GAAK;AAC1C,CAAC;AAEM,IAAM,8BACV,UAAO;AAAA,EACN,SAAW,WAAQ,EAAE,QAAQ,KAAK;AAAA,EAClC,MAAQ,UAAO,EAAE,IAAI,EAAE,IAAI,CAAC,EAAE,IAAI,KAAK,EAAE,SAAS;AAAA,EAClD,YAAY,kBAAkB,SAAS;AAAA,EACvC,mBAAmB,kBAAkB,SAAS;AAAA,EAC9C,mBAAmB,kBAAkB,SAAS;AAAA,EAC9C,YAAY,kBAAkB,SAAS;AAAA,EACvC,UAAU,kBAAkB,SAAS;AAAA,EACrC,YAAY,kBAAkB,SAAS;AAAA,EACvC,SAAS,kBAAkB,SAAS;AAAA,EACpC,OAAO,kBAAkB,SAAS;AAAA,EAClC,eAAe,oBAAoB,SAAS;AAAA,EAC5C,MAAM,kBAAkB,SAAS;AAAA,EACjC,UAAU,iCAAiC;AAAA,IACzC,iCAAiC,MAAM,CAAC,CAAC;AAAA,EAC3C;AACF,CAAC,EACA,QAAQ,CAAC,CAAC;AAab,IAAM,qBACH,UAAO;AAAA,EACN,SAAW,WAAQ;AACrB,CAAC,EACA,SAAS,EACT,QAAQ;AAAA,EACP,SAAS;AACX,CAAC;AAEH,IAAM,oBACH,UAAO;AAAA,EACN,SAAW,WAAQ;AACrB,CAAC,EACA,SAAS,EACT,QAAQ;AAAA,EACP,SAAS;AACX,CAAC;AAEI,IAAM,iBAAmB,UAAO;AAAA,EACrC,cAAc;AAAA,EACd,aAAa;AAAA,EACb,eAAe,4BAA4B,SAAS;AACtD,CAAC;;;ACrFD,sBAAyB;AAEzB,eAAsB,cAAwC;AAC5D,QAAM,mBAAmB,qBAAqB,cAAc;AAE5D,QAAM,WAAW,UAAM,0BAAS,kBAAkB,EAAE,UAAU,QAAQ,CAAC;AACvE,MAAI,UAAU;AACZ,UAAM,SAAS,eAAe,UAAU,KAAK,MAAM,QAAQ,CAAC;AAC5D,QAAI,OAAO,SAAS;AAClB,aAAO,OAAO;AAAA,IAChB,OAAO;AAEL,YAAM,IAAI,MAAO,OAAe,MAAM,OAAO;AAAA,IAC/C;AAAA,EACF;AAEA,SAAO;AAAA,IACL,cAAc,EAAE,SAAS,MAAM;AAAA,IAC/B,aAAa,EAAE,SAAS,MAAM;AAAA,EAChC;AACF;;;ACbA,wBAAwB;AAExB,IAAM,iBAAiB;AAIvB,IAAI,wBAAsD;AAE1D,eAAe,iCAAkD;AAC/D,MAAI,QAAQ,IAAI,gCAAgC;AAC9C,WAAO,SAAS,QAAQ,IAAI,gCAAgC,EAAE;AAAA,EAChE;AACA,SAAO,UAAM,2BAAQ,CAAC,CAAC;AACzB;AAEA,eAAsB,6BACpB,OACgC;AAChC,QAAM,SAAS,4BAA4B,MAAM,SAAS,CAAC,CAAC;AAE5D,MAAI,CAAC,OAAO,MAAM;AAChB,WAAO,OAAO,MAAM,+BAA+B;AAAA,EACrD;AAEA,SAAO;AACT;AA2BO,SAAS,0BAA0B;AACxC,SAAO,QAAQ,IAAI;AACrB;AAEA,eAAsB,4BAA4B;AAChD,QAAMC,QAAO,wBAAwB;AACrC,MAAI,CAACA,OAAM;AACT,WAAO;AAAA,EACT;AAEA,QAAMC,yBAAwB,MAAM,gCAAgC;AACpE,SAAOA,uBAAsB;AAC/B;AAEA,eAAsB,0BACpB,SACmC;AACnC,MAAI,CAAE,MAAM,0BAA0B,GAAI;AACxC,WAAO;AAAA,EACT;AACA,MAAI,eAAe;AACnB,SAAO,eAAe,GAAG;AACvB,UAAM,uBAAuB,QAC1B,eAAe,EACf,KAAK,CAAC,kBAAkB,cAAc,IAAI,EAAE,SAAS,cAAc,CAAC;AACvE,QAAI,sBAAsB;AACxB,aAAO;AAAA,IACT;AACA,QAAI;AACF,YAAM,QAAQ,aAAa,iBAAiB,EAAE,SAAS,IAAK,CAAC;AAAA,IAC/D,SAASC,MAAU;AACjB,cAAQ,IAAI,4CAA4C,YAAY,GAAG;AAAA,IACzE;AACA;AAAA,EACF;AACA,UAAQ,MAAM,+CAA+C;AAC7D,SAAO;AACT;AAkDA,eAAsB,kCAAkE;AACtF,MAAI,uBAAuB;AACzB,WAAO;AAAA,EACT;AACA,QAAM,WAAW,MAAM,YAAY;AACnC,0BAAwB,MAAM;AAAA,IAC5B,SAAS;AAAA,EACX;AACA,SAAO;AACT;;;ALaA,IAAI,2BAAmD;AAEhD,SAAS,4BAA6C;AAC3D,MAAI,CAAC,0BAA0B;AAC7B,UAAM,IAAI,MAAM,8CAA8C;AAAA,EAChE;AACA,SAAO;AACT;;;AM5JA,eAAsB,wBACpB,UACA,SACY;AACZ,QAAM;AAAA,IACJ;AAAA,IACA,cAAc;AAAA,IACd,mBAAmB;AAAA,IACnB,wBAAwB;AAAA,EAC1B,IAAI;AAEJ,UAAQ;AAAA,IACN,wCAAwC,WAAW,sBAAsB,gBAAgB,6BAA6B,qBAAqB;AAAA,EAC7I;AAEA,QAAM,kBAAkB,0BAA0B;AAClD,MAAI,iBAAsC;AAC1C,MAAI,iBAAiB,IAAI,QAAc,CAACC,aAAY;AAClD,qBAAiBA;AAAA,EACnB,CAAC;AACD,MAAI,YAAY;AAChB,MAAI,mBAAmB;AACvB,MAAI,QAAkC;AACtC,MAAI,aAAa;AAEjB,QAAM,qBAAqB,YACzB,MAAM,gBAAgB,YAAY,MAAM,SAAS;AAEnD,QAAM,uBAAuB,YAC3B,CAAC,qBAAqB,MAAM,mBAAmB,GAAG,WAAW;AAE/D,QAAM,cAAc,YAAY;AAC9B,QAAI,MAAM,qBAAqB,GAAG;AAChC,uBAAiB;AAAA,IACnB;AAAA,EACF;AAEA,QAAM,kBAAkB,OAAO,aAAsB;AACnD,UAAM,kBAAkB,MAAM,gBAAgB,YAAY,MAAM,SAAS;AACzE,UAAM,gBAAgB,MAAM,gBAAgB,YAAY,MAAM,OAAO;AAErE,YAAQ;AAAA,MACN,oCAAoC,gBAAgB,MAAM,YAAY,cAAc,MAAM;AAAA,IAC5F;AAEA,QAAI,gBAAgB,SAAS,GAAG;AAC9B,yBAAmB;AACnB,cAAQ;AAAA,QACN,sBAAsB,gBAAgB,IAAI,CAAC,MAAM,EAAE,EAAE,EAAE,KAAK,IAAI,CAAC;AAAA,MACnE;AAAA,IACF;AAEA,QAAI,cAAc,SAAS,GAAG;AAC5B,cAAS,cAAc,CAAC,EAAyB;AACjD,cAAQ,MAAM,2BAA2B,OAAO,IAAI,EAAE;AACtD,YAAM,YAAY;AAClB;AAAA,IACF;AAEA,QAAI,gBAAgB,WAAW,GAAG;AAChC,cAAQ,MAAM,+BAA+B;AAC7C,YAAM,YAAY;AAAA,IACpB;AAAA,EACF;AAEA,QAAM,SAAS,MAAM,SAAS,IAAI;AAClC,eAAa;AACb,MAAI,uBAAuB;AACzB,QAAI;AACF,YAAM,KAAK,iBAAiB,aAAa;AAAA,IAC3C,SAASC,MAAK;AACZ,cAAQ,MAAM,0CAA0CA,IAAG,EAAE;AAAA,IAC/D;AAAA,EACF;AAEA,QAAM,iBAAiB,IAAI,QAAc,CAACD,aAAY;AACpD,eAAW,MAAM;AACf,kBAAY;AACZ,cAAQ,MAAM,+BAA+B;AAC7C,uBAAiB;AACjB,MAAAA,SAAQ;AAAA,IACV,GAAG,WAAW;AAAA,EAChB,CAAC;AAED,QAAM,gBAAgB,UAAU,MAAM,eAAe;AAErD,MAAI;AACF,UAAM,iBAAiB,MAAM,mBAAmB;AAChD,YAAQ,MAAM,SAAS,eAAe,MAAM,mBAAmB;AAC/D,QAAI,eAAe,SAAS,GAAG;AAC7B,yBAAmB;AAAA,IACrB;AACA,UAAM,YAAY;AAElB,QAAI,iBAAiB;AACrB,WAAO,gBAAgB;AACrB,YAAM,QAAQ,KAAK,CAAC,gBAAgB,cAAc,CAAC;AACnD,cAAQ;AAAA,QACN,mCAAmC,gBAAgB;AAAA,MACrD;AACA,YAAM,IAAI,QAAQ,CAAC,MAAM,WAAW,GAAG,gBAAgB,CAAC;AAExD,UAAI,OAAO;AACT,gBAAQ,MAAM,0BAA2B,MAAuB,IAAI,EAAE;AACtE,cAAM,IAAI;AAAA,UACR,wBAAyB,MAAuB,IAAI;AAAA,UACpD;AAAA,QACF;AAAA,MACF;AACA,YAAM,oBAAoB,MAAM,qBAAqB;AACrD,YAAM,UAAU,MAAM,mBAAmB;AACzC,cAAQ;AAAA,QACN,2BAA2B,UAAU,uBAAuB,iBAAiB,eAAe,SAAS,kBAAkB,QAAQ,MAAM;AAAA,MACvI;AAEA,UAAK,cAAc,qBAAsB,WAAW;AAClD,YAAI,aAAa,CAAC,mBAAmB;AACnC,kBAAQ,MAAM,gBAAgB,QAAQ,MAAM,mBAAmB;AAC/D,gBAAM,IAAI;AAAA,YACR;AAAA,UACF;AAAA,QACF;AACA,gBAAQ,MAAM,sCAAsC;AACpD,yBAAiB;AAAA,MACnB,OAAO;AACL,gBAAQ;AAAA,UACN,cAAc,QAAQ,MAAM;AAAA,QAC9B;AACA,yBAAiB,IAAI,QAAc,CAACA,aAAY;AAC9C,2BAAiBA;AAAA,QACnB,CAAC;AAAA,MACH;AAAA,IACF;AAEA,WAAO;AAAA,EACT,UAAE;AACA,UAAM,gBAAgB,YAAY,MAAM,eAAe;AAAA,EACzD;AACF;AAEA,eAAsB,oBACpB,MACA;AAAA,EACE,cAAc;AAAA,EACd,mBAAmB;AACrB,IAGI,CAAC,GACU;AACf,QAAM,wBAAwB,YAAY,QAAW;AAAA,IACnD;AAAA,IACA;AAAA,IACA;AAAA,IACA,uBAAuB;AAAA,EACzB,CAAC;AACH;AAEA,eAAsB,2BACpB,MACA,QACA,GACA;AACA,QAAM,kBAAkB,0BAA0B;AAClD,QAAM,gBAAgB,YAAY,MAAM,GAAG,MAAM;AACnD;AAEA,eAAsB,eACpB,MACA,QACA,GACA;AACA,QAAM,kBAAkB,0BAA0B;AAClD,QAAM,gBAAgB,UAAU,MAAM,GAAG,MAAM;AACjD;AAEA,eAAsB,iBACpB,MACA,QACA,GACA;AACA,QAAM,kBAAkB,0BAA0B;AAElD,QAAM,iBAAkC,OAAO,YAAqB;AAClE,UAAM,gBAAgB,YAAY,MAAM,gBAAgB,MAAM;AAC9D,UAAM,EAAE,OAAO;AAAA,EACjB;AAEA,QAAM,gBAAgB,UAAU,MAAM,gBAAgB,MAAM;AAC9D;AAEA,eAAe,aAAa,SAAyB,SAAkB;AACrE,QAAM,SAAS,MAAM,0BAA0B,OAAO;AACtD,MAAI,CAAC,QAAQ;AACX,QAAI,CAAC,SAAS;AACZ;AAAA,IACF;AACA,UAAM,IAAI,MAAM,kCAAkC;AAAA,EACpD;AAEA,QAAM,OAAO;AAAA,IACX;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IA6BA;AAAA,EACF;AACF;AAEA,eAAsB,mBACpB,SACe;AACf,MAAI,CAAE,MAAM,0BAA0B,GAAI;AACxC,UAAM,IAAI;AAAA,MACR;AAAA,IACF;AAAA,EACF;AACA,QAAM,aAAa,SAAS,KAAK;AACnC;AAEA,eAAsB,oBACpB,SACe;AACf,MAAI,CAAE,MAAM,0BAA0B,GAAI;AACxC,UAAM,IAAI;AAAA,MACR;AAAA,IACF;AAAA,EACF;AACA,QAAM,aAAa,SAAS,IAAI;AAClC;;;AC7QO,SAAS,qBAAqB;AACnC,QAAM,UAAU,GAAG,6BAA6B,uBAAuB;AACvE,QAAM,SACJ,6BAA6B,SAC7B,QAAQ,IAAI,mBAAmB,KAC/B;AACF,SAAO,EAAE,SAAS,OAAO;AAC3B;;;ACfA,sBAA8B;AAEvB,SAAS,2BAA2B;AACzC,QAAM,UAAU,oBAAoB;AACpC,MAAI,CAAC,SAAS;AACZ,UAAM,IAAI,MAAM,4BAA4B;AAAA,EAC9C;AACA,QAAME,QAAO,kBAAkB,QAAQ,KAAK;AAC5C,qCAAcA,OAAM;AAAA,IAClB,MAAM;AAAA,EACR,CAAC;AACD,SAAOA;AACT;","names":["fetch","path","getAuthSessionParameters","import_zod","dotenv","z","path","captchaSolverSettings","err","resolve","err","path"]}
|
package/dist/index.mjs
ADDED
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
import {
|
|
2
|
+
RunError,
|
|
3
|
+
attemptStore,
|
|
4
|
+
extendPayload,
|
|
5
|
+
extendTimeout,
|
|
6
|
+
getAiGatewayConfig,
|
|
7
|
+
getAuthSessionParameters,
|
|
8
|
+
getDownloadDirectoryPath,
|
|
9
|
+
onCaptchaEvent,
|
|
10
|
+
onceCaptchaEvent,
|
|
11
|
+
pauseCaptchaSolver,
|
|
12
|
+
persistentStore,
|
|
13
|
+
removeCaptchaEventListener,
|
|
14
|
+
resumeCaptchaSolver,
|
|
15
|
+
runInfo,
|
|
16
|
+
waitForCaptchaSolve,
|
|
17
|
+
withWaitForCaptchaSolve
|
|
18
|
+
} from "./chunk-B3T6RXPC.mjs";
|
|
19
|
+
import {
|
|
20
|
+
getExecutionContext,
|
|
21
|
+
runWithContext
|
|
22
|
+
} from "./chunk-W4UX6G4X.mjs";
|
|
23
|
+
import "./chunk-7YL2JUTE.mjs";
|
|
24
|
+
import "./chunk-FGV5T6SI.mjs";
|
|
25
|
+
import "./chunk-XOAZ2MGA.mjs";
|
|
26
|
+
import "./chunk-LZOMFHX3.mjs";
|
|
27
|
+
export {
|
|
28
|
+
RunError,
|
|
29
|
+
attemptStore,
|
|
30
|
+
extendPayload,
|
|
31
|
+
extendTimeout,
|
|
32
|
+
getAiGatewayConfig,
|
|
33
|
+
getAuthSessionParameters,
|
|
34
|
+
getDownloadDirectoryPath,
|
|
35
|
+
getExecutionContext,
|
|
36
|
+
onCaptchaEvent,
|
|
37
|
+
onceCaptchaEvent,
|
|
38
|
+
pauseCaptchaSolver,
|
|
39
|
+
persistentStore,
|
|
40
|
+
removeCaptchaEventListener,
|
|
41
|
+
resumeCaptchaSolver,
|
|
42
|
+
runInfo,
|
|
43
|
+
runWithContext,
|
|
44
|
+
waitForCaptchaSolve,
|
|
45
|
+
withWaitForCaptchaSolve
|
|
46
|
+
};
|
|
47
|
+
//# sourceMappingURL=index.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":[],"sourcesContent":[],"mappings":"","names":[]}
|
|
@@ -0,0 +1,168 @@
|
|
|
1
|
+
import { P as Payload, A as AttemptStore, a as PersistentStore, R as RunInfo, b as RunErrorOptions } from '../export.d-BAUMB-lG.mjs';
|
|
2
|
+
import { Page, BrowserContext } from 'playwright';
|
|
3
|
+
import { z } from 'zod';
|
|
4
|
+
|
|
5
|
+
declare function extendPayload(payload: Payload | Payload[]): void;
|
|
6
|
+
|
|
7
|
+
declare function extendTimeout(): void;
|
|
8
|
+
|
|
9
|
+
declare const attemptStore: AttemptStore;
|
|
10
|
+
|
|
11
|
+
declare const persistentStore: PersistentStore;
|
|
12
|
+
|
|
13
|
+
declare function getAuthSessionParameters(): Promise<any>;
|
|
14
|
+
|
|
15
|
+
declare function runInfo(): RunInfo;
|
|
16
|
+
|
|
17
|
+
declare class RunError extends Error {
|
|
18
|
+
options: RunErrorOptions;
|
|
19
|
+
constructor(message: string, options?: RunErrorOptions);
|
|
20
|
+
}
|
|
21
|
+
|
|
22
|
+
declare const captchaStatusSchema: z.ZodEnum<["attached", "solving", "solved", "error", "detached"]>;
|
|
23
|
+
type CaptchaStatus = z.infer<typeof captchaStatusSchema>;
|
|
24
|
+
declare const captchaSchema: z.ZodDiscriminatedUnion<"status", [z.ZodObject<{
|
|
25
|
+
id: z.ZodString;
|
|
26
|
+
tabId: z.ZodNumber;
|
|
27
|
+
type: z.ZodEnum<["aws", "cloudflare", "customcaptcha", "funcaptcha", "geetest", "hcaptcha", "lemincaptcha", "recaptcha", "textcaptcha"]>;
|
|
28
|
+
retryCount: z.ZodOptional<z.ZodNumber>;
|
|
29
|
+
} & {
|
|
30
|
+
status: z.ZodLiteral<"attached">;
|
|
31
|
+
}, "strip", z.ZodTypeAny, {
|
|
32
|
+
type: "aws" | "cloudflare" | "customcaptcha" | "funcaptcha" | "geetest" | "hcaptcha" | "lemincaptcha" | "recaptcha" | "textcaptcha";
|
|
33
|
+
status: "attached";
|
|
34
|
+
id: string;
|
|
35
|
+
tabId: number;
|
|
36
|
+
retryCount?: number | undefined;
|
|
37
|
+
}, {
|
|
38
|
+
type: "aws" | "cloudflare" | "customcaptcha" | "funcaptcha" | "geetest" | "hcaptcha" | "lemincaptcha" | "recaptcha" | "textcaptcha";
|
|
39
|
+
status: "attached";
|
|
40
|
+
id: string;
|
|
41
|
+
tabId: number;
|
|
42
|
+
retryCount?: number | undefined;
|
|
43
|
+
}>, z.ZodObject<{
|
|
44
|
+
id: z.ZodString;
|
|
45
|
+
tabId: z.ZodNumber;
|
|
46
|
+
type: z.ZodEnum<["aws", "cloudflare", "customcaptcha", "funcaptcha", "geetest", "hcaptcha", "lemincaptcha", "recaptcha", "textcaptcha"]>;
|
|
47
|
+
retryCount: z.ZodOptional<z.ZodNumber>;
|
|
48
|
+
} & {
|
|
49
|
+
status: z.ZodLiteral<"solving">;
|
|
50
|
+
}, "strip", z.ZodTypeAny, {
|
|
51
|
+
type: "aws" | "cloudflare" | "customcaptcha" | "funcaptcha" | "geetest" | "hcaptcha" | "lemincaptcha" | "recaptcha" | "textcaptcha";
|
|
52
|
+
status: "solving";
|
|
53
|
+
id: string;
|
|
54
|
+
tabId: number;
|
|
55
|
+
retryCount?: number | undefined;
|
|
56
|
+
}, {
|
|
57
|
+
type: "aws" | "cloudflare" | "customcaptcha" | "funcaptcha" | "geetest" | "hcaptcha" | "lemincaptcha" | "recaptcha" | "textcaptcha";
|
|
58
|
+
status: "solving";
|
|
59
|
+
id: string;
|
|
60
|
+
tabId: number;
|
|
61
|
+
retryCount?: number | undefined;
|
|
62
|
+
}>, z.ZodObject<{
|
|
63
|
+
id: z.ZodString;
|
|
64
|
+
tabId: z.ZodNumber;
|
|
65
|
+
type: z.ZodEnum<["aws", "cloudflare", "customcaptcha", "funcaptcha", "geetest", "hcaptcha", "lemincaptcha", "recaptcha", "textcaptcha"]>;
|
|
66
|
+
retryCount: z.ZodOptional<z.ZodNumber>;
|
|
67
|
+
} & {
|
|
68
|
+
status: z.ZodLiteral<"solved">;
|
|
69
|
+
}, "strip", z.ZodTypeAny, {
|
|
70
|
+
type: "aws" | "cloudflare" | "customcaptcha" | "funcaptcha" | "geetest" | "hcaptcha" | "lemincaptcha" | "recaptcha" | "textcaptcha";
|
|
71
|
+
status: "solved";
|
|
72
|
+
id: string;
|
|
73
|
+
tabId: number;
|
|
74
|
+
retryCount?: number | undefined;
|
|
75
|
+
}, {
|
|
76
|
+
type: "aws" | "cloudflare" | "customcaptcha" | "funcaptcha" | "geetest" | "hcaptcha" | "lemincaptcha" | "recaptcha" | "textcaptcha";
|
|
77
|
+
status: "solved";
|
|
78
|
+
id: string;
|
|
79
|
+
tabId: number;
|
|
80
|
+
retryCount?: number | undefined;
|
|
81
|
+
}>, z.ZodObject<{
|
|
82
|
+
id: z.ZodString;
|
|
83
|
+
tabId: z.ZodNumber;
|
|
84
|
+
type: z.ZodEnum<["aws", "cloudflare", "customcaptcha", "funcaptcha", "geetest", "hcaptcha", "lemincaptcha", "recaptcha", "textcaptcha"]>;
|
|
85
|
+
retryCount: z.ZodOptional<z.ZodNumber>;
|
|
86
|
+
} & {
|
|
87
|
+
status: z.ZodLiteral<"detached">;
|
|
88
|
+
}, "strip", z.ZodTypeAny, {
|
|
89
|
+
type: "aws" | "cloudflare" | "customcaptcha" | "funcaptcha" | "geetest" | "hcaptcha" | "lemincaptcha" | "recaptcha" | "textcaptcha";
|
|
90
|
+
status: "detached";
|
|
91
|
+
id: string;
|
|
92
|
+
tabId: number;
|
|
93
|
+
retryCount?: number | undefined;
|
|
94
|
+
}, {
|
|
95
|
+
type: "aws" | "cloudflare" | "customcaptcha" | "funcaptcha" | "geetest" | "hcaptcha" | "lemincaptcha" | "recaptcha" | "textcaptcha";
|
|
96
|
+
status: "detached";
|
|
97
|
+
id: string;
|
|
98
|
+
tabId: number;
|
|
99
|
+
retryCount?: number | undefined;
|
|
100
|
+
}>, z.ZodObject<{
|
|
101
|
+
id: z.ZodString;
|
|
102
|
+
tabId: z.ZodNumber;
|
|
103
|
+
type: z.ZodEnum<["aws", "cloudflare", "customcaptcha", "funcaptcha", "geetest", "hcaptcha", "lemincaptcha", "recaptcha", "textcaptcha"]>;
|
|
104
|
+
retryCount: z.ZodOptional<z.ZodNumber>;
|
|
105
|
+
} & {
|
|
106
|
+
status: z.ZodLiteral<"error">;
|
|
107
|
+
error: z.ZodObject<{
|
|
108
|
+
code: z.ZodEnum<["HIT_LIMIT", "MAX_RETRIES", "UNEXPECTED_SERVER_RESPONSE", "UNEXPECTED_ERROR"]>;
|
|
109
|
+
error: z.ZodOptional<z.ZodUnknown>;
|
|
110
|
+
}, "strip", z.ZodTypeAny, {
|
|
111
|
+
code: "HIT_LIMIT" | "MAX_RETRIES" | "UNEXPECTED_SERVER_RESPONSE" | "UNEXPECTED_ERROR";
|
|
112
|
+
error?: unknown;
|
|
113
|
+
}, {
|
|
114
|
+
code: "HIT_LIMIT" | "MAX_RETRIES" | "UNEXPECTED_SERVER_RESPONSE" | "UNEXPECTED_ERROR";
|
|
115
|
+
error?: unknown;
|
|
116
|
+
}>;
|
|
117
|
+
}, "strip", z.ZodTypeAny, {
|
|
118
|
+
error: {
|
|
119
|
+
code: "HIT_LIMIT" | "MAX_RETRIES" | "UNEXPECTED_SERVER_RESPONSE" | "UNEXPECTED_ERROR";
|
|
120
|
+
error?: unknown;
|
|
121
|
+
};
|
|
122
|
+
type: "aws" | "cloudflare" | "customcaptcha" | "funcaptcha" | "geetest" | "hcaptcha" | "lemincaptcha" | "recaptcha" | "textcaptcha";
|
|
123
|
+
status: "error";
|
|
124
|
+
id: string;
|
|
125
|
+
tabId: number;
|
|
126
|
+
retryCount?: number | undefined;
|
|
127
|
+
}, {
|
|
128
|
+
error: {
|
|
129
|
+
code: "HIT_LIMIT" | "MAX_RETRIES" | "UNEXPECTED_SERVER_RESPONSE" | "UNEXPECTED_ERROR";
|
|
130
|
+
error?: unknown;
|
|
131
|
+
};
|
|
132
|
+
type: "aws" | "cloudflare" | "customcaptcha" | "funcaptcha" | "geetest" | "hcaptcha" | "lemincaptcha" | "recaptcha" | "textcaptcha";
|
|
133
|
+
status: "error";
|
|
134
|
+
id: string;
|
|
135
|
+
tabId: number;
|
|
136
|
+
retryCount?: number | undefined;
|
|
137
|
+
}>]>;
|
|
138
|
+
type Captcha = z.infer<typeof captchaSchema>;
|
|
139
|
+
type CaptchaCallback = (captcha: Captcha) => Promise<void> | void;
|
|
140
|
+
|
|
141
|
+
type WithWaitForCaptchaSolveOptions = {
|
|
142
|
+
page: Page;
|
|
143
|
+
timeoutInMs?: number;
|
|
144
|
+
settleDurationMs?: number;
|
|
145
|
+
waitForNetworkSettled?: boolean;
|
|
146
|
+
};
|
|
147
|
+
declare function withWaitForCaptchaSolve<T>(callback: (page: Page) => Promise<T>, options: WithWaitForCaptchaSolveOptions): Promise<T>;
|
|
148
|
+
declare function waitForCaptchaSolve(page: Page, { timeoutInMs, settleDurationMs, }?: Pick<WithWaitForCaptchaSolveOptions, "timeoutInMs" | "settleDurationMs">): Promise<void>;
|
|
149
|
+
declare function removeCaptchaEventListener(page: Page, status: CaptchaStatus, f: CaptchaCallback): Promise<void>;
|
|
150
|
+
declare function onCaptchaEvent(page: Page, status: CaptchaStatus, f: CaptchaCallback): Promise<void>;
|
|
151
|
+
declare function onceCaptchaEvent(page: Page, status: CaptchaStatus, f: CaptchaCallback): Promise<void>;
|
|
152
|
+
declare function pauseCaptchaSolver(context: BrowserContext): Promise<void>;
|
|
153
|
+
declare function resumeCaptchaSolver(context: BrowserContext): Promise<void>;
|
|
154
|
+
|
|
155
|
+
/**
|
|
156
|
+
* Retrieves the base URL and API key for the Intuned AI Gateway.
|
|
157
|
+
|
|
158
|
+
* Returns:
|
|
159
|
+
* { baseUrl: string, apiKey: string }: An object containing the base URL and API key
|
|
160
|
+
*/
|
|
161
|
+
declare function getAiGatewayConfig(): {
|
|
162
|
+
baseUrl: string;
|
|
163
|
+
apiKey: string;
|
|
164
|
+
};
|
|
165
|
+
|
|
166
|
+
declare function getDownloadDirectoryPath(): string;
|
|
167
|
+
|
|
168
|
+
export { RunError, attemptStore, extendPayload, extendTimeout, getAiGatewayConfig, getAuthSessionParameters, getDownloadDirectoryPath, onCaptchaEvent, onceCaptchaEvent, pauseCaptchaSolver, persistentStore, removeCaptchaEventListener, resumeCaptchaSolver, runInfo, waitForCaptchaSolve, withWaitForCaptchaSolve };
|
package/dist/runtime/index.d.ts
CHANGED
|
@@ -1,10 +1,168 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
1
|
+
import { P as Payload, A as AttemptStore, a as PersistentStore, R as RunInfo, b as RunErrorOptions } from '../export.d-BAUMB-lG.js';
|
|
2
|
+
import { Page, BrowserContext } from 'playwright';
|
|
3
|
+
import { z } from 'zod';
|
|
4
|
+
|
|
5
|
+
declare function extendPayload(payload: Payload | Payload[]): void;
|
|
6
|
+
|
|
7
|
+
declare function extendTimeout(): void;
|
|
8
|
+
|
|
9
|
+
declare const attemptStore: AttemptStore;
|
|
10
|
+
|
|
11
|
+
declare const persistentStore: PersistentStore;
|
|
12
|
+
|
|
13
|
+
declare function getAuthSessionParameters(): Promise<any>;
|
|
14
|
+
|
|
15
|
+
declare function runInfo(): RunInfo;
|
|
16
|
+
|
|
17
|
+
declare class RunError extends Error {
|
|
18
|
+
options: RunErrorOptions;
|
|
19
|
+
constructor(message: string, options?: RunErrorOptions);
|
|
20
|
+
}
|
|
21
|
+
|
|
22
|
+
declare const captchaStatusSchema: z.ZodEnum<["attached", "solving", "solved", "error", "detached"]>;
|
|
23
|
+
type CaptchaStatus = z.infer<typeof captchaStatusSchema>;
|
|
24
|
+
declare const captchaSchema: z.ZodDiscriminatedUnion<"status", [z.ZodObject<{
|
|
25
|
+
id: z.ZodString;
|
|
26
|
+
tabId: z.ZodNumber;
|
|
27
|
+
type: z.ZodEnum<["aws", "cloudflare", "customcaptcha", "funcaptcha", "geetest", "hcaptcha", "lemincaptcha", "recaptcha", "textcaptcha"]>;
|
|
28
|
+
retryCount: z.ZodOptional<z.ZodNumber>;
|
|
29
|
+
} & {
|
|
30
|
+
status: z.ZodLiteral<"attached">;
|
|
31
|
+
}, "strip", z.ZodTypeAny, {
|
|
32
|
+
type: "aws" | "cloudflare" | "customcaptcha" | "funcaptcha" | "geetest" | "hcaptcha" | "lemincaptcha" | "recaptcha" | "textcaptcha";
|
|
33
|
+
status: "attached";
|
|
34
|
+
id: string;
|
|
35
|
+
tabId: number;
|
|
36
|
+
retryCount?: number | undefined;
|
|
37
|
+
}, {
|
|
38
|
+
type: "aws" | "cloudflare" | "customcaptcha" | "funcaptcha" | "geetest" | "hcaptcha" | "lemincaptcha" | "recaptcha" | "textcaptcha";
|
|
39
|
+
status: "attached";
|
|
40
|
+
id: string;
|
|
41
|
+
tabId: number;
|
|
42
|
+
retryCount?: number | undefined;
|
|
43
|
+
}>, z.ZodObject<{
|
|
44
|
+
id: z.ZodString;
|
|
45
|
+
tabId: z.ZodNumber;
|
|
46
|
+
type: z.ZodEnum<["aws", "cloudflare", "customcaptcha", "funcaptcha", "geetest", "hcaptcha", "lemincaptcha", "recaptcha", "textcaptcha"]>;
|
|
47
|
+
retryCount: z.ZodOptional<z.ZodNumber>;
|
|
48
|
+
} & {
|
|
49
|
+
status: z.ZodLiteral<"solving">;
|
|
50
|
+
}, "strip", z.ZodTypeAny, {
|
|
51
|
+
type: "aws" | "cloudflare" | "customcaptcha" | "funcaptcha" | "geetest" | "hcaptcha" | "lemincaptcha" | "recaptcha" | "textcaptcha";
|
|
52
|
+
status: "solving";
|
|
53
|
+
id: string;
|
|
54
|
+
tabId: number;
|
|
55
|
+
retryCount?: number | undefined;
|
|
56
|
+
}, {
|
|
57
|
+
type: "aws" | "cloudflare" | "customcaptcha" | "funcaptcha" | "geetest" | "hcaptcha" | "lemincaptcha" | "recaptcha" | "textcaptcha";
|
|
58
|
+
status: "solving";
|
|
59
|
+
id: string;
|
|
60
|
+
tabId: number;
|
|
61
|
+
retryCount?: number | undefined;
|
|
62
|
+
}>, z.ZodObject<{
|
|
63
|
+
id: z.ZodString;
|
|
64
|
+
tabId: z.ZodNumber;
|
|
65
|
+
type: z.ZodEnum<["aws", "cloudflare", "customcaptcha", "funcaptcha", "geetest", "hcaptcha", "lemincaptcha", "recaptcha", "textcaptcha"]>;
|
|
66
|
+
retryCount: z.ZodOptional<z.ZodNumber>;
|
|
67
|
+
} & {
|
|
68
|
+
status: z.ZodLiteral<"solved">;
|
|
69
|
+
}, "strip", z.ZodTypeAny, {
|
|
70
|
+
type: "aws" | "cloudflare" | "customcaptcha" | "funcaptcha" | "geetest" | "hcaptcha" | "lemincaptcha" | "recaptcha" | "textcaptcha";
|
|
71
|
+
status: "solved";
|
|
72
|
+
id: string;
|
|
73
|
+
tabId: number;
|
|
74
|
+
retryCount?: number | undefined;
|
|
75
|
+
}, {
|
|
76
|
+
type: "aws" | "cloudflare" | "customcaptcha" | "funcaptcha" | "geetest" | "hcaptcha" | "lemincaptcha" | "recaptcha" | "textcaptcha";
|
|
77
|
+
status: "solved";
|
|
78
|
+
id: string;
|
|
79
|
+
tabId: number;
|
|
80
|
+
retryCount?: number | undefined;
|
|
81
|
+
}>, z.ZodObject<{
|
|
82
|
+
id: z.ZodString;
|
|
83
|
+
tabId: z.ZodNumber;
|
|
84
|
+
type: z.ZodEnum<["aws", "cloudflare", "customcaptcha", "funcaptcha", "geetest", "hcaptcha", "lemincaptcha", "recaptcha", "textcaptcha"]>;
|
|
85
|
+
retryCount: z.ZodOptional<z.ZodNumber>;
|
|
86
|
+
} & {
|
|
87
|
+
status: z.ZodLiteral<"detached">;
|
|
88
|
+
}, "strip", z.ZodTypeAny, {
|
|
89
|
+
type: "aws" | "cloudflare" | "customcaptcha" | "funcaptcha" | "geetest" | "hcaptcha" | "lemincaptcha" | "recaptcha" | "textcaptcha";
|
|
90
|
+
status: "detached";
|
|
91
|
+
id: string;
|
|
92
|
+
tabId: number;
|
|
93
|
+
retryCount?: number | undefined;
|
|
94
|
+
}, {
|
|
95
|
+
type: "aws" | "cloudflare" | "customcaptcha" | "funcaptcha" | "geetest" | "hcaptcha" | "lemincaptcha" | "recaptcha" | "textcaptcha";
|
|
96
|
+
status: "detached";
|
|
97
|
+
id: string;
|
|
98
|
+
tabId: number;
|
|
99
|
+
retryCount?: number | undefined;
|
|
100
|
+
}>, z.ZodObject<{
|
|
101
|
+
id: z.ZodString;
|
|
102
|
+
tabId: z.ZodNumber;
|
|
103
|
+
type: z.ZodEnum<["aws", "cloudflare", "customcaptcha", "funcaptcha", "geetest", "hcaptcha", "lemincaptcha", "recaptcha", "textcaptcha"]>;
|
|
104
|
+
retryCount: z.ZodOptional<z.ZodNumber>;
|
|
105
|
+
} & {
|
|
106
|
+
status: z.ZodLiteral<"error">;
|
|
107
|
+
error: z.ZodObject<{
|
|
108
|
+
code: z.ZodEnum<["HIT_LIMIT", "MAX_RETRIES", "UNEXPECTED_SERVER_RESPONSE", "UNEXPECTED_ERROR"]>;
|
|
109
|
+
error: z.ZodOptional<z.ZodUnknown>;
|
|
110
|
+
}, "strip", z.ZodTypeAny, {
|
|
111
|
+
code: "HIT_LIMIT" | "MAX_RETRIES" | "UNEXPECTED_SERVER_RESPONSE" | "UNEXPECTED_ERROR";
|
|
112
|
+
error?: unknown;
|
|
113
|
+
}, {
|
|
114
|
+
code: "HIT_LIMIT" | "MAX_RETRIES" | "UNEXPECTED_SERVER_RESPONSE" | "UNEXPECTED_ERROR";
|
|
115
|
+
error?: unknown;
|
|
116
|
+
}>;
|
|
117
|
+
}, "strip", z.ZodTypeAny, {
|
|
118
|
+
error: {
|
|
119
|
+
code: "HIT_LIMIT" | "MAX_RETRIES" | "UNEXPECTED_SERVER_RESPONSE" | "UNEXPECTED_ERROR";
|
|
120
|
+
error?: unknown;
|
|
121
|
+
};
|
|
122
|
+
type: "aws" | "cloudflare" | "customcaptcha" | "funcaptcha" | "geetest" | "hcaptcha" | "lemincaptcha" | "recaptcha" | "textcaptcha";
|
|
123
|
+
status: "error";
|
|
124
|
+
id: string;
|
|
125
|
+
tabId: number;
|
|
126
|
+
retryCount?: number | undefined;
|
|
127
|
+
}, {
|
|
128
|
+
error: {
|
|
129
|
+
code: "HIT_LIMIT" | "MAX_RETRIES" | "UNEXPECTED_SERVER_RESPONSE" | "UNEXPECTED_ERROR";
|
|
130
|
+
error?: unknown;
|
|
131
|
+
};
|
|
132
|
+
type: "aws" | "cloudflare" | "customcaptcha" | "funcaptcha" | "geetest" | "hcaptcha" | "lemincaptcha" | "recaptcha" | "textcaptcha";
|
|
133
|
+
status: "error";
|
|
134
|
+
id: string;
|
|
135
|
+
tabId: number;
|
|
136
|
+
retryCount?: number | undefined;
|
|
137
|
+
}>]>;
|
|
138
|
+
type Captcha = z.infer<typeof captchaSchema>;
|
|
139
|
+
type CaptchaCallback = (captcha: Captcha) => Promise<void> | void;
|
|
140
|
+
|
|
141
|
+
type WithWaitForCaptchaSolveOptions = {
|
|
142
|
+
page: Page;
|
|
143
|
+
timeoutInMs?: number;
|
|
144
|
+
settleDurationMs?: number;
|
|
145
|
+
waitForNetworkSettled?: boolean;
|
|
146
|
+
};
|
|
147
|
+
declare function withWaitForCaptchaSolve<T>(callback: (page: Page) => Promise<T>, options: WithWaitForCaptchaSolveOptions): Promise<T>;
|
|
148
|
+
declare function waitForCaptchaSolve(page: Page, { timeoutInMs, settleDurationMs, }?: Pick<WithWaitForCaptchaSolveOptions, "timeoutInMs" | "settleDurationMs">): Promise<void>;
|
|
149
|
+
declare function removeCaptchaEventListener(page: Page, status: CaptchaStatus, f: CaptchaCallback): Promise<void>;
|
|
150
|
+
declare function onCaptchaEvent(page: Page, status: CaptchaStatus, f: CaptchaCallback): Promise<void>;
|
|
151
|
+
declare function onceCaptchaEvent(page: Page, status: CaptchaStatus, f: CaptchaCallback): Promise<void>;
|
|
152
|
+
declare function pauseCaptchaSolver(context: BrowserContext): Promise<void>;
|
|
153
|
+
declare function resumeCaptchaSolver(context: BrowserContext): Promise<void>;
|
|
154
|
+
|
|
155
|
+
/**
|
|
156
|
+
* Retrieves the base URL and API key for the Intuned AI Gateway.
|
|
157
|
+
|
|
158
|
+
* Returns:
|
|
159
|
+
* { baseUrl: string, apiKey: string }: An object containing the base URL and API key
|
|
160
|
+
*/
|
|
161
|
+
declare function getAiGatewayConfig(): {
|
|
162
|
+
baseUrl: string;
|
|
163
|
+
apiKey: string;
|
|
164
|
+
};
|
|
165
|
+
|
|
166
|
+
declare function getDownloadDirectoryPath(): string;
|
|
167
|
+
|
|
168
|
+
export { RunError, attemptStore, extendPayload, extendTimeout, getAiGatewayConfig, getAuthSessionParameters, getDownloadDirectoryPath, onCaptchaEvent, onceCaptchaEvent, pauseCaptchaSolver, persistentStore, removeCaptchaEventListener, resumeCaptchaSolver, runInfo, waitForCaptchaSolve, withWaitForCaptchaSolve };
|