@intuned/runtime-dev 1.1.4 → 1.1.5-bot-detection

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.
@@ -1,6 +1,6 @@
1
1
  import { StorageState } from "../../common/contextStorageStateHelpers";
2
2
  import { AuthSessionMetadata, AuthSessionType } from "../../common/cli/types";
3
- import * as playwright from "playwright-core";
3
+ import * as playwright from "patchright";
4
4
  export declare function isAuthEnabled(): Promise<boolean>;
5
5
  export declare function getAuthType(): Promise<AuthSessionType>;
6
6
  export declare function ensureRecorderURLs(): Promise<{
@@ -26,7 +26,7 @@ var _tsNodeImport = require("../common/tsNodeImport");
26
26
  var _promptly = require("promptly");
27
27
  var _utils = require("../../common/cli/utils");
28
28
  var _types = require("../../common/cli/types");
29
- var playwright = _interopRequireWildcard(require("playwright-core"));
29
+ var playwright = _interopRequireWildcard(require("patchright"));
30
30
  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); }
31
31
  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; }
32
32
  function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
@@ -1,4 +1,4 @@
1
- import { BrowserContext } from "playwright-core";
1
+ import { BrowserContext } from "patchright";
2
2
  export declare const REMOTE_DEBUGGING_PORT = 9222;
3
3
  export declare const getChromiumLaunchArgs: () => string[];
4
4
  export declare function startOrRestartBrowser(): Promise<void>;
@@ -9,7 +9,7 @@ exports.saveSession = saveSession;
9
9
  exports.saveSessionFromOpenedBrowser = saveSessionFromOpenedBrowser;
10
10
  exports.startOrRestartBrowser = startOrRestartBrowser;
11
11
  var _child_process = require("child_process");
12
- var playwright = _interopRequireWildcard(require("playwright-core"));
12
+ var playwright = _interopRequireWildcard(require("patchright"));
13
13
  var fs = _interopRequireWildcard(require("fs-extra"));
14
14
  var _fileUtils = require("./utils/fileUtils");
15
15
  var _contextStorageStateHelpers = require("../../common/contextStorageStateHelpers");
@@ -27,7 +27,7 @@ const userCLIScripts = exports.userCLIScripts = {
27
27
  };
28
28
  const tsConfigCli = exports.tsConfigCli = {
29
29
  compilerOptions: {
30
- moduleResolution: "bundler",
30
+ moduleResolution: "node",
31
31
  target: "ES2021",
32
32
  outDir: "./dist",
33
33
  sourceMap: false,
@@ -1,4 +1,4 @@
1
- import * as playwright from "playwright";
1
+ import * as playwright from "patchright";
2
2
  interface StorageEntry {
3
3
  name: string;
4
4
  value: string;
@@ -9,45 +9,6 @@ async function setStorageState(context, state) {
9
9
  if ("cookies" in state && state.cookies) {
10
10
  await context.addCookies(state.cookies);
11
11
  }
12
- const page = await context.newPage();
13
- if ("origins" in state && state.origins) {
14
- for (const originData of state.origins || []) {
15
- const origin = originData.origin;
16
- await page.route(`${origin}/*`, route => route.fulfill({
17
- body: "<html><head><title>Set Storage</title></head><body><h1>Set Storage</h1></body></html>",
18
- contentType: "text/html",
19
- status: 200
20
- }));
21
- try {
22
- await page.goto(origin);
23
- for (const item of originData.localStorage) {
24
- await page.evaluate(([key, value]) => {
25
- window.localStorage.setItem(key, value);
26
- }, [item.name, item.value]);
27
- }
28
- } finally {
29
- await page.unroute(`${origin}/*`);
30
- }
31
- }
32
- }
33
- if ("sessionStorage" in state && state.sessionStorage) {
34
- await context.addInitScript(storage => {
35
- for (const {
36
- origin,
37
- sessionStorage
38
- } of storage) {
39
- if (window.location.origin === origin) {
40
- for (const item of sessionStorage) {
41
- const value = window.sessionStorage.getItem(item.name);
42
- if (!value) {
43
- window.sessionStorage.setItem(item.name, item.value);
44
- }
45
- }
46
- }
47
- }
48
- }, state.sessionStorage);
49
- }
50
- await page.close();
51
12
  }
52
13
  async function getStorageState(context) {
53
14
  const result = {};
@@ -58,23 +19,6 @@ async function getStorageState(context) {
58
19
  const pages = await context.pages();
59
20
  for (const page of pages) {
60
21
  if (page.isClosed()) continue;
61
- try {
62
- const sessionData = await page.evaluate(() => {
63
- const items = {
64
- ...window.sessionStorage
65
- };
66
- return {
67
- origin: window.location.origin,
68
- sessionStorage: Object.entries(items).map(([name, value]) => ({
69
- name,
70
- value
71
- }))
72
- };
73
- });
74
- sessionDataList.push(sessionData);
75
- } catch (error) {
76
- console.error("Error getting sessionStorage:", error);
77
- }
78
22
  }
79
23
  result["sessionStorage"] = sessionDataList;
80
24
  return result;
@@ -1,4 +1,4 @@
1
- import * as playwright from "playwright-core";
1
+ import * as playwright from "patchright";
2
2
  import type { RunApiSession } from "./runApi";
3
3
  interface Proxy {
4
4
  server: string;
@@ -7,7 +7,7 @@ exports.getPlaywrightConstructsForMode = getPlaywrightConstructsForMode;
7
7
  exports.getProductionPlaywrightConstructs = getProductionPlaywrightConstructs;
8
8
  exports.getRemotePlaywrightContext = getRemotePlaywrightContext;
9
9
  exports.loadSessionToContext = loadSessionToContext;
10
- var playwright = _interopRequireWildcard(require("playwright-core"));
10
+ var playwright = _interopRequireWildcard(require("patchright"));
11
11
  var _fsExtra = _interopRequireWildcard(require("fs-extra"));
12
12
  var fs = _fsExtra;
13
13
  var _contextStorageStateHelpers = require("./contextStorageStateHelpers");
@@ -76,9 +76,6 @@ async function getProductionPlaywrightConstructs({
76
76
  });
77
77
  }
78
78
  const assetsFile = _path.default.join(__dirname, "./assets/browser_scripts.js");
79
- await context.addInitScript({
80
- path: assetsFile
81
- });
82
79
  let page = context.pages().at(0);
83
80
  if (page) {
84
81
  const scriptString = await (0, _fsExtra.readFile)(assetsFile, "utf8");
@@ -104,18 +101,9 @@ async function getPlaywrightConstructsForMode(mode, cdpAddress, authSession) {
104
101
  throw new Error("no context found");
105
102
  }
106
103
  const assetsFile = _path.default.join(__dirname, "./assets/browser_scripts.js");
107
- await context.addInitScript({
108
- path: assetsFile
109
- });
110
104
  const pages = await context.pages();
111
105
  let page = null;
112
- if (pages.length > 0) {
113
- page = pages[0];
114
- const scriptString = await fs.readFile(assetsFile, "utf8");
115
- await page.evaluate(scriptString);
116
- } else {
117
- page = await context.newPage();
118
- }
106
+ page = await context.newPage();
119
107
  if (authSession) {
120
108
  await loadSessionToContext({
121
109
  context,
@@ -163,7 +151,7 @@ async function loadSessionToContext({
163
151
  await (0, _contextStorageStateHelpers.setStorageState)(context, sessionToLoad);
164
152
  }
165
153
  async function getRemotePlaywrightContext(cdpAddress) {
166
- const playwright = await Promise.resolve().then(() => _interopRequireWildcard(require("playwright-core")));
154
+ const playwright = await Promise.resolve().then(() => _interopRequireWildcard(require("patchright")));
167
155
  let browser = null;
168
156
  if (!cdpAddress) {
169
157
  throw new Error("cdpAddress is required");
@@ -5,7 +5,7 @@ Object.defineProperty(exports, "__esModule", {
5
5
  });
6
6
  exports.runAutomationErrorCodes = exports.maxLevelsExceededErrorCode = exports.invalidCheckErrorCode = exports.invalidApiErrorCode = exports.internalInvalidInputErrorCode = exports.automationError = exports.authRequiredErrorCode = exports.authCheckNotFoundErrorCode = exports.authCheckFailedErrorCode = exports.apiNotFoundErrorCode = exports.abortedErrorCode = exports.RunAutomationError = exports.MaxLevelsExceededError = exports.InvalidCheckError = exports.InvalidApiError = exports.InternalInvalidInputError = exports.AutomationError = exports.AuthRequiredError = exports.AuthCheckNotFoundError = exports.AuthCheckFailedError = exports.ApiNotFoundError = exports.AbortedError = void 0;
7
7
  var _runtime = require("../../runtime");
8
- var playwright = _interopRequireWildcard(require("playwright-core"));
8
+ var playwright = _interopRequireWildcard(require("patchright"));
9
9
  function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }
10
10
  function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
11
11
  const apiNotFoundErrorCode = exports.apiNotFoundErrorCode = "APINotFoundError";
@@ -1,6 +1,6 @@
1
1
  import { Result } from "neverthrow";
2
2
  import { RunAutomationError } from "./errors";
3
- import { Page, BrowserContext } from "playwright-core";
3
+ import { Page, BrowserContext } from "patchright";
4
4
  import { ExtendedRunApiParameters, RunApiResult, RunApiResultWithSessionOk } from "./types";
5
5
  export * from "./types";
6
6
  export * from "./errors";
@@ -47,18 +47,18 @@ export declare const runApiSessionSchema: z.ZodDiscriminatedUnion<"type", [z.Zod
47
47
  secure: z.ZodBoolean;
48
48
  sameSite: z.ZodEnum<["Strict", "Lax", "None"]>;
49
49
  }, "strip", z.ZodTypeAny, {
50
+ path: string;
50
51
  value: string;
51
52
  name: string;
52
- path: string;
53
53
  domain: string;
54
54
  expires: number;
55
55
  httpOnly: boolean;
56
56
  secure: boolean;
57
57
  sameSite: "Strict" | "Lax" | "None";
58
58
  }, {
59
+ path: string;
59
60
  value: string;
60
61
  name: string;
61
- path: string;
62
62
  domain: string;
63
63
  expires: number;
64
64
  httpOnly: boolean;
@@ -117,9 +117,9 @@ export declare const runApiSessionSchema: z.ZodDiscriminatedUnion<"type", [z.Zod
117
117
  }>, "many">>;
118
118
  }, "strip", z.ZodTypeAny, {
119
119
  cookies: {
120
+ path: string;
120
121
  value: string;
121
122
  name: string;
122
- path: string;
123
123
  domain: string;
124
124
  expires: number;
125
125
  httpOnly: boolean;
@@ -142,9 +142,9 @@ export declare const runApiSessionSchema: z.ZodDiscriminatedUnion<"type", [z.Zod
142
142
  }[] | undefined;
143
143
  }, {
144
144
  cookies: {
145
+ path: string;
145
146
  value: string;
146
147
  name: string;
147
- path: string;
148
148
  domain: string;
149
149
  expires: number;
150
150
  httpOnly: boolean;
@@ -170,9 +170,9 @@ export declare const runApiSessionSchema: z.ZodDiscriminatedUnion<"type", [z.Zod
170
170
  type: "state";
171
171
  state?: {
172
172
  cookies: {
173
+ path: string;
173
174
  value: string;
174
175
  name: string;
175
- path: string;
176
176
  domain: string;
177
177
  expires: number;
178
178
  httpOnly: boolean;
@@ -198,9 +198,9 @@ export declare const runApiSessionSchema: z.ZodDiscriminatedUnion<"type", [z.Zod
198
198
  type: "state";
199
199
  state?: {
200
200
  cookies: {
201
+ path: string;
201
202
  value: string;
202
203
  name: string;
203
- path: string;
204
204
  domain: string;
205
205
  expires: number;
206
206
  httpOnly: boolean;
@@ -273,18 +273,18 @@ export declare const runApiParametersSchema: z.ZodObject<{
273
273
  secure: z.ZodBoolean;
274
274
  sameSite: z.ZodEnum<["Strict", "Lax", "None"]>;
275
275
  }, "strip", z.ZodTypeAny, {
276
+ path: string;
276
277
  value: string;
277
278
  name: string;
278
- path: string;
279
279
  domain: string;
280
280
  expires: number;
281
281
  httpOnly: boolean;
282
282
  secure: boolean;
283
283
  sameSite: "Strict" | "Lax" | "None";
284
284
  }, {
285
+ path: string;
285
286
  value: string;
286
287
  name: string;
287
- path: string;
288
288
  domain: string;
289
289
  expires: number;
290
290
  httpOnly: boolean;
@@ -343,9 +343,9 @@ export declare const runApiParametersSchema: z.ZodObject<{
343
343
  }>, "many">>;
344
344
  }, "strip", z.ZodTypeAny, {
345
345
  cookies: {
346
+ path: string;
346
347
  value: string;
347
348
  name: string;
348
- path: string;
349
349
  domain: string;
350
350
  expires: number;
351
351
  httpOnly: boolean;
@@ -368,9 +368,9 @@ export declare const runApiParametersSchema: z.ZodObject<{
368
368
  }[] | undefined;
369
369
  }, {
370
370
  cookies: {
371
+ path: string;
371
372
  value: string;
372
373
  name: string;
373
- path: string;
374
374
  domain: string;
375
375
  expires: number;
376
376
  httpOnly: boolean;
@@ -396,9 +396,9 @@ export declare const runApiParametersSchema: z.ZodObject<{
396
396
  type: "state";
397
397
  state?: {
398
398
  cookies: {
399
+ path: string;
399
400
  value: string;
400
401
  name: string;
401
- path: string;
402
402
  domain: string;
403
403
  expires: number;
404
404
  httpOnly: boolean;
@@ -424,9 +424,9 @@ export declare const runApiParametersSchema: z.ZodObject<{
424
424
  type: "state";
425
425
  state?: {
426
426
  cookies: {
427
+ path: string;
427
428
  value: string;
428
429
  name: string;
429
- path: string;
430
430
  domain: string;
431
431
  expires: number;
432
432
  httpOnly: boolean;
@@ -458,9 +458,9 @@ export declare const runApiParametersSchema: z.ZodObject<{
458
458
  type: "state";
459
459
  state?: {
460
460
  cookies: {
461
+ path: string;
461
462
  value: string;
462
463
  name: string;
463
- path: string;
464
464
  domain: string;
465
465
  expires: number;
466
466
  httpOnly: boolean;
@@ -492,9 +492,9 @@ export declare const runApiParametersSchema: z.ZodObject<{
492
492
  type: "state";
493
493
  state?: {
494
494
  cookies: {
495
+ path: string;
495
496
  value: string;
496
497
  name: string;
497
- path: string;
498
498
  domain: string;
499
499
  expires: number;
500
500
  httpOnly: boolean;
@@ -598,9 +598,9 @@ export declare const runApiParametersSchema: z.ZodObject<{
598
598
  type: "state";
599
599
  state?: {
600
600
  cookies: {
601
+ path: string;
601
602
  value: string;
602
603
  name: string;
603
- path: string;
604
604
  domain: string;
605
605
  expires: number;
606
606
  httpOnly: boolean;
@@ -644,9 +644,9 @@ export declare const runApiParametersSchema: z.ZodObject<{
644
644
  type: "state";
645
645
  state?: {
646
646
  cookies: {
647
+ path: string;
647
648
  value: string;
648
649
  name: string;
649
- path: string;
650
650
  domain: string;
651
651
  expires: number;
652
652
  httpOnly: boolean;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@intuned/runtime-dev",
3
- "version": "1.1.4",
3
+ "version": "1.1.5-bot-detection",
4
4
  "description": "Intuned runtime",
5
5
  "exports": {
6
6
  ".": "./dist/index.js",
@@ -83,7 +83,7 @@
83
83
  "minimatch": "10.0.1",
84
84
  "nanoid": "3",
85
85
  "neverthrow": "6.1.0",
86
- "playwright": "1.44.1",
86
+ "patchright": "1.48.2",
87
87
  "playwright-extra": "4.3.6",
88
88
  "prettier": "2.8.0",
89
89
  "promptly": "3.2.0",
@@ -1,11 +1,14 @@
1
1
  {
2
2
  "compilerOptions": {
3
+ "module": "ESNext",
3
4
  "target": "ES2021",
4
- "lib": ["dom", "es2021"],
5
+ "lib": [
6
+ "dom",
7
+ "es2021"
8
+ ],
5
9
  "resolveJsonModule": true,
6
10
  "esModuleInterop": true,
7
- "moduleResolution": "nodenext",
8
- "module": "NodeNext",
11
+ "moduleResolution": "node",
9
12
  "skipLibCheck": true
10
13
  }
11
- }
14
+ }