@intuned/runtime-dev 1.2.8-dev-peer-script → 1.5.0-dev-52

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.
@@ -17,6 +17,7 @@ var _nanoid = require("nanoid");
17
17
  var _chalk = _interopRequireDefault(require("chalk"));
18
18
  var _runApi = require("../../common/runApi");
19
19
  var _tsNodeImport = require("../common/tsNodeImport");
20
+ var _isNil = _interopRequireDefault(require("lodash/isNil"));
20
21
  function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
21
22
  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
23
  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; }
@@ -95,7 +96,7 @@ async function executeCLI(apiName, mode, inputData, options) {
95
96
  _Logger.logger.info("This will only take an effect if this API run was part of a job.");
96
97
  }
97
98
  }
98
- _commander.program.description("run the user function in the cli for testing purposes").option("-i, --input [file]", "input json file").option("-j, --json [json]", "input json string").option("--cdpAddress <cdpAddress>", "CDP address", "http://localhost:9222").option("--authSessionPath <authSession>", "auth session to use when executing the api").option("--outputFileId <outputFileId>", "the output file id to save the result in").option("--proxy <proxy>", "proxy to use").argument("[apiName]", "name of the api", "default").allowUnknownOption().addArgument(new _commander.Argument("<mode>", "mode of execution").choices(["vanilla", "playwright", "playwright-standalone", "playwright-headless"]).default("playwright-standalone").argOptional()).action(async (apiName, mode, options) => {
99
+ _commander.program.description("run the user function in the cli for testing purposes").option("-i, --input [file]", "input json file").option("-j, --json [json]", "input json string").option("--cdpAddress <cdpAddress>", "CDP address", "http://localhost:9222").option("--authSessionPath <authSession>", "auth session to use when executing the api").option("--outputFileId <outputFileId>", "the output file id to save the result in").option("--proxy <proxy>", "proxy to use").option("--authSessionPath <authSessionParameters>", "parameters used to create the used auth session").argument("[apiName]", "name of the api", "default").allowUnknownOption().addArgument(new _commander.Argument("<mode>", "mode of execution").choices(["vanilla", "playwright", "playwright-standalone", "playwright-headless"]).default("playwright-standalone").argOptional()).action(async (apiName, mode, options) => {
99
100
  let inputData = null;
100
101
  if (options.input) {
101
102
  inputData = await fs.readJSON(options.input);
@@ -104,11 +105,16 @@ _commander.program.description("run the user function in the cli for testing pur
104
105
  } else {
105
106
  inputData = {};
106
107
  }
108
+ let authSessionParametersJson = undefined;
109
+ if (!(0, _isNil.default)(options === null || options === void 0 ? void 0 : options.authSessionParameters)) {
110
+ authSessionParametersJson = JSON.parse(options.authSessionParameters);
111
+ }
107
112
  await (0, _asyncLocalStorage.runWithContext)({
108
113
  runEnvironment: _enums.RunEnvironment.IDE,
109
114
  extendedPayloads: [],
110
115
  runId: (0, _nanoid.nanoid)(),
111
- proxy: options.proxy
116
+ proxy: options.proxy,
117
+ getAuthSessionParameters: authSessionParametersJson !== undefined ? async () => authSessionParametersJson : undefined
112
118
  }, () => executeCLI(apiName, mode, inputData, options));
113
119
  process.exit(0);
114
120
  });
@@ -9,15 +9,20 @@ var _dotenv = _interopRequireDefault(require("dotenv"));
9
9
  var _constants = require("../../common/constants");
10
10
  var _runApi = require("../../common/runApi");
11
11
  var _tsNodeImport = require("../common/tsNodeImport");
12
+ var _enums = require("../../runtime/enums");
13
+ var _nanoid = require("nanoid");
14
+ var _asyncLocalStorage = require("../../common/asyncLocalStorage");
15
+ var _isNil = _interopRequireDefault(require("lodash/isNil"));
12
16
  function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
13
17
  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
18
  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; }
15
19
  _dotenv.default.config({
16
20
  path: `.env`
17
21
  });
18
- _commander.program.description("run auth session check").option("--cdpAddress <cdpAddress>", "CDP address", "http://localhost:9222").option("--authSessionPath <authSession>", "auth session to use when executing the check").allowUnknownOption().addArgument(new _commander.Argument("<mode>", "mode of execution").choices(["vanilla", "playwright", "playwright-standalone"]).default("playwright-standalone").argOptional()).action(async (mode, {
22
+ _commander.program.description("run auth session check").option("--cdpAddress <cdpAddress>", "CDP address", "http://localhost:9222").option("--authSessionPath <authSession>", "auth session to use when executing the check").option("--authSessionParameters <authSessionParameters>", "parameters used to create the used auth session").allowUnknownOption().addArgument(new _commander.Argument("<mode>", "mode of execution").choices(["vanilla", "playwright", "playwright-standalone"]).default("playwright-standalone").argOptional()).action(async (mode, {
19
23
  cdpAddress,
20
- authSessionPath
24
+ authSessionPath,
25
+ authSessionParameters
21
26
  }) => {
22
27
  const setting = await (0, _settings.getSettings)();
23
28
  if (!setting.authSessions.enabled) {
@@ -27,7 +32,16 @@ _commander.program.description("run auth session check").option("--cdpAddress <c
27
32
  if (!fs.exists(checkFilePath)) {
28
33
  throw new Error("auth session check file not found");
29
34
  }
30
- const runApiResult = await (0, _runApi.runApi)({
35
+ let authSessionParametersJson = undefined;
36
+ if (!(0, _isNil.default)(authSessionParameters)) {
37
+ authSessionParametersJson = JSON.parse(authSessionParameters);
38
+ }
39
+ const runApiResult = await (0, _asyncLocalStorage.runWithContext)({
40
+ runEnvironment: _enums.RunEnvironment.IDE,
41
+ extendedPayloads: [],
42
+ runId: (0, _nanoid.nanoid)(),
43
+ getAuthSessionParameters: authSessionParametersJson !== undefined ? async () => authSessionParametersJson : undefined
44
+ }, async () => await (0, _runApi.runApi)({
31
45
  automationFunction: {
32
46
  name: `${_constants.AUTH_SESSIONS_FOLDER_NAME}/check`
33
47
  },
@@ -44,7 +58,7 @@ _commander.program.description("run auth session check").option("--cdpAddress <c
44
58
  runCheck: false
45
59
  },
46
60
  importFunction: _tsNodeImport.tsNodeImport
47
- });
61
+ }));
48
62
  if (runApiResult.isErr()) {
49
63
  if (runApiResult.error instanceof _runApi.AutomationError) {
50
64
  throw runApiResult.error.error;
@@ -94,7 +94,8 @@ _commander.program.description("run auth session create").option("--cdpAddress <
94
94
  await (0, _asyncLocalStorage.runWithContext)({
95
95
  runEnvironment: _enums.RunEnvironment.IDE,
96
96
  extendedPayloads: [],
97
- runId: (0, _nanoid.nanoid)()
97
+ runId: (0, _nanoid.nanoid)(),
98
+ getAuthSessionParameters: async () => inputData
98
99
  }, runCreate);
99
100
  process.exit(0);
100
101
  });
@@ -16,6 +16,7 @@ var _promises = require("timers/promises");
16
16
  var _jwtTokenManager = require("../../common/jwtTokenManager");
17
17
  var _formatZodError = require("../../common/formatZodError");
18
18
  var _neverthrow = require("neverthrow");
19
+ var _getAuthSessionParameters = require("../../common/backendFunctions/getAuthSessionParameters");
19
20
  function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
20
21
  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); }
21
22
  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; }
@@ -124,6 +125,7 @@ function runAutomationCLI(importFunction) {
124
125
  });
125
126
  }
126
127
  },
128
+ getAuthSessionParameters: _getAuthSessionParameters.getAuthSessionParameters,
127
129
  ...(message.parameters.context ?? {}),
128
130
  proxy: getProxyUrlFromRunOptions(message.parameters.runOptions)
129
131
  };
@@ -5,12 +5,11 @@ export declare const asyncLocalStorage: AsyncLocalStorage<InternalRunInfo>;
5
5
  export declare function runWithContext<R, TArgs extends any[]>(contextData: InternalRunInfo, callback: (...args: TArgs) => R, ...args: TArgs): R;
6
6
  interface TimeoutInfo {
7
7
  extendTimeoutCallback?: () => Promise<void>;
8
- timeoutDuration?: number;
9
- timeoutTimestamp?: number;
10
8
  }
11
9
  export interface InternalRunInfo extends RunInfo {
12
10
  extendedPayloads: Payload[];
13
11
  timeoutInfo?: TimeoutInfo;
12
+ getAuthSessionParameters?: () => Promise<any>;
14
13
  }
15
14
  export declare function getExecutionContext(): InternalRunInfo | undefined;
16
15
  export {};
@@ -0,0 +1 @@
1
+ export declare function getAuthSessionParameters(): Promise<any>;
@@ -0,0 +1,38 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.getAuthSessionParameters = getAuthSessionParameters;
7
+ var _isNil = _interopRequireDefault(require("lodash/isNil"));
8
+ var _asyncLocalStorage = require("../asyncLocalStorage");
9
+ var _zod = require("zod");
10
+ var _jwtTokenManager = require("../jwtTokenManager");
11
+ function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
12
+ const authSessionParametersResponseSchema = _zod.z.object({
13
+ parameters: _zod.z.any().refine(v => v !== undefined)
14
+ });
15
+ async function getAuthSessionParameters() {
16
+ const context = (0, _asyncLocalStorage.getExecutionContext)();
17
+ if (!context) {
18
+ throw new Error("getAuthSessionParameters failed due to an internal error (context was not found).");
19
+ }
20
+ const authSessionId = context.authSessionId;
21
+ if ((0, _isNil.default)(authSessionId)) {
22
+ throw new Error("Auth sessions are not enabled");
23
+ }
24
+ const response = await (0, _jwtTokenManager.callBackendFunctionWithToken)(`auth-session/${authSessionId}/parameters`, {
25
+ method: "GET"
26
+ });
27
+ const body = await response.text();
28
+ if (!response.ok) {
29
+ throw new Error(`getAuthSessionParameters failed with status ${response.status}: ${body}`);
30
+ }
31
+ let json;
32
+ try {
33
+ json = JSON.parse(body);
34
+ } catch (e) {
35
+ throw new Error(`Expected JSON response, but got ${body}`);
36
+ }
37
+ return authSessionParametersResponseSchema.parse(json).parameters;
38
+ }
@@ -27,7 +27,7 @@ const userCLIScripts = exports.userCLIScripts = {
27
27
  };
28
28
  const tsConfigCli = exports.tsConfigCli = {
29
29
  compilerOptions: {
30
- moduleResolution: "node",
30
+ moduleResolution: "bundler",
31
31
  target: "ES2021",
32
32
  outDir: "./dist",
33
33
  sourceMap: false,
@@ -1,5 +1,5 @@
1
1
  export declare const templateIds: string[];
2
- export type TemplateId = (typeof templateIds)[number];
2
+ export type TemplateId = typeof templateIds[number];
3
3
  /**
4
4
  * A simple, tree-like structure to describe the contents of a folder to be mounted.
5
5
  *
@@ -1,4 +1,4 @@
1
- import * as playwright from "playwright";
1
+ import * as playwright from "playwright-core";
2
2
  interface StorageEntry {
3
3
  name: string;
4
4
  value: string;
@@ -10,7 +10,7 @@ export declare const maxLevelsExceededErrorCode = "MaxLevelsExceededError";
10
10
  export declare const automationError = "AutomationError";
11
11
  export declare const internalInvalidInputErrorCode = "InternalInvalidInputError";
12
12
  export declare const runAutomationErrorCodes: readonly ["APINotFoundError", "InvalidAPIError", "InvalidCheckError", "AbortedError", "AuthRequiredError", "AuthCheckNotFoundError", "AuthCheckFailedError", "MaxLevelsExceededError", "AutomationError", "InternalInvalidInputError"];
13
- export type RunAutomationErrorCode = (typeof runAutomationErrorCodes)[number];
13
+ export type RunAutomationErrorCode = typeof runAutomationErrorCodes[number];
14
14
  export declare abstract class RunAutomationError<T = any> {
15
15
  code: RunAutomationErrorCode;
16
16
  statusCode: number;
package/dist/index.d.ts CHANGED
@@ -1,4 +1,4 @@
1
- export { extendPayload, extendTimeout, runInfo, RunError, requestMultipleChoice, requestOTP, } from "./runtime";
1
+ export { extendPayload, extendTimeout, runInfo, RunError, requestMultipleChoice, requestOTP, getAuthSessionParameters, } from "./runtime";
2
2
  export { runWithContext, getExecutionContext, } from "./common/asyncLocalStorage";
3
3
  export { getDownloadDirectoryPath } from "./runtime/downloadDirectory";
4
4
  export { getProductionPlaywrightConstructs } from "./common/getPlaywrightConstructs";
package/dist/index.js CHANGED
@@ -21,6 +21,12 @@ Object.defineProperty(exports, "extendTimeout", {
21
21
  return _runtime.extendTimeout;
22
22
  }
23
23
  });
24
+ Object.defineProperty(exports, "getAuthSessionParameters", {
25
+ enumerable: true,
26
+ get: function () {
27
+ return _runtime.getAuthSessionParameters;
28
+ }
29
+ });
24
30
  Object.defineProperty(exports, "getDownloadDirectoryPath", {
25
31
  enumerable: true,
26
32
  get: function () {
@@ -99,6 +99,7 @@ export interface RunInfo {
99
99
  jobRunId?: string;
100
100
  queueId?: string;
101
101
  proxy?: string;
102
+ authSessionId?: string;
102
103
  }
103
104
 
104
105
  /**
@@ -17,13 +17,6 @@ function extendTimeout() {
17
17
  if (!timeoutInfo) {
18
18
  return;
19
19
  }
20
- if (timeoutInfo.timeoutTimestamp !== undefined && timeoutInfo.timeoutDuration !== undefined) {
21
- const newTimeoutStamp = Date.now() + timeoutInfo.timeoutDuration;
22
- if (newTimeoutStamp - timeoutInfo.timeoutTimestamp < _DEBOUNCE_TIME) {
23
- return;
24
- }
25
- timeoutInfo.timeoutTimestamp = newTimeoutStamp;
26
- }
27
20
  if (timeoutInfo.extendTimeoutCallback !== undefined) {
28
21
  void timeoutInfo.extendTimeoutCallback().catch(() => undefined);
29
22
  }
@@ -0,0 +1 @@
1
+ export declare function getAuthSessionParameters(): Promise<any>;
@@ -0,0 +1,20 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.getAuthSessionParameters = getAuthSessionParameters;
7
+ var _asyncLocalStorage = require("../common/asyncLocalStorage");
8
+ async function getAuthSessionParameters() {
9
+ const context = (0, _asyncLocalStorage.getExecutionContext)();
10
+ if (!context) {
11
+ throw new Error("getAuthSessionParameters failed due to an internal error (context was not found).");
12
+ }
13
+ const {
14
+ getAuthSessionParameters
15
+ } = context;
16
+ if (!getAuthSessionParameters) {
17
+ throw new Error("getAuthSessionParameters failed due to an internal error (helper was not found on context).");
18
+ }
19
+ return await getAuthSessionParameters();
20
+ }
@@ -1,5 +1,6 @@
1
1
  export { extendPayload } from "./extendPayload";
2
2
  export { extendTimeout } from "./extendTimeout";
3
+ export { getAuthSessionParameters } from "./getAuthSessionParameters";
3
4
  export { runInfo } from "./runInfo";
4
5
  export { RunError } from "./RunError";
5
6
  export { requestMultipleChoice, requestOTP } from "./requestMoreInfo";
@@ -21,6 +21,12 @@ Object.defineProperty(exports, "extendTimeout", {
21
21
  return _extendTimeout.extendTimeout;
22
22
  }
23
23
  });
24
+ Object.defineProperty(exports, "getAuthSessionParameters", {
25
+ enumerable: true,
26
+ get: function () {
27
+ return _getAuthSessionParameters.getAuthSessionParameters;
28
+ }
29
+ });
24
30
  Object.defineProperty(exports, "getDownloadDirectoryPath", {
25
31
  enumerable: true,
26
32
  get: function () {
@@ -47,6 +53,7 @@ Object.defineProperty(exports, "runInfo", {
47
53
  });
48
54
  var _extendPayload = require("./extendPayload");
49
55
  var _extendTimeout = require("./extendTimeout");
56
+ var _getAuthSessionParameters = require("./getAuthSessionParameters");
50
57
  var _runInfo = require("./runInfo");
51
58
  var _RunError = require("./RunError");
52
59
  var _requestMoreInfo = require("./requestMoreInfo");
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@intuned/runtime-dev",
3
- "version": "1.2.8-dev-peer-script",
3
+ "version": "1.5.0-dev-52",
4
4
  "description": "Intuned runtime",
5
5
  "exports": {
6
6
  ".": "./dist/index.js",
@@ -83,6 +83,7 @@
83
83
  "minimatch": "10.0.1",
84
84
  "nanoid": "3",
85
85
  "neverthrow": "6.1.0",
86
+ "playwright-extra": "4.3.6",
86
87
  "prettier": "2.8.0",
87
88
  "promptly": "3.2.0",
88
89
  "rollup": "3.26.2",
@@ -1,14 +1,11 @@
1
1
  {
2
2
  "compilerOptions": {
3
- "module": "ESNext",
4
3
  "target": "ES2021",
5
- "lib": [
6
- "dom",
7
- "es2021"
8
- ],
4
+ "lib": ["dom", "es2021"],
9
5
  "resolveJsonModule": true,
10
6
  "esModuleInterop": true,
11
- "moduleResolution": "node",
7
+ "moduleResolution": "bundler",
8
+ "module": "esnext",
12
9
  "skipLibCheck": true
13
10
  }
14
- }
11
+ }