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