@agent-infra/browser 0.1.6 → 0.2.0-alpha.3
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/README.md +35 -52
- package/README.zh-CN.md +57 -0
- package/dist/actions/index.d.ts +3 -0
- package/dist/actions/index.d.ts.map +1 -0
- package/dist/actions/index.js +46 -0
- package/dist/actions/index.js.map +1 -0
- package/dist/actions/index.mjs +7 -0
- package/dist/actions/key-map.d.ts +28 -0
- package/dist/actions/key-map.d.ts.map +1 -0
- package/dist/actions/key-map.js +409 -0
- package/dist/actions/key-map.js.map +1 -0
- package/dist/actions/key-map.mjs +369 -0
- package/dist/actions/key-map.mjs.map +1 -0
- package/dist/actions/keyboard.d.ts +21 -0
- package/dist/actions/keyboard.d.ts.map +1 -0
- package/dist/actions/keyboard.js +196 -0
- package/dist/actions/keyboard.js.map +1 -0
- package/dist/actions/keyboard.mjs +152 -0
- package/dist/actions/keyboard.mjs.map +1 -0
- package/dist/actions/keyboard.test.d.ts +2 -0
- package/dist/actions/keyboard.test.d.ts.map +1 -0
- package/dist/actions/mouse.d.ts +19 -0
- package/dist/actions/mouse.d.ts.map +1 -0
- package/dist/actions/mouse.js +173 -0
- package/dist/actions/mouse.js.map +1 -0
- package/dist/actions/mouse.mjs +136 -0
- package/dist/actions/mouse.mjs.map +1 -0
- package/dist/browser/base.d.ts +47 -0
- package/dist/browser/base.d.ts.map +1 -0
- package/dist/browser/base.js +156 -0
- package/dist/browser/base.js.map +1 -0
- package/dist/browser/base.mjs +122 -0
- package/dist/browser/base.mjs.map +1 -0
- package/dist/browser/browser.d.ts +23 -0
- package/dist/browser/browser.d.ts.map +1 -0
- package/dist/browser/browser.js +183 -0
- package/dist/browser/browser.js.map +1 -0
- package/dist/browser/browser.mjs +149 -0
- package/dist/browser/browser.mjs.map +1 -0
- package/dist/env.d.ts +4 -0
- package/dist/env.d.ts.map +1 -0
- package/dist/env.js +96 -0
- package/dist/env.js.map +1 -0
- package/dist/env.mjs +62 -0
- package/dist/env.mjs.map +1 -0
- package/dist/index.node.d.ts +7 -0
- package/dist/index.node.d.ts.map +1 -0
- package/dist/index.node.js +106 -0
- package/dist/index.node.js.map +1 -0
- package/dist/index.node.mjs +10 -0
- package/dist/index.web.d.ts +7 -0
- package/dist/index.web.d.ts.map +1 -0
- package/dist/{index.js → index.web.js} +33 -20
- package/dist/index.web.js.map +1 -0
- package/dist/index.web.mjs +10 -0
- package/dist/injected-script/index.d.ts +3 -0
- package/dist/injected-script/index.d.ts.map +1 -0
- package/dist/injected-script/index.js +46 -0
- package/dist/injected-script/index.js.map +1 -0
- package/dist/injected-script/index.mjs +7 -0
- package/dist/injected-script/visibility.d.ts +2 -0
- package/dist/injected-script/visibility.d.ts.map +1 -0
- package/dist/injected-script/visibility.js +66 -0
- package/dist/injected-script/visibility.js.map +1 -0
- package/dist/injected-script/visibility.mjs +32 -0
- package/dist/injected-script/visibility.mjs.map +1 -0
- package/dist/injected-script/webdriver.d.ts +2 -0
- package/dist/injected-script/webdriver.d.ts.map +1 -0
- package/dist/injected-script/webdriver.js +71 -0
- package/dist/injected-script/webdriver.js.map +1 -0
- package/dist/injected-script/webdriver.mjs +37 -0
- package/dist/injected-script/webdriver.mjs.map +1 -0
- package/dist/polyfills/index.d.ts +2 -0
- package/dist/polyfills/index.d.ts.map +1 -0
- package/dist/polyfills/index.js +66 -0
- package/dist/polyfills/index.js.map +1 -0
- package/dist/polyfills/index.mjs +5 -0
- package/dist/polyfills/withResolvers.d.ts +2 -0
- package/dist/polyfills/withResolvers.d.ts.map +1 -0
- package/dist/polyfills/withResolvers.js +37 -0
- package/dist/polyfills/withResolvers.js.map +1 -0
- package/dist/polyfills/withResolvers.mjs +19 -0
- package/dist/polyfills/withResolvers.mjs.map +1 -0
- package/dist/tabs/dialog.d.ts +14 -0
- package/dist/tabs/dialog.d.ts.map +1 -0
- package/dist/tabs/dialog.js +175 -0
- package/dist/tabs/dialog.js.map +1 -0
- package/dist/tabs/dialog.mjs +141 -0
- package/dist/tabs/dialog.mjs.map +1 -0
- package/dist/tabs/index.d.ts +3 -0
- package/dist/tabs/index.d.ts.map +1 -0
- package/dist/tabs/index.js +46 -0
- package/dist/tabs/index.js.map +1 -0
- package/dist/tabs/index.mjs +7 -0
- package/dist/tabs/tab.d.ts +50 -0
- package/dist/tabs/tab.d.ts.map +1 -0
- package/dist/tabs/tab.js +579 -0
- package/dist/tabs/tab.js.map +1 -0
- package/dist/tabs/tab.mjs +545 -0
- package/dist/tabs/tab.mjs.map +1 -0
- package/dist/tabs/tabs.d.ts +21 -0
- package/dist/tabs/tabs.d.ts.map +1 -0
- package/dist/tabs/tabs.js +458 -0
- package/dist/tabs/tabs.js.map +1 -0
- package/dist/tabs/tabs.mjs +424 -0
- package/dist/tabs/tabs.mjs.map +1 -0
- package/dist/types/actions.d.ts +26 -0
- package/dist/types/actions.d.ts.map +1 -0
- package/dist/types/actions.js +24 -0
- package/dist/types/actions.js.map +1 -0
- package/dist/types/browser.d.ts +7 -0
- package/dist/types/browser.d.ts.map +1 -0
- package/dist/types/browser.js +24 -0
- package/dist/types/browser.js.map +1 -0
- package/dist/types/browser.mjs +4 -0
- package/dist/types/dialog.d.ts +7 -0
- package/dist/types/dialog.d.ts.map +1 -0
- package/dist/types/dialog.js +24 -0
- package/dist/types/dialog.js.map +1 -0
- package/dist/types/dialog.mjs +4 -0
- package/dist/types/env.d.ts +8 -0
- package/dist/types/env.d.ts.map +1 -0
- package/dist/{types.js → types/env.js} +1 -1
- package/dist/types/env.js.map +1 -0
- package/dist/types/env.mjs +4 -0
- package/dist/types/index.d.ts +6 -0
- package/dist/types/index.d.ts.map +1 -0
- package/dist/types/index.js +102 -0
- package/dist/types/index.js.map +1 -0
- package/dist/types/index.mjs +9 -0
- package/dist/types/tabs.d.ts +98 -0
- package/dist/types/tabs.d.ts.map +1 -0
- package/dist/types/tabs.js +48 -0
- package/dist/types/tabs.js.map +1 -0
- package/dist/types/tabs.mjs +14 -0
- package/dist/types/tabs.mjs.map +1 -0
- package/dist/utils/iife.d.ts +2 -0
- package/dist/utils/iife.d.ts.map +1 -0
- package/dist/utils/iife.js +48 -0
- package/dist/utils/iife.js.map +1 -0
- package/dist/utils/iife.mjs +14 -0
- package/dist/utils/iife.mjs.map +1 -0
- package/dist/utils/index.d.ts +4 -0
- package/dist/utils/index.d.ts.map +1 -0
- package/dist/utils/index.js +50 -0
- package/dist/utils/index.js.map +1 -0
- package/dist/utils/index.mjs +8 -0
- package/dist/utils/mutex.d.ts +21 -0
- package/dist/utils/mutex.d.ts.map +1 -0
- package/dist/utils/mutex.js +133 -0
- package/dist/utils/mutex.js.map +1 -0
- package/dist/utils/mutex.mjs +99 -0
- package/dist/utils/mutex.mjs.map +1 -0
- package/dist/utils/url.d.ts +7 -0
- package/dist/utils/url.d.ts.map +1 -0
- package/dist/utils/url.js +76 -0
- package/dist/utils/url.js.map +1 -0
- package/dist/utils/url.mjs +42 -0
- package/dist/utils/url.mjs.map +1 -0
- package/package.json +21 -13
- package/dist/base-browser.d.ts +0 -94
- package/dist/base-browser.d.ts.map +0 -1
- package/dist/base-browser.js +0 -189
- package/dist/base-browser.js.map +0 -1
- package/dist/base-browser.mjs +0 -155
- package/dist/base-browser.mjs.map +0 -1
- package/dist/index.d.ts +0 -15
- package/dist/index.d.ts.map +0 -1
- package/dist/index.js.map +0 -1
- package/dist/index.mjs +0 -8
- package/dist/local-browser.d.ts +0 -19
- package/dist/local-browser.d.ts.map +0 -1
- package/dist/local-browser.js +0 -134
- package/dist/local-browser.js.map +0 -1
- package/dist/local-browser.mjs +0 -100
- package/dist/local-browser.mjs.map +0 -1
- package/dist/remote-browser.d.ts +0 -49
- package/dist/remote-browser.d.ts.map +0 -1
- package/dist/remote-browser.js +0 -89
- package/dist/remote-browser.js.map +0 -1
- package/dist/remote-browser.mjs +0 -55
- package/dist/remote-browser.mjs.map +0 -1
- package/dist/types.d.ts +0 -158
- package/dist/types.d.ts.map +0 -1
- package/dist/types.js.map +0 -1
- /package/dist/{types.mjs → types/actions.mjs} +0 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/types/index.ts"],"names":[],"mappings":"AAKA,cAAc,OAAO,CAAC;AACtB,cAAc,WAAW,CAAC;AAC1B,cAAc,QAAQ,CAAC;AACvB,cAAc,UAAU,CAAC;AACzB,cAAc,WAAW,CAAC"}
|
|
@@ -0,0 +1,102 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Copyright (c) 2025 Bytedance, Inc. and its affiliates.
|
|
3
|
+
* SPDX-License-Identifier: Apache-2.0
|
|
4
|
+
*/
|
|
5
|
+
"use strict";
|
|
6
|
+
var __webpack_modules__ = {
|
|
7
|
+
"./actions?513b": function(module) {
|
|
8
|
+
module.exports = require("./actions.js");
|
|
9
|
+
},
|
|
10
|
+
"./browser": function(module) {
|
|
11
|
+
module.exports = require("./browser.js");
|
|
12
|
+
},
|
|
13
|
+
"./dialog": function(module) {
|
|
14
|
+
module.exports = require("./dialog.js");
|
|
15
|
+
},
|
|
16
|
+
"./env": function(module) {
|
|
17
|
+
module.exports = require("./env.js");
|
|
18
|
+
},
|
|
19
|
+
"./tabs?176b": function(module) {
|
|
20
|
+
module.exports = require("./tabs.js");
|
|
21
|
+
}
|
|
22
|
+
};
|
|
23
|
+
var __webpack_module_cache__ = {};
|
|
24
|
+
function __webpack_require__(moduleId) {
|
|
25
|
+
var cachedModule = __webpack_module_cache__[moduleId];
|
|
26
|
+
if (void 0 !== cachedModule) return cachedModule.exports;
|
|
27
|
+
var module = __webpack_module_cache__[moduleId] = {
|
|
28
|
+
exports: {}
|
|
29
|
+
};
|
|
30
|
+
__webpack_modules__[moduleId](module, module.exports, __webpack_require__);
|
|
31
|
+
return module.exports;
|
|
32
|
+
}
|
|
33
|
+
(()=>{
|
|
34
|
+
__webpack_require__.n = (module)=>{
|
|
35
|
+
var getter = module && module.__esModule ? ()=>module['default'] : ()=>module;
|
|
36
|
+
__webpack_require__.d(getter, {
|
|
37
|
+
a: getter
|
|
38
|
+
});
|
|
39
|
+
return getter;
|
|
40
|
+
};
|
|
41
|
+
})();
|
|
42
|
+
(()=>{
|
|
43
|
+
__webpack_require__.d = (exports1, definition)=>{
|
|
44
|
+
for(var key in definition)if (__webpack_require__.o(definition, key) && !__webpack_require__.o(exports1, key)) Object.defineProperty(exports1, key, {
|
|
45
|
+
enumerable: true,
|
|
46
|
+
get: definition[key]
|
|
47
|
+
});
|
|
48
|
+
};
|
|
49
|
+
})();
|
|
50
|
+
(()=>{
|
|
51
|
+
__webpack_require__.o = (obj, prop)=>Object.prototype.hasOwnProperty.call(obj, prop);
|
|
52
|
+
})();
|
|
53
|
+
(()=>{
|
|
54
|
+
__webpack_require__.r = (exports1)=>{
|
|
55
|
+
if ('undefined' != typeof Symbol && Symbol.toStringTag) Object.defineProperty(exports1, Symbol.toStringTag, {
|
|
56
|
+
value: 'Module'
|
|
57
|
+
});
|
|
58
|
+
Object.defineProperty(exports1, '__esModule', {
|
|
59
|
+
value: true
|
|
60
|
+
});
|
|
61
|
+
};
|
|
62
|
+
})();
|
|
63
|
+
var __webpack_exports__ = {};
|
|
64
|
+
(()=>{
|
|
65
|
+
__webpack_require__.r(__webpack_exports__);
|
|
66
|
+
var _env__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__("./env");
|
|
67
|
+
var __WEBPACK_REEXPORT_OBJECT__ = {};
|
|
68
|
+
for(var __WEBPACK_IMPORT_KEY__ in _env__WEBPACK_IMPORTED_MODULE_0__)if ("default" !== __WEBPACK_IMPORT_KEY__) __WEBPACK_REEXPORT_OBJECT__[__WEBPACK_IMPORT_KEY__] = (function(key) {
|
|
69
|
+
return _env__WEBPACK_IMPORTED_MODULE_0__[key];
|
|
70
|
+
}).bind(0, __WEBPACK_IMPORT_KEY__);
|
|
71
|
+
__webpack_require__.d(__webpack_exports__, __WEBPACK_REEXPORT_OBJECT__);
|
|
72
|
+
var _browser__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__("./browser");
|
|
73
|
+
var __WEBPACK_REEXPORT_OBJECT__ = {};
|
|
74
|
+
for(var __WEBPACK_IMPORT_KEY__ in _browser__WEBPACK_IMPORTED_MODULE_1__)if ("default" !== __WEBPACK_IMPORT_KEY__) __WEBPACK_REEXPORT_OBJECT__[__WEBPACK_IMPORT_KEY__] = (function(key) {
|
|
75
|
+
return _browser__WEBPACK_IMPORTED_MODULE_1__[key];
|
|
76
|
+
}).bind(0, __WEBPACK_IMPORT_KEY__);
|
|
77
|
+
__webpack_require__.d(__webpack_exports__, __WEBPACK_REEXPORT_OBJECT__);
|
|
78
|
+
var _tabs__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__("./tabs?176b");
|
|
79
|
+
var __WEBPACK_REEXPORT_OBJECT__ = {};
|
|
80
|
+
for(var __WEBPACK_IMPORT_KEY__ in _tabs__WEBPACK_IMPORTED_MODULE_2__)if ("default" !== __WEBPACK_IMPORT_KEY__) __WEBPACK_REEXPORT_OBJECT__[__WEBPACK_IMPORT_KEY__] = (function(key) {
|
|
81
|
+
return _tabs__WEBPACK_IMPORTED_MODULE_2__[key];
|
|
82
|
+
}).bind(0, __WEBPACK_IMPORT_KEY__);
|
|
83
|
+
__webpack_require__.d(__webpack_exports__, __WEBPACK_REEXPORT_OBJECT__);
|
|
84
|
+
var _dialog__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__("./dialog");
|
|
85
|
+
var __WEBPACK_REEXPORT_OBJECT__ = {};
|
|
86
|
+
for(var __WEBPACK_IMPORT_KEY__ in _dialog__WEBPACK_IMPORTED_MODULE_3__)if ("default" !== __WEBPACK_IMPORT_KEY__) __WEBPACK_REEXPORT_OBJECT__[__WEBPACK_IMPORT_KEY__] = (function(key) {
|
|
87
|
+
return _dialog__WEBPACK_IMPORTED_MODULE_3__[key];
|
|
88
|
+
}).bind(0, __WEBPACK_IMPORT_KEY__);
|
|
89
|
+
__webpack_require__.d(__webpack_exports__, __WEBPACK_REEXPORT_OBJECT__);
|
|
90
|
+
var _actions__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__("./actions?513b");
|
|
91
|
+
var __WEBPACK_REEXPORT_OBJECT__ = {};
|
|
92
|
+
for(var __WEBPACK_IMPORT_KEY__ in _actions__WEBPACK_IMPORTED_MODULE_4__)if ("default" !== __WEBPACK_IMPORT_KEY__) __WEBPACK_REEXPORT_OBJECT__[__WEBPACK_IMPORT_KEY__] = (function(key) {
|
|
93
|
+
return _actions__WEBPACK_IMPORTED_MODULE_4__[key];
|
|
94
|
+
}).bind(0, __WEBPACK_IMPORT_KEY__);
|
|
95
|
+
__webpack_require__.d(__webpack_exports__, __WEBPACK_REEXPORT_OBJECT__);
|
|
96
|
+
})();
|
|
97
|
+
for(var __webpack_i__ in __webpack_exports__)exports[__webpack_i__] = __webpack_exports__[__webpack_i__];
|
|
98
|
+
Object.defineProperty(exports, '__esModule', {
|
|
99
|
+
value: true
|
|
100
|
+
});
|
|
101
|
+
|
|
102
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types/index.js","sources":["webpack://@agent-infra/browser/webpack/runtime/compat_get_default_export","webpack://@agent-infra/browser/webpack/runtime/define_property_getters","webpack://@agent-infra/browser/webpack/runtime/has_own_property","webpack://@agent-infra/browser/webpack/runtime/make_namespace_object"],"sourcesContent":["// getDefaultExport function for compatibility with non-ESM modules\n__webpack_require__.n = (module) => {\n\tvar getter = module && module.__esModule ?\n\t\t() => (module['default']) :\n\t\t() => (module);\n\t__webpack_require__.d(getter, { a: getter });\n\treturn getter;\n};\n","__webpack_require__.d = (exports, definition) => {\n\tfor(var key in definition) {\n if(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n Object.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n }\n }\n};","__webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop))","// define __esModule on exports\n__webpack_require__.r = (exports) => {\n\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n\t}\n\tObject.defineProperty(exports, '__esModule', { value: true });\n};"],"names":["__webpack_require__","module","getter","definition","key","Object","obj","prop","Symbol"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IACAA,oBAAoB,CAAC,GAAG,CAACC;QACxB,IAAIC,SAASD,UAAUA,OAAO,UAAU,GACvC,IAAOA,MAAM,CAAC,UAAU,GACxB,IAAOA;QACRD,oBAAoB,CAAC,CAACE,QAAQ;YAAE,GAAGA;QAAO;QAC1C,OAAOA;IACR;;;ICPAF,oBAAoB,CAAC,GAAG,CAAC,UAASG;QACjC,IAAI,IAAIC,OAAOD,WACR,IAAGH,oBAAoB,CAAC,CAACG,YAAYC,QAAQ,CAACJ,oBAAoB,CAAC,CAAC,UAASI,MACzEC,OAAO,cAAc,CAAC,UAASD,KAAK;YAAE,YAAY;YAAM,KAAKD,UAAU,CAACC,IAAI;QAAC;IAGzF;;;ICNAJ,oBAAoB,CAAC,GAAG,CAACM,KAAKC,OAAUF,OAAO,SAAS,CAAC,cAAc,CAAC,IAAI,CAACC,KAAKC;;;ICClFP,oBAAoB,CAAC,GAAG,CAAC;QACxB,IAAG,AAAkB,eAAlB,OAAOQ,UAA0BA,OAAO,WAAW,EACrDH,OAAO,cAAc,CAAC,UAASG,OAAO,WAAW,EAAE;YAAE,OAAO;QAAS;QAEtEH,OAAO,cAAc,CAAC,UAAS,cAAc;YAAE,OAAO;QAAK;IAC5D"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Copyright (c) 2025 Bytedance, Inc. and its affiliates.
|
|
3
|
+
* SPDX-License-Identifier: Apache-2.0
|
|
4
|
+
*/
|
|
5
|
+
export * from "./env.mjs";
|
|
6
|
+
export * from "./browser.mjs";
|
|
7
|
+
export * from "./tabs.mjs";
|
|
8
|
+
export * from "./dialog.mjs";
|
|
9
|
+
export * from "./actions.mjs";
|
|
@@ -0,0 +1,98 @@
|
|
|
1
|
+
import type { Viewport, Protocol, PuppeteerLifeCycleEvent, ScreenshotOptions } from 'puppeteer-core';
|
|
2
|
+
import type { EnvInfo } from './env';
|
|
3
|
+
import type { UserAgentInfo } from './browser';
|
|
4
|
+
export interface TabsOptions {
|
|
5
|
+
viewport: Viewport;
|
|
6
|
+
envInfo: EnvInfo;
|
|
7
|
+
userAgentInfo?: UserAgentInfo;
|
|
8
|
+
}
|
|
9
|
+
export interface TabOptions extends TabsOptions {
|
|
10
|
+
tabId: string;
|
|
11
|
+
}
|
|
12
|
+
export declare const enum TabEvents {
|
|
13
|
+
TabLoadingStateChanged = "tabLoadingStateChanged",
|
|
14
|
+
TabUrlChanged = "tabUrlChanged",
|
|
15
|
+
TabVisibilityChanged = "TabVisibilityChanged",
|
|
16
|
+
TabDialogChanged = "TabDialogChanged"
|
|
17
|
+
}
|
|
18
|
+
export interface TabEventsMap {
|
|
19
|
+
[TabEvents.TabLoadingStateChanged]: {
|
|
20
|
+
tabId: string;
|
|
21
|
+
isLoading: boolean;
|
|
22
|
+
};
|
|
23
|
+
[TabEvents.TabUrlChanged]: {
|
|
24
|
+
tabId: string;
|
|
25
|
+
title: string;
|
|
26
|
+
favicon: string;
|
|
27
|
+
oldUrl: string;
|
|
28
|
+
newUrl: string;
|
|
29
|
+
canGoBack: boolean;
|
|
30
|
+
canGoForward: boolean;
|
|
31
|
+
};
|
|
32
|
+
[TabEvents.TabVisibilityChanged]: {
|
|
33
|
+
tabId: string;
|
|
34
|
+
isVisible: boolean;
|
|
35
|
+
};
|
|
36
|
+
[TabEvents.TabDialogChanged]: {
|
|
37
|
+
tabId: string;
|
|
38
|
+
isOpen: boolean;
|
|
39
|
+
type?: Protocol.Page.DialogType;
|
|
40
|
+
message?: string;
|
|
41
|
+
defaultValue?: string;
|
|
42
|
+
};
|
|
43
|
+
}
|
|
44
|
+
export interface DialogMeta {
|
|
45
|
+
type: Protocol.Page.DialogType;
|
|
46
|
+
message: string;
|
|
47
|
+
defaultValue: string;
|
|
48
|
+
}
|
|
49
|
+
export interface TabMeta {
|
|
50
|
+
id: string;
|
|
51
|
+
title: string;
|
|
52
|
+
url: string;
|
|
53
|
+
favicon: string | null;
|
|
54
|
+
isLoading: boolean;
|
|
55
|
+
isActive: boolean;
|
|
56
|
+
canGoBack: boolean;
|
|
57
|
+
canGoForward: boolean;
|
|
58
|
+
dialog?: DialogMeta;
|
|
59
|
+
}
|
|
60
|
+
export interface TabsState {
|
|
61
|
+
tabs: Map<string, TabMeta>;
|
|
62
|
+
activeTabId: string | null;
|
|
63
|
+
}
|
|
64
|
+
export interface TabsOperationTracker {
|
|
65
|
+
creatingTargetIds: Set<string>;
|
|
66
|
+
switchingTargetIds: Set<string>;
|
|
67
|
+
closingTargetIds: Set<string>;
|
|
68
|
+
}
|
|
69
|
+
export interface NavigationOptions {
|
|
70
|
+
waitUntil?: PuppeteerLifeCycleEvent[];
|
|
71
|
+
timeout?: number;
|
|
72
|
+
}
|
|
73
|
+
export interface NavigationSuccessResult {
|
|
74
|
+
success: true;
|
|
75
|
+
url: string;
|
|
76
|
+
}
|
|
77
|
+
export interface NavigationErrorResult {
|
|
78
|
+
success: false;
|
|
79
|
+
url: string;
|
|
80
|
+
message: string;
|
|
81
|
+
}
|
|
82
|
+
export type NavigationResult = NavigationSuccessResult | NavigationErrorResult;
|
|
83
|
+
export type TabScreenshotOptions = Pick<ScreenshotOptions, 'type' | 'quality' | 'fullPage' | 'path'>;
|
|
84
|
+
export interface BaseScreenshotResult {
|
|
85
|
+
type: string;
|
|
86
|
+
width: number;
|
|
87
|
+
height: number;
|
|
88
|
+
}
|
|
89
|
+
export interface ScreenshotResultWithPath extends BaseScreenshotResult {
|
|
90
|
+
data: Uint8Array;
|
|
91
|
+
}
|
|
92
|
+
export interface ScreenshotResultWithoutPath extends BaseScreenshotResult {
|
|
93
|
+
data: string;
|
|
94
|
+
}
|
|
95
|
+
export type TabScreenshotResult<T extends TabScreenshotOptions> = T extends {
|
|
96
|
+
path: string;
|
|
97
|
+
} ? ScreenshotResultWithPath : ScreenshotResultWithoutPath;
|
|
98
|
+
//# sourceMappingURL=tabs.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tabs.d.ts","sourceRoot":"","sources":["../../src/types/tabs.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Copyright (c) 2025 Bytedance, Inc. and its affiliates.
|
|
3
|
+
* SPDX-License-Identifier: Apache-2.0
|
|
4
|
+
*/
|
|
5
|
+
"use strict";
|
|
6
|
+
var __webpack_require__ = {};
|
|
7
|
+
(()=>{
|
|
8
|
+
__webpack_require__.d = (exports1, definition)=>{
|
|
9
|
+
for(var key in definition)if (__webpack_require__.o(definition, key) && !__webpack_require__.o(exports1, key)) Object.defineProperty(exports1, key, {
|
|
10
|
+
enumerable: true,
|
|
11
|
+
get: definition[key]
|
|
12
|
+
});
|
|
13
|
+
};
|
|
14
|
+
})();
|
|
15
|
+
(()=>{
|
|
16
|
+
__webpack_require__.o = (obj, prop)=>Object.prototype.hasOwnProperty.call(obj, prop);
|
|
17
|
+
})();
|
|
18
|
+
(()=>{
|
|
19
|
+
__webpack_require__.r = (exports1)=>{
|
|
20
|
+
if ('undefined' != typeof Symbol && Symbol.toStringTag) Object.defineProperty(exports1, Symbol.toStringTag, {
|
|
21
|
+
value: 'Module'
|
|
22
|
+
});
|
|
23
|
+
Object.defineProperty(exports1, '__esModule', {
|
|
24
|
+
value: true
|
|
25
|
+
});
|
|
26
|
+
};
|
|
27
|
+
})();
|
|
28
|
+
var __webpack_exports__ = {};
|
|
29
|
+
__webpack_require__.r(__webpack_exports__);
|
|
30
|
+
__webpack_require__.d(__webpack_exports__, {
|
|
31
|
+
TabEvents: ()=>TabEvents
|
|
32
|
+
});
|
|
33
|
+
var TabEvents = /*#__PURE__*/ function(TabEvents) {
|
|
34
|
+
TabEvents["TabLoadingStateChanged"] = "tabLoadingStateChanged";
|
|
35
|
+
TabEvents["TabUrlChanged"] = "tabUrlChanged";
|
|
36
|
+
TabEvents["TabVisibilityChanged"] = "TabVisibilityChanged";
|
|
37
|
+
TabEvents["TabDialogChanged"] = "TabDialogChanged";
|
|
38
|
+
return TabEvents;
|
|
39
|
+
}({});
|
|
40
|
+
exports.TabEvents = __webpack_exports__.TabEvents;
|
|
41
|
+
for(var __webpack_i__ in __webpack_exports__)if (-1 === [
|
|
42
|
+
"TabEvents"
|
|
43
|
+
].indexOf(__webpack_i__)) exports[__webpack_i__] = __webpack_exports__[__webpack_i__];
|
|
44
|
+
Object.defineProperty(exports, '__esModule', {
|
|
45
|
+
value: true
|
|
46
|
+
});
|
|
47
|
+
|
|
48
|
+
//# sourceMappingURL=tabs.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types/tabs.js","sources":["webpack://@agent-infra/browser/webpack/runtime/define_property_getters","webpack://@agent-infra/browser/webpack/runtime/has_own_property","webpack://@agent-infra/browser/webpack/runtime/make_namespace_object","webpack://@agent-infra/browser/./src/types/tabs.ts"],"sourcesContent":["__webpack_require__.d = (exports, definition) => {\n\tfor(var key in definition) {\n if(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n Object.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n }\n }\n};","__webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop))","// define __esModule on exports\n__webpack_require__.r = (exports) => {\n\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n\t}\n\tObject.defineProperty(exports, '__esModule', { value: true });\n};","/*\n * Copyright (c) 2025 Bytedance, Inc. and its affiliates.\n * SPDX-License-Identifier: Apache-2.0\n */\nimport type {\n Viewport,\n Protocol,\n PuppeteerLifeCycleEvent,\n ScreenshotOptions,\n} from 'puppeteer-core';\n\nimport type { EnvInfo } from './env';\nimport type { UserAgentInfo } from './browser';\n\nexport interface TabsOptions {\n viewport: Viewport;\n envInfo: EnvInfo;\n userAgentInfo?: UserAgentInfo;\n}\n\nexport interface TabOptions extends TabsOptions {\n tabId: string;\n}\n\nexport const enum TabEvents {\n TabLoadingStateChanged = 'tabLoadingStateChanged',\n TabUrlChanged = 'tabUrlChanged',\n TabVisibilityChanged = 'TabVisibilityChanged',\n TabDialogChanged = 'TabDialogChanged',\n}\n\nexport interface TabEventsMap {\n [TabEvents.TabLoadingStateChanged]: {\n tabId: string;\n isLoading: boolean;\n };\n [TabEvents.TabUrlChanged]: {\n tabId: string;\n title: string;\n favicon: string;\n oldUrl: string;\n newUrl: string;\n canGoBack: boolean;\n canGoForward: boolean;\n };\n [TabEvents.TabVisibilityChanged]: {\n tabId: string;\n isVisible: boolean;\n };\n [TabEvents.TabDialogChanged]: {\n tabId: string;\n isOpen: boolean;\n type?: Protocol.Page.DialogType;\n message?: string;\n defaultValue?: string;\n };\n}\n\nexport interface DialogMeta {\n type: Protocol.Page.DialogType;\n message: string;\n defaultValue: string;\n}\n\nexport interface TabMeta {\n id: string;\n title: string;\n url: string;\n favicon: string | null;\n isLoading: boolean;\n isActive: boolean;\n canGoBack: boolean;\n canGoForward: boolean;\n dialog?: DialogMeta;\n}\n\nexport interface TabsState {\n tabs: Map<string, TabMeta>;\n activeTabId: string | null;\n}\n\nexport interface TabsOperationTracker {\n creatingTargetIds: Set<string>;\n switchingTargetIds: Set<string>;\n closingTargetIds: Set<string>;\n}\n\nexport interface NavigationOptions {\n waitUntil?: PuppeteerLifeCycleEvent[];\n timeout?: number;\n}\n\nexport interface NavigationSuccessResult {\n success: true;\n url: string;\n}\nexport interface NavigationErrorResult {\n success: false;\n url: string;\n message: string;\n}\n\nexport type NavigationResult = NavigationSuccessResult | NavigationErrorResult;\n\nexport type TabScreenshotOptions = Pick<\n ScreenshotOptions,\n 'type' | 'quality' | 'fullPage' | 'path'\n>;\n\nexport interface BaseScreenshotResult {\n type: string;\n width: number;\n height: number;\n}\n\nexport interface ScreenshotResultWithPath extends BaseScreenshotResult {\n data: Uint8Array;\n}\n\nexport interface ScreenshotResultWithoutPath extends BaseScreenshotResult {\n data: string;\n}\n\nexport type TabScreenshotResult<T extends TabScreenshotOptions> = T extends {\n path: string;\n}\n ? ScreenshotResultWithPath\n : ScreenshotResultWithoutPath;\n"],"names":["__webpack_require__","definition","key","Object","obj","prop","Symbol","TabEvents"],"mappings":";;;;;;;IAAAA,oBAAoB,CAAC,GAAG,CAAC,UAASC;QACjC,IAAI,IAAIC,OAAOD,WACR,IAAGD,oBAAoB,CAAC,CAACC,YAAYC,QAAQ,CAACF,oBAAoB,CAAC,CAAC,UAASE,MACzEC,OAAO,cAAc,CAAC,UAASD,KAAK;YAAE,YAAY;YAAM,KAAKD,UAAU,CAACC,IAAI;QAAC;IAGzF;;;ICNAF,oBAAoB,CAAC,GAAG,CAACI,KAAKC,OAAUF,OAAO,SAAS,CAAC,cAAc,CAAC,IAAI,CAACC,KAAKC;;;ICClFL,oBAAoB,CAAC,GAAG,CAAC;QACxB,IAAG,AAAkB,eAAlB,OAAOM,UAA0BA,OAAO,WAAW,EACrDH,OAAO,cAAc,CAAC,UAASG,OAAO,WAAW,EAAE;YAAE,OAAO;QAAS;QAEtEH,OAAO,cAAc,CAAC,UAAS,cAAc;YAAE,OAAO;QAAK;IAC5D;;;;;;;ACkBO,IAAWI,YAAAA,WAAAA,GAAAA,SAAAA,SAAS;;;;;WAATA"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Copyright (c) 2025 Bytedance, Inc. and its affiliates.
|
|
3
|
+
* SPDX-License-Identifier: Apache-2.0
|
|
4
|
+
*/
|
|
5
|
+
var tabs_TabEvents = /*#__PURE__*/ function(TabEvents) {
|
|
6
|
+
TabEvents["TabLoadingStateChanged"] = "tabLoadingStateChanged";
|
|
7
|
+
TabEvents["TabUrlChanged"] = "tabUrlChanged";
|
|
8
|
+
TabEvents["TabVisibilityChanged"] = "TabVisibilityChanged";
|
|
9
|
+
TabEvents["TabDialogChanged"] = "TabDialogChanged";
|
|
10
|
+
return TabEvents;
|
|
11
|
+
}({});
|
|
12
|
+
export { tabs_TabEvents as TabEvents };
|
|
13
|
+
|
|
14
|
+
//# sourceMappingURL=tabs.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types/tabs.mjs","sources":["webpack://@agent-infra/browser/./src/types/tabs.ts"],"sourcesContent":["/*\n * Copyright (c) 2025 Bytedance, Inc. and its affiliates.\n * SPDX-License-Identifier: Apache-2.0\n */\nimport type {\n Viewport,\n Protocol,\n PuppeteerLifeCycleEvent,\n ScreenshotOptions,\n} from 'puppeteer-core';\n\nimport type { EnvInfo } from './env';\nimport type { UserAgentInfo } from './browser';\n\nexport interface TabsOptions {\n viewport: Viewport;\n envInfo: EnvInfo;\n userAgentInfo?: UserAgentInfo;\n}\n\nexport interface TabOptions extends TabsOptions {\n tabId: string;\n}\n\nexport const enum TabEvents {\n TabLoadingStateChanged = 'tabLoadingStateChanged',\n TabUrlChanged = 'tabUrlChanged',\n TabVisibilityChanged = 'TabVisibilityChanged',\n TabDialogChanged = 'TabDialogChanged',\n}\n\nexport interface TabEventsMap {\n [TabEvents.TabLoadingStateChanged]: {\n tabId: string;\n isLoading: boolean;\n };\n [TabEvents.TabUrlChanged]: {\n tabId: string;\n title: string;\n favicon: string;\n oldUrl: string;\n newUrl: string;\n canGoBack: boolean;\n canGoForward: boolean;\n };\n [TabEvents.TabVisibilityChanged]: {\n tabId: string;\n isVisible: boolean;\n };\n [TabEvents.TabDialogChanged]: {\n tabId: string;\n isOpen: boolean;\n type?: Protocol.Page.DialogType;\n message?: string;\n defaultValue?: string;\n };\n}\n\nexport interface DialogMeta {\n type: Protocol.Page.DialogType;\n message: string;\n defaultValue: string;\n}\n\nexport interface TabMeta {\n id: string;\n title: string;\n url: string;\n favicon: string | null;\n isLoading: boolean;\n isActive: boolean;\n canGoBack: boolean;\n canGoForward: boolean;\n dialog?: DialogMeta;\n}\n\nexport interface TabsState {\n tabs: Map<string, TabMeta>;\n activeTabId: string | null;\n}\n\nexport interface TabsOperationTracker {\n creatingTargetIds: Set<string>;\n switchingTargetIds: Set<string>;\n closingTargetIds: Set<string>;\n}\n\nexport interface NavigationOptions {\n waitUntil?: PuppeteerLifeCycleEvent[];\n timeout?: number;\n}\n\nexport interface NavigationSuccessResult {\n success: true;\n url: string;\n}\nexport interface NavigationErrorResult {\n success: false;\n url: string;\n message: string;\n}\n\nexport type NavigationResult = NavigationSuccessResult | NavigationErrorResult;\n\nexport type TabScreenshotOptions = Pick<\n ScreenshotOptions,\n 'type' | 'quality' | 'fullPage' | 'path'\n>;\n\nexport interface BaseScreenshotResult {\n type: string;\n width: number;\n height: number;\n}\n\nexport interface ScreenshotResultWithPath extends BaseScreenshotResult {\n data: Uint8Array;\n}\n\nexport interface ScreenshotResultWithoutPath extends BaseScreenshotResult {\n data: string;\n}\n\nexport type TabScreenshotResult<T extends TabScreenshotOptions> = T extends {\n path: string;\n}\n ? ScreenshotResultWithPath\n : ScreenshotResultWithoutPath;\n"],"names":["TabEvents"],"mappings":";;;;AAwBO,IAAWA,iBAASA,WAAAA,GAAAA,SAATA,SAAS;;;;;WAATA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"iife.d.ts","sourceRoot":"","sources":["../../src/utils/iife.ts"],"names":[],"mappings":"AAIA,eAAO,MAAM,IAAI,GAAI,QAAQ,MAAM,WAM7B,CAAC"}
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Copyright (c) 2025 Bytedance, Inc. and its affiliates.
|
|
3
|
+
* SPDX-License-Identifier: Apache-2.0
|
|
4
|
+
*/
|
|
5
|
+
"use strict";
|
|
6
|
+
var __webpack_require__ = {};
|
|
7
|
+
(()=>{
|
|
8
|
+
__webpack_require__.d = (exports1, definition)=>{
|
|
9
|
+
for(var key in definition)if (__webpack_require__.o(definition, key) && !__webpack_require__.o(exports1, key)) Object.defineProperty(exports1, key, {
|
|
10
|
+
enumerable: true,
|
|
11
|
+
get: definition[key]
|
|
12
|
+
});
|
|
13
|
+
};
|
|
14
|
+
})();
|
|
15
|
+
(()=>{
|
|
16
|
+
__webpack_require__.o = (obj, prop)=>Object.prototype.hasOwnProperty.call(obj, prop);
|
|
17
|
+
})();
|
|
18
|
+
(()=>{
|
|
19
|
+
__webpack_require__.r = (exports1)=>{
|
|
20
|
+
if ('undefined' != typeof Symbol && Symbol.toStringTag) Object.defineProperty(exports1, Symbol.toStringTag, {
|
|
21
|
+
value: 'Module'
|
|
22
|
+
});
|
|
23
|
+
Object.defineProperty(exports1, '__esModule', {
|
|
24
|
+
value: true
|
|
25
|
+
});
|
|
26
|
+
};
|
|
27
|
+
})();
|
|
28
|
+
var __webpack_exports__ = {};
|
|
29
|
+
__webpack_require__.r(__webpack_exports__);
|
|
30
|
+
__webpack_require__.d(__webpack_exports__, {
|
|
31
|
+
iife: ()=>iife
|
|
32
|
+
});
|
|
33
|
+
const iife = (script)=>`(() => {
|
|
34
|
+
if (window.__agent_infra_injected_script) {
|
|
35
|
+
return;
|
|
36
|
+
}
|
|
37
|
+
window.__agent_infra_injected_script = true;
|
|
38
|
+
${script}
|
|
39
|
+
})();`;
|
|
40
|
+
exports.iife = __webpack_exports__.iife;
|
|
41
|
+
for(var __webpack_i__ in __webpack_exports__)if (-1 === [
|
|
42
|
+
"iife"
|
|
43
|
+
].indexOf(__webpack_i__)) exports[__webpack_i__] = __webpack_exports__[__webpack_i__];
|
|
44
|
+
Object.defineProperty(exports, '__esModule', {
|
|
45
|
+
value: true
|
|
46
|
+
});
|
|
47
|
+
|
|
48
|
+
//# sourceMappingURL=iife.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"utils/iife.js","sources":["webpack://@agent-infra/browser/webpack/runtime/define_property_getters","webpack://@agent-infra/browser/webpack/runtime/has_own_property","webpack://@agent-infra/browser/webpack/runtime/make_namespace_object","webpack://@agent-infra/browser/./src/utils/iife.ts"],"sourcesContent":["__webpack_require__.d = (exports, definition) => {\n\tfor(var key in definition) {\n if(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n Object.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n }\n }\n};","__webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop))","// define __esModule on exports\n__webpack_require__.r = (exports) => {\n\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n\t}\n\tObject.defineProperty(exports, '__esModule', { value: true });\n};","/*\n * Copyright (c) 2025 Bytedance, Inc. and its affiliates.\n * SPDX-License-Identifier: Apache-2.0\n */\nexport const iife = (script: string) => /* javascript */ `(() => {\n if (window.__agent_infra_injected_script) {\n return;\n }\n window.__agent_infra_injected_script = true;\n ${script}\n})();`;\n"],"names":["__webpack_require__","definition","key","Object","obj","prop","Symbol","iife","script"],"mappings":";;;;;;;IAAAA,oBAAoB,CAAC,GAAG,CAAC,UAASC;QACjC,IAAI,IAAIC,OAAOD,WACR,IAAGD,oBAAoB,CAAC,CAACC,YAAYC,QAAQ,CAACF,oBAAoB,CAAC,CAAC,UAASE,MACzEC,OAAO,cAAc,CAAC,UAASD,KAAK;YAAE,YAAY;YAAM,KAAKD,UAAU,CAACC,IAAI;QAAC;IAGzF;;;ICNAF,oBAAoB,CAAC,GAAG,CAACI,KAAKC,OAAUF,OAAO,SAAS,CAAC,cAAc,CAAC,IAAI,CAACC,KAAKC;;;ICClFL,oBAAoB,CAAC,GAAG,CAAC;QACxB,IAAG,AAAkB,eAAlB,OAAOM,UAA0BA,OAAO,WAAW,EACrDH,OAAO,cAAc,CAAC,UAASG,OAAO,WAAW,EAAE;YAAE,OAAO;QAAS;QAEtEH,OAAO,cAAc,CAAC,UAAS,cAAc;YAAE,OAAO;QAAK;IAC5D;;;;;;;ACFO,MAAMI,OAAO,CAACC,SAAoC,CAAC;;;;;EAKxD,EAAEA,OAAO;KACN,CAAC"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Copyright (c) 2025 Bytedance, Inc. and its affiliates.
|
|
3
|
+
* SPDX-License-Identifier: Apache-2.0
|
|
4
|
+
*/
|
|
5
|
+
const iife = (script)=>`(() => {
|
|
6
|
+
if (window.__agent_infra_injected_script) {
|
|
7
|
+
return;
|
|
8
|
+
}
|
|
9
|
+
window.__agent_infra_injected_script = true;
|
|
10
|
+
${script}
|
|
11
|
+
})();`;
|
|
12
|
+
export { iife };
|
|
13
|
+
|
|
14
|
+
//# sourceMappingURL=iife.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"utils/iife.mjs","sources":["webpack://@agent-infra/browser/./src/utils/iife.ts"],"sourcesContent":["/*\n * Copyright (c) 2025 Bytedance, Inc. and its affiliates.\n * SPDX-License-Identifier: Apache-2.0\n */\nexport const iife = (script: string) => /* javascript */ `(() => {\n if (window.__agent_infra_injected_script) {\n return;\n }\n window.__agent_infra_injected_script = true;\n ${script}\n})();`;\n"],"names":["iife","script"],"mappings":";;;;AAIO,MAAMA,OAAO,CAACC,SAAoC,CAAC;;;;;EAKxD,EAAEA,OAAO;KACN,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/utils/index.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAC;AAC9B,OAAO,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AAChC,OAAO,EAAE,qBAAqB,EAAE,MAAM,OAAO,CAAC"}
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Copyright (c) 2025 Bytedance, Inc. and its affiliates.
|
|
3
|
+
* SPDX-License-Identifier: Apache-2.0
|
|
4
|
+
*/
|
|
5
|
+
"use strict";
|
|
6
|
+
var __webpack_require__ = {};
|
|
7
|
+
(()=>{
|
|
8
|
+
__webpack_require__.d = (exports1, definition)=>{
|
|
9
|
+
for(var key in definition)if (__webpack_require__.o(definition, key) && !__webpack_require__.o(exports1, key)) Object.defineProperty(exports1, key, {
|
|
10
|
+
enumerable: true,
|
|
11
|
+
get: definition[key]
|
|
12
|
+
});
|
|
13
|
+
};
|
|
14
|
+
})();
|
|
15
|
+
(()=>{
|
|
16
|
+
__webpack_require__.o = (obj, prop)=>Object.prototype.hasOwnProperty.call(obj, prop);
|
|
17
|
+
})();
|
|
18
|
+
(()=>{
|
|
19
|
+
__webpack_require__.r = (exports1)=>{
|
|
20
|
+
if ('undefined' != typeof Symbol && Symbol.toStringTag) Object.defineProperty(exports1, Symbol.toStringTag, {
|
|
21
|
+
value: 'Module'
|
|
22
|
+
});
|
|
23
|
+
Object.defineProperty(exports1, '__esModule', {
|
|
24
|
+
value: true
|
|
25
|
+
});
|
|
26
|
+
};
|
|
27
|
+
})();
|
|
28
|
+
var __webpack_exports__ = {};
|
|
29
|
+
__webpack_require__.r(__webpack_exports__);
|
|
30
|
+
__webpack_require__.d(__webpack_exports__, {
|
|
31
|
+
iife: ()=>external_iife_js_namespaceObject.iife,
|
|
32
|
+
validateNavigationUrl: ()=>external_url_js_namespaceObject.validateNavigationUrl,
|
|
33
|
+
Mutex: ()=>external_mutex_js_namespaceObject.Mutex
|
|
34
|
+
});
|
|
35
|
+
const external_iife_js_namespaceObject = require("./iife.js");
|
|
36
|
+
const external_mutex_js_namespaceObject = require("./mutex.js");
|
|
37
|
+
const external_url_js_namespaceObject = require("./url.js");
|
|
38
|
+
exports.Mutex = __webpack_exports__.Mutex;
|
|
39
|
+
exports.iife = __webpack_exports__.iife;
|
|
40
|
+
exports.validateNavigationUrl = __webpack_exports__.validateNavigationUrl;
|
|
41
|
+
for(var __webpack_i__ in __webpack_exports__)if (-1 === [
|
|
42
|
+
"Mutex",
|
|
43
|
+
"iife",
|
|
44
|
+
"validateNavigationUrl"
|
|
45
|
+
].indexOf(__webpack_i__)) exports[__webpack_i__] = __webpack_exports__[__webpack_i__];
|
|
46
|
+
Object.defineProperty(exports, '__esModule', {
|
|
47
|
+
value: true
|
|
48
|
+
});
|
|
49
|
+
|
|
50
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"utils/index.js","sources":["webpack://@agent-infra/browser/webpack/runtime/define_property_getters","webpack://@agent-infra/browser/webpack/runtime/has_own_property","webpack://@agent-infra/browser/webpack/runtime/make_namespace_object"],"sourcesContent":["__webpack_require__.d = (exports, definition) => {\n\tfor(var key in definition) {\n if(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n Object.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n }\n }\n};","__webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop))","// define __esModule on exports\n__webpack_require__.r = (exports) => {\n\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n\t}\n\tObject.defineProperty(exports, '__esModule', { value: true });\n};"],"names":["__webpack_require__","definition","key","Object","obj","prop","Symbol"],"mappings":";;;;;;;IAAAA,oBAAoB,CAAC,GAAG,CAAC,UAASC;QACjC,IAAI,IAAIC,OAAOD,WACR,IAAGD,oBAAoB,CAAC,CAACC,YAAYC,QAAQ,CAACF,oBAAoB,CAAC,CAAC,UAASE,MACzEC,OAAO,cAAc,CAAC,UAASD,KAAK;YAAE,YAAY;YAAM,KAAKD,UAAU,CAACC,IAAI;QAAC;IAGzF;;;ICNAF,oBAAoB,CAAC,GAAG,CAACI,KAAKC,OAAUF,OAAO,SAAS,CAAC,cAAc,CAAC,IAAI,CAACC,KAAKC;;;ICClFL,oBAAoB,CAAC,GAAG,CAAC;QACxB,IAAG,AAAkB,eAAlB,OAAOM,UAA0BA,OAAO,WAAW,EACrDH,OAAO,cAAc,CAAC,UAASG,OAAO,WAAW,EAAE;YAAE,OAAO;QAAS;QAEtEH,OAAO,cAAc,CAAC,UAAS,cAAc;YAAE,OAAO;QAAK;IAC5D"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Copyright (c) 2025 Bytedance, Inc. and its affiliates.
|
|
3
|
+
* SPDX-License-Identifier: Apache-2.0
|
|
4
|
+
*/
|
|
5
|
+
import { iife } from "./iife.mjs";
|
|
6
|
+
import { Mutex } from "./mutex.mjs";
|
|
7
|
+
import { validateNavigationUrl } from "./url.mjs";
|
|
8
|
+
export { Mutex, iife, validateNavigationUrl };
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The following code is modified based on
|
|
3
|
+
* https://github.com/puppeteer/puppeteer/blob/main/packages/puppeteer-core/src/util/Mutex.ts
|
|
4
|
+
*
|
|
5
|
+
* Copyright 2024 Google Inc.
|
|
6
|
+
* SPDX-License-Identifier: Apache-2.0
|
|
7
|
+
* https://github.com/puppeteer/puppeteer/blob/main/LICENSE
|
|
8
|
+
*/
|
|
9
|
+
export declare class Mutex {
|
|
10
|
+
#private;
|
|
11
|
+
static Guard: {
|
|
12
|
+
new (mutex: Mutex, onRelease?: () => void): {
|
|
13
|
+
"__#private@#mutex": Mutex;
|
|
14
|
+
"__#private@#onRelease"?: () => void;
|
|
15
|
+
[Symbol.dispose](): void;
|
|
16
|
+
};
|
|
17
|
+
};
|
|
18
|
+
acquire(onRelease?: () => void): Promise<InstanceType<typeof Mutex.Guard>>;
|
|
19
|
+
release(): void;
|
|
20
|
+
}
|
|
21
|
+
//# sourceMappingURL=mutex.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"mutex.d.ts","sourceRoot":"","sources":["../../src/utils/mutex.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,qBAAa,KAAK;;IAChB,MAAM,CAAC,KAAK;oBAGS,KAAK,cAAc,MAAM,IAAI;iCAFxC,KAAK;sCACA,MAAM,IAAI;gCAKH,IAAI;;MAIxB;IAMI,OAAO,CACX,SAAS,CAAC,EAAE,MAAM,IAAI,GACrB,OAAO,CAAC,YAAY,CAAC,OAAO,KAAK,CAAC,KAAK,CAAC,CAAC;IAa5C,OAAO,IAAI,IAAI;CAQhB"}
|
|
@@ -0,0 +1,133 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Copyright (c) 2025 Bytedance, Inc. and its affiliates.
|
|
3
|
+
* SPDX-License-Identifier: Apache-2.0
|
|
4
|
+
*/
|
|
5
|
+
"use strict";
|
|
6
|
+
var __webpack_require__ = {};
|
|
7
|
+
(()=>{
|
|
8
|
+
__webpack_require__.d = (exports1, definition)=>{
|
|
9
|
+
for(var key in definition)if (__webpack_require__.o(definition, key) && !__webpack_require__.o(exports1, key)) Object.defineProperty(exports1, key, {
|
|
10
|
+
enumerable: true,
|
|
11
|
+
get: definition[key]
|
|
12
|
+
});
|
|
13
|
+
};
|
|
14
|
+
})();
|
|
15
|
+
(()=>{
|
|
16
|
+
__webpack_require__.o = (obj, prop)=>Object.prototype.hasOwnProperty.call(obj, prop);
|
|
17
|
+
})();
|
|
18
|
+
(()=>{
|
|
19
|
+
__webpack_require__.r = (exports1)=>{
|
|
20
|
+
if ('undefined' != typeof Symbol && Symbol.toStringTag) Object.defineProperty(exports1, Symbol.toStringTag, {
|
|
21
|
+
value: 'Module'
|
|
22
|
+
});
|
|
23
|
+
Object.defineProperty(exports1, '__esModule', {
|
|
24
|
+
value: true
|
|
25
|
+
});
|
|
26
|
+
};
|
|
27
|
+
})();
|
|
28
|
+
var __webpack_exports__ = {};
|
|
29
|
+
__webpack_require__.r(__webpack_exports__);
|
|
30
|
+
__webpack_require__.d(__webpack_exports__, {
|
|
31
|
+
Mutex: ()=>Mutex
|
|
32
|
+
});
|
|
33
|
+
function _check_private_redeclaration(obj, privateCollection) {
|
|
34
|
+
if (privateCollection.has(obj)) throw new TypeError("Cannot initialize the same private elements twice on an object");
|
|
35
|
+
}
|
|
36
|
+
function _class_apply_descriptor_get(receiver, descriptor) {
|
|
37
|
+
if (descriptor.get) return descriptor.get.call(receiver);
|
|
38
|
+
return descriptor.value;
|
|
39
|
+
}
|
|
40
|
+
function _class_apply_descriptor_set(receiver, descriptor, value) {
|
|
41
|
+
if (descriptor.set) descriptor.set.call(receiver, value);
|
|
42
|
+
else {
|
|
43
|
+
if (!descriptor.writable) throw new TypeError("attempted to set read only private field");
|
|
44
|
+
descriptor.value = value;
|
|
45
|
+
}
|
|
46
|
+
}
|
|
47
|
+
function _class_extract_field_descriptor(receiver, privateMap, action) {
|
|
48
|
+
if (!privateMap.has(receiver)) throw new TypeError("attempted to " + action + " private field on non-instance");
|
|
49
|
+
return privateMap.get(receiver);
|
|
50
|
+
}
|
|
51
|
+
function _class_private_field_get(receiver, privateMap) {
|
|
52
|
+
var descriptor = _class_extract_field_descriptor(receiver, privateMap, "get");
|
|
53
|
+
return _class_apply_descriptor_get(receiver, descriptor);
|
|
54
|
+
}
|
|
55
|
+
function _class_private_field_init(obj, privateMap, value) {
|
|
56
|
+
_check_private_redeclaration(obj, privateMap);
|
|
57
|
+
privateMap.set(obj, value);
|
|
58
|
+
}
|
|
59
|
+
function _class_private_field_set(receiver, privateMap, value) {
|
|
60
|
+
var descriptor = _class_extract_field_descriptor(receiver, privateMap, "set");
|
|
61
|
+
_class_apply_descriptor_set(receiver, descriptor, value);
|
|
62
|
+
return value;
|
|
63
|
+
}
|
|
64
|
+
function _define_property(obj, key, value) {
|
|
65
|
+
if (key in obj) Object.defineProperty(obj, key, {
|
|
66
|
+
value: value,
|
|
67
|
+
enumerable: true,
|
|
68
|
+
configurable: true,
|
|
69
|
+
writable: true
|
|
70
|
+
});
|
|
71
|
+
else obj[key] = value;
|
|
72
|
+
return obj;
|
|
73
|
+
}
|
|
74
|
+
let _computedKey;
|
|
75
|
+
var _mutex, _onRelease;
|
|
76
|
+
var _computedKey1;
|
|
77
|
+
_computedKey1 = Symbol.dispose;
|
|
78
|
+
var _locked = /*#__PURE__*/ new WeakMap(), _acquirers = /*#__PURE__*/ new WeakMap();
|
|
79
|
+
class Mutex {
|
|
80
|
+
async acquire(onRelease) {
|
|
81
|
+
if (!_class_private_field_get(this, _locked)) {
|
|
82
|
+
_class_private_field_set(this, _locked, true);
|
|
83
|
+
return new Mutex.Guard(this);
|
|
84
|
+
}
|
|
85
|
+
const { promise, resolve } = Promise.withResolvers();
|
|
86
|
+
_class_private_field_get(this, _acquirers).push(resolve);
|
|
87
|
+
await promise;
|
|
88
|
+
return new Mutex.Guard(this, onRelease);
|
|
89
|
+
}
|
|
90
|
+
release() {
|
|
91
|
+
const resolve = _class_private_field_get(this, _acquirers).shift();
|
|
92
|
+
if (!resolve) return void _class_private_field_set(this, _locked, false);
|
|
93
|
+
resolve();
|
|
94
|
+
}
|
|
95
|
+
constructor(){
|
|
96
|
+
_class_private_field_init(this, _locked, {
|
|
97
|
+
writable: true,
|
|
98
|
+
value: false
|
|
99
|
+
});
|
|
100
|
+
_class_private_field_init(this, _acquirers, {
|
|
101
|
+
writable: true,
|
|
102
|
+
value: []
|
|
103
|
+
});
|
|
104
|
+
}
|
|
105
|
+
}
|
|
106
|
+
_define_property(Mutex, "Guard", (_mutex = /*#__PURE__*/ new WeakMap(), _onRelease = /*#__PURE__*/ new WeakMap(), _computedKey = _computedKey1, class {
|
|
107
|
+
[_computedKey]() {
|
|
108
|
+
var _this, _this1;
|
|
109
|
+
null == (_this = _class_private_field_get(_this1 = this, _onRelease)) || _this.call(_this1);
|
|
110
|
+
return _class_private_field_get(this, _mutex).release();
|
|
111
|
+
}
|
|
112
|
+
constructor(mutex, onRelease){
|
|
113
|
+
_class_private_field_init(this, _mutex, {
|
|
114
|
+
writable: true,
|
|
115
|
+
value: void 0
|
|
116
|
+
});
|
|
117
|
+
_class_private_field_init(this, _onRelease, {
|
|
118
|
+
writable: true,
|
|
119
|
+
value: void 0
|
|
120
|
+
});
|
|
121
|
+
_class_private_field_set(this, _mutex, mutex);
|
|
122
|
+
_class_private_field_set(this, _onRelease, onRelease);
|
|
123
|
+
}
|
|
124
|
+
}));
|
|
125
|
+
exports.Mutex = __webpack_exports__.Mutex;
|
|
126
|
+
for(var __webpack_i__ in __webpack_exports__)if (-1 === [
|
|
127
|
+
"Mutex"
|
|
128
|
+
].indexOf(__webpack_i__)) exports[__webpack_i__] = __webpack_exports__[__webpack_i__];
|
|
129
|
+
Object.defineProperty(exports, '__esModule', {
|
|
130
|
+
value: true
|
|
131
|
+
});
|
|
132
|
+
|
|
133
|
+
//# sourceMappingURL=mutex.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"utils/mutex.js","sources":["webpack://@agent-infra/browser/webpack/runtime/define_property_getters","webpack://@agent-infra/browser/webpack/runtime/has_own_property","webpack://@agent-infra/browser/webpack/runtime/make_namespace_object","webpack://@agent-infra/browser/./src/utils/mutex.ts"],"sourcesContent":["__webpack_require__.d = (exports, definition) => {\n\tfor(var key in definition) {\n if(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n Object.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n }\n }\n};","__webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop))","// define __esModule on exports\n__webpack_require__.r = (exports) => {\n\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n\t}\n\tObject.defineProperty(exports, '__esModule', { value: true });\n};","/**\n * The following code is modified based on\n * https://github.com/puppeteer/puppeteer/blob/main/packages/puppeteer-core/src/util/Mutex.ts\n *\n * Copyright 2024 Google Inc.\n * SPDX-License-Identifier: Apache-2.0\n * https://github.com/puppeteer/puppeteer/blob/main/LICENSE\n */\n\nexport class Mutex {\n static Guard = class Guard {\n #mutex: Mutex;\n #onRelease?: () => void;\n constructor(mutex: Mutex, onRelease?: () => void) {\n this.#mutex = mutex;\n this.#onRelease = onRelease;\n }\n [Symbol.dispose](): void {\n this.#onRelease?.();\n return this.#mutex.release();\n }\n };\n\n #locked = false;\n #acquirers: Array<() => void> = [];\n\n // This is FIFO.\n async acquire(\n onRelease?: () => void,\n ): Promise<InstanceType<typeof Mutex.Guard>> {\n if (!this.#locked) {\n this.#locked = true;\n return new Mutex.Guard(this);\n }\n\n const { promise, resolve } = Promise.withResolvers<void>();\n this.#acquirers.push(resolve);\n await promise;\n\n return new Mutex.Guard(this, onRelease);\n }\n\n release(): void {\n const resolve = this.#acquirers.shift();\n if (!resolve) {\n this.#locked = false;\n return;\n }\n resolve();\n }\n}\n"],"names":["__webpack_require__","definition","key","Object","obj","prop","Symbol","_mutex","_onRelease","_locked","_acquirers","Mutex","onRelease","promise","resolve","Promise","_this1","mutex"],"mappings":";;;;;;;IAAAA,oBAAoB,CAAC,GAAG,CAAC,UAASC;QACjC,IAAI,IAAIC,OAAOD,WACR,IAAGD,oBAAoB,CAAC,CAACC,YAAYC,QAAQ,CAACF,oBAAoB,CAAC,CAAC,UAASE,MACzEC,OAAO,cAAc,CAAC,UAASD,KAAK;YAAE,YAAY;YAAM,KAAKD,UAAU,CAACC,IAAI;QAAC;IAGzF;;;ICNAF,oBAAoB,CAAC,GAAG,CAACI,KAAKC,OAAUF,OAAO,SAAS,CAAC,cAAc,CAAC,IAAI,CAACC,KAAKC;;;ICClFL,oBAAoB,CAAC,GAAG,CAAC;QACxB,IAAG,AAAkB,eAAlB,OAAOM,UAA0BA,OAAO,WAAW,EACrDH,OAAO,cAAc,CAAC,UAASG,OAAO,WAAW,EAAE;YAAE,OAAO;QAAS;QAEtEH,OAAO,cAAc,CAAC,UAAS,cAAc;YAAE,OAAO;QAAK;IAC5D;;;;;;;ACCC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAIGI,QACAC;;gBAKCF,OAAO,OAAO;IAMjBG,UAAAA,WAAAA,GAAAA,IAAAA,WACAC,aAAAA,WAAAA,GAAAA,IAAAA;AAfK,MAAMC;IAkBX,MAAM,QACJC,SAAsB,EACqB;QAC3C,IAAI,CAAC,6BAAI,EAACH,UAAS;2CACZA,SAAU;YACf,OAAO,IAAIE,MAAM,KAAK,CAAC,IAAI;QAC7B;QAEA,MAAM,EAAEE,OAAO,EAAEC,OAAO,EAAE,GAAGC,QAAQ,aAAa;QAClD,6BAAI,EAACL,YAAW,IAAI,CAACI;QACrB,MAAMD;QAEN,OAAO,IAAIF,MAAM,KAAK,CAAC,IAAI,EAAEC;IAC/B;IAEA,UAAgB;QACd,MAAME,UAAU,6BAAI,EAACJ,YAAW,KAAK;QACrC,IAAI,CAACI,SAAS,2CACPL,SAAU;QAGjBK;IACF;;QA1BAL,0BAAAA,IAAAA,EAAAA,SAAAA;;mBAAU;;QACVC,0BAAAA,IAAAA,EAAAA,YAAAA;;mBAAgC,EAAE;;;AA0BpC;AAxCE,iBADWC,OACJ,SACLJ,CAAAA,SAAAA,WAAAA,GAAAA,IAAAA,WACAC,aAAAA,WAAAA,GAAAA,IAAAA,WAAAA,eAAAA,eAFa;IAOb,CAAC,aAAD,GAAyB;YACvBQ,OAAAA;gBAAAA,CAAAA,QAAAA,yBAAAA,SAAAA,IAAI,EAACR,WAAAA,KAALQ,MAAAA,IAAAA,CAAAA;QACA,OAAO,6BAAI,EAACT,QAAO,OAAO;IAC5B;IAPA,YAAYU,KAAY,EAAEL,SAAsB,CAAE;QAFlDL,0BAAAA,IAAAA,EAAAA,QAAAA;;mBAAAA,KAAAA;;QACAC,0BAAAA,IAAAA,EAAAA,YAAAA;;mBAAAA,KAAAA;;uCAEOD,QAASU;uCACTT,YAAaI;IACpB;AAKF"}
|