@intuned/runtime-dev 1.3.18-interface.9 → 1.3.21-dev.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 (212) hide show
  1. package/.babelrc +27 -0
  2. package/.eslintignore +10 -0
  3. package/.eslintrc.js +39 -0
  4. package/CHANGELOG.md +2 -1
  5. package/InterfaceTemplate/__utils.ts +63 -0
  6. package/InterfaceTemplate/index.playwright.ts +6 -0
  7. package/bin/intuned +20 -2
  8. package/dist/commands/api/run.d.ts +6 -0
  9. package/dist/commands/api/run.js +119 -0
  10. package/dist/commands/auth-sessions/load.d.ts +2 -0
  11. package/dist/commands/auth-sessions/load.js +38 -0
  12. package/dist/commands/auth-sessions/run-check.d.ts +2 -0
  13. package/dist/commands/auth-sessions/run-check.js +83 -0
  14. package/dist/commands/auth-sessions/run-create.d.ts +2 -0
  15. package/dist/commands/auth-sessions/run-create.js +85 -0
  16. package/dist/commands/browser/save-state.d.ts +2 -0
  17. package/dist/commands/browser/save-state.js +17 -0
  18. package/dist/commands/browser/start-browser.d.ts +2 -0
  19. package/dist/commands/browser/start-browser.js +14 -0
  20. package/dist/commands/build.d.ts +1 -0
  21. package/dist/commands/build.js +83 -0
  22. package/dist/commands/common/browserUtils.d.ts +14 -0
  23. package/dist/commands/common/browserUtils.js +66 -0
  24. package/dist/commands/common/getFirstLineNumber.d.ts +9 -0
  25. package/dist/commands/common/getFirstLineNumber.js +101 -0
  26. package/dist/commands/common/getFirstLineNumber.test.js +227 -0
  27. package/dist/commands/common/projectExclusions.d.ts +2 -0
  28. package/dist/commands/common/projectExclusions.js +8 -0
  29. package/dist/commands/common/sendMessageToClient.d.ts +1 -0
  30. package/dist/commands/common/sendMessageToClient.js +10 -0
  31. package/dist/commands/common/tsNodeImport.d.ts +2 -5
  32. package/dist/commands/common/tsNodeImport.js +15 -56
  33. package/dist/commands/common/utils/fileUtils.d.ts +6 -0
  34. package/dist/commands/common/utils/fileUtils.js +32 -0
  35. package/dist/commands/common/utils/interfaceClient.d.ts +31 -0
  36. package/dist/commands/common/utils/interfaceClient.js +98 -0
  37. package/dist/commands/common/utils/settings.d.ts +2 -0
  38. package/dist/commands/common/utils/settings.js +31 -0
  39. package/dist/commands/common/utils/template.d.ts +2 -0
  40. package/dist/commands/common/utils/template.js +30 -0
  41. package/dist/commands/get-headless-user-agent.d.ts +1 -0
  42. package/dist/commands/get-headless-user-agent.js +18 -0
  43. package/dist/commands/interface/run.d.ts +1 -3
  44. package/dist/commands/interface/run.js +139 -2047
  45. package/dist/commands/ts-check.d.ts +2 -0
  46. package/dist/commands/ts-check.js +55 -0
  47. package/dist/common/Logger/Logger/index.d.ts +12 -0
  48. package/dist/common/Logger/Logger/index.js +60 -0
  49. package/dist/common/Logger/Logger/types.d.ts +8 -0
  50. package/dist/common/Logger/Logger/types.js +5 -0
  51. package/dist/common/Logger/index.d.ts +12 -0
  52. package/dist/common/Logger/index.js +60 -0
  53. package/dist/common/Logger/types.d.ts +8 -0
  54. package/dist/common/Logger/types.js +5 -0
  55. package/dist/common/asyncLocalStorage/index.d.ts +8 -9
  56. package/dist/common/asyncLocalStorage/index.js +9 -34
  57. package/dist/common/backendFunctions/getAuthSessionParameters.d.ts +1 -0
  58. package/dist/common/backendFunctions/getAuthSessionParameters.js +38 -0
  59. package/dist/common/binStartupScript.d.ts +1 -2
  60. package/dist/common/binStartupScript.js +25 -132
  61. package/dist/common/browserTabs.d.ts +72 -0
  62. package/dist/common/browserTabs.js +74 -0
  63. package/dist/common/cleanEnvironmentVariables.d.ts +1 -3
  64. package/dist/common/cleanEnvironmentVariables.js +7 -30
  65. package/dist/common/constants.d.ts +11 -13
  66. package/dist/common/constants.js +15 -58
  67. package/dist/common/contextStorageStateHelpers.d.ts +6 -8
  68. package/dist/common/contextStorageStateHelpers.js +26 -48
  69. package/dist/common/env.d.ts +6 -0
  70. package/dist/common/env.js +17 -0
  71. package/dist/common/extension/extensionsHelpers.d.ts +11 -0
  72. package/dist/common/extension/extensionsHelpers.js +147 -0
  73. package/dist/common/extension/intunedExtensionServer.d.ts +24 -0
  74. package/dist/common/extension/intunedExtensionServer.js +178 -0
  75. package/dist/common/extension/types.d.ts +219 -0
  76. package/dist/common/extension/types.js +51 -0
  77. package/dist/common/formatZodError.d.ts +2 -0
  78. package/dist/{chunk-NDMVGENG.mjs → common/formatZodError.js} +9 -9
  79. package/dist/common/intunedJson.d.ts +249 -0
  80. package/dist/common/intunedJson.js +155 -0
  81. package/dist/common/jwtTokenManager.d.ts +4 -6
  82. package/dist/common/jwtTokenManager.js +40 -108
  83. package/dist/common/launchBrowser.d.ts +43 -0
  84. package/dist/common/launchBrowser.js +301 -0
  85. package/dist/common/playwrightContext.d.ts +31 -0
  86. package/dist/common/playwrightContext.js +154 -0
  87. package/dist/common/runApi/importUsingImportFunction.d.ts +7 -0
  88. package/dist/common/runApi/importUsingImportFunction.js +46 -0
  89. package/dist/common/runApi/index.d.ts +6 -9
  90. package/dist/common/runApi/index.js +75 -1782
  91. package/dist/common/settingsSchema.d.ts +9 -9
  92. package/dist/common/settingsSchema.js +20 -55
  93. package/dist/common/setupContextHook.d.ts +16 -0
  94. package/dist/common/setupContextHook.js +22 -0
  95. package/dist/common/telemetry.d.ts +3 -6
  96. package/dist/common/telemetry.js +8 -41
  97. package/dist/index.d.ts +4 -6
  98. package/dist/index.js +92 -784
  99. package/dist/runtime/RunError.d.ts +5 -0
  100. package/dist/runtime/RunError.js +19 -0
  101. package/dist/runtime/attemptStore.d.ts +2 -0
  102. package/dist/runtime/attemptStore.js +23 -0
  103. package/dist/runtime/captcha.d.ts +15 -0
  104. package/dist/runtime/captcha.js +191 -0
  105. package/dist/runtime/captcha.test.js +821 -0
  106. package/dist/runtime/downloadDirectory.d.ts +1 -0
  107. package/dist/runtime/downloadDirectory.js +19 -0
  108. package/dist/runtime/enums.d.js +5 -0
  109. package/dist/runtime/enums.d.ts +11 -0
  110. package/dist/runtime/enums.js +18 -0
  111. package/dist/runtime/executionHelpers.test.js +52 -0
  112. package/dist/runtime/export.d.js +5 -0
  113. package/dist/runtime/export.d.ts +284 -0
  114. package/dist/runtime/extendPayload.d.ts +2 -0
  115. package/dist/runtime/extendPayload.js +21 -0
  116. package/dist/runtime/extendTimeout.d.ts +1 -0
  117. package/dist/runtime/extendTimeout.js +23 -0
  118. package/dist/runtime/getAiGatewayConfig.d.ts +10 -0
  119. package/dist/runtime/getAiGatewayConfig.js +16 -0
  120. package/dist/runtime/getAuthSessionParameters.d.ts +1 -0
  121. package/dist/runtime/getAuthSessionParameters.js +20 -0
  122. package/dist/runtime/index.d.ts +10 -168
  123. package/dist/runtime/index.js +88 -779
  124. package/dist/runtime/persistentStore.d.ts +2 -0
  125. package/dist/runtime/persistentStore.js +37 -0
  126. package/dist/runtime/persistentStore.test.js +101 -0
  127. package/dist/runtime/runInfo.d.ts +2 -0
  128. package/dist/runtime/runInfo.js +21 -0
  129. package/dist/vendor/runtime-interface.d.ts +1 -0
  130. package/dist/vendor/runtime-interface.js +497 -0
  131. package/package.json +21 -75
  132. package/template.tsconfig.json +11 -0
  133. package/tsconfig.eslint.json +5 -0
  134. package/tsconfig.json +25 -0
  135. package/tsup.config.ts +12 -0
  136. package/typedoc.json +49 -0
  137. package/dist/chunk-3AGSY4RT.mjs +0 -1108
  138. package/dist/chunk-3AGSY4RT.mjs.map +0 -1
  139. package/dist/chunk-6ZRJOUQS.mjs +0 -16
  140. package/dist/chunk-6ZRJOUQS.mjs.map +0 -1
  141. package/dist/chunk-7YL2JUTE.mjs +0 -146
  142. package/dist/chunk-7YL2JUTE.mjs.map +0 -1
  143. package/dist/chunk-BF45RZ32.mjs +0 -13
  144. package/dist/chunk-BF45RZ32.mjs.map +0 -1
  145. package/dist/chunk-FGV5T6SI.mjs +0 -27
  146. package/dist/chunk-FGV5T6SI.mjs.map +0 -1
  147. package/dist/chunk-G4PO5RIV.mjs +0 -85
  148. package/dist/chunk-G4PO5RIV.mjs.map +0 -1
  149. package/dist/chunk-LZOMFHX3.mjs +0 -38
  150. package/dist/chunk-LZOMFHX3.mjs.map +0 -1
  151. package/dist/chunk-NDMVGENG.mjs.map +0 -1
  152. package/dist/chunk-UO2E7T7T.mjs +0 -787
  153. package/dist/chunk-UO2E7T7T.mjs.map +0 -1
  154. package/dist/chunk-W4UX6G4X.mjs +0 -17
  155. package/dist/chunk-W4UX6G4X.mjs.map +0 -1
  156. package/dist/chunk-XOAZ2MGA.mjs +0 -59
  157. package/dist/chunk-XOAZ2MGA.mjs.map +0 -1
  158. package/dist/commands/common/tsNodeImport.d.mts +0 -5
  159. package/dist/commands/common/tsNodeImport.js.map +0 -1
  160. package/dist/commands/common/tsNodeImport.mjs +0 -45
  161. package/dist/commands/common/tsNodeImport.mjs.map +0 -1
  162. package/dist/commands/interface/run.d.mts +0 -3
  163. package/dist/commands/interface/run.js.map +0 -1
  164. package/dist/commands/interface/run.mjs +0 -256
  165. package/dist/commands/interface/run.mjs.map +0 -1
  166. package/dist/common/asyncLocalStorage/index.d.mts +0 -17
  167. package/dist/common/asyncLocalStorage/index.js.map +0 -1
  168. package/dist/common/asyncLocalStorage/index.mjs +0 -12
  169. package/dist/common/asyncLocalStorage/index.mjs.map +0 -1
  170. package/dist/common/binStartupScript.d.mts +0 -2
  171. package/dist/common/binStartupScript.js.map +0 -1
  172. package/dist/common/binStartupScript.mjs +0 -135
  173. package/dist/common/binStartupScript.mjs.map +0 -1
  174. package/dist/common/cleanEnvironmentVariables.d.mts +0 -3
  175. package/dist/common/cleanEnvironmentVariables.js.map +0 -1
  176. package/dist/common/cleanEnvironmentVariables.mjs +0 -8
  177. package/dist/common/cleanEnvironmentVariables.mjs.map +0 -1
  178. package/dist/common/constants.d.mts +0 -13
  179. package/dist/common/constants.js.map +0 -1
  180. package/dist/common/constants.mjs +0 -28
  181. package/dist/common/constants.mjs.map +0 -1
  182. package/dist/common/contextStorageStateHelpers.d.mts +0 -24
  183. package/dist/common/contextStorageStateHelpers.js.map +0 -1
  184. package/dist/common/contextStorageStateHelpers.mjs +0 -10
  185. package/dist/common/contextStorageStateHelpers.mjs.map +0 -1
  186. package/dist/common/jwtTokenManager.d.mts +0 -19
  187. package/dist/common/jwtTokenManager.js.map +0 -1
  188. package/dist/common/jwtTokenManager.mjs +0 -11
  189. package/dist/common/jwtTokenManager.mjs.map +0 -1
  190. package/dist/common/runApi/index.d.mts +0 -11
  191. package/dist/common/runApi/index.js.map +0 -1
  192. package/dist/common/runApi/index.mjs +0 -19
  193. package/dist/common/runApi/index.mjs.map +0 -1
  194. package/dist/common/settingsSchema.d.mts +0 -540
  195. package/dist/common/settingsSchema.js.map +0 -1
  196. package/dist/common/settingsSchema.mjs +0 -10
  197. package/dist/common/settingsSchema.mjs.map +0 -1
  198. package/dist/common/telemetry.d.mts +0 -6
  199. package/dist/common/telemetry.js.map +0 -1
  200. package/dist/common/telemetry.mjs +0 -31
  201. package/dist/common/telemetry.mjs.map +0 -1
  202. package/dist/export.d-BAUMB-lG.d.mts +0 -140
  203. package/dist/export.d-BAUMB-lG.d.ts +0 -140
  204. package/dist/index.d.mts +0 -6
  205. package/dist/index.js.map +0 -1
  206. package/dist/index.mjs +0 -48
  207. package/dist/index.mjs.map +0 -1
  208. package/dist/runtime/index.d.mts +0 -168
  209. package/dist/runtime/index.js.map +0 -1
  210. package/dist/runtime/index.mjs +0 -43
  211. package/dist/runtime/index.mjs.map +0 -1
  212. /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,497 @@
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.error = error;
130
+ this.details = {
131
+ ...error,
132
+ name: error?.name,
133
+ stack: error?.stack,
134
+ message: error?.message,
135
+ statusCode: error?.statusCode,
136
+ errorCode: error?.code
137
+ };
138
+ }
139
+ };
140
+ exports2.AutomationError = AutomationError;
141
+ var InternalInvalidInputError = class extends RunAutomationError {
142
+ constructor(message, details) {
143
+ super(exports2.internalInvalidInputErrorCode, message);
144
+ this.details = details;
145
+ }
146
+ };
147
+ exports2.InternalInvalidInputError = InternalInvalidInputError;
148
+ var ResultTooBigError = class extends RunAutomationError {
149
+ constructor(sizeInBytes, maxSizeInBytes) {
150
+ 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`);
151
+ this.details = { sizeInBytes, maxSizeInBytes };
152
+ }
153
+ };
154
+ exports2.ResultTooBigError = ResultTooBigError;
155
+ }
156
+ });
157
+
158
+ // ../packages/runtime-interface/dist/types.js
159
+ var require_types = __commonJS({
160
+ "../packages/runtime-interface/dist/types.js"(exports2) {
161
+ "use strict";
162
+ var __importDefault = exports2 && exports2.__importDefault || function(mod) {
163
+ return mod && mod.__esModule ? mod : { "default": mod };
164
+ };
165
+ Object.defineProperty(exports2, "__esModule", { value: true });
166
+ 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;
167
+ exports2.runApiResultOkSchema = runApiResultOkSchema;
168
+ exports2.runApiResultWithSessionOkSchema = runApiResultWithSessionOkSchema;
169
+ var zod_1 = __importDefault(require("zod"));
170
+ exports2.runApiStorageStateSchema = zod_1.default.object({
171
+ cookies: zod_1.default.array(zod_1.default.object({
172
+ name: zod_1.default.string(),
173
+ value: zod_1.default.string(),
174
+ domain: zod_1.default.string(),
175
+ path: zod_1.default.string(),
176
+ expires: zod_1.default.number(),
177
+ httpOnly: zod_1.default.boolean(),
178
+ secure: zod_1.default.boolean(),
179
+ sameSite: zod_1.default.enum(["Strict", "Lax", "None"])
180
+ })),
181
+ origins: zod_1.default.array(zod_1.default.object({
182
+ origin: zod_1.default.string(),
183
+ localStorage: zod_1.default.array(zod_1.default.object({
184
+ name: zod_1.default.string(),
185
+ value: zod_1.default.string()
186
+ }))
187
+ })),
188
+ sessionStorage: zod_1.default.array(zod_1.default.object({
189
+ origin: zod_1.default.string(),
190
+ sessionStorage: zod_1.default.array(zod_1.default.object({
191
+ name: zod_1.default.string(),
192
+ value: zod_1.default.string()
193
+ }))
194
+ })).optional()
195
+ });
196
+ exports2.runApiSessionSchema = zod_1.default.discriminatedUnion("type", [
197
+ zod_1.default.object({
198
+ type: zod_1.default.literal("file"),
199
+ path: zod_1.default.string()
200
+ }),
201
+ zod_1.default.object({
202
+ type: zod_1.default.literal("state"),
203
+ state: exports2.runApiStorageStateSchema.nullable().optional()
204
+ })
205
+ ]);
206
+ exports2.runApiAutomationFunctionSchema = zod_1.default.object({
207
+ name: zod_1.default.string(),
208
+ params: zod_1.default.any().optional()
209
+ });
210
+ exports2.runApiTracingSchema = zod_1.default.discriminatedUnion("enabled", [
211
+ zod_1.default.object({ enabled: zod_1.default.literal(false) }),
212
+ zod_1.default.object({ enabled: zod_1.default.literal(true), filePath: zod_1.default.string() })
213
+ ]).optional().default({ enabled: false });
214
+ exports2.runApiAuthSchema = zod_1.default.object({
215
+ session: exports2.runApiSessionSchema,
216
+ parameters: zod_1.default.record(zod_1.default.any()).optional()
217
+ }).optional();
218
+ exports2.runApiStandaloneRunOptionsSchema = zod_1.default.object({
219
+ environment: zod_1.default.literal("standalone"),
220
+ headless: zod_1.default.boolean().default(true),
221
+ proxy: zod_1.default.object({
222
+ server: zod_1.default.string(),
223
+ username: zod_1.default.string(),
224
+ password: zod_1.default.string()
225
+ }).optional(),
226
+ ignoreHttpErrors: zod_1.default.boolean().optional()
227
+ });
228
+ exports2.runApiCdpRunOptionsSchema = zod_1.default.object({
229
+ environment: zod_1.default.literal("cdp"),
230
+ cdpAddress: zod_1.default.string(),
231
+ cdpTargetId: zod_1.default.string().optional(),
232
+ ignoreHttpErrors: zod_1.default.boolean().optional()
233
+ });
234
+ exports2.runApiRunOptionsSchema = zod_1.default.discriminatedUnion("environment", [
235
+ exports2.runApiStandaloneRunOptionsSchema,
236
+ exports2.runApiCdpRunOptionsSchema
237
+ ]).default({ environment: "standalone", headless: true });
238
+ exports2.runApiParametersSchema = zod_1.default.object({
239
+ automationFunction: exports2.runApiAutomationFunctionSchema,
240
+ tracing: exports2.runApiTracingSchema,
241
+ auth: exports2.runApiAuthSchema,
242
+ runOptions: exports2.runApiRunOptionsSchema,
243
+ retrieveSession: zod_1.default.boolean().default(false)
244
+ });
245
+ function runApiResultOkSchema(resultSchema) {
246
+ return zod_1.default.object({
247
+ result: resultSchema,
248
+ extendedPayloads: zod_1.default.array(zod_1.default.object({
249
+ api: zod_1.default.string(),
250
+ parameters: zod_1.default.record(zod_1.default.any())
251
+ })).optional()
252
+ });
253
+ }
254
+ function runApiResultWithSessionOkSchema(resultSchema) {
255
+ return runApiResultOkSchema(resultSchema).extend({
256
+ session: exports2.runApiStorageStateSchema
257
+ });
258
+ }
259
+ exports2.startRunApiParametersSchema = exports2.runApiParametersSchema.extend({
260
+ retrieveSession: zod_1.default.boolean(),
261
+ functionsToken: zod_1.default.string().optional(),
262
+ context: zod_1.default.object({
263
+ jobId: zod_1.default.string().optional(),
264
+ jobRunId: zod_1.default.string().optional(),
265
+ runId: zod_1.default.string().optional(),
266
+ authSessionId: zod_1.default.string().optional()
267
+ }).optional()
268
+ });
269
+ exports2.startRunApiSchema = zod_1.default.object({
270
+ type: zod_1.default.literal("start"),
271
+ parameters: exports2.startRunApiParametersSchema
272
+ });
273
+ exports2.abortRunApiSchema = zod_1.default.object({
274
+ type: zod_1.default.literal("abort"),
275
+ parameters: zod_1.default.object({}).optional()
276
+ });
277
+ exports2.tokenUpdateSchema = zod_1.default.object({
278
+ type: zod_1.default.literal("tokenUpdate"),
279
+ parameters: zod_1.default.object({
280
+ functionsToken: zod_1.default.string()
281
+ })
282
+ });
283
+ exports2.pingSchema = zod_1.default.object({
284
+ type: zod_1.default.literal("ping"),
285
+ parameters: zod_1.default.object({}).optional()
286
+ });
287
+ exports2.runApiInputSchema = zod_1.default.union([
288
+ exports2.startRunApiSchema,
289
+ exports2.abortRunApiSchema,
290
+ exports2.tokenUpdateSchema,
291
+ exports2.pingSchema
292
+ ]);
293
+ exports2.extendMessageSchema = zod_1.default.object({ type: zod_1.default.literal("extend") });
294
+ exports2.doneMessageSchema = zod_1.default.object({
295
+ type: zod_1.default.literal("done"),
296
+ result: zod_1.default.any(),
297
+ success: zod_1.default.boolean()
298
+ });
299
+ exports2.pongMessageSchema = zod_1.default.object({
300
+ type: zod_1.default.literal("pong")
301
+ });
302
+ exports2.outputRunApiSchema = zod_1.default.union([
303
+ exports2.extendMessageSchema,
304
+ exports2.doneMessageSchema,
305
+ exports2.pongMessageSchema
306
+ ]);
307
+ }
308
+ });
309
+
310
+ // ../packages/runtime-interface/dist/interfaceClient.js
311
+ var require_interfaceClient = __commonJS({
312
+ "../packages/runtime-interface/dist/interfaceClient.js"(exports2) {
313
+ "use strict";
314
+ var __createBinding = exports2 && exports2.__createBinding || (Object.create ? (function(o, m, k, k2) {
315
+ if (k2 === void 0) k2 = k;
316
+ var desc = Object.getOwnPropertyDescriptor(m, k);
317
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
318
+ desc = { enumerable: true, get: function() {
319
+ return m[k];
320
+ } };
321
+ }
322
+ Object.defineProperty(o, k2, desc);
323
+ }) : (function(o, m, k, k2) {
324
+ if (k2 === void 0) k2 = k;
325
+ o[k2] = m[k];
326
+ }));
327
+ var __setModuleDefault = exports2 && exports2.__setModuleDefault || (Object.create ? (function(o, v) {
328
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
329
+ }) : function(o, v) {
330
+ o["default"] = v;
331
+ });
332
+ var __importStar = exports2 && exports2.__importStar || /* @__PURE__ */ (function() {
333
+ var ownKeys = function(o) {
334
+ ownKeys = Object.getOwnPropertyNames || function(o2) {
335
+ var ar = [];
336
+ for (var k in o2) if (Object.prototype.hasOwnProperty.call(o2, k)) ar[ar.length] = k;
337
+ return ar;
338
+ };
339
+ return ownKeys(o);
340
+ };
341
+ return function(mod) {
342
+ if (mod && mod.__esModule) return mod;
343
+ var result = {};
344
+ if (mod != null) {
345
+ for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
346
+ }
347
+ __setModuleDefault(result, mod);
348
+ return result;
349
+ };
350
+ })();
351
+ Object.defineProperty(exports2, "__esModule", { value: true });
352
+ exports2.JSONLFileClient = exports2.TCPSocketClient = exports2.UnixSocketClient = exports2.SocketClient = void 0;
353
+ var fs = __importStar(require("fs-extra"));
354
+ var net = __importStar(require("net"));
355
+ var readline_1 = require("readline");
356
+ var promises_1 = require("timers/promises");
357
+ var SocketClient = class _SocketClient {
358
+ constructor(socket) {
359
+ this.socket = socket;
360
+ }
361
+ sendJSON(data) {
362
+ const dataToSend = JSON.stringify(data);
363
+ const length = Buffer.byteLength(dataToSend);
364
+ const buffer = Buffer.alloc(_SocketClient.LENGTH_HEADER_LENGTH + length);
365
+ buffer.writeUInt32BE(length, 0);
366
+ buffer.write(dataToSend, _SocketClient.LENGTH_HEADER_LENGTH);
367
+ this.socket.write(buffer);
368
+ }
369
+ async *receiveJSON() {
370
+ let buffer = Buffer.alloc(0);
371
+ const endPromise = new Promise((resolve, reject) => {
372
+ this.socket.once("end", () => {
373
+ resolve();
374
+ });
375
+ this.socket.once("error", reject);
376
+ });
377
+ while (true) {
378
+ const chunk = await Promise.race([
379
+ new Promise((resolve) => this.socket.once("data", (data2) => {
380
+ if (typeof data2 === "string") {
381
+ return resolve(Buffer.from(data2));
382
+ }
383
+ resolve(data2);
384
+ })),
385
+ endPromise
386
+ ]);
387
+ if (!(chunk instanceof Buffer)) {
388
+ break;
389
+ }
390
+ buffer = Buffer.concat([
391
+ buffer,
392
+ chunk
393
+ ]);
394
+ if (buffer.length < _SocketClient.LENGTH_HEADER_LENGTH) {
395
+ continue;
396
+ }
397
+ const length = buffer.readUInt32BE(0);
398
+ if (buffer.length < length + _SocketClient.LENGTH_HEADER_LENGTH) {
399
+ continue;
400
+ }
401
+ const data = buffer.subarray(_SocketClient.LENGTH_HEADER_LENGTH, length + _SocketClient.LENGTH_HEADER_LENGTH);
402
+ buffer = buffer.subarray(length + _SocketClient.LENGTH_HEADER_LENGTH);
403
+ yield JSON.parse(data.toString());
404
+ }
405
+ }
406
+ async close() {
407
+ this.socket.end();
408
+ await Promise.race([
409
+ new Promise((resolve) => this.socket.once("close", resolve)),
410
+ new Promise((resolve) => this.socket.once("error", resolve)),
411
+ (0, promises_1.setTimeout)(3e3)
412
+ ]);
413
+ }
414
+ get closed() {
415
+ return this.socket.closed;
416
+ }
417
+ };
418
+ exports2.SocketClient = SocketClient;
419
+ SocketClient.LENGTH_HEADER_LENGTH = 4;
420
+ var UnixSocketClient = class extends SocketClient {
421
+ constructor(path) {
422
+ super(net.createConnection(path));
423
+ }
424
+ };
425
+ exports2.UnixSocketClient = UnixSocketClient;
426
+ var TCPSocketClient = class extends SocketClient {
427
+ constructor(host, port) {
428
+ super(net.createConnection(port, host));
429
+ }
430
+ };
431
+ exports2.TCPSocketClient = TCPSocketClient;
432
+ var JSONLFileClient = class {
433
+ constructor(filePath) {
434
+ this.fileStream = fs.createReadStream(filePath, { encoding: "utf-8" });
435
+ }
436
+ sendJSON(data) {
437
+ console.log("Sending message", data);
438
+ }
439
+ async *receiveJSON() {
440
+ const rl = (0, readline_1.createInterface)({
441
+ input: this.fileStream,
442
+ crlfDelay: Infinity
443
+ });
444
+ for await (const line of rl) {
445
+ if (line.trim() === "") {
446
+ continue;
447
+ }
448
+ yield JSON.parse(line);
449
+ }
450
+ }
451
+ async close() {
452
+ this.fileStream.close();
453
+ await Promise.race([
454
+ new Promise((resolve) => this.fileStream.once("close", () => resolve(void 0))),
455
+ new Promise((resolve) => this.fileStream.once("error", () => resolve(void 0))),
456
+ (0, promises_1.setTimeout)(3e3)
457
+ ]);
458
+ }
459
+ get closed() {
460
+ return this.fileStream.closed;
461
+ }
462
+ };
463
+ exports2.JSONLFileClient = JSONLFileClient;
464
+ }
465
+ });
466
+
467
+ // ../packages/runtime-interface/dist/index.js
468
+ var require_dist = __commonJS({
469
+ "../packages/runtime-interface/dist/index.js"(exports2) {
470
+ "use strict";
471
+ var __createBinding = exports2 && exports2.__createBinding || (Object.create ? (function(o, m, k, k2) {
472
+ if (k2 === void 0) k2 = k;
473
+ var desc = Object.getOwnPropertyDescriptor(m, k);
474
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
475
+ desc = { enumerable: true, get: function() {
476
+ return m[k];
477
+ } };
478
+ }
479
+ Object.defineProperty(o, k2, desc);
480
+ }) : (function(o, m, k, k2) {
481
+ if (k2 === void 0) k2 = k;
482
+ o[k2] = m[k];
483
+ }));
484
+ var __exportStar = exports2 && exports2.__exportStar || function(m, exports3) {
485
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports3, p)) __createBinding(exports3, m, p);
486
+ };
487
+ Object.defineProperty(exports2, "__esModule", { value: true });
488
+ __exportStar(require_errors(), exports2);
489
+ __exportStar(require_types(), exports2);
490
+ __exportStar(require_interfaceClient(), exports2);
491
+ }
492
+ });
493
+
494
+ // src/vendor/runtime-interface.ts
495
+ var runtime_interface_exports = {};
496
+ module.exports = __toCommonJS(runtime_interface_exports);
497
+ __reExport(runtime_interface_exports, __toESM(require_dist()), module.exports);