@intuned/runtime-dev 1.3.18-interface.9 → 1.3.19-new-cli.0

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 (211) 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/CHANGELOG.md +1 -1
  6. package/InterfaceTemplate/__utils.ts +63 -0
  7. package/InterfaceTemplate/index.playwright.ts +6 -0
  8. package/bin/intuned +20 -2
  9. package/dist/commands/api/run.d.ts +6 -0
  10. package/dist/commands/api/run.js +119 -0
  11. package/dist/commands/auth-sessions/load.d.ts +2 -0
  12. package/dist/commands/auth-sessions/load.js +35 -0
  13. package/dist/commands/auth-sessions/run-check.d.ts +2 -0
  14. package/dist/commands/auth-sessions/run-check.js +74 -0
  15. package/dist/commands/auth-sessions/run-create.d.ts +2 -0
  16. package/dist/commands/auth-sessions/run-create.js +78 -0
  17. package/dist/commands/browser/save-state.d.ts +2 -0
  18. package/dist/commands/browser/save-state.js +17 -0
  19. package/dist/commands/browser/start-browser.d.ts +2 -0
  20. package/dist/commands/browser/start-browser.js +14 -0
  21. package/dist/commands/build.d.ts +1 -0
  22. package/dist/commands/build.js +83 -0
  23. package/dist/commands/common/browserUtils.d.ts +14 -0
  24. package/dist/commands/common/browserUtils.js +57 -0
  25. package/dist/commands/common/getFirstLineNumber.d.ts +9 -0
  26. package/dist/commands/common/getFirstLineNumber.js +101 -0
  27. package/dist/commands/common/getFirstLineNumber.test.js +227 -0
  28. package/dist/commands/common/projectExclusions.d.ts +2 -0
  29. package/dist/commands/common/projectExclusions.js +8 -0
  30. package/dist/commands/common/sendMessageToClient.d.ts +1 -0
  31. package/dist/commands/common/sendMessageToClient.js +10 -0
  32. package/dist/commands/common/tsNodeImport.d.ts +2 -5
  33. package/dist/commands/common/tsNodeImport.js +15 -56
  34. package/dist/commands/common/utils/fileUtils.d.ts +6 -0
  35. package/dist/commands/common/utils/fileUtils.js +32 -0
  36. package/dist/commands/common/utils/interfaceClient.d.ts +31 -0
  37. package/dist/commands/common/utils/interfaceClient.js +98 -0
  38. package/dist/commands/common/utils/settings.d.ts +2 -0
  39. package/dist/commands/common/utils/settings.js +31 -0
  40. package/dist/commands/common/utils/template.d.ts +2 -0
  41. package/dist/commands/common/utils/template.js +30 -0
  42. package/dist/commands/get-headless-user-agent.d.ts +1 -0
  43. package/dist/commands/get-headless-user-agent.js +18 -0
  44. package/dist/commands/interface/run.d.ts +1 -3
  45. package/dist/commands/interface/run.js +139 -2047
  46. package/dist/commands/ts-check.d.ts +2 -0
  47. package/dist/commands/ts-check.js +55 -0
  48. package/dist/common/Logger/Logger/index.d.ts +12 -0
  49. package/dist/common/Logger/Logger/index.js +60 -0
  50. package/dist/common/Logger/Logger/types.d.ts +8 -0
  51. package/dist/common/Logger/Logger/types.js +5 -0
  52. package/dist/common/Logger/index.d.ts +12 -0
  53. package/dist/common/Logger/index.js +60 -0
  54. package/dist/common/Logger/types.d.ts +8 -0
  55. package/dist/common/Logger/types.js +5 -0
  56. package/dist/common/asyncLocalStorage/index.d.ts +8 -9
  57. package/dist/common/asyncLocalStorage/index.js +9 -34
  58. package/dist/common/backendFunctions/getAuthSessionParameters.d.ts +1 -0
  59. package/dist/common/backendFunctions/getAuthSessionParameters.js +38 -0
  60. package/dist/common/binStartupScript.d.ts +1 -2
  61. package/dist/common/binStartupScript.js +25 -132
  62. package/dist/common/browserTabs.d.ts +72 -0
  63. package/dist/common/browserTabs.js +74 -0
  64. package/dist/common/cleanEnvironmentVariables.d.ts +1 -3
  65. package/dist/common/cleanEnvironmentVariables.js +7 -30
  66. package/dist/common/constants.d.ts +11 -13
  67. package/dist/common/constants.js +15 -58
  68. package/dist/common/contextStorageStateHelpers.d.ts +6 -8
  69. package/dist/common/contextStorageStateHelpers.js +26 -48
  70. package/dist/common/extension/extensionsHelpers.d.ts +11 -0
  71. package/dist/common/extension/extensionsHelpers.js +147 -0
  72. package/dist/common/extension/intunedExtensionServer.d.ts +24 -0
  73. package/dist/common/extension/intunedExtensionServer.js +178 -0
  74. package/dist/common/extension/types.d.ts +219 -0
  75. package/dist/common/extension/types.js +51 -0
  76. package/dist/common/formatZodError.d.ts +2 -0
  77. package/dist/{chunk-NDMVGENG.mjs → common/formatZodError.js} +9 -9
  78. package/dist/common/intunedJson.d.ts +244 -0
  79. package/dist/common/intunedJson.js +154 -0
  80. package/dist/common/jwtTokenManager.d.ts +4 -6
  81. package/dist/common/jwtTokenManager.js +40 -108
  82. package/dist/common/launchBrowser.d.ts +36 -0
  83. package/dist/common/launchBrowser.js +269 -0
  84. package/dist/common/playwrightContext.d.ts +29 -0
  85. package/dist/common/playwrightContext.js +148 -0
  86. package/dist/common/runApi/importUsingImportFunction.d.ts +7 -0
  87. package/dist/common/runApi/importUsingImportFunction.js +46 -0
  88. package/dist/common/runApi/index.d.ts +6 -9
  89. package/dist/common/runApi/index.js +73 -1782
  90. package/dist/common/settingsSchema.d.ts +6 -9
  91. package/dist/common/settingsSchema.js +18 -54
  92. package/dist/common/setupContextHook.d.ts +16 -0
  93. package/dist/common/setupContextHook.js +22 -0
  94. package/dist/common/telemetry.d.ts +3 -6
  95. package/dist/common/telemetry.js +8 -41
  96. package/dist/index.d.ts +4 -6
  97. package/dist/index.js +92 -784
  98. package/dist/runtime/RunError.d.ts +5 -0
  99. package/dist/runtime/RunError.js +19 -0
  100. package/dist/runtime/attemptStore.d.ts +2 -0
  101. package/dist/runtime/attemptStore.js +23 -0
  102. package/dist/runtime/captcha.d.ts +15 -0
  103. package/dist/runtime/captcha.js +191 -0
  104. package/dist/runtime/captcha.test.js +821 -0
  105. package/dist/runtime/downloadDirectory.d.ts +1 -0
  106. package/dist/runtime/downloadDirectory.js +19 -0
  107. package/dist/runtime/enums.d.js +5 -0
  108. package/dist/runtime/enums.d.ts +11 -0
  109. package/dist/runtime/enums.js +18 -0
  110. package/dist/runtime/executionHelpers.test.js +52 -0
  111. package/dist/runtime/export.d.js +5 -0
  112. package/dist/runtime/export.d.ts +284 -0
  113. package/dist/runtime/extendPayload.d.ts +2 -0
  114. package/dist/runtime/extendPayload.js +21 -0
  115. package/dist/runtime/extendTimeout.d.ts +1 -0
  116. package/dist/runtime/extendTimeout.js +23 -0
  117. package/dist/runtime/getAiGatewayConfig.d.ts +10 -0
  118. package/dist/runtime/getAiGatewayConfig.js +16 -0
  119. package/dist/runtime/getAuthSessionParameters.d.ts +1 -0
  120. package/dist/runtime/getAuthSessionParameters.js +20 -0
  121. package/dist/runtime/index.d.ts +10 -168
  122. package/dist/runtime/index.js +88 -779
  123. package/dist/runtime/persistentStore.d.ts +2 -0
  124. package/dist/runtime/persistentStore.js +37 -0
  125. package/dist/runtime/persistentStore.test.js +101 -0
  126. package/dist/runtime/runInfo.d.ts +2 -0
  127. package/dist/runtime/runInfo.js +21 -0
  128. package/dist/vendor/runtime-interface.d.ts +1 -0
  129. package/dist/vendor/runtime-interface.js +479 -0
  130. package/package.json +20 -74
  131. package/template.tsconfig.json +11 -0
  132. package/tsconfig.eslint.json +5 -0
  133. package/tsconfig.json +25 -0
  134. package/tsup.config.ts +12 -0
  135. package/typedoc.json +49 -0
  136. package/dist/chunk-3AGSY4RT.mjs +0 -1108
  137. package/dist/chunk-3AGSY4RT.mjs.map +0 -1
  138. package/dist/chunk-6ZRJOUQS.mjs +0 -16
  139. package/dist/chunk-6ZRJOUQS.mjs.map +0 -1
  140. package/dist/chunk-7YL2JUTE.mjs +0 -146
  141. package/dist/chunk-7YL2JUTE.mjs.map +0 -1
  142. package/dist/chunk-BF45RZ32.mjs +0 -13
  143. package/dist/chunk-BF45RZ32.mjs.map +0 -1
  144. package/dist/chunk-FGV5T6SI.mjs +0 -27
  145. package/dist/chunk-FGV5T6SI.mjs.map +0 -1
  146. package/dist/chunk-G4PO5RIV.mjs +0 -85
  147. package/dist/chunk-G4PO5RIV.mjs.map +0 -1
  148. package/dist/chunk-LZOMFHX3.mjs +0 -38
  149. package/dist/chunk-LZOMFHX3.mjs.map +0 -1
  150. package/dist/chunk-NDMVGENG.mjs.map +0 -1
  151. package/dist/chunk-UO2E7T7T.mjs +0 -787
  152. package/dist/chunk-UO2E7T7T.mjs.map +0 -1
  153. package/dist/chunk-W4UX6G4X.mjs +0 -17
  154. package/dist/chunk-W4UX6G4X.mjs.map +0 -1
  155. package/dist/chunk-XOAZ2MGA.mjs +0 -59
  156. package/dist/chunk-XOAZ2MGA.mjs.map +0 -1
  157. package/dist/commands/common/tsNodeImport.d.mts +0 -5
  158. package/dist/commands/common/tsNodeImport.js.map +0 -1
  159. package/dist/commands/common/tsNodeImport.mjs +0 -45
  160. package/dist/commands/common/tsNodeImport.mjs.map +0 -1
  161. package/dist/commands/interface/run.d.mts +0 -3
  162. package/dist/commands/interface/run.js.map +0 -1
  163. package/dist/commands/interface/run.mjs +0 -256
  164. package/dist/commands/interface/run.mjs.map +0 -1
  165. package/dist/common/asyncLocalStorage/index.d.mts +0 -17
  166. package/dist/common/asyncLocalStorage/index.js.map +0 -1
  167. package/dist/common/asyncLocalStorage/index.mjs +0 -12
  168. package/dist/common/asyncLocalStorage/index.mjs.map +0 -1
  169. package/dist/common/binStartupScript.d.mts +0 -2
  170. package/dist/common/binStartupScript.js.map +0 -1
  171. package/dist/common/binStartupScript.mjs +0 -135
  172. package/dist/common/binStartupScript.mjs.map +0 -1
  173. package/dist/common/cleanEnvironmentVariables.d.mts +0 -3
  174. package/dist/common/cleanEnvironmentVariables.js.map +0 -1
  175. package/dist/common/cleanEnvironmentVariables.mjs +0 -8
  176. package/dist/common/cleanEnvironmentVariables.mjs.map +0 -1
  177. package/dist/common/constants.d.mts +0 -13
  178. package/dist/common/constants.js.map +0 -1
  179. package/dist/common/constants.mjs +0 -28
  180. package/dist/common/constants.mjs.map +0 -1
  181. package/dist/common/contextStorageStateHelpers.d.mts +0 -24
  182. package/dist/common/contextStorageStateHelpers.js.map +0 -1
  183. package/dist/common/contextStorageStateHelpers.mjs +0 -10
  184. package/dist/common/contextStorageStateHelpers.mjs.map +0 -1
  185. package/dist/common/jwtTokenManager.d.mts +0 -19
  186. package/dist/common/jwtTokenManager.js.map +0 -1
  187. package/dist/common/jwtTokenManager.mjs +0 -11
  188. package/dist/common/jwtTokenManager.mjs.map +0 -1
  189. package/dist/common/runApi/index.d.mts +0 -11
  190. package/dist/common/runApi/index.js.map +0 -1
  191. package/dist/common/runApi/index.mjs +0 -19
  192. package/dist/common/runApi/index.mjs.map +0 -1
  193. package/dist/common/settingsSchema.d.mts +0 -540
  194. package/dist/common/settingsSchema.js.map +0 -1
  195. package/dist/common/settingsSchema.mjs +0 -10
  196. package/dist/common/settingsSchema.mjs.map +0 -1
  197. package/dist/common/telemetry.d.mts +0 -6
  198. package/dist/common/telemetry.js.map +0 -1
  199. package/dist/common/telemetry.mjs +0 -31
  200. package/dist/common/telemetry.mjs.map +0 -1
  201. package/dist/export.d-BAUMB-lG.d.mts +0 -140
  202. package/dist/export.d-BAUMB-lG.d.ts +0 -140
  203. package/dist/index.d.mts +0 -6
  204. package/dist/index.js.map +0 -1
  205. package/dist/index.mjs +0 -48
  206. package/dist/index.mjs.map +0 -1
  207. package/dist/runtime/index.d.mts +0 -168
  208. package/dist/runtime/index.js.map +0 -1
  209. package/dist/runtime/index.mjs +0 -43
  210. package/dist/runtime/index.mjs.map +0 -1
  211. /package/dist/common/assets/{assets/browser_scripts.js → browser_scripts.js} +0 -0
@@ -0,0 +1,2 @@
1
+ import type { PersistentStore } from "./export";
2
+ export declare const persistentStore: PersistentStore;
@@ -0,0 +1,37 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.persistentStore = void 0;
7
+ var _zod = require("zod");
8
+ var _jwtTokenManager = require("../common/jwtTokenManager");
9
+ const forbiddenCharacters = /[:#]/g;
10
+ const keySchema = _zod.z.string().min(1, "Key must be at least 1 character long").refine(key => (key.match(forbiddenCharacters)?.length ?? 0) === 0, 'Key cannot contain the following characters: ":" or "#"');
11
+ const persistentStore = exports.persistentStore = Object.freeze({
12
+ get: async key => {
13
+ const parsedKey = keySchema.parse(key);
14
+ const response = await (0, _jwtTokenManager.callBackendFunctionWithToken)(`kv-store/${parsedKey}`, {
15
+ method: "GET"
16
+ });
17
+ const json = await response.json();
18
+ if (!response.ok) {
19
+ throw new Error(json.message);
20
+ }
21
+ return json.value;
22
+ },
23
+ set: async (key, value) => {
24
+ const keyResult = keySchema.parse(key);
25
+ const response = await (0, _jwtTokenManager.callBackendFunctionWithToken)(`kv-store/${keyResult}`, {
26
+ method: "PUT",
27
+ body: JSON.stringify(value),
28
+ headers: {
29
+ "Content-Type": "application/json"
30
+ }
31
+ });
32
+ const json = await response.json();
33
+ if (!response.ok) {
34
+ throw new Error(json.message);
35
+ }
36
+ }
37
+ });
@@ -0,0 +1,101 @@
1
+ "use strict";
2
+
3
+ var _vitest = require("vitest");
4
+ var _zod = require("zod");
5
+ var _persistentStore = require("./persistentStore");
6
+ var _jwtTokenManager = require("../common/jwtTokenManager");
7
+ _vitest.vi.mock("../common/jwtTokenManager", () => ({
8
+ callBackendFunctionWithToken: _vitest.vi.fn()
9
+ }));
10
+ (0, _vitest.describe)("Cache", () => {
11
+ (0, _vitest.beforeEach)(() => {
12
+ _vitest.vi.clearAllMocks();
13
+ });
14
+ (0, _vitest.describe)("get", () => {
15
+ (0, _vitest.it)("should return value when successful", async () => {
16
+ const mockResponse = {
17
+ ok: true,
18
+ json: _vitest.vi.fn().mockResolvedValue({
19
+ value: "cached_data"
20
+ })
21
+ };
22
+ _vitest.vi.mocked(_jwtTokenManager.callBackendFunctionWithToken).mockResolvedValue(mockResponse);
23
+ const result = await _persistentStore.persistentStore.get("test_key");
24
+ (0, _vitest.expect)(result).toBe("cached_data");
25
+ (0, _vitest.expect)(_jwtTokenManager.callBackendFunctionWithToken).toHaveBeenCalledWith("kv-store/test_key", {
26
+ method: "GET"
27
+ });
28
+ (0, _vitest.expect)(mockResponse.json).toHaveBeenCalled();
29
+ });
30
+ (0, _vitest.it)("should throw error when response is not ok", async () => {
31
+ const mockResponse = {
32
+ ok: false,
33
+ json: _vitest.vi.fn().mockResolvedValue({
34
+ message: "Cache miss"
35
+ })
36
+ };
37
+ _vitest.vi.mocked(_jwtTokenManager.callBackendFunctionWithToken).mockResolvedValue(mockResponse);
38
+ await (0, _vitest.expect)(_persistentStore.persistentStore.get("test_key")).rejects.toThrow("Cache miss");
39
+ });
40
+ (0, _vitest.it)("should throw error for empty key", async () => {
41
+ await (0, _vitest.expect)(_persistentStore.persistentStore.get("")).rejects.toThrow(_zod.ZodError);
42
+ });
43
+ (0, _vitest.it)("should throw error for key with colon", async () => {
44
+ await (0, _vitest.expect)(_persistentStore.persistentStore.get("invalid:key")).rejects.toThrow(_zod.ZodError);
45
+ });
46
+ (0, _vitest.it)("should throw error for key with hash", async () => {
47
+ await (0, _vitest.expect)(_persistentStore.persistentStore.get("invalid#key")).rejects.toThrow(_zod.ZodError);
48
+ });
49
+ });
50
+ (0, _vitest.describe)("set", () => {
51
+ (0, _vitest.it)("should call backend correctly when successful", async () => {
52
+ const mockResponse = {
53
+ ok: true,
54
+ json: _vitest.vi.fn().mockResolvedValue({})
55
+ };
56
+ _vitest.vi.mocked(_jwtTokenManager.callBackendFunctionWithToken).mockResolvedValue(mockResponse);
57
+ const testValue = {
58
+ data: "test"
59
+ };
60
+ await _persistentStore.persistentStore.set("test_key", testValue);
61
+ (0, _vitest.expect)(_jwtTokenManager.callBackendFunctionWithToken).toHaveBeenCalledWith("kv-store/test_key", {
62
+ method: "PUT",
63
+ body: JSON.stringify(testValue),
64
+ headers: {
65
+ "Content-Type": "application/json"
66
+ }
67
+ });
68
+ (0, _vitest.expect)(mockResponse.json).toHaveBeenCalled();
69
+ });
70
+ (0, _vitest.it)("should throw error when response is not ok", async () => {
71
+ const mockResponse = {
72
+ ok: false,
73
+ json: _vitest.vi.fn().mockResolvedValue({
74
+ message: "Set failed"
75
+ })
76
+ };
77
+ _vitest.vi.mocked(_jwtTokenManager.callBackendFunctionWithToken).mockResolvedValue(mockResponse);
78
+ await (0, _vitest.expect)(_persistentStore.persistentStore.set("test_key", "value")).rejects.toThrow("Set failed");
79
+ });
80
+ (0, _vitest.it)("should throw error for empty key", async () => {
81
+ await (0, _vitest.expect)(_persistentStore.persistentStore.set("", "value")).rejects.toThrow(_zod.ZodError);
82
+ });
83
+ (0, _vitest.it)("should throw error for key with forbidden characters", async () => {
84
+ await (0, _vitest.expect)(_persistentStore.persistentStore.set("invalid:key", "value")).rejects.toThrow(_zod.ZodError);
85
+ await (0, _vitest.expect)(_persistentStore.persistentStore.set("invalid#key", "value")).rejects.toThrow(_zod.ZodError);
86
+ });
87
+ (0, _vitest.it)("should handle different value types", async () => {
88
+ const mockResponse = {
89
+ ok: true,
90
+ json: _vitest.vi.fn().mockResolvedValue({})
91
+ };
92
+ _vitest.vi.mocked(_jwtTokenManager.callBackendFunctionWithToken).mockResolvedValue(mockResponse);
93
+ await _persistentStore.persistentStore.set("key1", "string_value");
94
+ await _persistentStore.persistentStore.set("key2", {
95
+ object: "value"
96
+ });
97
+ await _persistentStore.persistentStore.set("key3", 123);
98
+ (0, _vitest.expect)(_jwtTokenManager.callBackendFunctionWithToken).toHaveBeenCalledTimes(3);
99
+ });
100
+ });
101
+ });
@@ -0,0 +1,2 @@
1
+ import { RunInfo } from "./export";
2
+ export declare function runInfo(): RunInfo;
@@ -0,0 +1,21 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.runInfo = runInfo;
7
+ var _asyncLocalStorage = require("../common/asyncLocalStorage");
8
+ var _enums = require("./enums");
9
+ function runInfo() {
10
+ const context = (0, _asyncLocalStorage.getExecutionContext)();
11
+ if (!context) {
12
+ return {
13
+ runEnvironment: _enums.RunEnvironment.IDE
14
+ };
15
+ }
16
+ const {
17
+ extendedPayloads: _extendedPayloads,
18
+ ...rest
19
+ } = context;
20
+ return rest;
21
+ }
@@ -0,0 +1 @@
1
+ export * from '@intuned/runtime-interface';
@@ -0,0 +1,479 @@
1
+ var __create = Object.create;
2
+ var __defProp = Object.defineProperty;
3
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
+ var __getOwnPropNames = Object.getOwnPropertyNames;
5
+ var __getProtoOf = Object.getPrototypeOf;
6
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
7
+ var __commonJS = (cb, mod) => function __require() {
8
+ return mod || (0, cb[__getOwnPropNames(cb)[0]])((mod = { exports: {} }).exports, mod), mod.exports;
9
+ };
10
+ var __copyProps = (to, from, except, desc) => {
11
+ if (from && typeof from === "object" || typeof from === "function") {
12
+ for (let key of __getOwnPropNames(from))
13
+ if (!__hasOwnProp.call(to, key) && key !== except)
14
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
15
+ }
16
+ return to;
17
+ };
18
+ var __reExport = (target, mod, secondTarget) => (__copyProps(target, mod, "default"), secondTarget && __copyProps(secondTarget, mod, "default"));
19
+ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
20
+ // If the importer is in node compatibility mode or this is not an ESM
21
+ // file that has been converted to a CommonJS file using a Babel-
22
+ // compatible transform (i.e. "__esModule" has not been set), then set
23
+ // "default" to the CommonJS "module.exports" for node compatibility.
24
+ isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
25
+ mod
26
+ ));
27
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
28
+
29
+ // ../packages/runtime-interface/dist/errors.js
30
+ var require_errors = __commonJS({
31
+ "../packages/runtime-interface/dist/errors.js"(exports2) {
32
+ "use strict";
33
+ Object.defineProperty(exports2, "__esModule", { value: true });
34
+ exports2.ResultTooBigError = exports2.InternalInvalidInputError = exports2.AutomationError = exports2.MaxLevelsExceededError = exports2.AuthCheckFailedError = exports2.AuthCheckNotFoundError = exports2.AuthRequiredError = exports2.AbortedError = exports2.InvalidCheckError = exports2.InvalidApiError = exports2.ApiNotFoundError = exports2.RunAutomationError = exports2.runAutomationErrorCodes = exports2.resultTooBigErrorCode = exports2.internalInvalidInputErrorCode = exports2.automationError = exports2.maxLevelsExceededErrorCode = exports2.authCheckFailedErrorCode = exports2.authCheckNotFoundErrorCode = exports2.authRequiredErrorCode = exports2.abortedErrorCode = exports2.invalidCheckErrorCode = exports2.invalidApiErrorCode = exports2.apiNotFoundErrorCode = void 0;
35
+ exports2.apiNotFoundErrorCode = "APINotFoundError";
36
+ exports2.invalidApiErrorCode = "InvalidAPIError";
37
+ exports2.invalidCheckErrorCode = "InvalidCheckError";
38
+ exports2.abortedErrorCode = "AbortedError";
39
+ exports2.authRequiredErrorCode = "AuthRequiredError";
40
+ exports2.authCheckNotFoundErrorCode = "AuthCheckNotFoundError";
41
+ exports2.authCheckFailedErrorCode = "AuthCheckFailedError";
42
+ exports2.maxLevelsExceededErrorCode = "MaxLevelsExceededError";
43
+ exports2.automationError = "AutomationError";
44
+ exports2.internalInvalidInputErrorCode = "InternalInvalidInputError";
45
+ exports2.resultTooBigErrorCode = "ResultTooBigError";
46
+ exports2.runAutomationErrorCodes = [
47
+ exports2.apiNotFoundErrorCode,
48
+ exports2.invalidApiErrorCode,
49
+ exports2.invalidCheckErrorCode,
50
+ exports2.abortedErrorCode,
51
+ exports2.authRequiredErrorCode,
52
+ exports2.authCheckNotFoundErrorCode,
53
+ exports2.authCheckFailedErrorCode,
54
+ exports2.maxLevelsExceededErrorCode,
55
+ exports2.automationError,
56
+ exports2.internalInvalidInputErrorCode,
57
+ exports2.resultTooBigErrorCode
58
+ ];
59
+ var RunAutomationError = class {
60
+ constructor(code, message) {
61
+ this.code = code;
62
+ this.message = message;
63
+ }
64
+ get json() {
65
+ return {
66
+ code: this.code,
67
+ details: this.details,
68
+ cause: this.cause?.json
69
+ };
70
+ }
71
+ };
72
+ exports2.RunAutomationError = RunAutomationError;
73
+ var ApiNotFoundError = class extends RunAutomationError {
74
+ constructor(apiName) {
75
+ super(exports2.apiNotFoundErrorCode, `API ${apiName} not found`);
76
+ }
77
+ };
78
+ exports2.ApiNotFoundError = ApiNotFoundError;
79
+ var InvalidApiError = class extends RunAutomationError {
80
+ constructor(message) {
81
+ super(exports2.invalidApiErrorCode, `API is invalid: ${message}`);
82
+ this.details = {
83
+ message
84
+ };
85
+ }
86
+ };
87
+ exports2.InvalidApiError = InvalidApiError;
88
+ var InvalidCheckError = class extends RunAutomationError {
89
+ constructor(message, cause) {
90
+ super(exports2.invalidCheckErrorCode, message);
91
+ this.cause = cause;
92
+ }
93
+ };
94
+ exports2.InvalidCheckError = InvalidCheckError;
95
+ var AbortedError = class extends RunAutomationError {
96
+ constructor() {
97
+ super(exports2.abortedErrorCode, "Operation was aborted");
98
+ }
99
+ };
100
+ exports2.AbortedError = AbortedError;
101
+ var AuthRequiredError = class extends RunAutomationError {
102
+ constructor() {
103
+ super(exports2.authRequiredErrorCode, "AuthSessions are required");
104
+ }
105
+ };
106
+ exports2.AuthRequiredError = AuthRequiredError;
107
+ var AuthCheckNotFoundError = class extends RunAutomationError {
108
+ constructor() {
109
+ super(exports2.authCheckNotFoundErrorCode, "AuthSession check not found");
110
+ }
111
+ };
112
+ exports2.AuthCheckNotFoundError = AuthCheckNotFoundError;
113
+ var AuthCheckFailedError = class extends RunAutomationError {
114
+ constructor() {
115
+ super(exports2.authCheckFailedErrorCode, "AuthSession check failed");
116
+ }
117
+ };
118
+ exports2.AuthCheckFailedError = AuthCheckFailedError;
119
+ var MaxLevelsExceededError = class extends RunAutomationError {
120
+ constructor(levels) {
121
+ super(exports2.maxLevelsExceededErrorCode, `Max levels exceeded. Only ${levels} levels are supported`);
122
+ this.details = { levels };
123
+ }
124
+ };
125
+ exports2.MaxLevelsExceededError = MaxLevelsExceededError;
126
+ var AutomationError = class extends RunAutomationError {
127
+ constructor(error) {
128
+ super(exports2.automationError, `[${error?.name ?? error}] ${error?.message}`);
129
+ this.details = {
130
+ ...error,
131
+ name: error?.name,
132
+ stack: error?.stack,
133
+ message: error?.message,
134
+ statusCode: error?.statusCode,
135
+ errorCode: error?.code
136
+ };
137
+ }
138
+ };
139
+ exports2.AutomationError = AutomationError;
140
+ var InternalInvalidInputError = class extends RunAutomationError {
141
+ constructor(message, details) {
142
+ super(exports2.internalInvalidInputErrorCode, message);
143
+ this.details = details;
144
+ }
145
+ };
146
+ exports2.InternalInvalidInputError = InternalInvalidInputError;
147
+ var ResultTooBigError = class extends RunAutomationError {
148
+ constructor(sizeInBytes, maxSizeInBytes) {
149
+ super(exports2.resultTooBigErrorCode, `Automation result is too big. Size: ${Math.round(sizeInBytes / 1024 / 1024 * 100) / 100}MB, Max allowed: ${Math.round(maxSizeInBytes / 1024 / 1024 * 100) / 100}MB`);
150
+ this.details = { sizeInBytes, maxSizeInBytes };
151
+ }
152
+ };
153
+ exports2.ResultTooBigError = ResultTooBigError;
154
+ }
155
+ });
156
+
157
+ // ../packages/runtime-interface/dist/types.js
158
+ var require_types = __commonJS({
159
+ "../packages/runtime-interface/dist/types.js"(exports2) {
160
+ "use strict";
161
+ var __importDefault = exports2 && exports2.__importDefault || function(mod) {
162
+ return mod && mod.__esModule ? mod : { "default": mod };
163
+ };
164
+ Object.defineProperty(exports2, "__esModule", { value: true });
165
+ exports2.outputRunApiSchema = exports2.pongMessageSchema = exports2.doneMessageSchema = exports2.extendMessageSchema = exports2.runApiInputSchema = exports2.pingSchema = exports2.tokenUpdateSchema = exports2.abortRunApiSchema = exports2.startRunApiSchema = exports2.startRunApiParametersSchema = exports2.runApiParametersSchema = exports2.runApiRunOptionsSchema = exports2.runApiCdpRunOptionsSchema = exports2.runApiStandaloneRunOptionsSchema = exports2.runApiAuthSchema = exports2.runApiTracingSchema = exports2.runApiAutomationFunctionSchema = exports2.runApiSessionSchema = exports2.runApiStorageStateSchema = void 0;
166
+ exports2.runApiResultOkSchema = runApiResultOkSchema;
167
+ exports2.runApiResultWithSessionOkSchema = runApiResultWithSessionOkSchema;
168
+ var zod_1 = __importDefault(require("zod"));
169
+ exports2.runApiStorageStateSchema = zod_1.default.object({
170
+ cookies: zod_1.default.array(zod_1.default.object({
171
+ name: zod_1.default.string(),
172
+ value: zod_1.default.string(),
173
+ domain: zod_1.default.string(),
174
+ path: zod_1.default.string(),
175
+ expires: zod_1.default.number(),
176
+ httpOnly: zod_1.default.boolean(),
177
+ secure: zod_1.default.boolean(),
178
+ sameSite: zod_1.default.enum(["Strict", "Lax", "None"])
179
+ })),
180
+ origins: zod_1.default.array(zod_1.default.object({
181
+ origin: zod_1.default.string(),
182
+ localStorage: zod_1.default.array(zod_1.default.object({
183
+ name: zod_1.default.string(),
184
+ value: zod_1.default.string()
185
+ }))
186
+ })),
187
+ sessionStorage: zod_1.default.array(zod_1.default.object({
188
+ origin: zod_1.default.string(),
189
+ sessionStorage: zod_1.default.array(zod_1.default.object({
190
+ name: zod_1.default.string(),
191
+ value: zod_1.default.string()
192
+ }))
193
+ })).optional()
194
+ });
195
+ exports2.runApiSessionSchema = zod_1.default.discriminatedUnion("type", [
196
+ zod_1.default.object({
197
+ type: zod_1.default.literal("file"),
198
+ path: zod_1.default.string()
199
+ }),
200
+ zod_1.default.object({
201
+ type: zod_1.default.literal("state"),
202
+ state: exports2.runApiStorageStateSchema.nullable().optional()
203
+ })
204
+ ]);
205
+ exports2.runApiAutomationFunctionSchema = zod_1.default.object({
206
+ name: zod_1.default.string(),
207
+ params: zod_1.default.any().optional()
208
+ });
209
+ exports2.runApiTracingSchema = zod_1.default.discriminatedUnion("enabled", [
210
+ zod_1.default.object({ enabled: zod_1.default.literal(false) }),
211
+ zod_1.default.object({ enabled: zod_1.default.literal(true), filePath: zod_1.default.string() })
212
+ ]).optional().default({ enabled: false });
213
+ exports2.runApiAuthSchema = zod_1.default.object({
214
+ session: exports2.runApiSessionSchema,
215
+ parameters: zod_1.default.record(zod_1.default.any()).optional()
216
+ }).optional();
217
+ exports2.runApiStandaloneRunOptionsSchema = zod_1.default.object({
218
+ environment: zod_1.default.literal("standalone"),
219
+ headless: zod_1.default.boolean().default(true),
220
+ proxy: zod_1.default.object({
221
+ server: zod_1.default.string(),
222
+ username: zod_1.default.string(),
223
+ password: zod_1.default.string()
224
+ }).optional()
225
+ });
226
+ exports2.runApiCdpRunOptionsSchema = zod_1.default.object({
227
+ environment: zod_1.default.literal("cdp"),
228
+ cdpAddress: zod_1.default.string(),
229
+ cdpTargetId: zod_1.default.string().optional()
230
+ });
231
+ exports2.runApiRunOptionsSchema = zod_1.default.discriminatedUnion("environment", [
232
+ exports2.runApiStandaloneRunOptionsSchema,
233
+ exports2.runApiCdpRunOptionsSchema
234
+ ]).default({ environment: "standalone", headless: true });
235
+ exports2.runApiParametersSchema = zod_1.default.object({
236
+ automationFunction: exports2.runApiAutomationFunctionSchema,
237
+ tracing: exports2.runApiTracingSchema,
238
+ auth: exports2.runApiAuthSchema,
239
+ runOptions: exports2.runApiRunOptionsSchema,
240
+ retrieveSession: zod_1.default.boolean().default(false)
241
+ });
242
+ function runApiResultOkSchema(resultSchema) {
243
+ return zod_1.default.object({
244
+ result: resultSchema,
245
+ extendedPayloads: zod_1.default.array(zod_1.default.object({
246
+ api: zod_1.default.string(),
247
+ parameters: zod_1.default.record(zod_1.default.any())
248
+ })).optional()
249
+ });
250
+ }
251
+ function runApiResultWithSessionOkSchema(resultSchema) {
252
+ return runApiResultOkSchema(resultSchema).extend({
253
+ session: exports2.runApiStorageStateSchema
254
+ });
255
+ }
256
+ exports2.startRunApiParametersSchema = exports2.runApiParametersSchema.extend({
257
+ retrieveSession: zod_1.default.boolean(),
258
+ functionsToken: zod_1.default.string().optional(),
259
+ context: zod_1.default.object({
260
+ jobId: zod_1.default.string().optional(),
261
+ jobRunId: zod_1.default.string().optional(),
262
+ runId: zod_1.default.string().optional(),
263
+ queueId: zod_1.default.string().optional(),
264
+ authSessionId: zod_1.default.string().optional()
265
+ }).optional()
266
+ });
267
+ exports2.startRunApiSchema = zod_1.default.object({
268
+ type: zod_1.default.literal("start"),
269
+ parameters: exports2.startRunApiParametersSchema
270
+ });
271
+ exports2.abortRunApiSchema = zod_1.default.object({
272
+ type: zod_1.default.literal("abort"),
273
+ parameters: zod_1.default.object({}).optional()
274
+ });
275
+ exports2.tokenUpdateSchema = zod_1.default.object({
276
+ type: zod_1.default.literal("tokenUpdate"),
277
+ parameters: zod_1.default.object({
278
+ functionsToken: zod_1.default.string()
279
+ })
280
+ });
281
+ exports2.pingSchema = zod_1.default.object({
282
+ type: zod_1.default.literal("ping"),
283
+ parameters: zod_1.default.object({}).optional()
284
+ });
285
+ exports2.runApiInputSchema = zod_1.default.union([
286
+ exports2.startRunApiSchema,
287
+ exports2.abortRunApiSchema,
288
+ exports2.tokenUpdateSchema,
289
+ exports2.pingSchema
290
+ ]);
291
+ exports2.extendMessageSchema = zod_1.default.object({ type: zod_1.default.literal("extend") });
292
+ exports2.doneMessageSchema = zod_1.default.object({
293
+ type: zod_1.default.literal("done"),
294
+ result: zod_1.default.any(),
295
+ success: zod_1.default.boolean()
296
+ });
297
+ exports2.pongMessageSchema = zod_1.default.object({
298
+ type: zod_1.default.literal("pong")
299
+ });
300
+ exports2.outputRunApiSchema = zod_1.default.union([
301
+ exports2.extendMessageSchema,
302
+ exports2.doneMessageSchema,
303
+ exports2.pongMessageSchema
304
+ ]);
305
+ }
306
+ });
307
+
308
+ // ../packages/runtime-interface/dist/interfaceClient.js
309
+ var require_interfaceClient = __commonJS({
310
+ "../packages/runtime-interface/dist/interfaceClient.js"(exports2) {
311
+ "use strict";
312
+ var __createBinding = exports2 && exports2.__createBinding || (Object.create ? (function(o, m, k, k2) {
313
+ if (k2 === void 0) k2 = k;
314
+ var desc = Object.getOwnPropertyDescriptor(m, k);
315
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
316
+ desc = { enumerable: true, get: function() {
317
+ return m[k];
318
+ } };
319
+ }
320
+ Object.defineProperty(o, k2, desc);
321
+ }) : (function(o, m, k, k2) {
322
+ if (k2 === void 0) k2 = k;
323
+ o[k2] = m[k];
324
+ }));
325
+ var __setModuleDefault = exports2 && exports2.__setModuleDefault || (Object.create ? (function(o, v) {
326
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
327
+ }) : function(o, v) {
328
+ o["default"] = v;
329
+ });
330
+ var __importStar = exports2 && exports2.__importStar || function(mod) {
331
+ if (mod && mod.__esModule) return mod;
332
+ var result = {};
333
+ if (mod != null) {
334
+ for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
335
+ }
336
+ __setModuleDefault(result, mod);
337
+ return result;
338
+ };
339
+ Object.defineProperty(exports2, "__esModule", { value: true });
340
+ exports2.JSONLFileClient = exports2.TCPSocketClient = exports2.UnixSocketClient = exports2.SocketClient = void 0;
341
+ var net = __importStar(require("net"));
342
+ var fs = __importStar(require("fs-extra"));
343
+ var readline_1 = require("readline");
344
+ var promises_1 = require("timers/promises");
345
+ var SocketClient = class _SocketClient {
346
+ constructor(socket) {
347
+ this.socket = socket;
348
+ }
349
+ sendJSON(data) {
350
+ const dataToSend = JSON.stringify(data);
351
+ const length = Buffer.byteLength(dataToSend);
352
+ const buffer = Buffer.alloc(_SocketClient.LENGTH_HEADER_LENGTH + length);
353
+ buffer.writeUInt32BE(length, 0);
354
+ buffer.write(dataToSend, _SocketClient.LENGTH_HEADER_LENGTH);
355
+ this.socket.write(buffer);
356
+ }
357
+ async *receiveJSON() {
358
+ let buffer = Buffer.alloc(0);
359
+ const endPromise = new Promise((resolve, reject) => {
360
+ this.socket.once("end", () => {
361
+ resolve();
362
+ });
363
+ this.socket.once("error", reject);
364
+ });
365
+ while (true) {
366
+ const chunk = await Promise.race([
367
+ new Promise((resolve) => this.socket.once("data", (data2) => {
368
+ if (typeof data2 === "string") {
369
+ return resolve(Buffer.from(data2));
370
+ }
371
+ resolve(data2);
372
+ })),
373
+ endPromise
374
+ ]);
375
+ if (!(chunk instanceof Buffer)) {
376
+ break;
377
+ }
378
+ buffer = Buffer.concat([buffer, chunk]);
379
+ const length = buffer.readUInt32BE(0);
380
+ if (buffer.length < length + _SocketClient.LENGTH_HEADER_LENGTH) {
381
+ continue;
382
+ }
383
+ const data = buffer.subarray(_SocketClient.LENGTH_HEADER_LENGTH, length + _SocketClient.LENGTH_HEADER_LENGTH);
384
+ buffer = buffer.subarray(length + _SocketClient.LENGTH_HEADER_LENGTH);
385
+ yield JSON.parse(data.toString());
386
+ }
387
+ }
388
+ async close() {
389
+ this.socket.end();
390
+ await Promise.race([
391
+ new Promise((resolve) => this.socket.once("close", resolve)),
392
+ new Promise((resolve) => this.socket.once("error", resolve)),
393
+ (0, promises_1.setTimeout)(3e3)
394
+ ]);
395
+ }
396
+ get closed() {
397
+ return this.socket.closed;
398
+ }
399
+ };
400
+ exports2.SocketClient = SocketClient;
401
+ SocketClient.LENGTH_HEADER_LENGTH = 4;
402
+ var UnixSocketClient = class extends SocketClient {
403
+ constructor(path) {
404
+ super(net.createConnection(path));
405
+ }
406
+ };
407
+ exports2.UnixSocketClient = UnixSocketClient;
408
+ var TCPSocketClient = class extends SocketClient {
409
+ constructor(host, port) {
410
+ super(net.createConnection(port, host));
411
+ }
412
+ };
413
+ exports2.TCPSocketClient = TCPSocketClient;
414
+ var JSONLFileClient = class {
415
+ constructor(filePath) {
416
+ this.fileStream = fs.createReadStream(filePath, { encoding: "utf-8" });
417
+ }
418
+ sendJSON(data) {
419
+ console.log("Sending message", data);
420
+ }
421
+ async *receiveJSON() {
422
+ const rl = (0, readline_1.createInterface)({
423
+ input: this.fileStream,
424
+ crlfDelay: Infinity
425
+ });
426
+ for await (const line of rl) {
427
+ if (line.trim() === "") {
428
+ continue;
429
+ }
430
+ yield JSON.parse(line);
431
+ }
432
+ }
433
+ async close() {
434
+ this.fileStream.close();
435
+ await Promise.race([
436
+ new Promise((resolve) => this.fileStream.once("close", resolve)),
437
+ new Promise((resolve) => this.fileStream.once("error", resolve)),
438
+ (0, promises_1.setTimeout)(3e3)
439
+ ]);
440
+ }
441
+ get closed() {
442
+ return this.fileStream.closed;
443
+ }
444
+ };
445
+ exports2.JSONLFileClient = JSONLFileClient;
446
+ }
447
+ });
448
+
449
+ // ../packages/runtime-interface/dist/index.js
450
+ var require_dist = __commonJS({
451
+ "../packages/runtime-interface/dist/index.js"(exports2) {
452
+ "use strict";
453
+ var __createBinding = exports2 && exports2.__createBinding || (Object.create ? (function(o, m, k, k2) {
454
+ if (k2 === void 0) k2 = k;
455
+ var desc = Object.getOwnPropertyDescriptor(m, k);
456
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
457
+ desc = { enumerable: true, get: function() {
458
+ return m[k];
459
+ } };
460
+ }
461
+ Object.defineProperty(o, k2, desc);
462
+ }) : (function(o, m, k, k2) {
463
+ if (k2 === void 0) k2 = k;
464
+ o[k2] = m[k];
465
+ }));
466
+ var __exportStar = exports2 && exports2.__exportStar || function(m, exports3) {
467
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports3, p)) __createBinding(exports3, m, p);
468
+ };
469
+ Object.defineProperty(exports2, "__esModule", { value: true });
470
+ __exportStar(require_errors(), exports2);
471
+ __exportStar(require_types(), exports2);
472
+ __exportStar(require_interfaceClient(), exports2);
473
+ }
474
+ });
475
+
476
+ // src/vendor/runtime-interface.ts
477
+ var runtime_interface_exports = {};
478
+ module.exports = __toCommonJS(runtime_interface_exports);
479
+ __reExport(runtime_interface_exports, __toESM(require_dist()), module.exports);