@intuned/runtime-dev 1.3.18-interface.13 → 1.3.18-interface.16

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 (234) 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 +3 -1
  6. package/WebTemplate.zip +0 -0
  7. package/dist/commands/api/run.d.ts +1 -3
  8. package/dist/commands/api/run.js +64 -2039
  9. package/dist/commands/auth-sessions/load.d.ts +1 -0
  10. package/dist/commands/auth-sessions/load.js +28 -1552
  11. package/dist/commands/auth-sessions/run-check.d.ts +1 -0
  12. package/dist/commands/auth-sessions/run-check.js +71 -1961
  13. package/dist/commands/auth-sessions/run-create.d.ts +1 -0
  14. package/dist/commands/auth-sessions/run-create.js +65 -1955
  15. package/dist/commands/browser/save-state.d.ts +1 -0
  16. package/dist/commands/browser/save-state.js +11 -102
  17. package/dist/commands/browser/start-browser.d.ts +1 -0
  18. package/dist/commands/browser/start-browser.js +9 -62
  19. package/dist/commands/build.d.ts +1 -2
  20. package/dist/commands/build.js +52 -172
  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 -5
  31. package/dist/commands/common/tsNodeImport.js +15 -55
  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 -2
  41. package/dist/commands/get-headless-user-agent.js +12 -348
  42. package/dist/commands/interface/pingPong.d.ts +2 -0
  43. package/dist/commands/interface/pingPong.js +11 -0
  44. package/dist/commands/interface/run.d.ts +1 -3
  45. package/dist/commands/interface/run.js +139 -2034
  46. package/dist/commands/interface/runApi.d.ts +1 -0
  47. package/dist/commands/interface/runApi.js +102 -0
  48. package/dist/commands/intuned-cli/commands/attempt.command.d.ts +1 -0
  49. package/dist/commands/intuned-cli/commands/attempt.command.js +8 -0
  50. package/dist/commands/intuned-cli/commands/attempt_api.command.d.ts +1 -0
  51. package/dist/commands/intuned-cli/commands/attempt_api.command.js +30 -0
  52. package/dist/commands/intuned-cli/commands/attempt_authsession.command.d.ts +1 -0
  53. package/dist/commands/intuned-cli/commands/attempt_authsession.command.js +8 -0
  54. package/dist/commands/intuned-cli/commands/attempt_authsession_check.command.d.ts +1 -0
  55. package/dist/commands/intuned-cli/commands/attempt_authsession_check.command.js +19 -0
  56. package/dist/commands/intuned-cli/commands/attempt_authsession_create.command.d.ts +1 -0
  57. package/dist/commands/intuned-cli/commands/attempt_authsession_create.command.js +24 -0
  58. package/dist/commands/intuned-cli/commands/authsession.command.d.ts +1 -0
  59. package/dist/commands/intuned-cli/commands/authsession.command.js +8 -0
  60. package/dist/commands/intuned-cli/commands/authsession_record.command.d.ts +1 -0
  61. package/dist/commands/intuned-cli/commands/authsession_record.command.js +32 -0
  62. package/dist/commands/intuned-cli/commands/authsession_scaffold.command.d.ts +1 -0
  63. package/dist/commands/intuned-cli/commands/authsession_scaffold.command.js +16 -0
  64. package/dist/commands/intuned-cli/commands/build.command.d.ts +1 -0
  65. package/dist/commands/intuned-cli/commands/build.command.js +12 -0
  66. package/dist/commands/intuned-cli/commands/command.d.ts +2 -0
  67. package/dist/commands/intuned-cli/commands/command.js +9 -0
  68. package/dist/commands/intuned-cli/commands/deploy.command.d.ts +1 -0
  69. package/dist/commands/intuned-cli/commands/deploy.command.js +42 -0
  70. package/dist/commands/intuned-cli/commands/index.d.ts +18 -0
  71. package/dist/commands/intuned-cli/commands/index.js +203 -0
  72. package/dist/commands/intuned-cli/commands/provision.command.d.ts +13 -0
  73. package/dist/commands/intuned-cli/commands/provision.command.js +50 -0
  74. package/dist/commands/intuned-cli/commands/run.command.d.ts +1 -0
  75. package/dist/commands/intuned-cli/commands/run.command.js +8 -0
  76. package/dist/commands/intuned-cli/commands/run_api.command.d.ts +1 -0
  77. package/dist/commands/intuned-cli/commands/run_api.command.js +46 -0
  78. package/dist/commands/intuned-cli/commands/run_authsession.command.d.ts +35 -0
  79. package/dist/commands/intuned-cli/commands/run_authsession.command.js +17 -0
  80. package/dist/commands/intuned-cli/commands/run_authsession_create.command.d.ts +1 -0
  81. package/dist/commands/intuned-cli/commands/run_authsession_create.command.js +35 -0
  82. package/dist/commands/intuned-cli/commands/run_authsession_update.command.d.ts +1 -0
  83. package/dist/commands/intuned-cli/commands/run_authsession_update.command.js +35 -0
  84. package/dist/commands/intuned-cli/commands/run_authsession_validate.command.d.ts +1 -0
  85. package/dist/commands/intuned-cli/commands/run_authsession_validate.command.js +33 -0
  86. package/dist/commands/intuned-cli/commands/types.d.ts +39 -0
  87. package/dist/commands/intuned-cli/commands/types.js +33 -0
  88. package/dist/commands/intuned-cli/constants/index.d.ts +17 -0
  89. package/dist/commands/intuned-cli/constants/index.js +25 -0
  90. package/dist/commands/intuned-cli/controller/__test__/api.test.js +398 -0
  91. package/dist/commands/intuned-cli/controller/__test__/authSession.test.js +1060 -0
  92. package/dist/commands/intuned-cli/controller/api.d.ts +42 -0
  93. package/dist/commands/intuned-cli/controller/api.js +194 -0
  94. package/dist/commands/intuned-cli/controller/authSession.d.ts +209 -0
  95. package/dist/commands/intuned-cli/controller/authSession.js +425 -0
  96. package/dist/commands/intuned-cli/controller/build.d.ts +1 -0
  97. package/dist/commands/intuned-cli/controller/build.js +35 -0
  98. package/dist/commands/intuned-cli/controller/deploy.d.ts +5 -0
  99. package/dist/commands/intuned-cli/controller/deploy.js +317 -0
  100. package/dist/commands/intuned-cli/controller/index.d.ts +1 -0
  101. package/dist/commands/intuned-cli/controller/index.js +45 -0
  102. package/dist/commands/intuned-cli/controller/provision.d.ts +21 -0
  103. package/dist/commands/intuned-cli/controller/provision.js +299 -0
  104. package/dist/commands/intuned-cli/controller/scaffold.d.ts +1 -0
  105. package/dist/commands/intuned-cli/controller/scaffold.js +77 -0
  106. package/dist/commands/intuned-cli/helpers/__test__/browser.test.js +152 -0
  107. package/dist/commands/intuned-cli/helpers/__test__/tracing.test.js +41 -0
  108. package/dist/commands/intuned-cli/helpers/api.d.ts +3 -0
  109. package/dist/commands/intuned-cli/helpers/api.js +16 -0
  110. package/dist/commands/intuned-cli/helpers/auth.d.ts +46 -0
  111. package/dist/commands/intuned-cli/helpers/auth.js +147 -0
  112. package/dist/commands/intuned-cli/helpers/backend.d.ts +8 -0
  113. package/dist/commands/intuned-cli/helpers/backend.js +35 -0
  114. package/dist/commands/intuned-cli/helpers/browser.d.ts +14 -0
  115. package/dist/commands/intuned-cli/helpers/browser.js +93 -0
  116. package/dist/commands/intuned-cli/helpers/context.d.ts +3 -0
  117. package/dist/commands/intuned-cli/helpers/context.js +33 -0
  118. package/dist/commands/intuned-cli/helpers/errors.d.ts +16 -0
  119. package/dist/commands/intuned-cli/helpers/errors.js +44 -0
  120. package/dist/commands/intuned-cli/helpers/index.d.ts +12 -0
  121. package/dist/commands/intuned-cli/helpers/index.js +137 -0
  122. package/dist/commands/intuned-cli/helpers/intunedJson.d.ts +39 -0
  123. package/dist/commands/intuned-cli/helpers/intunedJson.js +20 -0
  124. package/dist/commands/intuned-cli/helpers/prompts.d.ts +3 -0
  125. package/dist/commands/intuned-cli/helpers/prompts.js +71 -0
  126. package/dist/commands/intuned-cli/helpers/proxy.d.ts +5 -0
  127. package/dist/commands/intuned-cli/helpers/proxy.js +23 -0
  128. package/dist/commands/intuned-cli/helpers/terminal.d.ts +5 -0
  129. package/dist/commands/intuned-cli/helpers/terminal.js +13 -0
  130. package/dist/commands/intuned-cli/helpers/timeout.d.ts +1 -0
  131. package/dist/commands/intuned-cli/helpers/timeout.js +23 -0
  132. package/dist/commands/intuned-cli/helpers/traces.d.ts +2 -0
  133. package/dist/commands/intuned-cli/helpers/traces.js +32 -0
  134. package/dist/commands/intuned-cli/helpers/validation.d.ts +2 -0
  135. package/dist/commands/intuned-cli/helpers/validation.js +14 -0
  136. package/dist/commands/intuned-cli/helpers/wrapper.d.ts +2 -0
  137. package/dist/commands/intuned-cli/helpers/wrapper.js +76 -0
  138. package/dist/commands/intuned-cli/index.d.ts +1 -0
  139. package/dist/commands/intuned-cli/index.js +16 -0
  140. package/dist/commands/intuned-cli/main.d.ts +1 -2
  141. package/dist/commands/intuned-cli/main.js +24 -5392
  142. package/dist/commands/intuned-cli/types.d.ts +70 -0
  143. package/dist/commands/intuned-cli/types.js +22 -0
  144. package/dist/commands/ts-check.d.ts +1 -0
  145. package/dist/commands/ts-check.js +28 -131
  146. package/dist/common/Logger/Logger/index.d.ts +12 -0
  147. package/dist/common/Logger/Logger/index.js +60 -0
  148. package/dist/common/Logger/Logger/types.d.ts +8 -0
  149. package/dist/common/Logger/Logger/types.js +5 -0
  150. package/dist/common/Logger/index.d.ts +12 -0
  151. package/dist/common/Logger/index.js +60 -0
  152. package/dist/common/Logger/types.d.ts +8 -0
  153. package/dist/common/Logger/types.js +5 -0
  154. package/dist/common/asyncLocalStorage/index.d.ts +8 -9
  155. package/dist/common/asyncLocalStorage/index.js +9 -33
  156. package/dist/common/backendFunctions/getAuthSessionParameters.d.ts +1 -0
  157. package/dist/common/backendFunctions/getAuthSessionParameters.js +38 -0
  158. package/dist/common/binStartupScript.d.ts +1 -2
  159. package/dist/common/binStartupScript.js +10 -126
  160. package/dist/common/browserTabs.d.ts +72 -0
  161. package/dist/common/browserTabs.js +74 -0
  162. package/dist/common/cleanEnvironmentVariables.d.ts +1 -3
  163. package/dist/common/cleanEnvironmentVariables.js +7 -29
  164. package/dist/common/constants.d.ts +11 -13
  165. package/dist/common/constants.js +15 -57
  166. package/dist/common/contextStorageStateHelpers.d.ts +6 -8
  167. package/dist/common/contextStorageStateHelpers.js +22 -46
  168. package/dist/common/extension/extensionsHelpers.d.ts +11 -0
  169. package/dist/common/extension/extensionsHelpers.js +147 -0
  170. package/dist/common/extension/intunedExtensionServer.d.ts +24 -0
  171. package/dist/common/extension/intunedExtensionServer.js +178 -0
  172. package/dist/common/extension/types.d.ts +219 -0
  173. package/dist/common/extension/types.js +51 -0
  174. package/dist/common/formatZodError.d.ts +2 -0
  175. package/dist/common/formatZodError.js +18 -0
  176. package/dist/common/intunedJson.d.ts +229 -0
  177. package/dist/common/intunedJson.js +132 -0
  178. package/dist/common/jwtTokenManager.d.ts +4 -6
  179. package/dist/common/jwtTokenManager.js +40 -107
  180. package/dist/common/launchBrowser.d.ts +34 -0
  181. package/dist/common/launchBrowser.js +247 -0
  182. package/dist/common/playwrightContext.d.ts +29 -0
  183. package/dist/common/playwrightContext.js +148 -0
  184. package/dist/common/runApi/importUsingImportFunction.d.ts +7 -0
  185. package/dist/common/runApi/importUsingImportFunction.js +46 -0
  186. package/dist/common/runApi/index.d.ts +6 -9
  187. package/dist/common/runApi/index.js +70 -1765
  188. package/dist/common/settingsSchema.d.ts +6 -9
  189. package/dist/common/settingsSchema.js +18 -53
  190. package/dist/common/setupContextHook.d.ts +16 -0
  191. package/dist/common/setupContextHook.js +22 -0
  192. package/dist/common/telemetry.d.ts +3 -6
  193. package/dist/common/telemetry.js +8 -40
  194. package/dist/index.d.ts +4 -6
  195. package/dist/index.js +92 -783
  196. package/dist/runtime/RunError.d.ts +5 -0
  197. package/dist/runtime/RunError.js +19 -0
  198. package/dist/runtime/attemptStore.d.ts +2 -0
  199. package/dist/runtime/attemptStore.js +23 -0
  200. package/dist/runtime/captcha.d.ts +15 -0
  201. package/dist/runtime/captcha.js +191 -0
  202. package/dist/runtime/captcha.test.js +821 -0
  203. package/dist/runtime/downloadDirectory.d.ts +1 -0
  204. package/dist/runtime/downloadDirectory.js +19 -0
  205. package/dist/runtime/enums.d.js +5 -0
  206. package/dist/runtime/enums.d.ts +11 -0
  207. package/dist/runtime/enums.js +18 -0
  208. package/dist/runtime/executionHelpers.test.js +52 -0
  209. package/dist/runtime/export.d.js +5 -0
  210. package/dist/runtime/export.d.ts +284 -0
  211. package/dist/runtime/extendPayload.d.ts +2 -0
  212. package/dist/runtime/extendPayload.js +21 -0
  213. package/dist/runtime/extendTimeout.d.ts +1 -0
  214. package/dist/runtime/extendTimeout.js +23 -0
  215. package/dist/runtime/getAiGatewayConfig.d.ts +10 -0
  216. package/dist/runtime/getAiGatewayConfig.js +16 -0
  217. package/dist/runtime/getAuthSessionParameters.d.ts +1 -0
  218. package/dist/runtime/getAuthSessionParameters.js +20 -0
  219. package/dist/runtime/index.d.ts +10 -168
  220. package/dist/runtime/index.js +88 -778
  221. package/dist/runtime/persistentStore.d.ts +2 -0
  222. package/dist/runtime/persistentStore.js +37 -0
  223. package/dist/runtime/persistentStore.test.js +101 -0
  224. package/dist/runtime/runInfo.d.ts +2 -0
  225. package/dist/runtime/runInfo.js +21 -0
  226. package/dist/vendor/runtime-interface.d.ts +1 -0
  227. package/dist/vendor/runtime-interface.js +474 -0
  228. package/package.json +18 -72
  229. package/template.tsconfig.json +11 -0
  230. package/tsconfig.eslint.json +5 -0
  231. package/tsconfig.json +25 -0
  232. package/tsup.config.ts +11 -0
  233. package/typedoc.json +49 -0
  234. package/dist/export.d-BAUMB-lG.d.ts +0 -140
@@ -0,0 +1,425 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports._runCreateWithRetries = exports._runCreate = exports._runCheckWithRetries = exports._runCheck = void 0;
7
+ exports.executeAttemptCheckAuthSessionCLI = executeAttemptCheckAuthSessionCLI;
8
+ exports.executeAttemptCreateAuthSessionCLI = executeAttemptCreateAuthSessionCLI;
9
+ exports.executeRecordAuthSessionCLI = executeRecordAuthSessionCLI;
10
+ exports.executeRunCreateAuthSessionCLI = executeRunCreateAuthSessionCLI;
11
+ exports.executeRunUpdateAuthSessionCLI = executeRunUpdateAuthSessionCLI;
12
+ exports.executeRunValidateAuthSessionCLI = executeRunValidateAuthSessionCLI;
13
+ var _helpers = require("../helpers");
14
+ var _runApi = require("../../../common/runApi");
15
+ var _constants = require("../../../common/constants");
16
+ var _tsNodeImport = require("../../common/tsNodeImport");
17
+ var _terminal = require("../helpers/terminal");
18
+ var _browser = require("../helpers/browser");
19
+ var _launchBrowser = require("../../../common/launchBrowser");
20
+ var _promises = require("timers/promises");
21
+ var _contextStorageStateHelpers = require("../../../common/contextStorageStateHelpers");
22
+ var _runtimeInterface = require("../../../vendor/runtime-interface");
23
+ async function executeRunValidateAuthSessionCLI({
24
+ id,
25
+ autoRecreate,
26
+ checkRetries,
27
+ createRetries,
28
+ ...rest
29
+ }) {
30
+ (0, _terminal.terminal)(`^+Validating AuthSession with id ^c${id}^:\n`);
31
+ const {
32
+ storageState
33
+ } = await (0, _helpers.loadAuthSessionInstance)(id);
34
+ await (0, _helpers.assertApiFileExists)(_constants.AUTH_SESSIONS_FOLDER_NAME, "check");
35
+ (0, _helpers.registerGetAuthSessionParameters)(id);
36
+ const checkResult = await runCheckWithRetries({
37
+ auth: storageState,
38
+ retries: checkRetries,
39
+ ...rest
40
+ });
41
+ if (!checkResult) {
42
+ if (!autoRecreate) {
43
+ throw new _helpers.CLIError("Auto recreate is disabled. Use a different AuthSession or update it by running 'intuned run authsession update <id>' command.");
44
+ }
45
+ const {
46
+ metadata
47
+ } = await (0, _helpers.loadAuthSessionInstance)(id);
48
+ if (metadata?.authSessionType === "MANUAL") {
49
+ throw new _helpers.CLIError("AuthSession is recorder-based, it cannot be auto-recreated. Use a different AuthSession.");
50
+ }
51
+ (0, _terminal.terminal)("^+Auto recreate is enabled - trying to re-create it^:\n");
52
+ await (0, _helpers.assertApiFileExists)(_constants.AUTH_SESSIONS_FOLDER_NAME, "create");
53
+ const authSessionInput = metadata?.authSessionInput ?? {};
54
+ const storageState = await runCreateWithRetries({
55
+ authSessionId: id,
56
+ authSessionInput,
57
+ retries: createRetries,
58
+ metadata,
59
+ ...rest
60
+ });
61
+ const checkResult = await runCheckWithRetries({
62
+ auth: storageState,
63
+ retries: checkRetries,
64
+ ...rest
65
+ });
66
+ if (!checkResult) {
67
+ throw new _helpers.CLIError("Failed to re-create AuthSession");
68
+ }
69
+ }
70
+ (0, _terminal.terminal)(`^+^gAuthSession validated successfully^:\n`);
71
+ return storageState;
72
+ }
73
+ async function executeRunCreateAuthSessionCLI({
74
+ id,
75
+ input,
76
+ checkRetries,
77
+ createRetries,
78
+ log = true,
79
+ ...rest
80
+ }) {
81
+ id = id ?? generateAuthSessionId();
82
+ (0, _terminal.terminal)(`^+Creating AuthSession with id ^c${id}^:\n`);
83
+ await Promise.all([await (0, _helpers.assertApiFileExists)(_constants.AUTH_SESSIONS_FOLDER_NAME, "create"), await (0, _helpers.assertApiFileExists)(_constants.AUTH_SESSIONS_FOLDER_NAME, "check")]);
84
+ const createdStorageState = await runCreateWithRetries({
85
+ authSessionId: id,
86
+ authSessionInput: input,
87
+ retries: createRetries,
88
+ ...rest
89
+ });
90
+ const auth = createdStorageState;
91
+ const checkResult = await runCheckWithRetries({
92
+ auth,
93
+ retries: checkRetries,
94
+ ...rest
95
+ });
96
+ if (!checkResult) {
97
+ throw new _helpers.CLIError("Failed to create AuthSession");
98
+ }
99
+ if (log) {
100
+ (0, _terminal.terminal)(`^+^gAuthSession created successfully^:\n`);
101
+ }
102
+ return auth;
103
+ }
104
+ async function executeRunUpdateAuthSessionCLI({
105
+ id,
106
+ input,
107
+ checkRetries,
108
+ createRetries,
109
+ ...rest
110
+ }) {
111
+ (0, _terminal.terminal)(`^+Updating AuthSession with id ^c${id}^:\n`);
112
+ let metadata = undefined;
113
+ if (input === undefined) {
114
+ ({
115
+ metadata
116
+ } = await (0, _helpers.loadAuthSessionInstance)(id));
117
+ if (metadata?.authSessionType === "MANUAL") {
118
+ throw new _helpers.CLIError("AuthSession is recorder-based, it cannot be updated. Use a different AuthSession.");
119
+ }
120
+ input = metadata?.authSessionInput ?? {};
121
+ }
122
+ await Promise.all([await (0, _helpers.assertApiFileExists)(_constants.AUTH_SESSIONS_FOLDER_NAME, "create"), await (0, _helpers.assertApiFileExists)(_constants.AUTH_SESSIONS_FOLDER_NAME, "check")]);
123
+ const authSession = await executeRunCreateAuthSessionCLI({
124
+ id,
125
+ input,
126
+ checkRetries,
127
+ createRetries,
128
+ log: false,
129
+ metadata,
130
+ ...rest
131
+ });
132
+ (0, _terminal.terminal)(`^+^gAuthSession updated successfully^:\n`);
133
+ return authSession;
134
+ }
135
+ async function executeAttemptCreateAuthSessionCLI({
136
+ id,
137
+ input,
138
+ ...rest
139
+ }) {
140
+ id = id ?? generateAuthSessionId(true);
141
+ (0, _terminal.terminal)(`^+Executing create AuthSession attempt with id ^c${id}^:\n`);
142
+ await (0, _helpers.assertApiFileExists)(_constants.AUTH_SESSIONS_FOLDER_NAME, "create");
143
+ return await runCreateWithRetries({
144
+ authSessionId: id,
145
+ authSessionInput: input,
146
+ ...rest
147
+ });
148
+ }
149
+ async function executeAttemptCheckAuthSessionCLI({
150
+ id,
151
+ ...rest
152
+ }) {
153
+ (0, _terminal.terminal)(`^+Executing check AuthSession attempt with id ^c${id}^:\n`);
154
+ await (0, _helpers.assertApiFileExists)(_constants.AUTH_SESSIONS_FOLDER_NAME, "check");
155
+ (0, _helpers.registerGetAuthSessionParameters)(id);
156
+ const {
157
+ storageState
158
+ } = await (0, _helpers.loadAuthSessionInstance)(id);
159
+ const checkResult = await runCheckWithRetries({
160
+ auth: storageState,
161
+ ...rest
162
+ });
163
+ if (!checkResult) {
164
+ throw new _helpers.CLIError("Check failed");
165
+ }
166
+ (0, _terminal.terminal)(`^+^gAuthSession check passed^:\n`);
167
+ return storageState;
168
+ }
169
+ async function runCheck({
170
+ auth,
171
+ proxy,
172
+ headless,
173
+ timeout,
174
+ traceId,
175
+ keepBrowserOpen,
176
+ cdpUrl
177
+ }) {
178
+ return await (0, _helpers.withTimeout)(async abortSignal => (0, _helpers.withCLITrace)(async tracing => {
179
+ const runApiResult = await (0, _runApi.runApi)({
180
+ automationFunction: {
181
+ name: `${_constants.AUTH_SESSIONS_FOLDER_NAME}/check`
182
+ },
183
+ runOptions: await (0, _browser.getCLIRunOptions)({
184
+ headless,
185
+ proxy,
186
+ keepBrowserOpen,
187
+ cdpUrl
188
+ }),
189
+ auth: {
190
+ session: {
191
+ type: "state",
192
+ state: auth
193
+ }
194
+ },
195
+ tracing,
196
+ importFunction: _tsNodeImport.tsNodeImport,
197
+ abortSignal
198
+ });
199
+ if (runApiResult.isErr()) {
200
+ throw runApiResult.error;
201
+ }
202
+ const result = runApiResult.value.result;
203
+ if (!result) {
204
+ return false;
205
+ }
206
+ return result;
207
+ }, traceId), timeout);
208
+ }
209
+ const _runCheck = exports._runCheck = runCheck;
210
+ async function runCreate({
211
+ authSessionInput,
212
+ proxy,
213
+ headless,
214
+ timeout,
215
+ traceId,
216
+ keepBrowserOpen,
217
+ cdpUrl
218
+ }) {
219
+ return await (0, _helpers.withTimeout)(async abortSignal => (0, _helpers.withCLITrace)(async tracing => {
220
+ const result = await (0, _runApi.runApi)({
221
+ automationFunction: {
222
+ name: `${_constants.AUTH_SESSIONS_FOLDER_NAME}/create`,
223
+ params: authSessionInput
224
+ },
225
+ runOptions: await (0, _browser.getCLIRunOptions)({
226
+ headless,
227
+ proxy,
228
+ keepBrowserOpen,
229
+ cdpUrl
230
+ }),
231
+ retrieveSession: true,
232
+ tracing,
233
+ importFunction: _tsNodeImport.tsNodeImport,
234
+ abortSignal
235
+ });
236
+ if (result.isErr()) {
237
+ throw result.error;
238
+ }
239
+ return result.value.session;
240
+ }, traceId), timeout);
241
+ }
242
+ const _runCreate = exports._runCreate = runCreate;
243
+ async function runCheckWithRetries({
244
+ auth,
245
+ retries,
246
+ ...rest
247
+ }) {
248
+ for (let i = 0; i < (retries ?? 1); i++) {
249
+ (0, _terminal.terminal)(`\n^+Running ^cAuthSession check${i === 0 ? "" : ` ^/(Attempt ${i + 1})`}^:...\n`);
250
+ try {
251
+ let traceId = undefined;
252
+ if (rest.trace) {
253
+ traceId = "authsession-check-attempt";
254
+ if (retries) {
255
+ traceId += `-${i + 1}`;
256
+ }
257
+ }
258
+ const checkResult = await runCheck({
259
+ auth,
260
+ traceId,
261
+ ...rest
262
+ });
263
+ if (checkResult) {
264
+ (0, _terminal.terminal)(`^+^gAuthSession check passed^:\n`);
265
+ return true;
266
+ }
267
+ } catch (error) {
268
+ if (error instanceof _runtimeInterface.RunAutomationError) {
269
+ (0, _helpers.logAutomationError)(error);
270
+ } else {
271
+ throw error;
272
+ }
273
+ }
274
+ (0, _terminal.terminal)(`^+^yAuthSession check failed^:\n`);
275
+ }
276
+ (0, _terminal.terminal)(`^+^rAuthSession check failed after ${retries} attempts^:\n`);
277
+ return false;
278
+ }
279
+ const _runCheckWithRetries = exports._runCheckWithRetries = runCheckWithRetries;
280
+ async function runCreateWithRetries({
281
+ authSessionId,
282
+ authSessionInput,
283
+ retries,
284
+ trace,
285
+ metadata,
286
+ ...rest
287
+ }) {
288
+ let newAuthSessionInstance = null;
289
+ for (let i = 0; i < (retries ?? 1); i++) {
290
+ (0, _terminal.terminal)(`\n^+Running ^cAuthSession create${i === 0 ? "" : ` ^/(Attempt ${i + 1})`}^:...\n`);
291
+ try {
292
+ let traceId = undefined;
293
+ if (trace) {
294
+ traceId = "authsession-create-attempt";
295
+ if (retries) {
296
+ traceId += `-${i + 1}`;
297
+ }
298
+ }
299
+ newAuthSessionInstance = await runCreate({
300
+ authSessionInput,
301
+ traceId,
302
+ ...rest
303
+ });
304
+ (0, _terminal.terminal)(`^+^gAuthSession create succeeded^:\n`);
305
+ break;
306
+ } catch (error) {
307
+ if (error instanceof _runtimeInterface.RunAutomationError) {
308
+ (0, _helpers.logAutomationError)(error);
309
+ } else {
310
+ throw error;
311
+ }
312
+ (0, _terminal.terminal)(`^+^yAuthSession create failed^:\n`);
313
+ }
314
+ }
315
+ if (!newAuthSessionInstance) {
316
+ throw new _helpers.CLIError(`Failed to create AuthSession after ${retries} retries. Check errors above for more details.`);
317
+ }
318
+ await (0, _helpers.storeAuthSessionInstance)({
319
+ state: newAuthSessionInstance,
320
+ id: authSessionId,
321
+ input: authSessionInput,
322
+ proxy: rest.proxy,
323
+ metadata
324
+ });
325
+ return newAuthSessionInstance;
326
+ }
327
+ const _runCreateWithRetries = exports._runCreateWithRetries = runCreateWithRetries;
328
+ async function executeRecordAuthSessionCLI({
329
+ id,
330
+ checkRetries,
331
+ timeout,
332
+ headless,
333
+ proxy,
334
+ trace = false,
335
+ keepBrowserOpen,
336
+ startUrl,
337
+ finishUrl
338
+ }) {
339
+ id = id ?? generateAuthSessionId();
340
+ (0, _terminal.terminal)(`^+Recording AuthSession with id ^c${id}^:\n`);
341
+ let authSession;
342
+ try {
343
+ authSession = await recordAuthSession({
344
+ startUrl,
345
+ finishUrl,
346
+ timeout,
347
+ proxy: proxy ? (0, _helpers.parseUrlProxy)(proxy) : undefined
348
+ });
349
+ } catch (error) {
350
+ if (error instanceof _helpers.CLIError) {
351
+ throw new _helpers.CLIError(`Failed to record AuthSession: ${error.message}`);
352
+ }
353
+ throw error;
354
+ }
355
+ await (0, _helpers.storeAuthSessionInstance)({
356
+ state: authSession,
357
+ id,
358
+ proxy,
359
+ metadata: {
360
+ createdAt: new Date().toISOString(),
361
+ updatedAt: new Date().toISOString(),
362
+ authSessionId: id,
363
+ authSessionType: "MANUAL",
364
+ recorderStartUrl: startUrl,
365
+ recorderEndUrl: finishUrl
366
+ }
367
+ });
368
+ await executeRunValidateAuthSessionCLI({
369
+ id,
370
+ headless,
371
+ timeout,
372
+ proxy,
373
+ autoRecreate: false,
374
+ checkRetries,
375
+ createRetries: 0,
376
+ trace,
377
+ keepBrowserOpen
378
+ });
379
+ (0, _terminal.terminal)(`^+^gAuthSession ^c${id}^ ^+^grecorded successfully^:\n`);
380
+ }
381
+ async function recordAuthSession({
382
+ startUrl,
383
+ finishUrl,
384
+ timeout,
385
+ proxy
386
+ }) {
387
+ const {
388
+ context,
389
+ page
390
+ } = await (0, _launchBrowser.launchChromium)({
391
+ headless: false,
392
+ proxy,
393
+ appModeInitialUrl: startUrl
394
+ });
395
+ try {
396
+ if (!page.url().startsWith(startUrl)) {
397
+ await page.goto(startUrl);
398
+ }
399
+ (0, _terminal.terminal)(`^+Navigated to^ ^_${startUrl}^:\n`);
400
+ (0, _terminal.terminal)(`^+Waiting for^ ^_${finishUrl}^:...\n`);
401
+ const timeoutTimestamp = Date.now() + timeout;
402
+ while (true) {
403
+ if (Date.now() > timeoutTimestamp) {
404
+ throw new _helpers.CLIError("AuthSession recording failed - Timeout waiting for finish URL");
405
+ }
406
+ if (context.pages().length === 0) {
407
+ throw new _helpers.CLIError("AuthSession recording failed - Browser was closed before reaching the finish URL");
408
+ }
409
+ if (context.pages()[0].url().startsWith(finishUrl)) {
410
+ break;
411
+ }
412
+ await (0, _promises.setTimeout)(1000);
413
+ }
414
+ (0, _terminal.terminal)(`^+Finish URL reached, capturing AuthSession...^:\n`);
415
+ await page.waitForLoadState("load");
416
+ const authSession = await (0, _contextStorageStateHelpers.getStorageState)(context);
417
+ return authSession;
418
+ } finally {
419
+ await context.close();
420
+ }
421
+ }
422
+ function generateAuthSessionId(isAttempt = false) {
423
+ if (isAttempt) return `auth-session-attempt-${Date.now()}`;
424
+ return `auth-session-${Date.now()}`;
425
+ }
@@ -0,0 +1 @@
1
+ export declare const runBuild: () => Promise<boolean>;
@@ -0,0 +1,35 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.runBuild = void 0;
7
+ var fs = _interopRequireWildcard(require("fs-extra"));
8
+ var path = _interopRequireWildcard(require("path"));
9
+ var _child_process = require("child_process");
10
+ var _util = require("util");
11
+ var _terminal = require("../helpers/terminal");
12
+ function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function (e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, default: e }; if (null === e || "object" != typeof e && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (const t in e) "default" !== t && {}.hasOwnProperty.call(e, t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, t)) && (i.get || i.set) ? o(f, t, i) : f[t] = e[t]); return f; })(e, t); }
13
+ const execPromise = (0, _util.promisify)(_child_process.exec);
14
+ const runBuild = async () => {
15
+ const distPath = path.join(process.cwd(), "dist");
16
+ if (await fs.exists(distPath)) {
17
+ await fs.remove(distPath);
18
+ }
19
+ const buildCommand = "tsc";
20
+ try {
21
+ await execPromise(buildCommand);
22
+ (0, _terminal.terminal)(`^g^+✨ Build completed successfully!^:\n`);
23
+ return true;
24
+ } catch (error) {
25
+ (0, _terminal.terminal)(`^r^+An error occurred during the build process:^:\n`);
26
+ if ("stdout" in error) {
27
+ (0, _terminal.terminal)(`${error.stdout}\n`);
28
+ } else {
29
+ (0, _terminal.terminal)(`^${error.message}^:\n`);
30
+ }
31
+ (0, _terminal.terminal)(`^r^+Build failed^:\n`);
32
+ return false;
33
+ }
34
+ };
35
+ exports.runBuild = runBuild;
@@ -0,0 +1,5 @@
1
+ import { z } from "zod";
2
+ import type { AuthCredentials } from "../types";
3
+ export declare const START_RUN_INPUT_QUERY_PARAM_KEY = "startRunInput";
4
+ export declare function runDeployProject(projectName: string, auth: AuthCredentials): Promise<void>;
5
+ export declare const projectNameSchema: z.ZodEffects<z.ZodString, string, string>;