@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.
- package/dist/commands/cli-auth-sessions/utils.d.ts +1 -1
- package/dist/commands/cli-auth-sessions/utils.js +1 -1
- package/dist/commands/common/browserUtils.d.ts +1 -1
- package/dist/commands/common/browserUtils.js +1 -1
- package/dist/common/cli/constants.js +1 -1
- package/dist/common/contextStorageStateHelpers.d.ts +1 -1
- package/dist/common/contextStorageStateHelpers.js +0 -56
- package/dist/common/getPlaywrightConstructs.d.ts +1 -1
- package/dist/common/getPlaywrightConstructs.js +3 -15
- package/dist/common/runApi/errors.js +1 -1
- package/dist/common/runApi/index.d.ts +1 -1
- package/dist/common/runApi/types.d.ts +16 -16
- package/package.json +2 -2
- package/template.tsconfig.json +7 -4
|
@@ -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 "
|
|
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("
|
|
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 "
|
|
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("
|
|
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");
|
|
@@ -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;
|
|
@@ -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("
|
|
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
|
-
|
|
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("
|
|
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("
|
|
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 "
|
|
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.
|
|
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
|
-
"
|
|
86
|
+
"patchright": "1.48.2",
|
|
87
87
|
"playwright-extra": "4.3.6",
|
|
88
88
|
"prettier": "2.8.0",
|
|
89
89
|
"promptly": "3.2.0",
|
package/template.tsconfig.json
CHANGED
|
@@ -1,11 +1,14 @@
|
|
|
1
1
|
{
|
|
2
2
|
"compilerOptions": {
|
|
3
|
+
"module": "ESNext",
|
|
3
4
|
"target": "ES2021",
|
|
4
|
-
"lib": [
|
|
5
|
+
"lib": [
|
|
6
|
+
"dom",
|
|
7
|
+
"es2021"
|
|
8
|
+
],
|
|
5
9
|
"resolveJsonModule": true,
|
|
6
10
|
"esModuleInterop": true,
|
|
7
|
-
"moduleResolution": "
|
|
8
|
-
"module": "NodeNext",
|
|
11
|
+
"moduleResolution": "node",
|
|
9
12
|
"skipLibCheck": true
|
|
10
13
|
}
|
|
11
|
-
}
|
|
14
|
+
}
|