@theia/ai-ide 1.63.2 → 1.64.0-next.17

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 (35) hide show
  1. package/lib/browser/app-tester-chat-agent.d.ts +1 -1
  2. package/lib/browser/app-tester-chat-agent.d.ts.map +1 -1
  3. package/lib/browser/app-tester-chat-agent.js +32 -10
  4. package/lib/browser/app-tester-chat-agent.js.map +1 -1
  5. package/lib/browser/app-tester-chat-functions.d.ts +25 -0
  6. package/lib/browser/app-tester-chat-functions.d.ts.map +1 -0
  7. package/lib/browser/app-tester-chat-functions.js +170 -0
  8. package/lib/browser/app-tester-chat-functions.js.map +1 -0
  9. package/lib/browser/frontend-module.d.ts.map +1 -1
  10. package/lib/browser/frontend-module.js +10 -0
  11. package/lib/browser/frontend-module.js.map +1 -1
  12. package/lib/common/app-tester-chat-functions.d.ts +5 -0
  13. package/lib/common/app-tester-chat-functions.d.ts.map +1 -0
  14. package/lib/common/app-tester-chat-functions.js +23 -0
  15. package/lib/common/app-tester-chat-functions.js.map +1 -0
  16. package/lib/common/browser-automation-protocol.d.ts +15 -0
  17. package/lib/common/browser-automation-protocol.d.ts.map +1 -0
  18. package/lib/common/browser-automation-protocol.js +22 -0
  19. package/lib/common/browser-automation-protocol.js.map +1 -0
  20. package/lib/node/app-tester-agent/browser-automation-impl.d.ts +18 -0
  21. package/lib/node/app-tester-agent/browser-automation-impl.d.ts.map +1 -0
  22. package/lib/node/app-tester-agent/browser-automation-impl.js +96 -0
  23. package/lib/node/app-tester-agent/browser-automation-impl.js.map +1 -0
  24. package/lib/node/backend-module.d.ts +4 -0
  25. package/lib/node/backend-module.d.ts.map +1 -0
  26. package/lib/node/backend-module.js +35 -0
  27. package/lib/node/backend-module.js.map +1 -0
  28. package/package.json +21 -19
  29. package/src/browser/app-tester-chat-agent.ts +135 -111
  30. package/src/browser/app-tester-chat-functions.ts +170 -0
  31. package/src/browser/frontend-module.ts +19 -1
  32. package/src/common/app-tester-chat-functions.ts +20 -0
  33. package/src/common/browser-automation-protocol.ts +32 -0
  34. package/src/node/app-tester-agent/browser-automation-impl.ts +107 -0
  35. package/src/node/backend-module.ts +38 -0
@@ -33,6 +33,6 @@ export declare class AppTesterChatAgent extends AbstractStreamParsingChatAgent {
33
33
  *
34
34
  * @returns A promise that resolves when the server is started
35
35
  */
36
- ensureServerStarted(server: MCPServerDescription): Promise<void>;
36
+ ensureServersStarted(...servers: MCPServerDescription[]): Promise<void>;
37
37
  }
38
38
  //# sourceMappingURL=app-tester-chat-agent.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"app-tester-chat-agent.d.ts","sourceRoot":"","sources":["../../src/browser/app-tester-chat-agent.ts"],"names":[],"mappings":"AAmBA,OAAO,EAAE,8BAA8B,EAAE,MAAM,uCAAuC,CAAC;AACvF,OAAO,EAAiE,uBAAuB,EAA+B,MAAM,sCAAsC,CAAC;AAC3K,OAAO,EAAE,kBAAkB,EAAE,wBAAwB,EAAE,MAAM,2BAA2B,CAAC;AACzF,OAAO,EAAE,kBAAkB,EAAE,oBAAoB,EAAE,MAAM,6CAA6C,CAAC;AAIvG,OAAO,EAAmB,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AAE7E,eAAO,MAAM,oBAAoB,EAAE,oBAAoB,EAetD,CAAC;AAGF,eAAO,MAAM,iBAAiB,EAAE,kBA8B/B,CAAC;AAEF,eAAO,MAAM,wBAAwB,EAAE,kBAGtC,CAAC;AAEF,eAAO,MAAM,oBAAoB,cAAc,CAAC;AAChD,qBACa,kBAAmB,SAAQ,8BAA8B;IAGnE,SAAS,CAAC,QAAQ,CAAC,UAAU,EAAE,kBAAkB,CAAC;IAGlD,SAAS,CAAC,QAAQ,CAAC,iBAAiB,EAAE,iBAAiB,CAAC;IAExD,EAAE,EAAE,MAAM,CAAwB;IAClC,IAAI,SAAwB;IAC5B,yBAAyB,EAAE,wBAAwB,EAAE,CAGlD;IACH,SAAS,CAAC,2BAA2B,EAAE,MAAM,CAAU;IAC9C,WAAW,SACkF;IAE7F,SAAS,EAAE,MAAM,CAA4B;IACtD,UAAmB,cAAc,EAAE,MAAM,CAAuB;IACvD,OAAO;;;;QAA0G;IAE1H;;OAEG;IACY,MAAM,CAAC,OAAO,EAAE,uBAAuB,GAAG,OAAO,CAAC,IAAI,CAAC;cA8CtD,uBAAuB,IAAI,OAAO,CAAC,OAAO,CAAC;cAK3C,YAAY,IAAI,OAAO,CAAC,IAAI,CAAC;IAK7C;;;;OAIG;IACG,mBAAmB,CAAC,MAAM,EAAE,oBAAoB,GAAG,OAAO,CAAC,IAAI,CAAC;CAgBxE"}
1
+ {"version":3,"file":"app-tester-chat-agent.d.ts","sourceRoot":"","sources":["../../src/browser/app-tester-chat-agent.ts"],"names":[],"mappings":"AAmBA,OAAO,EAAE,8BAA8B,EAAE,MAAM,uCAAuC,CAAC;AACvF,OAAO,EAAiE,uBAAuB,EAA+B,MAAM,sCAAsC,CAAC;AAC3K,OAAO,EAAE,kBAAkB,EAAE,wBAAwB,EAAE,MAAM,2BAA2B,CAAC;AACzF,OAAO,EAAE,kBAAkB,EAAE,oBAAoB,EAAE,MAAM,6CAA6C,CAAC;AAIvG,OAAO,EAAmB,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AAG7E,eAAO,MAAM,oBAAoB,EAAE,oBAAoB,EAmBtD,CAAC;AAGF,eAAO,MAAM,iBAAiB,EAAE,kBAsC/B,CAAC;AAEF,eAAO,MAAM,wBAAwB,EAAE,kBAGtC,CAAC;AAEF,eAAO,MAAM,oBAAoB,cAAc,CAAC;AAChD,qBACa,kBAAmB,SAAQ,8BAA8B;IAGlE,SAAS,CAAC,QAAQ,CAAC,UAAU,EAAE,kBAAkB,CAAC;IAGlD,SAAS,CAAC,QAAQ,CAAC,iBAAiB,EAAE,iBAAiB,CAAC;IAExD,EAAE,EAAE,MAAM,CAAwB;IAClC,IAAI,SAAwB;IAC5B,yBAAyB,EAAE,wBAAwB,EAAE,CAGlD;IACH,SAAS,CAAC,2BAA2B,EAAE,MAAM,CAAU;IAC9C,WAAW,SACmF;IAE9F,SAAS,EAAE,MAAM,CAA4B;IACvD,UAAmB,cAAc,EAAE,MAAM,CAAuB;IACvD,OAAO;;;;QAA0G;IAEzH;;OAEG;IACY,MAAM,CAAC,OAAO,EAAE,uBAAuB,GAAG,OAAO,CAAC,IAAI,CAAC;cA8CtD,uBAAuB,IAAI,OAAO,CAAC,OAAO,CAAC;cAK3C,YAAY,IAAI,OAAO,CAAC,IAAI,CAAC;IAI7C;;;;OAIG;IACG,oBAAoB,CAAC,GAAG,OAAO,EAAE,oBAAoB,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;CA4BhF"}
@@ -26,18 +26,23 @@ const core_1 = require("@theia/core");
26
26
  const inversify_1 = require("@theia/core/shared/inversify");
27
27
  const mcp_preferences_1 = require("@theia/ai-mcp/lib/browser/mcp-preferences");
28
28
  const browser_1 = require("@theia/core/lib/browser");
29
+ const app_tester_chat_functions_1 = require("../common/app-tester-chat-functions");
29
30
  exports.REQUIRED_MCP_SERVERS = [
30
31
  {
31
32
  name: 'playwright',
32
33
  command: 'npx',
33
- args: ['-y', '@playwright/mcp@latest'],
34
+ args: ['-y', '@playwright/mcp@latest',
35
+ '--cdp-endpoint',
36
+ 'http://localhost:9222/'],
34
37
  autostart: false,
35
38
  env: {},
36
39
  },
37
40
  {
38
41
  name: 'playwright-visual',
39
42
  command: 'npx',
40
- args: ['-y', '@playwright/mcp@latest', '--vision'],
43
+ args: ['-y', '@playwright/mcp@latest', '--vision',
44
+ '--cdp-endpoint',
45
+ 'http://localhost:9222/'],
41
46
  autostart: false,
42
47
  env: {},
43
48
  }
@@ -62,6 +67,14 @@ Your role is to inspect the application for user-specified test scenarios throug
62
67
  You have access to these powerful automation tools:
63
68
  ${exports.REQUIRED_MCP_SERVERS.map(server => `{{prompt:mcp_${server.name}_tools}}`)}
64
69
 
70
+ - **~{${app_tester_chat_functions_1.LAUNCH_BROWSER_FUNCTION_ID}}**: Launch the browser. This is required before performing any browser interactions. Always launch a new browser when starting a test session.
71
+ - **~{${app_tester_chat_functions_1.IS_BROWSER_RUNNING_FUNCTION_ID}}**: Check if the browser is running. If a tool fails by saying that the connection failed, you can verify the connection by using this tool.
72
+ - **~{${app_tester_chat_functions_1.CLOSE_BROWSER_FUNCTION_ID}}**: Close the browser.
73
+ - **~{${app_tester_chat_functions_1.QUERY_DOM_FUNCTION_ID}}**: Query the DOM for specific elements and their properties. Only use when explicitly requested by the user.
74
+ - **browser_snapshot**: Capture the current state of the page for verification or debugging purposes.
75
+
76
+ Prefer snapshots for investigating the page.
77
+
65
78
  ## Workflow Approach
66
79
  1. **Understand Requirements**: Ask the user to clearly define what needs to be tested
67
80
  2. **Launch Browser**: Start a fresh browser instance for testing
@@ -142,27 +155,36 @@ let AppTesterChatAgent = class AppTesterChatAgent extends chat_agents_1.Abstract
142
155
  return allStarted.some(started => !started);
143
156
  }
144
157
  async startServers() {
145
- await Promise.all(exports.REQUIRED_MCP_SERVERS.map(server => this.ensureServerStarted(server)));
158
+ await this.ensureServersStarted(...exports.REQUIRED_MCP_SERVERS);
146
159
  }
147
160
  /**
148
161
  * Starts the Playwright MCP server if it doesn't exist or isn't running.
149
162
  *
150
163
  * @returns A promise that resolves when the server is started
151
164
  */
152
- async ensureServerStarted(server) {
165
+ async ensureServersStarted(...servers) {
153
166
  try {
154
- if ((await this.mcpService.isServerStarted(server.name))) {
155
- return;
167
+ const serversToInstall = [];
168
+ const serversToStart = [];
169
+ for (const server of servers) {
170
+ if (!(await this.mcpService.hasServer(server.name))) {
171
+ serversToInstall.push(server);
172
+ }
173
+ if (!(await this.mcpService.isServerStarted(server.name))) {
174
+ serversToStart.push(server);
175
+ }
156
176
  }
157
- if (!(await this.mcpService.hasServer(server.name))) {
177
+ for (const server of serversToInstall) {
158
178
  const currentServers = this.preferenceService.get(mcp_preferences_1.MCP_SERVERS_PREF, {});
159
- await this.preferenceService.set(mcp_preferences_1.MCP_SERVERS_PREF, { ...currentServers, server }, browser_1.PreferenceScope.User);
179
+ await this.preferenceService.set(mcp_preferences_1.MCP_SERVERS_PREF, { ...currentServers, [server.name]: server }, browser_1.PreferenceScope.User);
160
180
  await this.mcpService.addOrUpdateServer(server);
161
181
  }
162
- await this.mcpService.startServer(server.name);
182
+ for (const server of serversToStart) {
183
+ await this.mcpService.startServer(server.name);
184
+ }
163
185
  }
164
186
  catch (error) {
165
- this.logger.error(`Error starting MCP server ${server.name}: ${error}`);
187
+ this.logger.error(`Error starting MCP servers ${servers.map(s => s.name)}: ${error}`);
166
188
  throw error;
167
189
  }
168
190
  }
@@ -1 +1 @@
1
- {"version":3,"file":"app-tester-chat-agent.js","sourceRoot":"","sources":["../../src/browser/app-tester-chat-agent.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"app-tester-chat-agent.js","sourceRoot":"","sources":["../../src/browser/app-tester-chat-agent.ts"],"names":[],"mappings":";AAAA,4BAA4B;;;;AAE5B,gFAAgF;AAChF,yCAAyC;AACzC,EAAE;AACF,2EAA2E;AAC3E,mEAAmE;AACnE,wCAAwC;AACxC,EAAE;AACF,4EAA4E;AAC5E,8EAA8E;AAC9E,6EAA6E;AAC7E,yDAAyD;AACzD,uDAAuD;AACvD,EAAE;AACF,gFAAgF;AAChF,gFAAgF;AAEhF,4CAAkE;AAClE,uEAAuF;AACvF,qEAA2K;AAE3K,oFAAuG;AACvG,sCAAkC;AAClC,4DAAkE;AAClE,+EAA6E;AAC7E,qDAA6E;AAC7E,mFAAmK;AAEtJ,QAAA,oBAAoB,GAA2B;IACxD;QACI,IAAI,EAAE,YAAY;QAClB,OAAO,EAAE,KAAK;QACd,IAAI,EAAE,CAAC,IAAI,EAAE,wBAAwB;YACjC,gBAAgB;YAChB,wBAAwB,CAAC;QAC7B,SAAS,EAAE,KAAK;QAChB,GAAG,EAAE,EAAE;KACV;IACD;QACI,IAAI,EAAE,mBAAmB;QACzB,OAAO,EAAE,KAAK;QACd,IAAI,EAAE,CAAC,IAAI,EAAE,wBAAwB,EAAE,UAAU;YAC7C,gBAAgB;YAChB,wBAAwB,CAAC;QAC7B,SAAS,EAAE,KAAK;QAChB,GAAG,EAAE,EAAE;KACV;CACJ,CAAC;AAEF,mBAAmB;AACN,QAAA,iBAAiB,GAAuB;IACjD,EAAE,EAAE,2BAA2B;IAC/B,QAAQ,EAAE;;;;;;;;;;;;;;;EAeZ,4BAAoB,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,gBAAgB,MAAM,CAAC,IAAI,UAAU,CAAC;;QAEnE,sDAA0B;QAC1B,0DAA8B;QAC9B,qDAAyB;QACzB,iDAAqB;;;;;;;;;;;;;;IAczB,0CAAgC;CACnC;CACA,CAAC;AAEW,QAAA,wBAAwB,GAAuB;IACxD,EAAE,EAAE,yBAAyB;IAC7B,QAAQ,EAAE,EAAE;CACf,CAAC;AAEW,QAAA,oBAAoB,GAAG,WAAW,CAAC;AAEzC,IAAM,kBAAkB,GAAxB,MAAM,kBAAmB,SAAQ,4CAA8B;IAA/D;;QAQH,OAAE,GAAW,4BAAoB,CAAC;QAClC,SAAI,GAAG,4BAAoB,CAAC;QAC5B,8BAAyB,GAA+B,CAAC;gBACrD,OAAO,EAAE,MAAM;gBACf,UAAU,EAAE,eAAe;aAC9B,CAAC,CAAC;QACO,gCAA2B,GAAW,MAAM,CAAC;QAC9C,gBAAW,GAAG,UAAG,CAAC,QAAQ,CAAC,sCAAsC,EAAE,8HAA8H;cACpM,+FAA+F,CAAC,CAAC;QAE9F,cAAS,GAAW,wBAAwB,CAAC;QACpC,mBAAc,GAAW,mBAAmB,CAAC;QACvD,YAAO,GAAG,CAAC,EAAE,EAAE,EAAE,mBAAmB,EAAE,cAAc,EAAE,yBAAiB,EAAE,QAAQ,EAAE,CAAC,gCAAwB,CAAC,EAAE,CAAC,CAAC;IA6F7H,CAAC;IA3FG;;OAEG;IACM,KAAK,CAAC,MAAM,CAAC,OAAgC;QAClD,IAAI,CAAC;YACD,IAAI,MAAM,IAAI,CAAC,uBAAuB,EAAE,EAAE,CAAC;gBACvC,gDAAgD;gBAChD,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAC,UAAU,CAAC,IAAI,wCAA2B,CAChE,4HAA4H,EAC5H;oBACI,EAAE,IAAI,EAAE,wBAAwB,EAAE,KAAK,EAAE,KAAK,EAAE;oBAChD,EAAE,IAAI,EAAE,YAAY,EAAE,KAAK,EAAE,IAAI,EAAE;iBACtC,EACD,OAAO,EACP,KAAK,EAAC,cAAc,EAAC,EAAE;oBACnB,IAAI,cAAc,CAAC,KAAK,KAAK,KAAK,EAAE,CAAC;wBACjC,gBAAgB;wBAChB,MAAM,QAAQ,GAAG,OAAO,CAAC,QAAQ,CAAC,kBAAkB,CAAC,EAAE,OAAO,EAAE,kCAAkC,EAAE,IAAI,EAAE,iBAAiB,EAAE,CAAC,CAAC;wBAC/H,IAAI,CAAC;4BACD,MAAM,IAAI,CAAC,YAAY,EAAE,CAAC;4BAC1B,6CAA6C;4BAC7C,OAAO,CAAC,QAAQ,CAAC,qBAAqB,CAAC,EAAE,GAAG,QAAQ,EAAE,IAAI,EAAE,iBAAiB,EAAE,MAAM,EAAE,WAAW,EAAE,CAAC,CAAC;4BACtG,MAAM,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;wBAChC,CAAC;wBAAC,OAAO,KAAK,EAAE,CAAC;4BACb,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAC,UAAU,CAAC,IAAI,yCAA4B,CACjE,IAAI,KAAK,CAAC,yCAAyC,GAAG,CAAC,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAClH,CAAC,CAAC;4BACH,OAAO,CAAC,QAAQ,CAAC,QAAQ,EAAE,CAAC;wBAChC,CAAC;oBACL,CAAC;yBAAM,CAAC;wBACJ,uCAAuC;wBACvC,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAC,UAAU,CAAC,IAAI,4CAA+B,CAAC,+BAA+B,CAAC,CAAC,CAAC;wBAC3G,OAAO,CAAC,QAAQ,CAAC,QAAQ,EAAE,CAAC;oBAChC,CAAC;gBACL,CAAC,CACJ,CAAC,CAAC;gBACH,OAAO,CAAC,QAAQ,CAAC,YAAY,EAAE,CAAC;gBAChC,OAAO;YACX,CAAC;YACD,yCAAyC;YACzC,MAAM,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;QAChC,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACb,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAC,UAAU,CAAC,IAAI,yCAA4B,CACjE,IAAI,KAAK,CAAC,+CAA+C,GAAG,CAAC,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CACxH,CAAC,CAAC;YACH,OAAO,CAAC,QAAQ,CAAC,QAAQ,EAAE,CAAC;QAChC,CAAC;IACL,CAAC;IAES,KAAK,CAAC,uBAAuB;QACnC,MAAM,UAAU,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC,4BAAoB,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,IAAI,CAAC,UAAU,CAAC,eAAe,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QACvH,OAAO,UAAU,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC;IAChD,CAAC;IAES,KAAK,CAAC,YAAY;QACxB,MAAM,IAAI,CAAC,oBAAoB,CAAC,GAAG,4BAAoB,CAAC,CAAC;IAC7D,CAAC;IAED;;;;OAIG;IACH,KAAK,CAAC,oBAAoB,CAAC,GAAG,OAA+B;QACzD,IAAI,CAAC;YACD,MAAM,gBAAgB,GAA2B,EAAE,CAAC;YACpD,MAAM,cAAc,GAA2B,EAAE,CAAC;YAElD,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE,CAAC;gBAC3B,IAAI,CAAC,CAAC,MAAM,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC;oBAClD,gBAAgB,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;gBAClC,CAAC;gBACD,IAAI,CAAC,CAAC,MAAM,IAAI,CAAC,UAAU,CAAC,eAAe,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC;oBACxD,cAAc,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;gBAChC,CAAC;YACL,CAAC;YAED,KAAK,MAAM,MAAM,IAAI,gBAAgB,EAAE,CAAC;gBACpC,MAAM,cAAc,GAAG,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAuC,kCAAgB,EAAE,EAAE,CAAC,CAAC;gBAC9G,MAAM,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,kCAAgB,EAAE,EAAE,GAAG,cAAc,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,EAAE,yBAAe,CAAC,IAAI,CAAC,CAAC;gBACvH,MAAM,IAAI,CAAC,UAAU,CAAC,iBAAiB,CAAC,MAAM,CAAC,CAAC;YACpD,CAAC;YAED,KAAK,MAAM,MAAM,IAAI,cAAc,EAAE,CAAC;gBAClC,MAAM,IAAI,CAAC,UAAU,CAAC,WAAW,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;YACnD,CAAC;QACL,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACb,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,8BAA8B,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,KAAK,EAAE,CAAC,CAAC;YACtF,MAAM,KAAK,CAAC;QAChB,CAAC;IACL,CAAC;CACJ,CAAA;AAjHY,gDAAkB;AAGR;IADlB,IAAA,kBAAM,EAAC,uCAAkB,CAAC;;sDACuB;AAG/B;IADlB,IAAA,kBAAM,EAAC,2BAAiB,CAAC;;6DAC8B;6BAN/C,kBAAkB;IAD9B,IAAA,sBAAU,GAAE;GACA,kBAAkB,CAiH9B"}
@@ -0,0 +1,25 @@
1
+ import { type ToolProvider, type ToolRequest } from '@theia/ai-core';
2
+ import { MCPServerManager } from '@theia/ai-mcp/lib/common';
3
+ import { BrowserAutomation } from '../common/browser-automation-protocol';
4
+ export declare abstract class BrowserAutomationToolProvider implements ToolProvider {
5
+ protected readonly browser: BrowserAutomation;
6
+ abstract getTool(): ToolRequest;
7
+ }
8
+ export declare class LaunchBrowserProvider extends BrowserAutomationToolProvider {
9
+ static ID: string;
10
+ protected readonly mcpServerManager: MCPServerManager;
11
+ getTool(): ToolRequest;
12
+ }
13
+ export declare class CloseBrowserProvider extends BrowserAutomationToolProvider {
14
+ static ID: string;
15
+ getTool(): ToolRequest;
16
+ }
17
+ export declare class IsBrowserRunningProvider extends BrowserAutomationToolProvider {
18
+ static ID: string;
19
+ getTool(): ToolRequest;
20
+ }
21
+ export declare class QueryDomProvider extends BrowserAutomationToolProvider {
22
+ static ID: string;
23
+ getTool(): ToolRequest;
24
+ }
25
+ //# sourceMappingURL=app-tester-chat-functions.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"app-tester-chat-functions.d.ts","sourceRoot":"","sources":["../../src/browser/app-tester-chat-functions.ts"],"names":[],"mappings":"AAeA,OAAO,EAAE,KAAK,YAAY,EAAE,KAAK,WAAW,EAAE,MAAM,gBAAgB,CAAC;AACrE,OAAO,EAA+B,gBAAgB,EAAE,MAAM,0BAA0B,CAAC;AAGzF,OAAO,EAAE,iBAAiB,EAAE,MAAM,uCAAuC,CAAC;AAE1E,8BACsB,6BAA8B,YAAW,YAAY;IAEvE,SAAS,CAAC,QAAQ,CAAC,OAAO,EAAE,iBAAiB,CAAC;IAE9C,QAAQ,CAAC,OAAO,IAAI,WAAW;CAClC;AAED,qBACa,qBAAsB,SAAQ,6BAA6B;IACpE,MAAM,CAAC,EAAE,SAA8B;IAGvC,SAAS,CAAC,QAAQ,CAAC,gBAAgB,EAAE,gBAAgB,CAAC;IAEtD,OAAO,IAAI,WAAW;CAkDzB;AAED,qBACa,oBAAqB,SAAQ,6BAA6B;IACnE,MAAM,CAAC,EAAE,SAA6B;IAEtC,OAAO,IAAI,WAAW;CAmBzB;AAED,qBACa,wBAAyB,SAAQ,6BAA6B;IACvE,MAAM,CAAC,EAAE,SAAkC;IAE3C,OAAO,IAAI,WAAW;CAoBzB;AAED,qBACa,gBAAiB,SAAQ,6BAA6B;IAC/D,MAAM,CAAC,EAAE,SAAyB;IAElC,OAAO,IAAI,WAAW;CA0BzB"}
@@ -0,0 +1,170 @@
1
+ "use strict";
2
+ var LaunchBrowserProvider_1, CloseBrowserProvider_1, IsBrowserRunningProvider_1, QueryDomProvider_1;
3
+ Object.defineProperty(exports, "__esModule", { value: true });
4
+ exports.QueryDomProvider = exports.IsBrowserRunningProvider = exports.CloseBrowserProvider = exports.LaunchBrowserProvider = exports.BrowserAutomationToolProvider = void 0;
5
+ const tslib_1 = require("tslib");
6
+ const common_1 = require("@theia/ai-mcp/lib/common");
7
+ const inversify_1 = require("@theia/core/shared/inversify");
8
+ const app_tester_chat_functions_1 = require("../common/app-tester-chat-functions");
9
+ const browser_automation_protocol_1 = require("../common/browser-automation-protocol");
10
+ let BrowserAutomationToolProvider = class BrowserAutomationToolProvider {
11
+ };
12
+ exports.BrowserAutomationToolProvider = BrowserAutomationToolProvider;
13
+ tslib_1.__decorate([
14
+ (0, inversify_1.inject)(browser_automation_protocol_1.BrowserAutomation),
15
+ tslib_1.__metadata("design:type", Object)
16
+ ], BrowserAutomationToolProvider.prototype, "browser", void 0);
17
+ exports.BrowserAutomationToolProvider = BrowserAutomationToolProvider = tslib_1.__decorate([
18
+ (0, inversify_1.injectable)()
19
+ ], BrowserAutomationToolProvider);
20
+ let LaunchBrowserProvider = LaunchBrowserProvider_1 = class LaunchBrowserProvider extends BrowserAutomationToolProvider {
21
+ getTool() {
22
+ return {
23
+ id: LaunchBrowserProvider_1.ID,
24
+ name: LaunchBrowserProvider_1.ID,
25
+ description: 'Start the browser.',
26
+ parameters: {
27
+ type: 'object',
28
+ properties: {},
29
+ required: []
30
+ }, handler: async () => {
31
+ var _a, _b;
32
+ try {
33
+ const mcp = await this.mcpServerManager.getServerDescription('playwright');
34
+ if (!mcp) {
35
+ throw new Error('No MCP Playwright instance with name playwright found');
36
+ }
37
+ if (!(0, common_1.isLocalMCPServerDescription)(mcp)) {
38
+ throw new Error('The MCP Playwright instance must run locally.');
39
+ }
40
+ const cdpEndpointIndex = (_a = mcp.args) === null || _a === void 0 ? void 0 : _a.findIndex(p => p === '--cdp-endpoint');
41
+ if (!cdpEndpointIndex) {
42
+ throw new Error('No --cdp-endpoint was provided.');
43
+ }
44
+ const cdpEndpoint = (_b = mcp.args) === null || _b === void 0 ? void 0 : _b[cdpEndpointIndex + 1];
45
+ if (!cdpEndpoint) {
46
+ throw new Error('No --cdp-endpoint argument was provided.');
47
+ }
48
+ let remoteDebuggingPort = 9222;
49
+ try {
50
+ const uri = new URL(cdpEndpoint);
51
+ if (uri.port) {
52
+ remoteDebuggingPort = parseInt(uri.port, 10);
53
+ }
54
+ else {
55
+ // Default ports if not specified
56
+ remoteDebuggingPort = uri.protocol === 'https:' ? 443 : 80;
57
+ }
58
+ }
59
+ catch (error) {
60
+ throw new Error(`Invalid --cdp-endpoint format, URL expected: ${cdpEndpoint}`);
61
+ }
62
+ const result = await this.browser.launch(remoteDebuggingPort);
63
+ return result;
64
+ }
65
+ catch (ex) {
66
+ return (`Failed to starting the browser: ${ex.message}`);
67
+ }
68
+ }
69
+ };
70
+ }
71
+ };
72
+ exports.LaunchBrowserProvider = LaunchBrowserProvider;
73
+ LaunchBrowserProvider.ID = app_tester_chat_functions_1.LAUNCH_BROWSER_FUNCTION_ID;
74
+ tslib_1.__decorate([
75
+ (0, inversify_1.inject)(common_1.MCPServerManager),
76
+ tslib_1.__metadata("design:type", Object)
77
+ ], LaunchBrowserProvider.prototype, "mcpServerManager", void 0);
78
+ exports.LaunchBrowserProvider = LaunchBrowserProvider = LaunchBrowserProvider_1 = tslib_1.__decorate([
79
+ (0, inversify_1.injectable)()
80
+ ], LaunchBrowserProvider);
81
+ let CloseBrowserProvider = CloseBrowserProvider_1 = class CloseBrowserProvider extends BrowserAutomationToolProvider {
82
+ getTool() {
83
+ return {
84
+ id: CloseBrowserProvider_1.ID,
85
+ name: CloseBrowserProvider_1.ID,
86
+ description: 'Close the browser.',
87
+ parameters: {
88
+ type: 'object',
89
+ properties: {},
90
+ required: []
91
+ },
92
+ handler: async () => {
93
+ try {
94
+ await this.browser.close();
95
+ }
96
+ catch (ex) {
97
+ return (`Failed to close browser: ${ex.message}`);
98
+ }
99
+ }
100
+ };
101
+ }
102
+ };
103
+ exports.CloseBrowserProvider = CloseBrowserProvider;
104
+ CloseBrowserProvider.ID = app_tester_chat_functions_1.CLOSE_BROWSER_FUNCTION_ID;
105
+ exports.CloseBrowserProvider = CloseBrowserProvider = CloseBrowserProvider_1 = tslib_1.__decorate([
106
+ (0, inversify_1.injectable)()
107
+ ], CloseBrowserProvider);
108
+ let IsBrowserRunningProvider = IsBrowserRunningProvider_1 = class IsBrowserRunningProvider extends BrowserAutomationToolProvider {
109
+ getTool() {
110
+ return {
111
+ id: IsBrowserRunningProvider_1.ID,
112
+ name: IsBrowserRunningProvider_1.ID,
113
+ description: 'Check if the browser is running.',
114
+ parameters: {
115
+ type: 'object',
116
+ properties: {},
117
+ required: []
118
+ },
119
+ handler: async () => {
120
+ try {
121
+ const isRunning = await this.browser.isRunning();
122
+ return isRunning ? 'Browser is running.' : 'Browser is not running.';
123
+ }
124
+ catch (ex) {
125
+ return (`Failed to check if browser is running: ${ex.message}`);
126
+ }
127
+ }
128
+ };
129
+ }
130
+ };
131
+ exports.IsBrowserRunningProvider = IsBrowserRunningProvider;
132
+ IsBrowserRunningProvider.ID = app_tester_chat_functions_1.IS_BROWSER_RUNNING_FUNCTION_ID;
133
+ exports.IsBrowserRunningProvider = IsBrowserRunningProvider = IsBrowserRunningProvider_1 = tslib_1.__decorate([
134
+ (0, inversify_1.injectable)()
135
+ ], IsBrowserRunningProvider);
136
+ let QueryDomProvider = QueryDomProvider_1 = class QueryDomProvider extends BrowserAutomationToolProvider {
137
+ getTool() {
138
+ return {
139
+ id: QueryDomProvider_1.ID,
140
+ name: QueryDomProvider_1.ID,
141
+ description: 'Query the DOM of the active page.',
142
+ parameters: {
143
+ type: 'object',
144
+ properties: {
145
+ selector: {
146
+ type: 'string',
147
+ description: `The selector of the element to get the DOM of. The selector is a
148
+ CSS selector that identifies the element. If not provided, the entire DOM will be returned.`
149
+ }
150
+ },
151
+ required: []
152
+ },
153
+ handler: async (arg) => {
154
+ try {
155
+ const { selector } = JSON.parse(arg);
156
+ return await this.browser.queryDom(selector);
157
+ }
158
+ catch (ex) {
159
+ return (`Failed to get DOM: ${ex.message}`);
160
+ }
161
+ }
162
+ };
163
+ }
164
+ };
165
+ exports.QueryDomProvider = QueryDomProvider;
166
+ QueryDomProvider.ID = app_tester_chat_functions_1.QUERY_DOM_FUNCTION_ID;
167
+ exports.QueryDomProvider = QueryDomProvider = QueryDomProvider_1 = tslib_1.__decorate([
168
+ (0, inversify_1.injectable)()
169
+ ], QueryDomProvider);
170
+ //# sourceMappingURL=app-tester-chat-functions.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"app-tester-chat-functions.js","sourceRoot":"","sources":["../../src/browser/app-tester-chat-functions.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"frontend-module.d.ts","sourceRoot":"","sources":["../../src/browser/frontend-module.ts"],"names":[],"mappings":"AAgBA,OAAO,mCAAmC,CAAC;AAE3C,OAAO,EAAE,eAAe,EAAE,MAAM,8BAA8B,CAAC;;AA+C/D,wBA4HG"}
1
+ {"version":3,"file":"frontend-module.d.ts","sourceRoot":"","sources":["../../src/browser/frontend-module.ts"],"names":[],"mappings":"AAgBA,OAAO,mCAAmC,CAAC;AAE3C,OAAO,EAAE,eAAe,EAAE,MAAM,8BAA8B,CAAC;;AAwD/D,wBAqIG"}
@@ -52,6 +52,8 @@ const task_context_file_storage_service_1 = require("./task-context-file-storage
52
52
  const task_context_service_1 = require("@theia/ai-chat/lib/browser/task-context-service");
53
53
  const core_1 = require("@theia/core");
54
54
  const prompt_fragments_configuration_widget_1 = require("./ai-configuration/prompt-fragments-configuration-widget");
55
+ const browser_automation_protocol_1 = require("../common/browser-automation-protocol");
56
+ const app_tester_chat_functions_1 = require("./app-tester-chat-functions");
55
57
  exports.default = new inversify_1.ContainerModule((bind, _unbind, _isBound, rebind) => {
56
58
  bind(browser_1.PreferenceContribution).toConstantValue({ schema: workspace_preferences_1.WorkspacePreferencesSchema });
57
59
  bind(architect_agent_1.ArchitectAgent).toSelf().inSingletonScope();
@@ -69,6 +71,10 @@ exports.default = new inversify_1.ContainerModule((bind, _unbind, _isBound, rebi
69
71
  bind(app_tester_chat_agent_1.AppTesterChatAgent).toSelf().inSingletonScope();
70
72
  bind(common_2.Agent).toService(app_tester_chat_agent_1.AppTesterChatAgent);
71
73
  bind(common_1.ChatAgent).toService(app_tester_chat_agent_1.AppTesterChatAgent);
74
+ bind(browser_automation_protocol_1.BrowserAutomation).toDynamicValue(ctx => {
75
+ const provider = ctx.container.get(browser_1.RemoteConnectionProvider);
76
+ return provider.createProxy(browser_automation_protocol_1.browserAutomationPath);
77
+ }).inSingletonScope();
72
78
  bind(command_chat_agents_1.CommandChatAgent).toSelf().inSingletonScope();
73
79
  bind(common_2.Agent).toService(command_chat_agents_1.CommandChatAgent);
74
80
  bind(common_1.ChatAgent).toService(command_chat_agents_1.CommandChatAgent);
@@ -98,6 +104,10 @@ exports.default = new inversify_1.ContainerModule((bind, _unbind, _isBound, rebi
98
104
  createWidget: () => ctx.container.get(ai_configuration_widget_1.AIConfigurationContainerWidget)
99
105
  }))
100
106
  .inSingletonScope();
107
+ (0, common_2.bindToolProvider)(app_tester_chat_functions_1.LaunchBrowserProvider, bind);
108
+ (0, common_2.bindToolProvider)(app_tester_chat_functions_1.CloseBrowserProvider, bind);
109
+ (0, common_2.bindToolProvider)(app_tester_chat_functions_1.IsBrowserRunningProvider, bind);
110
+ (0, common_2.bindToolProvider)(app_tester_chat_functions_1.QueryDomProvider, bind);
101
111
  (0, browser_1.bindViewContribution)(bind, ai_configuration_view_contribution_1.AIAgentConfigurationViewContribution);
102
112
  bind(tab_bar_toolbar_1.TabBarToolbarContribution).toService(ai_configuration_view_contribution_1.AIAgentConfigurationViewContribution);
103
113
  bind(variable_configuration_widget_1.AIVariableConfigurationWidget).toSelf();
@@ -1 +1 @@
1
- {"version":3,"file":"frontend-module.js","sourceRoot":"","sources":["../../src/browser/frontend-module.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"frontend-module.js","sourceRoot":"","sources":["../../src/browser/frontend-module.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,5 @@
1
+ export declare const LAUNCH_BROWSER_FUNCTION_ID = "launchBrowser";
2
+ export declare const IS_BROWSER_RUNNING_FUNCTION_ID = "isBrowserRunning";
3
+ export declare const CLOSE_BROWSER_FUNCTION_ID = "closeBrowser";
4
+ export declare const QUERY_DOM_FUNCTION_ID = "queryDom";
5
+ //# sourceMappingURL=app-tester-chat-functions.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"app-tester-chat-functions.d.ts","sourceRoot":"","sources":["../../src/common/app-tester-chat-functions.ts"],"names":[],"mappings":"AAgBA,eAAO,MAAM,0BAA0B,kBAAkB,CAAC;AAC1D,eAAO,MAAM,8BAA8B,qBAAqB,CAAC;AACjE,eAAO,MAAM,yBAAyB,iBAAiB,CAAC;AACxD,eAAO,MAAM,qBAAqB,aAAa,CAAC"}
@@ -0,0 +1,23 @@
1
+ "use strict";
2
+ // *****************************************************************************
3
+ // Copyright (C) 2025 EclipseSource GmbH.
4
+ //
5
+ // This program and the accompanying materials are made available under the
6
+ // terms of the Eclipse Public License v. 2.0 which is available at
7
+ // http://www.eclipse.org/legal/epl-2.0.
8
+ //
9
+ // This Source Code may also be made available under the following Secondary
10
+ // Licenses when the conditions for such availability set forth in the Eclipse
11
+ // Public License v. 2.0 are satisfied: GNU General Public License, version 2
12
+ // with the GNU Classpath Exception which is available at
13
+ // https://www.gnu.org/software/classpath/license.html.
14
+ //
15
+ // SPDX-License-Identifier: EPL-2.0 OR GPL-2.0-only WITH Classpath-exception-2.0
16
+ // *****************************************************************************
17
+ Object.defineProperty(exports, "__esModule", { value: true });
18
+ exports.QUERY_DOM_FUNCTION_ID = exports.CLOSE_BROWSER_FUNCTION_ID = exports.IS_BROWSER_RUNNING_FUNCTION_ID = exports.LAUNCH_BROWSER_FUNCTION_ID = void 0;
19
+ exports.LAUNCH_BROWSER_FUNCTION_ID = 'launchBrowser';
20
+ exports.IS_BROWSER_RUNNING_FUNCTION_ID = 'isBrowserRunning';
21
+ exports.CLOSE_BROWSER_FUNCTION_ID = 'closeBrowser';
22
+ exports.QUERY_DOM_FUNCTION_ID = 'queryDom';
23
+ //# sourceMappingURL=app-tester-chat-functions.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"app-tester-chat-functions.js","sourceRoot":"","sources":["../../src/common/app-tester-chat-functions.ts"],"names":[],"mappings":";AAAA,gFAAgF;AAChF,yCAAyC;AACzC,EAAE;AACF,2EAA2E;AAC3E,mEAAmE;AACnE,wCAAwC;AACxC,EAAE;AACF,4EAA4E;AAC5E,8EAA8E;AAC9E,6EAA6E;AAC7E,yDAAyD;AACzD,uDAAuD;AACvD,EAAE;AACF,gFAAgF;AAChF,gFAAgF;;;AAEnE,QAAA,0BAA0B,GAAG,eAAe,CAAC;AAC7C,QAAA,8BAA8B,GAAG,kBAAkB,CAAC;AACpD,QAAA,yBAAyB,GAAG,cAAc,CAAC;AAC3C,QAAA,qBAAqB,GAAG,UAAU,CAAC"}
@@ -0,0 +1,15 @@
1
+ export declare const browserAutomationPath = "/services/automation/browser";
2
+ export declare const BrowserAutomation: unique symbol;
3
+ export interface BrowserAutomation {
4
+ launch(remoteDebuggingPort: number): Promise<LaunchResult | undefined>;
5
+ isRunning(): Promise<boolean>;
6
+ queryDom(selector?: string): Promise<string>;
7
+ close(): Promise<void>;
8
+ }
9
+ export interface LaunchResult {
10
+ remoteDebuggingPort: number;
11
+ }
12
+ export declare const BrowserAutomationClient: unique symbol;
13
+ export interface BrowserAutomationClient {
14
+ }
15
+ //# sourceMappingURL=browser-automation-protocol.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"browser-automation-protocol.d.ts","sourceRoot":"","sources":["../../src/common/browser-automation-protocol.ts"],"names":[],"mappings":"AAgBA,eAAO,MAAM,qBAAqB,iCAAiC,CAAC;AACpE,eAAO,MAAM,iBAAiB,eAA8B,CAAC;AAC7D,MAAM,WAAW,iBAAiB;IAC9B,MAAM,CAAC,mBAAmB,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,GAAG,SAAS,CAAC,CAAC;IACvE,SAAS,IAAI,OAAO,CAAC,OAAO,CAAC,CAAC;IAC9B,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;IAC7C,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;CAC1B;AAED,MAAM,WAAW,YAAY;IACzB,mBAAmB,EAAE,MAAM,CAAC;CAC/B;AAED,eAAO,MAAM,uBAAuB,eAAoC,CAAC;AACzE,MAAM,WAAW,uBAAuB;CACvC"}
@@ -0,0 +1,22 @@
1
+ "use strict";
2
+ // *****************************************************************************
3
+ // Copyright (C) 2025 EclipseSource GmbH.
4
+ //
5
+ // This program and the accompanying materials are made available under the
6
+ // terms of the Eclipse Public License v. 2.0 which is available at
7
+ // http://www.eclipse.org/legal/epl-2.0.
8
+ //
9
+ // This Source Code may also be made available under the following Secondary
10
+ // Licenses when the conditions for such availability set forth in the Eclipse
11
+ // Public License v. 2.0 are satisfied: GNU General Public License, version 2
12
+ // with the GNU Classpath Exception which is available at
13
+ // https://www.gnu.org/software/classpath/license.html.
14
+ //
15
+ // SPDX-License-Identifier: EPL-2.0 OR GPL-2.0-only WITH Classpath-exception-2.0
16
+ // *****************************************************************************
17
+ Object.defineProperty(exports, "__esModule", { value: true });
18
+ exports.BrowserAutomationClient = exports.BrowserAutomation = exports.browserAutomationPath = void 0;
19
+ exports.browserAutomationPath = '/services/automation/browser';
20
+ exports.BrowserAutomation = Symbol('BrowserAutomation');
21
+ exports.BrowserAutomationClient = Symbol('BrowserAutomationClient');
22
+ //# sourceMappingURL=browser-automation-protocol.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"browser-automation-protocol.js","sourceRoot":"","sources":["../../src/common/browser-automation-protocol.ts"],"names":[],"mappings":";AAAA,gFAAgF;AAChF,yCAAyC;AACzC,EAAE;AACF,2EAA2E;AAC3E,mEAAmE;AACnE,wCAAwC;AACxC,EAAE;AACF,4EAA4E;AAC5E,8EAA8E;AAC9E,6EAA6E;AAC7E,yDAAyD;AACzD,uDAAuD;AACvD,EAAE;AACF,gFAAgF;AAChF,gFAAgF;;;AAEnE,QAAA,qBAAqB,GAAG,8BAA8B,CAAC;AACvD,QAAA,iBAAiB,GAAG,MAAM,CAAC,mBAAmB,CAAC,CAAC;AAYhD,QAAA,uBAAuB,GAAG,MAAM,CAAC,yBAAyB,CAAC,CAAC"}
@@ -0,0 +1,18 @@
1
+ import { type RpcServer } from '@theia/core';
2
+ import { Browser, Page } from 'puppeteer-core';
3
+ import type { BrowserAutomation, BrowserAutomationClient, LaunchResult } from '../../common/browser-automation-protocol';
4
+ export declare class BrowserAutomationImpl implements RpcServer<BrowserAutomationClient>, BrowserAutomation {
5
+ protected _browser?: Browser;
6
+ protected _page?: Page;
7
+ protected client?: BrowserAutomationClient;
8
+ protected get browser(): Browser;
9
+ protected get page(): Page;
10
+ isRunning(): Promise<boolean>;
11
+ launch(remoteDebuggingPort: number): Promise<LaunchResult | undefined>;
12
+ close(): Promise<void>;
13
+ queryDom(selector?: string): Promise<string>;
14
+ dispose(): void;
15
+ setClient(client: BrowserAutomationClient | undefined): void;
16
+ getClient?(): BrowserAutomationClient | undefined;
17
+ }
18
+ //# sourceMappingURL=browser-automation-impl.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"browser-automation-impl.d.ts","sourceRoot":"","sources":["../../../src/node/app-tester-agent/browser-automation-impl.ts"],"names":[],"mappings":"AAgBA,OAAO,EAAE,KAAK,SAAS,EAAE,MAAM,aAAa,CAAC;AAE7C,OAAO,EAAE,OAAO,EAAU,IAAI,EAAE,MAAM,gBAAgB,CAAC;AACvD,OAAO,KAAK,EAAE,iBAAiB,EAAE,uBAAuB,EAAE,YAAY,EAAE,MAAM,0CAA0C,CAAC;AAIzH,qBACa,qBAAsB,YAAW,SAAS,CAAC,uBAAuB,CAAC,EAAE,iBAAiB;IAC/F,SAAS,CAAC,QAAQ,CAAC,EAAE,OAAO,CAAC;IAC7B,SAAS,CAAC,KAAK,CAAC,EAAE,IAAI,CAAC;IACvB,SAAS,CAAC,MAAM,CAAC,EAAE,uBAAuB,CAAC;IAE3C,SAAS,KAAK,OAAO,IAAI,OAAO,CAK/B;IAED,SAAS,KAAK,IAAI,IAAI,IAAI,CAKzB;IAEK,SAAS,IAAI,OAAO,CAAC,OAAO,CAAC;IAI7B,MAAM,CAAC,mBAAmB,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,GAAG,SAAS,CAAC;IAoBtE,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAKtB,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAqBlD,OAAO,IAAI,IAAI;IAKf,SAAS,CAAC,MAAM,EAAE,uBAAuB,GAAG,SAAS,GAAG,IAAI;IAI5D,SAAS,CAAC,IAAI,uBAAuB,GAAG,SAAS;CAIpD"}
@@ -0,0 +1,96 @@
1
+ "use strict";
2
+ // *****************************************************************************
3
+ // Copyright (C) 2025 EclipseSource GmbH.
4
+ //
5
+ // This program and the accompanying materials are made available under the
6
+ // terms of the Eclipse Public License v. 2.0 which is available at
7
+ // http://www.eclipse.org/legal/epl-2.0.
8
+ //
9
+ // This Source Code may also be made available under the following Secondary
10
+ // Licenses when the conditions for such availability set forth in the Eclipse
11
+ // Public License v. 2.0 are satisfied: GNU General Public License, version 2
12
+ // with the GNU Classpath Exception which is available at
13
+ // https://www.gnu.org/software/classpath/license.html.
14
+ //
15
+ // SPDX-License-Identifier: EPL-2.0 OR GPL-2.0-only WITH Classpath-exception-2.0
16
+ // *****************************************************************************
17
+ Object.defineProperty(exports, "__esModule", { value: true });
18
+ exports.BrowserAutomationImpl = void 0;
19
+ const tslib_1 = require("tslib");
20
+ const inversify_1 = require("@theia/core/shared/inversify");
21
+ const puppeteer_core_1 = require("puppeteer-core");
22
+ const MAX_DOM_LENGTH = 50000;
23
+ let BrowserAutomationImpl = class BrowserAutomationImpl {
24
+ get browser() {
25
+ if (!this._browser) {
26
+ throw new Error('Browser is not launched');
27
+ }
28
+ return this._browser;
29
+ }
30
+ get page() {
31
+ if (!this._page) {
32
+ throw new Error('Page is not created');
33
+ }
34
+ return this._page;
35
+ }
36
+ async isRunning() {
37
+ return this._browser !== undefined && this._browser.connected;
38
+ }
39
+ async launch(remoteDebuggingPort) {
40
+ if (this._browser) {
41
+ await this.close();
42
+ }
43
+ const browser = await (0, puppeteer_core_1.launch)({
44
+ headless: false,
45
+ channel: 'chrome',
46
+ args: [
47
+ `--remote-debugging-port=${remoteDebuggingPort}`
48
+ ],
49
+ });
50
+ this._browser = browser;
51
+ // The initial page will be used per default
52
+ this._page = (await browser.pages())[0];
53
+ return {
54
+ remoteDebuggingPort
55
+ };
56
+ }
57
+ async close() {
58
+ var _a;
59
+ await ((_a = this._browser) === null || _a === void 0 ? void 0 : _a.close());
60
+ this._browser = undefined;
61
+ }
62
+ async queryDom(selector) {
63
+ const page = this.page;
64
+ let content = '';
65
+ if (selector) {
66
+ const element = await page.$(selector);
67
+ if (!element) {
68
+ throw new Error(`Element with selector "${selector}" not found`);
69
+ }
70
+ content = await page.evaluate(el => el.outerHTML, element);
71
+ }
72
+ else {
73
+ content = await page.content();
74
+ }
75
+ if (content.length > MAX_DOM_LENGTH) {
76
+ return 'The queried DOM is too large. Please provide a more specific query.';
77
+ }
78
+ return content;
79
+ }
80
+ dispose() {
81
+ var _a;
82
+ (_a = this._browser) === null || _a === void 0 ? void 0 : _a.close();
83
+ this._browser = undefined;
84
+ }
85
+ setClient(client) {
86
+ this.client = client;
87
+ }
88
+ getClient() {
89
+ return this.client;
90
+ }
91
+ };
92
+ exports.BrowserAutomationImpl = BrowserAutomationImpl;
93
+ exports.BrowserAutomationImpl = BrowserAutomationImpl = tslib_1.__decorate([
94
+ (0, inversify_1.injectable)()
95
+ ], BrowserAutomationImpl);
96
+ //# sourceMappingURL=browser-automation-impl.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"browser-automation-impl.js","sourceRoot":"","sources":["../../../src/node/app-tester-agent/browser-automation-impl.ts"],"names":[],"mappings":"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"}