@intuned/runtime-dev 1.3.21-fix.0 → 1.3.22-dev.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 (108) hide show
  1. package/CHANGELOG.md +1 -0
  2. package/bin/intuned +20 -2
  3. package/dist/commands/api/run.js +1 -1
  4. package/dist/commands/common/browserUtils.js +10 -1
  5. package/dist/common/launchBrowser.d.ts +7 -0
  6. package/dist/common/launchBrowser.js +34 -2
  7. package/dist/common/playwrightContext.d.ts +2 -0
  8. package/dist/common/playwrightContext.js +10 -4
  9. package/dist/common/runApi/index.js +2 -0
  10. package/dist/vendor/runtime-interface.js +4 -2
  11. package/package.json +3 -3
  12. package/.claude/settings.local.json +0 -7
  13. package/dist/commands/intuned-cli/commands/attempt.command.d.ts +0 -1
  14. package/dist/commands/intuned-cli/commands/attempt.command.js +0 -8
  15. package/dist/commands/intuned-cli/commands/attempt_api.command.d.ts +0 -1
  16. package/dist/commands/intuned-cli/commands/attempt_api.command.js +0 -30
  17. package/dist/commands/intuned-cli/commands/attempt_authsession.command.d.ts +0 -1
  18. package/dist/commands/intuned-cli/commands/attempt_authsession.command.js +0 -8
  19. package/dist/commands/intuned-cli/commands/attempt_authsession_check.command.d.ts +0 -1
  20. package/dist/commands/intuned-cli/commands/attempt_authsession_check.command.js +0 -19
  21. package/dist/commands/intuned-cli/commands/attempt_authsession_create.command.d.ts +0 -1
  22. package/dist/commands/intuned-cli/commands/attempt_authsession_create.command.js +0 -24
  23. package/dist/commands/intuned-cli/commands/authsession.command.d.ts +0 -1
  24. package/dist/commands/intuned-cli/commands/authsession.command.js +0 -8
  25. package/dist/commands/intuned-cli/commands/authsession_record.command.d.ts +0 -1
  26. package/dist/commands/intuned-cli/commands/authsession_record.command.js +0 -32
  27. package/dist/commands/intuned-cli/commands/authsession_scaffold.command.d.ts +0 -1
  28. package/dist/commands/intuned-cli/commands/authsession_scaffold.command.js +0 -16
  29. package/dist/commands/intuned-cli/commands/build.command.d.ts +0 -1
  30. package/dist/commands/intuned-cli/commands/build.command.js +0 -12
  31. package/dist/commands/intuned-cli/commands/command.d.ts +0 -2
  32. package/dist/commands/intuned-cli/commands/command.js +0 -9
  33. package/dist/commands/intuned-cli/commands/deploy.command.d.ts +0 -1
  34. package/dist/commands/intuned-cli/commands/deploy.command.js +0 -42
  35. package/dist/commands/intuned-cli/commands/index.d.ts +0 -18
  36. package/dist/commands/intuned-cli/commands/index.js +0 -203
  37. package/dist/commands/intuned-cli/commands/provision.command.d.ts +0 -13
  38. package/dist/commands/intuned-cli/commands/provision.command.js +0 -50
  39. package/dist/commands/intuned-cli/commands/run.command.d.ts +0 -1
  40. package/dist/commands/intuned-cli/commands/run.command.js +0 -8
  41. package/dist/commands/intuned-cli/commands/run_api.command.d.ts +0 -1
  42. package/dist/commands/intuned-cli/commands/run_api.command.js +0 -46
  43. package/dist/commands/intuned-cli/commands/run_authsession.command.d.ts +0 -35
  44. package/dist/commands/intuned-cli/commands/run_authsession.command.js +0 -17
  45. package/dist/commands/intuned-cli/commands/run_authsession_create.command.d.ts +0 -1
  46. package/dist/commands/intuned-cli/commands/run_authsession_create.command.js +0 -35
  47. package/dist/commands/intuned-cli/commands/run_authsession_update.command.d.ts +0 -1
  48. package/dist/commands/intuned-cli/commands/run_authsession_update.command.js +0 -35
  49. package/dist/commands/intuned-cli/commands/run_authsession_validate.command.d.ts +0 -1
  50. package/dist/commands/intuned-cli/commands/run_authsession_validate.command.js +0 -33
  51. package/dist/commands/intuned-cli/commands/types.d.ts +0 -39
  52. package/dist/commands/intuned-cli/commands/types.js +0 -33
  53. package/dist/commands/intuned-cli/constants/index.d.ts +0 -17
  54. package/dist/commands/intuned-cli/constants/index.js +0 -25
  55. package/dist/commands/intuned-cli/controller/__test__/api.test.js +0 -399
  56. package/dist/commands/intuned-cli/controller/__test__/authSession.test.js +0 -1061
  57. package/dist/commands/intuned-cli/controller/api.d.ts +0 -42
  58. package/dist/commands/intuned-cli/controller/api.js +0 -194
  59. package/dist/commands/intuned-cli/controller/authSession.d.ts +0 -209
  60. package/dist/commands/intuned-cli/controller/authSession.js +0 -425
  61. package/dist/commands/intuned-cli/controller/build.d.ts +0 -1
  62. package/dist/commands/intuned-cli/controller/build.js +0 -35
  63. package/dist/commands/intuned-cli/controller/deploy.d.ts +0 -5
  64. package/dist/commands/intuned-cli/controller/deploy.js +0 -317
  65. package/dist/commands/intuned-cli/controller/index.d.ts +0 -1
  66. package/dist/commands/intuned-cli/controller/index.js +0 -45
  67. package/dist/commands/intuned-cli/controller/provision.d.ts +0 -21
  68. package/dist/commands/intuned-cli/controller/provision.js +0 -299
  69. package/dist/commands/intuned-cli/controller/scaffold.d.ts +0 -1
  70. package/dist/commands/intuned-cli/controller/scaffold.js +0 -77
  71. package/dist/commands/intuned-cli/helpers/__test__/browser.test.js +0 -152
  72. package/dist/commands/intuned-cli/helpers/__test__/tracing.test.js +0 -41
  73. package/dist/commands/intuned-cli/helpers/api.d.ts +0 -3
  74. package/dist/commands/intuned-cli/helpers/api.js +0 -16
  75. package/dist/commands/intuned-cli/helpers/auth.d.ts +0 -46
  76. package/dist/commands/intuned-cli/helpers/auth.js +0 -147
  77. package/dist/commands/intuned-cli/helpers/backend.d.ts +0 -8
  78. package/dist/commands/intuned-cli/helpers/backend.js +0 -35
  79. package/dist/commands/intuned-cli/helpers/browser.d.ts +0 -14
  80. package/dist/commands/intuned-cli/helpers/browser.js +0 -93
  81. package/dist/commands/intuned-cli/helpers/context.d.ts +0 -3
  82. package/dist/commands/intuned-cli/helpers/context.js +0 -33
  83. package/dist/commands/intuned-cli/helpers/errors.d.ts +0 -16
  84. package/dist/commands/intuned-cli/helpers/errors.js +0 -44
  85. package/dist/commands/intuned-cli/helpers/index.d.ts +0 -12
  86. package/dist/commands/intuned-cli/helpers/index.js +0 -137
  87. package/dist/commands/intuned-cli/helpers/intunedJson.d.ts +0 -40
  88. package/dist/commands/intuned-cli/helpers/intunedJson.js +0 -20
  89. package/dist/commands/intuned-cli/helpers/prompts.d.ts +0 -3
  90. package/dist/commands/intuned-cli/helpers/prompts.js +0 -71
  91. package/dist/commands/intuned-cli/helpers/proxy.d.ts +0 -5
  92. package/dist/commands/intuned-cli/helpers/proxy.js +0 -23
  93. package/dist/commands/intuned-cli/helpers/terminal.d.ts +0 -5
  94. package/dist/commands/intuned-cli/helpers/terminal.js +0 -13
  95. package/dist/commands/intuned-cli/helpers/timeout.d.ts +0 -1
  96. package/dist/commands/intuned-cli/helpers/timeout.js +0 -23
  97. package/dist/commands/intuned-cli/helpers/traces.d.ts +0 -2
  98. package/dist/commands/intuned-cli/helpers/traces.js +0 -32
  99. package/dist/commands/intuned-cli/helpers/validation.d.ts +0 -2
  100. package/dist/commands/intuned-cli/helpers/validation.js +0 -14
  101. package/dist/commands/intuned-cli/helpers/wrapper.d.ts +0 -2
  102. package/dist/commands/intuned-cli/helpers/wrapper.js +0 -76
  103. package/dist/commands/intuned-cli/index.d.ts +0 -1
  104. package/dist/commands/intuned-cli/index.js +0 -16
  105. package/dist/commands/intuned-cli/main.d.ts +0 -1
  106. package/dist/commands/intuned-cli/main.js +0 -35
  107. package/dist/commands/intuned-cli/types.d.ts +0 -70
  108. package/dist/commands/intuned-cli/types.js +0 -22
package/CHANGELOG.md CHANGED
@@ -1,5 +1,6 @@
1
1
  # UNRELEASED
2
2
 
3
+ - Add support for `ignoreHttpErrors` parameter to handle HTTP errors during browser navigation via `INTUNED_PLAYWRIGHT_CONTEXT_IGNORE_HTTP_ERRORS` environment variable.
3
4
  - Add `timeout` parameter (in seconds, defaults to 30) to `launchBrowser` and `launchChromium` functions
4
5
 
5
6
  # 1.3.11
package/bin/intuned CHANGED
@@ -1,4 +1,22 @@
1
1
  #!/usr/bin/env node
2
2
 
3
- require("../dist/common/binStartupScript.js");
4
- require("../dist/commands/intuned-cli/main.js");
3
+ // detect `intunedctl` in PATH and run it with the provided arguments
4
+ const spawn = require("child_process").spawn;
5
+ const which = require("which");
6
+
7
+ const intunedctlPath = which.sync("intunedctl", { nothrow: true });
8
+
9
+ if (!intunedctlPath) {
10
+ console.error(
11
+ "Install Intuned CLI globally with `npm install -g @intuned/cli` to run this command."
12
+ );
13
+ process.exit(1);
14
+ }
15
+
16
+ const child = spawn(intunedctlPath, process.argv.slice(2), {
17
+ stdio: "inherit",
18
+ });
19
+
20
+ child.on("exit", (code) => {
21
+ process.exit(code ?? 0);
22
+ });
@@ -113,7 +113,7 @@ _commander.program.description("run the user function in the cli for testing pur
113
113
  runId: (0, _nanoid.nanoid)(),
114
114
  proxy: options.proxy,
115
115
  getAuthSessionParameters: authSessionParametersJson !== undefined ? async () => authSessionParametersJson : undefined
116
- }, async () => await executeCLI(apiName, mode, inputData, options));
116
+ }, () => executeCLI(apiName, mode, inputData, options));
117
117
  process.exit(0);
118
118
  });
119
119
  _commander.program.parse(process.argv);
@@ -15,7 +15,16 @@ var _contextStorageStateHelpers = require("../../common/contextStorageStateHelpe
15
15
  var playwright = _interopRequireWildcard(require("playwright"));
16
16
  function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function (e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, default: e }; if (null === e || "object" != typeof e && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (const t in e) "default" !== t && {}.hasOwnProperty.call(e, t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, t)) && (i.get || i.set) ? o(f, t, i) : f[t] = e[t]); return f; })(e, t); }
17
17
  const REMOTE_DEBUGGING_PORT = exports.REMOTE_DEBUGGING_PORT = 9222;
18
- const getChromiumLaunchArgs = () => ["--no-sandbox", `--remote-debugging-port=${REMOTE_DEBUGGING_PORT}`, `--user-data-dir=/tmp/${Date.now()}`, "--new-window", "--start-maximized", "--disable-popup-blocking"];
18
+ function getMacKeychainBypassArgs() {
19
+ if (process.platform !== "darwin") {
20
+ return [];
21
+ }
22
+ if (process.env.INTUNED_MAC_DISABLE_KEYCHAIN_PROMPTS === "0") {
23
+ return [];
24
+ }
25
+ return ["--use-mock-keychain", "--password-store=basic"];
26
+ }
27
+ const getChromiumLaunchArgs = () => ["--no-sandbox", `--remote-debugging-port=${REMOTE_DEBUGGING_PORT}`, `--user-data-dir=/tmp/${Date.now()}`, "--new-window", "--start-maximized", "--disable-popup-blocking", ...getMacKeychainBypassArgs()];
19
28
  exports.getChromiumLaunchArgs = getChromiumLaunchArgs;
20
29
  async function getBrowser() {
21
30
  let playwrightBrowser = null;
@@ -5,6 +5,11 @@ export interface Proxy {
5
5
  username: string;
6
6
  password: string;
7
7
  }
8
+ /**
9
+ * Get ignore_http_errors setting from CLI option or environment variable.
10
+ * Priority: cliOption > environment variable > false
11
+ */
12
+ export declare function getIgnoreHttpErrorsFromConfig(cliOption?: boolean): Promise<boolean>;
8
13
  export type LaunchBrowserResult = {
9
14
  page: playwright.Page;
10
15
  context: playwright.BrowserContext;
@@ -16,11 +21,13 @@ export type LaunchChromiumStandaloneOptions = {
16
21
  cdpPort?: number;
17
22
  appModeInitialUrl?: string;
18
23
  executablePath?: string;
24
+ ignoreHttpErrors?: boolean;
19
25
  timeout?: number;
20
26
  };
21
27
  export type LaunchChromiumCdpOptions = {
22
28
  cdpAddress: string;
23
29
  cdpTargetId?: string;
30
+ ignoreHttpErrors?: boolean;
24
31
  timeout?: number;
25
32
  };
26
33
  export declare function launchChromium(options: LaunchChromiumStandaloneOptions): Promise<LaunchBrowserResult>;
@@ -6,6 +6,7 @@ Object.defineProperty(exports, "__esModule", {
6
6
  exports.getBrowserExecutablePath = getBrowserExecutablePath;
7
7
  exports.getCdpWebSocketUrl = getCdpWebSocketUrl;
8
8
  exports.getHeadlessUserAgent = getHeadlessUserAgent;
9
+ exports.getIgnoreHttpErrorsFromConfig = getIgnoreHttpErrorsFromConfig;
9
10
  exports.getLocalCdpAddress = getLocalCdpAddress;
10
11
  exports.launchBrowser = launchBrowser;
11
12
  exports.launchChromium = launchChromium;
@@ -24,6 +25,15 @@ var _intunedJson = require("./intunedJson");
24
25
  function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
25
26
  function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function (e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, default: e }; if (null === e || "object" != typeof e && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (const t in e) "default" !== t && {}.hasOwnProperty.call(e, t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, t)) && (i.get || i.set) ? o(f, t, i) : f[t] = e[t]); return f; })(e, t); }
26
27
  const execAsync = (0, _util.promisify)(_child_process.exec);
28
+ function getMacKeychainBypassArgs() {
29
+ if (process.platform !== "darwin") {
30
+ return [];
31
+ }
32
+ if (process.env.INTUNED_MAC_DISABLE_KEYCHAIN_PROMPTS === "0") {
33
+ return [];
34
+ }
35
+ return ["--use-mock-keychain", "--password-store=basic"];
36
+ }
27
37
  async function createUserDirWithPreferences() {
28
38
  const playwrightTempDir = await (0, _fsExtra.mkdtemp)("/tmp/pw-");
29
39
  const userDir = (0, _path.join)(playwrightTempDir, "userdir");
@@ -39,8 +49,23 @@ async function createUserDirWithPreferences() {
39
49
  await (0, _fsExtra.writeFile)((0, _path.join)(defaultDir, "Preferences"), JSON.stringify(preferences));
40
50
  return userDir;
41
51
  }
52
+ async function getIgnoreHttpErrorsFromConfig(cliOption) {
53
+ if (cliOption !== undefined) {
54
+ console.log(`[ignore_http_errors] using cli option value: ${cliOption}`);
55
+ return cliOption;
56
+ }
57
+ const envValue = process.env.INTUNED_PLAYWRIGHT_CONTEXT_IGNORE_HTTP_ERRORS;
58
+ if (envValue !== undefined) {
59
+ const parsedValue = envValue.toLowerCase() === "true" || envValue === "1" || envValue.toLowerCase() === "yes";
60
+ console.log(`[ignore_http_errors] using env value: ${parsedValue}`);
61
+ return parsedValue;
62
+ }
63
+ console.log("[ignore_http_errors] env not set, using default: false");
64
+ return false;
65
+ }
42
66
  async function launchChromium(options) {
43
67
  if ("cdpAddress" in options) {
68
+ console.log(`[ignore_http_errors] launchChromium (cdp) received value: ${options.ignoreHttpErrors}`);
44
69
  if (await (0, _extensionsHelpers.isIntunedExtensionEnabled)()) {
45
70
  await (0, _intunedExtensionServer.setupIntunedExtensionServer)();
46
71
  }
@@ -80,13 +105,18 @@ async function launchChromium(options) {
80
105
  cdpPort,
81
106
  proxy,
82
107
  downloadsPath,
108
+ ignoreHttpErrors: ignoreHttpErrorsParam,
83
109
  timeout
84
110
  } = options;
85
111
  let {
86
112
  executablePath
87
113
  } = options;
114
+ const ignoreHttpErrors = await getIgnoreHttpErrorsFromConfig(ignoreHttpErrorsParam);
115
+ console.log(`[ignore_http_errors] launchChromium resolved value: ${ignoreHttpErrors}`);
88
116
  const defaultArgsToIgnore = ["--disable-extensions", "--disable-component-extensions-with-background-pages", "--disable-background-networking", "--disable-backgrounding-occluded-windows", "--disable-background-timer-throttling"];
89
117
  const extraArgs = [];
118
+ const macKeychainBypassArgs = getMacKeychainBypassArgs();
119
+ extraArgs.push(...macKeychainBypassArgs);
90
120
  const stealthConfig = await (0, _intunedJson.getStealthModeConfig)();
91
121
  if (stealthConfig.enabled && stealthConfig.type === "intunedBrowser") {
92
122
  extraArgs.push("--stealth-mode");
@@ -126,7 +156,8 @@ async function launchChromium(options) {
126
156
  }
127
157
  const viewport = null;
128
158
  const userAgent = process.env.__PLAYWRIGHT_USER_AGENT_OVERRIDE ?? (await getHeadlessUserAgent({
129
- executablePath
159
+ executablePath,
160
+ args: macKeychainBypassArgs
130
161
  }));
131
162
  const context = await playwright.chromium.launchPersistentContext(userDataDir, {
132
163
  userAgent,
@@ -136,7 +167,8 @@ async function launchChromium(options) {
136
167
  proxy,
137
168
  downloadsPath,
138
169
  args: extraArgs,
139
- ignoreDefaultArgs: defaultArgsToIgnore
170
+ ignoreDefaultArgs: defaultArgsToIgnore,
171
+ ignoreHTTPSErrors: ignoreHttpErrors
140
172
  });
141
173
  if (timeout !== undefined) {
142
174
  context.setDefaultTimeout(timeout * 1000);
@@ -17,10 +17,12 @@ export declare function withPlaywrightContext<R>(options: {
17
17
  proxy?: Proxy;
18
18
  headless: boolean;
19
19
  downloadsPath: string;
20
+ ignoreHttpErrors?: boolean;
20
21
  } & WithPlaywrightContextParameters, fn: WithPlaywrightContextWrappedFunction<R>): Promise<Ok<R, any> | Err<any, RunAutomationError>>;
21
22
  export declare function withPlaywrightContext<R>(options: {
22
23
  cdpAddress: string;
23
24
  cdpTargetId?: string;
25
+ ignoreHttpErrors?: boolean;
24
26
  } & WithPlaywrightContextParameters, fn: WithPlaywrightContextWrappedFunction<R>): Promise<Ok<R, any> | Err<any, RunAutomationError>>;
25
27
  export declare function loadSessionToContext({ context, session, }: {
26
28
  context: playwright.BrowserContext;
@@ -20,6 +20,7 @@ async function withPlaywrightContext({
20
20
  proxy,
21
21
  headless = true,
22
22
  downloadsPath,
23
+ ignoreHttpErrors: cliIgnoreHttpErrors,
23
24
  importFunction,
24
25
  apiName,
25
26
  apiParameters
@@ -27,6 +28,7 @@ async function withPlaywrightContext({
27
28
  let context;
28
29
  let page;
29
30
  try {
31
+ const ignoreHttpErrors = await (0, _launchBrowser.getIgnoreHttpErrorsFromConfig)(cliIgnoreHttpErrors);
30
32
  const setupContextHookResult = importFunction ? await (0, _setupContextHook.loadSetupContextHook)({
31
33
  importFunction
32
34
  }) : (0, _neverthrow.ok)(null);
@@ -41,7 +43,8 @@ async function withPlaywrightContext({
41
43
  context
42
44
  } = await (0, _launchBrowser.launchBrowser)({
43
45
  cdpAddress,
44
- cdpTargetId
46
+ cdpTargetId,
47
+ ignoreHttpErrors
45
48
  }));
46
49
  } else {
47
50
  ({
@@ -50,7 +53,8 @@ async function withPlaywrightContext({
50
53
  } = await (0, _launchBrowser.launchBrowser)({
51
54
  proxy,
52
55
  headless,
53
- downloadsPath
56
+ downloadsPath,
57
+ ignoreHttpErrors
54
58
  }));
55
59
  }
56
60
  return await fn(context, page);
@@ -63,7 +67,8 @@ async function withPlaywrightContext({
63
67
  page
64
68
  } = await (0, _launchBrowser.launchBrowser)({
65
69
  cdpAddress,
66
- cdpTargetId
70
+ cdpTargetId,
71
+ ignoreHttpErrors
67
72
  }));
68
73
  } else {
69
74
  const port = await (0, _portfinder.getPort)({
@@ -76,7 +81,8 @@ async function withPlaywrightContext({
76
81
  proxy,
77
82
  headless,
78
83
  downloadsPath,
79
- cdpPort: port
84
+ cdpPort: port,
85
+ ignoreHttpErrors
80
86
  }));
81
87
  hookCdpUrl = (0, _launchBrowser.getLocalCdpAddress)(port);
82
88
  }
@@ -147,6 +147,7 @@ async function runApi({
147
147
  headless: runOptions.headless,
148
148
  proxy: runOptions.proxy,
149
149
  downloadsPath,
150
+ ignoreHttpErrors: runOptions.ignoreHttpErrors,
150
151
  ...playwrightContextParameters
151
152
  }, runAutomationWithContext);
152
153
  } finally {
@@ -156,6 +157,7 @@ async function runApi({
156
157
  return await (0, _playwrightContext.withPlaywrightContext)({
157
158
  cdpAddress: runOptions.cdpAddress,
158
159
  cdpTargetId: runOptions.cdpTargetId,
160
+ ignoreHttpErrors: runOptions.ignoreHttpErrors,
159
161
  ...playwrightContextParameters
160
162
  }, runAutomationWithContext);
161
163
  }
@@ -222,12 +222,14 @@ var require_types = __commonJS({
222
222
  server: zod_1.default.string(),
223
223
  username: zod_1.default.string(),
224
224
  password: zod_1.default.string()
225
- }).optional()
225
+ }).optional(),
226
+ ignoreHttpErrors: zod_1.default.boolean().optional()
226
227
  });
227
228
  exports2.runApiCdpRunOptionsSchema = zod_1.default.object({
228
229
  environment: zod_1.default.literal("cdp"),
229
230
  cdpAddress: zod_1.default.string(),
230
- cdpTargetId: zod_1.default.string().optional()
231
+ cdpTargetId: zod_1.default.string().optional(),
232
+ ignoreHttpErrors: zod_1.default.boolean().optional()
231
233
  });
232
234
  exports2.runApiRunOptionsSchema = zod_1.default.discriminatedUnion("environment", [
233
235
  exports2.runApiStandaloneRunOptionsSchema,
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@intuned/runtime-dev",
3
- "version": "1.3.21-fix.0",
3
+ "version": "1.3.22-dev.5",
4
4
  "description": "Intuned runtime",
5
5
  "packageManager": "yarn@4.12.0",
6
6
  "main": "./dist/index.js",
@@ -33,7 +33,6 @@
33
33
  "intuned-auth-session-create": "vite-node ./src/commands/auth/run-create.ts",
34
34
  "intuned-auth-session-load": "vite-node ./src/commands/auth/load.ts",
35
35
  "intuned-ts-check": "yarn prepublishOnly && vite-node ./src/commands/ts-check.ts",
36
- "intuned": "vite-node ./src/commands/intuned-cli/main.ts",
37
36
  "intuned-get-headless-user-agent": "vite-node ./src/commands/get-headless-user-agent.ts",
38
37
  "build": "rm -rf dist && tsc -p tsconfig.json && yarn copy-dts && babel src --out-dir dist --extensions '.ts' && tsup && cp -r ./src/common/assets dist/common/assets",
39
38
  "test": "vitest run",
@@ -90,7 +89,7 @@
90
89
  "prettier": "2.8.0",
91
90
  "promptly": "3.2.0",
92
91
  "prompts": "^2.4.2",
93
- "rollup": "3.26.2",
92
+ "rollup": "3.30.0",
94
93
  "smol-toml": "^1.4.2",
95
94
  "source-map": "0.7.4",
96
95
  "terminal-kit": "^3.1.2",
@@ -101,6 +100,7 @@
101
100
  "typescript": "5.1.6",
102
101
  "uuid": "11.1.0",
103
102
  "wait-on": "7.2.0",
103
+ "which": "^6.0.1",
104
104
  "yaml": "2.8.1",
105
105
  "zod": "^3.21.4"
106
106
  },
@@ -1,7 +0,0 @@
1
- {
2
- "permissions": {
3
- "allow": [
4
- "Bash(npm info:*)"
5
- ]
6
- }
7
- }
@@ -1 +0,0 @@
1
- export declare const attemptCommand: import("commander").Command;
@@ -1,8 +0,0 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports.attemptCommand = void 0;
7
- var _command = require("./command");
8
- const attemptCommand = exports.attemptCommand = _command.program.command("attempt").description("Execute an Intuned attempt");
@@ -1 +0,0 @@
1
- export declare const attemptApiCommand: import("commander").Command;
@@ -1,30 +0,0 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports.attemptApiCommand = void 0;
7
- var _api = require("../controller/api");
8
- var _controller = require("../controller");
9
- var _zod = require("zod");
10
- var _types = require("./types");
11
- var _helpers = require("../helpers");
12
- var _attempt = require("./attempt.command");
13
- const argsSchema = _zod.z.tuple([_zod.z.string().min(1, "API name is required"), _zod.z.string().min(1, "Parameters are required")]);
14
- const optionsSchema = _types.baseCommandOptionsSchema.extend({
15
- authSession: _zod.z.string().optional(),
16
- outputFile: _zod.z.string().optional()
17
- });
18
- const attemptApiCommand = exports.attemptApiCommand = (0, _types.withBaseOptions)(_attempt.attemptCommand.command("api").description("Execute an Intuned API attempt with parameters").argument("<api-name>", "Name of the API to run").argument("<parameters>", "Path to the JSON file containing API parameters OR the parameters as a JSON string").option("-a, --auth-session <id>", "ID of the AuthSession to use for the API. This is expected to be in ./auth-sessions-instances/<id>.json").option("-o, --output-file <path>", "output file path")).action((0, _helpers.cliCommandWrapper)(argsSchema, optionsSchema, async ([apiName, parameters], {
19
- authSession,
20
- ...rest
21
- }) => {
22
- await (0, _helpers.assertAuthConsistent)(authSession);
23
- const parametersData = await (0, _controller.loadParameters)(parameters);
24
- await (0, _api.executeAttemptApiCLI)({
25
- apiName,
26
- inputData: parametersData,
27
- authSessionId: authSession,
28
- ...rest
29
- });
30
- }));
@@ -1 +0,0 @@
1
- export declare const attemptAuthSessionCommand: import("commander").Command;
@@ -1,8 +0,0 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports.attemptAuthSessionCommand = void 0;
7
- var _attempt = require("./attempt.command");
8
- const attemptAuthSessionCommand = exports.attemptAuthSessionCommand = _attempt.attemptCommand.command("authsession").description("Manage AuthSessions");
@@ -1 +0,0 @@
1
- export declare const attemptAuthSessionCheckCommand: import("commander").Command;
@@ -1,19 +0,0 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports.attemptAuthSessionCheckCommand = void 0;
7
- var _zod = require("zod");
8
- var _authSession = require("../controller/authSession");
9
- var _attempt_authsession = require("./attempt_authsession.command");
10
- var _helpers = require("../helpers");
11
- var _types = require("./types");
12
- const argsSchema = _zod.z.tuple([_zod.z.string().min(1, "ID of the AuthSession is required")]);
13
- const attemptAuthSessionCheckCommand = exports.attemptAuthSessionCheckCommand = (0, _types.withBaseOptions)(_attempt_authsession.attemptAuthSessionCommand.command("check").description("Check an existing AuthSession").argument("<id>", "ID of the AuthSession to check")).action((0, _helpers.cliCommandWrapper)(argsSchema, _types.baseCommandOptionsSchema, async ([id], options) => {
14
- await (0, _helpers.assertAuthEnabled)();
15
- await (0, _authSession.executeAttemptCheckAuthSessionCLI)({
16
- id,
17
- ...options
18
- });
19
- }));
@@ -1 +0,0 @@
1
- export declare const attemptAuthSessionCreateCommand: import("commander").Command;
@@ -1,24 +0,0 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports.attemptAuthSessionCreateCommand = void 0;
7
- var _controller = require("../controller");
8
- var _zod = require("zod");
9
- var _authSession = require("../controller/authSession");
10
- var _attempt_authsession = require("./attempt_authsession.command");
11
- var _helpers = require("../helpers");
12
- var _types = require("./types");
13
- const argsSchema = _zod.z.tuple([_zod.z.string().min(1, "Parameters are required")]);
14
- const optionsSchema = _types.baseCommandOptionsSchema.extend({
15
- id: _zod.z.string().optional()
16
- });
17
- const attemptAuthSessionCreateCommand = exports.attemptAuthSessionCreateCommand = (0, _types.withBaseOptions)(_attempt_authsession.attemptAuthSessionCommand.command("create").description("Create a new AuthSession").argument("<parameters>", "Parameters for the AuthSession command").option("--id <id>", "ID of the AuthSession to use for the command. Defaults to ./auth-sessions-instances/[current timestamp].json")).action((0, _helpers.cliCommandWrapper)(argsSchema, optionsSchema, async ([parameters], options) => {
18
- await (0, _helpers.assertAuthEnabled)();
19
- const authSessionInput = (await (0, _controller.loadParameters)(parameters)) ?? {};
20
- await (0, _authSession.executeAttemptCreateAuthSessionCLI)({
21
- input: authSessionInput,
22
- ...options
23
- });
24
- }));
@@ -1 +0,0 @@
1
- export declare const authSessionCommand: import("commander").Command;
@@ -1,8 +0,0 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports.authSessionCommand = void 0;
7
- var _command = require("./command");
8
- const authSessionCommand = exports.authSessionCommand = _command.program.command("authsession").description("Manage AuthSessions");
@@ -1 +0,0 @@
1
- export declare const authSessionRecordCommand: import("commander").Command | null;
@@ -1,32 +0,0 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports.authSessionRecordCommand = void 0;
7
- var _zod = require("zod");
8
- var _authSession = require("../controller/authSession");
9
- var _helpers = require("../helpers");
10
- var _authsession = require("./authsession.command");
11
- var _run_authsession = require("./run_authsession.command");
12
- var _types = require("./types");
13
- const optionsSchema = _run_authsession.baseRunAuthSessionCommandOptionsSchema.extend({
14
- id: _zod.z.string().optional()
15
- });
16
- const isAuthSessionRecorderEnabled = process.env.INTUNED_AUTH_SESSION_RECORDER_ENABLED === "true";
17
- const authSessionRecordCommand = exports.authSessionRecordCommand = isAuthSessionRecorderEnabled ? (0, _types.withBaseOptions)(_authsession.authSessionCommand.command("record").description("Record a new AuthSession").option("--id <id>", "ID of the AuthSession to use for the command. Defaults to auth-session-[current timestamp]").option("--check-attempts <number>", "Number of attempts to check the AuthSession validity", "1")).action((0, _helpers.cliCommandWrapper)(undefined, optionsSchema, async (_, {
18
- checkAttempts,
19
- ...rest
20
- }) => {
21
- await (0, _helpers.assertAuthEnabled)();
22
- const {
23
- startUrl,
24
- finishUrl
25
- } = await (0, _helpers.getAuthSessionRecorderParameters)();
26
- await (0, _authSession.executeRecordAuthSessionCLI)({
27
- checkRetries: checkAttempts,
28
- startUrl,
29
- finishUrl,
30
- ...rest
31
- });
32
- })) : null;
@@ -1 +0,0 @@
1
- export declare const authSessionScaffoldCommand: import("commander").Command;
@@ -1,16 +0,0 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports.authSessionScaffoldCommand = void 0;
7
- var _zod = require("zod");
8
- var _helpers = require("../helpers");
9
- var _authsession = require("./authsession.command");
10
- var _types = require("./types");
11
- var _scaffold = require("../controller/scaffold");
12
- const optionsSchema = _zod.z.object({});
13
- const authSessionScaffoldCommand = exports.authSessionScaffoldCommand = (0, _types.withBaseOptions)(_authsession.authSessionCommand.command("scaffold").description("Scaffold AuthSession files")).action((0, _helpers.cliCommandWrapper)(undefined, optionsSchema, async _ => {
14
- await (0, _helpers.assertAuthEnabled)();
15
- await (0, _scaffold.scaffoldAuthSessionFiles)();
16
- }));
@@ -1 +0,0 @@
1
- export declare const buildCommand: import("commander").Command;
@@ -1,12 +0,0 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports.buildCommand = void 0;
7
- var _command = require("./command");
8
- var _build = require("../controller/build");
9
- var _helpers = require("../helpers");
10
- const buildCommand = exports.buildCommand = _command.program.command("build").description("Build Intuned project").action((0, _helpers.cliCommandWrapper)(undefined, undefined, async () => {
11
- await (0, _build.runBuild)();
12
- }));
@@ -1,2 +0,0 @@
1
- import { Command } from "commander";
2
- export declare const program: Command;
@@ -1,9 +0,0 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports.program = void 0;
7
- var _commander = require("commander");
8
- const program = exports.program = new _commander.Command();
9
- program.name("intuned").description("Intuned CLI for creating, developing and deploying Intuned projects").version("1.0.0").enablePositionalOptions(true);
@@ -1 +0,0 @@
1
- export declare const deployCommand: import("commander").Command;
@@ -1,42 +0,0 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports.deployCommand = void 0;
7
- var _command = require("./command");
8
- var _dotenv = _interopRequireDefault(require("dotenv"));
9
- var _provision = require("../controller/provision");
10
- var _deploy = require("../controller/deploy");
11
- var _helpers = require("../helpers");
12
- var _provision2 = require("./provision.command");
13
- var _prompts = require("../helpers/prompts");
14
- function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
15
- _dotenv.default.config({
16
- path: `.env`
17
- });
18
- const deployCommand = exports.deployCommand = _command.program.command("deploy").description("Deploy an Intuned project to the platform").argument("[project-name]", "Name of the project to deploy").option("-w, --workspace-id <id>", "Your Intuned workspace ID").option("-k, --api-key <key>", "Your Intuned API key").action((0, _helpers.cliCommandWrapper)(_provision2.saveOrDeployArgsSchema, _provision2.saveOrDeployOptionsSchema, async ([projectName], options) => {
19
- const {
20
- isValid,
21
- errorMessage
22
- } = await (0, _provision.validateIntunedProject)();
23
- if (!isValid) {
24
- const message = `^r^+Project to be deployed is not valid:^:^R ${errorMessage}:\n`;
25
- throw new _helpers.CLIError(message, {
26
- autoColor: false
27
- });
28
- }
29
- const _projectName = projectName || (await (0, _helpers.loadIntunedJson)()).projectName || (await (0, _prompts.promptForProjectName)(name => {
30
- const result = (0, _provision.validateProjectName)(name);
31
- return result.isValid || result.errorMessage;
32
- }));
33
- if (!_projectName) {
34
- throw new _helpers.CLIError(`Project name is required. Set it in ${await (0, _helpers.getIntunedSettingsFile)()} or provide it as an argument by running 'intuned deploy <project-name>'.`);
35
- }
36
- const projectNameValidation = (0, _provision.validateProjectName)(_projectName);
37
- if (!projectNameValidation.isValid) {
38
- throw new _helpers.CLIError(`Invalid project name: ${projectNameValidation.errorMessage}`);
39
- }
40
- const auth = await (0, _helpers.getAuthCredentials)(options);
41
- await (0, _deploy.runDeployProject)(_projectName, auth);
42
- }));
@@ -1,18 +0,0 @@
1
- export * from "./command";
2
- export * from "./build.command";
3
- export * from "./deploy.command";
4
- export * from "./provision.command";
5
- export * from "./run.command";
6
- export * from "./run_api.command";
7
- export * from "./run_authsession.command";
8
- export * from "./run_authsession_create.command";
9
- export * from "./run_authsession_update.command";
10
- export * from "./run_authsession_validate.command";
11
- export * from "./attempt.command";
12
- export * from "./attempt_api.command";
13
- export * from "./attempt_authsession.command";
14
- export * from "./attempt_authsession_create.command";
15
- export * from "./attempt_authsession_check.command";
16
- export * from "./authsession.command";
17
- export * from "./authsession_record.command";
18
- export * from "./authsession_scaffold.command";