@theia/ai-ide 1.64.0-next.0 → 1.64.0-next.28

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 (49) hide show
  1. package/lib/browser/ai-configuration/agent-configuration-widget.d.ts.map +1 -1
  2. package/lib/browser/ai-configuration/agent-configuration-widget.js +1 -1
  3. package/lib/browser/ai-configuration/agent-configuration-widget.js.map +1 -1
  4. package/lib/browser/ai-configuration/mcp-configuration-widget.d.ts +1 -0
  5. package/lib/browser/ai-configuration/mcp-configuration-widget.d.ts.map +1 -1
  6. package/lib/browser/ai-configuration/mcp-configuration-widget.js +12 -0
  7. package/lib/browser/ai-configuration/mcp-configuration-widget.js.map +1 -1
  8. package/lib/browser/ai-configuration/template-settings-renderer.d.ts +1 -2
  9. package/lib/browser/ai-configuration/template-settings-renderer.d.ts.map +1 -1
  10. package/lib/browser/ai-configuration/template-settings-renderer.js +5 -3
  11. package/lib/browser/ai-configuration/template-settings-renderer.js.map +1 -1
  12. package/lib/browser/app-tester-chat-agent.d.ts +1 -1
  13. package/lib/browser/app-tester-chat-agent.d.ts.map +1 -1
  14. package/lib/browser/app-tester-chat-agent.js +32 -10
  15. package/lib/browser/app-tester-chat-agent.js.map +1 -1
  16. package/lib/browser/app-tester-chat-functions.d.ts +25 -0
  17. package/lib/browser/app-tester-chat-functions.d.ts.map +1 -0
  18. package/lib/browser/app-tester-chat-functions.js +170 -0
  19. package/lib/browser/app-tester-chat-functions.js.map +1 -0
  20. package/lib/browser/frontend-module.d.ts.map +1 -1
  21. package/lib/browser/frontend-module.js +10 -0
  22. package/lib/browser/frontend-module.js.map +1 -1
  23. package/lib/common/app-tester-chat-functions.d.ts +5 -0
  24. package/lib/common/app-tester-chat-functions.d.ts.map +1 -0
  25. package/lib/common/app-tester-chat-functions.js +23 -0
  26. package/lib/common/app-tester-chat-functions.js.map +1 -0
  27. package/lib/common/browser-automation-protocol.d.ts +15 -0
  28. package/lib/common/browser-automation-protocol.d.ts.map +1 -0
  29. package/lib/common/browser-automation-protocol.js +22 -0
  30. package/lib/common/browser-automation-protocol.js.map +1 -0
  31. package/lib/node/app-tester-agent/browser-automation-impl.d.ts +18 -0
  32. package/lib/node/app-tester-agent/browser-automation-impl.d.ts.map +1 -0
  33. package/lib/node/app-tester-agent/browser-automation-impl.js +96 -0
  34. package/lib/node/app-tester-agent/browser-automation-impl.js.map +1 -0
  35. package/lib/node/backend-module.d.ts +4 -0
  36. package/lib/node/backend-module.d.ts.map +1 -0
  37. package/lib/node/backend-module.js +35 -0
  38. package/lib/node/backend-module.js.map +1 -0
  39. package/package.json +21 -19
  40. package/src/browser/ai-configuration/agent-configuration-widget.tsx +0 -1
  41. package/src/browser/ai-configuration/mcp-configuration-widget.tsx +20 -0
  42. package/src/browser/ai-configuration/template-settings-renderer.tsx +5 -5
  43. package/src/browser/app-tester-chat-agent.ts +135 -111
  44. package/src/browser/app-tester-chat-functions.ts +170 -0
  45. package/src/browser/frontend-module.ts +19 -1
  46. package/src/common/app-tester-chat-functions.ts +20 -0
  47. package/src/common/browser-automation-protocol.ts +32 -0
  48. package/src/node/app-tester-agent/browser-automation-impl.ts +107 -0
  49. package/src/node/backend-module.ts +38 -0
@@ -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":";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;;AAEhF,6CAA2C;AAE3C,4DAA+D;AAC/D,sDAA+F;AAC/F,sDAA4F;AAC5F,uDAAmD;AACnD,+CAA2C;AAC3C,qGAA+F;AAC/F,+DAAkK;AAClK,2EAAsE;AACtE,qDAAuI;AACvI,uEAAiF;AACjF,mEAAqE;AACrE,yEAUoC;AACpC,+EAAmG;AACnG,yEAA0F;AAC1F,mEAA6D;AAC7D,uEAAiE;AACjE,2DAAgG;AAChG,8FAA2F;AAC3F,0FAA8F;AAC9F,8GAA6G;AAC7G,wFAA4F;AAC5F,oGAAiG;AACjG,6EAAoF;AACpF,8FAA2F;AAC3F,mFAA0F;AAC1F,kGAA6F;AAC7F,yFAAoF;AACpF,0FAAuF;AACvF,iFAA0F;AAC1F,2FAAoF;AACpF,0GAAsG;AACtG,yFAA4F;AAC5F,2FAAoF;AACpF,0FAA4F;AAC5F,sCAAkD;AAClD,oHAAgH;AAEhH,kBAAe,IAAI,2BAAe,CAAC,CAAC,IAAI,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,EAAE;IACnE,IAAI,CAAC,gCAAsB,CAAC,CAAC,eAAe,CAAC,EAAE,MAAM,EAAE,kDAA0B,EAAE,CAAC,CAAC;IAErF,IAAI,CAAC,gCAAc,CAAC,CAAC,MAAM,EAAE,CAAC,gBAAgB,EAAE,CAAC;IACjD,IAAI,CAAC,cAAK,CAAC,CAAC,SAAS,CAAC,gCAAc,CAAC,CAAC;IACtC,IAAI,CAAC,kBAAS,CAAC,CAAC,SAAS,CAAC,gCAAc,CAAC,CAAC;IAE1C,IAAI,CAAC,wBAAU,CAAC,CAAC,MAAM,EAAE,CAAC,gBAAgB,EAAE,CAAC;IAC7C,IAAI,CAAC,cAAK,CAAC,CAAC,SAAS,CAAC,wBAAU,CAAC,CAAC;IAClC,IAAI,CAAC,kBAAS,CAAC,CAAC,SAAS,CAAC,wBAAU,CAAC,CAAC;IAEtC,IAAI,CAAC,+CAAqB,CAAC,CAAC,MAAM,EAAE,CAAC,gBAAgB,EAAE,CAAC;IACxD,IAAI,CAAC,cAAK,CAAC,CAAC,SAAS,CAAC,+CAAqB,CAAC,CAAC;IAC7C,IAAI,CAAC,kBAAS,CAAC,CAAC,SAAS,CAAC,+CAAqB,CAAC,CAAC;IAEjD,IAAI,CAAC,yCAAkB,CAAC,CAAC,MAAM,EAAE,CAAC,gBAAgB,EAAE,CAAC;IACrD,IAAI,CAAC,cAAK,CAAC,CAAC,SAAS,CAAC,yCAAkB,CAAC,CAAC;IAC1C,IAAI,CAAC,kBAAS,CAAC,CAAC,SAAS,CAAC,yCAAkB,CAAC,CAAC;IAE9C,IAAI,CAAC,0CAAkB,CAAC,CAAC,MAAM,EAAE,CAAC,gBAAgB,EAAE,CAAC;IACrD,IAAI,CAAC,cAAK,CAAC,CAAC,SAAS,CAAC,0CAAkB,CAAC,CAAC;IAC1C,IAAI,CAAC,kBAAS,CAAC,CAAC,SAAS,CAAC,0CAAkB,CAAC,CAAC;IAE9C,IAAI,CAAC,sCAAgB,CAAC,CAAC,MAAM,EAAE,CAAC,gBAAgB,EAAE,CAAC;IACnD,IAAI,CAAC,cAAK,CAAC,CAAC,SAAS,CAAC,sCAAgB,CAAC,CAAC;IACxC,IAAI,CAAC,kBAAS,CAAC,CAAC,SAAS,CAAC,sCAAgB,CAAC,CAAC;IAE5C,IAAI,CAAC,2BAAkB,CAAC,CAAC,eAAe,CAAC,EAAE,EAAE,EAAE,iDAAuB,EAAE,CAAC,CAAC;IAC1E,IAAI,CAAC,4BAAmB,CAAC,CAAC,eAAe,CAAC,EAAE,EAAE,EAAE,2CAAoB,EAAE,CAAC,CAAC;IAExE,IAAI,CAAC,2CAA0B,CAAC,CAAC,EAAE,CAAC,iEAA6B,CAAC,CAAC;IAEnE,IAAA,yBAAgB,EAAC,0CAAoB,EAAE,IAAI,CAAC,CAAC;IAC7C,IAAA,yBAAgB,EAAC,yCAAmB,EAAE,IAAI,CAAC,CAAC;IAC5C,IAAA,yBAAgB,EAAC,oDAA8B,EAAE,IAAI,CAAC,CAAC;IACvD,IAAA,yBAAgB,EAAC,4CAAsB,EAAE,IAAI,CAAC,CAAC;IAC/C,IAAI,CAAC,4CAAsB,CAAC,CAAC,MAAM,EAAE,CAAC,gBAAgB,EAAE,CAAC;IACzD,IAAA,yBAAgB,EAAC,mDAAuB,EAAE,IAAI,CAAC,CAAC;IAEhD,IAAA,yBAAgB,EAAC,6CAAkB,EAAE,IAAI,CAAC,CAAC;IAC3C,IAAA,yBAAgB,EAAC,2CAAgB,EAAE,IAAI,CAAC,CAAC;IACzC,IAAA,yBAAgB,EAAC,0CAAgB,EAAE,IAAI,CAAC,CAAC;IACzC,IAAA,yBAAgB,EAAC,4CAAkB,EAAE,IAAI,CAAC,CAAC;IAC3C,IAAI,CAAC,6DAAkC,CAAC,CAAC,MAAM,EAAE,CAAC,gBAAgB,EAAE,CAAC;IACrE,IAAA,yBAAgB,EAAC,kDAAuB,EAAE,IAAI,CAAC,CAAC;IAChD,IAAA,yBAAgB,EAAC,gDAAqB,EAAE,IAAI,CAAC,CAAC;IAC9C,IAAA,yBAAgB,EAAC,mCAAe,EAAE,IAAI,CAAC,CAAC;IACxC,IAAA,yBAAgB,EAAC,sCAAkB,EAAE,IAAI,CAAC,CAAC;IAC3C,IAAI,CAAC,0DAA+B,CAAC,CAAC,MAAM,EAAE,CAAC,gBAAgB,EAAE,CAAC;IAClE,IAAI,CAAC,wDAA8B,CAAC,CAAC,MAAM,EAAE,CAAC;IAC9C,IAAI,CAAC,uBAAa,CAAC;SACd,cAAc,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QACpB,EAAE,EAAE,wDAA8B,CAAC,EAAE;QACrC,YAAY,EAAE,GAAG,EAAE,CAAC,GAAG,CAAC,SAAS,CAAC,GAAG,CAAC,wDAA8B,CAAC;KACxE,CAAC,CAAC;SACF,gBAAgB,EAAE,CAAC;IAExB,IAAA,8BAAoB,EAAC,IAAI,EAAE,yEAAoC,CAAC,CAAC;IACjE,IAAI,CAAC,2CAAyB,CAAC,CAAC,SAAS,CAAC,yEAAoC,CAAC,CAAC;IAEhF,IAAI,CAAC,6DAA6B,CAAC,CAAC,MAAM,EAAE,CAAC;IAC7C,IAAI,CAAC,uBAAa,CAAC;SACd,cAAc,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QACpB,EAAE,EAAE,6DAA6B,CAAC,EAAE;QACpC,YAAY,EAAE,GAAG,EAAE,CAAC,GAAG,CAAC,SAAS,CAAC,GAAG,CAAC,6DAA6B,CAAC;KACvE,CAAC,CAAC;SACF,gBAAgB,EAAE,CAAC;IAExB,IAAI,CAAC,uDAA0B,CAAC,CAAC,MAAM,EAAE,CAAC;IAC1C,IAAI,CAAC,uBAAa,CAAC;SACd,cAAc,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QACpB,EAAE,EAAE,uDAA0B,CAAC,EAAE;QACjC,YAAY,EAAE,GAAG,EAAE,CAAC,GAAG,CAAC,SAAS,CAAC,GAAG,CAAC,uDAA0B,CAAC;KACpE,CAAC,CAAC;SACF,gBAAgB,EAAE,CAAC;IAExB,IAAA,yBAAgB,EAAC,wDAA6B,EAAE,IAAI,CAAC,CAAC;IACtD,IAAA,yBAAgB,EAAC,sDAA2B,EAAE,IAAI,CAAC,CAAC;IACpD,IAAA,yBAAgB,EAAC,2CAAgB,EAAE,IAAI,CAAC,CAAC;IACzC,IAAA,yBAAgB,EAAC,+CAAoB,EAAE,IAAI,CAAC,CAAC;IAC7C,IAAA,yBAAgB,EAAC,wCAAoB,EAAE,IAAI,CAAC,CAAC;IAE7C,IAAI,CAAC,uDAA0B,CAAC,CAAC,MAAM,EAAE,CAAC;IAC1C,IAAI,CAAC,uBAAa,CAAC;SACd,cAAc,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QACpB,EAAE,EAAE,uDAA0B,CAAC,EAAE;QACjC,YAAY,EAAE,GAAG,EAAE,CAAC,GAAG,CAAC,SAAS,CAAC,GAAG,CAAC,uDAA0B,CAAC;KACpE,CAAC,CAAC;SACF,gBAAgB,EAAE,CAAC;IAExB,IAAI,CAAC,+BAAsB,CAAC,CAAC,EAAE,CAAC,yDAAgC,CAAC,CAAC,gBAAgB,EAAE,CAAC;IACrF,IAAI,CAAC,gCAAsB,CAAC,CAAC,eAAe,CAAC,EAAE,MAAM,EAAE,yDAA0B,EAAE,CAAC,CAAC;IAErF,IAAI,CAAC,yCAA+B,CAAC,CAAC,EAAE,CAAC,iEAA8B,CAAC,CAAC;IAEzE,IAAI,CAAC,mDAAwB,CAAC,CAAC,MAAM,EAAE,CAAC;IACxC,IAAI,CAAC,uBAAa,CAAC;SACd,cAAc,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QACpB,EAAE,EAAE,mDAAwB,CAAC,EAAE;QAC/B,YAAY,EAAE,GAAG,EAAE,CAAC,GAAG,CAAC,SAAS,CAAC,GAAG,CAAC,mDAAwB,CAAC;KAClE,CAAC,CAAC;SACF,gBAAgB,EAAE,CAAC;IACxB,gDAAgD;IAChD,IAAI,CAAC,kEAA+B,CAAC,CAAC,MAAM,EAAE,CAAC;IAC/C,IAAI,CAAC,uBAAa,CAAC;SACd,cAAc,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QACpB,EAAE,EAAE,kEAA+B,CAAC,EAAE;QACtC,YAAY,EAAE,GAAG,EAAE,CAAC,GAAG,CAAC,SAAS,CAAC,GAAG,CAAC,kEAA+B,CAAC;KACzE,CAAC,CAAC;SACF,gBAAgB,EAAE,CAAC;IAExB,IAAI,CAAC,yEAAsC,CAAC,CAAC,MAAM,EAAE,CAAC,gBAAgB,EAAE,CAAC;IACzE,IAAI,CAAC,+BAAsB,CAAC,CAAC,SAAS,CAAC,yEAAsC,CAAC,CAAC;IAC/E,IAAI,CAAC,iEAA6B,CAAC,CAAC,MAAM,EAAE,CAAC,gBAAgB,EAAE,CAAC;IAChE,MAAM,CAAC,gDAAyB,CAAC,CAAC,SAAS,CAAC,iEAA6B,CAAC,CAAC;IAE3E,IAAI,CAAC,0BAAmB,CAAC,CAAC,EAAE,CAAC,4EAAmC,CAAC,CAAC;IAClE,IAAI,CAAC,4EAAoC,CAAC,CAAC,MAAM,EAAE,CAAC;IACpD,IAAI,CAAC,uBAAa,CAAC;SACd,cAAc,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QACpB,EAAE,EAAE,4EAAoC,CAAC,EAAE;QAC3C,YAAY,EAAE,GAAG,EAAE,CAAC,GAAG,CAAC,SAAS,CAAC,GAAG,CAAC,4EAAoC,CAAC;KAC9E,CAAC,CAAC;SACF,gBAAgB,EAAE,CAAC;AAC5B,CAAC,CAAC,CAAC"}
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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"}
@@ -0,0 +1,4 @@
1
+ import { ContainerModule } from '@theia/core/shared/inversify';
2
+ declare const _default: ContainerModule;
3
+ export default _default;
4
+ //# sourceMappingURL=backend-module.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"backend-module.d.ts","sourceRoot":"","sources":["../../src/node/backend-module.ts"],"names":[],"mappings":"AAiBA,OAAO,EAAE,eAAe,EAAE,MAAM,8BAA8B,CAAC;;AAiB/D,wBAGG"}
@@ -0,0 +1,35 @@
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
+ const core_1 = require("@theia/core");
19
+ const inversify_1 = require("@theia/core/shared/inversify");
20
+ const browser_automation_protocol_1 = require("../common/browser-automation-protocol");
21
+ const browser_automation_impl_1 = require("./app-tester-agent/browser-automation-impl");
22
+ const connection_container_module_1 = require("@theia/core/lib/node/messaging/connection-container-module");
23
+ const browserAutomationModule = connection_container_module_1.ConnectionContainerModule.create(({ bind, bindBackendService, bindFrontendService }) => {
24
+ bind(browser_automation_protocol_1.BrowserAutomation).to(browser_automation_impl_1.BrowserAutomationImpl).inSingletonScope();
25
+ bind(core_1.ConnectionHandler).toDynamicValue(ctx => new core_1.RpcConnectionHandler(browser_automation_protocol_1.browserAutomationPath, client => {
26
+ const server = ctx.container.get(browser_automation_protocol_1.BrowserAutomation);
27
+ server.setClient(client);
28
+ client.onDidCloseConnection(() => server.close());
29
+ return server;
30
+ })).inSingletonScope();
31
+ });
32
+ exports.default = new inversify_1.ContainerModule(bind => {
33
+ bind(connection_container_module_1.ConnectionContainerModule).toConstantValue(browserAutomationModule);
34
+ });
35
+ //# sourceMappingURL=backend-module.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"backend-module.js","sourceRoot":"","sources":["../../src/node/backend-module.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;;AAEhF,sCAAsE;AACtE,4DAA+D;AAC/D,uFAA+H;AAC/H,wFAAmF;AACnF,4GAAuG;AAEvG,MAAM,uBAAuB,GAAG,uDAAyB,CAAC,MAAM,CAAC,CAAC,EAAE,IAAI,EAAE,kBAAkB,EAAE,mBAAmB,EAAE,EAAE,EAAE;IACnH,IAAI,CAAC,+CAAiB,CAAC,CAAC,EAAE,CAAC,+CAAqB,CAAC,CAAC,gBAAgB,EAAE,CAAC;IACrE,IAAI,CAAC,wBAAiB,CAAC,CAAC,cAAc,CAAC,GAAG,CAAC,EAAE,CACzC,IAAI,2BAAoB,CAA0B,mDAAqB,EAAE,MAAM,CAAC,EAAE;QAC9E,MAAM,MAAM,GAAG,GAAG,CAAC,SAAS,CAAC,GAAG,CAAwB,+CAAiB,CAAC,CAAC;QAC3E,MAAM,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;QACzB,MAAM,CAAC,oBAAoB,CAAC,GAAG,EAAE,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC;QAClD,OAAO,MAAM,CAAC;IAClB,CAAC,CAAC,CACL,CAAC,gBAAgB,EAAE,CAAC;AACzB,CAAC,CAAC,CAAC;AAEH,kBAAe,IAAI,2BAAe,CAAC,IAAI,CAAC,EAAE;IACtC,IAAI,CAAC,uDAAyB,CAAC,CAAC,eAAe,CAAC,uBAAuB,CAAC,CAAC;AAE7E,CAAC,CAAC,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@theia/ai-ide",
3
- "version": "1.64.0-next.0+0dcdcd4d3",
3
+ "version": "1.64.0-next.28+c0fda4c47",
4
4
  "description": "AI IDE Agents Extension",
5
5
  "license": "EPL-2.0 OR GPL-2.0-only WITH Classpath-exception-2.0",
6
6
  "repository": {
@@ -15,35 +15,37 @@
15
15
  "theia-extension"
16
16
  ],
17
17
  "dependencies": {
18
- "@theia/ai-chat": "1.64.0-next.0+0dcdcd4d3",
19
- "@theia/ai-chat-ui": "1.64.0-next.0+0dcdcd4d3",
20
- "@theia/ai-core": "1.64.0-next.0+0dcdcd4d3",
21
- "@theia/ai-mcp": "1.64.0-next.0+0dcdcd4d3",
22
- "@theia/core": "1.64.0-next.0+0dcdcd4d3",
23
- "@theia/filesystem": "1.64.0-next.0+0dcdcd4d3",
24
- "@theia/markers": "1.64.0-next.0+0dcdcd4d3",
25
- "@theia/monaco": "1.64.0-next.0+0dcdcd4d3",
26
- "@theia/navigator": "1.64.0-next.0+0dcdcd4d3",
27
- "@theia/search-in-workspace": "1.64.0-next.0+0dcdcd4d3",
28
- "@theia/task": "1.64.0-next.0+0dcdcd4d3",
29
- "@theia/terminal": "1.64.0-next.0+0dcdcd4d3",
30
- "@theia/workspace": "1.64.0-next.0+0dcdcd4d3",
18
+ "@theia/ai-chat": "1.64.0-next.28+c0fda4c47",
19
+ "@theia/ai-chat-ui": "1.64.0-next.28+c0fda4c47",
20
+ "@theia/ai-core": "1.64.0-next.28+c0fda4c47",
21
+ "@theia/ai-mcp": "1.64.0-next.28+c0fda4c47",
22
+ "@theia/core": "1.64.0-next.28+c0fda4c47",
23
+ "@theia/filesystem": "1.64.0-next.28+c0fda4c47",
24
+ "@theia/markers": "1.64.0-next.28+c0fda4c47",
25
+ "@theia/monaco": "1.64.0-next.28+c0fda4c47",
26
+ "@theia/navigator": "1.64.0-next.28+c0fda4c47",
27
+ "@theia/search-in-workspace": "1.64.0-next.28+c0fda4c47",
28
+ "@theia/task": "1.64.0-next.28+c0fda4c47",
29
+ "@theia/terminal": "1.64.0-next.28+c0fda4c47",
30
+ "@theia/workspace": "1.64.0-next.28+c0fda4c47",
31
31
  "date-fns": "^4.1.0",
32
32
  "ignore": "^6.0.0",
33
33
  "js-yaml": "^4.1.0",
34
- "minimatch": "^9.0.0"
34
+ "minimatch": "^9.0.0",
35
+ "puppeteer-core": "^24.10.0"
35
36
  },
36
37
  "publishConfig": {
37
38
  "access": "public"
38
39
  },
39
40
  "devDependencies": {
40
- "@theia/cli": "1.64.0-next.0+0dcdcd4d3",
41
- "@theia/test": "1.64.0-next.0+0dcdcd4d3"
41
+ "@theia/cli": "1.64.0-next.28+c0fda4c47",
42
+ "@theia/test": "1.64.0-next.28+c0fda4c47"
42
43
  },
43
44
  "theiaExtensions": [
44
45
  {
45
46
  "frontend": "lib/browser/frontend-module",
46
- "secondaryWindow": "lib/browser/frontend-module"
47
+ "secondaryWindow": "lib/browser/frontend-module",
48
+ "backend": "lib/node/backend-module"
47
49
  }
48
50
  ],
49
51
  "files": [
@@ -61,5 +63,5 @@
61
63
  "nyc": {
62
64
  "extends": "../../configs/nyc.json"
63
65
  },
64
- "gitHead": "0dcdcd4d398f4106746d0f701205abdb668383f3"
66
+ "gitHead": "c0fda4c4706fcd4ec1616c8e2f24673352a707d1"
65
67
  }
@@ -169,7 +169,6 @@ export class AIAgentConfigurationWidget extends ReactWidget {
169
169
  agentId={agent.id}
170
170
  promptVariantSet={prompt}
171
171
  promptService={this.promptService}
172
- aiSettingsService={this.aiSettingsService}
173
172
  />
174
173
  </div>
175
174
  ))
@@ -233,6 +233,25 @@ export class AIMCPConfigurationWidget extends ReactWidget {
233
233
  );
234
234
  }
235
235
 
236
+ protected renderServerHeadersSection(server: MCPServerDescription): React.ReactNode {
237
+ if (!isRemoteMCPServerDescription(server) || !server.headers) {
238
+ return;
239
+ }
240
+ return (
241
+ <div className="mcp-server-section">
242
+ <span className="mcp-section-label">{nls.localize('theia/ai/mcpConfiguration/headers', 'Headers: ')}</span>
243
+ <div className="mcp-env-block">
244
+ {Object.entries(server.headers).map(([key, value]) => (
245
+ <div key={key}>
246
+ {key}={(key.toLowerCase().includes('token') || key.toLowerCase().includes('authorization')) ? '******' : String(value)}
247
+ </div>
248
+ ))}
249
+ </div>
250
+
251
+ </div>
252
+ );
253
+ }
254
+
236
255
  protected renderAutostartSection(server: MCPServerDescription): React.ReactNode {
237
256
  return (
238
257
  <div className="mcp-server-section">
@@ -381,6 +400,7 @@ export class AIMCPConfigurationWidget extends ReactWidget {
381
400
  {this.renderServerUrlSection(server)}
382
401
  {this.renderServerAuthTokenHeaderSection(server)}
383
402
  {this.renderServerAuthTokenSection(server)}
403
+ {this.renderServerHeadersSection(server)}
384
404
  {this.renderAutostartSection(server)}
385
405
  {this.renderToolsSection(server)}
386
406
  {this.renderServerControls(server)}
@@ -13,7 +13,7 @@
13
13
  //
14
14
  // SPDX-License-Identifier: EPL-2.0 OR GPL-2.0-only WITH Classpath-exception-2.0
15
15
  // *****************************************************************************
16
- import { AISettingsService, PromptService, PromptVariantSet } from '@theia/ai-core/lib/common';
16
+ import { PromptService, PromptVariantSet } from '@theia/ai-core/lib/common';
17
17
  import * as React from '@theia/core/shared/react';
18
18
  import { nls } from '@theia/core/lib/common/nls';
19
19
 
@@ -21,14 +21,12 @@ export interface PromptVariantRendererProps {
21
21
  agentId: string;
22
22
  promptVariantSet: PromptVariantSet;
23
23
  promptService: PromptService;
24
- aiSettingsService: AISettingsService;
25
24
  }
26
25
 
27
26
  export const PromptVariantRenderer: React.FC<PromptVariantRendererProps> = ({
28
27
  agentId,
29
28
  promptVariantSet,
30
29
  promptService,
31
- aiSettingsService,
32
30
  }) => {
33
31
  const variantIds = promptService.getVariantIds(promptVariantSet.id);
34
32
  const defaultVariantId = promptService.getDefaultVariantId(promptVariantSet.id);
@@ -38,9 +36,11 @@ export const PromptVariantRenderer: React.FC<PromptVariantRendererProps> = ({
38
36
  (async () => {
39
37
  const currentVariant =
40
38
  await promptService.getSelectedVariantId(promptVariantSet.id);
41
- setSelectedVariant(currentVariant!);
39
+ if (currentVariant) {
40
+ setSelectedVariant(currentVariant);
41
+ }
42
42
  })();
43
- }, [promptVariantSet.id, aiSettingsService, agentId]);
43
+ }, [promptVariantSet.id, agentId]);
44
44
 
45
45
  const isInvalidVariant = !variantIds.includes(selectedVariant);
46
46