@agent-infra/browser 0.1.6 → 0.2.0-alpha.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (186) hide show
  1. package/README.md +35 -52
  2. package/README.zh-CN.md +57 -0
  3. package/dist/actions/index.d.ts +3 -0
  4. package/dist/actions/index.d.ts.map +1 -0
  5. package/dist/actions/index.js +46 -0
  6. package/dist/actions/index.js.map +1 -0
  7. package/dist/actions/index.mjs +7 -0
  8. package/dist/actions/key-map.d.ts +28 -0
  9. package/dist/actions/key-map.d.ts.map +1 -0
  10. package/dist/actions/key-map.js +409 -0
  11. package/dist/actions/key-map.js.map +1 -0
  12. package/dist/actions/key-map.mjs +369 -0
  13. package/dist/actions/key-map.mjs.map +1 -0
  14. package/dist/actions/keyboard.d.ts +21 -0
  15. package/dist/actions/keyboard.d.ts.map +1 -0
  16. package/dist/actions/keyboard.js +196 -0
  17. package/dist/actions/keyboard.js.map +1 -0
  18. package/dist/actions/keyboard.mjs +152 -0
  19. package/dist/actions/keyboard.mjs.map +1 -0
  20. package/dist/actions/keyboard.test.d.ts +2 -0
  21. package/dist/actions/keyboard.test.d.ts.map +1 -0
  22. package/dist/actions/mouse.d.ts +19 -0
  23. package/dist/actions/mouse.d.ts.map +1 -0
  24. package/dist/actions/mouse.js +173 -0
  25. package/dist/actions/mouse.js.map +1 -0
  26. package/dist/actions/mouse.mjs +136 -0
  27. package/dist/actions/mouse.mjs.map +1 -0
  28. package/dist/browser/base.d.ts +47 -0
  29. package/dist/browser/base.d.ts.map +1 -0
  30. package/dist/browser/base.js +156 -0
  31. package/dist/browser/base.js.map +1 -0
  32. package/dist/browser/base.mjs +122 -0
  33. package/dist/browser/base.mjs.map +1 -0
  34. package/dist/browser/browser.d.ts +23 -0
  35. package/dist/browser/browser.d.ts.map +1 -0
  36. package/dist/browser/browser.js +183 -0
  37. package/dist/browser/browser.js.map +1 -0
  38. package/dist/browser/browser.mjs +149 -0
  39. package/dist/browser/browser.mjs.map +1 -0
  40. package/dist/env.d.ts +4 -0
  41. package/dist/env.d.ts.map +1 -0
  42. package/dist/env.js +96 -0
  43. package/dist/env.js.map +1 -0
  44. package/dist/env.mjs +62 -0
  45. package/dist/env.mjs.map +1 -0
  46. package/dist/index.node.d.ts +7 -0
  47. package/dist/index.node.d.ts.map +1 -0
  48. package/dist/index.node.js +106 -0
  49. package/dist/index.node.js.map +1 -0
  50. package/dist/index.node.mjs +10 -0
  51. package/dist/index.web.d.ts +7 -0
  52. package/dist/index.web.d.ts.map +1 -0
  53. package/dist/{index.js → index.web.js} +33 -20
  54. package/dist/index.web.js.map +1 -0
  55. package/dist/index.web.mjs +10 -0
  56. package/dist/injected-script/index.d.ts +3 -0
  57. package/dist/injected-script/index.d.ts.map +1 -0
  58. package/dist/injected-script/index.js +46 -0
  59. package/dist/injected-script/index.js.map +1 -0
  60. package/dist/injected-script/index.mjs +7 -0
  61. package/dist/injected-script/visibility.d.ts +2 -0
  62. package/dist/injected-script/visibility.d.ts.map +1 -0
  63. package/dist/injected-script/visibility.js +66 -0
  64. package/dist/injected-script/visibility.js.map +1 -0
  65. package/dist/injected-script/visibility.mjs +32 -0
  66. package/dist/injected-script/visibility.mjs.map +1 -0
  67. package/dist/injected-script/webdriver.d.ts +2 -0
  68. package/dist/injected-script/webdriver.d.ts.map +1 -0
  69. package/dist/injected-script/webdriver.js +71 -0
  70. package/dist/injected-script/webdriver.js.map +1 -0
  71. package/dist/injected-script/webdriver.mjs +37 -0
  72. package/dist/injected-script/webdriver.mjs.map +1 -0
  73. package/dist/polyfills/index.d.ts +2 -0
  74. package/dist/polyfills/index.d.ts.map +1 -0
  75. package/dist/polyfills/index.js +66 -0
  76. package/dist/polyfills/index.js.map +1 -0
  77. package/dist/polyfills/index.mjs +5 -0
  78. package/dist/polyfills/withResolvers.d.ts +2 -0
  79. package/dist/polyfills/withResolvers.d.ts.map +1 -0
  80. package/dist/polyfills/withResolvers.js +37 -0
  81. package/dist/polyfills/withResolvers.js.map +1 -0
  82. package/dist/polyfills/withResolvers.mjs +19 -0
  83. package/dist/polyfills/withResolvers.mjs.map +1 -0
  84. package/dist/tabs/dialog.d.ts +14 -0
  85. package/dist/tabs/dialog.d.ts.map +1 -0
  86. package/dist/tabs/dialog.js +175 -0
  87. package/dist/tabs/dialog.js.map +1 -0
  88. package/dist/tabs/dialog.mjs +141 -0
  89. package/dist/tabs/dialog.mjs.map +1 -0
  90. package/dist/tabs/index.d.ts +3 -0
  91. package/dist/tabs/index.d.ts.map +1 -0
  92. package/dist/tabs/index.js +46 -0
  93. package/dist/tabs/index.js.map +1 -0
  94. package/dist/tabs/index.mjs +7 -0
  95. package/dist/tabs/tab.d.ts +50 -0
  96. package/dist/tabs/tab.d.ts.map +1 -0
  97. package/dist/tabs/tab.js +579 -0
  98. package/dist/tabs/tab.js.map +1 -0
  99. package/dist/tabs/tab.mjs +545 -0
  100. package/dist/tabs/tab.mjs.map +1 -0
  101. package/dist/tabs/tabs.d.ts +21 -0
  102. package/dist/tabs/tabs.d.ts.map +1 -0
  103. package/dist/tabs/tabs.js +458 -0
  104. package/dist/tabs/tabs.js.map +1 -0
  105. package/dist/tabs/tabs.mjs +424 -0
  106. package/dist/tabs/tabs.mjs.map +1 -0
  107. package/dist/types/actions.d.ts +26 -0
  108. package/dist/types/actions.d.ts.map +1 -0
  109. package/dist/types/actions.js +24 -0
  110. package/dist/types/actions.js.map +1 -0
  111. package/dist/types/browser.d.ts +7 -0
  112. package/dist/types/browser.d.ts.map +1 -0
  113. package/dist/types/browser.js +24 -0
  114. package/dist/types/browser.js.map +1 -0
  115. package/dist/types/browser.mjs +4 -0
  116. package/dist/types/dialog.d.ts +7 -0
  117. package/dist/types/dialog.d.ts.map +1 -0
  118. package/dist/types/dialog.js +24 -0
  119. package/dist/types/dialog.js.map +1 -0
  120. package/dist/types/dialog.mjs +4 -0
  121. package/dist/types/env.d.ts +8 -0
  122. package/dist/types/env.d.ts.map +1 -0
  123. package/dist/{types.js → types/env.js} +1 -1
  124. package/dist/types/env.js.map +1 -0
  125. package/dist/types/env.mjs +4 -0
  126. package/dist/types/index.d.ts +6 -0
  127. package/dist/types/index.d.ts.map +1 -0
  128. package/dist/types/index.js +102 -0
  129. package/dist/types/index.js.map +1 -0
  130. package/dist/types/index.mjs +9 -0
  131. package/dist/types/tabs.d.ts +98 -0
  132. package/dist/types/tabs.d.ts.map +1 -0
  133. package/dist/types/tabs.js +48 -0
  134. package/dist/types/tabs.js.map +1 -0
  135. package/dist/types/tabs.mjs +14 -0
  136. package/dist/types/tabs.mjs.map +1 -0
  137. package/dist/utils/iife.d.ts +2 -0
  138. package/dist/utils/iife.d.ts.map +1 -0
  139. package/dist/utils/iife.js +48 -0
  140. package/dist/utils/iife.js.map +1 -0
  141. package/dist/utils/iife.mjs +14 -0
  142. package/dist/utils/iife.mjs.map +1 -0
  143. package/dist/utils/index.d.ts +4 -0
  144. package/dist/utils/index.d.ts.map +1 -0
  145. package/dist/utils/index.js +50 -0
  146. package/dist/utils/index.js.map +1 -0
  147. package/dist/utils/index.mjs +8 -0
  148. package/dist/utils/mutex.d.ts +21 -0
  149. package/dist/utils/mutex.d.ts.map +1 -0
  150. package/dist/utils/mutex.js +133 -0
  151. package/dist/utils/mutex.js.map +1 -0
  152. package/dist/utils/mutex.mjs +99 -0
  153. package/dist/utils/mutex.mjs.map +1 -0
  154. package/dist/utils/url.d.ts +7 -0
  155. package/dist/utils/url.d.ts.map +1 -0
  156. package/dist/utils/url.js +76 -0
  157. package/dist/utils/url.js.map +1 -0
  158. package/dist/utils/url.mjs +42 -0
  159. package/dist/utils/url.mjs.map +1 -0
  160. package/package.json +21 -13
  161. package/dist/base-browser.d.ts +0 -94
  162. package/dist/base-browser.d.ts.map +0 -1
  163. package/dist/base-browser.js +0 -189
  164. package/dist/base-browser.js.map +0 -1
  165. package/dist/base-browser.mjs +0 -155
  166. package/dist/base-browser.mjs.map +0 -1
  167. package/dist/index.d.ts +0 -15
  168. package/dist/index.d.ts.map +0 -1
  169. package/dist/index.js.map +0 -1
  170. package/dist/index.mjs +0 -8
  171. package/dist/local-browser.d.ts +0 -19
  172. package/dist/local-browser.d.ts.map +0 -1
  173. package/dist/local-browser.js +0 -134
  174. package/dist/local-browser.js.map +0 -1
  175. package/dist/local-browser.mjs +0 -100
  176. package/dist/local-browser.mjs.map +0 -1
  177. package/dist/remote-browser.d.ts +0 -49
  178. package/dist/remote-browser.d.ts.map +0 -1
  179. package/dist/remote-browser.js +0 -89
  180. package/dist/remote-browser.js.map +0 -1
  181. package/dist/remote-browser.mjs +0 -55
  182. package/dist/remote-browser.mjs.map +0 -1
  183. package/dist/types.d.ts +0 -158
  184. package/dist/types.d.ts.map +0 -1
  185. package/dist/types.js.map +0 -1
  186. /package/dist/{types.mjs → types/actions.mjs} +0 -0
@@ -0,0 +1,175 @@
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
+ TabDialog: ()=>TabDialog
32
+ });
33
+ const index_js_namespaceObject = require("../types/index.js");
34
+ function _check_private_redeclaration(obj, privateCollection) {
35
+ if (privateCollection.has(obj)) throw new TypeError("Cannot initialize the same private elements twice on an object");
36
+ }
37
+ function _class_apply_descriptor_get(receiver, descriptor) {
38
+ if (descriptor.get) return descriptor.get.call(receiver);
39
+ return descriptor.value;
40
+ }
41
+ function _class_apply_descriptor_set(receiver, descriptor, value) {
42
+ if (descriptor.set) descriptor.set.call(receiver, value);
43
+ else {
44
+ if (!descriptor.writable) throw new TypeError("attempted to set read only private field");
45
+ descriptor.value = value;
46
+ }
47
+ }
48
+ function _class_extract_field_descriptor(receiver, privateMap, action) {
49
+ if (!privateMap.has(receiver)) throw new TypeError("attempted to " + action + " private field on non-instance");
50
+ return privateMap.get(receiver);
51
+ }
52
+ function _class_private_field_get(receiver, privateMap) {
53
+ var descriptor = _class_extract_field_descriptor(receiver, privateMap, "get");
54
+ return _class_apply_descriptor_get(receiver, descriptor);
55
+ }
56
+ function _class_private_field_init(obj, privateMap, value) {
57
+ _check_private_redeclaration(obj, privateMap);
58
+ privateMap.set(obj, value);
59
+ }
60
+ function _class_private_field_set(receiver, privateMap, value) {
61
+ var descriptor = _class_extract_field_descriptor(receiver, privateMap, "set");
62
+ _class_apply_descriptor_set(receiver, descriptor, value);
63
+ return value;
64
+ }
65
+ function _class_private_method_get(receiver, privateSet, fn) {
66
+ if (!privateSet.has(receiver)) throw new TypeError("attempted to get private field on non-instance");
67
+ return fn;
68
+ }
69
+ function _class_private_method_init(obj, privateSet) {
70
+ _check_private_redeclaration(obj, privateSet);
71
+ privateSet.add(obj);
72
+ }
73
+ var _tab = /*#__PURE__*/ new WeakMap(), _dialog = /*#__PURE__*/ new WeakMap(), _handleEvent = /*#__PURE__*/ new WeakSet(), _openHandler = /*#__PURE__*/ new WeakMap(), _closeHandler = /*#__PURE__*/ new WeakMap();
74
+ class TabDialog {
75
+ get isOpen() {
76
+ return null !== _class_private_field_get(this, _dialog);
77
+ }
78
+ get meta() {
79
+ if (_class_private_field_get(this, _dialog)) return {
80
+ type: _class_private_field_get(this, _dialog).type(),
81
+ message: _class_private_field_get(this, _dialog).message(),
82
+ defaultValue: _class_private_field_get(this, _dialog).defaultValue()
83
+ };
84
+ return null;
85
+ }
86
+ setDialog(dialog) {
87
+ _class_private_field_set(this, _dialog, dialog);
88
+ }
89
+ cleanup() {
90
+ _class_private_field_get(this, _tab).page.off('dialog', _class_private_field_get(this, _openHandler));
91
+ _class_private_field_get(this, _tab).page._client().off("Page.javascriptDialogClosed", _class_private_field_get(this, _closeHandler));
92
+ _class_private_field_set(this, _dialog, null);
93
+ }
94
+ async accept(promptText) {
95
+ if (!_class_private_field_get(this, _dialog)) return false;
96
+ try {
97
+ await _class_private_field_get(this, _dialog).accept(promptText);
98
+ _class_private_field_get(this, _tab).emit(index_js_namespaceObject.TabEvents.TabDialogChanged, {
99
+ tabId: _class_private_field_get(this, _tab).tabId,
100
+ isOpen: false
101
+ });
102
+ _class_private_field_set(this, _dialog, null);
103
+ return true;
104
+ } catch (error) {
105
+ console.error('Failed to accept dialog:', error);
106
+ return false;
107
+ }
108
+ }
109
+ async dismiss() {
110
+ if (!_class_private_field_get(this, _dialog)) return false;
111
+ try {
112
+ await _class_private_field_get(this, _dialog).dismiss();
113
+ _class_private_field_get(this, _tab).emit(index_js_namespaceObject.TabEvents.TabDialogChanged, {
114
+ tabId: _class_private_field_get(this, _tab).tabId,
115
+ isOpen: false
116
+ });
117
+ _class_private_field_set(this, _dialog, null);
118
+ return true;
119
+ } catch (error) {
120
+ console.error('Failed to dismiss dialog:', error);
121
+ return false;
122
+ }
123
+ }
124
+ constructor(tab){
125
+ _class_private_method_init(this, _handleEvent);
126
+ _class_private_field_init(this, _tab, {
127
+ writable: true,
128
+ value: void 0
129
+ });
130
+ _class_private_field_init(this, _dialog, {
131
+ writable: true,
132
+ value: null
133
+ });
134
+ _class_private_field_init(this, _openHandler, {
135
+ writable: true,
136
+ value: (dialog)=>{
137
+ _class_private_field_set(this, _dialog, dialog);
138
+ _class_private_field_get(this, _tab).emit(index_js_namespaceObject.TabEvents.TabDialogChanged, {
139
+ tabId: _class_private_field_get(this, _tab).tabId,
140
+ isOpen: true,
141
+ type: dialog.type(),
142
+ message: dialog.message(),
143
+ defaultValue: dialog.defaultValue()
144
+ });
145
+ }
146
+ });
147
+ _class_private_field_init(this, _closeHandler, {
148
+ writable: true,
149
+ value: ()=>{
150
+ if (_class_private_field_get(this, _dialog)) {
151
+ _class_private_field_get(this, _tab).emit(index_js_namespaceObject.TabEvents.TabDialogChanged, {
152
+ tabId: _class_private_field_get(this, _tab).tabId,
153
+ isOpen: false
154
+ });
155
+ _class_private_field_set(this, _dialog, null);
156
+ }
157
+ }
158
+ });
159
+ _class_private_field_set(this, _tab, tab);
160
+ _class_private_method_get(this, _handleEvent, handleEvent).call(this);
161
+ }
162
+ }
163
+ function handleEvent() {
164
+ _class_private_field_get(this, _tab).page.on('dialog', _class_private_field_get(this, _openHandler));
165
+ _class_private_field_get(this, _tab).page._client().on("Page.javascriptDialogClosed", _class_private_field_get(this, _closeHandler));
166
+ }
167
+ exports.TabDialog = __webpack_exports__.TabDialog;
168
+ for(var __webpack_i__ in __webpack_exports__)if (-1 === [
169
+ "TabDialog"
170
+ ].indexOf(__webpack_i__)) exports[__webpack_i__] = __webpack_exports__[__webpack_i__];
171
+ Object.defineProperty(exports, '__esModule', {
172
+ value: true
173
+ });
174
+
175
+ //# sourceMappingURL=dialog.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tabs/dialog.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/tabs/dialog.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 { Dialog, CDPSession } from 'puppeteer-core';\n\nimport type { Tab } from './tab';\nimport { TabEvents } from '../types';\nimport { DialogMetaInfo } from '../types/dialog';\n\nexport class TabDialog {\n #tab: Tab;\n #dialog: Dialog | null = null;\n\n constructor(tab: Tab) {\n this.#tab = tab;\n\n this.#handleEvent();\n }\n\n get isOpen(): boolean {\n return this.#dialog !== null;\n }\n\n get meta(): DialogMetaInfo | null {\n if (this.#dialog) {\n return {\n type: this.#dialog.type(),\n message: this.#dialog.message(),\n defaultValue: this.#dialog.defaultValue(),\n };\n }\n\n return null;\n }\n\n setDialog(dialog: Dialog | null) {\n this.#dialog = dialog;\n }\n\n #handleEvent() {\n this.#tab.page.on('dialog', this.#openHandler);\n // @ts-ignore\n (this.#tab.page._client() as CDPSession).on(\n 'Page.javascriptDialogClosed',\n this.#closeHandler,\n );\n }\n\n #openHandler = (dialog: Dialog) => {\n this.#dialog = dialog;\n\n this.#tab.emit(TabEvents.TabDialogChanged, {\n tabId: this.#tab.tabId,\n isOpen: true,\n type: dialog.type(),\n message: dialog.message(),\n defaultValue: dialog.defaultValue(),\n });\n };\n\n #closeHandler = () => {\n if (this.#dialog) {\n this.#tab.emit(TabEvents.TabDialogChanged, {\n tabId: this.#tab.tabId,\n isOpen: false,\n });\n this.#dialog = null;\n }\n };\n\n cleanup() {\n this.#tab.page.off('dialog', this.#openHandler);\n // @ts-ignore\n (this.#tab.page._client() as CDPSession).off(\n 'Page.javascriptDialogClosed',\n this.#closeHandler,\n );\n\n this.#dialog = null;\n }\n\n async accept(promptText?: string): Promise<boolean> {\n if (!this.#dialog) {\n return false;\n }\n\n try {\n await this.#dialog.accept(promptText);\n this.#tab.emit(TabEvents.TabDialogChanged, {\n tabId: this.#tab.tabId,\n isOpen: false,\n });\n\n this.#dialog = null;\n return true;\n } catch (error) {\n console.error('Failed to accept dialog:', error);\n return false;\n }\n }\n\n async dismiss(): Promise<boolean> {\n if (!this.#dialog) {\n return false;\n }\n\n try {\n await this.#dialog.dismiss();\n this.#tab.emit(TabEvents.TabDialogChanged, {\n tabId: this.#tab.tabId,\n isOpen: false,\n });\n\n this.#dialog = null;\n return true;\n } catch (error) {\n console.error('Failed to dismiss dialog:', error);\n return false;\n }\n }\n}\n"],"names":["__webpack_require__","definition","key","Object","obj","prop","Symbol","_tab","_dialog","handleEvent","_openHandler","_closeHandler","TabDialog","dialog","promptText","TabEvents","error","console","tab"],"mappings":"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"}
@@ -0,0 +1,141 @@
1
+ /**
2
+ * Copyright (c) 2025 Bytedance, Inc. and its affiliates.
3
+ * SPDX-License-Identifier: Apache-2.0
4
+ */
5
+ import { TabEvents } from "../types/index.mjs";
6
+ function _check_private_redeclaration(obj, privateCollection) {
7
+ if (privateCollection.has(obj)) throw new TypeError("Cannot initialize the same private elements twice on an object");
8
+ }
9
+ function _class_apply_descriptor_get(receiver, descriptor) {
10
+ if (descriptor.get) return descriptor.get.call(receiver);
11
+ return descriptor.value;
12
+ }
13
+ function _class_apply_descriptor_set(receiver, descriptor, value) {
14
+ if (descriptor.set) descriptor.set.call(receiver, value);
15
+ else {
16
+ if (!descriptor.writable) throw new TypeError("attempted to set read only private field");
17
+ descriptor.value = value;
18
+ }
19
+ }
20
+ function _class_extract_field_descriptor(receiver, privateMap, action) {
21
+ if (!privateMap.has(receiver)) throw new TypeError("attempted to " + action + " private field on non-instance");
22
+ return privateMap.get(receiver);
23
+ }
24
+ function _class_private_field_get(receiver, privateMap) {
25
+ var descriptor = _class_extract_field_descriptor(receiver, privateMap, "get");
26
+ return _class_apply_descriptor_get(receiver, descriptor);
27
+ }
28
+ function _class_private_field_init(obj, privateMap, value) {
29
+ _check_private_redeclaration(obj, privateMap);
30
+ privateMap.set(obj, value);
31
+ }
32
+ function _class_private_field_set(receiver, privateMap, value) {
33
+ var descriptor = _class_extract_field_descriptor(receiver, privateMap, "set");
34
+ _class_apply_descriptor_set(receiver, descriptor, value);
35
+ return value;
36
+ }
37
+ function _class_private_method_get(receiver, privateSet, fn) {
38
+ if (!privateSet.has(receiver)) throw new TypeError("attempted to get private field on non-instance");
39
+ return fn;
40
+ }
41
+ function _class_private_method_init(obj, privateSet) {
42
+ _check_private_redeclaration(obj, privateSet);
43
+ privateSet.add(obj);
44
+ }
45
+ var _tab = /*#__PURE__*/ new WeakMap(), _dialog = /*#__PURE__*/ new WeakMap(), _handleEvent = /*#__PURE__*/ new WeakSet(), _openHandler = /*#__PURE__*/ new WeakMap(), _closeHandler = /*#__PURE__*/ new WeakMap();
46
+ class TabDialog {
47
+ get isOpen() {
48
+ return null !== _class_private_field_get(this, _dialog);
49
+ }
50
+ get meta() {
51
+ if (_class_private_field_get(this, _dialog)) return {
52
+ type: _class_private_field_get(this, _dialog).type(),
53
+ message: _class_private_field_get(this, _dialog).message(),
54
+ defaultValue: _class_private_field_get(this, _dialog).defaultValue()
55
+ };
56
+ return null;
57
+ }
58
+ setDialog(dialog) {
59
+ _class_private_field_set(this, _dialog, dialog);
60
+ }
61
+ cleanup() {
62
+ _class_private_field_get(this, _tab).page.off('dialog', _class_private_field_get(this, _openHandler));
63
+ _class_private_field_get(this, _tab).page._client().off("Page.javascriptDialogClosed", _class_private_field_get(this, _closeHandler));
64
+ _class_private_field_set(this, _dialog, null);
65
+ }
66
+ async accept(promptText) {
67
+ if (!_class_private_field_get(this, _dialog)) return false;
68
+ try {
69
+ await _class_private_field_get(this, _dialog).accept(promptText);
70
+ _class_private_field_get(this, _tab).emit(TabEvents.TabDialogChanged, {
71
+ tabId: _class_private_field_get(this, _tab).tabId,
72
+ isOpen: false
73
+ });
74
+ _class_private_field_set(this, _dialog, null);
75
+ return true;
76
+ } catch (error) {
77
+ console.error('Failed to accept dialog:', error);
78
+ return false;
79
+ }
80
+ }
81
+ async dismiss() {
82
+ if (!_class_private_field_get(this, _dialog)) return false;
83
+ try {
84
+ await _class_private_field_get(this, _dialog).dismiss();
85
+ _class_private_field_get(this, _tab).emit(TabEvents.TabDialogChanged, {
86
+ tabId: _class_private_field_get(this, _tab).tabId,
87
+ isOpen: false
88
+ });
89
+ _class_private_field_set(this, _dialog, null);
90
+ return true;
91
+ } catch (error) {
92
+ console.error('Failed to dismiss dialog:', error);
93
+ return false;
94
+ }
95
+ }
96
+ constructor(tab){
97
+ _class_private_method_init(this, _handleEvent);
98
+ _class_private_field_init(this, _tab, {
99
+ writable: true,
100
+ value: void 0
101
+ });
102
+ _class_private_field_init(this, _dialog, {
103
+ writable: true,
104
+ value: null
105
+ });
106
+ _class_private_field_init(this, _openHandler, {
107
+ writable: true,
108
+ value: (dialog)=>{
109
+ _class_private_field_set(this, _dialog, dialog);
110
+ _class_private_field_get(this, _tab).emit(TabEvents.TabDialogChanged, {
111
+ tabId: _class_private_field_get(this, _tab).tabId,
112
+ isOpen: true,
113
+ type: dialog.type(),
114
+ message: dialog.message(),
115
+ defaultValue: dialog.defaultValue()
116
+ });
117
+ }
118
+ });
119
+ _class_private_field_init(this, _closeHandler, {
120
+ writable: true,
121
+ value: ()=>{
122
+ if (_class_private_field_get(this, _dialog)) {
123
+ _class_private_field_get(this, _tab).emit(TabEvents.TabDialogChanged, {
124
+ tabId: _class_private_field_get(this, _tab).tabId,
125
+ isOpen: false
126
+ });
127
+ _class_private_field_set(this, _dialog, null);
128
+ }
129
+ }
130
+ });
131
+ _class_private_field_set(this, _tab, tab);
132
+ _class_private_method_get(this, _handleEvent, handleEvent).call(this);
133
+ }
134
+ }
135
+ function handleEvent() {
136
+ _class_private_field_get(this, _tab).page.on('dialog', _class_private_field_get(this, _openHandler));
137
+ _class_private_field_get(this, _tab).page._client().on("Page.javascriptDialogClosed", _class_private_field_get(this, _closeHandler));
138
+ }
139
+ export { TabDialog };
140
+
141
+ //# sourceMappingURL=dialog.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tabs/dialog.mjs","sources":["webpack://@agent-infra/browser/./src/tabs/dialog.ts"],"sourcesContent":["/*\n * Copyright (c) 2025 Bytedance, Inc. and its affiliates.\n * SPDX-License-Identifier: Apache-2.0\n */\nimport type { Dialog, CDPSession } from 'puppeteer-core';\n\nimport type { Tab } from './tab';\nimport { TabEvents } from '../types';\nimport { DialogMetaInfo } from '../types/dialog';\n\nexport class TabDialog {\n #tab: Tab;\n #dialog: Dialog | null = null;\n\n constructor(tab: Tab) {\n this.#tab = tab;\n\n this.#handleEvent();\n }\n\n get isOpen(): boolean {\n return this.#dialog !== null;\n }\n\n get meta(): DialogMetaInfo | null {\n if (this.#dialog) {\n return {\n type: this.#dialog.type(),\n message: this.#dialog.message(),\n defaultValue: this.#dialog.defaultValue(),\n };\n }\n\n return null;\n }\n\n setDialog(dialog: Dialog | null) {\n this.#dialog = dialog;\n }\n\n #handleEvent() {\n this.#tab.page.on('dialog', this.#openHandler);\n // @ts-ignore\n (this.#tab.page._client() as CDPSession).on(\n 'Page.javascriptDialogClosed',\n this.#closeHandler,\n );\n }\n\n #openHandler = (dialog: Dialog) => {\n this.#dialog = dialog;\n\n this.#tab.emit(TabEvents.TabDialogChanged, {\n tabId: this.#tab.tabId,\n isOpen: true,\n type: dialog.type(),\n message: dialog.message(),\n defaultValue: dialog.defaultValue(),\n });\n };\n\n #closeHandler = () => {\n if (this.#dialog) {\n this.#tab.emit(TabEvents.TabDialogChanged, {\n tabId: this.#tab.tabId,\n isOpen: false,\n });\n this.#dialog = null;\n }\n };\n\n cleanup() {\n this.#tab.page.off('dialog', this.#openHandler);\n // @ts-ignore\n (this.#tab.page._client() as CDPSession).off(\n 'Page.javascriptDialogClosed',\n this.#closeHandler,\n );\n\n this.#dialog = null;\n }\n\n async accept(promptText?: string): Promise<boolean> {\n if (!this.#dialog) {\n return false;\n }\n\n try {\n await this.#dialog.accept(promptText);\n this.#tab.emit(TabEvents.TabDialogChanged, {\n tabId: this.#tab.tabId,\n isOpen: false,\n });\n\n this.#dialog = null;\n return true;\n } catch (error) {\n console.error('Failed to accept dialog:', error);\n return false;\n }\n }\n\n async dismiss(): Promise<boolean> {\n if (!this.#dialog) {\n return false;\n }\n\n try {\n await this.#dialog.dismiss();\n this.#tab.emit(TabEvents.TabDialogChanged, {\n tabId: this.#tab.tabId,\n isOpen: false,\n });\n\n this.#dialog = null;\n return true;\n } catch (error) {\n console.error('Failed to dismiss dialog:', error);\n return false;\n }\n }\n}\n"],"names":["_tab","_dialog","handleEvent","_openHandler","_closeHandler","TabDialog","dialog","promptText","TabEvents","error","console","tab"],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ export { Tab } from './tab';
2
+ export { Tabs } from './tabs';
3
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/tabs/index.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,GAAG,EAAE,MAAM,OAAO,CAAC;AAC5B,OAAO,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAC"}
@@ -0,0 +1,46 @@
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
+ Tab: ()=>external_tab_js_namespaceObject.Tab,
32
+ Tabs: ()=>external_tabs_js_namespaceObject.Tabs
33
+ });
34
+ const external_tab_js_namespaceObject = require("./tab.js");
35
+ const external_tabs_js_namespaceObject = require("./tabs.js");
36
+ exports.Tab = __webpack_exports__.Tab;
37
+ exports.Tabs = __webpack_exports__.Tabs;
38
+ for(var __webpack_i__ in __webpack_exports__)if (-1 === [
39
+ "Tab",
40
+ "Tabs"
41
+ ].indexOf(__webpack_i__)) exports[__webpack_i__] = __webpack_exports__[__webpack_i__];
42
+ Object.defineProperty(exports, '__esModule', {
43
+ value: true
44
+ });
45
+
46
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tabs/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,7 @@
1
+ /**
2
+ * Copyright (c) 2025 Bytedance, Inc. and its affiliates.
3
+ * SPDX-License-Identifier: Apache-2.0
4
+ */
5
+ import { Tab } from "./tab.mjs";
6
+ import { Tabs } from "./tabs.mjs";
7
+ export { Tab, Tabs };
@@ -0,0 +1,50 @@
1
+ import { EventEmitter } from 'eventemitter3';
2
+ import { TabDialog } from './dialog';
3
+ import { Mouse, Keyboard } from '../actions';
4
+ import type { Page } from 'puppeteer-core';
5
+ import { type NavigationOptions, type NavigationResult, type TabEventsMap, type TabOptions, type TabScreenshotOptions, type TabScreenshotResult } from '../types';
6
+ export declare class Tab extends EventEmitter<TabEventsMap> {
7
+ #private;
8
+ constructor(page: Page, options: TabOptions);
9
+ get tabId(): string;
10
+ get page(): Page;
11
+ get url(): string;
12
+ getTitle(): Promise<string>;
13
+ getFavicon(): Promise<string>;
14
+ /**
15
+ * @internal
16
+ */
17
+ _active(): Promise<void>;
18
+ /**
19
+ * @internal
20
+ */
21
+ _inactive(): Promise<void>;
22
+ /**
23
+ * @internal
24
+ */
25
+ _checkActiveStatusWithRuntime(): Promise<boolean>;
26
+ get dialog(): TabDialog;
27
+ get keyboard(): Keyboard;
28
+ get mouse(): Mouse;
29
+ screenshot<T extends TabScreenshotOptions>(options?: T): Promise<TabScreenshotResult<T>>;
30
+ getHistory(): Promise<{
31
+ index: number;
32
+ canGoBack: boolean;
33
+ canGoForward: boolean;
34
+ history: {
35
+ url: string;
36
+ title: string;
37
+ }[];
38
+ }>;
39
+ goto(url: string, options?: NavigationOptions): Promise<NavigationResult>;
40
+ goBack(options?: NavigationOptions): Promise<NavigationResult>;
41
+ goForward(options?: NavigationOptions): Promise<NavigationResult>;
42
+ reload(options?: NavigationOptions): Promise<NavigationResult>;
43
+ /**
44
+ * @internal
45
+ */
46
+ _close(): Promise<void>;
47
+ injectScriptOnCreate(script: string | string[]): void;
48
+ injectScriptOnLoad(script: string | string[]): void;
49
+ }
50
+ //# sourceMappingURL=tab.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tab.d.ts","sourceRoot":"","sources":["../../src/tabs/tab.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAI7C,OAAO,EAAE,SAAS,EAAE,MAAM,UAAU,CAAC;AACrC,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAE7C,OAAO,KAAK,EAAE,IAAI,EAAqB,MAAM,gBAAgB,CAAC;AAC9D,OAAO,EAEL,KAAK,iBAAiB,EACtB,KAAK,gBAAgB,EACrB,KAAK,YAAY,EACjB,KAAK,UAAU,EACf,KAAK,oBAAoB,EACzB,KAAK,mBAAmB,EACzB,MAAM,UAAU,CAAC;AAElB,qBAAa,GAAI,SAAQ,YAAY,CAAC,YAAY,CAAC;;gBAsBrC,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE,UAAU;IA+B3C,IAAI,KAAK,WAER;IAED,IAAI,IAAI,SAEP;IAED,IAAI,GAAG,WAEN;IAEK,QAAQ;IAQR,UAAU;IAiChB;;OAEG;IACG,OAAO;IAKb;;OAEG;IACG,SAAS;IAIf;;OAEG;IACG,6BAA6B;IAkBnC,IAAI,MAAM,cAET;IAED,IAAI,QAAQ,aAEX;IAED,IAAI,KAAK,UAER;IAMK,UAAU,CAAC,CAAC,SAAS,oBAAoB,EAC7C,OAAO,GAAE,CAAW,GACnB,OAAO,CAAC,mBAAmB,CAAC,CAAC,CAAC,CAAC;IAsC5B,UAAU;;;;;;;;;IAsBV,IAAI,CACR,GAAG,EAAE,MAAM,EACX,OAAO,GAAE,iBAAsB,GAC9B,OAAO,CAAC,gBAAgB,CAAC;IA+CtB,MAAM,CAAC,OAAO,GAAE,iBAAsB,GAAG,OAAO,CAAC,gBAAgB,CAAC;IAiClE,SAAS,CAAC,OAAO,GAAE,iBAAsB,GAAG,OAAO,CAAC,gBAAgB,CAAC;IAiCrE,MAAM,CAAC,OAAO,GAAE,iBAAsB,GAAG,OAAO,CAAC,gBAAgB,CAAC;IAmCxE;;OAEG;IACG,MAAM;IAiEZ,oBAAoB,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,EAAE;IAQ9C,kBAAkB,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,EAAE;CAwF7C"}