@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
@@ -1 +1,2 @@
1
1
  #!/usr/bin/env node
2
+ export {};
@@ -1,108 +1,17 @@
1
1
  #!/usr/bin/env node
2
- var __create = Object.create;
3
- var __defProp = Object.defineProperty;
4
- var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
5
- var __getOwnPropNames = Object.getOwnPropertyNames;
6
- var __getProtoOf = Object.getPrototypeOf;
7
- var __hasOwnProp = Object.prototype.hasOwnProperty;
8
- var __copyProps = (to, from, except, desc) => {
9
- if (from && typeof from === "object" || typeof from === "function") {
10
- for (let key of __getOwnPropNames(from))
11
- if (!__hasOwnProp.call(to, key) && key !== except)
12
- __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
13
- }
14
- return to;
15
- };
16
- var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
17
- // If the importer is in node compatibility mode or this is not an ESM
18
- // file that has been converted to a CommonJS file using a Babel-
19
- // compatible transform (i.e. "__esModule" has not been set), then set
20
- // "default" to the CommonJS "module.exports" for node compatibility.
21
- isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
22
- mod
23
- ));
2
+ "use strict";
24
3
 
25
- // src/commands/browser/save-state.ts
26
- var import_commander = require("commander");
27
-
28
- // src/commands/common/browserUtils.ts
29
- var fs2 = __toESM(require("fs-extra"));
30
-
31
- // src/commands/common/utils/fileUtils.ts
32
- var path = __toESM(require("path"));
33
- var fs = __toESM(require("fs-extra"));
34
- var import_dotenv = __toESM(require("dotenv"));
35
- import_dotenv.default.config();
36
- function getFullPathInProject(...paths) {
37
- return path.resolve(process.cwd(), process.env.ROOT || "./", ...paths);
38
- }
39
-
40
- // src/common/contextStorageStateHelpers.ts
41
- async function getStorageState(context) {
42
- const result = {
43
- cookies: [],
44
- origins: []
45
- };
46
- const storageState = await context.storageState();
47
- result.cookies = storageState.cookies;
48
- result.origins = storageState.origins;
49
- const sessionDataList = [];
50
- const pages = await context.pages();
51
- for (const page of pages) {
52
- if (page.isClosed()) continue;
53
- try {
54
- const sessionData = await page.evaluate(() => {
55
- const items = { ...window.sessionStorage };
56
- return {
57
- origin: window.location.origin,
58
- sessionStorage: Object.entries(items).map(([name, value]) => ({
59
- name,
60
- value
61
- }))
62
- };
63
- });
64
- sessionDataList.push(sessionData);
65
- } catch (error) {
66
- console.error("Error getting sessionStorage:", error);
67
- }
68
- }
69
- result["sessionStorage"] = sessionDataList;
70
- return result;
71
- }
72
-
73
- // src/commands/common/browserUtils.ts
74
- var playwright = __toESM(require("playwright"));
75
- var REMOTE_DEBUGGING_PORT = 9222;
76
- async function getBrowser() {
77
- let playwrightBrowser = null;
78
- try {
79
- playwrightBrowser = await playwright.chromium.connectOverCDP(
80
- `http://localhost:${REMOTE_DEBUGGING_PORT}`
81
- );
82
- } catch (e) {
83
- throw new Error("Browser is not running");
84
- }
85
- return playwrightBrowser;
86
- }
87
- async function saveSessionFromOpenedBrowser(path2) {
88
- const browser = await getBrowser();
89
- const context = await browser.contexts()[0];
90
- return saveSession(path2, context);
91
- }
92
- async function saveSession(path2, context) {
93
- const fullState = await getStorageState(context);
94
- const fullPath = getFullPathInProject(path2);
95
- fs2.ensureFileSync(fullPath);
96
- await fs2.writeJSON(fullPath, fullState);
97
- }
98
-
99
- // src/commands/browser/save-state.ts
100
- var import_dotenv2 = __toESM(require("dotenv"));
101
- import_dotenv2.default.config({
4
+ var _commander = require("commander");
5
+ var _browserUtils = require("../common/browserUtils");
6
+ var _dotenv = _interopRequireDefault(require("dotenv"));
7
+ function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
8
+ _dotenv.default.config({
102
9
  path: `.env`
103
10
  });
104
- import_commander.program.description("save browser state to file storage.json").option("-p, --path [file]", "path for file", "./localSessions/default.json").allowUnknownOption().action(async ({ path: path2 }) => {
105
- await saveSessionFromOpenedBrowser(path2);
11
+ _commander.program.description("save browser state to file storage.json").option("-p, --path [file]", "path for file", "./localSessions/default.json").allowUnknownOption().action(async ({
12
+ path
13
+ }) => {
14
+ await (0, _browserUtils.saveSessionFromOpenedBrowser)(path);
106
15
  process.exit(0);
107
16
  });
108
- import_commander.program.parse(process.argv);
17
+ _commander.program.parse(process.argv);
@@ -1 +1,2 @@
1
1
  #!/usr/bin/env node
2
+ export {};
@@ -1,67 +1,14 @@
1
1
  #!/usr/bin/env node
2
- var __create = Object.create;
3
- var __defProp = Object.defineProperty;
4
- var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
5
- var __getOwnPropNames = Object.getOwnPropertyNames;
6
- var __getProtoOf = Object.getPrototypeOf;
7
- var __hasOwnProp = Object.prototype.hasOwnProperty;
8
- var __copyProps = (to, from, except, desc) => {
9
- if (from && typeof from === "object" || typeof from === "function") {
10
- for (let key of __getOwnPropNames(from))
11
- if (!__hasOwnProp.call(to, key) && key !== except)
12
- __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
13
- }
14
- return to;
15
- };
16
- var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
17
- // If the importer is in node compatibility mode or this is not an ESM
18
- // file that has been converted to a CommonJS file using a Babel-
19
- // compatible transform (i.e. "__esModule" has not been set), then set
20
- // "default" to the CommonJS "module.exports" for node compatibility.
21
- isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
22
- mod
23
- ));
2
+ "use strict";
24
3
 
25
- // src/commands/browser/start-browser.ts
26
- var import_commander = require("commander");
27
-
28
- // src/commands/common/browserUtils.ts
29
- var import_child_process = require("child_process");
30
- var fs2 = __toESM(require("fs-extra"));
31
-
32
- // src/commands/common/utils/fileUtils.ts
33
- var fs = __toESM(require("fs-extra"));
34
- var import_dotenv = __toESM(require("dotenv"));
35
- import_dotenv.default.config();
36
-
37
- // src/commands/common/browserUtils.ts
38
- var playwright = __toESM(require("playwright"));
39
- var REMOTE_DEBUGGING_PORT = 9222;
40
- var getChromiumLaunchArgs = () => [
41
- "--no-sandbox",
42
- `--remote-debugging-port=${REMOTE_DEBUGGING_PORT}`,
43
- `--user-data-dir=/tmp/${Date.now()}`,
44
- "--new-window",
45
- "--start-maximized",
46
- "--disable-popup-blocking"
47
- ];
48
- async function startOrRestartBrowser() {
49
- const chromiumPath = playwright.chromium.executablePath();
50
- const chromeInstanceProcess = (0, import_child_process.spawn)(chromiumPath, getChromiumLaunchArgs());
51
- chromeInstanceProcess.stdout.on("data", (data) => {
52
- console.log(`Chrome stdout: ${data}`);
53
- });
54
- chromeInstanceProcess.stderr.on("data", (data) => {
55
- console.error(`Chrome stderr: ${data}`);
56
- });
57
- }
58
-
59
- // src/commands/browser/start-browser.ts
60
- var import_dotenv2 = __toESM(require("dotenv"));
61
- import_dotenv2.default.config({
4
+ var _commander = require("commander");
5
+ var _browserUtils = require("../common/browserUtils");
6
+ var _dotenv = _interopRequireDefault(require("dotenv"));
7
+ function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
8
+ _dotenv.default.config({
62
9
  path: `.env`
63
10
  });
64
- import_commander.program.description("start browser testing purposes").allowUnknownOption().action(async () => {
65
- await startOrRestartBrowser();
11
+ _commander.program.description("start browser testing purposes").allowUnknownOption().action(async () => {
12
+ await (0, _browserUtils.startOrRestartBrowser)();
66
13
  });
67
- import_commander.program.parse(process.argv);
14
+ _commander.program.parse(process.argv);
@@ -1,2 +1 @@
1
-
2
- export { }
1
+ export {};
@@ -1,196 +1,77 @@
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 __copyProps = (to, from, except, desc) => {
8
- if (from && typeof from === "object" || typeof from === "function") {
9
- for (let key of __getOwnPropNames(from))
10
- if (!__hasOwnProp.call(to, key) && key !== except)
11
- __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
12
- }
13
- return to;
14
- };
15
- var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
16
- // If the importer is in node compatibility mode or this is not an ESM
17
- // file that has been converted to a CommonJS file using a Babel-
18
- // compatible transform (i.e. "__esModule" has not been set), then set
19
- // "default" to the CommonJS "module.exports" for node compatibility.
20
- isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
21
- mod
22
- ));
23
-
24
- // src/commands/build.ts
25
- var import_commander = require("commander");
26
- var import_rollup = require("rollup");
27
- var import_plugin_typescript = __toESM(require("@rollup/plugin-typescript"));
28
- var import_plugin_commonjs = __toESM(require("@rollup/plugin-commonjs"));
29
- var import_plugin_node_resolve = require("@rollup/plugin-node-resolve");
30
- var import_plugin_dynamic_import_vars = __toESM(require("@rollup/plugin-dynamic-import-vars"));
31
- var import_plugin_json = __toESM(require("@rollup/plugin-json"));
32
- var fs3 = __toESM(require("fs-extra"));
33
- var path3 = __toESM(require("path"));
34
-
35
- // src/commands/common/utils/template.ts
36
- var fs2 = __toESM(require("fs-extra"));
37
- var path2 = __toESM(require("path"));
1
+ "use strict";
38
2
 
39
- // src/commands/common/utils/fileUtils.ts
40
- var path = __toESM(require("path"));
41
- var fs = __toESM(require("fs-extra"));
42
- var import_dotenv = __toESM(require("dotenv"));
43
- import_dotenv.default.config();
44
- function getFullPathInProject(...paths) {
45
- return path.resolve(process.cwd(), process.env.ROOT || "./", ...paths);
46
- }
47
- async function listProjectFilesAndFolders() {
48
- const projectPath = path.resolve(process.cwd(), process.env.ROOT || "./");
49
- try {
50
- const files = await fs.readdir(projectPath, { withFileTypes: true });
51
- return files.map((file) => ({
52
- type: file.isDirectory() ? "Folder" : "File",
53
- fullPath: path.join(projectPath, file.name),
54
- name: file.name
55
- }));
56
- } catch (err) {
57
- console.error("Error reading the directory:", err);
58
- throw err;
59
- }
60
- }
61
-
62
- // src/commands/common/utils/template.ts
63
- var moveTemplateFiles = async (templateName) => {
64
- await fs2.remove("./intuned");
65
- await fs2.ensureDir("./intuned");
66
- const currentFileLocation = path2.resolve(
67
- __dirname,
68
- "..",
69
- "..",
70
- "..",
71
- "..",
72
- templateName
73
- );
74
- await fs2.copy(`${currentFileLocation}`, `./intuned/${templateName}`, {
75
- filter: (src, _) => {
76
- if (src.includes(".d.ts")) {
77
- return false;
78
- }
79
- return true;
80
- }
81
- });
82
- const filesAndFolders = await listProjectFilesAndFolders();
83
- const pathsIgnoreList = [
84
- getFullPathInProject("intuned"),
85
- getFullPathInProject("node_modules"),
86
- getFullPathInProject("package.json"),
87
- getFullPathInProject("yarn.lock"),
88
- getFullPathInProject(".env")
89
- ];
90
- const filesToCopy = filesAndFolders.filter(
91
- (file) => !pathsIgnoreList.includes(file.fullPath)
92
- );
93
- for (const file of filesToCopy) {
94
- await fs2.copy(file.fullPath, `./intuned/${templateName}/${file.name}`);
95
- }
96
- };
97
-
98
- // src/commands/build.ts
99
- var import_dotenv2 = __toESM(require("dotenv"));
3
+ var _commander = require("commander");
4
+ var _rollup = require("rollup");
5
+ var _pluginTypescript = _interopRequireDefault(require("@rollup/plugin-typescript"));
6
+ var _pluginCommonjs = _interopRequireDefault(require("@rollup/plugin-commonjs"));
7
+ var _pluginNodeResolve = require("@rollup/plugin-node-resolve");
8
+ var _pluginDynamicImportVars = _interopRequireDefault(require("@rollup/plugin-dynamic-import-vars"));
9
+ var _pluginJson = _interopRequireDefault(require("@rollup/plugin-json"));
10
+ var fs = _interopRequireWildcard(require("fs-extra"));
11
+ var path = _interopRequireWildcard(require("path"));
12
+ var _template = require("./common/utils/template");
13
+ var _dotenv = _interopRequireDefault(require("dotenv"));
14
+ 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); }
15
+ 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; }
16
+ function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
100
17
  function isThirdPartyWarning(warning) {
101
18
  if (warning.id && /node_modules/.test(warning.id)) return true;
102
- if (warning.ids && warning.ids.every((id) => /node_modules/.test(id)))
103
- return true;
19
+ if (warning.ids && warning.ids.every(id => /node_modules/.test(id))) return true;
104
20
  return false;
105
21
  }
106
- import_dotenv2.default.config();
107
- import_commander.program.description("build the intuned server").option("-t, --template <type>", "template to use", "InterfaceTemplate").addArgument(
108
- new import_commander.Argument("<mode>", "mode of execution").choices(["vanilla", "playwright"]).default("playwright").argOptional()
109
- ).argument("[outfile]", "output bundle", "./output/bundle_v2.js").allowUnknownOption().action(
110
- async (mode, outfile, {
111
- template
112
- }) => {
113
- await moveTemplateFiles(template);
114
- const currentTemplateTsConfig = path3.resolve(
115
- path3.dirname(__filename),
116
- "..",
117
- "..",
118
- "template.tsconfig.json"
119
- );
120
- await fs3.copy(
121
- currentTemplateTsConfig,
122
- `./intuned/${template}/tsconfig.json`
123
- );
124
- await build(outfile, mode, template);
125
- }
126
- );
22
+ _dotenv.default.config();
23
+ _commander.program.description("build the intuned server").option("-t, --template <type>", "template to use", "InterfaceTemplate").addArgument(new _commander.Argument("<mode>", "mode of execution").choices(["vanilla", "playwright"]).default("playwright").argOptional()).argument("[outfile]", "output bundle", "./output/bundle_v2.js").allowUnknownOption().action(async (mode, outfile, {
24
+ template
25
+ }) => {
26
+ await (0, _template.moveTemplateFiles)(template);
27
+ const currentTemplateTsConfig = path.resolve(path.dirname(__filename), "..", "..", "template.tsconfig.json");
28
+ await fs.copy(currentTemplateTsConfig, `./intuned/${template}/tsconfig.json`);
29
+ await build(outfile, mode, template);
30
+ });
127
31
  async function build(outfile, mode, template) {
128
32
  let bundle = null;
129
33
  let buildFailed = false;
130
34
  try {
131
- bundle = await (0, import_rollup.rollup)({
35
+ bundle = await (0, _rollup.rollup)({
132
36
  input: `./intuned/${template}/index.${mode}.ts`,
133
37
  output: {
134
- globals: { crypto: "crypto" }
38
+ globals: {
39
+ crypto: "crypto"
40
+ }
135
41
  },
136
- plugins: [
137
- (0, import_plugin_json.default)(),
138
- (0, import_plugin_node_resolve.nodeResolve)({ exportConditions: ["node"], preferBuiltins: true }),
139
- (0, import_plugin_typescript.default)({
140
- tsconfig: `./intuned/${template}/tsconfig.json`
141
- }),
142
- (0, import_plugin_commonjs.default)({
143
- include: [
144
- "node_modules/**",
145
- `intuned/${template}/**`,
146
- "dist",
147
- "../typescript-runtime/**"
148
- ],
149
- extensions: [".js"],
150
- ignoreGlobal: false,
151
- sourceMap: false,
152
- dynamicRequireTargets: ["api/**/*.js", "auth-sessions/**/*.js"],
153
- requireReturnsDefault: "auto",
154
- transformMixedEsModules: true
155
- }),
156
- (0, import_plugin_dynamic_import_vars.default)({
157
- include: ["**/*.js", "**/*.ts"],
158
- exclude: ["**/*.d.ts", "**/*.js.map"]
159
- })
160
- ],
42
+ plugins: [(0, _pluginJson.default)(), (0, _pluginNodeResolve.nodeResolve)({
43
+ exportConditions: ["node"],
44
+ preferBuiltins: true
45
+ }), (0, _pluginTypescript.default)({
46
+ tsconfig: `./intuned/${template}/tsconfig.json`
47
+ }), (0, _pluginCommonjs.default)({
48
+ include: ["node_modules/**", `intuned/${template}/**`, "dist", "../typescript-runtime/**"],
49
+ extensions: [".js"],
50
+ ignoreGlobal: false,
51
+ sourceMap: false,
52
+ dynamicRequireTargets: ["api/**/*.js", "auth-sessions/**/*.js"],
53
+ requireReturnsDefault: "auto",
54
+ transformMixedEsModules: true
55
+ }), (0, _pluginDynamicImportVars.default)({
56
+ include: ["**/*.js", "**/*.ts"],
57
+ exclude: ["**/*.d.ts", "**/*.js.map"]
58
+ })],
161
59
  onwarn: (warning, warn) => {
162
60
  if (isThirdPartyWarning(warning)) return;
163
61
  warn(warning);
164
62
  },
165
- external: [
166
- "playwright",
167
- "playwright-core",
168
- "jsdom",
169
- "canvas",
170
- "pdfjs-dist",
171
- "pdf-to-png-converter",
172
- "crypto",
173
- "applicationinsights",
174
- "fingerprint-generator",
175
- "fingerprint-injector",
176
- "node-fetch"
177
- ]
63
+ external: ["playwright", "playwright-core", "jsdom", "canvas", "pdfjs-dist", "pdf-to-png-converter", "crypto", "applicationinsights", "fingerprint-generator", "fingerprint-injector", "node-fetch"]
178
64
  });
179
- console.log(`\u{1F4E6} Building ${outfile}`);
180
- const outfileFolder = path3.dirname(outfile);
181
- const assetsDir = path3.resolve(
182
- path3.dirname(__filename),
183
- "..",
184
- "common",
185
- "assets"
186
- );
187
- await fs3.copy(assetsDir, `${outfileFolder}/assets`);
65
+ console.log(`📦 Building ${outfile}`);
66
+ const outfileFolder = path.dirname(outfile);
67
+ const assetsDir = path.resolve(path.dirname(__filename), "..", "common", "assets");
68
+ await fs.copy(assetsDir, `${outfileFolder}/assets`);
188
69
  await bundle.write({
189
70
  format: "cjs",
190
71
  file: outfile,
191
72
  inlineDynamicImports: true
192
73
  });
193
- console.log(`\u2728 Build succeeded: ${outfile}`);
74
+ console.log(`✨ Build succeeded: ${outfile}`);
194
75
  } catch (error) {
195
76
  buildFailed = true;
196
77
  console.error("error", error);
@@ -200,4 +81,4 @@ async function build(outfile, mode, template) {
200
81
  process.exit(1);
201
82
  }
202
83
  }
203
- import_commander.program.parse(process.argv);
84
+ _commander.program.parse(process.argv);
@@ -0,0 +1,14 @@
1
+ import * as playwright from "playwright";
2
+ export declare const REMOTE_DEBUGGING_PORT = 9222;
3
+ export declare const getChromiumLaunchArgs: () => string[];
4
+ export declare function startOrRestartBrowser(): Promise<void>;
5
+ export interface SessionState {
6
+ cookies: any[];
7
+ storage: Record<string, {
8
+ localStorage: any;
9
+ sessionStorage: any;
10
+ }>;
11
+ }
12
+ export declare function saveSessionFromOpenedBrowser(path: string): Promise<void>;
13
+ export declare function loadState(path: string, context: playwright.BrowserContext): Promise<void>;
14
+ export declare function saveSession(path: string, context: playwright.BrowserContext): Promise<void>;
@@ -0,0 +1,58 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.getChromiumLaunchArgs = exports.REMOTE_DEBUGGING_PORT = void 0;
7
+ exports.loadState = loadState;
8
+ exports.saveSession = saveSession;
9
+ exports.saveSessionFromOpenedBrowser = saveSessionFromOpenedBrowser;
10
+ exports.startOrRestartBrowser = startOrRestartBrowser;
11
+ var _child_process = require("child_process");
12
+ var fs = _interopRequireWildcard(require("fs-extra"));
13
+ var _fileUtils = require("./utils/fileUtils");
14
+ var _contextStorageStateHelpers = require("../../common/contextStorageStateHelpers");
15
+ var playwright = _interopRequireWildcard(require("playwright"));
16
+ 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); }
17
+ 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; }
18
+ const REMOTE_DEBUGGING_PORT = exports.REMOTE_DEBUGGING_PORT = 9222;
19
+ const getChromiumLaunchArgs = () => ["--no-sandbox", `--remote-debugging-port=${REMOTE_DEBUGGING_PORT}`, `--user-data-dir=/tmp/${Date.now()}`, "--new-window", "--start-maximized", "--disable-popup-blocking"];
20
+ exports.getChromiumLaunchArgs = getChromiumLaunchArgs;
21
+ async function getBrowser() {
22
+ let playwrightBrowser = null;
23
+ try {
24
+ playwrightBrowser = await playwright.chromium.connectOverCDP(`http://localhost:${REMOTE_DEBUGGING_PORT}`);
25
+ } catch (e) {
26
+ throw new Error("Browser is not running");
27
+ }
28
+ return playwrightBrowser;
29
+ }
30
+ async function startOrRestartBrowser() {
31
+ const chromiumPath = playwright.chromium.executablePath();
32
+ const chromeInstanceProcess = (0, _child_process.spawn)(chromiumPath, getChromiumLaunchArgs());
33
+ chromeInstanceProcess.stdout.on("data", data => {
34
+ console.log(`Chrome stdout: ${data}`);
35
+ });
36
+ chromeInstanceProcess.stderr.on("data", data => {
37
+ console.error(`Chrome stderr: ${data}`);
38
+ });
39
+ }
40
+ async function saveSessionFromOpenedBrowser(path) {
41
+ const browser = await getBrowser();
42
+ const context = await browser.contexts()[0];
43
+ return saveSession(path, context);
44
+ }
45
+ async function loadState(path, context) {
46
+ const fullPath = (0, _fileUtils.getFullPathInProject)(path);
47
+ if (!(await fs.pathExists(fullPath))) {
48
+ throw new Error("session file does not exist");
49
+ }
50
+ const data = await fs.readJson(fullPath);
51
+ await context.addCookies(data.cookies);
52
+ }
53
+ async function saveSession(path, context) {
54
+ const fullState = await (0, _contextStorageStateHelpers.getStorageState)(context);
55
+ const fullPath = (0, _fileUtils.getFullPathInProject)(path);
56
+ fs.ensureFileSync(fullPath);
57
+ await fs.writeJSON(fullPath, fullState);
58
+ }
@@ -0,0 +1,9 @@
1
+ import { SourceFile } from "ts-morph";
2
+ export declare function findFirstExecutableLine(sourceFile: SourceFile): -1 | {
3
+ line: number;
4
+ column: number;
5
+ };
6
+ export default function getFirstLineNumber(apiFilePath: string): Promise<{
7
+ sourceFileName: string;
8
+ lineNumber: number;
9
+ }>;
@@ -0,0 +1,101 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.default = getFirstLineNumber;
7
+ exports.findFirstExecutableLine = findFirstExecutableLine;
8
+ var _tsMorph = require("ts-morph");
9
+ var _sourceMap = require("source-map");
10
+ function compileTypeScript(apiFilePath) {
11
+ const compilerOptions = {
12
+ lib: ["dom", "es2020"],
13
+ sourceMap: true,
14
+ inlineSourceMap: true,
15
+ inlineSources: true,
16
+ declaration: false,
17
+ noEmit: false,
18
+ module: _tsMorph.ModuleKind.CommonJS,
19
+ target: _tsMorph.ScriptTarget.ES2020
20
+ };
21
+ const project = new _tsMorph.Project({
22
+ compilerOptions
23
+ });
24
+ const sourceFile = project.addSourceFileAtPath(apiFilePath);
25
+ const outputJS = project.emitToMemory({
26
+ targetSourceFile: sourceFile
27
+ });
28
+ const outputJSText = outputJS.getFiles()[0].text;
29
+ return {
30
+ sourceFile,
31
+ outputJSText
32
+ };
33
+ }
34
+ function findFirstExecutableLine(sourceFile) {
35
+ let functionBody;
36
+ const defaultExportSymbol = sourceFile.getDefaultExportSymbol();
37
+ const defaultExportDeclaration = defaultExportSymbol?.getDeclarations()?.[0];
38
+ if (defaultExportDeclaration) {
39
+ if (defaultExportDeclaration.getKind() === _tsMorph.ts.SyntaxKind.FunctionDeclaration) {
40
+ functionBody = defaultExportDeclaration.getBody();
41
+ } else {
42
+ const exportAssignments = sourceFile.getExportAssignments();
43
+ for (const exportAssignment of exportAssignments) {
44
+ const expression = exportAssignment.getExpression();
45
+ if (!expression) continue;
46
+ if (expression.getKind() === _tsMorph.ts.SyntaxKind.Identifier || expression.getKind() === _tsMorph.ts.SyntaxKind.FunctionExpression || expression.getKind() === _tsMorph.ts.SyntaxKind.ArrowFunction) {
47
+ const identifier = expression.getText();
48
+ const possiblyExportedFunction = sourceFile.getFunction(identifier) || sourceFile.getVariableStatement(identifier)?.getDescendants().find(node => node.getKind() === _tsMorph.ts.SyntaxKind.FunctionExpression || node.getKind() === _tsMorph.ts.SyntaxKind.ArrowFunction);
49
+ if (possiblyExportedFunction) {
50
+ functionBody = possiblyExportedFunction.getBody();
51
+ break;
52
+ }
53
+ }
54
+ if (_tsMorph.Node.hasBody(expression) && (expression.getKind() === _tsMorph.ts.SyntaxKind.FunctionExpression || expression.getKind() === _tsMorph.ts.SyntaxKind.ArrowFunction)) {
55
+ functionBody = expression.getBody();
56
+ break;
57
+ }
58
+ }
59
+ }
60
+ }
61
+ if (!functionBody || !_tsMorph.Node.isStatemented(functionBody)) {
62
+ return -1;
63
+ }
64
+ if (functionBody.getStatements().length === 0) {
65
+ return -1;
66
+ }
67
+ const position = functionBody.getStatements()[0].getStart();
68
+ return sourceFile.getLineAndColumnAtPos(position);
69
+ }
70
+ async function getSourceMap(jsCode) {
71
+ const sourceMapBase64 = jsCode.substring(jsCode.lastIndexOf("//# sourceMappingURL=data:application/json;base64,") + "//# sourceMappingURL=data:application/json;base64,".length);
72
+ const sourceMapText = Buffer.from(sourceMapBase64, "base64").toString("utf-8");
73
+ const sourceMap = JSON.parse(sourceMapText);
74
+ return new _sourceMap.SourceMapConsumer(sourceMap);
75
+ }
76
+ async function mapFirstLineNumberBySourceMap(sourceFileName, jsCode, line, column) {
77
+ const sourceMap = await getSourceMap(jsCode);
78
+ const generatedLineNumber = sourceMap.generatedPositionFor({
79
+ source: sourceFileName,
80
+ line,
81
+ column
82
+ }).line;
83
+ if (!generatedLineNumber) return -1;
84
+ return generatedLineNumber;
85
+ }
86
+ async function getFirstLineNumber(apiFilePath) {
87
+ const sourceFileName = apiFilePath.split("/").pop() ?? apiFilePath;
88
+ const {
89
+ sourceFile,
90
+ outputJSText
91
+ } = compileTypeScript(apiFilePath);
92
+ const result = findFirstExecutableLine(sourceFile);
93
+ if (result === -1) return {
94
+ sourceFileName,
95
+ lineNumber: -1
96
+ };
97
+ return {
98
+ sourceFileName,
99
+ lineNumber: await mapFirstLineNumberBySourceMap(sourceFileName, outputJSText, result.line, result.column)
100
+ };
101
+ }