@intuned/runtime 1.3.18-interface.7 → 1.3.18
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/.babelrc +27 -0
- package/.claude/settings.local.json +7 -0
- package/.eslintignore +10 -0
- package/.eslintrc.js +39 -0
- package/InterfaceTemplate/__utils.ts +63 -0
- package/InterfaceTemplate/index.playwright.ts +6 -0
- package/dist/commands/api/run.d.ts +6 -0
- package/dist/commands/api/run.js +119 -0
- package/dist/commands/auth-sessions/load.d.ts +2 -0
- package/dist/commands/auth-sessions/load.js +35 -0
- package/dist/commands/auth-sessions/run-check.d.ts +2 -0
- package/dist/commands/auth-sessions/run-check.js +74 -0
- package/dist/commands/auth-sessions/run-create.d.ts +2 -0
- package/dist/commands/auth-sessions/run-create.js +78 -0
- package/dist/commands/browser/save-state.d.ts +2 -0
- package/dist/commands/browser/save-state.js +17 -0
- package/dist/commands/browser/start-browser.d.ts +2 -0
- package/dist/commands/browser/start-browser.js +14 -0
- package/dist/commands/build.d.ts +1 -0
- package/dist/commands/build.js +83 -0
- package/dist/commands/common/browserUtils.d.ts +14 -0
- package/dist/commands/common/browserUtils.js +57 -0
- package/dist/commands/common/getFirstLineNumber.d.ts +9 -0
- package/dist/commands/common/getFirstLineNumber.js +101 -0
- package/dist/commands/common/getFirstLineNumber.test.js +227 -0
- package/dist/commands/common/projectExclusions.d.ts +2 -0
- package/dist/commands/common/projectExclusions.js +8 -0
- package/dist/commands/common/sendMessageToClient.d.ts +1 -0
- package/dist/commands/common/sendMessageToClient.js +10 -0
- package/dist/commands/common/tsNodeImport.d.ts +2 -0
- package/dist/commands/common/tsNodeImport.js +42 -0
- package/dist/commands/common/utils/fileUtils.d.ts +6 -0
- package/dist/commands/common/utils/fileUtils.js +32 -0
- package/dist/commands/common/utils/interfaceClient.d.ts +31 -0
- package/dist/commands/common/utils/interfaceClient.js +98 -0
- package/dist/commands/common/utils/settings.d.ts +2 -0
- package/dist/commands/common/utils/settings.js +31 -0
- package/dist/commands/common/utils/template.d.ts +2 -0
- package/dist/commands/common/utils/template.js +30 -0
- package/dist/commands/get-headless-user-agent.d.ts +1 -0
- package/dist/commands/get-headless-user-agent.js +18 -0
- package/dist/commands/interface/run.d.ts +1 -3
- package/dist/commands/interface/run.js +139 -2047
- package/dist/commands/intuned-cli/commands/attempt.command.d.ts +1 -0
- package/dist/commands/intuned-cli/commands/attempt.command.js +8 -0
- package/dist/commands/intuned-cli/commands/attempt_api.command.d.ts +1 -0
- package/dist/commands/intuned-cli/commands/attempt_api.command.js +30 -0
- package/dist/commands/intuned-cli/commands/attempt_authsession.command.d.ts +1 -0
- package/dist/commands/intuned-cli/commands/attempt_authsession.command.js +8 -0
- package/dist/commands/intuned-cli/commands/attempt_authsession_check.command.d.ts +1 -0
- package/dist/commands/intuned-cli/commands/attempt_authsession_check.command.js +19 -0
- package/dist/commands/intuned-cli/commands/attempt_authsession_create.command.d.ts +1 -0
- package/dist/commands/intuned-cli/commands/attempt_authsession_create.command.js +24 -0
- package/dist/commands/intuned-cli/commands/authsession.command.d.ts +1 -0
- package/dist/commands/intuned-cli/commands/authsession.command.js +8 -0
- package/dist/commands/intuned-cli/commands/authsession_record.command.d.ts +1 -0
- package/dist/commands/intuned-cli/commands/authsession_record.command.js +32 -0
- package/dist/commands/intuned-cli/commands/authsession_scaffold.command.d.ts +1 -0
- package/dist/commands/intuned-cli/commands/authsession_scaffold.command.js +16 -0
- package/dist/commands/intuned-cli/commands/build.command.d.ts +1 -0
- package/dist/commands/intuned-cli/commands/build.command.js +12 -0
- package/dist/commands/intuned-cli/commands/command.d.ts +2 -0
- package/dist/commands/intuned-cli/commands/command.js +9 -0
- package/dist/commands/intuned-cli/commands/deploy.command.d.ts +1 -0
- package/dist/commands/intuned-cli/commands/deploy.command.js +42 -0
- package/dist/commands/intuned-cli/commands/index.d.ts +18 -0
- package/dist/commands/intuned-cli/commands/index.js +203 -0
- package/dist/commands/intuned-cli/commands/provision.command.d.ts +13 -0
- package/dist/commands/intuned-cli/commands/provision.command.js +50 -0
- package/dist/commands/intuned-cli/commands/run.command.d.ts +1 -0
- package/dist/commands/intuned-cli/commands/run.command.js +8 -0
- package/dist/commands/intuned-cli/commands/run_api.command.d.ts +1 -0
- package/dist/commands/intuned-cli/commands/run_api.command.js +46 -0
- package/dist/commands/intuned-cli/commands/run_authsession.command.d.ts +35 -0
- package/dist/commands/intuned-cli/commands/run_authsession.command.js +17 -0
- package/dist/commands/intuned-cli/commands/run_authsession_create.command.d.ts +1 -0
- package/dist/commands/intuned-cli/commands/run_authsession_create.command.js +35 -0
- package/dist/commands/intuned-cli/commands/run_authsession_update.command.d.ts +1 -0
- package/dist/commands/intuned-cli/commands/run_authsession_update.command.js +35 -0
- package/dist/commands/intuned-cli/commands/run_authsession_validate.command.d.ts +1 -0
- package/dist/commands/intuned-cli/commands/run_authsession_validate.command.js +33 -0
- package/dist/commands/intuned-cli/commands/types.d.ts +39 -0
- package/dist/commands/intuned-cli/commands/types.js +33 -0
- package/dist/commands/intuned-cli/constants/index.d.ts +17 -0
- package/dist/commands/intuned-cli/constants/index.js +25 -0
- package/dist/commands/intuned-cli/controller/__test__/api.test.js +399 -0
- package/dist/commands/intuned-cli/controller/__test__/authSession.test.js +1061 -0
- package/dist/commands/intuned-cli/controller/api.d.ts +42 -0
- package/dist/commands/intuned-cli/controller/api.js +194 -0
- package/dist/commands/intuned-cli/controller/authSession.d.ts +209 -0
- package/dist/commands/intuned-cli/controller/authSession.js +425 -0
- package/dist/commands/intuned-cli/controller/build.d.ts +1 -0
- package/dist/commands/intuned-cli/controller/build.js +35 -0
- package/dist/commands/intuned-cli/controller/deploy.d.ts +5 -0
- package/dist/commands/intuned-cli/controller/deploy.js +317 -0
- package/dist/commands/intuned-cli/controller/index.d.ts +1 -0
- package/dist/commands/intuned-cli/controller/index.js +45 -0
- package/dist/commands/intuned-cli/controller/provision.d.ts +21 -0
- package/dist/commands/intuned-cli/controller/provision.js +299 -0
- package/dist/commands/intuned-cli/controller/scaffold.d.ts +1 -0
- package/dist/commands/intuned-cli/controller/scaffold.js +77 -0
- package/dist/commands/intuned-cli/helpers/__test__/browser.test.js +152 -0
- package/dist/commands/intuned-cli/helpers/__test__/tracing.test.js +41 -0
- package/dist/commands/intuned-cli/helpers/api.d.ts +3 -0
- package/dist/commands/intuned-cli/helpers/api.js +16 -0
- package/dist/commands/intuned-cli/helpers/auth.d.ts +46 -0
- package/dist/commands/intuned-cli/helpers/auth.js +147 -0
- package/dist/commands/intuned-cli/helpers/backend.d.ts +8 -0
- package/dist/commands/intuned-cli/helpers/backend.js +35 -0
- package/dist/commands/intuned-cli/helpers/browser.d.ts +14 -0
- package/dist/commands/intuned-cli/helpers/browser.js +93 -0
- package/dist/commands/intuned-cli/helpers/context.d.ts +3 -0
- package/dist/commands/intuned-cli/helpers/context.js +33 -0
- package/dist/commands/intuned-cli/helpers/errors.d.ts +16 -0
- package/dist/commands/intuned-cli/helpers/errors.js +44 -0
- package/dist/commands/intuned-cli/helpers/index.d.ts +12 -0
- package/dist/commands/intuned-cli/helpers/index.js +137 -0
- package/dist/commands/intuned-cli/helpers/intunedJson.d.ts +39 -0
- package/dist/commands/intuned-cli/helpers/intunedJson.js +20 -0
- package/dist/commands/intuned-cli/helpers/prompts.d.ts +3 -0
- package/dist/commands/intuned-cli/helpers/prompts.js +71 -0
- package/dist/commands/intuned-cli/helpers/proxy.d.ts +5 -0
- package/dist/commands/intuned-cli/helpers/proxy.js +23 -0
- package/dist/commands/intuned-cli/helpers/terminal.d.ts +5 -0
- package/dist/commands/intuned-cli/helpers/terminal.js +13 -0
- package/dist/commands/intuned-cli/helpers/timeout.d.ts +1 -0
- package/dist/commands/intuned-cli/helpers/timeout.js +23 -0
- package/dist/commands/intuned-cli/helpers/traces.d.ts +2 -0
- package/dist/commands/intuned-cli/helpers/traces.js +32 -0
- package/dist/commands/intuned-cli/helpers/validation.d.ts +2 -0
- package/dist/commands/intuned-cli/helpers/validation.js +14 -0
- package/dist/commands/intuned-cli/helpers/wrapper.d.ts +2 -0
- package/dist/commands/intuned-cli/helpers/wrapper.js +76 -0
- package/dist/commands/intuned-cli/index.d.ts +1 -0
- package/dist/commands/intuned-cli/index.js +16 -0
- package/dist/commands/intuned-cli/main.d.ts +1 -0
- package/dist/commands/intuned-cli/main.js +35 -0
- package/dist/commands/intuned-cli/types.d.ts +70 -0
- package/dist/commands/intuned-cli/types.js +22 -0
- package/dist/commands/ts-check.d.ts +2 -0
- package/dist/commands/ts-check.js +55 -0
- package/dist/common/Logger/Logger/index.d.ts +12 -0
- package/dist/common/Logger/Logger/index.js +60 -0
- package/dist/common/Logger/Logger/types.d.ts +8 -0
- package/dist/common/Logger/Logger/types.js +5 -0
- package/dist/common/Logger/index.d.ts +12 -0
- package/dist/common/Logger/index.js +60 -0
- package/dist/common/Logger/types.d.ts +8 -0
- package/dist/common/Logger/types.js +5 -0
- package/dist/common/asyncLocalStorage/index.d.ts +8 -9
- package/dist/common/asyncLocalStorage/index.js +9 -34
- package/dist/common/backendFunctions/getAuthSessionParameters.d.ts +1 -0
- package/dist/common/backendFunctions/getAuthSessionParameters.js +38 -0
- package/dist/common/binStartupScript.d.ts +1 -2
- package/dist/common/binStartupScript.js +10 -127
- package/dist/common/browserTabs.d.ts +72 -0
- package/dist/common/browserTabs.js +74 -0
- package/dist/common/cleanEnvironmentVariables.d.ts +1 -3
- package/dist/common/cleanEnvironmentVariables.js +7 -30
- package/dist/common/constants.d.ts +11 -13
- package/dist/common/constants.js +15 -58
- package/dist/common/contextStorageStateHelpers.d.ts +6 -8
- package/dist/common/contextStorageStateHelpers.js +22 -47
- package/dist/common/extension/extensionsHelpers.d.ts +11 -0
- package/dist/common/extension/extensionsHelpers.js +147 -0
- package/dist/common/extension/intunedExtensionServer.d.ts +24 -0
- package/dist/common/extension/intunedExtensionServer.js +178 -0
- package/dist/common/extension/types.d.ts +219 -0
- package/dist/common/extension/types.js +51 -0
- package/dist/common/formatZodError.d.ts +2 -0
- package/dist/{chunk-NDMVGENG.mjs → common/formatZodError.js} +9 -9
- package/dist/common/intunedJson.d.ts +229 -0
- package/dist/common/intunedJson.js +132 -0
- package/dist/common/jwtTokenManager.d.ts +4 -6
- package/dist/common/jwtTokenManager.js +40 -108
- package/dist/common/launchBrowser.d.ts +34 -0
- package/dist/common/launchBrowser.js +247 -0
- package/dist/common/playwrightContext.d.ts +29 -0
- package/dist/common/playwrightContext.js +148 -0
- package/dist/common/runApi/importUsingImportFunction.d.ts +7 -0
- package/dist/common/runApi/importUsingImportFunction.js +46 -0
- package/dist/common/runApi/index.d.ts +6 -9
- package/dist/common/runApi/index.js +73 -1782
- package/dist/common/settingsSchema.d.ts +6 -9
- package/dist/common/settingsSchema.js +18 -54
- package/dist/common/setupContextHook.d.ts +16 -0
- package/dist/common/setupContextHook.js +22 -0
- package/dist/common/telemetry.d.ts +3 -6
- package/dist/common/telemetry.js +8 -41
- package/dist/index.d.ts +4 -6
- package/dist/index.js +92 -784
- package/dist/runtime/RunError.d.ts +5 -0
- package/dist/runtime/RunError.js +19 -0
- package/dist/runtime/attemptStore.d.ts +2 -0
- package/dist/runtime/attemptStore.js +23 -0
- package/dist/runtime/captcha.d.ts +15 -0
- package/dist/runtime/captcha.js +191 -0
- package/dist/runtime/captcha.test.js +821 -0
- package/dist/runtime/downloadDirectory.d.ts +1 -0
- package/dist/runtime/downloadDirectory.js +19 -0
- package/dist/runtime/enums.d.js +5 -0
- package/dist/runtime/enums.d.ts +11 -0
- package/dist/runtime/enums.js +18 -0
- package/dist/runtime/executionHelpers.test.js +52 -0
- package/dist/runtime/export.d.js +5 -0
- package/dist/runtime/export.d.ts +284 -0
- package/dist/runtime/extendPayload.d.ts +2 -0
- package/dist/runtime/extendPayload.js +21 -0
- package/dist/runtime/extendTimeout.d.ts +1 -0
- package/dist/runtime/extendTimeout.js +23 -0
- package/dist/runtime/getAiGatewayConfig.d.ts +10 -0
- package/dist/runtime/getAiGatewayConfig.js +16 -0
- package/dist/runtime/getAuthSessionParameters.d.ts +1 -0
- package/dist/runtime/getAuthSessionParameters.js +20 -0
- package/dist/runtime/index.d.ts +10 -168
- package/dist/runtime/index.js +88 -779
- package/dist/runtime/persistentStore.d.ts +2 -0
- package/dist/runtime/persistentStore.js +37 -0
- package/dist/runtime/persistentStore.test.js +101 -0
- package/dist/runtime/runInfo.d.ts +2 -0
- package/dist/runtime/runInfo.js +21 -0
- package/dist/vendor/runtime-interface.d.ts +1 -0
- package/dist/vendor/runtime-interface.js +479 -0
- package/package.json +20 -68
- package/template.tsconfig.json +11 -0
- package/tsconfig.eslint.json +5 -0
- package/tsconfig.json +25 -0
- package/tsup.config.ts +12 -0
- package/typedoc.json +49 -0
- package/dist/chunk-6ZRJOUQS.mjs +0 -16
- package/dist/chunk-6ZRJOUQS.mjs.map +0 -1
- package/dist/chunk-7YL2JUTE.mjs +0 -146
- package/dist/chunk-7YL2JUTE.mjs.map +0 -1
- package/dist/chunk-B3T6RXPC.mjs +0 -794
- package/dist/chunk-B3T6RXPC.mjs.map +0 -1
- package/dist/chunk-FGV5T6SI.mjs +0 -27
- package/dist/chunk-FGV5T6SI.mjs.map +0 -1
- package/dist/chunk-G4PO5RIV.mjs +0 -85
- package/dist/chunk-G4PO5RIV.mjs.map +0 -1
- package/dist/chunk-LZOMFHX3.mjs +0 -38
- package/dist/chunk-LZOMFHX3.mjs.map +0 -1
- package/dist/chunk-NDMVGENG.mjs.map +0 -1
- package/dist/chunk-W4UX6G4X.mjs +0 -17
- package/dist/chunk-W4UX6G4X.mjs.map +0 -1
- package/dist/chunk-XC75QGFG.mjs +0 -1106
- package/dist/chunk-XC75QGFG.mjs.map +0 -1
- package/dist/chunk-XOAZ2MGA.mjs +0 -59
- package/dist/chunk-XOAZ2MGA.mjs.map +0 -1
- package/dist/commands/interface/run.d.mts +0 -3
- package/dist/commands/interface/run.js.map +0 -1
- package/dist/commands/interface/run.mjs +0 -255
- package/dist/commands/interface/run.mjs.map +0 -1
- package/dist/common/asyncLocalStorage/index.d.mts +0 -17
- package/dist/common/asyncLocalStorage/index.js.map +0 -1
- package/dist/common/asyncLocalStorage/index.mjs +0 -12
- package/dist/common/asyncLocalStorage/index.mjs.map +0 -1
- package/dist/common/binStartupScript.d.mts +0 -2
- package/dist/common/binStartupScript.js.map +0 -1
- package/dist/common/binStartupScript.mjs +0 -135
- package/dist/common/binStartupScript.mjs.map +0 -1
- package/dist/common/cleanEnvironmentVariables.d.mts +0 -3
- package/dist/common/cleanEnvironmentVariables.js.map +0 -1
- package/dist/common/cleanEnvironmentVariables.mjs +0 -8
- package/dist/common/cleanEnvironmentVariables.mjs.map +0 -1
- package/dist/common/constants.d.mts +0 -13
- package/dist/common/constants.js.map +0 -1
- package/dist/common/constants.mjs +0 -28
- package/dist/common/constants.mjs.map +0 -1
- package/dist/common/contextStorageStateHelpers.d.mts +0 -24
- package/dist/common/contextStorageStateHelpers.js.map +0 -1
- package/dist/common/contextStorageStateHelpers.mjs +0 -10
- package/dist/common/contextStorageStateHelpers.mjs.map +0 -1
- package/dist/common/jwtTokenManager.d.mts +0 -19
- package/dist/common/jwtTokenManager.js.map +0 -1
- package/dist/common/jwtTokenManager.mjs +0 -11
- package/dist/common/jwtTokenManager.mjs.map +0 -1
- package/dist/common/runApi/index.d.mts +0 -11
- package/dist/common/runApi/index.js.map +0 -1
- package/dist/common/runApi/index.mjs +0 -18
- package/dist/common/runApi/index.mjs.map +0 -1
- package/dist/common/settingsSchema.d.mts +0 -540
- package/dist/common/settingsSchema.js.map +0 -1
- package/dist/common/settingsSchema.mjs +0 -10
- package/dist/common/settingsSchema.mjs.map +0 -1
- package/dist/common/telemetry.d.mts +0 -6
- package/dist/common/telemetry.js.map +0 -1
- package/dist/common/telemetry.mjs +0 -31
- package/dist/common/telemetry.mjs.map +0 -1
- package/dist/export.d-BAUMB-lG.d.mts +0 -140
- package/dist/export.d-BAUMB-lG.d.ts +0 -140
- package/dist/index.d.mts +0 -6
- package/dist/index.js.map +0 -1
- package/dist/index.mjs +0 -47
- package/dist/index.mjs.map +0 -1
- package/dist/runtime/index.d.mts +0 -168
- package/dist/runtime/index.js.map +0 -1
- package/dist/runtime/index.mjs +0 -42
- package/dist/runtime/index.mjs.map +0 -1
- /package/dist/common/assets/{assets/browser_scripts.js → browser_scripts.js} +0 -0
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.runAuthSessionCommand = exports.baseRunAuthSessionCommandOptionsSchema = void 0;
|
|
7
|
+
exports.withAuthSessionBaseOptions = withAuthSessionBaseOptions;
|
|
8
|
+
var _types = require("./types");
|
|
9
|
+
var _run = require("./run.command");
|
|
10
|
+
const baseRunAuthSessionCommandOptionsSchema = exports.baseRunAuthSessionCommandOptionsSchema = _types.baseCommandOptionsSchema.extend({
|
|
11
|
+
checkAttempts: _types.authSessionCheckAttemptsSchema,
|
|
12
|
+
createAttempts: _types.authSessionCreateAttemptsSchema
|
|
13
|
+
});
|
|
14
|
+
const runAuthSessionCommand = exports.runAuthSessionCommand = _run.runCommand.command("authsession").description("Execute AuthSession Runs");
|
|
15
|
+
function withAuthSessionBaseOptions(command) {
|
|
16
|
+
return (0, _types.withBaseOptions)(command.option("--check-attempts <number>", "Number of attempts to check the AuthSession validity", "1").option("--create-attempts <number>", "Number of attempts to create a new AuthSession if it is invalid", "1"));
|
|
17
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare const runAuthSessionCreateCommand: import("commander").Command, authSessionCreateCommand: import("commander").Command;
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.runAuthSessionCreateCommand = exports.authSessionCreateCommand = void 0;
|
|
7
|
+
var _controller = require("../controller");
|
|
8
|
+
var _zod = require("zod");
|
|
9
|
+
var _authSession = require("../controller/authSession");
|
|
10
|
+
var _run_authsession = require("./run_authsession.command");
|
|
11
|
+
var _helpers = require("../helpers");
|
|
12
|
+
var _authsession = require("./authsession.command");
|
|
13
|
+
const argsSchema = _zod.z.tuple([_zod.z.string().min(1, "Parameters are required")]);
|
|
14
|
+
const optionsSchema = _run_authsession.baseRunAuthSessionCommandOptionsSchema.extend({
|
|
15
|
+
id: _zod.z.string().optional()
|
|
16
|
+
});
|
|
17
|
+
const commands = [_run_authsession.runAuthSessionCommand.command("create"), _authsession.authSessionCommand.command("create")];
|
|
18
|
+
const [runAuthSessionCreateCommand, authSessionCreateCommand] = commands.map(command => (0, _run_authsession.withAuthSessionBaseOptions)(command.description("Create a new AuthSession").argument("<parameters>", "Parameters for the AuthSession command").option("--id <id>", "ID of the AuthSession to use for the command. Defaults to auth-session-[current timestamp]")).action((0, _helpers.cliCommandWrapper)(argsSchema, optionsSchema, async ([parameters], {
|
|
19
|
+
checkAttempts,
|
|
20
|
+
createAttempts,
|
|
21
|
+
id,
|
|
22
|
+
...rest
|
|
23
|
+
}) => {
|
|
24
|
+
await (0, _helpers.assertAuthEnabled)();
|
|
25
|
+
const authSessionInput = (await (0, _controller.loadParameters)(parameters)) ?? {};
|
|
26
|
+
await (0, _authSession.executeRunCreateAuthSessionCLI)({
|
|
27
|
+
id,
|
|
28
|
+
checkRetries: checkAttempts,
|
|
29
|
+
createRetries: createAttempts,
|
|
30
|
+
input: authSessionInput,
|
|
31
|
+
...rest
|
|
32
|
+
});
|
|
33
|
+
})));
|
|
34
|
+
exports.authSessionCreateCommand = authSessionCreateCommand;
|
|
35
|
+
exports.runAuthSessionCreateCommand = runAuthSessionCreateCommand;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare const runAuthSessionUpdateCommand: import("commander").Command, authSessionUpdateCommand: import("commander").Command;
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.runAuthSessionUpdateCommand = exports.authSessionUpdateCommand = void 0;
|
|
7
|
+
var _controller = require("../controller");
|
|
8
|
+
var _zod = require("zod");
|
|
9
|
+
var _authSession = require("../controller/authSession");
|
|
10
|
+
var _run_authsession = require("./run_authsession.command");
|
|
11
|
+
var _helpers = require("../helpers");
|
|
12
|
+
var _authsession = require("./authsession.command");
|
|
13
|
+
const argsSchema = _zod.z.tuple([_zod.z.string().min(1, "ID of the AuthSession is required")]);
|
|
14
|
+
const optionsSchema = _run_authsession.baseRunAuthSessionCommandOptionsSchema.extend({
|
|
15
|
+
parameters: _zod.z.string().optional()
|
|
16
|
+
});
|
|
17
|
+
const commands = [_run_authsession.runAuthSessionCommand.command("update"), _authsession.authSessionCommand.command("update")];
|
|
18
|
+
const [runAuthSessionUpdateCommand, authSessionUpdateCommand] = commands.map(command => (0, _run_authsession.withAuthSessionBaseOptions)(command.description("Update an existing AuthSession").argument("<id>", "ID of the AuthSession to update").option("--parameters <parameters>", "Parameters for the AuthSession command. If not provided, it will use the existing parameters")).action((0, _helpers.cliCommandWrapper)(argsSchema, optionsSchema, async ([id], {
|
|
19
|
+
checkAttempts,
|
|
20
|
+
createAttempts,
|
|
21
|
+
parameters,
|
|
22
|
+
...rest
|
|
23
|
+
}) => {
|
|
24
|
+
await (0, _helpers.assertAuthEnabled)();
|
|
25
|
+
const authSessionInput = parameters ? await (0, _controller.loadParameters)(parameters) : undefined;
|
|
26
|
+
await (0, _authSession.executeRunUpdateAuthSessionCLI)({
|
|
27
|
+
id,
|
|
28
|
+
input: authSessionInput,
|
|
29
|
+
checkRetries: checkAttempts,
|
|
30
|
+
createRetries: createAttempts,
|
|
31
|
+
...rest
|
|
32
|
+
});
|
|
33
|
+
})));
|
|
34
|
+
exports.authSessionUpdateCommand = authSessionUpdateCommand;
|
|
35
|
+
exports.runAuthSessionUpdateCommand = runAuthSessionUpdateCommand;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare const runAuthSessionValidateCommand: import("commander").Command, authSessionValidateCommand: import("commander").Command;
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.runAuthSessionValidateCommand = exports.authSessionValidateCommand = void 0;
|
|
7
|
+
var _zod = require("zod");
|
|
8
|
+
var _authSession = require("../controller/authSession");
|
|
9
|
+
var _run_authsession = require("./run_authsession.command");
|
|
10
|
+
var _helpers = require("../helpers");
|
|
11
|
+
var _authsession = require("./authsession.command");
|
|
12
|
+
const argsSchema = _zod.z.tuple([_zod.z.string().min(1, "ID of the AuthSession is required")]);
|
|
13
|
+
const optionsSchema = _run_authsession.baseRunAuthSessionCommandOptionsSchema.extend({
|
|
14
|
+
autoRecreate: _zod.z.boolean().default(true)
|
|
15
|
+
});
|
|
16
|
+
const commands = [_run_authsession.runAuthSessionCommand.command("validate"), _authsession.authSessionCommand.command("validate")];
|
|
17
|
+
const [runAuthSessionValidateCommand, authSessionValidateCommand] = commands.map(command => (0, _run_authsession.withAuthSessionBaseOptions)(command.description("Validate an existing AuthSession").argument("<id>", "ID of the AuthSession to validate").option("--no-auto-recreate", "Disable auto recreation of the AuthSession if it is invalid")).action((0, _helpers.cliCommandWrapper)(argsSchema, optionsSchema, async ([id], {
|
|
18
|
+
autoRecreate,
|
|
19
|
+
checkAttempts,
|
|
20
|
+
createAttempts,
|
|
21
|
+
...rest
|
|
22
|
+
}) => {
|
|
23
|
+
await (0, _helpers.assertAuthEnabled)();
|
|
24
|
+
await (0, _authSession.executeRunValidateAuthSessionCLI)({
|
|
25
|
+
id,
|
|
26
|
+
autoRecreate,
|
|
27
|
+
checkRetries: checkAttempts,
|
|
28
|
+
createRetries: createAttempts,
|
|
29
|
+
...rest
|
|
30
|
+
});
|
|
31
|
+
})));
|
|
32
|
+
exports.authSessionValidateCommand = authSessionValidateCommand;
|
|
33
|
+
exports.runAuthSessionValidateCommand = runAuthSessionValidateCommand;
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
import { Command } from "commander";
|
|
2
|
+
import ms from "ms";
|
|
3
|
+
import { z } from "zod";
|
|
4
|
+
export declare const authSessionCheckAttemptsSchema: z.ZodDefault<z.ZodNumber>;
|
|
5
|
+
export declare const authSessionCreateAttemptsSchema: z.ZodDefault<z.ZodNumber>;
|
|
6
|
+
export declare const proxySchema: z.ZodOptional<z.ZodString>;
|
|
7
|
+
export declare const timeoutSchema: z.ZodEffects<z.ZodEffects<z.ZodDefault<z.ZodString>, ms.StringValue, string | undefined>, number, string | undefined>;
|
|
8
|
+
export declare const headlessSchema: z.ZodDefault<z.ZodBoolean>;
|
|
9
|
+
export declare const traceSchema: z.ZodDefault<z.ZodBoolean>;
|
|
10
|
+
export declare const keepBrowserOpenSchema: z.ZodDefault<z.ZodBoolean>;
|
|
11
|
+
export declare const cdpUrlSchema: z.ZodOptional<z.ZodString>;
|
|
12
|
+
export declare const cdpTabIdSchema: z.ZodOptional<z.ZodString>;
|
|
13
|
+
export declare const baseCommandOptionsSchema: z.ZodObject<{
|
|
14
|
+
proxy: z.ZodOptional<z.ZodString>;
|
|
15
|
+
timeout: z.ZodEffects<z.ZodEffects<z.ZodDefault<z.ZodString>, ms.StringValue, string | undefined>, number, string | undefined>;
|
|
16
|
+
headless: z.ZodDefault<z.ZodBoolean>;
|
|
17
|
+
trace: z.ZodDefault<z.ZodBoolean>;
|
|
18
|
+
keepBrowserOpen: z.ZodDefault<z.ZodBoolean>;
|
|
19
|
+
cdpUrl: z.ZodOptional<z.ZodString>;
|
|
20
|
+
cdpTabId: z.ZodOptional<z.ZodString>;
|
|
21
|
+
}, "strip", z.ZodTypeAny, {
|
|
22
|
+
timeout: number;
|
|
23
|
+
trace: boolean;
|
|
24
|
+
headless: boolean;
|
|
25
|
+
keepBrowserOpen: boolean;
|
|
26
|
+
proxy?: string | undefined;
|
|
27
|
+
cdpUrl?: string | undefined;
|
|
28
|
+
cdpTabId?: string | undefined;
|
|
29
|
+
}, {
|
|
30
|
+
proxy?: string | undefined;
|
|
31
|
+
timeout?: string | undefined;
|
|
32
|
+
trace?: boolean | undefined;
|
|
33
|
+
headless?: boolean | undefined;
|
|
34
|
+
keepBrowserOpen?: boolean | undefined;
|
|
35
|
+
cdpUrl?: string | undefined;
|
|
36
|
+
cdpTabId?: string | undefined;
|
|
37
|
+
}>;
|
|
38
|
+
export type BaseCommandOptions = z.infer<typeof baseCommandOptionsSchema>;
|
|
39
|
+
export declare function withBaseOptions(command: Command): Command;
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.traceSchema = exports.timeoutSchema = exports.proxySchema = exports.keepBrowserOpenSchema = exports.headlessSchema = exports.cdpUrlSchema = exports.cdpTabIdSchema = exports.baseCommandOptionsSchema = exports.authSessionCreateAttemptsSchema = exports.authSessionCheckAttemptsSchema = void 0;
|
|
7
|
+
exports.withBaseOptions = withBaseOptions;
|
|
8
|
+
var _ms = _interopRequireDefault(require("ms"));
|
|
9
|
+
var _zod = require("zod");
|
|
10
|
+
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
|
11
|
+
const authSessionCheckAttemptsSchema = exports.authSessionCheckAttemptsSchema = _zod.z.coerce.number().int().min(1, "AuthSession check attempts must be at least 1").default(1);
|
|
12
|
+
const authSessionCreateAttemptsSchema = exports.authSessionCreateAttemptsSchema = _zod.z.coerce.number().int().min(1, "AuthSession create attempts must be at least 1").default(1);
|
|
13
|
+
const proxySchema = exports.proxySchema = _zod.z.string().url("--proxy must be a valid URL").optional();
|
|
14
|
+
const timeoutSchema = exports.timeoutSchema = _zod.z.string().default("10 mins").refine(val => {
|
|
15
|
+
return (0, _ms.default)(val) !== undefined;
|
|
16
|
+
}, "--timeout must be a valid integer or ms-formatted string").transform(val => (0, _ms.default)(val));
|
|
17
|
+
const headlessSchema = exports.headlessSchema = _zod.z.boolean().default(false);
|
|
18
|
+
const traceSchema = exports.traceSchema = _zod.z.boolean().default(false);
|
|
19
|
+
const keepBrowserOpenSchema = exports.keepBrowserOpenSchema = _zod.z.boolean().default(false);
|
|
20
|
+
const cdpUrlSchema = exports.cdpUrlSchema = _zod.z.string().url().optional();
|
|
21
|
+
const cdpTabIdSchema = exports.cdpTabIdSchema = _zod.z.string().min(1).optional();
|
|
22
|
+
const baseCommandOptionsSchema = exports.baseCommandOptionsSchema = _zod.z.object({
|
|
23
|
+
proxy: proxySchema,
|
|
24
|
+
timeout: timeoutSchema,
|
|
25
|
+
headless: headlessSchema,
|
|
26
|
+
trace: traceSchema,
|
|
27
|
+
keepBrowserOpen: keepBrowserOpenSchema,
|
|
28
|
+
cdpUrl: cdpUrlSchema,
|
|
29
|
+
cdpTabId: cdpTabIdSchema
|
|
30
|
+
});
|
|
31
|
+
function withBaseOptions(command) {
|
|
32
|
+
return command.option("--proxy <url>", "Proxy URL to use for browser").option("--timeout <time>", "Timeout for each attempt - milliseconds or ms-formatted string", "10 mins").option("--headless", "Run the attempts in a headless browser (default: false). This will not open a browser window.").option("--trace", "Capture a trace of each attempt, useful for debugging.").option("--keep-browser-open", "Keep the last browser open after the command completes, useful for debugging.").option("--cdp-url <url>", "Chrome DevTools Protocol URL to connect to an existing browser instance. Disables proxy, headless, keep_browser_open options.").option("--cdp-tab-id <tab_id>", "Browser tab ID to execute on. Requires --cdp-url. If not specified, uses the first tab. Defaults to None.");
|
|
33
|
+
}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
export declare const CURRENT_PLAYWRIGHT_VERSION = "1.44.1";
|
|
2
|
+
export declare const ProjectDeploymentStatus: readonly ["completed", "failed", "pending", "not_found"];
|
|
3
|
+
export declare const PROJECT_DEPLOY_TIMEOUT: number;
|
|
4
|
+
export declare const PROJECT_DEPLOY_CHECK_PERIOD: number;
|
|
5
|
+
export declare const tsConfigCli: {
|
|
6
|
+
compilerOptions: {
|
|
7
|
+
moduleResolution: string;
|
|
8
|
+
module: string;
|
|
9
|
+
target: string;
|
|
10
|
+
outDir: string;
|
|
11
|
+
sourceMap: boolean;
|
|
12
|
+
declaration: boolean;
|
|
13
|
+
esModuleInterop: boolean;
|
|
14
|
+
};
|
|
15
|
+
include: string[];
|
|
16
|
+
exclude: string[];
|
|
17
|
+
};
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.tsConfigCli = exports.ProjectDeploymentStatus = exports.PROJECT_DEPLOY_TIMEOUT = exports.PROJECT_DEPLOY_CHECK_PERIOD = exports.CURRENT_PLAYWRIGHT_VERSION = void 0;
|
|
7
|
+
var _ms = _interopRequireDefault(require("ms"));
|
|
8
|
+
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
|
9
|
+
const CURRENT_PLAYWRIGHT_VERSION = exports.CURRENT_PLAYWRIGHT_VERSION = "1.44.1";
|
|
10
|
+
const ProjectDeploymentStatus = exports.ProjectDeploymentStatus = ["completed", "failed", "pending", "not_found"];
|
|
11
|
+
const PROJECT_DEPLOY_TIMEOUT = exports.PROJECT_DEPLOY_TIMEOUT = (0, _ms.default)("10 minutes");
|
|
12
|
+
const PROJECT_DEPLOY_CHECK_PERIOD = exports.PROJECT_DEPLOY_CHECK_PERIOD = (0, _ms.default)("5 seconds");
|
|
13
|
+
const tsConfigCli = exports.tsConfigCli = {
|
|
14
|
+
compilerOptions: {
|
|
15
|
+
moduleResolution: "NodeNext",
|
|
16
|
+
module: "NodeNext",
|
|
17
|
+
target: "ES2021",
|
|
18
|
+
outDir: "./dist",
|
|
19
|
+
sourceMap: false,
|
|
20
|
+
declaration: true,
|
|
21
|
+
esModuleInterop: true
|
|
22
|
+
},
|
|
23
|
+
include: ["**/*.ts"],
|
|
24
|
+
exclude: ["node_modules", "dist"]
|
|
25
|
+
};
|
|
@@ -0,0 +1,399 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _vitest = require("vitest");
|
|
4
|
+
var _api = require("../api");
|
|
5
|
+
var _authSession = require("../authSession");
|
|
6
|
+
var _helpers = require("../../helpers");
|
|
7
|
+
var _neverthrow = require("neverthrow");
|
|
8
|
+
var _runApi = require("../../../../common/runApi");
|
|
9
|
+
var _runtimeInterface = require("../../../../vendor/runtime-interface");
|
|
10
|
+
var _fsExtra = require("fs-extra");
|
|
11
|
+
var _browser = require("../../helpers/browser");
|
|
12
|
+
function getTerminal() {
|
|
13
|
+
return new Proxy(() => ({}), {
|
|
14
|
+
get: () => getTerminal(),
|
|
15
|
+
apply: () => ({})
|
|
16
|
+
});
|
|
17
|
+
}
|
|
18
|
+
_vitest.vi.mock("fs-extra", () => ({
|
|
19
|
+
ensureDir: _vitest.vi.fn(),
|
|
20
|
+
writeJSON: _vitest.vi.fn(),
|
|
21
|
+
exists: _vitest.vi.fn().mockResolvedValue(true)
|
|
22
|
+
}));
|
|
23
|
+
_vitest.vi.mock("../authSession", async importOriginal => {
|
|
24
|
+
const original = await importOriginal();
|
|
25
|
+
return {
|
|
26
|
+
...original,
|
|
27
|
+
executeRunValidateAuthSessionCLI: _vitest.vi.fn()
|
|
28
|
+
};
|
|
29
|
+
});
|
|
30
|
+
_vitest.vi.mock("../../../../common/runApi", async importOriginal => {
|
|
31
|
+
const original = await importOriginal();
|
|
32
|
+
return {
|
|
33
|
+
...original,
|
|
34
|
+
runApi: _vitest.vi.fn().mockImplementation(() => (0, _neverthrow.ok)({}))
|
|
35
|
+
};
|
|
36
|
+
});
|
|
37
|
+
_vitest.vi.mock("../../helpers/terminal", () => ({
|
|
38
|
+
terminal: getTerminal()
|
|
39
|
+
}));
|
|
40
|
+
_vitest.vi.mock("../../helpers/proxy", async () => {
|
|
41
|
+
return {
|
|
42
|
+
parseUrlProxy: _vitest.vi.fn()
|
|
43
|
+
};
|
|
44
|
+
});
|
|
45
|
+
_vitest.vi.mock("../../helpers/browser", async importOriginal => {
|
|
46
|
+
const original = await importOriginal();
|
|
47
|
+
return {
|
|
48
|
+
getCLIRunOptions: _vitest.vi.fn(({
|
|
49
|
+
keepBrowserOpen: _,
|
|
50
|
+
...rest
|
|
51
|
+
}) => original.getCLIRunOptions({
|
|
52
|
+
keepBrowserOpen: false,
|
|
53
|
+
...rest
|
|
54
|
+
}))
|
|
55
|
+
};
|
|
56
|
+
});
|
|
57
|
+
_vitest.vi.mock("../../helpers", async importOriginal => {
|
|
58
|
+
const original = await importOriginal();
|
|
59
|
+
return {
|
|
60
|
+
...original,
|
|
61
|
+
terminal: getTerminal(),
|
|
62
|
+
assertApiFileExists: _vitest.vi.fn(),
|
|
63
|
+
withCLIContext: _vitest.vi.fn(fn => fn()),
|
|
64
|
+
withTimeout: _vitest.vi.fn(fn => fn()),
|
|
65
|
+
withCLITrace: _vitest.vi.fn(original.withCLITrace),
|
|
66
|
+
registerGetAuthSessionParameters: _vitest.vi.fn()
|
|
67
|
+
};
|
|
68
|
+
});
|
|
69
|
+
(0, _vitest.describe)("API controller", () => {
|
|
70
|
+
(0, _vitest.beforeEach)(() => {
|
|
71
|
+
_vitest.vi.clearAllMocks();
|
|
72
|
+
});
|
|
73
|
+
(0, _vitest.describe)("attemptApi", () => {
|
|
74
|
+
(0, _vitest.it)("calls timeout middleware with timeout", async () => {
|
|
75
|
+
await (0, _api._attemptApi)({
|
|
76
|
+
apiName: "testApi",
|
|
77
|
+
inputData: {},
|
|
78
|
+
headless: false,
|
|
79
|
+
timeout: 6000,
|
|
80
|
+
keepBrowserOpen: false
|
|
81
|
+
});
|
|
82
|
+
(0, _vitest.expect)(_helpers.withTimeout).toHaveBeenCalledWith(_vitest.expect.any(Function), 6000);
|
|
83
|
+
});
|
|
84
|
+
(0, _vitest.it)("uses tracing wrapper with trace id", async () => {
|
|
85
|
+
await (0, _api._attemptApi)({
|
|
86
|
+
apiName: "testApi",
|
|
87
|
+
inputData: {},
|
|
88
|
+
headless: false,
|
|
89
|
+
timeout: 6000,
|
|
90
|
+
keepBrowserOpen: false
|
|
91
|
+
});
|
|
92
|
+
(0, _vitest.expect)(_helpers.withCLITrace).toHaveBeenCalledWith(_vitest.expect.any(Function), undefined);
|
|
93
|
+
_vitest.vi.mocked(_helpers.withCLITrace).mockClear();
|
|
94
|
+
_vitest.vi.mocked(_runApi.runApi).mockClear();
|
|
95
|
+
await (0, _api._attemptApi)({
|
|
96
|
+
apiName: "testApi",
|
|
97
|
+
inputData: {},
|
|
98
|
+
headless: false,
|
|
99
|
+
timeout: 6000,
|
|
100
|
+
keepBrowserOpen: false,
|
|
101
|
+
traceId: "trace-id"
|
|
102
|
+
});
|
|
103
|
+
(0, _vitest.expect)(_helpers.withCLITrace).toHaveBeenCalledWith(_vitest.expect.any(Function), "trace-id");
|
|
104
|
+
});
|
|
105
|
+
(0, _vitest.it)("uses cli browser helper", async () => {
|
|
106
|
+
await (0, _api._attemptApi)({
|
|
107
|
+
apiName: "testApi",
|
|
108
|
+
inputData: {},
|
|
109
|
+
headless: false,
|
|
110
|
+
timeout: 6000,
|
|
111
|
+
keepBrowserOpen: false
|
|
112
|
+
});
|
|
113
|
+
(0, _vitest.expect)(_browser.getCLIRunOptions).toHaveBeenCalledWith(_vitest.expect.objectContaining({
|
|
114
|
+
headless: false,
|
|
115
|
+
keepBrowserOpen: false
|
|
116
|
+
}));
|
|
117
|
+
_vitest.vi.mocked(_helpers.withCLITrace).mockClear();
|
|
118
|
+
_vitest.vi.mocked(_runApi.runApi).mockClear();
|
|
119
|
+
await (0, _api._attemptApi)({
|
|
120
|
+
apiName: "testApi",
|
|
121
|
+
inputData: {},
|
|
122
|
+
headless: true,
|
|
123
|
+
timeout: 6000,
|
|
124
|
+
keepBrowserOpen: true
|
|
125
|
+
});
|
|
126
|
+
(0, _vitest.expect)(_browser.getCLIRunOptions).toHaveBeenCalledWith(_vitest.expect.objectContaining({
|
|
127
|
+
headless: true,
|
|
128
|
+
keepBrowserOpen: true
|
|
129
|
+
}));
|
|
130
|
+
});
|
|
131
|
+
(0, _vitest.it)("calls runApi with correct parameters and parses proxy", async () => {
|
|
132
|
+
_vitest.vi.mocked(_helpers.parseUrlProxy).mockReturnValueOnce("parsed-proxy");
|
|
133
|
+
await (0, _api._attemptApi)({
|
|
134
|
+
apiName: "testApi",
|
|
135
|
+
inputData: "inputData",
|
|
136
|
+
headless: "headless",
|
|
137
|
+
auth: "auth",
|
|
138
|
+
proxy: "proxy",
|
|
139
|
+
timeout: 999999999,
|
|
140
|
+
keepBrowserOpen: false
|
|
141
|
+
});
|
|
142
|
+
(0, _vitest.expect)(_helpers.parseUrlProxy).toHaveBeenCalledWith("proxy");
|
|
143
|
+
(0, _vitest.expect)(_runApi.runApi).toHaveBeenCalledWith(_vitest.expect.objectContaining({
|
|
144
|
+
automationFunction: {
|
|
145
|
+
name: "api/testApi",
|
|
146
|
+
params: "inputData"
|
|
147
|
+
},
|
|
148
|
+
runOptions: {
|
|
149
|
+
headless: "headless",
|
|
150
|
+
environment: "standalone",
|
|
151
|
+
proxy: "parsed-proxy"
|
|
152
|
+
},
|
|
153
|
+
auth: {
|
|
154
|
+
session: {
|
|
155
|
+
type: "state",
|
|
156
|
+
state: "auth"
|
|
157
|
+
}
|
|
158
|
+
},
|
|
159
|
+
importFunction: _vitest.expect.anything()
|
|
160
|
+
}));
|
|
161
|
+
});
|
|
162
|
+
(0, _vitest.it)("returns the result and extended payloads if runApi succeeds", async () => {
|
|
163
|
+
_vitest.vi.mocked(_runApi.runApi).mockResolvedValueOnce((0, _neverthrow.ok)({
|
|
164
|
+
result: "result",
|
|
165
|
+
extendedPayloads: "extendedPayloads"
|
|
166
|
+
}));
|
|
167
|
+
const result = await (0, _api._attemptApi)({
|
|
168
|
+
apiName: "testApi",
|
|
169
|
+
inputData: "inputData",
|
|
170
|
+
headless: "headless",
|
|
171
|
+
auth: "auth",
|
|
172
|
+
timeout: 999999999,
|
|
173
|
+
keepBrowserOpen: false
|
|
174
|
+
});
|
|
175
|
+
(0, _vitest.expect)(result).toEqual({
|
|
176
|
+
result: "result",
|
|
177
|
+
payloadToAppend: "extendedPayloads"
|
|
178
|
+
});
|
|
179
|
+
});
|
|
180
|
+
(0, _vitest.it)("throws the error runApi fails with an error", async () => {
|
|
181
|
+
const error = new Error("runApi failed");
|
|
182
|
+
_vitest.vi.mocked(_runApi.runApi).mockRejectedValueOnce(error);
|
|
183
|
+
await (0, _vitest.expect)((0, _api._attemptApi)({
|
|
184
|
+
apiName: "testApi",
|
|
185
|
+
inputData: "inputData",
|
|
186
|
+
headless: "headless",
|
|
187
|
+
auth: "auth",
|
|
188
|
+
timeout: 999999999,
|
|
189
|
+
keepBrowserOpen: false
|
|
190
|
+
})).rejects.toThrow(error);
|
|
191
|
+
});
|
|
192
|
+
});
|
|
193
|
+
(0, _vitest.describe)("executeRunApiCLI", () => {
|
|
194
|
+
(0, _vitest.it)("enables tracing correctly", async () => {
|
|
195
|
+
await (0, _api.executeRunApiCLI)({
|
|
196
|
+
apiName: "testApi",
|
|
197
|
+
inputData: {},
|
|
198
|
+
retries: 1,
|
|
199
|
+
trace: false
|
|
200
|
+
});
|
|
201
|
+
(0, _vitest.expect)(_runApi.runApi).toHaveBeenCalledWith(_vitest.expect.objectContaining({
|
|
202
|
+
tracing: {
|
|
203
|
+
enabled: false
|
|
204
|
+
}
|
|
205
|
+
}));
|
|
206
|
+
_vitest.vi.mocked(_runApi.runApi).mockClear();
|
|
207
|
+
await (0, _api.executeRunApiCLI)({
|
|
208
|
+
apiName: "testApi",
|
|
209
|
+
inputData: {},
|
|
210
|
+
retries: 1,
|
|
211
|
+
trace: true
|
|
212
|
+
});
|
|
213
|
+
(0, _vitest.expect)(_runApi.runApi).toHaveBeenCalledWith(_vitest.expect.objectContaining({
|
|
214
|
+
tracing: _vitest.expect.objectContaining({
|
|
215
|
+
enabled: true
|
|
216
|
+
})
|
|
217
|
+
}));
|
|
218
|
+
});
|
|
219
|
+
(0, _vitest.it)("calls attemptApi once if success", async () => {
|
|
220
|
+
await (0, _api.executeRunApiCLI)({
|
|
221
|
+
apiName: "testApi",
|
|
222
|
+
inputData: {},
|
|
223
|
+
retries: 3
|
|
224
|
+
});
|
|
225
|
+
(0, _vitest.expect)(_runApi.runApi).toHaveBeenCalledTimes(1);
|
|
226
|
+
});
|
|
227
|
+
(0, _vitest.it)("stops retrying after max retries", async () => {
|
|
228
|
+
_vitest.vi.mocked(_runApi.runApi).mockResolvedValue((0, _neverthrow.err)(new _runtimeInterface.AutomationError("runApi failed")));
|
|
229
|
+
await (0, _vitest.expect)((0, _api.executeRunApiCLI)({
|
|
230
|
+
apiName: "testApi",
|
|
231
|
+
inputData: {},
|
|
232
|
+
retries: 10
|
|
233
|
+
})).rejects.toThrow(_helpers.CLIError);
|
|
234
|
+
(0, _vitest.expect)(_runApi.runApi).toHaveBeenCalledTimes(10);
|
|
235
|
+
});
|
|
236
|
+
(0, _vitest.it)("stops retrying on non-automation errors", async () => {
|
|
237
|
+
_vitest.vi.mocked(_runApi.runApi).mockRejectedValue(new Error("runApi failed"));
|
|
238
|
+
await (0, _vitest.expect)((0, _api.executeRunApiCLI)({
|
|
239
|
+
apiName: "testApi",
|
|
240
|
+
inputData: {},
|
|
241
|
+
retries: 3
|
|
242
|
+
})).rejects.toThrow("runApi failed");
|
|
243
|
+
(0, _vitest.expect)(_runApi.runApi).toHaveBeenCalledTimes(1);
|
|
244
|
+
});
|
|
245
|
+
(0, _vitest.it)("stops retrying on success", async () => {
|
|
246
|
+
_vitest.vi.mocked(_runApi.runApi).mockResolvedValueOnce((0, _neverthrow.err)(new _runtimeInterface.AutomationError("runApi failed"))).mockResolvedValue((0, _neverthrow.ok)({
|
|
247
|
+
result: "success"
|
|
248
|
+
}));
|
|
249
|
+
await (0, _api.executeRunApiCLI)({
|
|
250
|
+
apiName: "testApi",
|
|
251
|
+
inputData: {},
|
|
252
|
+
retries: 10
|
|
253
|
+
});
|
|
254
|
+
(0, _vitest.expect)(_runApi.runApi).toHaveBeenCalledTimes(2);
|
|
255
|
+
});
|
|
256
|
+
(0, _vitest.it)("validates AuthSession before each attempt if provided", async () => {
|
|
257
|
+
_vitest.vi.mocked(_runApi.runApi).mockResolvedValueOnce((0, _neverthrow.err)(new _runtimeInterface.AutomationError("runApi failed"))).mockResolvedValue((0, _neverthrow.ok)({
|
|
258
|
+
result: "success"
|
|
259
|
+
}));
|
|
260
|
+
await (0, _api.executeRunApiCLI)({
|
|
261
|
+
apiName: "testApi",
|
|
262
|
+
inputData: {},
|
|
263
|
+
authSession: {
|
|
264
|
+
id: "authSessionId",
|
|
265
|
+
autoRecreate: false,
|
|
266
|
+
checkRetries: 1,
|
|
267
|
+
createRetries: 2
|
|
268
|
+
},
|
|
269
|
+
retries: 10
|
|
270
|
+
});
|
|
271
|
+
(0, _vitest.expect)(_authSession.executeRunValidateAuthSessionCLI).toBeCalledTimes(2);
|
|
272
|
+
(0, _vitest.expect)(_authSession.executeRunValidateAuthSessionCLI).toHaveBeenCalledWith(_vitest.expect.objectContaining({
|
|
273
|
+
id: "authSessionId",
|
|
274
|
+
autoRecreate: false,
|
|
275
|
+
checkRetries: 1,
|
|
276
|
+
createRetries: 2
|
|
277
|
+
}));
|
|
278
|
+
});
|
|
279
|
+
(0, _vitest.it)("doesn't validate AuthSession if not provided", async () => {
|
|
280
|
+
_vitest.vi.mocked(_runApi.runApi).mockResolvedValue((0, _neverthrow.ok)({
|
|
281
|
+
result: "success"
|
|
282
|
+
}));
|
|
283
|
+
await (0, _api.executeRunApiCLI)({
|
|
284
|
+
apiName: "testApi",
|
|
285
|
+
inputData: {},
|
|
286
|
+
retries: 1
|
|
287
|
+
});
|
|
288
|
+
(0, _vitest.expect)(_authSession.executeRunValidateAuthSessionCLI).not.toHaveBeenCalled();
|
|
289
|
+
});
|
|
290
|
+
(0, _vitest.it)("fails if AuthSession is provided but not valid", async () => {
|
|
291
|
+
_vitest.vi.mocked(_authSession.executeRunValidateAuthSessionCLI).mockRejectedValue(new _helpers.CLIError("AuthSession validation failed"));
|
|
292
|
+
await (0, _vitest.expect)((0, _api.executeRunApiCLI)({
|
|
293
|
+
apiName: "testApi",
|
|
294
|
+
inputData: {},
|
|
295
|
+
authSession: {
|
|
296
|
+
id: "authSessionId",
|
|
297
|
+
autoRecreate: false,
|
|
298
|
+
checkRetries: 1,
|
|
299
|
+
createRetries: 2
|
|
300
|
+
},
|
|
301
|
+
retries: 10
|
|
302
|
+
})).rejects.toThrow("AuthSession validation failed");
|
|
303
|
+
(0, _vitest.expect)(_authSession.executeRunValidateAuthSessionCLI).toHaveBeenCalledWith(_vitest.expect.objectContaining({
|
|
304
|
+
id: "authSessionId",
|
|
305
|
+
autoRecreate: false,
|
|
306
|
+
checkRetries: 1,
|
|
307
|
+
createRetries: 2
|
|
308
|
+
}));
|
|
309
|
+
(0, _vitest.expect)(_runApi.runApi).not.toHaveBeenCalled();
|
|
310
|
+
});
|
|
311
|
+
(0, _vitest.it)("writes result to file if outputFile is provided", async () => {
|
|
312
|
+
_vitest.vi.mocked(_runApi.runApi).mockResolvedValue((0, _neverthrow.ok)({
|
|
313
|
+
result: "result",
|
|
314
|
+
extendedPayloads: "extendedPayloads"
|
|
315
|
+
}));
|
|
316
|
+
await (0, _api.executeRunApiCLI)({
|
|
317
|
+
apiName: "testApi",
|
|
318
|
+
inputData: {},
|
|
319
|
+
outputFile: "output.json",
|
|
320
|
+
retries: 1
|
|
321
|
+
});
|
|
322
|
+
(0, _vitest.expect)(_fsExtra.writeJSON).toHaveBeenCalledWith("output.json", {
|
|
323
|
+
result: "result",
|
|
324
|
+
extendedPayloads: "extendedPayloads"
|
|
325
|
+
}, _vitest.expect.anything());
|
|
326
|
+
});
|
|
327
|
+
(0, _vitest.it)("asserts API file exists", async () => {
|
|
328
|
+
await (0, _api.executeRunApiCLI)({
|
|
329
|
+
apiName: "testApi",
|
|
330
|
+
inputData: {},
|
|
331
|
+
retries: 1
|
|
332
|
+
});
|
|
333
|
+
(0, _vitest.expect)(_helpers.assertApiFileExists).toHaveBeenCalledWith("api", "testApi");
|
|
334
|
+
});
|
|
335
|
+
});
|
|
336
|
+
(0, _vitest.describe)("executeAttemptApiCLI", () => {
|
|
337
|
+
(0, _vitest.it)("enables tracing correctly", async () => {
|
|
338
|
+
await (0, _api.executeAttemptApiCLI)({
|
|
339
|
+
apiName: "testApi",
|
|
340
|
+
inputData: {},
|
|
341
|
+
trace: false
|
|
342
|
+
});
|
|
343
|
+
(0, _vitest.expect)(_runApi.runApi).toHaveBeenCalledWith(_vitest.expect.objectContaining({
|
|
344
|
+
tracing: {
|
|
345
|
+
enabled: false
|
|
346
|
+
}
|
|
347
|
+
}));
|
|
348
|
+
_vitest.vi.mocked(_runApi.runApi).mockClear();
|
|
349
|
+
await (0, _api.executeAttemptApiCLI)({
|
|
350
|
+
apiName: "testApi",
|
|
351
|
+
inputData: {},
|
|
352
|
+
trace: true
|
|
353
|
+
});
|
|
354
|
+
(0, _vitest.expect)(_runApi.runApi).toHaveBeenCalledWith(_vitest.expect.objectContaining({
|
|
355
|
+
tracing: _vitest.expect.objectContaining({
|
|
356
|
+
enabled: true
|
|
357
|
+
})
|
|
358
|
+
}));
|
|
359
|
+
});
|
|
360
|
+
(0, _vitest.it)("calls attemptApi once", async () => {
|
|
361
|
+
await (0, _api.executeAttemptApiCLI)({
|
|
362
|
+
apiName: "testApi",
|
|
363
|
+
inputData: {},
|
|
364
|
+
retries: 3
|
|
365
|
+
});
|
|
366
|
+
(0, _vitest.expect)(_runApi.runApi).toHaveBeenCalledTimes(1);
|
|
367
|
+
_vitest.vi.mocked(_runApi.runApi).mockReset();
|
|
368
|
+
_vitest.vi.mocked(_runApi.runApi).mockResolvedValue((0, _neverthrow.err)(new _runtimeInterface.AutomationError("runApi failed")));
|
|
369
|
+
await (0, _vitest.expect)((0, _api.executeAttemptApiCLI)({
|
|
370
|
+
apiName: "testApi",
|
|
371
|
+
inputData: {}
|
|
372
|
+
})).rejects.toThrow(_runtimeInterface.AutomationError);
|
|
373
|
+
(0, _vitest.expect)(_runApi.runApi).toHaveBeenCalledTimes(1);
|
|
374
|
+
});
|
|
375
|
+
(0, _vitest.it)("writes result to file if outputFile is provided", async () => {
|
|
376
|
+
_vitest.vi.mocked(_runApi.runApi).mockResolvedValue((0, _neverthrow.ok)({
|
|
377
|
+
result: "result",
|
|
378
|
+
extendedPayloads: "extendedPayloads"
|
|
379
|
+
}));
|
|
380
|
+
await (0, _api.executeAttemptApiCLI)({
|
|
381
|
+
apiName: "testApi",
|
|
382
|
+
inputData: {},
|
|
383
|
+
outputFile: "output.json"
|
|
384
|
+
});
|
|
385
|
+
(0, _vitest.expect)(_fsExtra.writeJSON).toHaveBeenCalledWith("output.json", {
|
|
386
|
+
result: "result",
|
|
387
|
+
extendedPayloads: "extendedPayloads"
|
|
388
|
+
}, _vitest.expect.anything());
|
|
389
|
+
});
|
|
390
|
+
(0, _vitest.it)("asserts API file exists", async () => {
|
|
391
|
+
await (0, _api.executeRunApiCLI)({
|
|
392
|
+
apiName: "testApi",
|
|
393
|
+
inputData: {},
|
|
394
|
+
retries: 1
|
|
395
|
+
});
|
|
396
|
+
(0, _vitest.expect)(_helpers.assertApiFileExists).toHaveBeenCalledWith("api", "testApi");
|
|
397
|
+
});
|
|
398
|
+
});
|
|
399
|
+
});
|