@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,131 @@
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
+ parseWebCliOptions: ()=>parseWebCliOptions
28
+ });
29
+ const cli_namespaceObject = require("@godscene/shared/cli");
30
+ const viewport_js_namespaceObject = require("./common/viewport.js");
31
+ const viewportWidthFlag = '--viewport-width';
32
+ const viewportHeightFlag = '--viewport-height';
33
+ function isLikelyCdpEndpoint(value) {
34
+ return !!value && /^(wss?):\/\//.test(value);
35
+ }
36
+ function parsePositiveIntegerOption(flag, rawValue) {
37
+ const value = Number(rawValue);
38
+ if (!Number.isInteger(value) || value <= 0) throw new cli_namespaceObject.CLIError(`Invalid value for "${flag}": expected a positive integer, got "${rawValue}".`);
39
+ return value;
40
+ }
41
+ function readRequiredOptionValue(args, index, flag) {
42
+ const currentArg = args[index];
43
+ const inlinePrefix = `${flag}=`;
44
+ if (currentArg.startsWith(inlinePrefix)) return {
45
+ value: currentArg.slice(inlinePrefix.length),
46
+ nextIndex: index
47
+ };
48
+ const nextArg = args[index + 1];
49
+ if (!nextArg || nextArg.startsWith('--')) throw new cli_namespaceObject.CLIError(`Option "${flag}" requires a value.`);
50
+ return {
51
+ value: nextArg,
52
+ nextIndex: index + 1
53
+ };
54
+ }
55
+ function readOptionalCdpEndpoint(args, index) {
56
+ const currentArg = args[index];
57
+ const inlinePrefix = '--cdp=';
58
+ if (currentArg.startsWith(inlinePrefix)) return {
59
+ value: currentArg.slice(inlinePrefix.length),
60
+ nextIndex: index
61
+ };
62
+ const nextArg = args[index + 1];
63
+ if (!isLikelyCdpEndpoint(nextArg)) return {
64
+ nextIndex: index
65
+ };
66
+ return {
67
+ value: nextArg,
68
+ nextIndex: index + 1
69
+ };
70
+ }
71
+ function parseWebCliOptions(rawArgs, env = process.env) {
72
+ const argv = [];
73
+ let isBridge = false;
74
+ let isCdp = false;
75
+ let viewportWidth;
76
+ let viewportHeight;
77
+ let cdpEndpoint;
78
+ for(let index = 0; index < rawArgs.length; index += 1){
79
+ const arg = rawArgs[index];
80
+ if ('--bridge' === arg) {
81
+ isBridge = true;
82
+ continue;
83
+ }
84
+ if ('--cdp' === arg || arg.startsWith('--cdp=')) {
85
+ isCdp = true;
86
+ const parsed = readOptionalCdpEndpoint(rawArgs, index);
87
+ cdpEndpoint = parsed.value ?? cdpEndpoint;
88
+ index = parsed.nextIndex;
89
+ continue;
90
+ }
91
+ if (arg === viewportWidthFlag || arg.startsWith(`${viewportWidthFlag}=`)) {
92
+ const parsed = readRequiredOptionValue(rawArgs, index, viewportWidthFlag);
93
+ viewportWidth = parsePositiveIntegerOption(viewportWidthFlag, parsed.value);
94
+ index = parsed.nextIndex;
95
+ continue;
96
+ }
97
+ if (arg === viewportHeightFlag || arg.startsWith(`${viewportHeightFlag}=`)) {
98
+ const parsed = readRequiredOptionValue(rawArgs, index, viewportHeightFlag);
99
+ viewportHeight = parsePositiveIntegerOption(viewportHeightFlag, parsed.value);
100
+ index = parsed.nextIndex;
101
+ continue;
102
+ }
103
+ argv.push(arg);
104
+ }
105
+ if (isBridge && isCdp) throw new cli_namespaceObject.CLIError('--bridge and --cdp are mutually exclusive. Please specify only one.');
106
+ const mode = isBridge ? 'bridge' : isCdp ? 'cdp' : 'puppeteer';
107
+ if ('puppeteer' !== mode) {
108
+ if (void 0 !== viewportWidth || void 0 !== viewportHeight) throw new cli_namespaceObject.CLIError('Viewport options are only supported in the default Puppeteer mode.');
109
+ }
110
+ if ('cdp' === mode) {
111
+ cdpEndpoint = cdpEndpoint ?? env.MIDSCENE_CDP_ENDPOINT;
112
+ if (!cdpEndpoint) throw new cli_namespaceObject.CLIError('CDP endpoint is required. Provide it as: --cdp <ws-endpoint> or set MIDSCENE_CDP_ENDPOINT environment variable.');
113
+ }
114
+ const hasViewportOverride = void 0 !== viewportWidth || void 0 !== viewportHeight;
115
+ return {
116
+ argv,
117
+ mode,
118
+ cdpEndpoint,
119
+ viewport: hasViewportOverride ? (0, viewport_js_namespaceObject.resolveViewportSize)({
120
+ width: viewportWidth,
121
+ height: viewportHeight
122
+ }, viewport_js_namespaceObject.defaultPuppeteerWindowViewportSize) : void 0
123
+ };
124
+ }
125
+ exports.parseWebCliOptions = __webpack_exports__.parseWebCliOptions;
126
+ for(var __rspack_i in __webpack_exports__)if (-1 === [
127
+ "parseWebCliOptions"
128
+ ].indexOf(__rspack_i)) exports[__rspack_i] = __webpack_exports__[__rspack_i];
129
+ Object.defineProperty(exports, '__esModule', {
130
+ value: true
131
+ });
@@ -0,0 +1,54 @@
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
+ var __webpack_exports__ = {};
24
+ const external_node_fs_namespaceObject = require("node:fs");
25
+ const external_node_path_namespaceObject = require("node:path");
26
+ const core_namespaceObject = require("@godscene/core");
27
+ const cli_namespaceObject = require("@godscene/shared/cli");
28
+ const external_dotenv_namespaceObject = require("dotenv");
29
+ var external_dotenv_default = /*#__PURE__*/ __webpack_require__.n(external_dotenv_namespaceObject);
30
+ const external_cli_options_js_namespaceObject = require("./cli-options.js");
31
+ const external_mcp_tools_js_namespaceObject = require("./mcp-tools.js");
32
+ const external_mcp_tools_cdp_js_namespaceObject = require("./mcp-tools-cdp.js");
33
+ const external_mcp_tools_puppeteer_js_namespaceObject = require("./mcp-tools-puppeteer.js");
34
+ const envFile = (0, external_node_path_namespaceObject.join)(process.cwd(), '.env');
35
+ if ((0, external_node_fs_namespaceObject.existsSync)(envFile)) external_dotenv_default().config({
36
+ path: envFile
37
+ });
38
+ Promise.resolve().then(()=>{
39
+ const parsedOptions = (0, external_cli_options_js_namespaceObject.parseWebCliOptions)(process.argv.slice(2));
40
+ let tools;
41
+ tools = 'bridge' === parsedOptions.mode ? new external_mcp_tools_js_namespaceObject.WebMidsceneTools() : 'cdp' === parsedOptions.mode ? new external_mcp_tools_cdp_js_namespaceObject.WebCdpMidsceneTools(parsedOptions.cdpEndpoint) : new external_mcp_tools_puppeteer_js_namespaceObject.WebPuppeteerMidsceneTools(parsedOptions.viewport);
42
+ return (0, cli_namespaceObject.runToolsCLI)(tools, 'midscene-web', {
43
+ stripPrefix: 'web_',
44
+ argv: parsedOptions.argv,
45
+ version: "1.7.10",
46
+ extraCommands: (0, core_namespaceObject.createReportCliCommands)()
47
+ });
48
+ }).catch((e)=>{
49
+ process.exit((0, cli_namespaceObject.reportCLIError)(e));
50
+ });
51
+ for(var __rspack_i in __webpack_exports__)exports[__rspack_i] = __webpack_exports__[__rspack_i];
52
+ Object.defineProperty(exports, '__esModule', {
53
+ value: true
54
+ });
@@ -0,0 +1,66 @@
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
+ judgeOrderSensitive: ()=>judgeOrderSensitive,
28
+ sanitizeXpaths: ()=>sanitizeXpaths,
29
+ buildRectFromElementInfo: ()=>buildRectFromElementInfo
30
+ });
31
+ const ai_model_namespaceObject = require("@godscene/core/ai-model");
32
+ const sanitizeXpaths = (xpaths)=>{
33
+ if (!Array.isArray(xpaths)) return [];
34
+ return xpaths.filter((xpath)=>'string' == typeof xpath && xpath.length > 0);
35
+ };
36
+ async function judgeOrderSensitive(options, debug) {
37
+ if (!options?.targetDescription || !options?.modelConfig) return false;
38
+ try {
39
+ const judgeResult = await (0, ai_model_namespaceObject.AiJudgeOrderSensitive)(options.targetDescription, ai_model_namespaceObject.callAIWithObjectResponse, options.modelConfig);
40
+ debug("judged isOrderSensitive=%s for description: %s", judgeResult.isOrderSensitive, options.targetDescription);
41
+ return judgeResult.isOrderSensitive;
42
+ } catch (error) {
43
+ debug('Failed to judge isOrderSensitive: %O', error);
44
+ return false;
45
+ }
46
+ }
47
+ function buildRectFromElementInfo(elementInfo) {
48
+ const matchedRect = {
49
+ left: elementInfo.rect.left,
50
+ top: elementInfo.rect.top,
51
+ width: elementInfo.rect.width,
52
+ height: elementInfo.rect.height
53
+ };
54
+ return matchedRect;
55
+ }
56
+ exports.buildRectFromElementInfo = __webpack_exports__.buildRectFromElementInfo;
57
+ exports.judgeOrderSensitive = __webpack_exports__.judgeOrderSensitive;
58
+ exports.sanitizeXpaths = __webpack_exports__.sanitizeXpaths;
59
+ for(var __rspack_i in __webpack_exports__)if (-1 === [
60
+ "buildRectFromElementInfo",
61
+ "judgeOrderSensitive",
62
+ "sanitizeXpaths"
63
+ ].indexOf(__rspack_i)) exports[__rspack_i] = __webpack_exports__[__rspack_i];
64
+ Object.defineProperty(exports, '__esModule', {
65
+ value: true
66
+ });
@@ -0,0 +1,88 @@
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
+ defaultViewportSize: ()=>defaultViewportSize,
28
+ defaultStaticPageViewportSize: ()=>defaultStaticPageViewportSize,
29
+ defaultViewportWidth: ()=>defaultViewportWidth,
30
+ resolveViewportSize: ()=>resolveViewportSize,
31
+ resolveWebViewportSize: ()=>resolveWebViewportSize,
32
+ defaultPuppeteerWindowViewportSize: ()=>defaultPuppeteerWindowViewportSize,
33
+ defaultViewportHeight: ()=>defaultViewportHeight
34
+ });
35
+ const utils_namespaceObject = require("@godscene/shared/utils");
36
+ const defaultViewportWidth = 1440;
37
+ const defaultViewportHeight = 800;
38
+ const defaultViewportSize = {
39
+ width: defaultViewportWidth,
40
+ height: defaultViewportHeight
41
+ };
42
+ const defaultPuppeteerWindowViewportSize = {
43
+ width: defaultViewportWidth,
44
+ height: defaultViewportHeight
45
+ };
46
+ const defaultStaticPageViewportSize = {
47
+ width: defaultViewportWidth,
48
+ height: defaultViewportHeight
49
+ };
50
+ function parseViewportDimension(rawValue, name) {
51
+ const parsedValue = 'number' == typeof rawValue ? rawValue : Number(rawValue);
52
+ (0, utils_namespaceObject.assert)(Number.isInteger(parsedValue), `${name} must be a positive integer, but got ${rawValue}`);
53
+ (0, utils_namespaceObject.assert)(parsedValue > 0, `${name} must be greater than 0, but got ${rawValue}`);
54
+ return parsedValue;
55
+ }
56
+ function resolveViewportSize(viewport, fallback = defaultViewportSize) {
57
+ const width = viewport?.width === void 0 || null === viewport.width ? fallback.width : parseViewportDimension(viewport.width, 'viewportWidth');
58
+ const height = viewport?.height === void 0 || null === viewport.height ? fallback.height : parseViewportDimension(viewport.height, 'viewportHeight');
59
+ return {
60
+ width,
61
+ height
62
+ };
63
+ }
64
+ function resolveWebViewportSize(viewport, fallback = defaultViewportSize) {
65
+ return resolveViewportSize({
66
+ width: viewport?.viewportWidth,
67
+ height: viewport?.viewportHeight
68
+ }, fallback);
69
+ }
70
+ exports.defaultPuppeteerWindowViewportSize = __webpack_exports__.defaultPuppeteerWindowViewportSize;
71
+ exports.defaultStaticPageViewportSize = __webpack_exports__.defaultStaticPageViewportSize;
72
+ exports.defaultViewportHeight = __webpack_exports__.defaultViewportHeight;
73
+ exports.defaultViewportSize = __webpack_exports__.defaultViewportSize;
74
+ exports.defaultViewportWidth = __webpack_exports__.defaultViewportWidth;
75
+ exports.resolveViewportSize = __webpack_exports__.resolveViewportSize;
76
+ exports.resolveWebViewportSize = __webpack_exports__.resolveWebViewportSize;
77
+ for(var __rspack_i in __webpack_exports__)if (-1 === [
78
+ "defaultPuppeteerWindowViewportSize",
79
+ "defaultStaticPageViewportSize",
80
+ "defaultViewportHeight",
81
+ "defaultViewportSize",
82
+ "defaultViewportWidth",
83
+ "resolveViewportSize",
84
+ "resolveWebViewportSize"
85
+ ].indexOf(__rspack_i)) exports[__rspack_i] = __webpack_exports__[__rspack_i];
86
+ Object.defineProperty(exports, '__esModule', {
87
+ value: true
88
+ });
@@ -0,0 +1,66 @@
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
+ PlaywrightAiFixture: ()=>index_js_namespaceObject.PlaywrightAiFixture,
28
+ StaticPageAgent: ()=>external_static_index_js_namespaceObject.StaticPageAgent,
29
+ PlaywrightAgent: ()=>index_js_namespaceObject.PlaywrightAgent,
30
+ PuppeteerAgent: ()=>external_puppeteer_index_js_namespaceObject.PuppeteerAgent,
31
+ StaticPage: ()=>external_static_index_js_namespaceObject.StaticPage,
32
+ PageAgent: ()=>agent_namespaceObject.Agent,
33
+ webPlaygroundPlatform: ()=>external_platform_js_namespaceObject.webPlaygroundPlatform,
34
+ WebCdpMidsceneTools: ()=>external_mcp_tools_cdp_js_namespaceObject.WebCdpMidsceneTools,
35
+ WebMidsceneTools: ()=>external_mcp_tools_js_namespaceObject.WebMidsceneTools
36
+ });
37
+ const index_js_namespaceObject = require("./playwright/index.js");
38
+ const agent_namespaceObject = require("@godscene/core/agent");
39
+ const external_puppeteer_index_js_namespaceObject = require("./puppeteer/index.js");
40
+ const external_static_index_js_namespaceObject = require("./static/index.js");
41
+ const external_mcp_tools_js_namespaceObject = require("./mcp-tools.js");
42
+ const external_platform_js_namespaceObject = require("./platform.js");
43
+ const external_mcp_tools_cdp_js_namespaceObject = require("./mcp-tools-cdp.js");
44
+ exports.PageAgent = __webpack_exports__.PageAgent;
45
+ exports.PlaywrightAgent = __webpack_exports__.PlaywrightAgent;
46
+ exports.PlaywrightAiFixture = __webpack_exports__.PlaywrightAiFixture;
47
+ exports.PuppeteerAgent = __webpack_exports__.PuppeteerAgent;
48
+ exports.StaticPage = __webpack_exports__.StaticPage;
49
+ exports.StaticPageAgent = __webpack_exports__.StaticPageAgent;
50
+ exports.WebCdpMidsceneTools = __webpack_exports__.WebCdpMidsceneTools;
51
+ exports.WebMidsceneTools = __webpack_exports__.WebMidsceneTools;
52
+ exports.webPlaygroundPlatform = __webpack_exports__.webPlaygroundPlatform;
53
+ for(var __rspack_i in __webpack_exports__)if (-1 === [
54
+ "PageAgent",
55
+ "PlaywrightAgent",
56
+ "PlaywrightAiFixture",
57
+ "PuppeteerAgent",
58
+ "StaticPage",
59
+ "StaticPageAgent",
60
+ "WebCdpMidsceneTools",
61
+ "WebMidsceneTools",
62
+ "webPlaygroundPlatform"
63
+ ].indexOf(__rspack_i)) exports[__rspack_i] = __webpack_exports__[__rspack_i];
64
+ Object.defineProperty(exports, '__esModule', {
65
+ value: true
66
+ });
@@ -0,0 +1,73 @@
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
+ mcpKitForAgent: ()=>mcpKitForAgent,
28
+ mcpServerForAgent: ()=>mcpServerForAgent,
29
+ WebMCPServer: ()=>WebMCPServer
30
+ });
31
+ const mcp_namespaceObject = require("@godscene/shared/mcp");
32
+ const external_mcp_tools_js_namespaceObject = require("./mcp-tools.js");
33
+ class WebMCPServer extends mcp_namespaceObject.BaseMCPServer {
34
+ createToolsManager() {
35
+ return new external_mcp_tools_js_namespaceObject.WebMidsceneTools();
36
+ }
37
+ constructor(toolsManager){
38
+ super({
39
+ name: '@godscene/web-bridge-mcp',
40
+ version: "1.7.10",
41
+ description: 'Control the browser using natural language commands'
42
+ }, toolsManager);
43
+ }
44
+ }
45
+ function mcpServerForAgent(agent) {
46
+ return (0, mcp_namespaceObject.createMCPServerLauncher)({
47
+ agent,
48
+ platformName: 'Web',
49
+ ToolsManagerClass: external_mcp_tools_js_namespaceObject.WebMidsceneTools,
50
+ MCPServerClass: WebMCPServer
51
+ });
52
+ }
53
+ async function mcpKitForAgent(agent) {
54
+ const toolsManager = new external_mcp_tools_js_namespaceObject.WebMidsceneTools();
55
+ const webAgent = agent;
56
+ toolsManager.setAgent(webAgent);
57
+ await toolsManager.initTools();
58
+ return {
59
+ description: 'Midscene Bridge MCP Server: Control the browser using natural language commands for navigation, clicking, input, hovering, screenshots waitFor, and achieving goals.',
60
+ tools: toolsManager.getToolDefinitions()
61
+ };
62
+ }
63
+ exports.WebMCPServer = __webpack_exports__.WebMCPServer;
64
+ exports.mcpKitForAgent = __webpack_exports__.mcpKitForAgent;
65
+ exports.mcpServerForAgent = __webpack_exports__.mcpServerForAgent;
66
+ for(var __rspack_i in __webpack_exports__)if (-1 === [
67
+ "WebMCPServer",
68
+ "mcpKitForAgent",
69
+ "mcpServerForAgent"
70
+ ].indexOf(__rspack_i)) exports[__rspack_i] = __webpack_exports__[__rspack_i];
71
+ Object.defineProperty(exports, '__esModule', {
72
+ value: true
73
+ });