@intuned/runtime-dev 0.1.0-test.45 → 0.1.0-test.6

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 (46) hide show
  1. package/InterfaceTemplate/index.ts +1 -0
  2. package/Intuned.json +1 -1
  3. package/WebTemplate/api.ts +92 -90
  4. package/WebTemplate/controllers/async.ts +48 -52
  5. package/WebTemplate/controllers/authSessions/check.ts +5 -4
  6. package/WebTemplate/controllers/authSessions/create.ts +8 -6
  7. package/WebTemplate/controllers/authSessions/resumeOperation.ts +1 -1
  8. package/WebTemplate/controllers/runApi/helpers.ts +8 -13
  9. package/WebTemplate/index.playwright.ts +42 -32
  10. package/WebTemplate/jobs.ts +2 -13
  11. package/WebTemplate/utils.ts +1 -48
  12. package/api/test2.ts +5 -7
  13. package/auth-sessions/check.ts +1 -3
  14. package/auth-sessions/create.ts +10 -10
  15. package/bin/intuned-ts-check +1 -1
  16. package/dist/commands/api/run.js +5 -7
  17. package/dist/commands/auth-sessions/run-check.js +3 -9
  18. package/dist/commands/auth-sessions/run-create.js +6 -11
  19. package/dist/commands/build.js +12 -16
  20. package/dist/commands/common/getDefaultExportFromFile.d.ts +1 -0
  21. package/dist/commands/common/{tsNodeImport.js → getDefaultExportFromFile.js} +5 -6
  22. package/dist/commands/common/utils/settings.js +5 -5
  23. package/dist/commands/common/utils/webTemplate.d.ts +1 -0
  24. package/dist/commands/common/utils/{template.js → webTemplate.js} +7 -7
  25. package/dist/commands/interface/run.d.ts +2 -1
  26. package/dist/commands/interface/run.js +108 -132
  27. package/dist/commands/ts-check.js +7 -9
  28. package/dist/common/getPlaywrightConstructs.js +1 -5
  29. package/dist/common/runApi/errors.d.ts +3 -8
  30. package/dist/common/runApi/errors.js +3 -26
  31. package/dist/common/runApi/index.d.ts +1 -1
  32. package/dist/common/runApi/index.js +65 -37
  33. package/dist/common/runApi/types.d.ts +71 -287
  34. package/dist/common/runApi/types.js +5 -29
  35. package/dist/runtime/executionHelpers.test.js +6 -6
  36. package/package.json +3 -5
  37. package/testing +0 -0
  38. package/tsconfig.json +2 -1
  39. package/11_1.zip +0 -0
  40. package/2_1.zip +0 -0
  41. package/InterfaceTemplate/index.playwright.ts +0 -5
  42. package/InterfaceTemplate/utils.ts +0 -39
  43. package/dist/commands/common/tsNodeImport.d.ts +0 -1
  44. package/dist/commands/common/utils/template.d.ts +0 -2
  45. package/dist/common/formatZodError.d.ts +0 -2
  46. package/dist/common/formatZodError.js +0 -18
@@ -5,7 +5,5 @@ export default async function check(
5
5
  _context: BrowserContext
6
6
  ): Promise<boolean> {
7
7
  await page.goto("https://setcookie.net");
8
- const result = (await page.locator("ul li code").all()).length > 0;
9
- console.log("Check result", result);
10
- return result;
8
+ return (await page.locator("ul li code").all()).length > 0;
11
9
  }
@@ -15,16 +15,16 @@ export default async function* create(
15
15
  await page.locator("#value").fill("password");
16
16
  await page.locator("input[type=submit]").click();
17
17
 
18
- // console.log("Received", yield requestOTP("Enter useless otp"));
19
- // console.log(
20
- // "Received",
21
- // yield requestMultipleChoice("Choose the correct answer", [
22
- // "A",
23
- // "B",
24
- // "C",
25
- // "D",
26
- // ])
27
- // );
18
+ console.log("Received", yield requestOTP("Enter useless otp"));
19
+ console.log(
20
+ "Received",
21
+ yield requestMultipleChoice("Choose the correct answer", [
22
+ "A",
23
+ "B",
24
+ "C",
25
+ "D",
26
+ ])
27
+ );
28
28
 
29
29
  await page.goto("http://www.sharonminsuk.com/code/storage-test.html");
30
30
  await page.locator("#local").fill("intuned");
@@ -1,2 +1,2 @@
1
1
  #!/usr/bin/env node
2
- require("../dist/commands/ts-check.js");
2
+ require("../dist/commands/ts-check.js");
@@ -16,7 +16,6 @@ var _Logger = require("../../common/Logger");
16
16
  var _nanoid = require("nanoid");
17
17
  var _chalk = _interopRequireDefault(require("chalk"));
18
18
  var _runApi = require("../../common/runApi");
19
- var _tsNodeImport = require("../common/tsNodeImport");
20
19
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
21
20
  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); }
22
21
  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; }
@@ -40,7 +39,7 @@ async function executeCLI(apiName, mode, inputData, options) {
40
39
  const runApiResult = await (0, _runApi.runApi)({
41
40
  automationFunction: {
42
41
  name: `api/${apiName}`,
43
- params: inputData
42
+ params: inputData ?? {}
44
43
  },
45
44
  auth: authSessionPathToUse ? {
46
45
  session: {
@@ -50,18 +49,17 @@ async function executeCLI(apiName, mode, inputData, options) {
50
49
  runCheck: false
51
50
  } : undefined,
52
51
  runOptions: {
53
- environment: "cdp",
52
+ environment: "ide",
54
53
  cdpAddress: options.cdpAddress,
55
54
  mode
56
- },
57
- importFunction: _tsNodeImport.tsNodeImport
55
+ }
58
56
  });
59
57
  if (runApiResult.isErr()) {
60
58
  if (runApiResult.error instanceof _runApi.AutomationError) {
61
59
  throw runApiResult.error.error;
62
60
  }
63
- console.error(runApiResult.error);
64
- throw new Error("An error occurred while running the API");
61
+ console.error("An error occurred while running the API", runApiResult.error);
62
+ return;
65
63
  }
66
64
  const {
67
65
  result,
@@ -8,7 +8,6 @@ var _settings = require("../common/utils/settings");
8
8
  var _dotenv = _interopRequireDefault(require("dotenv"));
9
9
  var _constants = require("../../common/constants");
10
10
  var _runApi = require("../../common/runApi");
11
- var _tsNodeImport = require("../common/tsNodeImport");
12
11
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
13
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); }
14
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; }
@@ -32,7 +31,7 @@ _commander.program.description("run auth session check").option("--cdpAddress <c
32
31
  name: `${_constants.AUTH_SESSIONS_FOLDER_NAME}/check`
33
32
  },
34
33
  runOptions: {
35
- environment: "cdp",
34
+ environment: "ide",
36
35
  mode,
37
36
  cdpAddress
38
37
  },
@@ -42,15 +41,10 @@ _commander.program.description("run auth session check").option("--cdpAddress <c
42
41
  path: authSessionPath
43
42
  },
44
43
  runCheck: false
45
- },
46
- importFunction: _tsNodeImport.tsNodeImport
44
+ }
47
45
  });
48
46
  if (runApiResult.isErr()) {
49
- if (runApiResult.error instanceof _runApi.AutomationError) {
50
- throw runApiResult.error.error;
51
- }
52
- console.error(runApiResult.error);
53
- throw new Error("Error running auth session check");
47
+ throw new Error(runApiResult.error);
54
48
  }
55
49
  const result = runApiResult.value.result;
56
50
  console.log("check result", result);
@@ -12,7 +12,6 @@ var _runApi = require("../../common/runApi");
12
12
  var _asyncLocalStorage = require("../../common/asyncLocalStorage");
13
13
  var _nanoid = require("nanoid");
14
14
  var _enums = require("../../runtime/enums");
15
- var _tsNodeImport = require("../common/tsNodeImport");
16
15
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
17
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); }
18
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 && 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; }
@@ -44,16 +43,15 @@ _commander.program.description("run auth session create").option("--cdpAddress <
44
43
  async function runCreate() {
45
44
  const generator = (0, _runApi.runApiGenerator)({
46
45
  automationFunction: {
47
- name: `${_constants.AUTH_SESSIONS_FOLDER_NAME}/create`,
48
- params: inputData
46
+ name: "auth-sessions/create",
47
+ params: inputData ?? {}
49
48
  },
50
49
  runOptions: {
51
- environment: "cdp",
50
+ environment: "ide",
52
51
  mode,
53
52
  cdpAddress
54
53
  },
55
- retrieveSession: true,
56
- importFunction: _tsNodeImport.tsNodeImport
54
+ retrieveSession: true
57
55
  });
58
56
  let nextGeneratorParam = undefined;
59
57
  while (true) {
@@ -63,11 +61,8 @@ _commander.program.description("run auth session create").option("--cdpAddress <
63
61
  } = await generator.next(...(nextGeneratorParam ? [nextGeneratorParam] : []));
64
62
  if (done) {
65
63
  if (value.isErr()) {
66
- if (value.error instanceof _runApi.AutomationError) {
67
- throw value.error.error;
68
- }
69
- console.error(value.error);
70
- throw new Error("Error while running create");
64
+ console.log(value.error);
65
+ throw new Error(value.error);
71
66
  }
72
67
  const fullState = value.value.session;
73
68
  if (pathToSave) {
@@ -10,7 +10,7 @@ var _pluginDynamicImportVars = _interopRequireDefault(require("@rollup/plugin-dy
10
10
  var _pluginJson = _interopRequireDefault(require("@rollup/plugin-json"));
11
11
  var fs = _interopRequireWildcard(require("fs-extra"));
12
12
  var path = _interopRequireWildcard(require("path"));
13
- var _template = require("./common/utils/template");
13
+ var _webTemplate = require("./common/utils/webTemplate");
14
14
  var _dotenv = _interopRequireDefault(require("dotenv"));
15
15
  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); }
16
16
  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; }
@@ -21,20 +21,18 @@ function isThirdPartyWarning(warning) {
21
21
  return false;
22
22
  }
23
23
  _dotenv.default.config();
24
- _commander.program.description("build the intuned server").option("-t, --template <type>", "template to use", "WebTemplate").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, {
25
- template
26
- }) => {
27
- await (0, _template.moveTemplateFiles)(template);
28
- const currentTemplateTsConfig = path.resolve(path.dirname(__filename), "..", "..", "template.tsconfig.json");
29
- await fs.copy(currentTemplateTsConfig, `./intuned/${template}/tsconfig.json`);
30
- await build(outfile, mode, template);
24
+ _commander.program.description("build the intuned server").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) => {
25
+ await (0, _webTemplate.moveWebTemplateFiles)();
26
+ const currentTemplateTsConfig = path.resolve(__dirname, "..", "..", "template.tsconfig.json");
27
+ await fs.copy(currentTemplateTsConfig, "./intuned/WebTemplate/tsconfig.json");
28
+ await build(outfile, mode);
31
29
  });
32
- async function build(outfile, mode, template) {
30
+ async function build(outfile, mode) {
33
31
  let bundle = null;
34
32
  let buildFailed = false;
35
33
  try {
36
34
  bundle = await (0, _rollup.rollup)({
37
- input: `./intuned/${template}/index.${mode}.ts`,
35
+ input: `./intuned/WebTemplate/index.${mode}.ts`,
38
36
  output: {
39
37
  globals: {
40
38
  crypto: "crypto"
@@ -44,15 +42,13 @@ async function build(outfile, mode, template) {
44
42
  exportConditions: ["node"],
45
43
  preferBuiltins: true
46
44
  }), (0, _pluginTypescript.default)({
47
- tsconfig: `./intuned/${template}/tsconfig.json`
45
+ tsconfig: "./intuned/WebTemplate/tsconfig.json"
48
46
  }), (0, _pluginCommonjs.default)({
49
- include: ["node_modules/**", `intuned/${template}/**`, "dist", "../typescript-sdk/**", "../typescript-runtime/**"],
47
+ include: ["node_modules/**", "intuned/WebTemplate/**", "dist", "../typescript-sdk/**", "../typescript-runtime/**"],
50
48
  extensions: [".js"],
51
49
  ignoreGlobal: false,
52
50
  sourceMap: false,
53
- dynamicRequireTargets: ["api/**/*.js", "auth-sessions/**/*.js"],
54
- requireReturnsDefault: "auto",
55
- transformMixedEsModules: true
51
+ dynamicRequireTargets: ["node_modules/**"]
56
52
  }), (0, _pluginDynamicImportVars.default)({
57
53
  include: ["**/*.js", "**/*.ts"],
58
54
  exclude: ["**/*.d.ts", "**/*.js.map"]
@@ -65,7 +61,7 @@ async function build(outfile, mode, template) {
65
61
  });
66
62
  console.log(`📦 Building ${outfile}`);
67
63
  const outfileFolder = path.dirname(outfile);
68
- const assetsDir = path.resolve(path.dirname(__filename), "..", "common", "assets");
64
+ const assetsDir = path.resolve(__dirname, "..", "common", "assets");
69
65
  await fs.copy(assetsDir, `${outfileFolder}/assets`);
70
66
  await bundle.write({
71
67
  format: "cjs",
@@ -0,0 +1 @@
1
+ export declare function getDefaultExportFromFile(apiFilePath: string): Promise<any>;
@@ -3,18 +3,17 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
- exports.tsNodeImport = tsNodeImport;
7
- var _fileUtils = require("./utils/fileUtils");
6
+ exports.getDefaultExportFromFile = getDefaultExportFromFile;
8
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); }
9
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; }
10
- async function tsNodeImport(apiName) {
9
+ async function getDefaultExportFromFile(apiFilePath) {
11
10
  require("ts-node").register({
12
11
  transpileOnly: true,
13
12
  compilerOptions: {
14
13
  lib: ["dom", "es2020"]
15
14
  }
16
15
  });
17
- const path = (0, _fileUtils.getFullPathInProject)(...apiName.split("/"));
18
- const imported = await (specifier => new Promise(r => r(`${specifier}`)).then(s => _interopRequireWildcard(require(s))))(path);
19
- return imported;
16
+ const imported = await (specifier => new Promise(r => r(`${specifier}`)).then(s => _interopRequireWildcard(require(s))))(apiFilePath);
17
+ const defaultExport = imported.default;
18
+ return defaultExport;
20
19
  }
@@ -6,14 +6,14 @@ Object.defineProperty(exports, "__esModule", {
6
6
  exports.getSettings = getSettings;
7
7
  var _fileUtils = require("./fileUtils");
8
8
  var _settingsSchema = require("../../../common/settingsSchema");
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 && 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
+ var _fsExtra = require("fs-extra");
11
10
  async function getSettings() {
12
11
  const settingsFilePath = (0, _fileUtils.getFullPathInProject)("Intuned.json");
13
12
  console.log("loading settings");
14
- const settings = await (specifier => new Promise(r => r(`${specifier}`)).then(s => _interopRequireWildcard(require(s))))(settingsFilePath);
15
- if (settings.default) {
16
- const parsed = _settingsSchema.settingsSchema.safeParse(settings.default);
13
+ const settings = await (0, _fsExtra.readJSON)(settingsFilePath);
14
+ if (settings) {
15
+ const parsed = _settingsSchema.settingsSchema.safeParse(settings);
16
+ console.log(parsed);
17
17
  if (parsed.success) {
18
18
  return parsed.data;
19
19
  } else {
@@ -0,0 +1 @@
1
+ export declare const moveWebTemplateFiles: () => Promise<void>;
@@ -3,18 +3,18 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
- exports.moveTemplateFiles = void 0;
6
+ exports.moveWebTemplateFiles = void 0;
7
7
  var fs = _interopRequireWildcard(require("fs-extra"));
8
8
  var path = _interopRequireWildcard(require("path"));
9
9
  var _fileUtils = require("./fileUtils");
10
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
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 moveTemplateFiles = async templateName => {
12
+ const moveWebTemplateFiles = async () => {
13
13
  await fs.remove("./intuned");
14
14
  await fs.ensureDir("./intuned");
15
- const currentFileLocation = path.resolve(__dirname, "..", "..", "..", "..", templateName);
16
- await fs.copy(`${currentFileLocation}`, `./intuned/${templateName}`, {
17
- filter: (src, _) => {
15
+ const currentFileLocation = path.resolve(__dirname, "..", "..", "..", "..", "WebTemplate");
16
+ await fs.copy(`${currentFileLocation}`, "./intuned/WebTemplate", {
17
+ filter: (src, dest) => {
18
18
  if (src.includes(".d.ts")) {
19
19
  return false;
20
20
  }
@@ -25,7 +25,7 @@ const moveTemplateFiles = async templateName => {
25
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
26
  const filesToCopy = filesAndFolders.filter(file => !pathsIgnoreList.includes(file.fullPath));
27
27
  for (const file of filesToCopy) {
28
- await fs.copy(file.fullPath, `./intuned/${templateName}/${file.name}`);
28
+ await fs.copy(file.fullPath, `./intuned/WebTemplate/${file.name}`);
29
29
  }
30
30
  };
31
- exports.moveTemplateFiles = moveTemplateFiles;
31
+ exports.moveWebTemplateFiles = moveWebTemplateFiles;
@@ -1 +1,2 @@
1
- export declare function runAutomationCLI(importFunction?: (path: string) => Promise<any>): void;
1
+ #!/usr/bin/env node
2
+ export {};
@@ -1,20 +1,15 @@
1
+ #!/usr/bin/env node
1
2
  "use strict";
2
3
 
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports.runAutomationCLI = runAutomationCLI;
7
4
  var _commander = require("commander");
8
5
  var _dotenv = _interopRequireDefault(require("dotenv"));
9
6
  var _asyncLocalStorage = require("../../common/asyncLocalStorage");
10
7
  var net = _interopRequireWildcard(require("net"));
11
8
  var _zod = _interopRequireDefault(require("zod"));
12
9
  var _runApi = require("../../common/runApi");
13
- var _enums = require("../../runtime/enums");
10
+ var _enums = require("src/runtime/enums");
14
11
  var _unixSocket = require("../common/utils/unixSocket");
15
12
  var _promises = require("timers/promises");
16
- var _jwtTokenManager = require("../../common/jwtTokenManager");
17
- var _formatZodError = require("../../common/formatZodError");
18
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); }
19
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; }
20
15
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
@@ -22,7 +17,6 @@ const startRunApiSchema = _zod.default.object({
22
17
  type: _zod.default.literal("start"),
23
18
  parameters: _runApi.runApiParametersSchema.extend({
24
19
  retrieveSession: _zod.default.boolean(),
25
- functionsToken: _zod.default.string().optional(),
26
20
  context: _zod.default.object({
27
21
  jobId: _zod.default.string().optional(),
28
22
  jobRunId: _zod.default.string().optional(),
@@ -41,145 +35,127 @@ const abortRunApiSchema = _zod.default.object({
41
35
  type: _zod.default.literal("abort"),
42
36
  parameters: _zod.default.object({}).optional()
43
37
  });
44
- const tokenUpdateSchema = _zod.default.object({
45
- type: _zod.default.literal("tokenUpdate"),
46
- parameters: _zod.default.object({
47
- functionsToken: _zod.default.string()
48
- })
49
- });
50
- const inputSchema = _zod.default.union([startRunApiSchema, nextRunApiSchema, abortRunApiSchema, tokenUpdateSchema]);
38
+ const inputSchema = _zod.default.union([startRunApiSchema, nextRunApiSchema, abortRunApiSchema]);
51
39
  _dotenv.default.config({
52
40
  path: `.env`
53
41
  });
54
- function runAutomationCLI(importFunction) {
55
- _commander.program.description("run user automation and communicate using unix socket").argument("<socket-path>", "path to unix socket").action(async socketPath => {
56
- let context;
57
- const throttleTime = 60 * 1000;
58
- let timeoutTimestamp = Date.now();
59
- const client = net.createConnection(socketPath);
60
- let generator = null;
61
- const abortController = new AbortController();
62
- client.on("error", err => {
63
- var _generator2;
64
- void ((_generator2 = generator) === null || _generator2 === void 0 ? void 0 : _generator2.throw(err).catch(() => undefined));
65
- });
66
- process.on("SIGINT", () => {
67
- var _generator3;
68
- void ((_generator3 = generator) === null || _generator3 === void 0 ? void 0 : _generator3.throw(new Error("Interrupted")).catch(() => undefined));
69
- client.end();
70
- process.exit(1);
71
- });
72
- process.on("SIGTERM", () => {
73
- var _generator4;
74
- void ((_generator4 = generator) === null || _generator4 === void 0 ? void 0 : _generator4.throw(new Error("Interrupted")).catch(() => undefined));
75
- client.end();
76
- process.exit(1);
77
- });
78
- const jsonUnixSocket = new _unixSocket.JSONUnixSocket(client);
79
- async function runGeneratorAndSendResult(next) {
80
- const _generator = generator;
81
- if (_generator == null) return {
82
- done: true
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)
83
134
  };
84
- const result = await (0, _asyncLocalStorage.runWithContext)(context, () => _generator.next(next));
85
- if (result.done) {
86
- const resultToSend = result.value.isOk() ? result.value.value : result.value.error.json;
87
- const success = result.value.isOk();
88
- jsonUnixSocket.sendJSON({
89
- type: "done",
90
- result: resultToSend,
91
- success
92
- });
93
- } else {
94
- jsonUnixSocket.sendJSON({
95
- type: "yield",
96
- result: result.value
97
- });
135
+ if (await runGeneratorAndSendResult()) {
136
+ break;
98
137
  }
99
- return {
100
- done: result.done ?? false
101
- };
138
+ continue;
102
139
  }
103
- for await (const data of jsonUnixSocket.receiveJSON()) {
104
- const inputParseResult = inputSchema.safeParse(data);
105
- if (!inputParseResult.success) {
106
- console.error("Validation error:", (0, _formatZodError.formatZodError)(inputParseResult.error));
107
- jsonUnixSocket.sendJSON({
108
- type: "done",
109
- result: new _runApi.InternalInvalidInputError("Invalid input", (0, _formatZodError.formatZodError)(inputParseResult.error)).json,
110
- success: false
111
- });
112
- break;
140
+ if (input.type === "next") {
141
+ if (!generator) {
142
+ throw new Error("generator not started");
113
143
  }
114
- const input = inputParseResult.data;
115
- if (input.type === "abort") {
116
- abortController.abort();
117
- await (0, _promises.setTimeout)(10);
118
- jsonUnixSocket.sendJSON({
119
- type: "done",
120
- result: null
121
- });
144
+ if (await runGeneratorAndSendResult(input.parameters.value)) {
122
145
  break;
123
146
  }
124
- if (input.type === "start") {
125
- _jwtTokenManager.backendFunctionsTokenManager.token = input.parameters.functionsToken;
126
- generator = (0, _runApi.runApiGenerator)({
127
- ...input.parameters,
128
- abortSignal: abortController.signal,
129
- importFunction
130
- });
131
- context = {
132
- extendedPayloads: [],
133
- runEnvironment: input.parameters.runOptions.environment === "standalone" ? _enums.RunEnvironment.DEPLOYED : _enums.RunEnvironment.IDE,
134
- timeoutInfo: {
135
- extendTimeoutCallback: async () => {
136
- if (Date.now() - timeoutTimestamp < throttleTime) return;
137
- timeoutTimestamp = Date.now();
138
- jsonUnixSocket.sendJSON({
139
- type: "extend"
140
- });
141
- }
142
- },
143
- ...(input.parameters.context ?? {}),
144
- proxy: getProxyUrlFromRunOptions(input.parameters.runOptions)
145
- };
146
- const {
147
- done
148
- } = await runGeneratorAndSendResult();
149
- if (done) {
150
- break;
151
- }
152
- continue;
153
- }
154
- if (input.type === "next") {
155
- if (!generator) {
156
- throw new Error("generator not started");
157
- }
158
- const {
159
- done
160
- } = await runGeneratorAndSendResult(input.parameters.value);
161
- if (done) {
162
- break;
163
- }
164
- continue;
165
- }
166
- if (input.type === "tokenUpdate") {
167
- _jwtTokenManager.backendFunctionsTokenManager.token = input.parameters.functionsToken;
168
- }
147
+ continue;
169
148
  }
170
- process.exit(0);
171
- });
172
- _commander.program.parse(process.argv);
173
- }
149
+ }
150
+ process.exit(0);
151
+ });
152
+ _commander.program.parse(process.argv);
174
153
  function getProxyUrlFromRunOptions(runOptions) {
175
- if ((runOptions === null || runOptions === void 0 ? void 0 : runOptions.environment) !== "standalone") return undefined;
154
+ if ((runOptions === null || runOptions === void 0 ? void 0 : runOptions.environment) !== "deployed") return undefined;
176
155
  const proxy = runOptions.proxy;
177
156
  if (!proxy) return undefined;
178
157
  const url = new URL(proxy.server);
179
158
  url.username = proxy.username;
180
159
  url.password = proxy.password;
181
160
  return url.toString();
182
- }
183
- if (require.main === module) {
184
- runAutomationCLI();
185
161
  }
@@ -5,19 +5,17 @@ var ts = _interopRequireWildcard(require("typescript"));
5
5
  var _commander = require("commander");
6
6
  var fs = _interopRequireWildcard(require("fs-extra"));
7
7
  var path = _interopRequireWildcard(require("path"));
8
- var _template = require("./common/utils/template");
8
+ var _webTemplate = require("./common/utils/webTemplate");
9
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
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 && 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; }
11
- _commander.program.description("Check TypeScript types in the project").option("-t, --template <type>", "template to use", "WebTemplate").allowUnknownOption().action(async ({
12
- template
13
- }) => {
14
- await (0, _template.moveTemplateFiles)(template);
11
+ _commander.program.description("Check TypeScript types in the project").allowUnknownOption().action(async () => {
12
+ await (0, _webTemplate.moveWebTemplateFiles)();
15
13
  const templateTsConfig = path.resolve(__dirname, "..", "..", "template.tsconfig.json");
16
- await fs.copy(templateTsConfig, `./intuned/${template}/tsconfig.json`);
17
- checkTypes(template);
14
+ await fs.copy(templateTsConfig, "./intuned/WebTemplate/tsconfig.json");
15
+ checkTypes();
18
16
  });
19
- function checkTypes(template) {
20
- const configPath = ts.findConfigFile(`./intuned/${template}`, ts.sys.fileExists, "tsconfig.json");
17
+ function checkTypes() {
18
+ const configPath = ts.findConfigFile("./intuned/WebTemplate", ts.sys.fileExists, "tsconfig.json");
21
19
  if (!configPath) {
22
20
  console.error("Could not find a valid 'tsconfig.json'.");
23
21
  process.exit(1);