@intuned/runtime-dev 0.1.0-test.10 → 0.1.0-test.12

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 (103) hide show
  1. package/.babelrc +1 -2
  2. package/dist/commands/api/run.js +170 -105
  3. package/dist/commands/api/run.ts +105 -0
  4. package/dist/commands/auth-sessions/load.js +26 -28
  5. package/dist/commands/auth-sessions/load.ts +30 -0
  6. package/dist/commands/auth-sessions/run-check.js +53 -52
  7. package/dist/commands/auth-sessions/run-check.ts +51 -0
  8. package/dist/commands/auth-sessions/run-create.js +96 -91
  9. package/dist/commands/auth-sessions/run-create.ts +91 -0
  10. package/dist/commands/browser/save-state.js +16 -14
  11. package/dist/commands/browser/save-state.ts +14 -0
  12. package/dist/commands/browser/start-browser.js +11 -11
  13. package/dist/commands/browser/start-browser.ts +11 -0
  14. package/dist/commands/build.js +108 -75
  15. package/dist/commands/build.ts +78 -0
  16. package/dist/commands/common/browserUtils.js +51 -53
  17. package/dist/commands/common/browserUtils.ts +45 -0
  18. package/dist/commands/common/getDefaultExportFromFile.js +12 -17
  19. package/dist/commands/common/getDefaultExportFromFile.ts +11 -0
  20. package/dist/commands/common/getFirstLineNumber.js +93 -93
  21. package/dist/commands/common/{getFirstLineNumber.test.js → getFirstLineNumber.test.ts} +46 -51
  22. package/dist/commands/common/getFirstLineNumber.ts +96 -0
  23. package/dist/commands/common/sendMessageToClient.js +4 -9
  24. package/dist/commands/common/sendMessageToClient.ts +3 -0
  25. package/dist/commands/common/utils/fileUtils.js +22 -32
  26. package/dist/commands/common/utils/fileUtils.ts +23 -0
  27. package/dist/commands/common/utils/settings.js +19 -27
  28. package/dist/commands/common/utils/settings.ts +22 -0
  29. package/dist/commands/common/utils/unixSocket.js +43 -43
  30. package/dist/commands/common/utils/unixSocket.ts +38 -0
  31. package/dist/commands/common/utils/webTemplate.js +27 -29
  32. package/dist/commands/common/utils/webTemplate.ts +22 -0
  33. package/dist/commands/interface/run.js +151 -150
  34. package/dist/commands/interface/run.ts +156 -0
  35. package/dist/commands/ts-check.js +49 -49
  36. package/dist/commands/ts-check.ts +50 -0
  37. package/dist/common/Logger/Logger/index.d.ts +1 -1
  38. package/dist/common/Logger/Logger/index.js +42 -55
  39. package/dist/common/Logger/Logger/index.ts +53 -0
  40. package/dist/common/Logger/Logger/types.js +1 -5
  41. package/dist/common/Logger/Logger/types.ts +1 -0
  42. package/dist/common/Logger/index.d.ts +1 -1
  43. package/dist/common/Logger/index.js +42 -55
  44. package/dist/common/Logger/index.ts +53 -0
  45. package/dist/common/Logger/types.js +1 -5
  46. package/dist/common/Logger/types.ts +1 -0
  47. package/dist/common/asyncLocalStorage/index.js +8 -16
  48. package/dist/common/asyncLocalStorage/index.ts +9 -0
  49. package/dist/common/cleanEnvironmentVariables.js +12 -16
  50. package/dist/common/cleanEnvironmentVariables.ts +10 -0
  51. package/dist/common/constants.js +1 -7
  52. package/dist/common/constants.ts +1 -0
  53. package/dist/common/contextStorageStateHelpers.js +38 -47
  54. package/dist/common/contextStorageStateHelpers.ts +43 -0
  55. package/dist/common/getPlaywrightConstructs.d.ts +1 -1
  56. package/dist/common/getPlaywrightConstructs.js +196 -177
  57. package/dist/common/getPlaywrightConstructs.ts +181 -0
  58. package/dist/common/jwtTokenManager.js +79 -76
  59. package/dist/common/jwtTokenManager.ts +71 -0
  60. package/dist/common/runApi/errors.d.ts +1 -1
  61. package/dist/common/runApi/errors.js +150 -159
  62. package/dist/common/runApi/errors.ts +154 -0
  63. package/dist/common/runApi/index.d.ts +4 -4
  64. package/dist/common/runApi/index.js +220 -269
  65. package/dist/common/runApi/index.ts +253 -0
  66. package/dist/common/runApi/types.d.ts +1 -1
  67. package/dist/common/runApi/types.js +56 -49
  68. package/dist/common/runApi/types.ts +43 -0
  69. package/dist/common/settingsSchema.js +10 -15
  70. package/dist/common/settingsSchema.ts +9 -0
  71. package/dist/common/telemetry.js +30 -28
  72. package/dist/common/telemetry.ts +23 -0
  73. package/dist/index.d.ts +4 -4
  74. package/dist/index.js +4 -69
  75. package/dist/index.ts +4 -0
  76. package/dist/runtime/RunError.d.ts +1 -1
  77. package/dist/runtime/RunError.js +11 -18
  78. package/dist/runtime/RunError.ts +12 -0
  79. package/dist/runtime/downloadDirectory.js +13 -19
  80. package/dist/runtime/downloadDirectory.ts +13 -0
  81. package/dist/runtime/enums.d.ts +1 -11
  82. package/dist/runtime/enums.js +12 -18
  83. package/dist/runtime/enums.ts +12 -0
  84. package/dist/runtime/executionHelpers.test.ts +51 -0
  85. package/dist/runtime/export.d.ts +1 -202
  86. package/dist/runtime/extendPayload.d.ts +1 -1
  87. package/dist/runtime/extendPayload.js +15 -21
  88. package/dist/runtime/extendPayload.ts +15 -0
  89. package/dist/runtime/extendTimeout.js +21 -28
  90. package/dist/runtime/extendTimeout.ts +24 -0
  91. package/dist/runtime/index.d.ts +7 -7
  92. package/dist/runtime/index.js +6 -53
  93. package/dist/runtime/index.ts +6 -0
  94. package/dist/runtime/requestMoreInfo.js +16 -23
  95. package/dist/runtime/requestMoreInfo.ts +18 -0
  96. package/dist/runtime/runInfo.d.ts +1 -1
  97. package/dist/runtime/runInfo.js +14 -21
  98. package/dist/runtime/runInfo.ts +15 -0
  99. package/package.json +3 -2
  100. package/tsconfig.json +1 -1
  101. package/dist/runtime/enums.d.js +0 -5
  102. package/dist/runtime/executionHelpers.test.js +0 -53
  103. package/dist/runtime/export.d.js +0 -5
@@ -1,60 +1,47 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports.logger = void 0;
7
- var _nodeUtil = require("node:util");
8
- var _chalk = _interopRequireDefault(require("chalk"));
9
- function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
10
- const format = _nodeUtil.formatWithOptions.bind(undefined, {
11
- colors: true
12
- });
1
+ import { formatWithOptions } from "node:util";
2
+ import chalk from "chalk";
3
+ const format = formatWithOptions.bind(undefined, { colors: true });
13
4
  const LOG_LEVEL_COLORS = {
14
- TRACE: _chalk.default.gray,
15
- DEBUG: _chalk.default.blue,
16
- INFO: _chalk.default.green,
17
- WARN: _chalk.default.yellow,
18
- ERROR: _chalk.default.red
5
+ TRACE: chalk.gray,
6
+ DEBUG: chalk.blue,
7
+ INFO: chalk.green,
8
+ WARN: chalk.yellow,
9
+ ERROR: chalk.red,
19
10
  };
20
11
  class Logger {
21
- logFunction(entry) {
22
- const {
23
- level,
24
- timestamp,
25
- message,
26
- meta
27
- } = entry;
28
- const date = new Date(timestamp);
29
- const levelColor = LOG_LEVEL_COLORS[level];
30
- if (meta === undefined) {
31
- process.stderr.write(`${format(date)} [@intuned/sdk][${levelColor(level)}] ${message}\n`);
32
- } else {
33
- process.stderr.write(`${format(date)} [@intuned/sdk][${levelColor(level)}] ${message} ${format(meta)}\n`);
12
+ logFunction(entry) {
13
+ const { level, timestamp, message, meta } = entry;
14
+ const date = new Date(timestamp);
15
+ const levelColor = LOG_LEVEL_COLORS[level];
16
+ if (meta === undefined) {
17
+ process.stderr.write(`${format(date)} [@intuned/sdk][${levelColor(level)}] ${message}\n`);
18
+ }
19
+ else {
20
+ process.stderr.write(`${format(date)} [@intuned/sdk][${levelColor(level)}] ${message} ${format(meta)}\n`);
21
+ }
22
+ }
23
+ log(level, message, meta) {
24
+ this.logFunction({
25
+ level,
26
+ message,
27
+ meta: meta && Object.keys(meta).length === 0 ? undefined : meta,
28
+ timestamp: Date.now(),
29
+ });
30
+ }
31
+ trace(message, meta) {
32
+ this.log("TRACE", message, meta);
33
+ }
34
+ debug(message, meta) {
35
+ this.log("DEBUG", message, meta);
36
+ }
37
+ info(message, meta) {
38
+ this.log("INFO", message, meta);
39
+ }
40
+ warn(message, meta) {
41
+ this.log("WARN", message, meta);
42
+ }
43
+ error(message, meta) {
44
+ this.log("ERROR", message, meta);
34
45
  }
35
- }
36
- log(level, message, meta) {
37
- this.logFunction({
38
- level,
39
- message,
40
- meta: meta && Object.keys(meta).length === 0 ? undefined : meta,
41
- timestamp: Date.now()
42
- });
43
- }
44
- trace(message, meta) {
45
- this.log("TRACE", message, meta);
46
- }
47
- debug(message, meta) {
48
- this.log("DEBUG", message, meta);
49
- }
50
- info(message, meta) {
51
- this.log("INFO", message, meta);
52
- }
53
- warn(message, meta) {
54
- this.log("WARN", message, meta);
55
- }
56
- error(message, meta) {
57
- this.log("ERROR", message, meta);
58
- }
59
46
  }
60
- const logger = exports.logger = new Logger();
47
+ export const logger = new Logger();
@@ -0,0 +1,53 @@
1
+ import { formatWithOptions } from "node:util";
2
+ import chalk from "chalk";
3
+ const format = formatWithOptions.bind(undefined, {
4
+ colors: true
5
+ });
6
+ const LOG_LEVEL_COLORS = {
7
+ TRACE: chalk.gray,
8
+ DEBUG: chalk.blue,
9
+ INFO: chalk.green,
10
+ WARN: chalk.yellow,
11
+ ERROR: chalk.red
12
+ };
13
+ class Logger {
14
+ logFunction(entry) {
15
+ const {
16
+ level,
17
+ timestamp,
18
+ message,
19
+ meta
20
+ } = entry;
21
+ const date = new Date(timestamp);
22
+ const levelColor = LOG_LEVEL_COLORS[level];
23
+ if (meta === undefined) {
24
+ process.stderr.write(`${format(date)} [@intuned/sdk][${levelColor(level)}] ${message}\n`);
25
+ } else {
26
+ process.stderr.write(`${format(date)} [@intuned/sdk][${levelColor(level)}] ${message} ${format(meta)}\n`);
27
+ }
28
+ }
29
+ log(level, message, meta) {
30
+ this.logFunction({
31
+ level,
32
+ message,
33
+ meta: meta && Object.keys(meta).length === 0 ? undefined : meta,
34
+ timestamp: Date.now()
35
+ });
36
+ }
37
+ trace(message, meta) {
38
+ this.log("TRACE", message, meta);
39
+ }
40
+ debug(message, meta) {
41
+ this.log("DEBUG", message, meta);
42
+ }
43
+ info(message, meta) {
44
+ this.log("INFO", message, meta);
45
+ }
46
+ warn(message, meta) {
47
+ this.log("WARN", message, meta);
48
+ }
49
+ error(message, meta) {
50
+ this.log("ERROR", message, meta);
51
+ }
52
+ }
53
+ export const logger = new Logger();
@@ -1,5 +1 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
1
+ export {};
@@ -0,0 +1 @@
1
+ export {};
@@ -1,4 +1,4 @@
1
- import { LogEntry, LogMetadata } from "./types";
1
+ import { LogEntry, LogMetadata } from "./types.js";
2
2
  declare class Logger {
3
3
  logFunction(entry: LogEntry): void;
4
4
  private log;
@@ -1,60 +1,47 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports.logger = void 0;
7
- var _nodeUtil = require("node:util");
8
- var _chalk = _interopRequireDefault(require("chalk"));
9
- function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
10
- const format = _nodeUtil.formatWithOptions.bind(undefined, {
11
- colors: true
12
- });
1
+ import { formatWithOptions } from "node:util";
2
+ import chalk from "chalk";
3
+ const format = formatWithOptions.bind(undefined, { colors: true });
13
4
  const LOG_LEVEL_COLORS = {
14
- TRACE: _chalk.default.gray,
15
- DEBUG: _chalk.default.blue,
16
- INFO: _chalk.default.green,
17
- WARN: _chalk.default.yellow,
18
- ERROR: _chalk.default.red
5
+ TRACE: chalk.gray,
6
+ DEBUG: chalk.blue,
7
+ INFO: chalk.green,
8
+ WARN: chalk.yellow,
9
+ ERROR: chalk.red,
19
10
  };
20
11
  class Logger {
21
- logFunction(entry) {
22
- const {
23
- level,
24
- timestamp,
25
- message,
26
- meta
27
- } = entry;
28
- const date = new Date(timestamp);
29
- const levelColor = LOG_LEVEL_COLORS[level];
30
- if (meta === undefined) {
31
- process.stderr.write(`${format(date)} [@intuned/sdk][${levelColor(level)}] ${message}\n`);
32
- } else {
33
- process.stderr.write(`${format(date)} [@intuned/sdk][${levelColor(level)}] ${message} ${format(meta)}\n`);
12
+ logFunction(entry) {
13
+ const { level, timestamp, message, meta } = entry;
14
+ const date = new Date(timestamp);
15
+ const levelColor = LOG_LEVEL_COLORS[level];
16
+ if (meta === undefined) {
17
+ process.stderr.write(`${format(date)} [@intuned/sdk][${levelColor(level)}] ${message}\n`);
18
+ }
19
+ else {
20
+ process.stderr.write(`${format(date)} [@intuned/sdk][${levelColor(level)}] ${message} ${format(meta)}\n`);
21
+ }
22
+ }
23
+ log(level, message, meta) {
24
+ this.logFunction({
25
+ level,
26
+ message,
27
+ meta: meta && Object.keys(meta).length === 0 ? undefined : meta,
28
+ timestamp: Date.now(),
29
+ });
30
+ }
31
+ trace(message, meta) {
32
+ this.log("TRACE", message, meta);
33
+ }
34
+ debug(message, meta) {
35
+ this.log("DEBUG", message, meta);
36
+ }
37
+ info(message, meta) {
38
+ this.log("INFO", message, meta);
39
+ }
40
+ warn(message, meta) {
41
+ this.log("WARN", message, meta);
42
+ }
43
+ error(message, meta) {
44
+ this.log("ERROR", message, meta);
34
45
  }
35
- }
36
- log(level, message, meta) {
37
- this.logFunction({
38
- level,
39
- message,
40
- meta: meta && Object.keys(meta).length === 0 ? undefined : meta,
41
- timestamp: Date.now()
42
- });
43
- }
44
- trace(message, meta) {
45
- this.log("TRACE", message, meta);
46
- }
47
- debug(message, meta) {
48
- this.log("DEBUG", message, meta);
49
- }
50
- info(message, meta) {
51
- this.log("INFO", message, meta);
52
- }
53
- warn(message, meta) {
54
- this.log("WARN", message, meta);
55
- }
56
- error(message, meta) {
57
- this.log("ERROR", message, meta);
58
- }
59
46
  }
60
- const logger = exports.logger = new Logger();
47
+ export const logger = new Logger();
@@ -0,0 +1,53 @@
1
+ import { formatWithOptions } from "node:util";
2
+ import chalk from "chalk";
3
+ const format = formatWithOptions.bind(undefined, {
4
+ colors: true
5
+ });
6
+ const LOG_LEVEL_COLORS = {
7
+ TRACE: chalk.gray,
8
+ DEBUG: chalk.blue,
9
+ INFO: chalk.green,
10
+ WARN: chalk.yellow,
11
+ ERROR: chalk.red
12
+ };
13
+ class Logger {
14
+ logFunction(entry) {
15
+ const {
16
+ level,
17
+ timestamp,
18
+ message,
19
+ meta
20
+ } = entry;
21
+ const date = new Date(timestamp);
22
+ const levelColor = LOG_LEVEL_COLORS[level];
23
+ if (meta === undefined) {
24
+ process.stderr.write(`${format(date)} [@intuned/sdk][${levelColor(level)}] ${message}\n`);
25
+ } else {
26
+ process.stderr.write(`${format(date)} [@intuned/sdk][${levelColor(level)}] ${message} ${format(meta)}\n`);
27
+ }
28
+ }
29
+ log(level, message, meta) {
30
+ this.logFunction({
31
+ level,
32
+ message,
33
+ meta: meta && Object.keys(meta).length === 0 ? undefined : meta,
34
+ timestamp: Date.now()
35
+ });
36
+ }
37
+ trace(message, meta) {
38
+ this.log("TRACE", message, meta);
39
+ }
40
+ debug(message, meta) {
41
+ this.log("DEBUG", message, meta);
42
+ }
43
+ info(message, meta) {
44
+ this.log("INFO", message, meta);
45
+ }
46
+ warn(message, meta) {
47
+ this.log("WARN", message, meta);
48
+ }
49
+ error(message, meta) {
50
+ this.log("ERROR", message, meta);
51
+ }
52
+ }
53
+ export const logger = new Logger();
@@ -1,5 +1 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
1
+ export {};
@@ -0,0 +1 @@
1
+ export {};
@@ -1,17 +1,9 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports.asyncLocalStorage = void 0;
7
- exports.getExecutionContext = getExecutionContext;
8
- exports.runWithContext = runWithContext;
9
- var _async_hooks = require("async_hooks");
10
- const asyncLocalStorage = exports.asyncLocalStorage = new _async_hooks.AsyncLocalStorage();
11
- function runWithContext(contextData, callback, ...args) {
12
- return asyncLocalStorage.run(contextData, callback, ...args);
1
+ import { AsyncLocalStorage } from "async_hooks";
2
+ export const asyncLocalStorage = new AsyncLocalStorage();
3
+ export function runWithContext(contextData, callback, ...args) {
4
+ return asyncLocalStorage.run(contextData, callback, ...args);
5
+ }
6
+ export function getExecutionContext() {
7
+ const contextData = asyncLocalStorage.getStore();
8
+ return contextData;
13
9
  }
14
- function getExecutionContext() {
15
- const contextData = asyncLocalStorage.getStore();
16
- return contextData;
17
- }
@@ -0,0 +1,9 @@
1
+ import { AsyncLocalStorage } from "async_hooks";
2
+ export const asyncLocalStorage = new AsyncLocalStorage();
3
+ export function runWithContext(contextData, callback, ...args) {
4
+ return asyncLocalStorage.run(contextData, callback, ...args);
5
+ }
6
+ export function getExecutionContext() {
7
+ const contextData = asyncLocalStorage.getStore();
8
+ return contextData;
9
+ }
@@ -1,16 +1,12 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports.cleanEnvironmentVariables = cleanEnvironmentVariables;
7
- function cleanEnvironmentVariables() {
8
- Object.keys(process.env).filter(i => {
9
- if (i.toLocaleLowerCase().startsWith("npm")) {
10
- return true;
11
- }
12
- if (i.toLocaleLowerCase().startsWith("fly") && i !== "FLY_ALLOC_ID") {
13
- return true;
14
- }
15
- }).forEach(i => delete process.env[i]);
16
- }
1
+ export function cleanEnvironmentVariables() {
2
+ Object.keys(process.env)
3
+ .filter((i) => {
4
+ if (i.toLocaleLowerCase().startsWith("npm")) {
5
+ return true;
6
+ }
7
+ if (i.toLocaleLowerCase().startsWith("fly") && i !== "FLY_ALLOC_ID") {
8
+ return true;
9
+ }
10
+ })
11
+ .forEach((i) => delete process.env[i]);
12
+ }
@@ -0,0 +1,10 @@
1
+ export function cleanEnvironmentVariables() {
2
+ Object.keys(process.env).filter(i => {
3
+ if (i.toLocaleLowerCase().startsWith("npm")) {
4
+ return true;
5
+ }
6
+ if (i.toLocaleLowerCase().startsWith("fly") && i !== "FLY_ALLOC_ID") {
7
+ return true;
8
+ }
9
+ }).forEach(i => delete process.env[i]);
10
+ }
@@ -1,7 +1 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports.AUTH_SESSIONS_FOLDER_NAME = void 0;
7
- const AUTH_SESSIONS_FOLDER_NAME = exports.AUTH_SESSIONS_FOLDER_NAME = "auth-sessions";
1
+ export const AUTH_SESSIONS_FOLDER_NAME = "auth-sessions";
@@ -0,0 +1 @@
1
+ export const AUTH_SESSIONS_FOLDER_NAME = "auth-sessions";
@@ -1,50 +1,41 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports.getContextStorageState = getContextStorageState;
7
- exports.setContextStorageState = setContextStorageState;
8
1
  function sessionStorageToArray(storage) {
9
- const result = [];
10
- for (const key in storage) {
11
- result.push({
12
- name: key,
13
- value: storage[key]
14
- });
15
- }
16
- return result;
17
- }
18
- async function getContextStorageState(context) {
19
- const cookiesAndLocalStorage = await context.storageState();
20
- const pages = context.pages();
21
- const pagesSessions = [];
22
- for (const page of pages) {
23
- try {
24
- const [origin, session] = await page.evaluate(() => [location.origin, sessionStorage]);
25
- const transformed = sessionStorageToArray(session);
26
- pagesSessions.push({
27
- origin,
28
- sessionStorage: transformed
29
- });
30
- } catch (e) {}
31
- }
32
- return {
33
- ...cookiesAndLocalStorage,
34
- sessionStorage: pagesSessions
35
- };
2
+ const result = [];
3
+ for (const key in storage) {
4
+ result.push({ name: key, value: storage[key] });
5
+ }
6
+ return result;
36
7
  }
37
- async function setContextStorageState(context, storage) {
38
- await context.intunedSetStorageState(storage);
39
- const sessionStorage = storage.sessionStorage;
40
- await context.addInitScript(storage => {
41
- for (const {
42
- origin,
43
- sessionStorage
44
- } of storage) {
45
- if (window.location.origin === origin) {
46
- for (const item of sessionStorage) window.sessionStorage.setItem(item.name, item.value);
47
- }
8
+ export async function getContextStorageState(context) {
9
+ const cookiesAndLocalStorage = await context.storageState();
10
+ const pages = context.pages();
11
+ const pagesSessions = [];
12
+ for (const page of pages) {
13
+ try {
14
+ const [origin, session] = await page.evaluate(() => [
15
+ location.origin,
16
+ sessionStorage,
17
+ ]);
18
+ const transformed = sessionStorageToArray(session);
19
+ pagesSessions.push({ origin, sessionStorage: transformed });
20
+ }
21
+ catch (e) {
22
+ // ignore
23
+ }
48
24
  }
49
- }, sessionStorage);
50
- }
25
+ return {
26
+ ...cookiesAndLocalStorage,
27
+ sessionStorage: pagesSessions,
28
+ };
29
+ }
30
+ export async function setContextStorageState(context, storage) {
31
+ await context.intunedSetStorageState(storage);
32
+ const sessionStorage = storage.sessionStorage;
33
+ await context.addInitScript((storage) => {
34
+ for (const { origin, sessionStorage } of storage) {
35
+ if (window.location.origin === origin) {
36
+ for (const item of sessionStorage)
37
+ window.sessionStorage.setItem(item.name, item.value);
38
+ }
39
+ }
40
+ }, sessionStorage);
41
+ }
@@ -0,0 +1,43 @@
1
+ function sessionStorageToArray(storage) {
2
+ const result = [];
3
+ for (const key in storage) {
4
+ result.push({
5
+ name: key,
6
+ value: storage[key]
7
+ });
8
+ }
9
+ return result;
10
+ }
11
+ export async function getContextStorageState(context) {
12
+ const cookiesAndLocalStorage = await context.storageState();
13
+ const pages = context.pages();
14
+ const pagesSessions = [];
15
+ for (const page of pages) {
16
+ try {
17
+ const [origin, session] = await page.evaluate(() => [location.origin, sessionStorage]);
18
+ const transformed = sessionStorageToArray(session);
19
+ pagesSessions.push({
20
+ origin,
21
+ sessionStorage: transformed
22
+ });
23
+ } catch (e) {}
24
+ }
25
+ return {
26
+ ...cookiesAndLocalStorage,
27
+ sessionStorage: pagesSessions
28
+ };
29
+ }
30
+ export async function setContextStorageState(context, storage) {
31
+ await context.intunedSetStorageState(storage);
32
+ const sessionStorage = storage.sessionStorage;
33
+ await context.addInitScript(storage => {
34
+ for (const {
35
+ origin,
36
+ sessionStorage
37
+ } of storage) {
38
+ if (window.location.origin === origin) {
39
+ for (const item of sessionStorage) window.sessionStorage.setItem(item.name, item.value);
40
+ }
41
+ }
42
+ }, sessionStorage);
43
+ }
@@ -1,5 +1,5 @@
1
1
  import * as playwright from "@intuned/playwright-core";
2
- import type { RunApiSession } from "./runApi";
2
+ import type { RunApiSession } from "./runApi/index.js";
3
3
  interface Proxy {
4
4
  server: string;
5
5
  username: string;