@intuned/runtime-dev 1.3.18-interface.4 → 1.3.18-interface.9

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 (307) hide show
  1. package/dist/chunk-3AGSY4RT.mjs +1108 -0
  2. package/dist/chunk-3AGSY4RT.mjs.map +1 -0
  3. package/dist/chunk-6ZRJOUQS.mjs +16 -0
  4. package/dist/chunk-6ZRJOUQS.mjs.map +1 -0
  5. package/dist/chunk-7YL2JUTE.mjs +146 -0
  6. package/dist/chunk-7YL2JUTE.mjs.map +1 -0
  7. package/dist/chunk-BF45RZ32.mjs +13 -0
  8. package/dist/chunk-BF45RZ32.mjs.map +1 -0
  9. package/dist/chunk-FGV5T6SI.mjs +27 -0
  10. package/dist/chunk-FGV5T6SI.mjs.map +1 -0
  11. package/dist/chunk-G4PO5RIV.mjs +85 -0
  12. package/dist/chunk-G4PO5RIV.mjs.map +1 -0
  13. package/dist/chunk-LZOMFHX3.mjs +38 -0
  14. package/dist/chunk-LZOMFHX3.mjs.map +1 -0
  15. package/dist/{common/formatZodError.js → chunk-NDMVGENG.mjs} +9 -9
  16. package/dist/chunk-NDMVGENG.mjs.map +1 -0
  17. package/dist/chunk-UO2E7T7T.mjs +787 -0
  18. package/dist/chunk-UO2E7T7T.mjs.map +1 -0
  19. package/dist/chunk-W4UX6G4X.mjs +17 -0
  20. package/dist/chunk-W4UX6G4X.mjs.map +1 -0
  21. package/dist/chunk-XOAZ2MGA.mjs +59 -0
  22. package/dist/chunk-XOAZ2MGA.mjs.map +1 -0
  23. package/dist/commands/common/tsNodeImport.d.mts +5 -0
  24. package/dist/commands/common/tsNodeImport.d.ts +5 -2
  25. package/dist/commands/common/tsNodeImport.js +56 -16
  26. package/dist/commands/common/tsNodeImport.js.map +1 -0
  27. package/dist/commands/common/tsNodeImport.mjs +45 -0
  28. package/dist/commands/common/tsNodeImport.mjs.map +1 -0
  29. package/dist/commands/interface/run.d.mts +3 -0
  30. package/dist/commands/interface/run.d.ts +3 -1
  31. package/dist/commands/interface/run.js +2047 -140
  32. package/dist/commands/interface/run.js.map +1 -0
  33. package/dist/commands/interface/run.mjs +256 -0
  34. package/dist/commands/interface/run.mjs.map +1 -0
  35. package/dist/common/asyncLocalStorage/index.d.mts +17 -0
  36. package/dist/common/asyncLocalStorage/index.d.ts +9 -8
  37. package/dist/common/asyncLocalStorage/index.js +34 -9
  38. package/dist/common/asyncLocalStorage/index.js.map +1 -0
  39. package/dist/common/asyncLocalStorage/index.mjs +12 -0
  40. package/dist/common/asyncLocalStorage/index.mjs.map +1 -0
  41. package/dist/common/binStartupScript.d.mts +2 -0
  42. package/dist/common/binStartupScript.d.ts +2 -1
  43. package/dist/common/binStartupScript.js +127 -11
  44. package/dist/common/binStartupScript.js.map +1 -0
  45. package/dist/common/binStartupScript.mjs +135 -0
  46. package/dist/common/binStartupScript.mjs.map +1 -0
  47. package/dist/common/cleanEnvironmentVariables.d.mts +3 -0
  48. package/dist/common/cleanEnvironmentVariables.d.ts +3 -1
  49. package/dist/common/cleanEnvironmentVariables.js +30 -7
  50. package/dist/common/cleanEnvironmentVariables.js.map +1 -0
  51. package/dist/common/cleanEnvironmentVariables.mjs +8 -0
  52. package/dist/common/cleanEnvironmentVariables.mjs.map +1 -0
  53. package/dist/common/constants.d.mts +13 -0
  54. package/dist/common/constants.d.ts +13 -11
  55. package/dist/common/constants.js +58 -15
  56. package/dist/common/constants.js.map +1 -0
  57. package/dist/common/constants.mjs +28 -0
  58. package/dist/common/constants.mjs.map +1 -0
  59. package/dist/common/contextStorageStateHelpers.d.mts +24 -0
  60. package/dist/common/contextStorageStateHelpers.d.ts +8 -6
  61. package/dist/common/contextStorageStateHelpers.js +47 -22
  62. package/dist/common/contextStorageStateHelpers.js.map +1 -0
  63. package/dist/common/contextStorageStateHelpers.mjs +10 -0
  64. package/dist/common/contextStorageStateHelpers.mjs.map +1 -0
  65. package/dist/common/jwtTokenManager.d.mts +19 -0
  66. package/dist/common/jwtTokenManager.d.ts +6 -4
  67. package/dist/common/jwtTokenManager.js +108 -41
  68. package/dist/common/jwtTokenManager.js.map +1 -0
  69. package/dist/common/jwtTokenManager.mjs +11 -0
  70. package/dist/common/jwtTokenManager.mjs.map +1 -0
  71. package/dist/common/runApi/index.d.mts +11 -0
  72. package/dist/common/runApi/index.d.ts +9 -6
  73. package/dist/common/runApi/index.js +1774 -74
  74. package/dist/common/runApi/index.js.map +1 -0
  75. package/dist/common/runApi/index.mjs +19 -0
  76. package/dist/common/runApi/index.mjs.map +1 -0
  77. package/dist/common/settingsSchema.d.mts +540 -0
  78. package/dist/common/settingsSchema.d.ts +58 -51
  79. package/dist/common/settingsSchema.js +55 -20
  80. package/dist/common/settingsSchema.js.map +1 -0
  81. package/dist/common/settingsSchema.mjs +10 -0
  82. package/dist/common/settingsSchema.mjs.map +1 -0
  83. package/dist/common/telemetry.d.mts +6 -0
  84. package/dist/common/telemetry.d.ts +6 -3
  85. package/dist/common/telemetry.js +41 -9
  86. package/dist/common/telemetry.js.map +1 -0
  87. package/dist/common/telemetry.mjs +31 -0
  88. package/dist/common/telemetry.mjs.map +1 -0
  89. package/dist/export.d-BAUMB-lG.d.mts +140 -0
  90. package/dist/export.d-BAUMB-lG.d.ts +140 -0
  91. package/dist/index.d.mts +6 -0
  92. package/dist/index.d.ts +6 -4
  93. package/dist/index.js +784 -92
  94. package/dist/index.js.map +1 -0
  95. package/dist/index.mjs +48 -0
  96. package/dist/index.mjs.map +1 -0
  97. package/dist/runtime/index.d.mts +168 -0
  98. package/dist/runtime/index.d.ts +168 -10
  99. package/dist/runtime/index.js +779 -88
  100. package/dist/runtime/index.js.map +1 -0
  101. package/dist/runtime/index.mjs +43 -0
  102. package/dist/runtime/index.mjs.map +1 -0
  103. package/package.json +77 -16
  104. package/.babelrc +0 -21
  105. package/.eslintignore +0 -10
  106. package/.eslintrc.js +0 -39
  107. package/.turbo/turbo-build.log +0 -2
  108. package/InterfaceTemplate/__utils.ts +0 -61
  109. package/InterfaceTemplate/index.playwright.ts +0 -6
  110. package/WebTemplate.zip +0 -0
  111. package/dist/commands/api/run.d.ts +0 -6
  112. package/dist/commands/api/run.js +0 -120
  113. package/dist/commands/auth-sessions/load.d.ts +0 -2
  114. package/dist/commands/auth-sessions/load.js +0 -35
  115. package/dist/commands/auth-sessions/run-check.d.ts +0 -2
  116. package/dist/commands/auth-sessions/run-check.js +0 -75
  117. package/dist/commands/auth-sessions/run-create.d.ts +0 -2
  118. package/dist/commands/auth-sessions/run-create.js +0 -79
  119. package/dist/commands/browser/save-state.d.ts +0 -2
  120. package/dist/commands/browser/save-state.js +0 -17
  121. package/dist/commands/browser/start-browser.d.ts +0 -2
  122. package/dist/commands/browser/start-browser.js +0 -14
  123. package/dist/commands/build.d.ts +0 -1
  124. package/dist/commands/build.js +0 -84
  125. package/dist/commands/common/browserUtils.d.ts +0 -14
  126. package/dist/commands/common/browserUtils.js +0 -58
  127. package/dist/commands/common/getFirstLineNumber.d.ts +0 -9
  128. package/dist/commands/common/getFirstLineNumber.js +0 -101
  129. package/dist/commands/common/getFirstLineNumber.test.js +0 -228
  130. package/dist/commands/common/projectExclusions.d.ts +0 -2
  131. package/dist/commands/common/projectExclusions.js +0 -8
  132. package/dist/commands/common/sendMessageToClient.d.ts +0 -1
  133. package/dist/commands/common/sendMessageToClient.js +0 -10
  134. package/dist/commands/common/utils/fileUtils.d.ts +0 -6
  135. package/dist/commands/common/utils/fileUtils.js +0 -33
  136. package/dist/commands/common/utils/interfaceClient.d.ts +0 -31
  137. package/dist/commands/common/utils/interfaceClient.js +0 -99
  138. package/dist/commands/common/utils/settings.d.ts +0 -2
  139. package/dist/commands/common/utils/settings.js +0 -31
  140. package/dist/commands/common/utils/template.d.ts +0 -2
  141. package/dist/commands/common/utils/template.js +0 -31
  142. package/dist/commands/get-headless-user-agent.d.ts +0 -1
  143. package/dist/commands/get-headless-user-agent.js +0 -18
  144. package/dist/commands/interface/pingPong.d.ts +0 -2
  145. package/dist/commands/interface/pingPong.js +0 -11
  146. package/dist/commands/interface/runApi.d.ts +0 -1
  147. package/dist/commands/interface/runApi.js +0 -102
  148. package/dist/commands/intuned-cli/commands/attempt.command.d.ts +0 -1
  149. package/dist/commands/intuned-cli/commands/attempt.command.js +0 -8
  150. package/dist/commands/intuned-cli/commands/attempt_api.command.d.ts +0 -1
  151. package/dist/commands/intuned-cli/commands/attempt_api.command.js +0 -30
  152. package/dist/commands/intuned-cli/commands/attempt_authsession.command.d.ts +0 -1
  153. package/dist/commands/intuned-cli/commands/attempt_authsession.command.js +0 -8
  154. package/dist/commands/intuned-cli/commands/attempt_authsession_check.command.d.ts +0 -1
  155. package/dist/commands/intuned-cli/commands/attempt_authsession_check.command.js +0 -19
  156. package/dist/commands/intuned-cli/commands/attempt_authsession_create.command.d.ts +0 -1
  157. package/dist/commands/intuned-cli/commands/attempt_authsession_create.command.js +0 -24
  158. package/dist/commands/intuned-cli/commands/authsession.command.d.ts +0 -1
  159. package/dist/commands/intuned-cli/commands/authsession.command.js +0 -8
  160. package/dist/commands/intuned-cli/commands/authsession_record.command.d.ts +0 -1
  161. package/dist/commands/intuned-cli/commands/authsession_record.command.js +0 -32
  162. package/dist/commands/intuned-cli/commands/authsession_scaffold.command.d.ts +0 -1
  163. package/dist/commands/intuned-cli/commands/authsession_scaffold.command.js +0 -16
  164. package/dist/commands/intuned-cli/commands/build.command.d.ts +0 -1
  165. package/dist/commands/intuned-cli/commands/build.command.js +0 -12
  166. package/dist/commands/intuned-cli/commands/command.d.ts +0 -2
  167. package/dist/commands/intuned-cli/commands/command.js +0 -9
  168. package/dist/commands/intuned-cli/commands/deploy.command.d.ts +0 -1
  169. package/dist/commands/intuned-cli/commands/deploy.command.js +0 -42
  170. package/dist/commands/intuned-cli/commands/index.d.ts +0 -18
  171. package/dist/commands/intuned-cli/commands/index.js +0 -203
  172. package/dist/commands/intuned-cli/commands/provision.command.d.ts +0 -13
  173. package/dist/commands/intuned-cli/commands/provision.command.js +0 -50
  174. package/dist/commands/intuned-cli/commands/run.command.d.ts +0 -1
  175. package/dist/commands/intuned-cli/commands/run.command.js +0 -8
  176. package/dist/commands/intuned-cli/commands/run_api.command.d.ts +0 -1
  177. package/dist/commands/intuned-cli/commands/run_api.command.js +0 -46
  178. package/dist/commands/intuned-cli/commands/run_authsession.command.d.ts +0 -34
  179. package/dist/commands/intuned-cli/commands/run_authsession.command.js +0 -17
  180. package/dist/commands/intuned-cli/commands/run_authsession_create.command.d.ts +0 -1
  181. package/dist/commands/intuned-cli/commands/run_authsession_create.command.js +0 -35
  182. package/dist/commands/intuned-cli/commands/run_authsession_update.command.d.ts +0 -1
  183. package/dist/commands/intuned-cli/commands/run_authsession_update.command.js +0 -35
  184. package/dist/commands/intuned-cli/commands/run_authsession_validate.command.d.ts +0 -1
  185. package/dist/commands/intuned-cli/commands/run_authsession_validate.command.js +0 -33
  186. package/dist/commands/intuned-cli/commands/types.d.ts +0 -39
  187. package/dist/commands/intuned-cli/commands/types.js +0 -33
  188. package/dist/commands/intuned-cli/constants/index.d.ts +0 -17
  189. package/dist/commands/intuned-cli/constants/index.js +0 -25
  190. package/dist/commands/intuned-cli/controller/__test__/api.test.js +0 -398
  191. package/dist/commands/intuned-cli/controller/__test__/authSession.test.js +0 -1060
  192. package/dist/commands/intuned-cli/controller/api.d.ts +0 -42
  193. package/dist/commands/intuned-cli/controller/api.js +0 -195
  194. package/dist/commands/intuned-cli/controller/authSession.d.ts +0 -209
  195. package/dist/commands/intuned-cli/controller/authSession.js +0 -425
  196. package/dist/commands/intuned-cli/controller/build.d.ts +0 -1
  197. package/dist/commands/intuned-cli/controller/build.js +0 -36
  198. package/dist/commands/intuned-cli/controller/deploy.d.ts +0 -5
  199. package/dist/commands/intuned-cli/controller/deploy.js +0 -318
  200. package/dist/commands/intuned-cli/controller/index.d.ts +0 -1
  201. package/dist/commands/intuned-cli/controller/index.js +0 -46
  202. package/dist/commands/intuned-cli/controller/provision.d.ts +0 -21
  203. package/dist/commands/intuned-cli/controller/provision.js +0 -300
  204. package/dist/commands/intuned-cli/controller/scaffold.d.ts +0 -1
  205. package/dist/commands/intuned-cli/controller/scaffold.js +0 -77
  206. package/dist/commands/intuned-cli/helpers/__test__/browser.test.js +0 -152
  207. package/dist/commands/intuned-cli/helpers/__test__/tracing.test.js +0 -41
  208. package/dist/commands/intuned-cli/helpers/api.d.ts +0 -3
  209. package/dist/commands/intuned-cli/helpers/api.js +0 -16
  210. package/dist/commands/intuned-cli/helpers/auth.d.ts +0 -46
  211. package/dist/commands/intuned-cli/helpers/auth.js +0 -147
  212. package/dist/commands/intuned-cli/helpers/backend.d.ts +0 -8
  213. package/dist/commands/intuned-cli/helpers/backend.js +0 -35
  214. package/dist/commands/intuned-cli/helpers/browser.d.ts +0 -14
  215. package/dist/commands/intuned-cli/helpers/browser.js +0 -93
  216. package/dist/commands/intuned-cli/helpers/context.d.ts +0 -3
  217. package/dist/commands/intuned-cli/helpers/context.js +0 -33
  218. package/dist/commands/intuned-cli/helpers/errors.d.ts +0 -16
  219. package/dist/commands/intuned-cli/helpers/errors.js +0 -44
  220. package/dist/commands/intuned-cli/helpers/index.d.ts +0 -12
  221. package/dist/commands/intuned-cli/helpers/index.js +0 -137
  222. package/dist/commands/intuned-cli/helpers/intunedJson.d.ts +0 -39
  223. package/dist/commands/intuned-cli/helpers/intunedJson.js +0 -20
  224. package/dist/commands/intuned-cli/helpers/prompts.d.ts +0 -3
  225. package/dist/commands/intuned-cli/helpers/prompts.js +0 -71
  226. package/dist/commands/intuned-cli/helpers/proxy.d.ts +0 -5
  227. package/dist/commands/intuned-cli/helpers/proxy.js +0 -23
  228. package/dist/commands/intuned-cli/helpers/terminal.d.ts +0 -5
  229. package/dist/commands/intuned-cli/helpers/terminal.js +0 -13
  230. package/dist/commands/intuned-cli/helpers/timeout.d.ts +0 -1
  231. package/dist/commands/intuned-cli/helpers/timeout.js +0 -23
  232. package/dist/commands/intuned-cli/helpers/traces.d.ts +0 -2
  233. package/dist/commands/intuned-cli/helpers/traces.js +0 -32
  234. package/dist/commands/intuned-cli/helpers/validation.d.ts +0 -2
  235. package/dist/commands/intuned-cli/helpers/validation.js +0 -14
  236. package/dist/commands/intuned-cli/helpers/wrapper.d.ts +0 -2
  237. package/dist/commands/intuned-cli/helpers/wrapper.js +0 -76
  238. package/dist/commands/intuned-cli/index.d.ts +0 -1
  239. package/dist/commands/intuned-cli/index.js +0 -16
  240. package/dist/commands/intuned-cli/main.d.ts +0 -1
  241. package/dist/commands/intuned-cli/main.js +0 -36
  242. package/dist/commands/intuned-cli/types.d.ts +0 -70
  243. package/dist/commands/intuned-cli/types.js +0 -22
  244. package/dist/commands/ts-check.d.ts +0 -2
  245. package/dist/commands/ts-check.js +0 -56
  246. package/dist/common/Logger/Logger/index.d.ts +0 -12
  247. package/dist/common/Logger/Logger/index.js +0 -60
  248. package/dist/common/Logger/Logger/types.d.ts +0 -8
  249. package/dist/common/Logger/Logger/types.js +0 -5
  250. package/dist/common/Logger/index.d.ts +0 -12
  251. package/dist/common/Logger/index.js +0 -60
  252. package/dist/common/Logger/types.d.ts +0 -8
  253. package/dist/common/Logger/types.js +0 -5
  254. package/dist/common/backendFunctions/getAuthSessionParameters.d.ts +0 -1
  255. package/dist/common/backendFunctions/getAuthSessionParameters.js +0 -38
  256. package/dist/common/browserTabs.d.ts +0 -72
  257. package/dist/common/browserTabs.js +0 -74
  258. package/dist/common/extension/extensionsHelpers.d.ts +0 -11
  259. package/dist/common/extension/extensionsHelpers.js +0 -147
  260. package/dist/common/extension/intunedExtensionServer.d.ts +0 -24
  261. package/dist/common/extension/intunedExtensionServer.js +0 -178
  262. package/dist/common/extension/types.d.ts +0 -212
  263. package/dist/common/extension/types.js +0 -51
  264. package/dist/common/formatZodError.d.ts +0 -2
  265. package/dist/common/intunedJson.d.ts +0 -229
  266. package/dist/common/intunedJson.js +0 -133
  267. package/dist/common/launchBrowser.d.ts +0 -34
  268. package/dist/common/launchBrowser.js +0 -248
  269. package/dist/common/playwrightContext.d.ts +0 -30
  270. package/dist/common/playwrightContext.js +0 -153
  271. package/dist/common/runApi/importUsingImportFunction.d.ts +0 -7
  272. package/dist/common/runApi/importUsingImportFunction.js +0 -46
  273. package/dist/common/setupContextHook.d.ts +0 -16
  274. package/dist/common/setupContextHook.js +0 -22
  275. package/dist/runtime/RunError.d.ts +0 -5
  276. package/dist/runtime/RunError.js +0 -19
  277. package/dist/runtime/attemptStore.d.ts +0 -2
  278. package/dist/runtime/attemptStore.js +0 -23
  279. package/dist/runtime/captcha.d.ts +0 -15
  280. package/dist/runtime/captcha.js +0 -191
  281. package/dist/runtime/captcha.test.js +0 -821
  282. package/dist/runtime/downloadDirectory.d.ts +0 -1
  283. package/dist/runtime/downloadDirectory.js +0 -19
  284. package/dist/runtime/enums.d.js +0 -5
  285. package/dist/runtime/enums.d.ts +0 -11
  286. package/dist/runtime/enums.js +0 -18
  287. package/dist/runtime/executionHelpers.test.js +0 -52
  288. package/dist/runtime/export.d.js +0 -5
  289. package/dist/runtime/export.d.ts +0 -284
  290. package/dist/runtime/extendPayload.d.ts +0 -2
  291. package/dist/runtime/extendPayload.js +0 -21
  292. package/dist/runtime/extendTimeout.d.ts +0 -1
  293. package/dist/runtime/extendTimeout.js +0 -23
  294. package/dist/runtime/getAiGatewayConfig.d.ts +0 -10
  295. package/dist/runtime/getAiGatewayConfig.js +0 -16
  296. package/dist/runtime/getAuthSessionParameters.d.ts +0 -1
  297. package/dist/runtime/getAuthSessionParameters.js +0 -20
  298. package/dist/runtime/persistentStore.d.ts +0 -2
  299. package/dist/runtime/persistentStore.js +0 -37
  300. package/dist/runtime/persistentStore.test.js +0 -101
  301. package/dist/runtime/runInfo.d.ts +0 -2
  302. package/dist/runtime/runInfo.js +0 -21
  303. package/template.tsconfig.json +0 -11
  304. package/tsconfig.eslint.json +0 -5
  305. package/tsconfig.json +0 -25
  306. package/typedoc.json +0 -49
  307. /package/dist/common/assets/{browser_scripts.js → assets/browser_scripts.js} +0 -0
@@ -0,0 +1,787 @@
1
+ import {
2
+ getFullPathInProject
3
+ } from "./chunk-BF45RZ32.mjs";
4
+ import {
5
+ getExecutionContext
6
+ } from "./chunk-W4UX6G4X.mjs";
7
+ import {
8
+ backendFunctionsTokenManager,
9
+ callBackendFunctionWithToken
10
+ } from "./chunk-7YL2JUTE.mjs";
11
+ import {
12
+ API_KEY_ENV_VAR_KEY,
13
+ PROJECT_ID_ENV_VAR_KEY,
14
+ WORKSPACE_ID_ENV_VAR_KEY
15
+ } from "./chunk-FGV5T6SI.mjs";
16
+ import {
17
+ captchaSolverSettingsSchema,
18
+ settingsSchema
19
+ } from "./chunk-XOAZ2MGA.mjs";
20
+
21
+ // src/runtime/extendTimeout.ts
22
+ function extendTimeout() {
23
+ const context = getExecutionContext();
24
+ if (!context) {
25
+ throw new Error("extendTimeout failed due to an internal error.");
26
+ }
27
+ const { timeoutInfo } = context;
28
+ if (!timeoutInfo) {
29
+ return;
30
+ }
31
+ if (timeoutInfo.extendTimeoutCallback !== void 0) {
32
+ void timeoutInfo.extendTimeoutCallback().catch(() => void 0);
33
+ }
34
+ }
35
+
36
+ // src/runtime/extendPayload.ts
37
+ function extendPayload(payload) {
38
+ const context = getExecutionContext();
39
+ if (!context) {
40
+ throw new Error("extendPayload failed due to an internal error.");
41
+ }
42
+ const items = Array.isArray(payload) ? payload : [payload];
43
+ if (!context.extendedPayloads) {
44
+ context.extendedPayloads = [...items];
45
+ return;
46
+ }
47
+ context?.extendedPayloads.push(...items);
48
+ extendTimeout();
49
+ }
50
+
51
+ // src/runtime/attemptStore.ts
52
+ var attemptStore = Object.freeze({
53
+ get: (key) => {
54
+ const context = getExecutionContext();
55
+ return context?.store ? context.store[key] : void 0;
56
+ },
57
+ set: (key, value) => {
58
+ const context = getExecutionContext();
59
+ if (!context) {
60
+ throw new Error("store.set failed due to an internal error.");
61
+ }
62
+ if (!context.store) {
63
+ context.store = {};
64
+ }
65
+ context.store[key] = value;
66
+ }
67
+ });
68
+
69
+ // src/runtime/persistentStore.ts
70
+ import { z } from "zod";
71
+ var forbiddenCharacters = /[:#]/g;
72
+ var keySchema = z.string().min(1, "Key must be at least 1 character long").refine(
73
+ (key) => (key.match(forbiddenCharacters)?.length ?? 0) === 0,
74
+ 'Key cannot contain the following characters: ":" or "#"'
75
+ );
76
+ var persistentStore = Object.freeze({
77
+ get: async (key) => {
78
+ const parsedKey = keySchema.parse(key);
79
+ const response = await callBackendFunctionWithToken(
80
+ `kv-store/${parsedKey}`,
81
+ {
82
+ method: "GET"
83
+ }
84
+ );
85
+ const json = await response.json();
86
+ if (!response.ok) {
87
+ throw new Error(json.message);
88
+ }
89
+ return json.value;
90
+ },
91
+ set: async (key, value) => {
92
+ const keyResult = keySchema.parse(key);
93
+ const response = await callBackendFunctionWithToken(
94
+ `kv-store/${keyResult}`,
95
+ {
96
+ method: "PUT",
97
+ body: JSON.stringify(value),
98
+ headers: {
99
+ "Content-Type": "application/json"
100
+ }
101
+ }
102
+ );
103
+ const json = await response.json();
104
+ if (!response.ok) {
105
+ throw new Error(json.message);
106
+ }
107
+ }
108
+ });
109
+
110
+ // src/runtime/getAuthSessionParameters.ts
111
+ async function getAuthSessionParameters() {
112
+ const context = getExecutionContext();
113
+ if (!context) {
114
+ throw new Error(
115
+ "getAuthSessionParameters failed due to an internal error (context was not found)."
116
+ );
117
+ }
118
+ const { getAuthSessionParameters: getAuthSessionParameters2 } = context;
119
+ if (!getAuthSessionParameters2) {
120
+ throw new Error(
121
+ "getAuthSessionParameters failed due to an internal error (helper was not found on context)."
122
+ );
123
+ }
124
+ return await getAuthSessionParameters2();
125
+ }
126
+
127
+ // src/runtime/runInfo.ts
128
+ function runInfo() {
129
+ const context = getExecutionContext();
130
+ if (!context) {
131
+ return {
132
+ runEnvironment: "IDE" /* IDE */
133
+ // runType: RunType.SYNC,
134
+ };
135
+ }
136
+ const { extendedPayloads: _extendedPayloads, ...rest } = context;
137
+ return rest;
138
+ }
139
+
140
+ // src/runtime/RunError.ts
141
+ var RunError = class _RunError extends Error {
142
+ constructor(message, options) {
143
+ super(message);
144
+ this.message = message;
145
+ this.name = "USER_GENERATED_ERROR";
146
+ this.options = options ?? {
147
+ retryable: false
148
+ };
149
+ Object.setPrototypeOf(this, _RunError.prototype);
150
+ }
151
+ };
152
+ new RunError("", {});
153
+
154
+ // src/common/extension/intunedExtensionServer.ts
155
+ import fastify from "fastify";
156
+
157
+ // src/common/extension/types.ts
158
+ import { z as z2 } from "zod";
159
+ var captchaTypeSchema = z2.enum([
160
+ "aws",
161
+ "cloudflare",
162
+ "customcaptcha",
163
+ "funcaptcha",
164
+ "geetest",
165
+ "hcaptcha",
166
+ "lemincaptcha",
167
+ "recaptcha",
168
+ "textcaptcha"
169
+ ]);
170
+ var captchaStatusSchema = z2.enum([
171
+ "attached",
172
+ "solving",
173
+ "solved",
174
+ "error",
175
+ "detached"
176
+ ]);
177
+ var captchaErrorCodeSchema = z2.enum([
178
+ "HIT_LIMIT",
179
+ "MAX_RETRIES",
180
+ "UNEXPECTED_SERVER_RESPONSE",
181
+ "UNEXPECTED_ERROR"
182
+ ]);
183
+ var captchaErrorSchema = z2.object({
184
+ code: captchaErrorCodeSchema,
185
+ error: z2.unknown().optional()
186
+ });
187
+ var captchaBaseSchema = z2.object({
188
+ id: z2.string().min(1),
189
+ tabId: z2.number().int().positive(),
190
+ type: captchaTypeSchema,
191
+ retryCount: z2.number().int().nonnegative().optional()
192
+ });
193
+ var captchaNonErrorSchema = captchaBaseSchema.extend({
194
+ status: captchaStatusSchema.exclude(["error"])
195
+ });
196
+ var captchaErrorStatusSchema = captchaBaseSchema.extend({
197
+ status: z2.literal("error"),
198
+ error: captchaErrorSchema
199
+ });
200
+ var captchaSchema = z2.discriminatedUnion("status", [
201
+ captchaBaseSchema.extend({
202
+ status: z2.literal("attached")
203
+ }),
204
+ captchaBaseSchema.extend({
205
+ status: z2.literal("solving")
206
+ }),
207
+ captchaBaseSchema.extend({
208
+ status: z2.literal("solved")
209
+ }),
210
+ captchaBaseSchema.extend({
211
+ status: z2.literal("detached")
212
+ }),
213
+ captchaErrorStatusSchema
214
+ ]);
215
+ var CaptchaSolveError = class extends Error {
216
+ constructor(message, error) {
217
+ super(message);
218
+ this.error = error;
219
+ this.name = "CaptchaSolveError";
220
+ }
221
+ };
222
+ var TimeoutError = class extends Error {
223
+ constructor(message) {
224
+ super(message);
225
+ this.name = "TimeoutError";
226
+ }
227
+ };
228
+
229
+ // src/commands/common/utils/settings.ts
230
+ import { readFile } from "fs/promises";
231
+ async function getSettings() {
232
+ const settingsFilePath = getFullPathInProject("Intuned.json");
233
+ const settings = await readFile(settingsFilePath, { encoding: "utf-8" });
234
+ if (settings) {
235
+ const parsed = settingsSchema.safeParse(JSON.parse(settings));
236
+ if (parsed.success) {
237
+ return parsed.data;
238
+ } else {
239
+ throw new Error(parsed.error.message);
240
+ }
241
+ }
242
+ return {
243
+ authSessions: { enabled: false },
244
+ stealthMode: { enabled: false }
245
+ };
246
+ }
247
+
248
+ // src/common/extension/extensionsHelpers.ts
249
+ import path from "path";
250
+ import { writeFile } from "fs/promises";
251
+ import { getPort } from "portfinder";
252
+ var INTUNED_WORKER = "intunedWorker.js";
253
+ var INTUNED_EXTENSION_SETTINGS_FILE_NAME = "intunedSettings.json";
254
+ var captchaSolverSettings = null;
255
+ async function getIntunedCaptchaExtensionPort() {
256
+ if (process.env.INTUNED_CAPTCHA_EXTENSION_PORT) {
257
+ return parseInt(process.env.INTUNED_CAPTCHA_EXTENSION_PORT, 10);
258
+ }
259
+ return await getPort({});
260
+ }
261
+ async function resolveCaptchaSolverSettings(input) {
262
+ const parsed = captchaSolverSettingsSchema.parse(input || {});
263
+ if (!parsed.port) {
264
+ parsed.port = await getIntunedCaptchaExtensionPort();
265
+ }
266
+ return parsed;
267
+ }
268
+ function isIntunedExtensionLoaded() {
269
+ return !!getIntunedExtensionPath();
270
+ }
271
+ function buildExtensionsList() {
272
+ const extensionsList = [];
273
+ if (isIntunedExtensionLoaded()) {
274
+ const intunedExtensionPath = getIntunedExtensionPath();
275
+ extensionsList.push(intunedExtensionPath);
276
+ }
277
+ return extensionsList;
278
+ }
279
+ function getIntunedExtensionPath() {
280
+ return process.env.INTUNED_EXTENSION_PATH;
281
+ }
282
+ async function isIntunedExtensionEnabled() {
283
+ const path2 = getIntunedExtensionPath();
284
+ if (!path2) {
285
+ return false;
286
+ }
287
+ const captchaSolverSettings2 = await getIntunedCaptchaSolverSettings();
288
+ return captchaSolverSettings2.enabled;
289
+ }
290
+ async function getIntunedExtensionWorker(context) {
291
+ if (!await isIntunedExtensionEnabled()) {
292
+ return null;
293
+ }
294
+ let attemptCount = 0;
295
+ while (attemptCount < 4) {
296
+ const intunedServiceWorker = context.serviceWorkers().find((serviceWorker) => serviceWorker.url().includes(INTUNED_WORKER));
297
+ if (intunedServiceWorker) {
298
+ return intunedServiceWorker;
299
+ }
300
+ try {
301
+ await context.waitForEvent("serviceworker", { timeout: 3e3 });
302
+ } catch (err) {
303
+ console.log(`Error accessing service workers (attempt ${attemptCount})`);
304
+ }
305
+ attemptCount++;
306
+ }
307
+ console.error("Failed to get intuned worker after 5 attmepts");
308
+ return null;
309
+ }
310
+ async function getIntunedExtensionSettings(captchaSolverSettings2) {
311
+ const [domain, workspaceId, projectId] = [
312
+ process.env.FUNCTIONS_DOMAIN,
313
+ process.env[WORKSPACE_ID_ENV_VAR_KEY],
314
+ process.env.INTUNED_INTEGRATION_ID ?? process.env[PROJECT_ID_ENV_VAR_KEY]
315
+ ];
316
+ if (!domain || !workspaceId || !projectId) {
317
+ const missingEnvVars = [
318
+ domain && "FUNCTIONS_DOMAIN",
319
+ workspaceId && WORKSPACE_ID_ENV_VAR_KEY,
320
+ projectId && `INTUNED_INTEGRATION_ID OR ${PROJECT_ID_ENV_VAR_KEY}`
321
+ ];
322
+ throw new Error(
323
+ `Missing required environment variables: ${missingEnvVars}`
324
+ );
325
+ }
326
+ const authentication = (() => {
327
+ if (process.env.INTUNED_API_KEY) {
328
+ return { type: "apiKey", apiKey: process.env.INTUNED_API_KEY };
329
+ }
330
+ if (process.env.INTUNED_BASIC_AUTH_USERNAME && process.env.INTUNED_BASIC_AUTH_PASSWORD) {
331
+ const credentials = `${process.env.INTUNED_BASIC_AUTH_USERNAME}:${process.env.INTUNED_BASIC_AUTH_PASSWORD}`;
332
+ const token = Buffer.from(credentials, "utf-8").toString("base64");
333
+ return { type: "basic", token };
334
+ }
335
+ return {
336
+ type: "bearer",
337
+ token: backendFunctionsTokenManager.token
338
+ };
339
+ })();
340
+ const baseUrl = process.env.INTUNED_API_BASE_URL ?? domain;
341
+ return {
342
+ ...captchaSolverSettings2,
343
+ workspaceId,
344
+ projectId,
345
+ baseUrl,
346
+ authentication
347
+ };
348
+ }
349
+ async function getIntunedCaptchaSolverSettings() {
350
+ if (captchaSolverSettings) {
351
+ return captchaSolverSettings;
352
+ }
353
+ const settings = await getSettings();
354
+ captchaSolverSettings = await resolveCaptchaSolverSettings(
355
+ settings.captchaSolver
356
+ );
357
+ return captchaSolverSettings;
358
+ }
359
+ async function setupIntunedExtension() {
360
+ if (!await isIntunedExtensionEnabled()) {
361
+ return;
362
+ }
363
+ const intunedExtensionPath = getIntunedExtensionPath();
364
+ const intunedExtensionSettingsPath = path.join(
365
+ intunedExtensionPath,
366
+ INTUNED_EXTENSION_SETTINGS_FILE_NAME
367
+ );
368
+ const captchaSolverSettings2 = await getIntunedCaptchaSolverSettings();
369
+ await setupIntunedExtensionServer(captchaSolverSettings2);
370
+ const captchaSolverSettingsWithRunContext = await getIntunedExtensionSettings(
371
+ captchaSolverSettings2
372
+ );
373
+ await writeFile(
374
+ intunedExtensionSettingsPath,
375
+ JSON.stringify(captchaSolverSettingsWithRunContext)
376
+ );
377
+ }
378
+
379
+ // src/common/extension/intunedExtensionServer.ts
380
+ var TabCaptchaState = class {
381
+ constructor(tabId) {
382
+ this.tabId = tabId;
383
+ this.captchasById = /* @__PURE__ */ new Map();
384
+ this.subscribers = new Array();
385
+ }
386
+ subscribe(handler) {
387
+ this.subscribers.push(handler);
388
+ }
389
+ unsubscribe(handler, status) {
390
+ const index = this.subscribers.findIndex(
391
+ (subscriber) => subscriber.handler === handler && (subscriber.status === status || !status)
392
+ );
393
+ if (index !== -1) {
394
+ this.subscribers.splice(index, 1);
395
+ }
396
+ }
397
+ getCaptchas() {
398
+ return [...this.captchasById.values()];
399
+ }
400
+ async upsertCaptcha(captcha) {
401
+ this.captchasById.set(captcha.id, captcha);
402
+ for (const subscriber of this.subscribers) {
403
+ if (!subscriber.status || subscriber.status === captcha.status) {
404
+ await subscriber.handler(captcha);
405
+ }
406
+ }
407
+ }
408
+ };
409
+ var ExtensionServer = class {
410
+ constructor() {
411
+ this.app = null;
412
+ this.tabs = /* @__PURE__ */ new Map();
413
+ }
414
+ getOrCreateTab(tabId) {
415
+ const existing = this.tabs.get(tabId);
416
+ if (existing) return existing;
417
+ const created = new TabCaptchaState(tabId);
418
+ this.tabs.set(tabId, created);
419
+ return created;
420
+ }
421
+ async handleUpsertCaptcha(captcha) {
422
+ const tab = this.getOrCreateTab(captcha.tabId);
423
+ await tab.upsertCaptcha(captcha);
424
+ }
425
+ async start({
426
+ port,
427
+ host = "0.0.0.0"
428
+ }) {
429
+ if (this.app) {
430
+ return;
431
+ }
432
+ this.app = fastify({
433
+ logger: false,
434
+ bodyLimit: 1e6
435
+ });
436
+ this.app.post("/state", async (request, reply) => {
437
+ try {
438
+ const result = captchaSchema.safeParse(request.body);
439
+ if (!result.success) {
440
+ return reply.code(400).send({
441
+ error: "Invalid captcha payload",
442
+ details: result.error.flatten().fieldErrors
443
+ });
444
+ }
445
+ await this.handleUpsertCaptcha(result.data);
446
+ return reply.code(200).send({});
447
+ } catch (error) {
448
+ console.error("Error processing captcha state update:", error);
449
+ return reply.code(500).send({
450
+ error: "Internal server error",
451
+ message: error?.message ?? String(error)
452
+ });
453
+ }
454
+ });
455
+ this.app.setNotFoundHandler((_request, reply) => {
456
+ return reply.code(404).send({ error: "Not found" });
457
+ });
458
+ await this.app.listen({
459
+ port,
460
+ host
461
+ });
462
+ }
463
+ async stop() {
464
+ if (!this.app) return;
465
+ const toClose = this.app;
466
+ this.app = null;
467
+ await toClose.close();
468
+ }
469
+ async getCaptchas(page, status) {
470
+ const tabId = await getTabId(page);
471
+ const tab = this.tabs.get(tabId);
472
+ if (!tab) return [];
473
+ const captchas = tab.getCaptchas();
474
+ if (!status) return captchas;
475
+ return captchas.filter((c) => c.status === status && c.tabId === tabId);
476
+ }
477
+ async subscribe(page, handler, status) {
478
+ const tabId = await getTabId(page);
479
+ const tab = this.getOrCreateTab(tabId);
480
+ tab.subscribe({ handler, status });
481
+ }
482
+ async unsubscribe(page, handler, status) {
483
+ const tabId = await getTabId(page);
484
+ const tab = this.tabs.get(tabId);
485
+ if (!tab) return;
486
+ tab.unsubscribe(handler, status);
487
+ }
488
+ removeTab(tabId) {
489
+ this.tabs.delete(tabId);
490
+ }
491
+ async getTabId(page) {
492
+ return await getTabId(page);
493
+ }
494
+ };
495
+ var extensionServerSingleton = null;
496
+ function getIntunedExtensionServer() {
497
+ if (!extensionServerSingleton) {
498
+ throw new Error("Intuned Extension Server is not initialized.");
499
+ }
500
+ return extensionServerSingleton;
501
+ }
502
+ async function setupIntunedExtensionServer(captchaSolverSettings2) {
503
+ if (!captchaSolverSettings2) {
504
+ captchaSolverSettings2 = await resolveCaptchaSolverSettings();
505
+ }
506
+ if (!extensionServerSingleton) {
507
+ extensionServerSingleton = new ExtensionServer();
508
+ }
509
+ await extensionServerSingleton.start({
510
+ port: captchaSolverSettings2.port ?? 9e3
511
+ });
512
+ }
513
+ async function cleanIntunedExtensionServer() {
514
+ if (extensionServerSingleton) {
515
+ await extensionServerSingleton.stop();
516
+ extensionServerSingleton = null;
517
+ }
518
+ }
519
+ var TAB_ID_CACHE_KEY = "__INTUNED_CACHED_TAB_ID__";
520
+ async function getTabId(page) {
521
+ const cached = page[TAB_ID_CACHE_KEY];
522
+ if (cached !== void 0 && typeof cached === "number") {
523
+ return cached;
524
+ }
525
+ let tabId;
526
+ try {
527
+ tabId = await page.evaluate("window.__INTUNED_TAB_ID__", { timeout: 100 });
528
+ } catch {
529
+ await page.waitForFunction("window.__INTUNED_TAB_ID__ !== undefined", {
530
+ timeout: 15e3
531
+ });
532
+ tabId = await page.evaluate("window.__INTUNED_TAB_ID__");
533
+ }
534
+ const numericTabId = Number(tabId);
535
+ page[TAB_ID_CACHE_KEY] = numericTabId;
536
+ return numericTabId;
537
+ }
538
+
539
+ // src/runtime/captcha.ts
540
+ async function withWaitForCaptchaSolve(callback, options) {
541
+ const {
542
+ page,
543
+ timeoutInMs = 1e4,
544
+ settleDurationMs = 5e3,
545
+ waitForNetworkSettled = true
546
+ } = options;
547
+ console.error(
548
+ `Starting captcha solve wait (timeout=${timeoutInMs}ms, settleDuration=${settleDurationMs}ms, waitForNetworkSettled=${waitForNetworkSettled})`
549
+ );
550
+ const extensionServer = getIntunedExtensionServer();
551
+ let settledResolve = null;
552
+ let settledPromise = new Promise((resolve) => {
553
+ settledResolve = resolve;
554
+ });
555
+ let isTimeout = false;
556
+ let captchasAppeared = false;
557
+ let error = void 0;
558
+ let actionDone = false;
559
+ const getPendingCaptchas = async () => await extensionServer.getCaptchas(page, "solving");
560
+ const hasNoPendingCaptchas = async () => !captchasAppeared || (await getPendingCaptchas()).length === 0;
561
+ const maybeSettle = async () => {
562
+ if (await hasNoPendingCaptchas()) {
563
+ settledResolve?.();
564
+ }
565
+ };
566
+ const onCaptchaUpdate = async (_captcha) => {
567
+ const solvingCaptchas = await extensionServer.getCaptchas(page, "solving");
568
+ const errorCaptchas = await extensionServer.getCaptchas(page, "error");
569
+ console.error(
570
+ `Captcha update received: solving=${solvingCaptchas.length}, errors=${errorCaptchas.length}`
571
+ );
572
+ if (solvingCaptchas.length > 0) {
573
+ captchasAppeared = true;
574
+ console.error(
575
+ `Captchas detected: ${solvingCaptchas.map((c) => c.id).join(", ")}`
576
+ );
577
+ }
578
+ if (errorCaptchas.length > 0) {
579
+ error = errorCaptchas[0].error;
580
+ console.error(`Captcha error detected: ${error?.code}`);
581
+ await maybeSettle();
582
+ return;
583
+ }
584
+ if (solvingCaptchas.length === 0) {
585
+ console.error("No pending captchas, settling");
586
+ await maybeSettle();
587
+ }
588
+ };
589
+ const result = await callback(page);
590
+ actionDone = true;
591
+ if (waitForNetworkSettled) {
592
+ try {
593
+ await page.waitForLoadState("networkidle");
594
+ } catch (err) {
595
+ console.error(`Failed to wait for networkidle. Error: ${err}`);
596
+ }
597
+ }
598
+ const timeoutPromise = new Promise((resolve) => {
599
+ setTimeout(() => {
600
+ isTimeout = true;
601
+ console.error("Captcha solve timeout reached");
602
+ settledResolve?.();
603
+ resolve();
604
+ }, timeoutInMs);
605
+ });
606
+ await extensionServer.subscribe(page, onCaptchaUpdate);
607
+ try {
608
+ const initialPending = await getPendingCaptchas();
609
+ console.error(`Found ${initialPending.length} ongoing captchas`);
610
+ if (initialPending.length > 0) {
611
+ captchasAppeared = true;
612
+ }
613
+ await maybeSettle();
614
+ let shouldContinue = true;
615
+ while (shouldContinue) {
616
+ await Promise.race([settledPromise, timeoutPromise]);
617
+ console.error(
618
+ `Settled event received, waiting ${settleDurationMs}ms before checking`
619
+ );
620
+ await new Promise((r) => setTimeout(r, settleDurationMs));
621
+ if (error) {
622
+ console.error(`Raising captcha error: ${error.code}`);
623
+ throw new CaptchaSolveError(
624
+ `CAPTCHA Solve Error: ${error.code}`,
625
+ error
626
+ );
627
+ }
628
+ const noPendingCaptchas = await hasNoPendingCaptchas();
629
+ const pending = await getPendingCaptchas();
630
+ console.error(
631
+ `Check point: actionDone=${actionDone}, noPendingCaptchas=${noPendingCaptchas}, isTimeout=${isTimeout}, pendingCount=${pending.length}`
632
+ );
633
+ if (actionDone && noPendingCaptchas || isTimeout) {
634
+ if (isTimeout && !noPendingCaptchas) {
635
+ console.error(`Timeout with ${pending.length} pending captchas`);
636
+ throw new TimeoutError(
637
+ "CAPTCHA Solve timed out with pending captchas."
638
+ );
639
+ }
640
+ console.error("Captcha solve completed successfully");
641
+ shouldContinue = false;
642
+ } else {
643
+ console.error(
644
+ `Still have ${pending.length} pending captchas, waiting for more updates`
645
+ );
646
+ settledPromise = new Promise((resolve) => {
647
+ settledResolve = resolve;
648
+ });
649
+ }
650
+ }
651
+ return result;
652
+ } finally {
653
+ await extensionServer.unsubscribe(page, onCaptchaUpdate);
654
+ }
655
+ }
656
+ async function waitForCaptchaSolve(page, {
657
+ timeoutInMs = 1e4,
658
+ settleDurationMs = 5e3
659
+ } = {}) {
660
+ await withWaitForCaptchaSolve(async () => void 0, {
661
+ page,
662
+ timeoutInMs,
663
+ settleDurationMs,
664
+ waitForNetworkSettled: false
665
+ });
666
+ }
667
+ async function removeCaptchaEventListener(page, status, f) {
668
+ const extensionServer = getIntunedExtensionServer();
669
+ await extensionServer.unsubscribe(page, f, status);
670
+ }
671
+ async function onCaptchaEvent(page, status, f) {
672
+ const extensionServer = getIntunedExtensionServer();
673
+ await extensionServer.subscribe(page, f, status);
674
+ }
675
+ async function onceCaptchaEvent(page, status, f) {
676
+ const extensionServer = getIntunedExtensionServer();
677
+ const oneTimeHandler = async (captcha) => {
678
+ await extensionServer.unsubscribe(page, oneTimeHandler, status);
679
+ await f(captcha);
680
+ };
681
+ await extensionServer.subscribe(page, oneTimeHandler, status);
682
+ }
683
+ async function setAutoSolve(context, enabled) {
684
+ const worker = await getIntunedExtensionWorker(context);
685
+ if (!worker) {
686
+ if (!enabled) {
687
+ return;
688
+ }
689
+ throw new Error("Intuned service worker not found");
690
+ }
691
+ await worker.evaluate(
692
+ `
693
+ (enabled) => new Promise((resolve, reject) => {
694
+ const updateSettings = () => {
695
+ if (chrome?.storage?.local) {
696
+ chrome.storage.local.get('settings', (result) => {
697
+ if (chrome.runtime.lastError) {
698
+ reject(new Error(chrome.runtime.lastError.message));
699
+ return;
700
+ }
701
+ const settings = result.settings || {};
702
+ if (!settings.settings) {
703
+ settings.settings = {};
704
+ }
705
+ settings.settings.autoSolve = enabled;
706
+ chrome.storage.local.set({ settings }, () => {
707
+ if (chrome.runtime.lastError) {
708
+ reject(new Error(chrome.runtime.lastError.message));
709
+ } else {
710
+ resolve(true);
711
+ }
712
+ });
713
+ });
714
+ } else {
715
+ setTimeout(updateSettings, 50);
716
+ }
717
+ };
718
+ updateSettings();
719
+ })
720
+ `,
721
+ enabled
722
+ );
723
+ }
724
+ async function pauseCaptchaSolver(context) {
725
+ if (!await isIntunedExtensionEnabled()) {
726
+ throw new Error(
727
+ "Intuned extension is not enabled. Cannot pause captcha solver."
728
+ );
729
+ }
730
+ await setAutoSolve(context, false);
731
+ }
732
+ async function resumeCaptchaSolver(context) {
733
+ if (!await isIntunedExtensionEnabled()) {
734
+ throw new Error(
735
+ "Intuned extension is not enabled. Cannot resume captcha solver."
736
+ );
737
+ }
738
+ await setAutoSolve(context, true);
739
+ }
740
+
741
+ // src/runtime/getAiGatewayConfig.ts
742
+ function getAiGatewayConfig() {
743
+ const baseUrl = `${backendFunctionsTokenManager.backendFunctionsBaseUrl}/intuned-ai-gateway`;
744
+ const apiKey = backendFunctionsTokenManager.token ?? process.env[API_KEY_ENV_VAR_KEY] ?? "";
745
+ return { baseUrl, apiKey };
746
+ }
747
+
748
+ // src/runtime/downloadDirectory.ts
749
+ import { ensureDirSync } from "fs-extra";
750
+ function getDownloadDirectoryPath() {
751
+ const context = getExecutionContext();
752
+ if (!context) {
753
+ throw new Error("ExecutionContext not found");
754
+ }
755
+ const path2 = `/tmp/downloads/${context.runId}`;
756
+ ensureDirSync(path2, {
757
+ mode: 1533
758
+ });
759
+ return path2;
760
+ }
761
+
762
+ export {
763
+ extendTimeout,
764
+ extendPayload,
765
+ attemptStore,
766
+ persistentStore,
767
+ getAuthSessionParameters,
768
+ runInfo,
769
+ RunError,
770
+ isIntunedExtensionLoaded,
771
+ buildExtensionsList,
772
+ isIntunedExtensionEnabled,
773
+ getIntunedExtensionWorker,
774
+ setupIntunedExtension,
775
+ setupIntunedExtensionServer,
776
+ cleanIntunedExtensionServer,
777
+ withWaitForCaptchaSolve,
778
+ waitForCaptchaSolve,
779
+ removeCaptchaEventListener,
780
+ onCaptchaEvent,
781
+ onceCaptchaEvent,
782
+ pauseCaptchaSolver,
783
+ resumeCaptchaSolver,
784
+ getAiGatewayConfig,
785
+ getDownloadDirectoryPath
786
+ };
787
+ //# sourceMappingURL=chunk-UO2E7T7T.mjs.map