@intuned/runtime-dev 1.2.0-cli.4 → 1.2.0-cli.5

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 (83) hide show
  1. package/dist/commands/intuned-cli/commands/attempt_api.command.js +1 -1
  2. package/dist/commands/intuned-cli/commands/attempt_authsession_check.command.js +1 -1
  3. package/dist/commands/intuned-cli/commands/attempt_authsession_create.command.js +1 -1
  4. package/dist/commands/intuned-cli/commands/build.command.js +1 -1
  5. package/dist/commands/intuned-cli/commands/deploy.command.js +3 -4
  6. package/dist/commands/intuned-cli/commands/init.command.js +1 -1
  7. package/dist/commands/intuned-cli/commands/run_api.command.js +1 -1
  8. package/dist/commands/intuned-cli/commands/run_authsession_create.command.js +1 -1
  9. package/dist/commands/intuned-cli/commands/run_authsession_update.command.js +1 -1
  10. package/dist/commands/intuned-cli/commands/run_authsession_validate.command.js +1 -1
  11. package/dist/commands/intuned-cli/constants/index.d.ts +36 -0
  12. package/dist/commands/intuned-cli/constants/index.js +63 -0
  13. package/dist/commands/intuned-cli/constants/readme.d.ts +1 -0
  14. package/dist/commands/intuned-cli/constants/readme.js +81 -0
  15. package/dist/commands/intuned-cli/controller/api.js +7 -7
  16. package/dist/commands/intuned-cli/controller/authSession.js +24 -23
  17. package/dist/commands/intuned-cli/controller/build.js +1 -1
  18. package/dist/commands/intuned-cli/controller/deploy.d.ts +1 -1
  19. package/dist/commands/intuned-cli/controller/deploy.js +9 -11
  20. package/dist/commands/intuned-cli/controller/index.js +5 -4
  21. package/dist/commands/intuned-cli/controller/init.d.ts +1 -1
  22. package/dist/commands/intuned-cli/controller/init.js +12 -15
  23. package/dist/commands/intuned-cli/helpers/api.d.ts +3 -0
  24. package/dist/commands/intuned-cli/helpers/api.js +19 -0
  25. package/dist/commands/intuned-cli/helpers/auth.d.ts +17 -0
  26. package/dist/commands/intuned-cli/helpers/auth.js +105 -0
  27. package/dist/commands/intuned-cli/helpers/backend.d.ts +8 -0
  28. package/dist/commands/intuned-cli/helpers/backend.js +26 -0
  29. package/dist/commands/intuned-cli/helpers/context.d.ts +3 -0
  30. package/dist/commands/intuned-cli/helpers/context.js +33 -0
  31. package/dist/commands/intuned-cli/helpers/errors.d.ts +14 -0
  32. package/dist/commands/intuned-cli/helpers/errors.js +55 -0
  33. package/dist/commands/intuned-cli/helpers/index.d.ts +10 -0
  34. package/dist/commands/intuned-cli/helpers/index.js +115 -0
  35. package/dist/commands/intuned-cli/helpers/intunedJson.d.ts +1 -0
  36. package/dist/commands/intuned-cli/helpers/intunedJson.js +19 -0
  37. package/dist/commands/intuned-cli/helpers/proxy.d.ts +5 -0
  38. package/dist/commands/intuned-cli/helpers/proxy.js +23 -0
  39. package/dist/commands/intuned-cli/helpers/timeout.d.ts +1 -0
  40. package/dist/commands/intuned-cli/helpers/timeout.js +23 -0
  41. package/dist/commands/intuned-cli/helpers/validation.d.ts +2 -0
  42. package/dist/commands/intuned-cli/helpers/validation.js +12 -0
  43. package/dist/commands/intuned-cli/types.d.ts +42 -0
  44. package/dist/commands/intuned-cli/types.js +13 -0
  45. package/dist/common/cli/cliReadme.d.ts +0 -1
  46. package/dist/common/cli/cliReadme.js +1 -83
  47. package/dist/common/cli/constants.d.ts +0 -35
  48. package/dist/common/cli/constants.js +1 -43
  49. package/dist/common/cli/types.d.ts +0 -74
  50. package/dist/common/cli/types.js +1 -13
  51. package/dist/common/cli/utils.d.ts +0 -9
  52. package/dist/common/cli/utils.js +1 -39
  53. package/package.json +1 -7
  54. package/bin/check-auth-session +0 -3
  55. package/bin/cli-build +0 -3
  56. package/bin/create-auth-session +0 -3
  57. package/bin/deploy +0 -3
  58. package/bin/init +0 -3
  59. package/bin/run-api +0 -3
  60. package/dist/commands/cli-auth-sessions/check.d.ts +0 -2
  61. package/dist/commands/cli-auth-sessions/check.js +0 -40
  62. package/dist/commands/cli-auth-sessions/create.d.ts +0 -2
  63. package/dist/commands/cli-auth-sessions/create.js +0 -53
  64. package/dist/commands/cli-auth-sessions/utils.d.ts +0 -28
  65. package/dist/commands/cli-auth-sessions/utils.js +0 -284
  66. package/dist/commands/cli-build/cli-build.d.ts +0 -2
  67. package/dist/commands/cli-build/cli-build.js +0 -20
  68. package/dist/commands/deploy/deploy.d.ts +0 -2
  69. package/dist/commands/deploy/deploy.js +0 -47
  70. package/dist/commands/deploy/utils.d.ts +0 -16
  71. package/dist/commands/deploy/utils.js +0 -407
  72. package/dist/commands/init/init.d.ts +0 -2
  73. package/dist/commands/init/init.js +0 -22
  74. package/dist/commands/init/utils.d.ts +0 -11
  75. package/dist/commands/init/utils.js +0 -175
  76. package/dist/commands/intuned-cli/commands/helpers.d.ts +0 -28
  77. package/dist/commands/intuned-cli/commands/helpers.js +0 -138
  78. package/dist/commands/run-api-cli/run-api.d.ts +0 -2
  79. package/dist/commands/run-api-cli/run-api.js +0 -57
  80. package/dist/commands/run-api-cli/utils.d.ts +0 -9
  81. package/dist/commands/run-api-cli/utils.js +0 -144
  82. /package/dist/commands/intuned-cli/{terminal.d.ts → helpers/terminal.d.ts} +0 -0
  83. /package/dist/commands/intuned-cli/{terminal.js → helpers/terminal.js} +0 -0
@@ -1,138 +0,0 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports.CLIError = exports.CLIAssertionError = void 0;
7
- exports.assertApiFileExists = assertApiFileExists;
8
- exports.assertAuthConsistent = assertAuthConsistent;
9
- exports.assertAuthEnabled = assertAuthEnabled;
10
- exports.logAutomationError = logAutomationError;
11
- exports.logInvalidInput = logInvalidInput;
12
- exports.parseUrlProxy = parseUrlProxy;
13
- exports.withCLIContext = withCLIContext;
14
- exports.withErrorLogging = withErrorLogging;
15
- exports.withTimeout = withTimeout;
16
- var _utils = require("../../cli-auth-sessions/utils");
17
- var _nanoid = require("nanoid");
18
- var _asyncLocalStorage = require("../../../common/asyncLocalStorage");
19
- var _enums = require("../../../runtime/enums");
20
- var _terminal = require("../terminal");
21
- var _path = _interopRequireDefault(require("path"));
22
- var _fsExtra = require("fs-extra");
23
- var _runApi = require("../../../common/runApi");
24
- function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
25
- class CLIError extends Error {
26
- constructor(message, options) {
27
- super(message);
28
- this.name = "CLIError";
29
- this.autoColor = options?.autoColor ?? true;
30
- }
31
- }
32
- exports.CLIError = CLIError;
33
- class CLIAssertionError extends CLIError {
34
- constructor(message, options) {
35
- super(message, options);
36
- this.name = "CLIAssertionError";
37
- }
38
- }
39
- exports.CLIAssertionError = CLIAssertionError;
40
- function logInvalidInput(result) {
41
- (0, _terminal.terminal)("^r^+Invalid input parameters:^: ^R" + result.error.errors.map(({
42
- message
43
- }) => `^R${message}^:`).join(", ") + "\n");
44
- }
45
- async function assertAuthEnabled() {
46
- if (!(await (0, _utils.isAuthEnabled)())) {
47
- throw new CLIAssertionError("Auth session is not enabled, enable it in Intuned.json to use it");
48
- }
49
- }
50
- async function assertAuthConsistent(authSession) {
51
- const _isAuthEnabled = await (0, _utils.isAuthEnabled)();
52
- if (_isAuthEnabled && !authSession) {
53
- throw new CLIAssertionError("Auth session is enabled, but no auth session is provided. Please provide an auth session ID.");
54
- }
55
- if (!_isAuthEnabled && authSession) {
56
- throw new CLIAssertionError("Auth session is not enabled, enable it in Intuned.json to use it");
57
- }
58
- }
59
- function logAutomationError(error) {
60
- (0, _terminal.terminal)(`^r^+An error occurred while running the API:^:\n`);
61
- if (error.error.stack) {
62
- const stackLines = error.error.stack.split("\n").filter(line => !line.includes("@intuned/runtime"));
63
- (0, _terminal.terminal)(`^r${stackLines.join("\n")}^:\n`);
64
- } else {
65
- (0, _terminal.terminal)(`^r${error.error.message}^:\n`);
66
- }
67
- }
68
- function withErrorLogging(fn) {
69
- return async (...args) => {
70
- try {
71
- await fn(...args);
72
- process.exit(0);
73
- } catch (error) {
74
- if (error instanceof CLIError) {
75
- if (error.autoColor) {
76
- (0, _terminal.terminal)(`^r^+${error.message}^:\n`);
77
- } else {
78
- (0, _terminal.terminal)(`${error.message}\n`);
79
- }
80
- } else if (error instanceof _runApi.AutomationError) {
81
- logAutomationError(error);
82
- } else {
83
- (0, _terminal.terminal)(`^r^+An error occurred:^: ^R${error.message}^:\n^r^+Please report this issue to the Intuned team.^:\n`);
84
- }
85
- process.exit(1);
86
- }
87
- };
88
- }
89
- function parseUrlProxy(proxyUrl) {
90
- try {
91
- const url = new URL(proxyUrl);
92
- const username = url.username;
93
- const password = url.password;
94
- const proxy = url.hostname;
95
- const port = url.port ? `:${url.port}` : "";
96
- const domain = `${url.protocol}//${proxy}${port}`;
97
- return {
98
- password,
99
- username,
100
- server: domain
101
- };
102
- } catch (error) {
103
- return;
104
- }
105
- }
106
- function withTimeout(fn, timeout) {
107
- let reject;
108
- const abortController = new AbortController();
109
- const timeoutPromise = new Promise((_, _reject) => {
110
- reject = _reject;
111
- });
112
- const timeoutId = setTimeout(() => {
113
- abortController.abort();
114
- reject(new _runApi.AutomationError(new Error("Timed out")));
115
- }, timeout);
116
- (0, _asyncLocalStorage.getExecutionContext)().timeoutInfo.extendTimeoutCallback = async () => {
117
- timeoutId.refresh();
118
- };
119
- return Promise.race([fn(abortController.signal), timeoutPromise]);
120
- }
121
- async function withCLIContext(fn) {
122
- const runId = (0, _nanoid.nanoid)();
123
- return await (0, _asyncLocalStorage.runWithContext)({
124
- runEnvironment: _enums.RunEnvironment.IDE,
125
- runId,
126
- extendedPayloads: [],
127
- timeoutInfo: {}
128
- }, fn);
129
- }
130
- async function assertApiFileExists(dirname, api) {
131
- const file = `${dirname}/${api}.ts`;
132
- const filePath = _path.default.join(process.cwd(), file);
133
- if (!(await (0, _fsExtra.exists)(filePath))) {
134
- throw new CLIAssertionError(`^+^r API^ ^+${dirname}/${api}^ ^r^+is not implemented.^:`, {
135
- autoColor: false
136
- });
137
- }
138
- }
@@ -1,2 +0,0 @@
1
- #!/usr/bin/env node
2
- export {};
@@ -1,57 +0,0 @@
1
- #!/usr/bin/env node
2
- "use strict";
3
-
4
- var _commander = require("commander");
5
- var _chalk = _interopRequireDefault(require("chalk"));
6
- var _nanoid = require("nanoid");
7
- var _dotenv = _interopRequireDefault(require("dotenv"));
8
- var _utils = require("./utils");
9
- var _enums = require("../../runtime/enums");
10
- var _asyncLocalStorage = require("../../common/asyncLocalStorage");
11
- var _utils2 = require("../cli-auth-sessions/utils");
12
- function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
13
- _dotenv.default.config({
14
- path: `.env`
15
- });
16
- _commander.program.name("intuned-run").description("Run an Intuned API with parameters").argument("<api-name>", "Name of the API to run").option("-i, --parameters-file <file>", "JSON file containing API parameters").option("-a, --auth-session <session>", "Name of the auth session instance to use").option("-s, --store-results", "Store the results of the running API in a dedicated folder").action(async (apiName, options) => {
17
- try {
18
- if (!apiName) {
19
- throw new Error("API name is required, please provide it");
20
- }
21
- const _isAuthEnabled = await (0, _utils2.isAuthEnabled)();
22
- if (!_isAuthEnabled && options.authSession) {
23
- throw new Error("Auth session is not enabled, enable it in Intuned.json to be able to use it");
24
- }
25
- if (_isAuthEnabled && !options.authSession) {
26
- throw new Error("Auth session is enabled but no auth session provided, please provide it");
27
- }
28
- const inputData = await (0, _utils.loadParameters)(options.parametersFile);
29
- const runId = (0, _nanoid.nanoid)();
30
- const {
31
- result,
32
- payloadToAppend
33
- } = await (0, _asyncLocalStorage.runWithContext)({
34
- runEnvironment: _enums.RunEnvironment.IDE,
35
- extendedPayloads: [],
36
- runId
37
- }, () => (0, _utils.runApiViaCLI)(apiName, inputData, {
38
- authSession: options.authSession
39
- }));
40
- if (!result) {
41
- console.log(_chalk.default.yellow("No result returned from the API"));
42
- return;
43
- }
44
- if (!options.storeResults) {
45
- console.log(_chalk.default.green(`✓ API executed successfully`));
46
- console.log(_chalk.default.green("Result:"));
47
- console.log(_chalk.default.white(JSON.stringify(result, null, 2)));
48
- return;
49
- }
50
- await (0, _utils.writeResultToFile)(runId, result, payloadToAppend);
51
- } catch (error) {
52
- console.error(_chalk.default.red(`\nError: ${error.message}`));
53
- } finally {
54
- process.exit(0);
55
- }
56
- });
57
- _commander.program.parse(process.argv);
@@ -1,9 +0,0 @@
1
- import { Payload } from "../../runtime/export";
2
- export declare function loadParameters(parametersFile: string): Promise<object | null>;
3
- export declare function writeResultToFile(runId: string, result: any, payloadToAppend?: Payload[]): Promise<void>;
4
- export declare function runApiViaCLI(apiName: string, inputData: object | null | undefined, options?: {
5
- authSession?: string;
6
- }): Promise<{
7
- result: any;
8
- payloadToAppend: Payload[] | undefined;
9
- }>;
@@ -1,144 +0,0 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports.loadParameters = loadParameters;
7
- exports.runApiViaCLI = runApiViaCLI;
8
- exports.writeResultToFile = writeResultToFile;
9
- var _path = _interopRequireDefault(require("path"));
10
- var fs = _interopRequireWildcard(require("fs-extra"));
11
- var _Logger = require("../../common/Logger");
12
- var _chalk = _interopRequireDefault(require("chalk"));
13
- var _runApi = require("../../common/runApi");
14
- var _tsNodeImport = require("../common/tsNodeImport");
15
- var _utils = require("../cli-auth-sessions/utils");
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
- function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
19
- async function loadParameters(parametersFile) {
20
- if (!parametersFile) {
21
- return {};
22
- }
23
- try {
24
- const filePath = _path.default.join(process.cwd(), parametersFile);
25
- await fs.access(filePath);
26
- let inputData = null;
27
- if (parametersFile) {
28
- inputData = await fs.readJSON(filePath);
29
- } else {
30
- inputData = {};
31
- }
32
- return inputData;
33
- } catch (error) {
34
- if (error.code === "ENOENT") {
35
- throw new Error(`Parameters file not found: ${parametersFile}`);
36
- } else if (error instanceof SyntaxError) {
37
- throw new Error(`Invalid JSON in parameters file: ${error.message}`);
38
- }
39
- throw new Error(`Error reading parameters file: ${error.message}`);
40
- }
41
- }
42
- async function writeResultToFile(runId, result, payloadToAppend) {
43
- const outputDir = _path.default.join(process.cwd(), "output", runId);
44
- const resultsPath = _path.default.join(outputDir, "results.json");
45
- const extendedPayloadsPath = _path.default.join(outputDir, "extendedPayloads.json");
46
- await fs.ensureDir(outputDir);
47
- try {
48
- await fs.writeJSON(resultsPath, result, {
49
- spaces: 2
50
- });
51
- if (payloadToAppend && payloadToAppend.length > 0) {
52
- await fs.writeJSON(extendedPayloadsPath, payloadToAppend, {
53
- spaces: 2
54
- });
55
- _Logger.logger.info(_chalk.default.underline.green.white(`Payloads to append saved into (${extendedPayloadsPath})`));
56
- }
57
- console.log(_chalk.default.underline.green.white(`✓ API executed successfully. Results stored in ${outputDir}`));
58
- console.log(_chalk.default.blue(`Run ID: ${runId}`));
59
- } catch (error) {
60
- _Logger.logger.error(`Failed to write result to file: ${error.message}`);
61
- }
62
- }
63
- async function runApiViaCLI(apiName, inputData, options) {
64
- let authSessionPathToUse = null;
65
- if (options?.authSession) {
66
- const {
67
- authSessionInstanceStoragePath
68
- } = await (0, _utils.retrieveAuthSessionInstance)(options?.authSession, true);
69
- authSessionPathToUse = authSessionInstanceStoragePath;
70
- }
71
- if (authSessionPathToUse) {
72
- const checkApiExists = await (0, _utils.ensureAuthApi)("check");
73
- if (!checkApiExists) {
74
- throw new Error("Auth session check API not implemented, please create it in the auth sessions specified directory");
75
- }
76
- const checkResult = await (0, _utils.runCheckApiViaCLI)(authSessionPathToUse);
77
- if (!checkResult) {
78
- console.log(_chalk.default.yellow("Auth session check failed, trying to refresh it..."));
79
- const createApiExists = await (0, _utils.ensureAuthApi)("create");
80
- if (!createApiExists) {
81
- throw new Error("Auth session creation API not implemented, please create it in the auth sessions specified directory");
82
- }
83
- const {
84
- metadata
85
- } = await (0, _utils.retrieveAuthSessionInstance)(options?.authSession);
86
- if (metadata?.authSessionType === "MANUAL") {
87
- throw new Error("Expired Auth session is recorder-based, please provide a new one or refresh it manually");
88
- }
89
- const authSessionInput = metadata?.authSessionInput ?? {};
90
- try {
91
- const refresehAuthSessionInstance = await (0, _utils.runCreateApiViaCLI)(authSessionInput);
92
- if (!refresehAuthSessionInstance) {
93
- throw new Error("Failed to refresh auth session");
94
- }
95
- await (0, _utils.storeAuthSessionInstance)(refresehAuthSessionInstance, options?.authSession, authSessionInput);
96
- const checkResult = await (0, _utils.runCheckApiViaCLI)(authSessionPathToUse);
97
- if (!checkResult) {
98
- throw new Error("Failed to refresh auth session");
99
- }
100
- console.log(_chalk.default.green("✓ Auth session refreshed successfully on this run"));
101
- } catch (error) {
102
- throw new Error(`Failed to refresh auth session: ${error.message}`);
103
- }
104
- }
105
- }
106
- const runApiResult = await (0, _runApi.runApi)({
107
- automationFunction: {
108
- name: `api/${apiName}`,
109
- params: inputData
110
- },
111
- runOptions: {
112
- headless: false,
113
- environment: "standalone"
114
- },
115
- auth: authSessionPathToUse ? {
116
- session: {
117
- type: "file",
118
- path: authSessionPathToUse
119
- },
120
- runCheck: false
121
- } : undefined,
122
- importFunction: _tsNodeImport.tsNodeImport
123
- });
124
- if (runApiResult.isErr()) {
125
- if (runApiResult.error instanceof _runApi.AutomationError) {
126
- throw runApiResult.error.error;
127
- }
128
- console.error(runApiResult.error);
129
- throw new Error("An error occurred while running the API");
130
- }
131
- const {
132
- result,
133
- extendedPayloads: payloadToAppend
134
- } = runApiResult.value;
135
- const hasPayloadToAppend = payloadToAppend && payloadToAppend.length > 0;
136
- if (hasPayloadToAppend) {
137
- _Logger.logger.info("payload to append:", payloadToAppend);
138
- _Logger.logger.info("This will only take an effect if this API run was part of a job.");
139
- }
140
- return {
141
- result,
142
- payloadToAppend
143
- };
144
- }