@checkly/playwright-core 1.51.17 → 1.51.18-beta.1

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.
@@ -0,0 +1,16 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ var _secretsFilter = require("./secretsFilter");
7
+ Object.keys(_secretsFilter).forEach(function (key) {
8
+ if (key === "default" || key === "__esModule") return;
9
+ if (key in exports && exports[key] === _secretsFilter[key]) return;
10
+ Object.defineProperty(exports, key, {
11
+ enumerable: true,
12
+ get: function () {
13
+ return _secretsFilter[key];
14
+ }
15
+ });
16
+ });
@@ -3,13 +3,77 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
- exports.secretsFilter = void 0;
6
+ exports.secretsFilter = exports.addSecret = void 0;
7
+ var diagnostics_channel = _interopRequireWildcard(require("node:diagnostics_channel"));
7
8
  var _escapeRegExp = _interopRequireDefault(require("./escapeRegExp"));
8
9
  function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
10
+ 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); }
11
+ 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; }
9
12
  /* Copyright Checkly
10
13
  */
11
14
 
12
15
  const IdentityFunction = s => s;
16
+ const dynamicallyAddedSecrets = new Set();
17
+ let cachedAuthorizationHeaderSecrets = null;
18
+ const extractAuthorizationHeaderValue = authorizationHeaderValue => {
19
+ const spaceIndex = authorizationHeaderValue.indexOf(' ');
20
+ if (spaceIndex === -1) return authorizationHeaderValue;
21
+ return authorizationHeaderValue.slice(spaceIndex + 1);
22
+ };
23
+
24
+ /**
25
+ * We use diagnostics_channel.subscribe to intercept HTTP(S) requests not made through
26
+ * Playwright's request fixture. The request fixture outputs the Authorization header
27
+ * value before executing the request, but direct Node.js HTTP calls bypass this mechanism.
28
+ * By subscribing to these diagnostic channels, we can capture authorization secrets from
29
+ * all HTTP requests made in the test environment.
30
+ */
31
+
32
+ // For http/https
33
+ diagnostics_channel.subscribe('http.client.request.start', message => {
34
+ const {
35
+ request
36
+ } = message;
37
+ const auth = request.getHeader('authorization');
38
+ if (auth) {
39
+ dynamicallyAddedSecrets.add(extractAuthorizationHeaderValue(auth));
40
+ cachedAuthorizationHeaderSecrets = new RegExp(Array.from(dynamicallyAddedSecrets).map(_escapeRegExp.default).join('|'), 'g');
41
+ }
42
+ });
43
+
44
+ // For undici (powers global fetch in Node 18+)
45
+ diagnostics_channel.subscribe('undici:request:create', message => {
46
+ var _request$headers;
47
+ const {
48
+ request
49
+ } = message;
50
+ const auth = (_request$headers = request.headers) === null || _request$headers === void 0 ? void 0 : _request$headers.authorization;
51
+ if (auth) {
52
+ dynamicallyAddedSecrets.add(extractAuthorizationHeaderValue(auth));
53
+ cachedAuthorizationHeaderSecrets = new RegExp(Array.from(dynamicallyAddedSecrets).map(_escapeRegExp.default).join('|'), 'g');
54
+ }
55
+ });
56
+ const addSecret = secret => {
57
+ try {
58
+ if (!secret || typeof secret !== 'string') return;
59
+ const secretValue = extractAuthorizationHeaderValue(secret);
60
+ if (!secretValue) return;
61
+ dynamicallyAddedSecrets.add(secretValue);
62
+ const escapedSecrets = Array.from(dynamicallyAddedSecrets).map(s => {
63
+ try {
64
+ return (0, _escapeRegExp.default)(s);
65
+ } catch {
66
+ return null;
67
+ }
68
+ }).filter(Boolean);
69
+ if (escapedSecrets.length > 0) cachedAuthorizationHeaderSecrets = new RegExp(escapedSecrets.join('|'), 'g');
70
+ console.log(`[CHECKLY_RUNTIME_SECRET]${secretValue}[/CHECKLY_RUNTIME_SECRET]`);
71
+ } catch (error) {
72
+ // Silently fail to avoid breaking the application
73
+ // Error could be from RegExp construction or console.log
74
+ }
75
+ };
76
+ exports.addSecret = addSecret;
13
77
  const secretsFilter = () => {
14
78
  const disabled = process.env['CHECKLY_INTERNAL_ENABLE_PATCHED_TRACING'] !== 'true';
15
79
  if (disabled) return IdentityFunction;
@@ -40,6 +104,7 @@ const secretsFilter = () => {
40
104
 
41
105
  // Scrub secrets
42
106
  if (cachedRegex) filtered = filtered.replaceAll(cachedRegex, '*********');
107
+ if (cachedAuthorizationHeaderSecrets) filtered = filtered.replaceAll(cachedAuthorizationHeaderSecrets, '*********');
43
108
  return filtered;
44
109
  };
45
110
  };
@@ -4,6 +4,8 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.APIResponse = exports.APIRequestContext = exports.APIRequest = void 0;
7
+ var fs = _interopRequireWildcard(require("fs"));
8
+ var _path = _interopRequireDefault(require("path"));
7
9
  var _browserContext = require("./browserContext");
8
10
  var _channelOwner = require("./channelOwner");
9
11
  var _errors = require("./errors");
@@ -13,9 +15,8 @@ var _assert = require("../utils/isomorphic/assert");
13
15
  var _fileUtils = require("./fileUtils");
14
16
  var _headers = require("../utils/isomorphic/headers");
15
17
  var _rtti = require("../utils/isomorphic/rtti");
16
- var fs = _interopRequireWildcard(require("fs"));
17
18
  var _fetch = require("../checkly/fetch");
18
- var _path = _interopRequireDefault(require("path"));
19
+ var _secretsFilter = require("../checkly/secretsFilter");
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; }
@@ -218,6 +219,13 @@ class APIRequestContext extends _channelOwner.ChannelOwner {
218
219
  const fixtures = {
219
220
  __testHookLookup: options.__testHookLookup
220
221
  };
222
+
223
+ // [Checkly] We need to parse the headers in case there is the Authorization one.
224
+ for (const header of headers || []) {
225
+ if (header.name.toLowerCase() === 'authorization') (0, _secretsFilter.addSecret)(header.value);
226
+ }
227
+ // [/Checkly]
228
+
221
229
  const result = await this._channel.fetch({
222
230
  url,
223
231
  params: typeof options.params === 'object' ? objectToArray(options.params) : undefined,
@@ -0,0 +1,22 @@
1
+ "use strict";
2
+ var __defProp = Object.defineProperty;
3
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
+ var __getOwnPropNames = Object.getOwnPropertyNames;
5
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
6
+ var __copyProps = (to, from, except, desc) => {
7
+ if (from && typeof from === "object" || typeof from === "function") {
8
+ for (let key of __getOwnPropNames(from))
9
+ if (!__hasOwnProp.call(to, key) && key !== except)
10
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
11
+ }
12
+ return to;
13
+ };
14
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
15
+ var bidiCommands_d_exports = {};
16
+ module.exports = __toCommonJS(bidiCommands_d_exports);
17
+ /**
18
+ * @license
19
+ * Copyright 2024 Google Inc.
20
+ * Modifications copyright (c) Microsoft Corporation.
21
+ * SPDX-License-Identifier: Apache-2.0
22
+ */
@@ -0,0 +1,152 @@
1
+ "use strict";
2
+ var __defProp = Object.defineProperty;
3
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
+ var __getOwnPropNames = Object.getOwnPropertyNames;
5
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
6
+ var __export = (target, all) => {
7
+ for (var name in all)
8
+ __defProp(target, name, { get: all[name], enumerable: true });
9
+ };
10
+ var __copyProps = (to, from, except, desc) => {
11
+ if (from && typeof from === "object" || typeof from === "function") {
12
+ for (let key of __getOwnPropNames(from))
13
+ if (!__hasOwnProp.call(to, key) && key !== except)
14
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
15
+ }
16
+ return to;
17
+ };
18
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
19
+ var bidiProtocolCore_exports = {};
20
+ __export(bidiProtocolCore_exports, {
21
+ BrowsingContext: () => BrowsingContext,
22
+ ErrorCode: () => ErrorCode,
23
+ Input: () => Input,
24
+ Log: () => Log,
25
+ Network: () => Network,
26
+ Script: () => Script,
27
+ Session: () => Session
28
+ });
29
+ module.exports = __toCommonJS(bidiProtocolCore_exports);
30
+ /**
31
+ * @license
32
+ * Copyright 2024 Google Inc.
33
+ * Modifications copyright (c) Microsoft Corporation.
34
+ * SPDX-License-Identifier: Apache-2.0
35
+ */
36
+ var ErrorCode = /* @__PURE__ */ ((ErrorCode2) => {
37
+ ErrorCode2["InvalidArgument"] = "invalid argument";
38
+ ErrorCode2["InvalidSelector"] = "invalid selector";
39
+ ErrorCode2["InvalidSessionId"] = "invalid session id";
40
+ ErrorCode2["InvalidWebExtension"] = "invalid web extension";
41
+ ErrorCode2["MoveTargetOutOfBounds"] = "move target out of bounds";
42
+ ErrorCode2["NoSuchAlert"] = "no such alert";
43
+ ErrorCode2["NoSuchElement"] = "no such element";
44
+ ErrorCode2["NoSuchFrame"] = "no such frame";
45
+ ErrorCode2["NoSuchHandle"] = "no such handle";
46
+ ErrorCode2["NoSuchHistoryEntry"] = "no such history entry";
47
+ ErrorCode2["NoSuchIntercept"] = "no such intercept";
48
+ ErrorCode2["NoSuchNode"] = "no such node";
49
+ ErrorCode2["NoSuchRequest"] = "no such request";
50
+ ErrorCode2["NoSuchScript"] = "no such script";
51
+ ErrorCode2["NoSuchStoragePartition"] = "no such storage partition";
52
+ ErrorCode2["NoSuchUserContext"] = "no such user context";
53
+ ErrorCode2["NoSuchWebExtension"] = "no such web extension";
54
+ ErrorCode2["SessionNotCreated"] = "session not created";
55
+ ErrorCode2["UnableToCaptureScreen"] = "unable to capture screen";
56
+ ErrorCode2["UnableToCloseBrowser"] = "unable to close browser";
57
+ ErrorCode2["UnableToSetCookie"] = "unable to set cookie";
58
+ ErrorCode2["UnableToSetFileInput"] = "unable to set file input";
59
+ ErrorCode2["UnderspecifiedStoragePartition"] = "underspecified storage partition";
60
+ ErrorCode2["UnknownCommand"] = "unknown command";
61
+ ErrorCode2["UnknownError"] = "unknown error";
62
+ ErrorCode2["UnsupportedOperation"] = "unsupported operation";
63
+ return ErrorCode2;
64
+ })(ErrorCode || {});
65
+ var Session;
66
+ ((Session2) => {
67
+ let UserPromptHandlerType;
68
+ ((UserPromptHandlerType2) => {
69
+ UserPromptHandlerType2["Accept"] = "accept";
70
+ UserPromptHandlerType2["Dismiss"] = "dismiss";
71
+ UserPromptHandlerType2["Ignore"] = "ignore";
72
+ })(UserPromptHandlerType = Session2.UserPromptHandlerType || (Session2.UserPromptHandlerType = {}));
73
+ })(Session || (Session = {}));
74
+ var BrowsingContext;
75
+ ((BrowsingContext2) => {
76
+ let ReadinessState;
77
+ ((ReadinessState2) => {
78
+ ReadinessState2["None"] = "none";
79
+ ReadinessState2["Interactive"] = "interactive";
80
+ ReadinessState2["Complete"] = "complete";
81
+ })(ReadinessState = BrowsingContext2.ReadinessState || (BrowsingContext2.ReadinessState = {}));
82
+ })(BrowsingContext || (BrowsingContext = {}));
83
+ ((BrowsingContext2) => {
84
+ let UserPromptType;
85
+ ((UserPromptType2) => {
86
+ UserPromptType2["Alert"] = "alert";
87
+ UserPromptType2["Beforeunload"] = "beforeunload";
88
+ UserPromptType2["Confirm"] = "confirm";
89
+ UserPromptType2["Prompt"] = "prompt";
90
+ })(UserPromptType = BrowsingContext2.UserPromptType || (BrowsingContext2.UserPromptType = {}));
91
+ })(BrowsingContext || (BrowsingContext = {}));
92
+ ((BrowsingContext2) => {
93
+ let CreateType;
94
+ ((CreateType2) => {
95
+ CreateType2["Tab"] = "tab";
96
+ CreateType2["Window"] = "window";
97
+ })(CreateType = BrowsingContext2.CreateType || (BrowsingContext2.CreateType = {}));
98
+ })(BrowsingContext || (BrowsingContext = {}));
99
+ var Network;
100
+ ((Network2) => {
101
+ let SameSite;
102
+ ((SameSite2) => {
103
+ SameSite2["Strict"] = "strict";
104
+ SameSite2["Lax"] = "lax";
105
+ SameSite2["None"] = "none";
106
+ })(SameSite = Network2.SameSite || (Network2.SameSite = {}));
107
+ })(Network || (Network = {}));
108
+ ((Network2) => {
109
+ let InterceptPhase;
110
+ ((InterceptPhase2) => {
111
+ InterceptPhase2["BeforeRequestSent"] = "beforeRequestSent";
112
+ InterceptPhase2["ResponseStarted"] = "responseStarted";
113
+ InterceptPhase2["AuthRequired"] = "authRequired";
114
+ })(InterceptPhase = Network2.InterceptPhase || (Network2.InterceptPhase = {}));
115
+ })(Network || (Network = {}));
116
+ var Script;
117
+ ((Script2) => {
118
+ let ResultOwnership;
119
+ ((ResultOwnership2) => {
120
+ ResultOwnership2["Root"] = "root";
121
+ ResultOwnership2["None"] = "none";
122
+ })(ResultOwnership = Script2.ResultOwnership || (Script2.ResultOwnership = {}));
123
+ })(Script || (Script = {}));
124
+ var Log;
125
+ ((Log2) => {
126
+ let Level;
127
+ ((Level2) => {
128
+ Level2["Debug"] = "debug";
129
+ Level2["Info"] = "info";
130
+ Level2["Warn"] = "warn";
131
+ Level2["Error"] = "error";
132
+ })(Level = Log2.Level || (Log2.Level = {}));
133
+ })(Log || (Log = {}));
134
+ var Input;
135
+ ((Input2) => {
136
+ let PointerType;
137
+ ((PointerType2) => {
138
+ PointerType2["Mouse"] = "mouse";
139
+ PointerType2["Pen"] = "pen";
140
+ PointerType2["Touch"] = "touch";
141
+ })(PointerType = Input2.PointerType || (Input2.PointerType = {}));
142
+ })(Input || (Input = {}));
143
+ // Annotate the CommonJS export names for ESM import in node:
144
+ 0 && (module.exports = {
145
+ BrowsingContext,
146
+ ErrorCode,
147
+ Input,
148
+ Log,
149
+ Network,
150
+ Script,
151
+ Session
152
+ });
@@ -0,0 +1,42 @@
1
+ "use strict";
2
+ var __defProp = Object.defineProperty;
3
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
+ var __getOwnPropNames = Object.getOwnPropertyNames;
5
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
6
+ var __export = (target, all) => {
7
+ for (var name in all)
8
+ __defProp(target, name, { get: all[name], enumerable: true });
9
+ };
10
+ var __copyProps = (to, from, except, desc) => {
11
+ if (from && typeof from === "object" || typeof from === "function") {
12
+ for (let key of __getOwnPropNames(from))
13
+ if (!__hasOwnProp.call(to, key) && key !== except)
14
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
15
+ }
16
+ return to;
17
+ };
18
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
19
+ var bidiProtocolPermissions_exports = {};
20
+ __export(bidiProtocolPermissions_exports, {
21
+ Permissions: () => Permissions
22
+ });
23
+ module.exports = __toCommonJS(bidiProtocolPermissions_exports);
24
+ /**
25
+ * @license
26
+ * Copyright 2024 Google Inc.
27
+ * Modifications copyright (c) Microsoft Corporation.
28
+ * SPDX-License-Identifier: Apache-2.0
29
+ */
30
+ var Permissions;
31
+ ((Permissions2) => {
32
+ let PermissionState;
33
+ ((PermissionState2) => {
34
+ PermissionState2["Granted"] = "granted";
35
+ PermissionState2["Denied"] = "denied";
36
+ PermissionState2["Prompt"] = "prompt";
37
+ })(PermissionState = Permissions2.PermissionState || (Permissions2.PermissionState = {}));
38
+ })(Permissions || (Permissions = {}));
39
+ // Annotate the CommonJS export names for ESM import in node:
40
+ 0 && (module.exports = {
41
+ Permissions
42
+ });
@@ -0,0 +1,16 @@
1
+ "use strict";
2
+ var __defProp = Object.defineProperty;
3
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
+ var __getOwnPropNames = Object.getOwnPropertyNames;
5
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
6
+ var __copyProps = (to, from, except, desc) => {
7
+ if (from && typeof from === "object" || typeof from === "function") {
8
+ for (let key of __getOwnPropNames(from))
9
+ if (!__hasOwnProp.call(to, key) && key !== except)
10
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
11
+ }
12
+ return to;
13
+ };
14
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
15
+ var protocol_d_exports = {};
16
+ module.exports = __toCommonJS(protocol_d_exports);
@@ -0,0 +1,16 @@
1
+ "use strict";
2
+ var __defProp = Object.defineProperty;
3
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
+ var __getOwnPropNames = Object.getOwnPropertyNames;
5
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
6
+ var __copyProps = (to, from, except, desc) => {
7
+ if (from && typeof from === "object" || typeof from === "function") {
8
+ for (let key of __getOwnPropNames(from))
9
+ if (!__hasOwnProp.call(to, key) && key !== except)
10
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
11
+ }
12
+ return to;
13
+ };
14
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
15
+ var protocol_d_exports = {};
16
+ module.exports = __toCommonJS(protocol_d_exports);
@@ -0,0 +1,88 @@
1
+ "use strict";
2
+ var __defProp = Object.defineProperty;
3
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
+ var __getOwnPropNames = Object.getOwnPropertyNames;
5
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
6
+ var __export = (target, all) => {
7
+ for (var name in all)
8
+ __defProp(target, name, { get: all[name], enumerable: true });
9
+ };
10
+ var __copyProps = (to, from, except, desc) => {
11
+ if (from && typeof from === "object" || typeof from === "function") {
12
+ for (let key of __getOwnPropNames(from))
13
+ if (!__hasOwnProp.call(to, key) && key !== except)
14
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
15
+ }
16
+ return to;
17
+ };
18
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
19
+ var pageBinding_exports = {};
20
+ __export(pageBinding_exports, {
21
+ createPageBindingScript: () => createPageBindingScript,
22
+ deliverBindingResult: () => deliverBindingResult,
23
+ takeBindingHandle: () => takeBindingHandle
24
+ });
25
+ module.exports = __toCommonJS(pageBinding_exports);
26
+ var import_builtins = require("../utils/isomorphic/builtins");
27
+ var import_utilityScriptSerializers = require("../utils/isomorphic/utilityScriptSerializers");
28
+ function addPageBinding(playwrightBinding, bindingName, needsHandle, utilityScriptSerializersFactory, builtins2) {
29
+ const { serializeAsCallArgument } = utilityScriptSerializersFactory(builtins2);
30
+ const binding = globalThis[playwrightBinding];
31
+ globalThis[bindingName] = (...args) => {
32
+ const me = globalThis[bindingName];
33
+ if (needsHandle && args.slice(1).some((arg) => arg !== void 0))
34
+ throw new Error(`exposeBindingHandle supports a single argument, ${args.length} received`);
35
+ let callbacks = me["callbacks"];
36
+ if (!callbacks) {
37
+ callbacks = new builtins2.Map();
38
+ me["callbacks"] = callbacks;
39
+ }
40
+ const seq = (me["lastSeq"] || 0) + 1;
41
+ me["lastSeq"] = seq;
42
+ let handles = me["handles"];
43
+ if (!handles) {
44
+ handles = new builtins2.Map();
45
+ me["handles"] = handles;
46
+ }
47
+ const promise = new Promise((resolve, reject) => callbacks.set(seq, { resolve, reject }));
48
+ let payload;
49
+ if (needsHandle) {
50
+ handles.set(seq, args[0]);
51
+ payload = { name: bindingName, seq };
52
+ } else {
53
+ const serializedArgs = [];
54
+ for (let i = 0; i < args.length; i++) {
55
+ serializedArgs[i] = serializeAsCallArgument(args[i], (v) => {
56
+ return { fallThrough: v };
57
+ });
58
+ }
59
+ payload = { name: bindingName, seq, serializedArgs };
60
+ }
61
+ binding(JSON.stringify(payload));
62
+ return promise;
63
+ };
64
+ globalThis[bindingName].__installed = true;
65
+ }
66
+ function takeBindingHandle(arg) {
67
+ const handles = globalThis[arg.name]["handles"];
68
+ const handle = handles.get(arg.seq);
69
+ handles.delete(arg.seq);
70
+ return handle;
71
+ }
72
+ function deliverBindingResult(arg) {
73
+ const callbacks = globalThis[arg.name]["callbacks"];
74
+ if ("error" in arg)
75
+ callbacks.get(arg.seq).reject(arg.error);
76
+ else
77
+ callbacks.get(arg.seq).resolve(arg.result);
78
+ callbacks.delete(arg.seq);
79
+ }
80
+ function createPageBindingScript(playwrightBinding, name, needsHandle) {
81
+ return `(${addPageBinding.toString()})(${JSON.stringify(playwrightBinding)}, ${JSON.stringify(name)}, ${needsHandle}, (${import_utilityScriptSerializers.source}), (${import_builtins.builtins})())`;
82
+ }
83
+ // Annotate the CommonJS export names for ESM import in node:
84
+ 0 && (module.exports = {
85
+ createPageBindingScript,
86
+ deliverBindingResult,
87
+ takeBindingHandle
88
+ });
@@ -0,0 +1,83 @@
1
+ "use strict";
2
+ var __defProp = Object.defineProperty;
3
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
+ var __getOwnPropNames = Object.getOwnPropertyNames;
5
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
6
+ var __export = (target, all) => {
7
+ for (var name in all)
8
+ __defProp(target, name, { get: all[name], enumerable: true });
9
+ };
10
+ var __copyProps = (to, from, except, desc) => {
11
+ if (from && typeof from === "object" || typeof from === "function") {
12
+ for (let key of __getOwnPropNames(from))
13
+ if (!__hasOwnProp.call(to, key) && key !== except)
14
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
15
+ }
16
+ return to;
17
+ };
18
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
19
+ var recorderSignalProcessor_exports = {};
20
+ __export(recorderSignalProcessor_exports, {
21
+ RecorderSignalProcessor: () => RecorderSignalProcessor
22
+ });
23
+ module.exports = __toCommonJS(recorderSignalProcessor_exports);
24
+ var import_debug = require("../utils/debug");
25
+ var import_time = require("../../utils/isomorphic/time");
26
+ var import_recorderUtils = require("./recorderUtils");
27
+ class RecorderSignalProcessor {
28
+ constructor(actionSink) {
29
+ this._lastAction = null;
30
+ this._delegate = actionSink;
31
+ }
32
+ addAction(actionInContext) {
33
+ this._lastAction = actionInContext;
34
+ this._delegate.addAction(actionInContext);
35
+ }
36
+ signal(pageAlias, frame, signal) {
37
+ const timestamp = (0, import_time.monotonicTime)();
38
+ if (signal.name === "navigation" && frame._page.mainFrame() === frame) {
39
+ const lastAction = this._lastAction;
40
+ const signalThreshold = (0, import_debug.isUnderTest)() ? 500 : 5e3;
41
+ let generateGoto = false;
42
+ if (!lastAction)
43
+ generateGoto = true;
44
+ else if (lastAction.action.name !== "click" && lastAction.action.name !== "press" && lastAction.action.name !== "fill")
45
+ generateGoto = true;
46
+ else if (timestamp - lastAction.startTime > signalThreshold)
47
+ generateGoto = true;
48
+ if (generateGoto) {
49
+ this.addAction({
50
+ frame: {
51
+ pageGuid: frame._page.guid,
52
+ pageAlias,
53
+ framePath: []
54
+ },
55
+ action: {
56
+ name: "navigate",
57
+ url: frame.url(),
58
+ signals: []
59
+ },
60
+ startTime: timestamp,
61
+ endTime: timestamp
62
+ });
63
+ }
64
+ return;
65
+ }
66
+ (0, import_recorderUtils.generateFrameSelector)(frame).then((framePath) => {
67
+ const signalInContext = {
68
+ frame: {
69
+ pageGuid: frame._page.guid,
70
+ pageAlias,
71
+ framePath
72
+ },
73
+ signal,
74
+ timestamp
75
+ };
76
+ this._delegate.addSignal(signalInContext);
77
+ });
78
+ }
79
+ }
80
+ // Annotate the CommonJS export names for ESM import in node:
81
+ 0 && (module.exports = {
82
+ RecorderSignalProcessor
83
+ });
@@ -0,0 +1,16 @@
1
+ "use strict";
2
+ var __defProp = Object.defineProperty;
3
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
+ var __getOwnPropNames = Object.getOwnPropertyNames;
5
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
6
+ var __copyProps = (to, from, except, desc) => {
7
+ if (from && typeof from === "object" || typeof from === "function") {
8
+ for (let key of __getOwnPropNames(from))
9
+ if (!__hasOwnProp.call(to, key) && key !== except)
10
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
11
+ }
12
+ return to;
13
+ };
14
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
15
+ var protocol_d_exports = {};
16
+ module.exports = __toCommonJS(protocol_d_exports);
@@ -0,0 +1,90 @@
1
+ "use strict";
2
+ var __defProp = Object.defineProperty;
3
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
+ var __getOwnPropNames = Object.getOwnPropertyNames;
5
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
6
+ var __export = (target, all) => {
7
+ for (var name in all)
8
+ __defProp(target, name, { get: all[name], enumerable: true });
9
+ };
10
+ var __copyProps = (to, from, except, desc) => {
11
+ if (from && typeof from === "object" || typeof from === "function") {
12
+ for (let key of __getOwnPropNames(from))
13
+ if (!__hasOwnProp.call(to, key) && key !== except)
14
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
15
+ }
16
+ return to;
17
+ };
18
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
19
+ var builtins_exports = {};
20
+ __export(builtins_exports, {
21
+ Date: () => Date,
22
+ Intl: () => Intl,
23
+ Map: () => Map,
24
+ Set: () => Set,
25
+ builtins: () => builtins,
26
+ cancelAnimationFrame: () => cancelAnimationFrame,
27
+ cancelIdleCallback: () => cancelIdleCallback,
28
+ clearInterval: () => clearInterval,
29
+ clearTimeout: () => clearTimeout,
30
+ performance: () => performance,
31
+ requestAnimationFrame: () => requestAnimationFrame,
32
+ requestIdleCallback: () => requestIdleCallback,
33
+ setInterval: () => setInterval,
34
+ setTimeout: () => setTimeout
35
+ });
36
+ module.exports = __toCommonJS(builtins_exports);
37
+ function builtins(global) {
38
+ global = global ?? globalThis;
39
+ if (!global["__playwright_builtins__"]) {
40
+ const builtins2 = {
41
+ setTimeout: global.setTimeout?.bind(global),
42
+ clearTimeout: global.clearTimeout?.bind(global),
43
+ setInterval: global.setInterval?.bind(global),
44
+ clearInterval: global.clearInterval?.bind(global),
45
+ requestAnimationFrame: global.requestAnimationFrame?.bind(global),
46
+ cancelAnimationFrame: global.cancelAnimationFrame?.bind(global),
47
+ requestIdleCallback: global.requestIdleCallback?.bind(global),
48
+ cancelIdleCallback: global.cancelIdleCallback?.bind(global),
49
+ performance: global.performance,
50
+ eval: global.eval?.bind(global),
51
+ Intl: global.Intl,
52
+ Date: global.Date,
53
+ Map: global.Map,
54
+ Set: global.Set
55
+ };
56
+ Object.defineProperty(global, "__playwright_builtins__", { value: builtins2, configurable: false, enumerable: false, writable: false });
57
+ }
58
+ return global["__playwright_builtins__"];
59
+ }
60
+ const instance = builtins();
61
+ const setTimeout = instance.setTimeout;
62
+ const clearTimeout = instance.clearTimeout;
63
+ const setInterval = instance.setInterval;
64
+ const clearInterval = instance.clearInterval;
65
+ const requestAnimationFrame = instance.requestAnimationFrame;
66
+ const cancelAnimationFrame = instance.cancelAnimationFrame;
67
+ const requestIdleCallback = instance.requestIdleCallback;
68
+ const cancelIdleCallback = instance.cancelIdleCallback;
69
+ const performance = instance.performance;
70
+ const Intl = instance.Intl;
71
+ const Date = instance.Date;
72
+ const Map = instance.Map;
73
+ const Set = instance.Set;
74
+ // Annotate the CommonJS export names for ESM import in node:
75
+ 0 && (module.exports = {
76
+ Date,
77
+ Intl,
78
+ Map,
79
+ Set,
80
+ builtins,
81
+ cancelAnimationFrame,
82
+ cancelIdleCallback,
83
+ clearInterval,
84
+ clearTimeout,
85
+ performance,
86
+ requestAnimationFrame,
87
+ requestIdleCallback,
88
+ setInterval,
89
+ setTimeout
90
+ });