@intuned/runtime-dev 0.0.1 → 0.1.0-test.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 (163) hide show
  1. package/InterfaceTemplate/index.ts +1 -0
  2. package/Intuned.json +5 -0
  3. package/WebTemplate/api.ts +92 -90
  4. package/WebTemplate/controllers/authSessions/check.ts +23 -29
  5. package/WebTemplate/controllers/authSessions/create.ts +46 -71
  6. package/WebTemplate/controllers/authSessions/index.ts +4 -4
  7. package/WebTemplate/controllers/authSessions/killOperation.ts +1 -1
  8. package/WebTemplate/controllers/authSessions/resumeOperation.ts +28 -52
  9. package/WebTemplate/controllers/authSessions/store.ts +11 -6
  10. package/WebTemplate/controllers/runApi/helpers.ts +47 -146
  11. package/WebTemplate/index.playwright.ts +42 -32
  12. package/WebTemplate/index.vanilla.ts +2 -20
  13. package/WebTemplate/jobs.ts +2 -13
  14. package/WebTemplate/utils.ts +1 -85
  15. package/WebTemplate.zip +0 -0
  16. package/api/authed.ts +12 -0
  17. package/api/test.ts +3 -0
  18. package/api/test2.ts +25 -0
  19. package/auth-sessions/check.ts +9 -0
  20. package/auth-sessions/create.ts +32 -0
  21. package/authSessions +1 -0
  22. package/bin/intuned-api-run +2 -0
  23. package/bin/intuned-auth-session-check +2 -0
  24. package/bin/intuned-auth-session-create +2 -0
  25. package/bin/intuned-auth-session-load +2 -0
  26. package/bin/intuned-auth-session-refresh +2 -0
  27. package/bin/intuned-browser-save-state +2 -0
  28. package/bin/intuned-browser-start +2 -0
  29. package/bin/intuned-build +2 -0
  30. package/bin/intuned-ts-check +2 -0
  31. package/dist/commands/api/run.d.ts +6 -0
  32. package/dist/commands/api/run.js +113 -0
  33. package/dist/commands/auth-sessions/load.d.ts +2 -0
  34. package/dist/commands/auth-sessions/load.js +32 -0
  35. package/dist/commands/auth-sessions/run-check.d.ts +2 -0
  36. package/dist/commands/auth-sessions/run-check.js +56 -0
  37. package/dist/commands/auth-sessions/run-create.d.ts +2 -0
  38. package/dist/commands/auth-sessions/run-create.js +96 -0
  39. package/dist/commands/browser/save-state.d.ts +2 -0
  40. package/dist/commands/browser/save-state.js +17 -0
  41. package/dist/commands/browser/start-browser.d.ts +2 -0
  42. package/dist/commands/browser/start-browser.js +14 -0
  43. package/dist/commands/build.d.ts +2 -0
  44. package/dist/commands/build.js +83 -0
  45. package/dist/commands/common/browserUtils.d.ts +14 -0
  46. package/dist/commands/common/browserUtils.js +58 -0
  47. package/dist/commands/common/getDefaultExportFromFile.d.ts +1 -0
  48. package/dist/commands/common/getDefaultExportFromFile.js +19 -0
  49. package/dist/commands/common/getFirstLineNumber.d.ts +9 -0
  50. package/dist/commands/common/getFirstLineNumber.js +103 -0
  51. package/{src/commands/common/getFirstLineNumber.test.ts → dist/commands/common/getFirstLineNumber.test.js} +75 -121
  52. package/dist/commands/common/sendMessageToClient.d.ts +1 -0
  53. package/dist/commands/common/sendMessageToClient.js +10 -0
  54. package/dist/commands/common/utils/fileUtils.d.ts +6 -0
  55. package/dist/commands/common/utils/fileUtils.js +33 -0
  56. package/dist/commands/common/utils/settings.d.ts +2 -0
  57. package/dist/commands/common/utils/settings.js +28 -0
  58. package/dist/commands/common/utils/unixSocket.d.ts +9 -0
  59. package/dist/commands/common/utils/unixSocket.js +45 -0
  60. package/dist/commands/common/utils/webTemplate.d.ts +1 -0
  61. package/dist/commands/common/utils/webTemplate.js +31 -0
  62. package/dist/commands/interface/run.d.ts +2 -0
  63. package/dist/commands/interface/run.js +161 -0
  64. package/dist/commands/ts-check.d.ts +2 -0
  65. package/dist/commands/ts-check.js +54 -0
  66. package/dist/common/Logger/Logger/index.d.ts +12 -0
  67. package/dist/common/Logger/Logger/index.js +60 -0
  68. package/{src/common/Logger/Logger/types.ts → dist/common/Logger/Logger/types.d.ts} +4 -5
  69. package/dist/common/Logger/Logger/types.js +5 -0
  70. package/dist/common/Logger/index.d.ts +12 -0
  71. package/dist/common/Logger/index.js +60 -0
  72. package/{src/common/Logger/types.ts → dist/common/Logger/types.d.ts} +4 -5
  73. package/dist/common/Logger/types.js +5 -0
  74. package/dist/common/asyncLocalStorage/index.d.ts +16 -0
  75. package/dist/common/asyncLocalStorage/index.js +17 -0
  76. package/dist/common/cleanEnvironmentVariables.d.ts +1 -0
  77. package/dist/common/cleanEnvironmentVariables.js +16 -0
  78. package/dist/common/constants.d.ts +1 -0
  79. package/dist/common/constants.js +7 -0
  80. package/dist/common/contextStorageStateHelpers.d.ts +14 -0
  81. package/dist/common/contextStorageStateHelpers.js +50 -0
  82. package/dist/common/getPlaywrightConstructs.d.ts +30 -0
  83. package/dist/common/getPlaywrightConstructs.js +192 -0
  84. package/dist/common/jwtTokenManager.d.ts +16 -0
  85. package/dist/common/jwtTokenManager.js +81 -0
  86. package/dist/common/runApi/errors.d.ts +71 -0
  87. package/dist/common/runApi/errors.js +172 -0
  88. package/dist/common/runApi/index.d.ts +12 -0
  89. package/dist/common/runApi/index.js +288 -0
  90. package/dist/common/runApi/types.d.ts +486 -0
  91. package/dist/common/runApi/types.js +50 -0
  92. package/dist/common/settingsSchema.d.ts +19 -0
  93. package/dist/common/settingsSchema.js +17 -0
  94. package/dist/common/telemetry.d.ts +3 -0
  95. package/dist/common/telemetry.js +32 -0
  96. package/dist/index.d.ts +4 -0
  97. package/dist/index.js +69 -0
  98. package/dist/runtime/RunError.d.ts +5 -0
  99. package/dist/runtime/RunError.js +19 -0
  100. package/dist/runtime/downloadDirectory.d.ts +1 -0
  101. package/dist/runtime/downloadDirectory.js +19 -0
  102. package/dist/runtime/enums.d.js +5 -0
  103. package/dist/runtime/enums.js +18 -0
  104. package/dist/runtime/executionHelpers.test.js +53 -0
  105. package/dist/runtime/export.d.js +5 -0
  106. package/dist/runtime/extendPayload.d.ts +2 -0
  107. package/dist/runtime/extendPayload.js +21 -0
  108. package/dist/runtime/extendTimeout.d.ts +1 -0
  109. package/dist/runtime/extendTimeout.js +30 -0
  110. package/{src/runtime/index.ts → dist/runtime/index.d.ts} +2 -3
  111. package/dist/runtime/index.js +53 -0
  112. package/dist/runtime/requestMoreInfo.d.ts +18 -0
  113. package/dist/runtime/requestMoreInfo.js +25 -0
  114. package/dist/runtime/runInfo.d.ts +2 -0
  115. package/dist/runtime/runInfo.js +21 -0
  116. package/output.txt +39 -0
  117. package/package.json +9 -7
  118. package/testing +0 -0
  119. package/tsconfig.json +2 -1
  120. package/.vite/deps_temp_01af7156/package.json +0 -3
  121. package/.vscode/extensions.json +0 -3
  122. package/.vscode/launch.json +0 -102
  123. package/.vscode/settings.json +0 -12
  124. package/playwright.config.ts +0 -48
  125. package/src/commands/api/run.ts +0 -225
  126. package/src/commands/auth-sessions/load.ts +0 -42
  127. package/src/commands/auth-sessions/run-check.ts +0 -70
  128. package/src/commands/auth-sessions/run-create.ts +0 -124
  129. package/src/commands/browser/save-state.ts +0 -22
  130. package/src/commands/browser/start-browser.ts +0 -17
  131. package/src/commands/build.ts +0 -125
  132. package/src/commands/common/browserUtils.ts +0 -80
  133. package/src/commands/common/getDefaultExportFromFile.ts +0 -13
  134. package/src/commands/common/getFirstLineNumber.ts +0 -146
  135. package/src/commands/common/sendMessageToClient.ts +0 -8
  136. package/src/commands/common/utils/fileUtils.ts +0 -25
  137. package/src/commands/common/utils/settings.ts +0 -23
  138. package/src/commands/common/utils/webTemplate.ts +0 -46
  139. package/src/commands/testing/saveVisibleHtml.ts +0 -29
  140. package/src/commands/ts-check.ts +0 -88
  141. package/src/common/Logger/Logger/index.ts +0 -64
  142. package/src/common/Logger/index.ts +0 -64
  143. package/src/common/asyncLocalStorage/index.ts +0 -29
  144. package/src/common/cleanEnvironmentVariables.ts +0 -13
  145. package/src/common/constants.ts +0 -1
  146. package/src/common/contextStorageStateHelpers.ts +0 -71
  147. package/src/common/getPlaywrightConstructs.ts +0 -283
  148. package/src/common/jwtTokenManager.ts +0 -111
  149. package/src/common/settingsSchema.ts +0 -16
  150. package/src/common/telemetry.ts +0 -49
  151. package/src/index.ts +0 -14
  152. package/src/runtime/RunError.ts +0 -16
  153. package/src/runtime/downloadDirectory.ts +0 -14
  154. package/src/runtime/enums.ts +0 -11
  155. package/src/runtime/executionHelpers.test.ts +0 -70
  156. package/src/runtime/extendPayload.ts +0 -22
  157. package/src/runtime/extendTimeout.ts +0 -32
  158. package/src/runtime/requestMoreInfo.ts +0 -40
  159. package/src/runtime/runInfo.ts +0 -19
  160. package/vite.config.ts +0 -17
  161. /package/{src → dist}/common/assets/browser_scripts.js +0 -0
  162. /package/{src → dist}/runtime/enums.d.ts +0 -0
  163. /package/{src → dist}/runtime/export.d.ts +0 -0
@@ -1,33 +1,30 @@
1
- import { expect, describe, it, beforeAll, afterAll } from "vitest";
2
- import getFirstLineNumber from "./getFirstLineNumber";
3
- import * as fs from "fs";
4
- import * as path from "path";
5
-
6
- describe("getFirstLineNumber", () => {
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 && Object.prototype.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(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
10
+ (0, _vitest.describe)("getFirstLineNumber", () => {
7
11
  const testFilesDir = path.join(__dirname, "testFiles");
8
- const createTestFile = (fileName: string, content: string) => {
12
+ const createTestFile = (fileName, content) => {
9
13
  const filePath = path.join(testFilesDir, fileName);
10
14
  fs.writeFileSync(filePath, content);
11
15
  return filePath;
12
16
  };
13
-
14
- beforeAll(() => {
17
+ (0, _vitest.beforeAll)(() => {
15
18
  if (!fs.existsSync(testFilesDir)) {
16
19
  fs.mkdirSync(testFilesDir);
17
20
  }
18
21
  });
19
-
20
- afterAll(() => {
21
- fs.readdirSync(testFilesDir).forEach((file) =>
22
- fs.unlinkSync(path.join(testFilesDir, file))
23
- );
22
+ (0, _vitest.afterAll)(() => {
23
+ fs.readdirSync(testFilesDir).forEach(file => fs.unlinkSync(path.join(testFilesDir, file)));
24
24
  fs.rmdirSync(testFilesDir);
25
25
  });
26
-
27
- it("correctly identifies first line in a default exported named function", async () => {
28
- const filePath = createTestFile(
29
- "defaultFunction.ts",
30
- `import {
26
+ (0, _vitest.it)("correctly identifies first line in a default exported named function", async () => {
27
+ const filePath = createTestFile("defaultFunction.ts", `import {
31
28
  EnhancedPlaywrightPage,
32
29
  EnhancedPlaywrightBrowserContext,
33
30
  ExecutionHelpers,
@@ -48,16 +45,12 @@ describe("getFirstLineNumber", () => {
48
45
  await page.getByLabel("Search Wikipedia").press("Enter");
49
46
  return { done: "true", name: "custom name from api1" };
50
47
  }
51
- `
52
- );
53
- const result = await getFirstLineNumber(filePath);
54
- expect(result.lineNumber).toBe(4); // 4 is the index after it's compiled to commonjs
48
+ `);
49
+ const result = await (0, _getFirstLineNumber.default)(filePath);
50
+ (0, _vitest.expect)(result.lineNumber).toBe(4);
55
51
  });
56
-
57
- it("correctly identifies first line in a default exported anonymous function", async () => {
58
- const filePath = createTestFile(
59
- "defaultFunction.ts",
60
- `import {
52
+ (0, _vitest.it)("correctly identifies first line in a default exported anonymous function", async () => {
53
+ const filePath = createTestFile("defaultFunction.ts", `import {
61
54
  EnhancedPlaywrightPage,
62
55
  EnhancedPlaywrightBrowserContext,
63
56
  ExecutionHelpers,
@@ -78,16 +71,12 @@ describe("getFirstLineNumber", () => {
78
71
  await page.getByLabel("Search Wikipedia").press("Enter");
79
72
  return { done: "true", name: "custom name from api1" };
80
73
  }
81
- `
82
- );
83
- const result = await getFirstLineNumber(filePath);
84
- expect(result.lineNumber).toBe(4);
74
+ `);
75
+ const result = await (0, _getFirstLineNumber.default)(filePath);
76
+ (0, _vitest.expect)(result.lineNumber).toBe(4);
85
77
  });
86
-
87
- it("correctly identifies first line in a default exported function identifier", async () => {
88
- const filePath = createTestFile(
89
- "defaultFunction.ts",
90
- `import {
78
+ (0, _vitest.it)("correctly identifies first line in a default exported function identifier", async () => {
79
+ const filePath = createTestFile("defaultFunction.ts", `import {
91
80
  EnhancedPlaywrightPage,
92
81
  EnhancedPlaywrightBrowserContext,
93
82
  ExecutionHelpers,
@@ -109,16 +98,12 @@ describe("getFirstLineNumber", () => {
109
98
  return { done: "true", name: "custom name from api1" };
110
99
  }
111
100
  export default runApi;
112
- `
113
- );
114
- const result = await getFirstLineNumber(filePath);
115
- expect(result.lineNumber).toBe(4);
101
+ `);
102
+ const result = await (0, _getFirstLineNumber.default)(filePath);
103
+ (0, _vitest.expect)(result.lineNumber).toBe(4);
116
104
  });
117
-
118
- it("correctly identifies first line in a file with multiple exports including a default function", async () => {
119
- const filePath = createTestFile(
120
- "multipleExports.ts",
121
- `import {
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 {
122
107
  EnhancedPlaywrightPage,
123
108
  EnhancedPlaywrightBrowserContext,
124
109
  ExecutionHelpers,
@@ -140,16 +125,12 @@ describe("getFirstLineNumber", () => {
140
125
  await page.getByLabel("Search Wikipedia").press("Enter");
141
126
  return { done: "true", name: "custom name from api1" };
142
127
  }
143
- export default runApi;`
144
- );
145
- const result = await getFirstLineNumber(filePath);
146
- expect(result.lineNumber).toBe(7);
128
+ export default runApi;`);
129
+ const result = await (0, _getFirstLineNumber.default)(filePath);
130
+ (0, _vitest.expect)(result.lineNumber).toBe(7);
147
131
  });
148
-
149
- it("correctly identifies first line in a default exported arrow function identifier", async () => {
150
- const filePath = createTestFile(
151
- "multipleExports.ts",
152
- `import {
132
+ (0, _vitest.it)("correctly identifies first line in a default exported arrow function identifier", async () => {
133
+ const filePath = createTestFile("multipleExports.ts", `import {
153
134
  EnhancedPlaywrightPage,
154
135
  EnhancedPlaywrightBrowserContext,
155
136
  ExecutionHelpers,
@@ -170,16 +151,12 @@ describe("getFirstLineNumber", () => {
170
151
  await page.getByLabel("Search Wikipedia").press("Enter");
171
152
  return { done: "true", name: "custom name from api1" };
172
153
  }
173
- export default runApi;`
174
- );
175
- const result = await getFirstLineNumber(filePath);
176
- expect(result.lineNumber).toBe(4);
154
+ export default runApi;`);
155
+ const result = await (0, _getFirstLineNumber.default)(filePath);
156
+ (0, _vitest.expect)(result.lineNumber).toBe(4);
177
157
  });
178
-
179
- it("correctly identifies first line in a default exported anonymous arrow function", async () => {
180
- const filePath = createTestFile(
181
- "multipleExports.ts",
182
- `import {
158
+ (0, _vitest.it)("correctly identifies first line in a default exported anonymous arrow function", async () => {
159
+ const filePath = createTestFile("multipleExports.ts", `import {
183
160
  EnhancedPlaywrightPage,
184
161
  EnhancedPlaywrightBrowserContext,
185
162
  ExecutionHelpers,
@@ -199,76 +176,53 @@ describe("getFirstLineNumber", () => {
199
176
  await page.getByLabel("Search Wikipedia").type(params.name);
200
177
  await page.getByLabel("Search Wikipedia").press("Enter");
201
178
  return { done: "true", name: "custom name from api1" };
202
- };`
203
- );
204
- const result = await getFirstLineNumber(filePath);
205
- expect(result.lineNumber).toBe(4);
179
+ };`);
180
+ const result = await (0, _getFirstLineNumber.default)(filePath);
181
+ (0, _vitest.expect)(result.lineNumber).toBe(4);
206
182
  });
207
-
208
- it("identifies first executable line in a default exported arrow function", async () => {
209
- const filePath = createTestFile(
210
- "defaultArrowFunction.ts",
211
- `export default () => {
183
+ (0, _vitest.it)("identifies first executable line in a default exported arrow function", async () => {
184
+ const filePath = createTestFile("defaultArrowFunction.ts", `export default () => {
212
185
  console.log("Hello, Arrow World!");
213
- };`
214
- );
215
- const result = await getFirstLineNumber(filePath);
216
- expect(result.lineNumber).toBe(4);
186
+ };`);
187
+ const result = await (0, _getFirstLineNumber.default)(filePath);
188
+ (0, _vitest.expect)(result.lineNumber).toBe(4);
217
189
  });
218
-
219
- it("identifies first executable line within nested functions of a default export", async () => {
220
- const filePath = createTestFile(
221
- "nestedFunctions.ts",
222
- `const x = 4;
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;
223
192
  export default function() {
224
193
  const nested = (x) => console.log("Nested function call");
225
194
  nested(x);
226
- }`
227
- );
228
- const result = await getFirstLineNumber(filePath);
229
- expect(result.lineNumber).toBe(5);
195
+ }`);
196
+ const result = await (0, _getFirstLineNumber.default)(filePath);
197
+ (0, _vitest.expect)(result.lineNumber).toBe(5);
230
198
  });
231
-
232
- it("handles async default exported function correctly", async () => {
233
- const filePath = createTestFile(
234
- "asyncDefaultFunction.ts",
235
- `export default async function() {
199
+ (0, _vitest.it)("handles async default exported function correctly", async () => {
200
+ const filePath = createTestFile("asyncDefaultFunction.ts", `export default async function() {
236
201
  await Promise.resolve(console.log("Async Hello, World!"));
237
- }`
238
- );
239
- const result = await getFirstLineNumber(filePath);
240
- expect(result.lineNumber).toBe(4);
202
+ }`);
203
+ const result = await (0, _getFirstLineNumber.default)(filePath);
204
+ (0, _vitest.expect)(result.lineNumber).toBe(4);
241
205
  });
242
-
243
- it("returns -1 for a default exported class", async () => {
244
- const filePath = createTestFile(
245
- "defaultClass.ts",
246
- `export default class MyClass {
206
+ (0, _vitest.it)("returns -1 for a default exported class", async () => {
207
+ const filePath = createTestFile("defaultClass.ts", `export default class MyClass {
247
208
  constructor() {}
248
- }`
249
- );
250
- const result = await getFirstLineNumber(filePath);
251
- expect(result.lineNumber).toBe(-1);
209
+ }`);
210
+ const result = await (0, _getFirstLineNumber.default)(filePath);
211
+ (0, _vitest.expect)(result.lineNumber).toBe(-1);
252
212
  });
253
-
254
- it("returns -1 for a default exported variable", async () => {
213
+ (0, _vitest.it)("returns -1 for a default exported variable", async () => {
255
214
  const filePath = createTestFile("defaultVariable.ts", `export default 42;`);
256
- const result = await getFirstLineNumber(filePath);
257
- expect(result.lineNumber).toBe(-1);
215
+ const result = await (0, _getFirstLineNumber.default)(filePath);
216
+ (0, _vitest.expect)(result.lineNumber).toBe(-1);
258
217
  });
259
-
260
- it("returns -1 when there is no default export", async () => {
261
- const filePath = createTestFile(
262
- "noDefaultExport.ts",
263
- `export const foo = () => console.log("bar");`
264
- );
265
- const result = await getFirstLineNumber(filePath);
266
- expect(result.lineNumber).toBe(-1);
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);
267
222
  });
268
-
269
- it("returns -1 for an empty file", async () => {
223
+ (0, _vitest.it)("returns -1 for an empty file", async () => {
270
224
  const filePath = createTestFile("emptyFile.ts", ``);
271
- const result = await getFirstLineNumber(filePath);
272
- expect(result.lineNumber).toBe(-1);
225
+ const result = await (0, _getFirstLineNumber.default)(filePath);
226
+ (0, _vitest.expect)(result.lineNumber).toBe(-1);
273
227
  });
274
- });
228
+ });
@@ -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;
@@ -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(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
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 && Object.prototype.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,2 @@
1
+ import { IntunedSettings } from "../../../common/settingsSchema";
2
+ export declare function getSettings(): Promise<IntunedSettings>;
@@ -0,0 +1,28 @@
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 _fsExtra = require("fs-extra");
10
+ async function getSettings() {
11
+ const settingsFilePath = (0, _fileUtils.getFullPathInProject)("Intuned.json");
12
+ console.log("loading settings");
13
+ const settings = await (0, _fsExtra.readJSON)(settingsFilePath);
14
+ if (settings) {
15
+ const parsed = _settingsSchema.settingsSchema.safeParse(settings);
16
+ console.log(parsed);
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
+ };
28
+ }
@@ -0,0 +1,9 @@
1
+ /// <reference types="node" />
2
+ import * as net from "net";
3
+ export declare class JSONUnixSocket {
4
+ private readonly socket;
5
+ static readonly LENGTH_HEADER_LENGTH = 4;
6
+ constructor(socket: net.Socket);
7
+ sendJSON(data: any): void;
8
+ receiveJSON(): AsyncGenerator<any, void, unknown>;
9
+ }
@@ -0,0 +1,45 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.JSONUnixSocket = void 0;
7
+ class JSONUnixSocket {
8
+ static LENGTH_HEADER_LENGTH = 4;
9
+ constructor(socket) {
10
+ this.socket = socket;
11
+ }
12
+ sendJSON(data) {
13
+ const dataToSend = JSON.stringify(data);
14
+ const length = Buffer.byteLength(dataToSend);
15
+ const buffer = Buffer.alloc(JSONUnixSocket.LENGTH_HEADER_LENGTH + length);
16
+ buffer.writeUInt32BE(length, 0);
17
+ buffer.write(dataToSend, JSONUnixSocket.LENGTH_HEADER_LENGTH);
18
+ this.socket.write(buffer);
19
+ }
20
+ async *receiveJSON() {
21
+ let buffer = Buffer.alloc(0);
22
+ const endPromise = new Promise((resolve, reject) => {
23
+ this.socket.once("end", () => {
24
+ console.log("end");
25
+ resolve();
26
+ });
27
+ this.socket.once("error", reject);
28
+ });
29
+ while (true) {
30
+ const chunk = await Promise.race([new Promise(resolve => this.socket.once("data", data => resolve(data))), endPromise]);
31
+ if (!(chunk instanceof Buffer)) {
32
+ break;
33
+ }
34
+ buffer = Buffer.concat([buffer, chunk]);
35
+ const length = buffer.readUInt32BE(0);
36
+ if (buffer.length < length + JSONUnixSocket.LENGTH_HEADER_LENGTH) {
37
+ continue;
38
+ }
39
+ const data = buffer.subarray(JSONUnixSocket.LENGTH_HEADER_LENGTH, length + JSONUnixSocket.LENGTH_HEADER_LENGTH);
40
+ buffer = buffer.subarray(length + JSONUnixSocket.LENGTH_HEADER_LENGTH);
41
+ yield JSON.parse(data.toString());
42
+ }
43
+ }
44
+ }
45
+ exports.JSONUnixSocket = JSONUnixSocket;
@@ -0,0 +1 @@
1
+ export declare const moveWebTemplateFiles: () => Promise<void>;
@@ -0,0 +1,31 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.moveWebTemplateFiles = 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 && Object.prototype.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 moveWebTemplateFiles = async () => {
13
+ await fs.remove("./intuned");
14
+ await fs.ensureDir("./intuned");
15
+ const currentFileLocation = path.resolve(__dirname, "..", "..", "..", "..", "WebTemplate");
16
+ await fs.copy(`${currentFileLocation}`, "./intuned/WebTemplate", {
17
+ filter: (src, dest) => {
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/WebTemplate/${file.name}`);
29
+ }
30
+ };
31
+ exports.moveWebTemplateFiles = moveWebTemplateFiles;
@@ -0,0 +1,2 @@
1
+ #!/usr/bin/env node
2
+ export {};
@@ -0,0 +1,161 @@
1
+ #!/usr/bin/env node
2
+ "use strict";
3
+
4
+ var _commander = require("commander");
5
+ var _dotenv = _interopRequireDefault(require("dotenv"));
6
+ var _asyncLocalStorage = require("../../common/asyncLocalStorage");
7
+ var net = _interopRequireWildcard(require("net"));
8
+ var _zod = _interopRequireDefault(require("zod"));
9
+ var _runApi = require("../../common/runApi");
10
+ var _enums = require("src/runtime/enums");
11
+ var _unixSocket = require("../common/utils/unixSocket");
12
+ var _promises = require("timers/promises");
13
+ 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); }
14
+ 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 && Object.prototype.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; }
15
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
16
+ const startRunApiSchema = _zod.default.object({
17
+ type: _zod.default.literal("start"),
18
+ parameters: _runApi.runApiParametersSchema.extend({
19
+ retrieveSession: _zod.default.boolean(),
20
+ context: _zod.default.object({
21
+ jobId: _zod.default.string().optional(),
22
+ jobRunId: _zod.default.string().optional(),
23
+ runId: _zod.default.string().optional(),
24
+ queueId: _zod.default.string().optional()
25
+ }).optional()
26
+ })
27
+ });
28
+ const nextRunApiSchema = _zod.default.object({
29
+ type: _zod.default.literal("next"),
30
+ parameters: _zod.default.object({
31
+ value: _zod.default.string()
32
+ })
33
+ });
34
+ const abortRunApiSchema = _zod.default.object({
35
+ type: _zod.default.literal("abort"),
36
+ parameters: _zod.default.object({}).optional()
37
+ });
38
+ const inputSchema = _zod.default.union([startRunApiSchema, nextRunApiSchema, abortRunApiSchema]);
39
+ _dotenv.default.config({
40
+ path: `.env`
41
+ });
42
+ _commander.program.description("run user automation and communicate using unix socket").argument("<socket-path>", "path to unix socket").action(async socketPath => {
43
+ let context;
44
+ const throttleTime = 1_000;
45
+ let timeoutTimestamp = Date.now();
46
+ const client = net.createConnection(socketPath, () => {
47
+ console.log("connected to server!");
48
+ });
49
+ let generator = null;
50
+ const abortController = new AbortController();
51
+ client.on("end", () => {
52
+ console.log("Disconnected from socket");
53
+ });
54
+ client.on("error", err => {
55
+ var _generator;
56
+ console.error("Child connection error:", err);
57
+ void ((_generator = generator) === null || _generator === void 0 ? void 0 : _generator.throw(err).catch(() => undefined));
58
+ });
59
+ process.on("SIGINT", () => {
60
+ var _generator2;
61
+ console.log("Received SIGINT");
62
+ void ((_generator2 = generator) === null || _generator2 === void 0 ? void 0 : _generator2.throw(new Error("Interrupted")).catch(() => undefined));
63
+ client.end();
64
+ process.exit(1);
65
+ });
66
+ const jsonUnixSocket = new _unixSocket.JSONUnixSocket(client);
67
+ async function runGeneratorAndSendResult(next) {
68
+ if (!generator) return;
69
+ const result = await (0, _asyncLocalStorage.runWithContext)(context, () => generator.next(next));
70
+ if (result.done) {
71
+ const resultToSend = result.value.isOk() ? result.value.value : result.value.error.json;
72
+ const success = result.value.isOk();
73
+ jsonUnixSocket.sendJSON({
74
+ type: "done",
75
+ result: resultToSend,
76
+ success
77
+ });
78
+ return true;
79
+ } else {
80
+ jsonUnixSocket.sendJSON({
81
+ type: "yield",
82
+ result: result.value
83
+ });
84
+ return false;
85
+ }
86
+ }
87
+ for await (const data of jsonUnixSocket.receiveJSON()) {
88
+ const inputParseResult = inputSchema.safeParse(data);
89
+ if (!inputParseResult.success) {
90
+ console.error(inputParseResult.error.errors);
91
+ jsonUnixSocket.sendJSON({
92
+ type: "done",
93
+ result: {
94
+ error: "InvalidJSON",
95
+ message: "Invalid input",
96
+ details: {
97
+ errors: inputParseResult.error.errors
98
+ }
99
+ },
100
+ success: false
101
+ });
102
+ break;
103
+ }
104
+ const input = inputParseResult.data;
105
+ if (input.type === "abort") {
106
+ abortController.abort();
107
+ await (0, _promises.setTimeout)(10);
108
+ jsonUnixSocket.sendJSON({
109
+ type: "done",
110
+ result: null
111
+ });
112
+ break;
113
+ }
114
+ if (input.type === "start") {
115
+ const gen = (0, _runApi.runApiGenerator)({
116
+ ...input.parameters,
117
+ abortSignal: abortController.signal
118
+ });
119
+ generator = gen;
120
+ context = {
121
+ extendedPayloads: [],
122
+ runEnvironment: input.parameters.runOptions.environment === "deployed" ? _enums.RunEnvironment.DEPLOYED : _enums.RunEnvironment.IDE,
123
+ timeoutInfo: {
124
+ extendTimeoutCallback: async () => {
125
+ if (Date.now() - timeoutTimestamp < throttleTime) return;
126
+ timeoutTimestamp = Date.now();
127
+ jsonUnixSocket.sendJSON({
128
+ type: "extend"
129
+ });
130
+ }
131
+ },
132
+ ...(input.parameters.context ?? {}),
133
+ proxy: getProxyUrlFromRunOptions(input.parameters.runOptions)
134
+ };
135
+ if (await runGeneratorAndSendResult()) {
136
+ break;
137
+ }
138
+ continue;
139
+ }
140
+ if (input.type === "next") {
141
+ if (!generator) {
142
+ throw new Error("generator not started");
143
+ }
144
+ if (await runGeneratorAndSendResult(input.parameters.value)) {
145
+ break;
146
+ }
147
+ continue;
148
+ }
149
+ }
150
+ process.exit(0);
151
+ });
152
+ _commander.program.parse(process.argv);
153
+ function getProxyUrlFromRunOptions(runOptions) {
154
+ if ((runOptions === null || runOptions === void 0 ? void 0 : runOptions.environment) !== "deployed") return undefined;
155
+ const proxy = runOptions.proxy;
156
+ if (!proxy) return undefined;
157
+ const url = new URL(proxy.server);
158
+ url.username = proxy.username;
159
+ url.password = proxy.password;
160
+ return url.toString();
161
+ }
@@ -0,0 +1,2 @@
1
+ #!/usr/bin/env node
2
+ export {};