@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.
Files changed (299) hide show
  1. package/.babelrc +27 -0
  2. package/.claude/settings.local.json +7 -0
  3. package/.eslintignore +10 -0
  4. package/.eslintrc.js +39 -0
  5. package/InterfaceTemplate/__utils.ts +63 -0
  6. package/InterfaceTemplate/index.playwright.ts +6 -0
  7. package/dist/commands/api/run.d.ts +6 -0
  8. package/dist/commands/api/run.js +119 -0
  9. package/dist/commands/auth-sessions/load.d.ts +2 -0
  10. package/dist/commands/auth-sessions/load.js +35 -0
  11. package/dist/commands/auth-sessions/run-check.d.ts +2 -0
  12. package/dist/commands/auth-sessions/run-check.js +74 -0
  13. package/dist/commands/auth-sessions/run-create.d.ts +2 -0
  14. package/dist/commands/auth-sessions/run-create.js +78 -0
  15. package/dist/commands/browser/save-state.d.ts +2 -0
  16. package/dist/commands/browser/save-state.js +17 -0
  17. package/dist/commands/browser/start-browser.d.ts +2 -0
  18. package/dist/commands/browser/start-browser.js +14 -0
  19. package/dist/commands/build.d.ts +1 -0
  20. package/dist/commands/build.js +83 -0
  21. package/dist/commands/common/browserUtils.d.ts +14 -0
  22. package/dist/commands/common/browserUtils.js +57 -0
  23. package/dist/commands/common/getFirstLineNumber.d.ts +9 -0
  24. package/dist/commands/common/getFirstLineNumber.js +101 -0
  25. package/dist/commands/common/getFirstLineNumber.test.js +227 -0
  26. package/dist/commands/common/projectExclusions.d.ts +2 -0
  27. package/dist/commands/common/projectExclusions.js +8 -0
  28. package/dist/commands/common/sendMessageToClient.d.ts +1 -0
  29. package/dist/commands/common/sendMessageToClient.js +10 -0
  30. package/dist/commands/common/tsNodeImport.d.ts +2 -0
  31. package/dist/commands/common/tsNodeImport.js +42 -0
  32. package/dist/commands/common/utils/fileUtils.d.ts +6 -0
  33. package/dist/commands/common/utils/fileUtils.js +32 -0
  34. package/dist/commands/common/utils/interfaceClient.d.ts +31 -0
  35. package/dist/commands/common/utils/interfaceClient.js +98 -0
  36. package/dist/commands/common/utils/settings.d.ts +2 -0
  37. package/dist/commands/common/utils/settings.js +31 -0
  38. package/dist/commands/common/utils/template.d.ts +2 -0
  39. package/dist/commands/common/utils/template.js +30 -0
  40. package/dist/commands/get-headless-user-agent.d.ts +1 -0
  41. package/dist/commands/get-headless-user-agent.js +18 -0
  42. package/dist/commands/interface/run.d.ts +1 -3
  43. package/dist/commands/interface/run.js +139 -2047
  44. package/dist/commands/intuned-cli/commands/attempt.command.d.ts +1 -0
  45. package/dist/commands/intuned-cli/commands/attempt.command.js +8 -0
  46. package/dist/commands/intuned-cli/commands/attempt_api.command.d.ts +1 -0
  47. package/dist/commands/intuned-cli/commands/attempt_api.command.js +30 -0
  48. package/dist/commands/intuned-cli/commands/attempt_authsession.command.d.ts +1 -0
  49. package/dist/commands/intuned-cli/commands/attempt_authsession.command.js +8 -0
  50. package/dist/commands/intuned-cli/commands/attempt_authsession_check.command.d.ts +1 -0
  51. package/dist/commands/intuned-cli/commands/attempt_authsession_check.command.js +19 -0
  52. package/dist/commands/intuned-cli/commands/attempt_authsession_create.command.d.ts +1 -0
  53. package/dist/commands/intuned-cli/commands/attempt_authsession_create.command.js +24 -0
  54. package/dist/commands/intuned-cli/commands/authsession.command.d.ts +1 -0
  55. package/dist/commands/intuned-cli/commands/authsession.command.js +8 -0
  56. package/dist/commands/intuned-cli/commands/authsession_record.command.d.ts +1 -0
  57. package/dist/commands/intuned-cli/commands/authsession_record.command.js +32 -0
  58. package/dist/commands/intuned-cli/commands/authsession_scaffold.command.d.ts +1 -0
  59. package/dist/commands/intuned-cli/commands/authsession_scaffold.command.js +16 -0
  60. package/dist/commands/intuned-cli/commands/build.command.d.ts +1 -0
  61. package/dist/commands/intuned-cli/commands/build.command.js +12 -0
  62. package/dist/commands/intuned-cli/commands/command.d.ts +2 -0
  63. package/dist/commands/intuned-cli/commands/command.js +9 -0
  64. package/dist/commands/intuned-cli/commands/deploy.command.d.ts +1 -0
  65. package/dist/commands/intuned-cli/commands/deploy.command.js +42 -0
  66. package/dist/commands/intuned-cli/commands/index.d.ts +18 -0
  67. package/dist/commands/intuned-cli/commands/index.js +203 -0
  68. package/dist/commands/intuned-cli/commands/provision.command.d.ts +13 -0
  69. package/dist/commands/intuned-cli/commands/provision.command.js +50 -0
  70. package/dist/commands/intuned-cli/commands/run.command.d.ts +1 -0
  71. package/dist/commands/intuned-cli/commands/run.command.js +8 -0
  72. package/dist/commands/intuned-cli/commands/run_api.command.d.ts +1 -0
  73. package/dist/commands/intuned-cli/commands/run_api.command.js +46 -0
  74. package/dist/commands/intuned-cli/commands/run_authsession.command.d.ts +35 -0
  75. package/dist/commands/intuned-cli/commands/run_authsession.command.js +17 -0
  76. package/dist/commands/intuned-cli/commands/run_authsession_create.command.d.ts +1 -0
  77. package/dist/commands/intuned-cli/commands/run_authsession_create.command.js +35 -0
  78. package/dist/commands/intuned-cli/commands/run_authsession_update.command.d.ts +1 -0
  79. package/dist/commands/intuned-cli/commands/run_authsession_update.command.js +35 -0
  80. package/dist/commands/intuned-cli/commands/run_authsession_validate.command.d.ts +1 -0
  81. package/dist/commands/intuned-cli/commands/run_authsession_validate.command.js +33 -0
  82. package/dist/commands/intuned-cli/commands/types.d.ts +39 -0
  83. package/dist/commands/intuned-cli/commands/types.js +33 -0
  84. package/dist/commands/intuned-cli/constants/index.d.ts +17 -0
  85. package/dist/commands/intuned-cli/constants/index.js +25 -0
  86. package/dist/commands/intuned-cli/controller/__test__/api.test.js +399 -0
  87. package/dist/commands/intuned-cli/controller/__test__/authSession.test.js +1061 -0
  88. package/dist/commands/intuned-cli/controller/api.d.ts +42 -0
  89. package/dist/commands/intuned-cli/controller/api.js +194 -0
  90. package/dist/commands/intuned-cli/controller/authSession.d.ts +209 -0
  91. package/dist/commands/intuned-cli/controller/authSession.js +425 -0
  92. package/dist/commands/intuned-cli/controller/build.d.ts +1 -0
  93. package/dist/commands/intuned-cli/controller/build.js +35 -0
  94. package/dist/commands/intuned-cli/controller/deploy.d.ts +5 -0
  95. package/dist/commands/intuned-cli/controller/deploy.js +317 -0
  96. package/dist/commands/intuned-cli/controller/index.d.ts +1 -0
  97. package/dist/commands/intuned-cli/controller/index.js +45 -0
  98. package/dist/commands/intuned-cli/controller/provision.d.ts +21 -0
  99. package/dist/commands/intuned-cli/controller/provision.js +299 -0
  100. package/dist/commands/intuned-cli/controller/scaffold.d.ts +1 -0
  101. package/dist/commands/intuned-cli/controller/scaffold.js +77 -0
  102. package/dist/commands/intuned-cli/helpers/__test__/browser.test.js +152 -0
  103. package/dist/commands/intuned-cli/helpers/__test__/tracing.test.js +41 -0
  104. package/dist/commands/intuned-cli/helpers/api.d.ts +3 -0
  105. package/dist/commands/intuned-cli/helpers/api.js +16 -0
  106. package/dist/commands/intuned-cli/helpers/auth.d.ts +46 -0
  107. package/dist/commands/intuned-cli/helpers/auth.js +147 -0
  108. package/dist/commands/intuned-cli/helpers/backend.d.ts +8 -0
  109. package/dist/commands/intuned-cli/helpers/backend.js +35 -0
  110. package/dist/commands/intuned-cli/helpers/browser.d.ts +14 -0
  111. package/dist/commands/intuned-cli/helpers/browser.js +93 -0
  112. package/dist/commands/intuned-cli/helpers/context.d.ts +3 -0
  113. package/dist/commands/intuned-cli/helpers/context.js +33 -0
  114. package/dist/commands/intuned-cli/helpers/errors.d.ts +16 -0
  115. package/dist/commands/intuned-cli/helpers/errors.js +44 -0
  116. package/dist/commands/intuned-cli/helpers/index.d.ts +12 -0
  117. package/dist/commands/intuned-cli/helpers/index.js +137 -0
  118. package/dist/commands/intuned-cli/helpers/intunedJson.d.ts +39 -0
  119. package/dist/commands/intuned-cli/helpers/intunedJson.js +20 -0
  120. package/dist/commands/intuned-cli/helpers/prompts.d.ts +3 -0
  121. package/dist/commands/intuned-cli/helpers/prompts.js +71 -0
  122. package/dist/commands/intuned-cli/helpers/proxy.d.ts +5 -0
  123. package/dist/commands/intuned-cli/helpers/proxy.js +23 -0
  124. package/dist/commands/intuned-cli/helpers/terminal.d.ts +5 -0
  125. package/dist/commands/intuned-cli/helpers/terminal.js +13 -0
  126. package/dist/commands/intuned-cli/helpers/timeout.d.ts +1 -0
  127. package/dist/commands/intuned-cli/helpers/timeout.js +23 -0
  128. package/dist/commands/intuned-cli/helpers/traces.d.ts +2 -0
  129. package/dist/commands/intuned-cli/helpers/traces.js +32 -0
  130. package/dist/commands/intuned-cli/helpers/validation.d.ts +2 -0
  131. package/dist/commands/intuned-cli/helpers/validation.js +14 -0
  132. package/dist/commands/intuned-cli/helpers/wrapper.d.ts +2 -0
  133. package/dist/commands/intuned-cli/helpers/wrapper.js +76 -0
  134. package/dist/commands/intuned-cli/index.d.ts +1 -0
  135. package/dist/commands/intuned-cli/index.js +16 -0
  136. package/dist/commands/intuned-cli/main.d.ts +1 -0
  137. package/dist/commands/intuned-cli/main.js +35 -0
  138. package/dist/commands/intuned-cli/types.d.ts +70 -0
  139. package/dist/commands/intuned-cli/types.js +22 -0
  140. package/dist/commands/ts-check.d.ts +2 -0
  141. package/dist/commands/ts-check.js +55 -0
  142. package/dist/common/Logger/Logger/index.d.ts +12 -0
  143. package/dist/common/Logger/Logger/index.js +60 -0
  144. package/dist/common/Logger/Logger/types.d.ts +8 -0
  145. package/dist/common/Logger/Logger/types.js +5 -0
  146. package/dist/common/Logger/index.d.ts +12 -0
  147. package/dist/common/Logger/index.js +60 -0
  148. package/dist/common/Logger/types.d.ts +8 -0
  149. package/dist/common/Logger/types.js +5 -0
  150. package/dist/common/asyncLocalStorage/index.d.ts +8 -9
  151. package/dist/common/asyncLocalStorage/index.js +9 -34
  152. package/dist/common/backendFunctions/getAuthSessionParameters.d.ts +1 -0
  153. package/dist/common/backendFunctions/getAuthSessionParameters.js +38 -0
  154. package/dist/common/binStartupScript.d.ts +1 -2
  155. package/dist/common/binStartupScript.js +10 -127
  156. package/dist/common/browserTabs.d.ts +72 -0
  157. package/dist/common/browserTabs.js +74 -0
  158. package/dist/common/cleanEnvironmentVariables.d.ts +1 -3
  159. package/dist/common/cleanEnvironmentVariables.js +7 -30
  160. package/dist/common/constants.d.ts +11 -13
  161. package/dist/common/constants.js +15 -58
  162. package/dist/common/contextStorageStateHelpers.d.ts +6 -8
  163. package/dist/common/contextStorageStateHelpers.js +22 -47
  164. package/dist/common/extension/extensionsHelpers.d.ts +11 -0
  165. package/dist/common/extension/extensionsHelpers.js +147 -0
  166. package/dist/common/extension/intunedExtensionServer.d.ts +24 -0
  167. package/dist/common/extension/intunedExtensionServer.js +178 -0
  168. package/dist/common/extension/types.d.ts +219 -0
  169. package/dist/common/extension/types.js +51 -0
  170. package/dist/common/formatZodError.d.ts +2 -0
  171. package/dist/{chunk-NDMVGENG.mjs → common/formatZodError.js} +9 -9
  172. package/dist/common/intunedJson.d.ts +229 -0
  173. package/dist/common/intunedJson.js +132 -0
  174. package/dist/common/jwtTokenManager.d.ts +4 -6
  175. package/dist/common/jwtTokenManager.js +40 -108
  176. package/dist/common/launchBrowser.d.ts +34 -0
  177. package/dist/common/launchBrowser.js +247 -0
  178. package/dist/common/playwrightContext.d.ts +29 -0
  179. package/dist/common/playwrightContext.js +148 -0
  180. package/dist/common/runApi/importUsingImportFunction.d.ts +7 -0
  181. package/dist/common/runApi/importUsingImportFunction.js +46 -0
  182. package/dist/common/runApi/index.d.ts +6 -9
  183. package/dist/common/runApi/index.js +73 -1782
  184. package/dist/common/settingsSchema.d.ts +6 -9
  185. package/dist/common/settingsSchema.js +18 -54
  186. package/dist/common/setupContextHook.d.ts +16 -0
  187. package/dist/common/setupContextHook.js +22 -0
  188. package/dist/common/telemetry.d.ts +3 -6
  189. package/dist/common/telemetry.js +8 -41
  190. package/dist/index.d.ts +4 -6
  191. package/dist/index.js +92 -784
  192. package/dist/runtime/RunError.d.ts +5 -0
  193. package/dist/runtime/RunError.js +19 -0
  194. package/dist/runtime/attemptStore.d.ts +2 -0
  195. package/dist/runtime/attemptStore.js +23 -0
  196. package/dist/runtime/captcha.d.ts +15 -0
  197. package/dist/runtime/captcha.js +191 -0
  198. package/dist/runtime/captcha.test.js +821 -0
  199. package/dist/runtime/downloadDirectory.d.ts +1 -0
  200. package/dist/runtime/downloadDirectory.js +19 -0
  201. package/dist/runtime/enums.d.js +5 -0
  202. package/dist/runtime/enums.d.ts +11 -0
  203. package/dist/runtime/enums.js +18 -0
  204. package/dist/runtime/executionHelpers.test.js +52 -0
  205. package/dist/runtime/export.d.js +5 -0
  206. package/dist/runtime/export.d.ts +284 -0
  207. package/dist/runtime/extendPayload.d.ts +2 -0
  208. package/dist/runtime/extendPayload.js +21 -0
  209. package/dist/runtime/extendTimeout.d.ts +1 -0
  210. package/dist/runtime/extendTimeout.js +23 -0
  211. package/dist/runtime/getAiGatewayConfig.d.ts +10 -0
  212. package/dist/runtime/getAiGatewayConfig.js +16 -0
  213. package/dist/runtime/getAuthSessionParameters.d.ts +1 -0
  214. package/dist/runtime/getAuthSessionParameters.js +20 -0
  215. package/dist/runtime/index.d.ts +10 -168
  216. package/dist/runtime/index.js +88 -779
  217. package/dist/runtime/persistentStore.d.ts +2 -0
  218. package/dist/runtime/persistentStore.js +37 -0
  219. package/dist/runtime/persistentStore.test.js +101 -0
  220. package/dist/runtime/runInfo.d.ts +2 -0
  221. package/dist/runtime/runInfo.js +21 -0
  222. package/dist/vendor/runtime-interface.d.ts +1 -0
  223. package/dist/vendor/runtime-interface.js +479 -0
  224. package/package.json +20 -68
  225. package/template.tsconfig.json +11 -0
  226. package/tsconfig.eslint.json +5 -0
  227. package/tsconfig.json +25 -0
  228. package/tsup.config.ts +12 -0
  229. package/typedoc.json +49 -0
  230. package/dist/chunk-6ZRJOUQS.mjs +0 -16
  231. package/dist/chunk-6ZRJOUQS.mjs.map +0 -1
  232. package/dist/chunk-7YL2JUTE.mjs +0 -146
  233. package/dist/chunk-7YL2JUTE.mjs.map +0 -1
  234. package/dist/chunk-B3T6RXPC.mjs +0 -794
  235. package/dist/chunk-B3T6RXPC.mjs.map +0 -1
  236. package/dist/chunk-FGV5T6SI.mjs +0 -27
  237. package/dist/chunk-FGV5T6SI.mjs.map +0 -1
  238. package/dist/chunk-G4PO5RIV.mjs +0 -85
  239. package/dist/chunk-G4PO5RIV.mjs.map +0 -1
  240. package/dist/chunk-LZOMFHX3.mjs +0 -38
  241. package/dist/chunk-LZOMFHX3.mjs.map +0 -1
  242. package/dist/chunk-NDMVGENG.mjs.map +0 -1
  243. package/dist/chunk-W4UX6G4X.mjs +0 -17
  244. package/dist/chunk-W4UX6G4X.mjs.map +0 -1
  245. package/dist/chunk-XC75QGFG.mjs +0 -1106
  246. package/dist/chunk-XC75QGFG.mjs.map +0 -1
  247. package/dist/chunk-XOAZ2MGA.mjs +0 -59
  248. package/dist/chunk-XOAZ2MGA.mjs.map +0 -1
  249. package/dist/commands/interface/run.d.mts +0 -3
  250. package/dist/commands/interface/run.js.map +0 -1
  251. package/dist/commands/interface/run.mjs +0 -255
  252. package/dist/commands/interface/run.mjs.map +0 -1
  253. package/dist/common/asyncLocalStorage/index.d.mts +0 -17
  254. package/dist/common/asyncLocalStorage/index.js.map +0 -1
  255. package/dist/common/asyncLocalStorage/index.mjs +0 -12
  256. package/dist/common/asyncLocalStorage/index.mjs.map +0 -1
  257. package/dist/common/binStartupScript.d.mts +0 -2
  258. package/dist/common/binStartupScript.js.map +0 -1
  259. package/dist/common/binStartupScript.mjs +0 -135
  260. package/dist/common/binStartupScript.mjs.map +0 -1
  261. package/dist/common/cleanEnvironmentVariables.d.mts +0 -3
  262. package/dist/common/cleanEnvironmentVariables.js.map +0 -1
  263. package/dist/common/cleanEnvironmentVariables.mjs +0 -8
  264. package/dist/common/cleanEnvironmentVariables.mjs.map +0 -1
  265. package/dist/common/constants.d.mts +0 -13
  266. package/dist/common/constants.js.map +0 -1
  267. package/dist/common/constants.mjs +0 -28
  268. package/dist/common/constants.mjs.map +0 -1
  269. package/dist/common/contextStorageStateHelpers.d.mts +0 -24
  270. package/dist/common/contextStorageStateHelpers.js.map +0 -1
  271. package/dist/common/contextStorageStateHelpers.mjs +0 -10
  272. package/dist/common/contextStorageStateHelpers.mjs.map +0 -1
  273. package/dist/common/jwtTokenManager.d.mts +0 -19
  274. package/dist/common/jwtTokenManager.js.map +0 -1
  275. package/dist/common/jwtTokenManager.mjs +0 -11
  276. package/dist/common/jwtTokenManager.mjs.map +0 -1
  277. package/dist/common/runApi/index.d.mts +0 -11
  278. package/dist/common/runApi/index.js.map +0 -1
  279. package/dist/common/runApi/index.mjs +0 -18
  280. package/dist/common/runApi/index.mjs.map +0 -1
  281. package/dist/common/settingsSchema.d.mts +0 -540
  282. package/dist/common/settingsSchema.js.map +0 -1
  283. package/dist/common/settingsSchema.mjs +0 -10
  284. package/dist/common/settingsSchema.mjs.map +0 -1
  285. package/dist/common/telemetry.d.mts +0 -6
  286. package/dist/common/telemetry.js.map +0 -1
  287. package/dist/common/telemetry.mjs +0 -31
  288. package/dist/common/telemetry.mjs.map +0 -1
  289. package/dist/export.d-BAUMB-lG.d.mts +0 -140
  290. package/dist/export.d-BAUMB-lG.d.ts +0 -140
  291. package/dist/index.d.mts +0 -6
  292. package/dist/index.js.map +0 -1
  293. package/dist/index.mjs +0 -47
  294. package/dist/index.mjs.map +0 -1
  295. package/dist/runtime/index.d.mts +0 -168
  296. package/dist/runtime/index.js.map +0 -1
  297. package/dist/runtime/index.mjs +0 -42
  298. package/dist/runtime/index.mjs.map +0 -1
  299. /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
+ });