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

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 (230) hide show
  1. package/.babelrc +21 -0
  2. package/.eslintignore +10 -0
  3. package/.eslintrc.js +39 -0
  4. package/.turbo/turbo-build.log +2 -0
  5. package/WebTemplate.zip +0 -0
  6. package/dist/commands/api/run.d.ts +1 -3
  7. package/dist/commands/api/run.js +65 -2039
  8. package/dist/commands/auth-sessions/load.d.ts +1 -0
  9. package/dist/commands/auth-sessions/load.js +28 -1552
  10. package/dist/commands/auth-sessions/run-check.d.ts +1 -0
  11. package/dist/commands/auth-sessions/run-check.js +72 -1961
  12. package/dist/commands/auth-sessions/run-create.d.ts +1 -0
  13. package/dist/commands/auth-sessions/run-create.js +66 -1955
  14. package/dist/commands/browser/save-state.d.ts +1 -0
  15. package/dist/commands/browser/save-state.js +11 -102
  16. package/dist/commands/browser/start-browser.d.ts +1 -0
  17. package/dist/commands/browser/start-browser.js +9 -62
  18. package/dist/commands/build.d.ts +1 -2
  19. package/dist/commands/build.js +53 -172
  20. package/dist/commands/common/browserUtils.d.ts +14 -0
  21. package/dist/commands/common/browserUtils.js +58 -0
  22. package/dist/commands/common/getFirstLineNumber.d.ts +9 -0
  23. package/dist/commands/common/getFirstLineNumber.js +101 -0
  24. package/dist/commands/common/getFirstLineNumber.test.js +228 -0
  25. package/dist/commands/common/projectExclusions.d.ts +2 -0
  26. package/dist/commands/common/projectExclusions.js +8 -0
  27. package/dist/commands/common/sendMessageToClient.d.ts +1 -0
  28. package/dist/commands/common/sendMessageToClient.js +10 -0
  29. package/dist/commands/common/tsNodeImport.d.ts +2 -5
  30. package/dist/commands/common/tsNodeImport.js +16 -55
  31. package/dist/commands/common/utils/fileUtils.d.ts +6 -0
  32. package/dist/commands/common/utils/fileUtils.js +33 -0
  33. package/dist/commands/common/utils/interfaceClient.d.ts +31 -0
  34. package/dist/commands/common/utils/interfaceClient.js +99 -0
  35. package/dist/commands/common/utils/settings.d.ts +2 -0
  36. package/dist/commands/common/utils/settings.js +31 -0
  37. package/dist/commands/common/utils/template.d.ts +2 -0
  38. package/dist/commands/common/utils/template.js +31 -0
  39. package/dist/commands/get-headless-user-agent.d.ts +1 -2
  40. package/dist/commands/get-headless-user-agent.js +12 -348
  41. package/dist/commands/interface/pingPong.d.ts +2 -0
  42. package/dist/commands/interface/pingPong.js +11 -0
  43. package/dist/commands/interface/run.d.ts +1 -3
  44. package/dist/commands/interface/run.js +140 -2034
  45. package/dist/commands/interface/runApi.d.ts +1 -0
  46. package/dist/commands/interface/runApi.js +102 -0
  47. package/dist/commands/intuned-cli/commands/attempt.command.d.ts +1 -0
  48. package/dist/commands/intuned-cli/commands/attempt.command.js +8 -0
  49. package/dist/commands/intuned-cli/commands/attempt_api.command.d.ts +1 -0
  50. package/dist/commands/intuned-cli/commands/attempt_api.command.js +30 -0
  51. package/dist/commands/intuned-cli/commands/attempt_authsession.command.d.ts +1 -0
  52. package/dist/commands/intuned-cli/commands/attempt_authsession.command.js +8 -0
  53. package/dist/commands/intuned-cli/commands/attempt_authsession_check.command.d.ts +1 -0
  54. package/dist/commands/intuned-cli/commands/attempt_authsession_check.command.js +19 -0
  55. package/dist/commands/intuned-cli/commands/attempt_authsession_create.command.d.ts +1 -0
  56. package/dist/commands/intuned-cli/commands/attempt_authsession_create.command.js +24 -0
  57. package/dist/commands/intuned-cli/commands/authsession.command.d.ts +1 -0
  58. package/dist/commands/intuned-cli/commands/authsession.command.js +8 -0
  59. package/dist/commands/intuned-cli/commands/authsession_record.command.d.ts +1 -0
  60. package/dist/commands/intuned-cli/commands/authsession_record.command.js +32 -0
  61. package/dist/commands/intuned-cli/commands/authsession_scaffold.command.d.ts +1 -0
  62. package/dist/commands/intuned-cli/commands/authsession_scaffold.command.js +16 -0
  63. package/dist/commands/intuned-cli/commands/build.command.d.ts +1 -0
  64. package/dist/commands/intuned-cli/commands/build.command.js +12 -0
  65. package/dist/commands/intuned-cli/commands/command.d.ts +2 -0
  66. package/dist/commands/intuned-cli/commands/command.js +9 -0
  67. package/dist/commands/intuned-cli/commands/deploy.command.d.ts +1 -0
  68. package/dist/commands/intuned-cli/commands/deploy.command.js +42 -0
  69. package/dist/commands/intuned-cli/commands/index.d.ts +18 -0
  70. package/dist/commands/intuned-cli/commands/index.js +203 -0
  71. package/dist/commands/intuned-cli/commands/provision.command.d.ts +13 -0
  72. package/dist/commands/intuned-cli/commands/provision.command.js +50 -0
  73. package/dist/commands/intuned-cli/commands/run.command.d.ts +1 -0
  74. package/dist/commands/intuned-cli/commands/run.command.js +8 -0
  75. package/dist/commands/intuned-cli/commands/run_api.command.d.ts +1 -0
  76. package/dist/commands/intuned-cli/commands/run_api.command.js +46 -0
  77. package/dist/commands/intuned-cli/commands/run_authsession.command.d.ts +34 -0
  78. package/dist/commands/intuned-cli/commands/run_authsession.command.js +17 -0
  79. package/dist/commands/intuned-cli/commands/run_authsession_create.command.d.ts +1 -0
  80. package/dist/commands/intuned-cli/commands/run_authsession_create.command.js +35 -0
  81. package/dist/commands/intuned-cli/commands/run_authsession_update.command.d.ts +1 -0
  82. package/dist/commands/intuned-cli/commands/run_authsession_update.command.js +35 -0
  83. package/dist/commands/intuned-cli/commands/run_authsession_validate.command.d.ts +1 -0
  84. package/dist/commands/intuned-cli/commands/run_authsession_validate.command.js +33 -0
  85. package/dist/commands/intuned-cli/commands/types.d.ts +39 -0
  86. package/dist/commands/intuned-cli/commands/types.js +33 -0
  87. package/dist/commands/intuned-cli/constants/index.d.ts +17 -0
  88. package/dist/commands/intuned-cli/constants/index.js +25 -0
  89. package/dist/commands/intuned-cli/controller/__test__/api.test.js +398 -0
  90. package/dist/commands/intuned-cli/controller/__test__/authSession.test.js +1060 -0
  91. package/dist/commands/intuned-cli/controller/api.d.ts +42 -0
  92. package/dist/commands/intuned-cli/controller/api.js +195 -0
  93. package/dist/commands/intuned-cli/controller/authSession.d.ts +209 -0
  94. package/dist/commands/intuned-cli/controller/authSession.js +425 -0
  95. package/dist/commands/intuned-cli/controller/build.d.ts +1 -0
  96. package/dist/commands/intuned-cli/controller/build.js +36 -0
  97. package/dist/commands/intuned-cli/controller/deploy.d.ts +5 -0
  98. package/dist/commands/intuned-cli/controller/deploy.js +318 -0
  99. package/dist/commands/intuned-cli/controller/index.d.ts +1 -0
  100. package/dist/commands/intuned-cli/controller/index.js +46 -0
  101. package/dist/commands/intuned-cli/controller/provision.d.ts +21 -0
  102. package/dist/commands/intuned-cli/controller/provision.js +300 -0
  103. package/dist/commands/intuned-cli/controller/scaffold.d.ts +1 -0
  104. package/dist/commands/intuned-cli/controller/scaffold.js +77 -0
  105. package/dist/commands/intuned-cli/helpers/__test__/browser.test.js +152 -0
  106. package/dist/commands/intuned-cli/helpers/__test__/tracing.test.js +41 -0
  107. package/dist/commands/intuned-cli/helpers/api.d.ts +3 -0
  108. package/dist/commands/intuned-cli/helpers/api.js +16 -0
  109. package/dist/commands/intuned-cli/helpers/auth.d.ts +46 -0
  110. package/dist/commands/intuned-cli/helpers/auth.js +147 -0
  111. package/dist/commands/intuned-cli/helpers/backend.d.ts +8 -0
  112. package/dist/commands/intuned-cli/helpers/backend.js +35 -0
  113. package/dist/commands/intuned-cli/helpers/browser.d.ts +14 -0
  114. package/dist/commands/intuned-cli/helpers/browser.js +93 -0
  115. package/dist/commands/intuned-cli/helpers/context.d.ts +3 -0
  116. package/dist/commands/intuned-cli/helpers/context.js +33 -0
  117. package/dist/commands/intuned-cli/helpers/errors.d.ts +16 -0
  118. package/dist/commands/intuned-cli/helpers/errors.js +44 -0
  119. package/dist/commands/intuned-cli/helpers/index.d.ts +12 -0
  120. package/dist/commands/intuned-cli/helpers/index.js +137 -0
  121. package/dist/commands/intuned-cli/helpers/intunedJson.d.ts +39 -0
  122. package/dist/commands/intuned-cli/helpers/intunedJson.js +20 -0
  123. package/dist/commands/intuned-cli/helpers/prompts.d.ts +3 -0
  124. package/dist/commands/intuned-cli/helpers/prompts.js +71 -0
  125. package/dist/commands/intuned-cli/helpers/proxy.d.ts +5 -0
  126. package/dist/commands/intuned-cli/helpers/proxy.js +23 -0
  127. package/dist/commands/intuned-cli/helpers/terminal.d.ts +5 -0
  128. package/dist/commands/intuned-cli/helpers/terminal.js +13 -0
  129. package/dist/commands/intuned-cli/helpers/timeout.d.ts +1 -0
  130. package/dist/commands/intuned-cli/helpers/timeout.js +23 -0
  131. package/dist/commands/intuned-cli/helpers/traces.d.ts +2 -0
  132. package/dist/commands/intuned-cli/helpers/traces.js +32 -0
  133. package/dist/commands/intuned-cli/helpers/validation.d.ts +2 -0
  134. package/dist/commands/intuned-cli/helpers/validation.js +14 -0
  135. package/dist/commands/intuned-cli/helpers/wrapper.d.ts +2 -0
  136. package/dist/commands/intuned-cli/helpers/wrapper.js +76 -0
  137. package/dist/commands/intuned-cli/index.d.ts +1 -0
  138. package/dist/commands/intuned-cli/index.js +16 -0
  139. package/dist/commands/intuned-cli/main.d.ts +1 -2
  140. package/dist/commands/intuned-cli/main.js +25 -5392
  141. package/dist/commands/intuned-cli/types.d.ts +70 -0
  142. package/dist/commands/intuned-cli/types.js +22 -0
  143. package/dist/commands/ts-check.d.ts +1 -0
  144. package/dist/commands/ts-check.js +29 -131
  145. package/dist/common/Logger/Logger/index.d.ts +12 -0
  146. package/dist/common/Logger/Logger/index.js +60 -0
  147. package/dist/common/Logger/Logger/types.d.ts +8 -0
  148. package/dist/common/Logger/Logger/types.js +5 -0
  149. package/dist/common/Logger/index.d.ts +12 -0
  150. package/dist/common/Logger/index.js +60 -0
  151. package/dist/common/Logger/types.d.ts +8 -0
  152. package/dist/common/Logger/types.js +5 -0
  153. package/dist/common/asyncLocalStorage/index.d.ts +8 -9
  154. package/dist/common/asyncLocalStorage/index.js +9 -33
  155. package/dist/common/backendFunctions/getAuthSessionParameters.d.ts +1 -0
  156. package/dist/common/backendFunctions/getAuthSessionParameters.js +38 -0
  157. package/dist/common/binStartupScript.d.ts +1 -2
  158. package/dist/common/binStartupScript.js +11 -126
  159. package/dist/common/browserTabs.d.ts +72 -0
  160. package/dist/common/browserTabs.js +74 -0
  161. package/dist/common/cleanEnvironmentVariables.d.ts +1 -3
  162. package/dist/common/cleanEnvironmentVariables.js +7 -29
  163. package/dist/common/constants.d.ts +11 -13
  164. package/dist/common/constants.js +15 -57
  165. package/dist/common/contextStorageStateHelpers.d.ts +6 -8
  166. package/dist/common/contextStorageStateHelpers.js +22 -46
  167. package/dist/common/extension/extensionsHelpers.d.ts +11 -0
  168. package/dist/common/extension/extensionsHelpers.js +147 -0
  169. package/dist/common/extension/intunedExtensionServer.d.ts +24 -0
  170. package/dist/common/extension/intunedExtensionServer.js +178 -0
  171. package/dist/common/extension/types.d.ts +212 -0
  172. package/dist/common/extension/types.js +51 -0
  173. package/dist/common/formatZodError.d.ts +2 -0
  174. package/dist/common/formatZodError.js +18 -0
  175. package/dist/common/intunedJson.d.ts +229 -0
  176. package/dist/common/intunedJson.js +133 -0
  177. package/dist/common/jwtTokenManager.d.ts +4 -6
  178. package/dist/common/jwtTokenManager.js +41 -107
  179. package/dist/common/launchBrowser.d.ts +34 -0
  180. package/dist/common/launchBrowser.js +248 -0
  181. package/dist/common/playwrightContext.d.ts +30 -0
  182. package/dist/common/playwrightContext.js +153 -0
  183. package/dist/common/runApi/importUsingImportFunction.d.ts +7 -0
  184. package/dist/common/runApi/importUsingImportFunction.js +46 -0
  185. package/dist/common/runApi/index.d.ts +6 -9
  186. package/dist/common/runApi/index.js +78 -1765
  187. package/dist/common/settingsSchema.d.ts +51 -58
  188. package/dist/common/settingsSchema.js +20 -54
  189. package/dist/common/setupContextHook.d.ts +16 -0
  190. package/dist/common/setupContextHook.js +22 -0
  191. package/dist/common/telemetry.d.ts +3 -6
  192. package/dist/common/telemetry.js +9 -40
  193. package/dist/index.d.ts +4 -6
  194. package/dist/index.js +92 -783
  195. package/dist/runtime/RunError.d.ts +5 -0
  196. package/dist/runtime/RunError.js +19 -0
  197. package/dist/runtime/attemptStore.d.ts +2 -0
  198. package/dist/runtime/attemptStore.js +23 -0
  199. package/dist/runtime/captcha.d.ts +15 -0
  200. package/dist/runtime/captcha.js +191 -0
  201. package/dist/runtime/captcha.test.js +821 -0
  202. package/dist/runtime/downloadDirectory.d.ts +1 -0
  203. package/dist/runtime/downloadDirectory.js +19 -0
  204. package/dist/runtime/enums.d.js +5 -0
  205. package/dist/runtime/enums.d.ts +11 -0
  206. package/dist/runtime/enums.js +18 -0
  207. package/dist/runtime/executionHelpers.test.js +52 -0
  208. package/dist/runtime/export.d.js +5 -0
  209. package/dist/runtime/export.d.ts +284 -0
  210. package/dist/runtime/extendPayload.d.ts +2 -0
  211. package/dist/runtime/extendPayload.js +21 -0
  212. package/dist/runtime/extendTimeout.d.ts +1 -0
  213. package/dist/runtime/extendTimeout.js +23 -0
  214. package/dist/runtime/getAiGatewayConfig.d.ts +10 -0
  215. package/dist/runtime/getAiGatewayConfig.js +16 -0
  216. package/dist/runtime/getAuthSessionParameters.d.ts +1 -0
  217. package/dist/runtime/getAuthSessionParameters.js +20 -0
  218. package/dist/runtime/index.d.ts +10 -168
  219. package/dist/runtime/index.js +88 -778
  220. package/dist/runtime/persistentStore.d.ts +2 -0
  221. package/dist/runtime/persistentStore.js +37 -0
  222. package/dist/runtime/persistentStore.test.js +101 -0
  223. package/dist/runtime/runInfo.d.ts +2 -0
  224. package/dist/runtime/runInfo.js +21 -0
  225. package/package.json +16 -77
  226. package/template.tsconfig.json +11 -0
  227. package/tsconfig.eslint.json +5 -0
  228. package/tsconfig.json +25 -0
  229. package/typedoc.json +49 -0
  230. package/dist/export.d-BAUMB-lG.d.ts +0 -140
@@ -0,0 +1,228 @@
1
+ "use strict";
2
+
3
+ var _vitest = require("vitest");
4
+ var _getFirstLineNumber = _interopRequireDefault(require("./getFirstLineNumber"));
5
+ var fs = _interopRequireWildcard(require("fs"));
6
+ var path = _interopRequireWildcard(require("path"));
7
+ function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }
8
+ function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
9
+ function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
10
+ (0, _vitest.describe)("getFirstLineNumber", () => {
11
+ const testFilesDir = path.join(__dirname, "testFiles");
12
+ const createTestFile = (fileName, content) => {
13
+ const filePath = path.join(testFilesDir, fileName);
14
+ fs.writeFileSync(filePath, content);
15
+ return filePath;
16
+ };
17
+ (0, _vitest.beforeAll)(() => {
18
+ if (!fs.existsSync(testFilesDir)) {
19
+ fs.mkdirSync(testFilesDir);
20
+ }
21
+ });
22
+ (0, _vitest.afterAll)(() => {
23
+ fs.readdirSync(testFilesDir).forEach(file => fs.unlinkSync(path.join(testFilesDir, file)));
24
+ fs.rmdirSync(testFilesDir);
25
+ });
26
+ (0, _vitest.it)("correctly identifies first line in a default exported named function", async () => {
27
+ const filePath = createTestFile("defaultFunction.ts", `import {
28
+ EnhancedPlaywrightPage,
29
+ EnhancedPlaywrightBrowserContext,
30
+ ExecutionHelpers,
31
+ } from "@intuned/runner";
32
+ interface Params {
33
+ name: string;
34
+ [key: string]: string | number | undefined;
35
+ }
36
+ export default async function runApi(
37
+ params: Params,
38
+ page: EnhancedPlaywrightPage,
39
+ context: EnhancedPlaywrightBrowserContext,
40
+ executionHelpers: ExecutionHelpers
41
+ ) {
42
+ await page.goto("https://www.wikipedia.org/");
43
+ await page.getByLabel("Search Wikipedia").click();
44
+ await page.getByLabel("Search Wikipedia").type(params.name);
45
+ await page.getByLabel("Search Wikipedia").press("Enter");
46
+ return { done: "true", name: "custom name from api1" };
47
+ }
48
+ `);
49
+ const result = await (0, _getFirstLineNumber.default)(filePath);
50
+ (0, _vitest.expect)(result.lineNumber).toBe(4);
51
+ });
52
+ (0, _vitest.it)("correctly identifies first line in a default exported anonymous function", async () => {
53
+ const filePath = createTestFile("defaultFunction.ts", `import {
54
+ EnhancedPlaywrightPage,
55
+ EnhancedPlaywrightBrowserContext,
56
+ ExecutionHelpers,
57
+ } from "@intuned/runner";
58
+ interface Params {
59
+ name: string;
60
+ [key: string]: string | number | undefined;
61
+ }
62
+ export default async function(
63
+ params: Params,
64
+ page: EnhancedPlaywrightPage,
65
+ context: EnhancedPlaywrightBrowserContext,
66
+ executionHelpers: ExecutionHelpers
67
+ ) {
68
+ await page.goto("https://www.wikipedia.org/");
69
+ await page.getByLabel("Search Wikipedia").click();
70
+ await page.getByLabel("Search Wikipedia").type(params.name);
71
+ await page.getByLabel("Search Wikipedia").press("Enter");
72
+ return { done: "true", name: "custom name from api1" };
73
+ }
74
+ `);
75
+ const result = await (0, _getFirstLineNumber.default)(filePath);
76
+ (0, _vitest.expect)(result.lineNumber).toBe(4);
77
+ });
78
+ (0, _vitest.it)("correctly identifies first line in a default exported function identifier", async () => {
79
+ const filePath = createTestFile("defaultFunction.ts", `import {
80
+ EnhancedPlaywrightPage,
81
+ EnhancedPlaywrightBrowserContext,
82
+ ExecutionHelpers,
83
+ } from "@intuned/runner";
84
+ interface Params {
85
+ name: string;
86
+ [key: string]: string | number | undefined;
87
+ }
88
+ async function runApi(
89
+ params: Params,
90
+ page: EnhancedPlaywrightPage,
91
+ context: EnhancedPlaywrightBrowserContext,
92
+ executionHelpers: ExecutionHelpers
93
+ ) {
94
+ await page.goto("https://www.wikipedia.org/");
95
+ await page.getByLabel("Search Wikipedia").click();
96
+ await page.getByLabel("Search Wikipedia").type(params.name);
97
+ await page.getByLabel("Search Wikipedia").press("Enter");
98
+ return { done: "true", name: "custom name from api1" };
99
+ }
100
+ export default runApi;
101
+ `);
102
+ const result = await (0, _getFirstLineNumber.default)(filePath);
103
+ (0, _vitest.expect)(result.lineNumber).toBe(4);
104
+ });
105
+ (0, _vitest.it)("correctly identifies first line in a file with multiple exports including a default function", async () => {
106
+ const filePath = createTestFile("multipleExports.ts", `import {
107
+ EnhancedPlaywrightPage,
108
+ EnhancedPlaywrightBrowserContext,
109
+ ExecutionHelpers,
110
+ } from "@intuned/runner";
111
+ interface Params {
112
+ name: string;
113
+ [key: string]: string | number | undefined;
114
+ }
115
+ export const foo = () => {};
116
+ async function runApi(
117
+ params: Params,
118
+ page: EnhancedPlaywrightPage,
119
+ context: EnhancedPlaywrightBrowserContext,
120
+ executionHelpers: ExecutionHelpers
121
+ ) {
122
+ await page.goto("https://www.wikipedia.org/");
123
+ await page.getByLabel("Search Wikipedia").click();
124
+ await page.getByLabel("Search Wikipedia").type(params.name);
125
+ await page.getByLabel("Search Wikipedia").press("Enter");
126
+ return { done: "true", name: "custom name from api1" };
127
+ }
128
+ export default runApi;`);
129
+ const result = await (0, _getFirstLineNumber.default)(filePath);
130
+ (0, _vitest.expect)(result.lineNumber).toBe(7);
131
+ });
132
+ (0, _vitest.it)("correctly identifies first line in a default exported arrow function identifier", async () => {
133
+ const filePath = createTestFile("multipleExports.ts", `import {
134
+ EnhancedPlaywrightPage,
135
+ EnhancedPlaywrightBrowserContext,
136
+ ExecutionHelpers,
137
+ } from "@intuned/runner";
138
+ interface Params {
139
+ name: string;
140
+ [key: string]: string | number | undefined;
141
+ }
142
+ const runApi = async (
143
+ params: Params,
144
+ page: EnhancedPlaywrightPage,
145
+ context: EnhancedPlaywrightBrowserContext,
146
+ executionHelpers: ExecutionHelpers
147
+ ) => {
148
+ await page.goto("https://www.wikipedia.org/");
149
+ await page.getByLabel("Search Wikipedia").click();
150
+ await page.getByLabel("Search Wikipedia").type(params.name);
151
+ await page.getByLabel("Search Wikipedia").press("Enter");
152
+ return { done: "true", name: "custom name from api1" };
153
+ }
154
+ export default runApi;`);
155
+ const result = await (0, _getFirstLineNumber.default)(filePath);
156
+ (0, _vitest.expect)(result.lineNumber).toBe(4);
157
+ });
158
+ (0, _vitest.it)("correctly identifies first line in a default exported anonymous arrow function", async () => {
159
+ const filePath = createTestFile("multipleExports.ts", `import {
160
+ EnhancedPlaywrightPage,
161
+ EnhancedPlaywrightBrowserContext,
162
+ ExecutionHelpers,
163
+ } from "@intuned/runner";
164
+ interface Params {
165
+ name: string;
166
+ [key: string]: string | number | undefined;
167
+ }
168
+ export default async (
169
+ params: Params,
170
+ page: EnhancedPlaywrightPage,
171
+ context: EnhancedPlaywrightBrowserContext,
172
+ executionHelpers: ExecutionHelpers
173
+ ) => {
174
+ await page.goto("https://www.wikipedia.org/");
175
+ await page.getByLabel("Search Wikipedia").click();
176
+ await page.getByLabel("Search Wikipedia").type(params.name);
177
+ await page.getByLabel("Search Wikipedia").press("Enter");
178
+ return { done: "true", name: "custom name from api1" };
179
+ };`);
180
+ const result = await (0, _getFirstLineNumber.default)(filePath);
181
+ (0, _vitest.expect)(result.lineNumber).toBe(4);
182
+ });
183
+ (0, _vitest.it)("identifies first executable line in a default exported arrow function", async () => {
184
+ const filePath = createTestFile("defaultArrowFunction.ts", `export default () => {
185
+ console.log("Hello, Arrow World!");
186
+ };`);
187
+ const result = await (0, _getFirstLineNumber.default)(filePath);
188
+ (0, _vitest.expect)(result.lineNumber).toBe(4);
189
+ });
190
+ (0, _vitest.it)("identifies first executable line within nested functions of a default export", async () => {
191
+ const filePath = createTestFile("nestedFunctions.ts", `const x = 4;
192
+ export default function() {
193
+ const nested = (x) => console.log("Nested function call");
194
+ nested(x);
195
+ }`);
196
+ const result = await (0, _getFirstLineNumber.default)(filePath);
197
+ (0, _vitest.expect)(result.lineNumber).toBe(5);
198
+ });
199
+ (0, _vitest.it)("handles async default exported function correctly", async () => {
200
+ const filePath = createTestFile("asyncDefaultFunction.ts", `export default async function() {
201
+ await Promise.resolve(console.log("Async Hello, World!"));
202
+ }`);
203
+ const result = await (0, _getFirstLineNumber.default)(filePath);
204
+ (0, _vitest.expect)(result.lineNumber).toBe(4);
205
+ });
206
+ (0, _vitest.it)("returns -1 for a default exported class", async () => {
207
+ const filePath = createTestFile("defaultClass.ts", `export default class MyClass {
208
+ constructor() {}
209
+ }`);
210
+ const result = await (0, _getFirstLineNumber.default)(filePath);
211
+ (0, _vitest.expect)(result.lineNumber).toBe(-1);
212
+ });
213
+ (0, _vitest.it)("returns -1 for a default exported variable", async () => {
214
+ const filePath = createTestFile("defaultVariable.ts", `export default 42;`);
215
+ const result = await (0, _getFirstLineNumber.default)(filePath);
216
+ (0, _vitest.expect)(result.lineNumber).toBe(-1);
217
+ });
218
+ (0, _vitest.it)("returns -1 when there is no default export", async () => {
219
+ const filePath = createTestFile("noDefaultExport.ts", `export const foo = () => console.log("bar");`);
220
+ const result = await (0, _getFirstLineNumber.default)(filePath);
221
+ (0, _vitest.expect)(result.lineNumber).toBe(-1);
222
+ });
223
+ (0, _vitest.it)("returns -1 for an empty file", async () => {
224
+ const filePath = createTestFile("emptyFile.ts", ``);
225
+ const result = await (0, _getFirstLineNumber.default)(filePath);
226
+ (0, _vitest.expect)(result.lineNumber).toBe(-1);
227
+ });
228
+ });
@@ -0,0 +1,2 @@
1
+ declare const exclusions: string[];
2
+ export default exclusions;
@@ -0,0 +1,8 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.default = void 0;
7
+ const exclusions = ["node_modules/**", ".vscode/**", ".idea/**", ".git/**", "dist/**", "build/**", "coverage/**", ".next/**", ".cache/**", "out/**", "tmp/**", ".DS_Store", "npm-debug.log*", "yarn-debug.log*", "yarn-error.log*", ".env", ".env.*", "**/*.map", "**/*.tsbuildinfo", "tsconfig.json", "output/**", "auth-sessions-instances/**", "README.md", "traces/**"];
8
+ var _default = exports.default = exclusions;
@@ -0,0 +1 @@
1
+ export declare const sendBreakPointOnToClient: (sourceFileName: string, lineNumber: number) => void;
@@ -0,0 +1,10 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.sendBreakPointOnToClient = void 0;
7
+ const sendBreakPointOnToClient = (sourceFileName, lineNumber) => {
8
+ console.log(`breakpoint on ${sourceFileName}:${lineNumber}`);
9
+ };
10
+ exports.sendBreakPointOnToClient = sendBreakPointOnToClient;
@@ -1,5 +1,2 @@
1
- import { ExtendedRunApiParameters } from '@intuned/runtime-interface';
2
-
3
- declare const tsNodeImport: ExtendedRunApiParameters["importFunction"];
4
-
5
- export { tsNodeImport };
1
+ import { ExtendedRunApiParameters } from "@intuned/runtime-interface";
2
+ export declare const tsNodeImport: ExtendedRunApiParameters["importFunction"];
@@ -1,82 +1,43 @@
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 __export = (target, all) => {
8
- for (var name in all)
9
- __defProp(target, name, { get: all[name], enumerable: true });
10
- };
11
- var __copyProps = (to, from, except, desc) => {
12
- if (from && typeof from === "object" || typeof from === "function") {
13
- for (let key of __getOwnPropNames(from))
14
- if (!__hasOwnProp.call(to, key) && key !== except)
15
- __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
16
- }
17
- return to;
18
- };
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);
1
+ "use strict";
28
2
 
29
- // src/commands/common/tsNodeImport.ts
30
- var tsNodeImport_exports = {};
31
- __export(tsNodeImport_exports, {
32
- tsNodeImport: () => tsNodeImport
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
33
5
  });
34
- module.exports = __toCommonJS(tsNodeImport_exports);
35
- var import_neverthrow = require("neverthrow");
36
-
37
- // src/commands/common/utils/fileUtils.ts
38
- var path = __toESM(require("path"));
39
- var fs = __toESM(require("fs-extra"));
40
- var import_dotenv = __toESM(require("dotenv"));
41
- import_dotenv.default.config();
42
- function getFullPathInProject(...paths) {
43
- return path.resolve(process.cwd(), process.env.ROOT || "./", ...paths);
44
- }
45
-
46
- // src/commands/common/tsNodeImport.ts
47
- var tsNodeImport = async (apiName) => {
6
+ exports.tsNodeImport = void 0;
7
+ var _neverthrow = require("neverthrow");
8
+ var _fileUtils = require("./utils/fileUtils");
9
+ function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }
10
+ function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
11
+ const tsNodeImport = async apiName => {
48
12
  require("ts-node").register({
49
13
  transpileOnly: true,
50
14
  compilerOptions: {
51
15
  lib: ["dom", "es2020"]
52
16
  }
53
17
  });
54
- const path2 = getFullPathInProject(...apiName.split("/"));
18
+ const path = (0, _fileUtils.getFullPathInProject)(...apiName.split("/"));
55
19
  try {
56
- const imported = await Promise.resolve().then(() => require(path2));
57
- return (0, import_neverthrow.ok)(imported);
20
+ const imported = await (specifier => new Promise(r => r(`${specifier}`)).then(s => _interopRequireWildcard(require(s))))(path);
21
+ return (0, _neverthrow.ok)(imported);
58
22
  } catch (e) {
59
23
  if ("code" in e && e.code.includes("MODULE_NOT_FOUND")) {
60
24
  if ("requireStack" in e && Array.isArray(e.requireStack)) {
61
25
  const isStackTopThisFile = e.requireStack[0] === __filename;
62
26
  if (!isStackTopThisFile) {
63
- return (0, import_neverthrow.err)({
27
+ return (0, _neverthrow.err)({
64
28
  type: "other",
65
29
  error: e
66
30
  });
67
31
  }
68
32
  }
69
- return (0, import_neverthrow.err)({
33
+ return (0, _neverthrow.err)({
70
34
  type: "not_found"
71
35
  });
72
36
  }
73
- return (0, import_neverthrow.err)({
37
+ return (0, _neverthrow.err)({
74
38
  type: "other",
75
39
  error: e
76
40
  });
77
41
  }
78
42
  };
79
- // Annotate the CommonJS export names for ESM import in node:
80
- 0 && (module.exports = {
81
- tsNodeImport
82
- });
43
+ exports.tsNodeImport = tsNodeImport;
@@ -0,0 +1,6 @@
1
+ export declare function getFullPathInProject(...paths: string[]): string;
2
+ export declare function listProjectFilesAndFolders(): Promise<{
3
+ type: "Folder" | "File";
4
+ fullPath: string;
5
+ name: string;
6
+ }[]>;
@@ -0,0 +1,33 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.getFullPathInProject = getFullPathInProject;
7
+ exports.listProjectFilesAndFolders = listProjectFilesAndFolders;
8
+ var path = _interopRequireWildcard(require("path"));
9
+ var fs = _interopRequireWildcard(require("fs-extra"));
10
+ var _dotenv = _interopRequireDefault(require("dotenv"));
11
+ function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
12
+ function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }
13
+ function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
14
+ _dotenv.default.config();
15
+ function getFullPathInProject(...paths) {
16
+ return path.resolve(process.cwd(), process.env.ROOT || "./", ...paths);
17
+ }
18
+ async function listProjectFilesAndFolders() {
19
+ const projectPath = path.resolve(process.cwd(), process.env.ROOT || "./");
20
+ try {
21
+ const files = await fs.readdir(projectPath, {
22
+ withFileTypes: true
23
+ });
24
+ return files.map(file => ({
25
+ type: file.isDirectory() ? "Folder" : "File",
26
+ fullPath: path.join(projectPath, file.name),
27
+ name: file.name
28
+ }));
29
+ } catch (err) {
30
+ console.error("Error reading the directory:", err);
31
+ throw err;
32
+ }
33
+ }
@@ -0,0 +1,31 @@
1
+ /// <reference types="node" />
2
+ import * as net from "net";
3
+ export interface InterfaceClient {
4
+ sendJSON(data: any): void;
5
+ receiveJSON(): AsyncGenerator<any, void, unknown>;
6
+ close(): void;
7
+ get closed(): boolean;
8
+ }
9
+ export declare class SocketClient implements InterfaceClient {
10
+ static readonly LENGTH_HEADER_LENGTH = 4;
11
+ protected readonly socket: net.Socket;
12
+ constructor(socket: net.Socket);
13
+ sendJSON(data: any): void;
14
+ receiveJSON(): AsyncGenerator<any, void, unknown>;
15
+ close(): Promise<void>;
16
+ get closed(): boolean;
17
+ }
18
+ export declare class UnixSocketClient extends SocketClient {
19
+ constructor(path: string);
20
+ }
21
+ export declare class TCPSocketClient extends SocketClient {
22
+ constructor(host: string, port: number);
23
+ }
24
+ export declare class JSONLFileClient implements InterfaceClient {
25
+ private readonly fileStream;
26
+ constructor(filePath: string);
27
+ sendJSON(data: any): void;
28
+ receiveJSON(): AsyncGenerator<any, void, unknown>;
29
+ close(): Promise<void>;
30
+ get closed(): boolean;
31
+ }
@@ -0,0 +1,99 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.UnixSocketClient = exports.TCPSocketClient = exports.SocketClient = exports.JSONLFileClient = void 0;
7
+ var net = _interopRequireWildcard(require("net"));
8
+ var fs = _interopRequireWildcard(require("fs-extra"));
9
+ var _readline = require("readline");
10
+ var _promises = require("timers/promises");
11
+ function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }
12
+ function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
13
+ class SocketClient {
14
+ static LENGTH_HEADER_LENGTH = 4;
15
+ constructor(socket) {
16
+ this.socket = socket;
17
+ }
18
+ sendJSON(data) {
19
+ const dataToSend = JSON.stringify(data);
20
+ const length = Buffer.byteLength(dataToSend);
21
+ const buffer = Buffer.alloc(SocketClient.LENGTH_HEADER_LENGTH + length);
22
+ buffer.writeUInt32BE(length, 0);
23
+ buffer.write(dataToSend, SocketClient.LENGTH_HEADER_LENGTH);
24
+ this.socket.write(buffer);
25
+ }
26
+ async *receiveJSON() {
27
+ let buffer = Buffer.alloc(0);
28
+ const endPromise = new Promise((resolve, reject) => {
29
+ this.socket.once("end", () => {
30
+ resolve();
31
+ });
32
+ this.socket.once("error", reject);
33
+ });
34
+ while (true) {
35
+ const chunk = await Promise.race([new Promise(resolve => this.socket.once("data", data => resolve(data))), endPromise]);
36
+ if (!(chunk instanceof Buffer)) {
37
+ break;
38
+ }
39
+ buffer = Buffer.concat([buffer, chunk]);
40
+ const length = buffer.readUInt32BE(0);
41
+ if (buffer.length < length + SocketClient.LENGTH_HEADER_LENGTH) {
42
+ continue;
43
+ }
44
+ const data = buffer.subarray(SocketClient.LENGTH_HEADER_LENGTH, length + SocketClient.LENGTH_HEADER_LENGTH);
45
+ buffer = buffer.subarray(length + SocketClient.LENGTH_HEADER_LENGTH);
46
+ yield JSON.parse(data.toString());
47
+ }
48
+ }
49
+ async close() {
50
+ this.socket.end();
51
+ await Promise.race([new Promise(resolve => this.socket.once("close", resolve)), new Promise(resolve => this.socket.once("error", resolve)), (0, _promises.setTimeout)(3000)]);
52
+ }
53
+ get closed() {
54
+ return this.socket.closed;
55
+ }
56
+ }
57
+ exports.SocketClient = SocketClient;
58
+ class UnixSocketClient extends SocketClient {
59
+ constructor(path) {
60
+ super(net.createConnection(path));
61
+ }
62
+ }
63
+ exports.UnixSocketClient = UnixSocketClient;
64
+ class TCPSocketClient extends SocketClient {
65
+ constructor(host, port) {
66
+ super(net.createConnection(port, host));
67
+ }
68
+ }
69
+ exports.TCPSocketClient = TCPSocketClient;
70
+ class JSONLFileClient {
71
+ constructor(filePath) {
72
+ this.fileStream = fs.createReadStream(filePath, {
73
+ encoding: "utf-8"
74
+ });
75
+ }
76
+ sendJSON(data) {
77
+ console.log("Sending message", data);
78
+ }
79
+ async *receiveJSON() {
80
+ const rl = (0, _readline.createInterface)({
81
+ input: this.fileStream,
82
+ crlfDelay: Infinity
83
+ });
84
+ for await (const line of rl) {
85
+ if (line.trim() === "") {
86
+ continue;
87
+ }
88
+ yield JSON.parse(line);
89
+ }
90
+ }
91
+ async close() {
92
+ this.fileStream.close();
93
+ await Promise.race([new Promise(resolve => this.fileStream.once("close", resolve)), new Promise(resolve => this.fileStream.once("error", resolve)), (0, _promises.setTimeout)(3000)]);
94
+ }
95
+ get closed() {
96
+ return this.fileStream.closed;
97
+ }
98
+ }
99
+ exports.JSONLFileClient = JSONLFileClient;
@@ -0,0 +1,2 @@
1
+ import { IntunedSettings } from "../../../common/settingsSchema";
2
+ export declare function getSettings(): Promise<IntunedSettings>;
@@ -0,0 +1,31 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.getSettings = getSettings;
7
+ var _fileUtils = require("./fileUtils");
8
+ var _settingsSchema = require("../../../common/settingsSchema");
9
+ var _promises = require("fs/promises");
10
+ async function getSettings() {
11
+ const settingsFilePath = (0, _fileUtils.getFullPathInProject)("Intuned.json");
12
+ const settings = await (0, _promises.readFile)(settingsFilePath, {
13
+ encoding: "utf-8"
14
+ });
15
+ if (settings) {
16
+ const parsed = _settingsSchema.settingsSchema.safeParse(JSON.parse(settings));
17
+ if (parsed.success) {
18
+ return parsed.data;
19
+ } else {
20
+ throw new Error(parsed.error.message);
21
+ }
22
+ }
23
+ return {
24
+ authSessions: {
25
+ enabled: false
26
+ },
27
+ stealthMode: {
28
+ enabled: false
29
+ }
30
+ };
31
+ }
@@ -0,0 +1,2 @@
1
+ export type TemplateName = "InterfaceTemplate";
2
+ export declare const moveTemplateFiles: (templateName: TemplateName) => Promise<void>;
@@ -0,0 +1,31 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.moveTemplateFiles = void 0;
7
+ var fs = _interopRequireWildcard(require("fs-extra"));
8
+ var path = _interopRequireWildcard(require("path"));
9
+ var _fileUtils = require("./fileUtils");
10
+ function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }
11
+ function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
12
+ const moveTemplateFiles = async templateName => {
13
+ await fs.remove("./intuned");
14
+ await fs.ensureDir("./intuned");
15
+ const currentFileLocation = path.resolve(__dirname, "..", "..", "..", "..", templateName);
16
+ await fs.copy(`${currentFileLocation}`, `./intuned/${templateName}`, {
17
+ filter: (src, _) => {
18
+ if (src.includes(".d.ts")) {
19
+ return false;
20
+ }
21
+ return true;
22
+ }
23
+ });
24
+ const filesAndFolders = await (0, _fileUtils.listProjectFilesAndFolders)();
25
+ const pathsIgnoreList = [(0, _fileUtils.getFullPathInProject)("intuned"), (0, _fileUtils.getFullPathInProject)("node_modules"), (0, _fileUtils.getFullPathInProject)("package.json"), (0, _fileUtils.getFullPathInProject)("yarn.lock"), (0, _fileUtils.getFullPathInProject)(".env")];
26
+ const filesToCopy = filesAndFolders.filter(file => !pathsIgnoreList.includes(file.fullPath));
27
+ for (const file of filesToCopy) {
28
+ await fs.copy(file.fullPath, `./intuned/${templateName}/${file.name}`);
29
+ }
30
+ };
31
+ exports.moveTemplateFiles = moveTemplateFiles;
@@ -1,2 +1 @@
1
-
2
- export { }
1
+ export {};