@godscene/web 1.7.11

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 (129) hide show
  1. package/README.md +7 -0
  2. package/bin/midscene-playground +3 -0
  3. package/bin/midscene-web +2 -0
  4. package/dist/es/bin.mjs +14 -0
  5. package/dist/es/bridge-mode/agent-cli-side.mjs +135 -0
  6. package/dist/es/bridge-mode/browser.mjs +2 -0
  7. package/dist/es/bridge-mode/common.mjs +41 -0
  8. package/dist/es/bridge-mode/index.mjs +4 -0
  9. package/dist/es/bridge-mode/io-client.mjs +99 -0
  10. package/dist/es/bridge-mode/io-server.mjs +218 -0
  11. package/dist/es/bridge-mode/page-browser-side.mjs +119 -0
  12. package/dist/es/cdp-proxy-constants.mjs +7 -0
  13. package/dist/es/cdp-proxy-manager.mjs +217 -0
  14. package/dist/es/cdp-proxy.mjs +151 -0
  15. package/dist/es/cdp-target-store.mjs +26 -0
  16. package/dist/es/chrome-extension/agent.mjs +8 -0
  17. package/dist/es/chrome-extension/cdpInput.mjs +172 -0
  18. package/dist/es/chrome-extension/cdpInput.mjs.LICENSE.txt +5 -0
  19. package/dist/es/chrome-extension/dynamic-scripts.mjs +36 -0
  20. package/dist/es/chrome-extension/index.mjs +5 -0
  21. package/dist/es/chrome-extension/page.mjs +733 -0
  22. package/dist/es/cli-options.mjs +97 -0
  23. package/dist/es/cli.mjs +26 -0
  24. package/dist/es/common/cache-helper.mjs +26 -0
  25. package/dist/es/common/viewport.mjs +36 -0
  26. package/dist/es/index.mjs +8 -0
  27. package/dist/es/mcp-server.mjs +33 -0
  28. package/dist/es/mcp-tools-cdp.mjs +164 -0
  29. package/dist/es/mcp-tools-puppeteer.mjs +246 -0
  30. package/dist/es/mcp-tools.mjs +81 -0
  31. package/dist/es/platform.mjs +37 -0
  32. package/dist/es/playwright/ai-fixture.mjs +364 -0
  33. package/dist/es/playwright/index.mjs +36 -0
  34. package/dist/es/playwright/page.mjs +42 -0
  35. package/dist/es/playwright/reporter/index.mjs +178 -0
  36. package/dist/es/puppeteer/agent-launcher.mjs +172 -0
  37. package/dist/es/puppeteer/base-page.mjs +830 -0
  38. package/dist/es/puppeteer/index.mjs +35 -0
  39. package/dist/es/puppeteer/page.mjs +7 -0
  40. package/dist/es/static/index.mjs +3 -0
  41. package/dist/es/static/static-agent.mjs +10 -0
  42. package/dist/es/static/static-page.mjs +123 -0
  43. package/dist/es/utils.mjs +6 -0
  44. package/dist/es/web-element.mjs +57 -0
  45. package/dist/es/web-page.mjs +272 -0
  46. package/dist/lib/bin.js +20 -0
  47. package/dist/lib/bridge-mode/agent-cli-side.js +172 -0
  48. package/dist/lib/bridge-mode/browser.js +36 -0
  49. package/dist/lib/bridge-mode/common.js +105 -0
  50. package/dist/lib/bridge-mode/index.js +44 -0
  51. package/dist/lib/bridge-mode/io-client.js +133 -0
  52. package/dist/lib/bridge-mode/io-server.js +255 -0
  53. package/dist/lib/bridge-mode/page-browser-side.js +163 -0
  54. package/dist/lib/cdp-proxy-constants.js +50 -0
  55. package/dist/lib/cdp-proxy-manager.js +273 -0
  56. package/dist/lib/cdp-proxy.js +179 -0
  57. package/dist/lib/cdp-target-store.js +66 -0
  58. package/dist/lib/chrome-extension/agent.js +42 -0
  59. package/dist/lib/chrome-extension/cdpInput.js +206 -0
  60. package/dist/lib/chrome-extension/cdpInput.js.LICENSE.txt +5 -0
  61. package/dist/lib/chrome-extension/dynamic-scripts.js +86 -0
  62. package/dist/lib/chrome-extension/index.js +58 -0
  63. package/dist/lib/chrome-extension/page.js +767 -0
  64. package/dist/lib/cli-options.js +131 -0
  65. package/dist/lib/cli.js +54 -0
  66. package/dist/lib/common/cache-helper.js +66 -0
  67. package/dist/lib/common/viewport.js +88 -0
  68. package/dist/lib/index.js +66 -0
  69. package/dist/lib/mcp-server.js +73 -0
  70. package/dist/lib/mcp-tools-cdp.js +208 -0
  71. package/dist/lib/mcp-tools-puppeteer.js +296 -0
  72. package/dist/lib/mcp-tools.js +115 -0
  73. package/dist/lib/platform.js +71 -0
  74. package/dist/lib/playwright/ai-fixture.js +401 -0
  75. package/dist/lib/playwright/index.js +89 -0
  76. package/dist/lib/playwright/page.js +76 -0
  77. package/dist/lib/playwright/reporter/index.js +212 -0
  78. package/dist/lib/puppeteer/agent-launcher.js +240 -0
  79. package/dist/lib/puppeteer/base-page.js +876 -0
  80. package/dist/lib/puppeteer/index.js +85 -0
  81. package/dist/lib/puppeteer/page.js +41 -0
  82. package/dist/lib/static/index.js +50 -0
  83. package/dist/lib/static/static-agent.js +44 -0
  84. package/dist/lib/static/static-page.js +157 -0
  85. package/dist/lib/utils.js +38 -0
  86. package/dist/lib/web-element.js +94 -0
  87. package/dist/lib/web-page.js +322 -0
  88. package/dist/types/bin.d.ts +1 -0
  89. package/dist/types/bridge-mode/agent-cli-side.d.ts +49 -0
  90. package/dist/types/bridge-mode/browser.d.ts +2 -0
  91. package/dist/types/bridge-mode/common.d.ts +74 -0
  92. package/dist/types/bridge-mode/index.d.ts +4 -0
  93. package/dist/types/bridge-mode/io-client.d.ts +10 -0
  94. package/dist/types/bridge-mode/io-server.d.ts +27 -0
  95. package/dist/types/bridge-mode/page-browser-side.d.ts +21 -0
  96. package/dist/types/cdp-proxy-constants.d.ts +4 -0
  97. package/dist/types/cdp-proxy-manager.d.ts +53 -0
  98. package/dist/types/cdp-proxy.d.ts +37 -0
  99. package/dist/types/cdp-target-store.d.ts +26 -0
  100. package/dist/types/chrome-extension/agent.d.ts +4 -0
  101. package/dist/types/chrome-extension/cdpInput.d.ts +52 -0
  102. package/dist/types/chrome-extension/dynamic-scripts.d.ts +3 -0
  103. package/dist/types/chrome-extension/index.d.ts +5 -0
  104. package/dist/types/chrome-extension/page.d.ts +120 -0
  105. package/dist/types/cli-options.d.ts +8 -0
  106. package/dist/types/cli.d.ts +1 -0
  107. package/dist/types/common/cache-helper.d.ts +20 -0
  108. package/dist/types/common/viewport.d.ts +17 -0
  109. package/dist/types/index.d.ts +9 -0
  110. package/dist/types/mcp-server.d.ts +26 -0
  111. package/dist/types/mcp-tools-cdp.d.ts +23 -0
  112. package/dist/types/mcp-tools-puppeteer.d.ts +23 -0
  113. package/dist/types/mcp-tools.d.ts +14 -0
  114. package/dist/types/platform.d.ts +10 -0
  115. package/dist/types/playwright/ai-fixture.d.ts +133 -0
  116. package/dist/types/playwright/index.d.ts +13 -0
  117. package/dist/types/playwright/page.d.ts +11 -0
  118. package/dist/types/playwright/reporter/index.d.ts +28 -0
  119. package/dist/types/puppeteer/agent-launcher.d.ts +59 -0
  120. package/dist/types/puppeteer/base-page.d.ts +123 -0
  121. package/dist/types/puppeteer/index.d.ts +11 -0
  122. package/dist/types/puppeteer/page.d.ts +6 -0
  123. package/dist/types/static/index.d.ts +2 -0
  124. package/dist/types/static/static-agent.d.ts +5 -0
  125. package/dist/types/static/static-page.d.ts +46 -0
  126. package/dist/types/utils.d.ts +6 -0
  127. package/dist/types/web-element.d.ts +48 -0
  128. package/dist/types/web-page.d.ts +69 -0
  129. package/package.json +173 -0
@@ -0,0 +1,85 @@
1
+ "use strict";
2
+ var __webpack_require__ = {};
3
+ (()=>{
4
+ __webpack_require__.n = (module)=>{
5
+ var getter = module && module.__esModule ? ()=>module['default'] : ()=>module;
6
+ __webpack_require__.d(getter, {
7
+ a: getter
8
+ });
9
+ return getter;
10
+ };
11
+ })();
12
+ (()=>{
13
+ __webpack_require__.d = (exports1, definition)=>{
14
+ for(var key in definition)if (__webpack_require__.o(definition, key) && !__webpack_require__.o(exports1, key)) Object.defineProperty(exports1, key, {
15
+ enumerable: true,
16
+ get: definition[key]
17
+ });
18
+ };
19
+ })();
20
+ (()=>{
21
+ __webpack_require__.o = (obj, prop)=>Object.prototype.hasOwnProperty.call(obj, prop);
22
+ })();
23
+ (()=>{
24
+ __webpack_require__.r = (exports1)=>{
25
+ if ("u" > typeof Symbol && Symbol.toStringTag) Object.defineProperty(exports1, Symbol.toStringTag, {
26
+ value: 'Module'
27
+ });
28
+ Object.defineProperty(exports1, '__esModule', {
29
+ value: true
30
+ });
31
+ };
32
+ })();
33
+ var __webpack_exports__ = {};
34
+ __webpack_require__.r(__webpack_exports__);
35
+ __webpack_require__.d(__webpack_exports__, {
36
+ PuppeteerWebPage: ()=>external_page_js_namespaceObject.PuppeteerWebPage,
37
+ PuppeteerAgent: ()=>PuppeteerAgent,
38
+ overrideAIConfig: ()=>env_namespaceObject.overrideAIConfig
39
+ });
40
+ const agent_namespaceObject = require("@godscene/core/agent");
41
+ const logger_namespaceObject = require("@godscene/shared/logger");
42
+ const external_semver_namespaceObject = require("semver");
43
+ var external_semver_default = /*#__PURE__*/ __webpack_require__.n(external_semver_namespaceObject);
44
+ const external_utils_js_namespaceObject = require("../utils.js");
45
+ const external_base_page_js_namespaceObject = require("./base-page.js");
46
+ const external_page_js_namespaceObject = require("./page.js");
47
+ const env_namespaceObject = require("@godscene/shared/env");
48
+ const debug = (0, logger_namespaceObject.getDebug)('puppeteer:agent');
49
+ function getPuppeteerVersion() {
50
+ try {
51
+ const puppeteerPkg = (0, external_utils_js_namespaceObject.getWebpackRequire)()('puppeteer/package.json');
52
+ return puppeteerPkg.version || null;
53
+ } catch (error) {
54
+ console.error('[midscene:error] Failed to get Puppeteer version', error);
55
+ return null;
56
+ }
57
+ }
58
+ class PuppeteerAgent extends agent_namespaceObject.Agent {
59
+ isRetryableContextError(error) {
60
+ return error instanceof Error && external_base_page_js_namespaceObject.BROWSER_NAVIGATION_ERROR_PATTERN.test(error.message);
61
+ }
62
+ constructor(page, opts){
63
+ if (!page) throw new Error('[midscene] PuppeteerAgent requires a valid Puppeteer page instance. Please make sure to pass a valid page object.');
64
+ const webPage = new external_page_js_namespaceObject.PuppeteerWebPage(page, opts);
65
+ super(webPage, opts);
66
+ const { forceSameTabNavigation = true, forceChromeSelectRendering } = opts ?? {};
67
+ if (forceSameTabNavigation) (0, external_base_page_js_namespaceObject.forceClosePopup)(page, debug);
68
+ if (forceChromeSelectRendering) {
69
+ const puppeteerVersion = getPuppeteerVersion();
70
+ if (puppeteerVersion && !external_semver_default().gte(puppeteerVersion, '24.6.0')) console.warn(`[midscene:error] forceChromeSelectRendering requires Puppeteer > 24.6.0, but current version is ${puppeteerVersion}. This feature may not work correctly.`);
71
+ (0, external_base_page_js_namespaceObject.forceChromeSelectRendering)(page);
72
+ }
73
+ }
74
+ }
75
+ exports.PuppeteerAgent = __webpack_exports__.PuppeteerAgent;
76
+ exports.PuppeteerWebPage = __webpack_exports__.PuppeteerWebPage;
77
+ exports.overrideAIConfig = __webpack_exports__.overrideAIConfig;
78
+ for(var __rspack_i in __webpack_exports__)if (-1 === [
79
+ "PuppeteerAgent",
80
+ "PuppeteerWebPage",
81
+ "overrideAIConfig"
82
+ ].indexOf(__rspack_i)) exports[__rspack_i] = __webpack_exports__[__rspack_i];
83
+ Object.defineProperty(exports, '__esModule', {
84
+ value: true
85
+ });
@@ -0,0 +1,41 @@
1
+ "use strict";
2
+ var __webpack_require__ = {};
3
+ (()=>{
4
+ __webpack_require__.d = (exports1, definition)=>{
5
+ for(var key in definition)if (__webpack_require__.o(definition, key) && !__webpack_require__.o(exports1, key)) Object.defineProperty(exports1, key, {
6
+ enumerable: true,
7
+ get: definition[key]
8
+ });
9
+ };
10
+ })();
11
+ (()=>{
12
+ __webpack_require__.o = (obj, prop)=>Object.prototype.hasOwnProperty.call(obj, prop);
13
+ })();
14
+ (()=>{
15
+ __webpack_require__.r = (exports1)=>{
16
+ if ("u" > typeof Symbol && Symbol.toStringTag) Object.defineProperty(exports1, Symbol.toStringTag, {
17
+ value: 'Module'
18
+ });
19
+ Object.defineProperty(exports1, '__esModule', {
20
+ value: true
21
+ });
22
+ };
23
+ })();
24
+ var __webpack_exports__ = {};
25
+ __webpack_require__.r(__webpack_exports__);
26
+ __webpack_require__.d(__webpack_exports__, {
27
+ PuppeteerWebPage: ()=>PuppeteerWebPage
28
+ });
29
+ const external_base_page_js_namespaceObject = require("./base-page.js");
30
+ class PuppeteerWebPage extends external_base_page_js_namespaceObject.Page {
31
+ constructor(page, opts){
32
+ super(page, 'puppeteer', opts);
33
+ }
34
+ }
35
+ exports.PuppeteerWebPage = __webpack_exports__.PuppeteerWebPage;
36
+ for(var __rspack_i in __webpack_exports__)if (-1 === [
37
+ "PuppeteerWebPage"
38
+ ].indexOf(__rspack_i)) exports[__rspack_i] = __webpack_exports__[__rspack_i];
39
+ Object.defineProperty(exports, '__esModule', {
40
+ value: true
41
+ });
@@ -0,0 +1,50 @@
1
+ "use strict";
2
+ var __webpack_require__ = {};
3
+ (()=>{
4
+ __webpack_require__.n = (module)=>{
5
+ var getter = module && module.__esModule ? ()=>module['default'] : ()=>module;
6
+ __webpack_require__.d(getter, {
7
+ a: getter
8
+ });
9
+ return getter;
10
+ };
11
+ })();
12
+ (()=>{
13
+ __webpack_require__.d = (exports1, definition)=>{
14
+ for(var key in definition)if (__webpack_require__.o(definition, key) && !__webpack_require__.o(exports1, key)) Object.defineProperty(exports1, key, {
15
+ enumerable: true,
16
+ get: definition[key]
17
+ });
18
+ };
19
+ })();
20
+ (()=>{
21
+ __webpack_require__.o = (obj, prop)=>Object.prototype.hasOwnProperty.call(obj, prop);
22
+ })();
23
+ (()=>{
24
+ __webpack_require__.r = (exports1)=>{
25
+ if ("u" > typeof Symbol && Symbol.toStringTag) Object.defineProperty(exports1, Symbol.toStringTag, {
26
+ value: 'Module'
27
+ });
28
+ Object.defineProperty(exports1, '__esModule', {
29
+ value: true
30
+ });
31
+ };
32
+ })();
33
+ var __webpack_exports__ = {};
34
+ __webpack_require__.r(__webpack_exports__);
35
+ __webpack_require__.d(__webpack_exports__, {
36
+ StaticPageAgent: ()=>external_static_agent_js_namespaceObject.StaticPageAgent,
37
+ StaticPage: ()=>external_static_page_js_default()
38
+ });
39
+ const external_static_agent_js_namespaceObject = require("./static-agent.js");
40
+ const external_static_page_js_namespaceObject = require("./static-page.js");
41
+ var external_static_page_js_default = /*#__PURE__*/ __webpack_require__.n(external_static_page_js_namespaceObject);
42
+ exports.StaticPage = __webpack_exports__.StaticPage;
43
+ exports.StaticPageAgent = __webpack_exports__.StaticPageAgent;
44
+ for(var __rspack_i in __webpack_exports__)if (-1 === [
45
+ "StaticPage",
46
+ "StaticPageAgent"
47
+ ].indexOf(__rspack_i)) exports[__rspack_i] = __webpack_exports__[__rspack_i];
48
+ Object.defineProperty(exports, '__esModule', {
49
+ value: true
50
+ });
@@ -0,0 +1,44 @@
1
+ "use strict";
2
+ var __webpack_require__ = {};
3
+ (()=>{
4
+ __webpack_require__.d = (exports1, definition)=>{
5
+ for(var key in definition)if (__webpack_require__.o(definition, key) && !__webpack_require__.o(exports1, key)) Object.defineProperty(exports1, key, {
6
+ enumerable: true,
7
+ get: definition[key]
8
+ });
9
+ };
10
+ })();
11
+ (()=>{
12
+ __webpack_require__.o = (obj, prop)=>Object.prototype.hasOwnProperty.call(obj, prop);
13
+ })();
14
+ (()=>{
15
+ __webpack_require__.r = (exports1)=>{
16
+ if ("u" > typeof Symbol && Symbol.toStringTag) Object.defineProperty(exports1, Symbol.toStringTag, {
17
+ value: 'Module'
18
+ });
19
+ Object.defineProperty(exports1, '__esModule', {
20
+ value: true
21
+ });
22
+ };
23
+ })();
24
+ var __webpack_exports__ = {};
25
+ __webpack_require__.r(__webpack_exports__);
26
+ __webpack_require__.d(__webpack_exports__, {
27
+ StaticPageAgent: ()=>StaticPageAgent
28
+ });
29
+ const agent_namespaceObject = require("@godscene/core/agent");
30
+ class StaticPageAgent extends agent_namespaceObject.Agent {
31
+ constructor(page){
32
+ super(page, {
33
+ generateReport: false
34
+ });
35
+ this.dryMode = true;
36
+ }
37
+ }
38
+ exports.StaticPageAgent = __webpack_exports__.StaticPageAgent;
39
+ for(var __rspack_i in __webpack_exports__)if (-1 === [
40
+ "StaticPageAgent"
41
+ ].indexOf(__rspack_i)) exports[__rspack_i] = __webpack_exports__[__rspack_i];
42
+ Object.defineProperty(exports, '__esModule', {
43
+ value: true
44
+ });
@@ -0,0 +1,157 @@
1
+ "use strict";
2
+ var __webpack_require__ = {};
3
+ (()=>{
4
+ __webpack_require__.d = (exports1, definition)=>{
5
+ for(var key in definition)if (__webpack_require__.o(definition, key) && !__webpack_require__.o(exports1, key)) Object.defineProperty(exports1, key, {
6
+ enumerable: true,
7
+ get: definition[key]
8
+ });
9
+ };
10
+ })();
11
+ (()=>{
12
+ __webpack_require__.o = (obj, prop)=>Object.prototype.hasOwnProperty.call(obj, prop);
13
+ })();
14
+ (()=>{
15
+ __webpack_require__.r = (exports1)=>{
16
+ if ("u" > typeof Symbol && Symbol.toStringTag) Object.defineProperty(exports1, Symbol.toStringTag, {
17
+ value: 'Module'
18
+ });
19
+ Object.defineProperty(exports1, '__esModule', {
20
+ value: true
21
+ });
22
+ };
23
+ })();
24
+ var __webpack_exports__ = {};
25
+ __webpack_require__.r(__webpack_exports__);
26
+ __webpack_require__.d(__webpack_exports__, {
27
+ default: ()=>StaticPage
28
+ });
29
+ const device_namespaceObject = require("@godscene/core/device");
30
+ const common_namespaceObject = require("@godscene/shared/common");
31
+ function _define_property(obj, key, value) {
32
+ if (key in obj) Object.defineProperty(obj, key, {
33
+ value: value,
34
+ enumerable: true,
35
+ configurable: true,
36
+ writable: true
37
+ });
38
+ else obj[key] = value;
39
+ return obj;
40
+ }
41
+ const ThrowNotImplemented = (methodName)=>{
42
+ throw new Error(`The method "${methodName}" is not implemented as designed since this is a static UI context. (${common_namespaceObject.ERROR_CODE_NOT_IMPLEMENTED_AS_DESIGNED})`);
43
+ };
44
+ class StaticPage {
45
+ actionSpace() {
46
+ return [
47
+ (0, device_namespaceObject.defineActionTap)(async (param)=>{
48
+ ThrowNotImplemented('Tap');
49
+ }),
50
+ (0, device_namespaceObject.defineActionRightClick)(async (param)=>{
51
+ ThrowNotImplemented('RightClick');
52
+ }),
53
+ (0, device_namespaceObject.defineActionHover)(async (param)=>{
54
+ ThrowNotImplemented('Hover');
55
+ }),
56
+ (0, device_namespaceObject.defineActionInput)(async (param)=>{
57
+ ThrowNotImplemented('Input');
58
+ }),
59
+ (0, device_namespaceObject.defineActionKeyboardPress)(async (param)=>{
60
+ ThrowNotImplemented('KeyboardPress');
61
+ }),
62
+ (0, device_namespaceObject.defineActionScroll)(async (param)=>{
63
+ ThrowNotImplemented('Scroll');
64
+ }),
65
+ (0, device_namespaceObject.defineActionDragAndDrop)(async (param)=>{
66
+ ThrowNotImplemented('DragAndDrop');
67
+ }),
68
+ (0, device_namespaceObject.defineActionSwipe)(async (param)=>{
69
+ ThrowNotImplemented('Swipe');
70
+ })
71
+ ];
72
+ }
73
+ async evaluateJavaScript(script) {
74
+ return ThrowNotImplemented('evaluateJavaScript');
75
+ }
76
+ async getElementsInfo() {
77
+ return ThrowNotImplemented('getElementsInfo');
78
+ }
79
+ async getElementsNodeTree() {
80
+ return ThrowNotImplemented('getElementsNodeTree');
81
+ }
82
+ async getXpathsByPoint(point) {
83
+ return ThrowNotImplemented('getXpathsByPoint');
84
+ }
85
+ async getElementFromPoint(args) {
86
+ return ThrowNotImplemented('getElementFromPoint');
87
+ }
88
+ async getElementInfoByXpath(xpath) {
89
+ return ThrowNotImplemented('getElementInfoByXpath');
90
+ }
91
+ async size() {
92
+ return {
93
+ ...this.uiContext.shotSize
94
+ };
95
+ }
96
+ async screenshotBase64() {
97
+ const screenshot = this.uiContext.screenshot;
98
+ if ('object' == typeof screenshot && 'base64' in screenshot) return screenshot.base64;
99
+ return screenshot;
100
+ }
101
+ async url() {
102
+ return Promise.resolve('https://static_page_without_url');
103
+ }
104
+ async scrollUntilTop(startingPoint) {
105
+ return ThrowNotImplemented('scrollUntilTop');
106
+ }
107
+ async scrollUntilBottom(startingPoint) {
108
+ return ThrowNotImplemented('scrollUntilBottom');
109
+ }
110
+ async scrollUntilLeft(startingPoint) {
111
+ return ThrowNotImplemented('scrollUntilLeft');
112
+ }
113
+ async scrollUntilRight(startingPoint) {
114
+ return ThrowNotImplemented('scrollUntilRight');
115
+ }
116
+ async scrollUp(distance, startingPoint) {
117
+ return ThrowNotImplemented('scrollUp');
118
+ }
119
+ async scrollDown(distance, startingPoint) {
120
+ return ThrowNotImplemented('scrollDown');
121
+ }
122
+ async scrollLeft(distance, startingPoint) {
123
+ return ThrowNotImplemented('scrollLeft');
124
+ }
125
+ async scrollRight(distance, startingPoint) {
126
+ return ThrowNotImplemented('scrollRight');
127
+ }
128
+ async clearInput() {
129
+ return ThrowNotImplemented('clearInput');
130
+ }
131
+ async destroy() {}
132
+ updateContext(newContext) {
133
+ this.uiContext = newContext;
134
+ }
135
+ constructor(uiContext){
136
+ _define_property(this, "interfaceType", 'static');
137
+ _define_property(this, "uiContext", void 0);
138
+ _define_property(this, "mouse", {
139
+ click: ThrowNotImplemented.bind(null, 'mouse.click'),
140
+ wheel: ThrowNotImplemented.bind(null, 'mouse.wheel'),
141
+ move: ThrowNotImplemented.bind(null, 'mouse.move'),
142
+ drag: ThrowNotImplemented.bind(null, 'mouse.drag')
143
+ });
144
+ _define_property(this, "keyboard", {
145
+ type: ThrowNotImplemented.bind(null, 'keyboard.type'),
146
+ press: ThrowNotImplemented.bind(null, 'keyboard.press')
147
+ });
148
+ this.uiContext = uiContext;
149
+ }
150
+ }
151
+ exports["default"] = __webpack_exports__["default"];
152
+ for(var __rspack_i in __webpack_exports__)if (-1 === [
153
+ "default"
154
+ ].indexOf(__rspack_i)) exports[__rspack_i] = __webpack_exports__[__rspack_i];
155
+ Object.defineProperty(exports, '__esModule', {
156
+ value: true
157
+ });
@@ -0,0 +1,38 @@
1
+ "use strict";
2
+ var __webpack_require__ = {};
3
+ (()=>{
4
+ __webpack_require__.d = (exports1, definition)=>{
5
+ for(var key in definition)if (__webpack_require__.o(definition, key) && !__webpack_require__.o(exports1, key)) Object.defineProperty(exports1, key, {
6
+ enumerable: true,
7
+ get: definition[key]
8
+ });
9
+ };
10
+ })();
11
+ (()=>{
12
+ __webpack_require__.o = (obj, prop)=>Object.prototype.hasOwnProperty.call(obj, prop);
13
+ })();
14
+ (()=>{
15
+ __webpack_require__.r = (exports1)=>{
16
+ if ("u" > typeof Symbol && Symbol.toStringTag) Object.defineProperty(exports1, Symbol.toStringTag, {
17
+ value: 'Module'
18
+ });
19
+ Object.defineProperty(exports1, '__esModule', {
20
+ value: true
21
+ });
22
+ };
23
+ })();
24
+ var __webpack_exports__ = {};
25
+ __webpack_require__.r(__webpack_exports__);
26
+ __webpack_require__.d(__webpack_exports__, {
27
+ getWebpackRequire: ()=>getWebpackRequire
28
+ });
29
+ function getWebpackRequire() {
30
+ return "u" > typeof require ? require : require;
31
+ }
32
+ exports.getWebpackRequire = __webpack_exports__.getWebpackRequire;
33
+ for(var __rspack_i in __webpack_exports__)if (-1 === [
34
+ "getWebpackRequire"
35
+ ].indexOf(__rspack_i)) exports[__rspack_i] = __webpack_exports__[__rspack_i];
36
+ Object.defineProperty(exports, '__esModule', {
37
+ value: true
38
+ });
@@ -0,0 +1,94 @@
1
+ "use strict";
2
+ var __webpack_require__ = {};
3
+ (()=>{
4
+ __webpack_require__.d = (exports1, definition)=>{
5
+ for(var key in definition)if (__webpack_require__.o(definition, key) && !__webpack_require__.o(exports1, key)) Object.defineProperty(exports1, key, {
6
+ enumerable: true,
7
+ get: definition[key]
8
+ });
9
+ };
10
+ })();
11
+ (()=>{
12
+ __webpack_require__.o = (obj, prop)=>Object.prototype.hasOwnProperty.call(obj, prop);
13
+ })();
14
+ (()=>{
15
+ __webpack_require__.r = (exports1)=>{
16
+ if ("u" > typeof Symbol && Symbol.toStringTag) Object.defineProperty(exports1, Symbol.toStringTag, {
17
+ value: 'Module'
18
+ });
19
+ Object.defineProperty(exports1, '__esModule', {
20
+ value: true
21
+ });
22
+ };
23
+ })();
24
+ var __webpack_exports__ = {};
25
+ __webpack_require__.r(__webpack_exports__);
26
+ __webpack_require__.d(__webpack_exports__, {
27
+ WebElementInfoImpl: ()=>WebElementInfoImpl,
28
+ limitOpenNewTabScript: ()=>limitOpenNewTabScript
29
+ });
30
+ function _define_property(obj, key, value) {
31
+ if (key in obj) Object.defineProperty(obj, key, {
32
+ value: value,
33
+ enumerable: true,
34
+ configurable: true,
35
+ writable: true
36
+ });
37
+ else obj[key] = value;
38
+ return obj;
39
+ }
40
+ class WebElementInfoImpl {
41
+ constructor({ content, rect, id, attributes, indexId, xpaths, isVisible }){
42
+ _define_property(this, "content", void 0);
43
+ _define_property(this, "rect", void 0);
44
+ _define_property(this, "center", void 0);
45
+ _define_property(this, "id", void 0);
46
+ _define_property(this, "indexId", void 0);
47
+ _define_property(this, "attributes", void 0);
48
+ _define_property(this, "xpaths", void 0);
49
+ _define_property(this, "isVisible", void 0);
50
+ this.content = content;
51
+ this.rect = rect;
52
+ this.center = [
53
+ Math.floor(rect.left + rect.width / 2),
54
+ Math.floor(rect.top + rect.height / 2)
55
+ ];
56
+ this.id = id;
57
+ this.attributes = attributes;
58
+ this.indexId = indexId;
59
+ this.xpaths = xpaths;
60
+ this.isVisible = isVisible;
61
+ }
62
+ }
63
+ const limitOpenNewTabScript = `
64
+ if (!window.__MIDSCENE_NEW_TAB_INTERCEPTOR_INITIALIZED__) {
65
+ window.__MIDSCENE_NEW_TAB_INTERCEPTOR_INITIALIZED__ = true;
66
+
67
+ // Intercept the window.open method (only once)
68
+ window.open = function(url) {
69
+ console.log('Blocked window.open:', url);
70
+ window.location.href = url;
71
+ return null;
72
+ };
73
+
74
+ // Block all a tag clicks with target="_blank" (only once)
75
+ document.addEventListener('click', function(e) {
76
+ const target = e.target.closest('a');
77
+ if (target && target.target === '_blank') {
78
+ e.preventDefault();
79
+ console.log('Blocked new tab:', target.href);
80
+ window.location.href = target.href;
81
+ target.removeAttribute('target');
82
+ }
83
+ }, true);
84
+ }
85
+ `;
86
+ exports.WebElementInfoImpl = __webpack_exports__.WebElementInfoImpl;
87
+ exports.limitOpenNewTabScript = __webpack_exports__.limitOpenNewTabScript;
88
+ for(var __rspack_i in __webpack_exports__)if (-1 === [
89
+ "WebElementInfoImpl",
90
+ "limitOpenNewTabScript"
91
+ ].indexOf(__rspack_i)) exports[__rspack_i] = __webpack_exports__[__rspack_i];
92
+ Object.defineProperty(exports, '__esModule', {
93
+ value: true
94
+ });