@theia/ai-ide 1.67.0-next.56 → 1.67.0-next.86

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 (373) hide show
  1. package/lib/browser/address-pr-review-command-contribution.d.ts +9 -0
  2. package/lib/browser/address-pr-review-command-contribution.d.ts.map +1 -0
  3. package/lib/browser/address-pr-review-command-contribution.js +176 -0
  4. package/lib/browser/address-pr-review-command-contribution.js.map +1 -0
  5. package/lib/browser/ai-configuration/agent-configuration-widget.d.ts +47 -0
  6. package/lib/browser/ai-configuration/agent-configuration-widget.d.ts.map +1 -0
  7. package/lib/browser/ai-configuration/agent-configuration-widget.js +385 -0
  8. package/lib/browser/ai-configuration/agent-configuration-widget.js.map +1 -0
  9. package/lib/browser/ai-configuration/ai-configuration-service.d.ts +18 -0
  10. package/lib/browser/ai-configuration/ai-configuration-service.d.ts.map +1 -0
  11. package/lib/browser/ai-configuration/ai-configuration-service.js +53 -0
  12. package/lib/browser/ai-configuration/ai-configuration-service.js.map +1 -0
  13. package/lib/browser/ai-configuration/ai-configuration-view-contribution.d.ts +14 -0
  14. package/lib/browser/ai-configuration/ai-configuration-view-contribution.d.ts.map +1 -0
  15. package/lib/browser/ai-configuration/ai-configuration-view-contribution.js +67 -0
  16. package/lib/browser/ai-configuration/ai-configuration-view-contribution.js.map +1 -0
  17. package/lib/browser/ai-configuration/ai-configuration-widget.d.ts +29 -0
  18. package/lib/browser/ai-configuration/ai-configuration-widget.d.ts.map +1 -0
  19. package/lib/browser/ai-configuration/ai-configuration-widget.js +118 -0
  20. package/lib/browser/ai-configuration/ai-configuration-widget.js.map +1 -0
  21. package/lib/browser/ai-configuration/base/ai-card-grid-configuration-widget.d.ts +32 -0
  22. package/lib/browser/ai-configuration/base/ai-card-grid-configuration-widget.d.ts.map +1 -0
  23. package/lib/browser/ai-configuration/base/ai-card-grid-configuration-widget.js +55 -0
  24. package/lib/browser/ai-configuration/base/ai-card-grid-configuration-widget.js.map +1 -0
  25. package/lib/browser/ai-configuration/base/ai-configuration-base-widget.d.ts +14 -0
  26. package/lib/browser/ai-configuration/base/ai-configuration-base-widget.d.ts.map +1 -0
  27. package/lib/browser/ai-configuration/base/ai-configuration-base-widget.js +35 -0
  28. package/lib/browser/ai-configuration/base/ai-configuration-base-widget.js.map +1 -0
  29. package/lib/browser/ai-configuration/base/ai-hierarchical-configuration-widget.d.ts +23 -0
  30. package/lib/browser/ai-configuration/base/ai-hierarchical-configuration-widget.d.ts.map +1 -0
  31. package/lib/browser/ai-configuration/base/ai-hierarchical-configuration-widget.js +60 -0
  32. package/lib/browser/ai-configuration/base/ai-hierarchical-configuration-widget.js.map +1 -0
  33. package/lib/browser/ai-configuration/base/ai-list-detail-configuration-widget.d.ts +56 -0
  34. package/lib/browser/ai-configuration/base/ai-list-detail-configuration-widget.d.ts.map +1 -0
  35. package/lib/browser/ai-configuration/base/ai-list-detail-configuration-widget.js +96 -0
  36. package/lib/browser/ai-configuration/base/ai-list-detail-configuration-widget.js.map +1 -0
  37. package/lib/browser/ai-configuration/base/ai-table-configuration-widget.d.ts +45 -0
  38. package/lib/browser/ai-configuration/base/ai-table-configuration-widget.d.ts.map +1 -0
  39. package/lib/browser/ai-configuration/base/ai-table-configuration-widget.js +66 -0
  40. package/lib/browser/ai-configuration/base/ai-table-configuration-widget.js.map +1 -0
  41. package/lib/browser/ai-configuration/components/configuration-section.d.ts +13 -0
  42. package/lib/browser/ai-configuration/components/configuration-section.d.ts.map +1 -0
  43. package/lib/browser/ai-configuration/components/configuration-section.js +28 -0
  44. package/lib/browser/ai-configuration/components/configuration-section.js.map +1 -0
  45. package/lib/browser/ai-configuration/components/empty-state.d.ts +11 -0
  46. package/lib/browser/ai-configuration/components/empty-state.d.ts.map +1 -0
  47. package/lib/browser/ai-configuration/components/empty-state.js +26 -0
  48. package/lib/browser/ai-configuration/components/empty-state.js.map +1 -0
  49. package/lib/browser/ai-configuration/components/expandable-section.d.ts +14 -0
  50. package/lib/browser/ai-configuration/components/expandable-section.d.ts.map +1 -0
  51. package/lib/browser/ai-configuration/components/expandable-section.js +31 -0
  52. package/lib/browser/ai-configuration/components/expandable-section.js.map +1 -0
  53. package/lib/browser/ai-configuration/language-model-renderer.d.ts +13 -0
  54. package/lib/browser/ai-configuration/language-model-renderer.d.ts.map +1 -0
  55. package/lib/browser/ai-configuration/language-model-renderer.js +105 -0
  56. package/lib/browser/ai-configuration/language-model-renderer.js.map +1 -0
  57. package/lib/browser/ai-configuration/mcp-configuration-widget.d.ts +42 -0
  58. package/lib/browser/ai-configuration/mcp-configuration-widget.d.ts.map +1 -0
  59. package/lib/browser/ai-configuration/mcp-configuration-widget.js +308 -0
  60. package/lib/browser/ai-configuration/mcp-configuration-widget.js.map +1 -0
  61. package/lib/browser/ai-configuration/model-aliases-configuration-widget.d.ts +27 -0
  62. package/lib/browser/ai-configuration/model-aliases-configuration-widget.d.ts.map +1 -0
  63. package/lib/browser/ai-configuration/model-aliases-configuration-widget.js +197 -0
  64. package/lib/browser/ai-configuration/model-aliases-configuration-widget.js.map +1 -0
  65. package/lib/browser/ai-configuration/prompt-fragments-configuration-widget.d.ts +141 -0
  66. package/lib/browser/ai-configuration/prompt-fragments-configuration-widget.d.ts.map +1 -0
  67. package/lib/browser/ai-configuration/prompt-fragments-configuration-widget.js +508 -0
  68. package/lib/browser/ai-configuration/prompt-fragments-configuration-widget.js.map +1 -0
  69. package/lib/browser/ai-configuration/template-settings-renderer.d.ts +10 -0
  70. package/lib/browser/ai-configuration/template-settings-renderer.d.ts.map +1 -0
  71. package/lib/browser/ai-configuration/template-settings-renderer.js +48 -0
  72. package/lib/browser/ai-configuration/template-settings-renderer.js.map +1 -0
  73. package/lib/browser/ai-configuration/token-usage-configuration-widget.d.ts +21 -0
  74. package/lib/browser/ai-configuration/token-usage-configuration-widget.d.ts.map +1 -0
  75. package/lib/browser/ai-configuration/token-usage-configuration-widget.js +170 -0
  76. package/lib/browser/ai-configuration/token-usage-configuration-widget.js.map +1 -0
  77. package/lib/browser/ai-configuration/tools-configuration-widget.d.ts +35 -0
  78. package/lib/browser/ai-configuration/tools-configuration-widget.d.ts.map +1 -0
  79. package/lib/browser/ai-configuration/tools-configuration-widget.js +158 -0
  80. package/lib/browser/ai-configuration/tools-configuration-widget.js.map +1 -0
  81. package/lib/browser/ai-configuration/variable-configuration-widget.d.ts +23 -0
  82. package/lib/browser/ai-configuration/variable-configuration-widget.d.ts.map +1 -0
  83. package/lib/browser/ai-configuration/variable-configuration-widget.js +132 -0
  84. package/lib/browser/ai-configuration/variable-configuration-widget.js.map +1 -0
  85. package/lib/browser/ai-ide-activation-service.d.ts +18 -0
  86. package/lib/browser/ai-ide-activation-service.d.ts.map +1 -0
  87. package/lib/browser/ai-ide-activation-service.js +71 -0
  88. package/lib/browser/ai-ide-activation-service.js.map +1 -0
  89. package/lib/browser/ai-terminal-functions.d.ts +13 -0
  90. package/lib/browser/ai-terminal-functions.d.ts.map +1 -0
  91. package/lib/browser/ai-terminal-functions.js +114 -0
  92. package/lib/browser/ai-terminal-functions.js.map +1 -0
  93. package/lib/browser/analyze-gh-ticket-command-contribution.d.ts +9 -0
  94. package/lib/browser/analyze-gh-ticket-command-contribution.d.ts.map +1 -0
  95. package/lib/browser/analyze-gh-ticket-command-contribution.js +172 -0
  96. package/lib/browser/analyze-gh-ticket-command-contribution.js.map +1 -0
  97. package/lib/browser/app-tester-chat-agent.d.ts +35 -0
  98. package/lib/browser/app-tester-chat-agent.d.ts.map +1 -0
  99. package/lib/browser/app-tester-chat-agent.js +142 -0
  100. package/lib/browser/app-tester-chat-agent.js.map +1 -0
  101. package/lib/browser/app-tester-chat-functions.d.ts +25 -0
  102. package/lib/browser/app-tester-chat-functions.d.ts.map +1 -0
  103. package/lib/browser/app-tester-chat-functions.js +170 -0
  104. package/lib/browser/app-tester-chat-functions.js.map +1 -0
  105. package/lib/browser/app-tester-prompt-template.d.ts +6 -0
  106. package/lib/browser/app-tester-prompt-template.d.ts.map +1 -0
  107. package/lib/browser/app-tester-prompt-template.js +83 -0
  108. package/lib/browser/app-tester-prompt-template.js.map +1 -0
  109. package/lib/browser/architect-agent.d.ts +15 -0
  110. package/lib/browser/architect-agent.d.ts.map +1 -0
  111. package/lib/browser/architect-agent.js +68 -0
  112. package/lib/browser/architect-agent.js.map +1 -0
  113. package/lib/browser/coder-agent.d.ts +15 -0
  114. package/lib/browser/coder-agent.d.ts.map +1 -0
  115. package/lib/browser/coder-agent.js +81 -0
  116. package/lib/browser/coder-agent.js.map +1 -0
  117. package/lib/browser/context-file-validation-service-impl.d.ts +13 -0
  118. package/lib/browser/context-file-validation-service-impl.d.ts.map +1 -0
  119. package/lib/browser/context-file-validation-service-impl.js +123 -0
  120. package/lib/browser/context-file-validation-service-impl.js.map +1 -0
  121. package/lib/browser/context-file-validation-service-impl.spec.d.ts +2 -0
  122. package/lib/browser/context-file-validation-service-impl.spec.d.ts.map +1 -0
  123. package/lib/browser/context-file-validation-service-impl.spec.js +340 -0
  124. package/lib/browser/context-file-validation-service-impl.spec.js.map +1 -0
  125. package/lib/browser/context-functions.d.ts +16 -0
  126. package/lib/browser/context-functions.d.ts.map +1 -0
  127. package/lib/browser/context-functions.js +166 -0
  128. package/lib/browser/context-functions.js.map +1 -0
  129. package/lib/browser/context-functions.spec.d.ts +2 -0
  130. package/lib/browser/context-functions.spec.d.ts.map +1 -0
  131. package/lib/browser/context-functions.spec.js +213 -0
  132. package/lib/browser/context-functions.spec.js.map +1 -0
  133. package/lib/browser/file-changeset-function.spec.d.ts +2 -0
  134. package/lib/browser/file-changeset-function.spec.d.ts.map +1 -0
  135. package/lib/browser/file-changeset-function.spec.js +45 -0
  136. package/lib/browser/file-changeset-function.spec.js.map +1 -0
  137. package/lib/browser/file-changeset-functions.d.ts +87 -0
  138. package/lib/browser/file-changeset-functions.d.ts.map +1 -0
  139. package/lib/browser/file-changeset-functions.js +645 -0
  140. package/lib/browser/file-changeset-functions.js.map +1 -0
  141. package/lib/browser/file-changeset-functions.spec.d.ts +2 -0
  142. package/lib/browser/file-changeset-functions.spec.d.ts.map +1 -0
  143. package/lib/browser/file-changeset-functions.spec.js +179 -0
  144. package/lib/browser/file-changeset-functions.spec.js.map +1 -0
  145. package/lib/browser/frontend-module.d.ts +5 -0
  146. package/lib/browser/frontend-module.d.ts.map +1 -0
  147. package/lib/browser/frontend-module.js +226 -0
  148. package/lib/browser/frontend-module.js.map +1 -0
  149. package/lib/browser/github-chat-agent.d.ts +48 -0
  150. package/lib/browser/github-chat-agent.d.ts.map +1 -0
  151. package/lib/browser/github-chat-agent.js +222 -0
  152. package/lib/browser/github-chat-agent.js.map +1 -0
  153. package/lib/browser/github-prompt-template.d.ts +6 -0
  154. package/lib/browser/github-prompt-template.d.ts.map +1 -0
  155. package/lib/browser/github-prompt-template.js +53 -0
  156. package/lib/browser/github-prompt-template.js.map +1 -0
  157. package/lib/browser/github-repo-variable-contribution.d.ts +15 -0
  158. package/lib/browser/github-repo-variable-contribution.d.ts.map +1 -0
  159. package/lib/browser/github-repo-variable-contribution.js +82 -0
  160. package/lib/browser/github-repo-variable-contribution.js.map +1 -0
  161. package/lib/browser/ide-chat-welcome-message-provider.d.ts +10 -0
  162. package/lib/browser/ide-chat-welcome-message-provider.d.ts.map +1 -0
  163. package/lib/browser/ide-chat-welcome-message-provider.js +102 -0
  164. package/lib/browser/ide-chat-welcome-message-provider.js.map +1 -0
  165. package/lib/browser/implement-gh-ticket-command-contribution.d.ts +9 -0
  166. package/lib/browser/implement-gh-ticket-command-contribution.d.ts.map +1 -0
  167. package/lib/browser/implement-gh-ticket-command-contribution.js +156 -0
  168. package/lib/browser/implement-gh-ticket-command-contribution.js.map +1 -0
  169. package/lib/browser/project-info-agent.d.ts +13 -0
  170. package/lib/browser/project-info-agent.d.ts.map +1 -0
  171. package/lib/browser/project-info-agent.js +45 -0
  172. package/lib/browser/project-info-agent.js.map +1 -0
  173. package/lib/browser/remember-command-contribution.d.ts +16 -0
  174. package/lib/browser/remember-command-contribution.d.ts.map +1 -0
  175. package/lib/browser/remember-command-contribution.js +101 -0
  176. package/lib/browser/remember-command-contribution.js.map +1 -0
  177. package/lib/browser/summarize-session-command-contribution.d.ts +19 -0
  178. package/lib/browser/summarize-session-command-contribution.d.ts.map +1 -0
  179. package/lib/browser/summarize-session-command-contribution.js +118 -0
  180. package/lib/browser/summarize-session-command-contribution.js.map +1 -0
  181. package/lib/browser/task-background-summary-variable.d.ts +9 -0
  182. package/lib/browser/task-background-summary-variable.d.ts.map +1 -0
  183. package/lib/browser/task-background-summary-variable.js +60 -0
  184. package/lib/browser/task-background-summary-variable.js.map +1 -0
  185. package/lib/browser/task-context-agent.d.ts +13 -0
  186. package/lib/browser/task-context-agent.d.ts.map +1 -0
  187. package/lib/browser/task-context-agent.js +45 -0
  188. package/lib/browser/task-context-agent.js.map +1 -0
  189. package/lib/browser/task-context-file-storage-service.d.ts +40 -0
  190. package/lib/browser/task-context-file-storage-service.d.ts.map +1 -0
  191. package/lib/browser/task-context-file-storage-service.js +232 -0
  192. package/lib/browser/task-context-file-storage-service.js.map +1 -0
  193. package/lib/browser/template-preference-contribution.d.ts +17 -0
  194. package/lib/browser/template-preference-contribution.d.ts.map +1 -0
  195. package/lib/browser/template-preference-contribution.js +94 -0
  196. package/lib/browser/template-preference-contribution.js.map +1 -0
  197. package/lib/browser/test/tool-provider-cancellation-test-util.spec.d.ts +2 -0
  198. package/lib/browser/test/tool-provider-cancellation-test-util.spec.d.ts.map +1 -0
  199. package/lib/browser/test/tool-provider-cancellation-test-util.spec.js +52 -0
  200. package/lib/browser/test/tool-provider-cancellation-test-util.spec.js.map +1 -0
  201. package/lib/browser/workspace-functions.d.ts +78 -0
  202. package/lib/browser/workspace-functions.d.ts.map +1 -0
  203. package/lib/browser/workspace-functions.js +697 -0
  204. package/lib/browser/workspace-functions.js.map +1 -0
  205. package/lib/browser/workspace-functions.spec.d.ts +2 -0
  206. package/lib/browser/workspace-functions.spec.d.ts.map +1 -0
  207. package/lib/browser/workspace-functions.spec.js +161 -0
  208. package/lib/browser/workspace-functions.spec.js.map +1 -0
  209. package/lib/browser/workspace-launch-provider.d.ts +24 -0
  210. package/lib/browser/workspace-launch-provider.d.ts.map +1 -0
  211. package/lib/browser/workspace-launch-provider.js +216 -0
  212. package/lib/browser/workspace-launch-provider.js.map +1 -0
  213. package/lib/browser/workspace-launch-provider.spec.d.ts +2 -0
  214. package/lib/browser/workspace-launch-provider.spec.d.ts.map +1 -0
  215. package/lib/browser/workspace-launch-provider.spec.js +245 -0
  216. package/lib/browser/workspace-launch-provider.spec.js.map +1 -0
  217. package/lib/browser/workspace-search-provider.d.ts +15 -0
  218. package/lib/browser/workspace-search-provider.d.ts.map +1 -0
  219. package/lib/browser/workspace-search-provider.js +204 -0
  220. package/lib/browser/workspace-search-provider.js.map +1 -0
  221. package/lib/browser/workspace-search-provider.spec.d.ts +2 -0
  222. package/lib/browser/workspace-search-provider.spec.d.ts.map +1 -0
  223. package/lib/browser/workspace-search-provider.spec.js +82 -0
  224. package/lib/browser/workspace-search-provider.spec.js.map +1 -0
  225. package/lib/browser/workspace-task-provider.d.ts +15 -0
  226. package/lib/browser/workspace-task-provider.d.ts.map +1 -0
  227. package/lib/browser/workspace-task-provider.js +138 -0
  228. package/lib/browser/workspace-task-provider.js.map +1 -0
  229. package/lib/browser/workspace-task-provider.spec.d.ts +2 -0
  230. package/lib/browser/workspace-task-provider.spec.d.ts.map +1 -0
  231. package/lib/browser/workspace-task-provider.spec.js +109 -0
  232. package/lib/browser/workspace-task-provider.spec.js.map +1 -0
  233. package/lib/common/ai-configuration-preferences.d.ts +8 -0
  234. package/lib/common/ai-configuration-preferences.d.ts.map +1 -0
  235. package/lib/common/ai-configuration-preferences.js +41 -0
  236. package/lib/common/ai-configuration-preferences.js.map +1 -0
  237. package/lib/common/ai-ide-preferences.d.ts +5 -0
  238. package/lib/common/ai-ide-preferences.d.ts.map +1 -0
  239. package/lib/common/ai-ide-preferences.js +53 -0
  240. package/lib/common/ai-ide-preferences.js.map +1 -0
  241. package/lib/common/ai-terminal-functions.d.ts +2 -0
  242. package/lib/common/ai-terminal-functions.d.ts.map +1 -0
  243. package/lib/common/ai-terminal-functions.js +20 -0
  244. package/lib/common/ai-terminal-functions.js.map +1 -0
  245. package/lib/common/app-tester-chat-functions.d.ts +5 -0
  246. package/lib/common/app-tester-chat-functions.d.ts.map +1 -0
  247. package/lib/common/app-tester-chat-functions.js +23 -0
  248. package/lib/common/app-tester-chat-functions.js.map +1 -0
  249. package/lib/common/architect-prompt-template.d.ts +3 -0
  250. package/lib/common/architect-prompt-template.d.ts.map +1 -0
  251. package/lib/common/architect-prompt-template.js +81 -0
  252. package/lib/common/architect-prompt-template.js.map +1 -0
  253. package/lib/common/browser-automation-protocol.d.ts +15 -0
  254. package/lib/common/browser-automation-protocol.d.ts.map +1 -0
  255. package/lib/common/browser-automation-protocol.js +22 -0
  256. package/lib/common/browser-automation-protocol.js.map +1 -0
  257. package/lib/common/coder-replace-prompt-template.d.ts +11 -0
  258. package/lib/common/coder-replace-prompt-template.d.ts.map +1 -0
  259. package/lib/common/coder-replace-prompt-template.js +296 -0
  260. package/lib/common/coder-replace-prompt-template.js.map +1 -0
  261. package/lib/common/command-chat-agents.d.ts +36 -0
  262. package/lib/common/command-chat-agents.d.ts.map +1 -0
  263. package/lib/common/command-chat-agents.js +122 -0
  264. package/lib/common/command-chat-agents.js.map +1 -0
  265. package/lib/common/command-prompt-template.d.ts +3 -0
  266. package/lib/common/command-prompt-template.d.ts.map +1 -0
  267. package/lib/common/command-prompt-template.js +226 -0
  268. package/lib/common/command-prompt-template.js.map +1 -0
  269. package/lib/common/context-files-variable.d.ts +9 -0
  270. package/lib/common/context-files-variable.d.ts.map +1 -0
  271. package/lib/common/context-files-variable.js +52 -0
  272. package/lib/common/context-files-variable.js.map +1 -0
  273. package/lib/common/context-functions.d.ts +4 -0
  274. package/lib/common/context-functions.d.ts.map +1 -0
  275. package/lib/common/context-functions.js +22 -0
  276. package/lib/common/context-functions.js.map +1 -0
  277. package/lib/common/context-variables.d.ts +3 -0
  278. package/lib/common/context-variables.d.ts.map +1 -0
  279. package/lib/common/context-variables.js +21 -0
  280. package/lib/common/context-variables.js.map +1 -0
  281. package/lib/common/file-changeset-function-ids.d.ts +19 -0
  282. package/lib/common/file-changeset-function-ids.d.ts.map +1 -0
  283. package/lib/common/file-changeset-function-ids.js +37 -0
  284. package/lib/common/file-changeset-function-ids.js.map +1 -0
  285. package/lib/common/github-repo-protocol.d.ts +15 -0
  286. package/lib/common/github-repo-protocol.d.ts.map +1 -0
  287. package/lib/common/github-repo-protocol.js +21 -0
  288. package/lib/common/github-repo-protocol.js.map +1 -0
  289. package/lib/common/orchestrator-chat-agent.d.ts +36 -0
  290. package/lib/common/orchestrator-chat-agent.d.ts.map +1 -0
  291. package/lib/common/orchestrator-chat-agent.js +167 -0
  292. package/lib/common/orchestrator-chat-agent.js.map +1 -0
  293. package/lib/common/orchestrator-prompt-template.d.ts +3 -0
  294. package/lib/common/orchestrator-prompt-template.d.ts.map +1 -0
  295. package/lib/common/orchestrator-prompt-template.js +55 -0
  296. package/lib/common/orchestrator-prompt-template.js.map +1 -0
  297. package/lib/common/project-info-prompt-template.d.ts +6 -0
  298. package/lib/common/project-info-prompt-template.d.ts.map +1 -0
  299. package/lib/common/project-info-prompt-template.js +145 -0
  300. package/lib/common/project-info-prompt-template.js.map +1 -0
  301. package/lib/common/summarize-session-commands.d.ts +4 -0
  302. package/lib/common/summarize-session-commands.d.ts.map +1 -0
  303. package/lib/common/summarize-session-commands.js +28 -0
  304. package/lib/common/summarize-session-commands.js.map +1 -0
  305. package/lib/common/task-context-prompt-template.d.ts +8 -0
  306. package/lib/common/task-context-prompt-template.d.ts.map +1 -0
  307. package/lib/common/task-context-prompt-template.js +217 -0
  308. package/lib/common/task-context-prompt-template.js.map +1 -0
  309. package/lib/common/universal-chat-agent.d.ts +17 -0
  310. package/lib/common/universal-chat-agent.d.ts.map +1 -0
  311. package/lib/common/universal-chat-agent.js +47 -0
  312. package/lib/common/universal-chat-agent.js.map +1 -0
  313. package/lib/common/universal-prompt-template.d.ts +4 -0
  314. package/lib/common/universal-prompt-template.d.ts.map +1 -0
  315. package/lib/common/universal-prompt-template.js +32 -0
  316. package/lib/common/universal-prompt-template.js.map +1 -0
  317. package/lib/common/workspace-functions.d.ts +12 -0
  318. package/lib/common/workspace-functions.d.ts.map +1 -0
  319. package/lib/common/workspace-functions.js +30 -0
  320. package/lib/common/workspace-functions.js.map +1 -0
  321. package/lib/common/workspace-preferences.d.ts +10 -0
  322. package/lib/common/workspace-preferences.d.ts.map +1 -0
  323. package/lib/common/workspace-preferences.js +89 -0
  324. package/lib/common/workspace-preferences.js.map +1 -0
  325. package/lib/common/workspace-search-provider-util.d.ts +17 -0
  326. package/lib/common/workspace-search-provider-util.d.ts.map +1 -0
  327. package/lib/common/workspace-search-provider-util.js +51 -0
  328. package/lib/common/workspace-search-provider-util.js.map +1 -0
  329. package/lib/node/app-tester-agent/browser-automation-impl.d.ts +18 -0
  330. package/lib/node/app-tester-agent/browser-automation-impl.d.ts.map +1 -0
  331. package/lib/node/app-tester-agent/browser-automation-impl.js +96 -0
  332. package/lib/node/app-tester-agent/browser-automation-impl.js.map +1 -0
  333. package/lib/node/backend-module.d.ts +4 -0
  334. package/lib/node/backend-module.d.ts.map +1 -0
  335. package/lib/node/backend-module.js +45 -0
  336. package/lib/node/backend-module.js.map +1 -0
  337. package/lib/node/github-repo-service-impl.d.ts +7 -0
  338. package/lib/node/github-repo-service-impl.d.ts.map +1 -0
  339. package/lib/node/github-repo-service-impl.js +86 -0
  340. package/lib/node/github-repo-service-impl.js.map +1 -0
  341. package/lib/package.spec.d.ts +1 -0
  342. package/lib/package.spec.d.ts.map +1 -0
  343. package/lib/package.spec.js +26 -0
  344. package/lib/package.spec.js.map +1 -0
  345. package/package.json +21 -21
  346. package/src/browser/address-pr-review-command-contribution.ts +180 -0
  347. package/src/browser/ai-configuration/agent-configuration-widget.tsx +256 -135
  348. package/src/browser/ai-configuration/base/ai-card-grid-configuration-widget.tsx +72 -0
  349. package/src/browser/ai-configuration/base/ai-configuration-base-widget.tsx +37 -0
  350. package/src/browser/ai-configuration/base/ai-hierarchical-configuration-widget.tsx +51 -0
  351. package/src/browser/ai-configuration/base/ai-list-detail-configuration-widget.tsx +140 -0
  352. package/src/browser/ai-configuration/base/ai-table-configuration-widget.tsx +107 -0
  353. package/src/browser/ai-configuration/components/configuration-section.tsx +37 -0
  354. package/src/browser/ai-configuration/components/empty-state.tsx +30 -0
  355. package/src/browser/ai-configuration/components/expandable-section.tsx +51 -0
  356. package/src/browser/ai-configuration/language-model-renderer.tsx +68 -63
  357. package/src/browser/ai-configuration/mcp-configuration-widget.tsx +80 -85
  358. package/src/browser/ai-configuration/model-aliases-configuration-widget.tsx +93 -107
  359. package/src/browser/ai-configuration/template-settings-renderer.tsx +25 -29
  360. package/src/browser/ai-configuration/token-usage-configuration-widget.tsx +130 -130
  361. package/src/browser/ai-configuration/tools-configuration-widget.tsx +68 -59
  362. package/src/browser/ai-configuration/variable-configuration-widget.tsx +95 -45
  363. package/src/browser/analyze-gh-ticket-command-contribution.ts +176 -0
  364. package/src/browser/frontend-module.ts +6 -0
  365. package/src/browser/implement-gh-ticket-command-contribution.ts +160 -0
  366. package/src/browser/style/ai-configuration-base.css +90 -0
  367. package/src/browser/style/ai-configuration-cards.css +60 -0
  368. package/src/browser/style/ai-configuration-hierarchical.css +61 -0
  369. package/src/browser/style/ai-configuration-list-detail.css +88 -0
  370. package/src/browser/style/ai-configuration-table.css +73 -0
  371. package/src/browser/style/index.css +458 -288
  372. package/src/browser/style/widgets/mcp-configuration.css +253 -0
  373. package/src/browser/style/widgets/model-aliases-configuration.css +74 -0
@@ -0,0 +1,71 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.AIIdeActivationServiceImpl = void 0;
4
+ const tslib_1 = require("tslib");
5
+ // *****************************************************************************
6
+ // Copyright (C) 2025 EclipseSource GmbH.
7
+ //
8
+ // This program and the accompanying materials are made available under the
9
+ // terms of the Eclipse Public License v. 2.0 which is available at
10
+ // http://www.eclipse.org/legal/epl-2.0.
11
+ //
12
+ // This Source Code may also be made available under the following Secondary
13
+ // Licenses when the conditions for such availability set forth in the Eclipse
14
+ // Public License v. 2.0 are satisfied: GNU General Public License, version 2
15
+ // with the GNU Classpath Exception which is available at
16
+ // https://www.gnu.org/software/classpath/license.html.
17
+ //
18
+ // SPDX-License-Identifier: EPL-2.0 OR GPL-2.0-only WITH Classpath-exception-2.0
19
+ // *****************************************************************************
20
+ const inversify_1 = require("@theia/core/shared/inversify");
21
+ const core_1 = require("@theia/core");
22
+ const context_key_service_1 = require("@theia/core/lib/browser/context-key-service");
23
+ const ai_activation_service_1 = require("@theia/ai-core/lib/browser/ai-activation-service");
24
+ const ai_ide_preferences_1 = require("../common/ai-ide-preferences");
25
+ /**
26
+ * Implements AI Activation Service based on preferences.
27
+ */
28
+ let AIIdeActivationServiceImpl = class AIIdeActivationServiceImpl {
29
+ constructor() {
30
+ this.onDidChangeAIEnabled = new core_1.Emitter();
31
+ }
32
+ get onDidChangeActiveStatus() {
33
+ return this.onDidChangeAIEnabled.event;
34
+ }
35
+ get isActive() {
36
+ var _a;
37
+ return (_a = this.isAiEnabledKey.get()) !== null && _a !== void 0 ? _a : false;
38
+ }
39
+ updateEnableValue(value) {
40
+ if (value !== this.isAiEnabledKey.get()) {
41
+ this.isAiEnabledKey.set(value);
42
+ this.onDidChangeAIEnabled.fire(value);
43
+ }
44
+ }
45
+ initialize() {
46
+ this.isAiEnabledKey = this.contextKeyService.createKey(ai_activation_service_1.ENABLE_AI_CONTEXT_KEY, false);
47
+ // make sure we don't miss once preferences are ready
48
+ this.preferenceService.ready.then(() => {
49
+ const enableValue = this.preferenceService.get(ai_ide_preferences_1.PREFERENCE_NAME_ENABLE_AI, false);
50
+ this.updateEnableValue(enableValue);
51
+ });
52
+ this.preferenceService.onPreferenceChanged(e => {
53
+ if (e.preferenceName === ai_ide_preferences_1.PREFERENCE_NAME_ENABLE_AI) {
54
+ this.updateEnableValue(e.newValue);
55
+ }
56
+ });
57
+ }
58
+ };
59
+ exports.AIIdeActivationServiceImpl = AIIdeActivationServiceImpl;
60
+ tslib_1.__decorate([
61
+ (0, inversify_1.inject)(context_key_service_1.ContextKeyService),
62
+ tslib_1.__metadata("design:type", Object)
63
+ ], AIIdeActivationServiceImpl.prototype, "contextKeyService", void 0);
64
+ tslib_1.__decorate([
65
+ (0, inversify_1.inject)(core_1.PreferenceService),
66
+ tslib_1.__metadata("design:type", Object)
67
+ ], AIIdeActivationServiceImpl.prototype, "preferenceService", void 0);
68
+ exports.AIIdeActivationServiceImpl = AIIdeActivationServiceImpl = tslib_1.__decorate([
69
+ (0, inversify_1.injectable)()
70
+ ], AIIdeActivationServiceImpl);
71
+ //# sourceMappingURL=ai-ide-activation-service.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ai-ide-activation-service.js","sourceRoot":"","sources":["../../src/browser/ai-ide-activation-service.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;AAChF,4DAAkE;AAElE,sCAA+E;AAC/E,qFAA4F;AAC5F,4FAA8G;AAC9G,qEAAyE;AAEzE;;GAEG;AAEI,IAAM,0BAA0B,GAAhC,MAAM,0BAA0B;IAAhC;QASO,yBAAoB,GAAG,IAAI,cAAO,EAAW,CAAC;IA6B5D,CAAC;IA5BG,IAAI,uBAAuB;QACvB,OAAO,IAAI,CAAC,oBAAoB,CAAC,KAAK,CAAC;IAC3C,CAAC;IAED,IAAI,QAAQ;;QACR,OAAO,MAAA,IAAI,CAAC,cAAc,CAAC,GAAG,EAAE,mCAAI,KAAK,CAAC;IAC9C,CAAC;IAES,iBAAiB,CAAC,KAAc;QACtC,IAAI,KAAK,KAAK,IAAI,CAAC,cAAc,CAAC,GAAG,EAAE,EAAE,CAAC;YACtC,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;YAC/B,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAC1C,CAAC;IACL,CAAC;IAED,UAAU;QACN,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,iBAAiB,CAAC,SAAS,CAAC,6CAAqB,EAAE,KAAK,CAAC,CAAC;QACrF,qDAAqD;QACrD,IAAI,CAAC,iBAAiB,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,EAAE;YACnC,MAAM,WAAW,GAAG,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAU,8CAAyB,EAAE,KAAK,CAAC,CAAC;YAC1F,IAAI,CAAC,iBAAiB,CAAC,WAAW,CAAC,CAAC;QACxC,CAAC,CAAC,CAAC;QACH,IAAI,CAAC,iBAAiB,CAAC,mBAAmB,CAAC,CAAC,CAAC,EAAE;YAC3C,IAAI,CAAC,CAAC,cAAc,KAAK,8CAAyB,EAAE,CAAC;gBACjD,IAAI,CAAC,iBAAiB,CAAC,CAAC,CAAC,QAAmB,CAAC,CAAC;YAClD,CAAC;QACL,CAAC,CAAC,CAAC;IACP,CAAC;CACJ,CAAA;AAtCY,gEAA0B;AAEhB;IADlB,IAAA,kBAAM,EAAC,uCAAiB,CAAC;;qEAC8B;AAG9C;IADT,IAAA,kBAAM,EAAC,wBAAiB,CAAC;;qEACqB;qCALtC,0BAA0B;IADtC,IAAA,sBAAU,GAAE;GACA,0BAA0B,CAsCtC"}
@@ -0,0 +1,13 @@
1
+ import { ToolProvider, ToolRequest } from '@theia/ai-core';
2
+ import { TerminalService } from '@theia/terminal/lib/browser/base/terminal-service';
3
+ import { WorkspaceService } from '@theia/workspace/lib/browser';
4
+ import { ApplicationShell } from '@theia/core/lib/browser';
5
+ export declare class SuggestTerminalCommand implements ToolProvider {
6
+ static ID: string;
7
+ protected readonly terminalService: TerminalService;
8
+ protected readonly workspaceService: WorkspaceService;
9
+ protected readonly applicationShell: ApplicationShell;
10
+ getTool(): ToolRequest;
11
+ protected isValidCommand(command: string): boolean;
12
+ }
13
+ //# sourceMappingURL=ai-terminal-functions.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ai-terminal-functions.d.ts","sourceRoot":"","sources":["../../src/browser/ai-terminal-functions.ts"],"names":[],"mappings":"AAiBA,OAAO,EAAE,YAAY,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAE3D,OAAO,EAAE,eAAe,EAAE,MAAM,mDAAmD,CAAC;AAEpF,OAAO,EAAE,gBAAgB,EAAE,MAAM,8BAA8B,CAAC;AAGhE,OAAO,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAE3D,qBACa,sBAAuB,YAAW,YAAY;IACvD,MAAM,CAAC,EAAE,SAA+B;IAGxC,SAAS,CAAC,QAAQ,CAAC,eAAe,EAAE,eAAe,CAAC;IAGpD,SAAS,CAAC,QAAQ,CAAC,gBAAgB,EAAE,gBAAgB,CAAC;IAGtD,SAAS,CAAC,QAAQ,CAAC,gBAAgB,EAAE,gBAAgB,CAAC;IAEtD,OAAO,IAAI,WAAW;IAwDtB,SAAS,CAAC,cAAc,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO;CAQrD"}
@@ -0,0 +1,114 @@
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
+ var SuggestTerminalCommand_1;
18
+ Object.defineProperty(exports, "__esModule", { value: true });
19
+ exports.SuggestTerminalCommand = void 0;
20
+ const tslib_1 = require("tslib");
21
+ const inversify_1 = require("@theia/core/shared/inversify");
22
+ const terminal_service_1 = require("@theia/terminal/lib/browser/base/terminal-service");
23
+ const ai_terminal_functions_1 = require("../common/ai-terminal-functions");
24
+ const browser_1 = require("@theia/workspace/lib/browser");
25
+ const promise_util_1 = require("@theia/core/lib/common/promise-util");
26
+ const browser_2 = require("@theia/core/lib/browser");
27
+ let SuggestTerminalCommand = SuggestTerminalCommand_1 = class SuggestTerminalCommand {
28
+ getTool() {
29
+ return {
30
+ id: SuggestTerminalCommand_1.ID,
31
+ name: SuggestTerminalCommand_1.ID,
32
+ description: `Proposes executing a command in the terminal.\n
33
+ This tool will automatically write the command into the terminal buffer.\n
34
+ Execution of the command is up to the user.`,
35
+ parameters: {
36
+ type: 'object',
37
+ properties: {
38
+ command: {
39
+ type: 'string',
40
+ description: `The content of the command to write to the terminal buffer.\n
41
+ ALWAYS provide the COMPLETE intended content of the command, without any truncation or omissions.\n
42
+ You MUST include ALL parts of the command.`
43
+ }
44
+ },
45
+ required: ['command']
46
+ },
47
+ handler: async (args, ctx) => {
48
+ var _a, _b;
49
+ if ((_b = (_a = ctx === null || ctx === void 0 ? void 0 : ctx.response) === null || _a === void 0 ? void 0 : _a.cancellationToken) === null || _b === void 0 ? void 0 : _b.isCancellationRequested) {
50
+ return JSON.stringify({ error: 'Operation cancelled by user' });
51
+ }
52
+ // Ensure that there is a workspace
53
+ let activeTerminal = this.terminalService.lastUsedTerminal;
54
+ if (!activeTerminal || activeTerminal.isDisposed) {
55
+ try {
56
+ activeTerminal = await this.terminalService.newTerminal({});
57
+ this.terminalService.open(activeTerminal, { mode: 'activate' });
58
+ await activeTerminal.start();
59
+ // Wait until the terminal prompt is emitted
60
+ await (0, promise_util_1.waitForEvent)(activeTerminal.onOutput, 3000);
61
+ }
62
+ catch (error) {
63
+ return JSON.stringify({ error: `Error executing tool 'suggestTerminalCommand': ${error}` });
64
+ }
65
+ }
66
+ else {
67
+ this.terminalService.open(activeTerminal, { mode: 'activate' });
68
+ }
69
+ let command;
70
+ try {
71
+ const { command: parsedCommand } = JSON.parse(args);
72
+ command = parsedCommand;
73
+ }
74
+ catch (error) {
75
+ return JSON.stringify({ error: `Error parsing arguments for tool 'suggestTerminalCommand': ${error}` });
76
+ }
77
+ if (!this.isValidCommand(command)) {
78
+ return JSON.stringify({ error: 'Error validating command generated by \'suggestTerminalCommand\'' });
79
+ }
80
+ ;
81
+ // Clear the current input line by sending Ctrl+A (move to start) and Ctrl+K (delete to end)
82
+ activeTerminal.sendText('\x01\x0b');
83
+ activeTerminal.sendText(command);
84
+ return `Proposed executing the terminal command ${command}. The user will review and potentially execute the command.`;
85
+ }
86
+ };
87
+ }
88
+ isValidCommand(command) {
89
+ // Command should not be empty and should not contain control characters
90
+ const CONTROL_CHAR_REGEX = /[\u0000-\u001F\u007F]/; // ASCII control range
91
+ if (!command || CONTROL_CHAR_REGEX.test(command)) {
92
+ return false;
93
+ }
94
+ return true;
95
+ }
96
+ };
97
+ exports.SuggestTerminalCommand = SuggestTerminalCommand;
98
+ SuggestTerminalCommand.ID = ai_terminal_functions_1.SUGGEST_TERMINAL_COMMAND_ID;
99
+ tslib_1.__decorate([
100
+ (0, inversify_1.inject)(terminal_service_1.TerminalService),
101
+ tslib_1.__metadata("design:type", Object)
102
+ ], SuggestTerminalCommand.prototype, "terminalService", void 0);
103
+ tslib_1.__decorate([
104
+ (0, inversify_1.inject)(browser_1.WorkspaceService),
105
+ tslib_1.__metadata("design:type", browser_1.WorkspaceService)
106
+ ], SuggestTerminalCommand.prototype, "workspaceService", void 0);
107
+ tslib_1.__decorate([
108
+ (0, inversify_1.inject)(browser_2.ApplicationShell),
109
+ tslib_1.__metadata("design:type", browser_2.ApplicationShell)
110
+ ], SuggestTerminalCommand.prototype, "applicationShell", void 0);
111
+ exports.SuggestTerminalCommand = SuggestTerminalCommand = SuggestTerminalCommand_1 = tslib_1.__decorate([
112
+ (0, inversify_1.injectable)()
113
+ ], SuggestTerminalCommand);
114
+ //# sourceMappingURL=ai-terminal-functions.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ai-terminal-functions.js","sourceRoot":"","sources":["../../src/browser/ai-terminal-functions.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,9 @@
1
+ import { FrontendApplicationContribution } from '@theia/core/lib/browser';
2
+ import { PromptService } from '@theia/ai-core/lib/common';
3
+ export declare class AnalyzesGhTicketCommandContribution implements FrontendApplicationContribution {
4
+ protected readonly promptService: PromptService;
5
+ onStart(): void;
6
+ protected registerGitHubTicketCommand(): void;
7
+ protected buildCommandTemplate(): string;
8
+ }
9
+ //# sourceMappingURL=analyze-gh-ticket-command-contribution.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"analyze-gh-ticket-command-contribution.d.ts","sourceRoot":"","sources":["../../src/browser/analyze-gh-ticket-command-contribution.ts"],"names":[],"mappings":"AAgBA,OAAO,EAAE,+BAA+B,EAAE,MAAM,yBAAyB,CAAC;AAE1E,OAAO,EAAE,aAAa,EAAE,MAAM,2BAA2B,CAAC;AAK1D,qBACa,mCAAoC,YAAW,+BAA+B;IAGvF,SAAS,CAAC,QAAQ,CAAC,aAAa,EAAE,aAAa,CAAC;IAEhD,OAAO,IAAI,IAAI;IAIf,SAAS,CAAC,2BAA2B,IAAI,IAAI;IAoB7C,SAAS,CAAC,oBAAoB,IAAI,MAAM;CA0H3C"}
@@ -0,0 +1,172 @@
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.AnalyzesGhTicketCommandContribution = void 0;
19
+ const tslib_1 = require("tslib");
20
+ const inversify_1 = require("@theia/core/shared/inversify");
21
+ const common_1 = require("@theia/ai-core/lib/common");
22
+ const core_1 = require("@theia/core");
23
+ const agent_delegation_tool_1 = require("@theia/ai-chat/lib/browser/agent-delegation-tool");
24
+ const github_chat_agent_1 = require("./github-chat-agent");
25
+ let AnalyzesGhTicketCommandContribution = class AnalyzesGhTicketCommandContribution {
26
+ onStart() {
27
+ this.registerGitHubTicketCommand();
28
+ }
29
+ registerGitHubTicketCommand() {
30
+ const commandTemplate = this.buildCommandTemplate();
31
+ this.promptService.addBuiltInPromptFragment({
32
+ id: 'analyze-gh-ticket',
33
+ template: commandTemplate,
34
+ isCommand: true,
35
+ commandName: 'analyze-gh-ticket',
36
+ commandDescription: core_1.nls.localize('theia/ai-ide/ticketCommand/description', 'Analyze a GitHub ticket and create an implementation plan'),
37
+ commandArgumentHint: core_1.nls.localize('theia/ai-ide/ticketCommand/argumentHint', '<ticket-number>'),
38
+ commandAgents: ['Architect']
39
+ });
40
+ }
41
+ buildCommandTemplate() {
42
+ return `You have been asked to analyze a GitHub ticket and create an implementation plan.
43
+
44
+ ## Ticket Number
45
+ $ARGUMENTS
46
+
47
+ ## Task Overview
48
+ You need to retrieve details about the specified GitHub ticket and analyze whether it can be implemented by an AI coding agent.
49
+
50
+ ## Step 1: Retrieve Ticket Information
51
+ Use the ~{${agent_delegation_tool_1.AGENT_DELEGATION_FUNCTION_ID}} tool to delegate to the GitHub agent and retrieve comprehensive information about the ticket.
52
+
53
+ **Agent ID:** '${github_chat_agent_1.GitHubChatAgentId}'
54
+ **Prompt:** Ask the GitHub agent to retrieve ALL details about issue/ticket #$ARGUMENTS, specifically requesting:
55
+ - The complete issue title and description/body
56
+ - All comments on the issue (this is critical for understanding the full context)
57
+ - Labels and assignees
58
+ - Issue state (open/closed)
59
+ - Any referenced issues or pull requests mentioned in the description or comments
60
+ - If other issues are referenced, retrieve their details as well
61
+
62
+ Example delegation prompt:
63
+ \`\`\`
64
+ Please retrieve comprehensive information about issue #$ARGUMENTS. I need:
65
+ 1. The complete issue title, body/description, labels, state, and assignees
66
+ 2. ALL comments on this issue - every single comment is important for understanding the context
67
+ 3. Any issues or PRs that are referenced or linked in the description or comments
68
+ 4. For any referenced issues, please also retrieve their titles and descriptions
69
+
70
+ This is for analyzing whether the issue can be implemented, so completeness is crucial.
71
+ \`\`\`
72
+
73
+ ## Step 2: Analyze AI Solvability
74
+ After receiving the ticket information, analyze whether this ticket can be solved by an AI coding agent. Consider:
75
+
76
+ ### Criteria for AI-Solvable Tickets:
77
+ - **Clear requirements**: The ticket clearly describes what needs to be done
78
+ - **Defined scope**: The scope of changes is well-defined and bounded
79
+ - **Technical feasibility**: The task involves code changes that can be reasoned about
80
+ - **Sufficient context**: Enough information is provided to understand the problem and solution
81
+ - **Reproducible**: For bugs, there's enough information to understand and reproduce the issue
82
+
83
+ ### Criteria for Non-AI-Solvable Tickets:
84
+ - **Ambiguous requirements**: The ticket is vague or open to multiple interpretations
85
+ - **Missing context**: Critical information is missing (e.g., environment details, reproduction steps)
86
+ - **External dependencies**: Requires access to external systems, credentials, or human interaction
87
+ - **Design decisions needed**: Requires architectural decisions that need human judgment
88
+ - **Insufficient information**: Cannot determine what success looks like
89
+
90
+ ## Step 3: Respond Based on Analysis
91
+
92
+ ### If the ticket CANNOT be solved by AI:
93
+ Provide a clear explanation:
94
+ 1. **Reason**: Explain specifically why this ticket cannot be solved by AI
95
+ 2. **Missing Information**: List what information is missing or unclear
96
+ 3. **Questions for Clarification**: Ask specific questions that, if answered, might make the ticket solvable
97
+
98
+ Example response format:
99
+ \`\`\`
100
+ ## Analysis Result: Cannot Be Solved by AI
101
+
102
+ ### Reason
103
+ [Explain why]
104
+
105
+ ### Missing Information
106
+ - [Item 1]
107
+ - [Item 2]
108
+
109
+ ### Questions for Clarification
110
+ 1. [Question 1]
111
+ 2. [Question 2]
112
+ \`\`\`
113
+
114
+ ### If the ticket CAN be solved by AI:
115
+ Create a detailed implementation plan:
116
+
117
+ 1. **Summary**: Brief summary of what the ticket requests
118
+ 2. **Analysis**: Your understanding of the problem and the proposed solution approach
119
+ 3. **Implementation Plan**: A step-by-step plan that a coding agent can follow, including:
120
+ - Files that likely need to be modified or created
121
+ - Specific changes to be made in each file
122
+ - Order of operations
123
+ - Testing considerations
124
+ 4. **Potential Challenges**: Any challenges or edge cases to be aware of
125
+ 5. **Success Criteria**: How to verify the implementation is correct
126
+
127
+ Example response format:
128
+ \`\`\`
129
+ ## Analysis Result: Can Be Solved by AI
130
+
131
+ ### Summary
132
+ [Brief summary of the ticket]
133
+
134
+ ### Analysis
135
+ [Your understanding of the problem and solution approach]
136
+
137
+ ### Implementation Plan
138
+
139
+ #### Step 1: [First step]
140
+ - File: \`path/to/file\`
141
+ - Changes: [Description of changes]
142
+
143
+ #### Step 2: [Second step]
144
+ - File: \`path/to/file\`
145
+ - Changes: [Description of changes]
146
+
147
+ [Continue with additional steps...]
148
+
149
+ ### Potential Challenges
150
+ - [Challenge 1]
151
+ - [Challenge 2]
152
+
153
+ ### Success Criteria
154
+ - [Criterion 1]
155
+ - [Criterion 2]
156
+
157
+ ### Next Steps
158
+ To implement this plan, you can ask @Coder to execute it.
159
+ \`\`\`
160
+
161
+ Remember: Be thorough in your analysis. It's better to ask for clarification than to create an incomplete or incorrect implementation plan.`;
162
+ }
163
+ };
164
+ exports.AnalyzesGhTicketCommandContribution = AnalyzesGhTicketCommandContribution;
165
+ tslib_1.__decorate([
166
+ (0, inversify_1.inject)(common_1.PromptService),
167
+ tslib_1.__metadata("design:type", Object)
168
+ ], AnalyzesGhTicketCommandContribution.prototype, "promptService", void 0);
169
+ exports.AnalyzesGhTicketCommandContribution = AnalyzesGhTicketCommandContribution = tslib_1.__decorate([
170
+ (0, inversify_1.injectable)()
171
+ ], AnalyzesGhTicketCommandContribution);
172
+ //# sourceMappingURL=analyze-gh-ticket-command-contribution.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"analyze-gh-ticket-command-contribution.js","sourceRoot":"","sources":["../../src/browser/analyze-gh-ticket-command-contribution.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;;;;AAGhF,4DAAkE;AAClE,sDAA0D;AAC1D,sCAAkC;AAClC,4FAAgG;AAChG,2DAAwD;AAGjD,IAAM,mCAAmC,GAAzC,MAAM,mCAAmC;IAK5C,OAAO;QACH,IAAI,CAAC,2BAA2B,EAAE,CAAC;IACvC,CAAC;IAES,2BAA2B;QACjC,MAAM,eAAe,GAAG,IAAI,CAAC,oBAAoB,EAAE,CAAC;QAEpD,IAAI,CAAC,aAAa,CAAC,wBAAwB,CAAC;YACxC,EAAE,EAAE,mBAAmB;YACvB,QAAQ,EAAE,eAAe;YACzB,SAAS,EAAE,IAAI;YACf,WAAW,EAAE,mBAAmB;YAChC,kBAAkB,EAAE,UAAG,CAAC,QAAQ,CAC5B,wCAAwC,EACxC,2DAA2D,CAC9D;YACD,mBAAmB,EAAE,UAAG,CAAC,QAAQ,CAC7B,yCAAyC,EACzC,iBAAiB,CACpB;YACD,aAAa,EAAE,CAAC,WAAW,CAAC;SAC/B,CAAC,CAAC;IACP,CAAC;IAES,oBAAoB;QAC1B,OAAO;;;;;;;;;YASH,oDAA4B;;iBAEvB,qCAAiB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4IA4G0G,CAAC;IACzI,CAAC;CACJ,CAAA;AAvJY,kFAAmC;AAGzB;IADlB,IAAA,kBAAM,EAAC,sBAAa,CAAC;;0EAC0B;8CAHvC,mCAAmC;IAD/C,IAAA,sBAAU,GAAE;GACA,mCAAmC,CAuJ/C"}
@@ -0,0 +1,35 @@
1
+ import { AbstractStreamParsingChatAgent } from '@theia/ai-chat/lib/common/chat-agents';
2
+ import { MutableChatRequestModel } from '@theia/ai-chat/lib/common/chat-model';
3
+ import { LanguageModelRequirement } from '@theia/ai-core/lib/common';
4
+ import { MCPFrontendService, MCPServerDescription } from '@theia/ai-mcp/lib/common/mcp-server-manager';
5
+ import { PreferenceService } from '@theia/core/lib/common';
6
+ export declare const AppTesterChatAgentId = "AppTester";
7
+ export declare class AppTesterChatAgent extends AbstractStreamParsingChatAgent {
8
+ protected readonly mcpService: MCPFrontendService;
9
+ protected readonly preferenceService: PreferenceService;
10
+ id: string;
11
+ name: string;
12
+ languageModelRequirements: LanguageModelRequirement[];
13
+ protected defaultLanguageModelPurpose: string;
14
+ description: string;
15
+ iconClass: string;
16
+ protected systemPromptId: string;
17
+ prompts: {
18
+ id: string;
19
+ defaultVariant: import("@theia/ai-core/lib/common").BasePromptFragment;
20
+ variants: import("@theia/ai-core/lib/common").BasePromptFragment[];
21
+ }[];
22
+ /**
23
+ * Override invoke to check if the Playwright MCP server is running, and if not, ask the user if it should be started.
24
+ */
25
+ invoke(request: MutableChatRequestModel): Promise<void>;
26
+ protected requiresStartingServers(): Promise<boolean>;
27
+ protected startServers(): Promise<void>;
28
+ /**
29
+ * Starts the Playwright MCP server if it doesn't exist or isn't running.
30
+ *
31
+ * @returns A promise that resolves when the server is started
32
+ */
33
+ ensureServersStarted(...servers: MCPServerDescription[]): Promise<void>;
34
+ }
35
+ //# sourceMappingURL=app-tester-chat-agent.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"app-tester-chat-agent.d.ts","sourceRoot":"","sources":["../../src/browser/app-tester-chat-agent.ts"],"names":[],"mappings":"AAkBA,OAAO,EAAE,8BAA8B,EAAE,MAAM,uCAAuC,CAAC;AACvF,OAAO,EAAiE,uBAAuB,EAA+B,MAAM,sCAAsC,CAAC;AAC3K,OAAO,EAAE,wBAAwB,EAAE,MAAM,2BAA2B,CAAC;AACrE,OAAO,EAAE,kBAAkB,EAAE,oBAAoB,EAAE,MAAM,6CAA6C,CAAC;AAIvG,OAAO,EAAmB,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAG5E,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;IACtD,UAAmB,cAAc,EAAE,MAAM,CAAuB;IACvD,OAAO;;;;QAA0G;IAE1H;;OAEG;IACY,MAAM,CAAC,OAAO,EAAE,uBAAuB,GAAG,OAAO,CAAC,IAAI,CAAC;cAsDtD,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"}
@@ -0,0 +1,142 @@
1
+ "use strict";
2
+ /* eslint-disable max-len */
3
+ Object.defineProperty(exports, "__esModule", { value: true });
4
+ exports.AppTesterChatAgent = exports.AppTesterChatAgentId = void 0;
5
+ const tslib_1 = require("tslib");
6
+ // *****************************************************************************
7
+ // Copyright (C) 2024 EclipseSource GmbH.
8
+ //
9
+ // This program and the accompanying materials are made available under the
10
+ // terms of the Eclipse Public License v. 2.0 which is available at
11
+ // http://www.eclipse.org/legal/epl-2.0.
12
+ //
13
+ // This Source Code may also be made available under the following Secondary
14
+ // Licenses when the conditions for such availability set forth in the Eclipse
15
+ // Public License v. 2.0 are satisfied: GNU General Public License, version 2
16
+ // with the GNU Classpath Exception which is available at
17
+ // https://www.gnu.org/software/classpath/license.html.
18
+ //
19
+ // SPDX-License-Identifier: EPL-2.0 OR GPL-2.0-only WITH Classpath-exception-2.0
20
+ // *****************************************************************************
21
+ const chat_agents_1 = require("@theia/ai-chat/lib/common/chat-agents");
22
+ const chat_model_1 = require("@theia/ai-chat/lib/common/chat-model");
23
+ const mcp_server_manager_1 = require("@theia/ai-mcp/lib/common/mcp-server-manager");
24
+ const core_1 = require("@theia/core");
25
+ const inversify_1 = require("@theia/core/shared/inversify");
26
+ const mcp_preferences_1 = require("@theia/ai-mcp/lib/common/mcp-preferences");
27
+ const common_1 = require("@theia/core/lib/common");
28
+ const app_tester_prompt_template_1 = require("./app-tester-prompt-template");
29
+ exports.AppTesterChatAgentId = 'AppTester';
30
+ let AppTesterChatAgent = class AppTesterChatAgent extends chat_agents_1.AbstractStreamParsingChatAgent {
31
+ constructor() {
32
+ super(...arguments);
33
+ this.id = exports.AppTesterChatAgentId;
34
+ this.name = exports.AppTesterChatAgentId;
35
+ this.languageModelRequirements = [{
36
+ purpose: 'chat',
37
+ identifier: 'default/code',
38
+ }];
39
+ this.defaultLanguageModelPurpose = 'chat';
40
+ this.description = core_1.nls.localize('theia/ai/chat/app-tester/description', 'This agent tests your application user interface to verify user-specified test scenarios through the Playwright MCP server. '
41
+ + 'It can automate testing workflows and provide detailed feedback on application functionality.');
42
+ this.iconClass = 'codicon codicon-beaker';
43
+ this.systemPromptId = 'app-tester-system';
44
+ this.prompts = [{ id: 'app-tester-system', defaultVariant: app_tester_prompt_template_1.appTesterTemplate, variants: [app_tester_prompt_template_1.appTesterTemplateVariant] }];
45
+ }
46
+ /**
47
+ * Override invoke to check if the Playwright MCP server is running, and if not, ask the user if it should be started.
48
+ */
49
+ async invoke(request) {
50
+ try {
51
+ if (await this.requiresStartingServers()) {
52
+ // Ask the user if they want to start the server
53
+ request.response.response.addContent(new chat_model_1.QuestionResponseContentImpl(core_1.nls.localize('theia/ai/ide/app-tester/startPlaywrightServers/question', 'The Playwright MCP servers are not running. Would you like to start them now? This may install the Playwright MCP servers.'), [
54
+ { text: core_1.nls.localize('theia/ai/ide/app-tester/startPlaywrightServers/yes', 'Yes, start the servers'), value: 'yes' },
55
+ { text: core_1.nls.localize('theia/ai/ide/app-tester/startPlaywrightServers/no', 'No, cancel'), value: 'no' }
56
+ ], request, async (selectedOption) => {
57
+ if (selectedOption.value === 'yes') {
58
+ // Show progress
59
+ const progress = request.response.addProgressMessage({
60
+ content: core_1.nls.localize('theia/ai/ide/app-tester/startPlaywrightServers/progress', 'Starting Playwright MCP servers.'),
61
+ show: 'whileIncomplete'
62
+ });
63
+ try {
64
+ await this.startServers();
65
+ // Remove progress, continue with normal flow
66
+ request.response.updateProgressMessage({ ...progress, show: 'whileIncomplete', status: 'completed' });
67
+ await super.invoke(request);
68
+ }
69
+ catch (error) {
70
+ request.response.response.addContent(new chat_model_1.ErrorChatResponseContentImpl(new Error(core_1.nls.localize('theia/ai/ide/app-tester/startPlaywrightServers/error', 'Failed to start Playwright MCP server: {0}', error instanceof Error ? error.message : String(error)))));
71
+ request.response.complete();
72
+ }
73
+ }
74
+ else {
75
+ // Continue without starting the server
76
+ request.response.response.addContent(new chat_model_1.MarkdownChatResponseContentImpl(core_1.nls.localize('theia/ai/ide/app-tester/startPlaywrightServers/canceled', 'Please setup the MCP servers.')));
77
+ request.response.complete();
78
+ }
79
+ }));
80
+ request.response.waitForInput();
81
+ return;
82
+ }
83
+ // If already running, continue as normal
84
+ await super.invoke(request);
85
+ }
86
+ catch (error) {
87
+ request.response.response.addContent(new chat_model_1.ErrorChatResponseContentImpl(new Error(core_1.nls.localize('theia/ai/ide/app-tester/errorCheckingPlaywrightServerStatus', 'Error checking Playwright MCP server status: {0}', error instanceof Error ? error.message : String(error)))));
88
+ request.response.complete();
89
+ }
90
+ }
91
+ async requiresStartingServers() {
92
+ const allStarted = await Promise.all(app_tester_prompt_template_1.REQUIRED_MCP_SERVERS.map(server => this.mcpService.isServerStarted(server.name)));
93
+ return allStarted.some(started => !started);
94
+ }
95
+ async startServers() {
96
+ await this.ensureServersStarted(...app_tester_prompt_template_1.REQUIRED_MCP_SERVERS);
97
+ }
98
+ /**
99
+ * Starts the Playwright MCP server if it doesn't exist or isn't running.
100
+ *
101
+ * @returns A promise that resolves when the server is started
102
+ */
103
+ async ensureServersStarted(...servers) {
104
+ try {
105
+ const serversToInstall = [];
106
+ const serversToStart = [];
107
+ for (const server of servers) {
108
+ if (!(await this.mcpService.hasServer(server.name))) {
109
+ serversToInstall.push(server);
110
+ }
111
+ if (!(await this.mcpService.isServerStarted(server.name))) {
112
+ serversToStart.push(server);
113
+ }
114
+ }
115
+ for (const server of serversToInstall) {
116
+ const currentServers = this.preferenceService.get(mcp_preferences_1.MCP_SERVERS_PREF, {});
117
+ await this.preferenceService.set(mcp_preferences_1.MCP_SERVERS_PREF, { ...currentServers, [server.name]: server }, common_1.PreferenceScope.User);
118
+ await this.mcpService.addOrUpdateServer(server);
119
+ }
120
+ for (const server of serversToStart) {
121
+ await this.mcpService.startServer(server.name);
122
+ }
123
+ }
124
+ catch (error) {
125
+ this.logger.error(`Error starting MCP servers ${servers.map(s => s.name)}: ${error}`);
126
+ throw error;
127
+ }
128
+ }
129
+ };
130
+ exports.AppTesterChatAgent = AppTesterChatAgent;
131
+ tslib_1.__decorate([
132
+ (0, inversify_1.inject)(mcp_server_manager_1.MCPFrontendService),
133
+ tslib_1.__metadata("design:type", Object)
134
+ ], AppTesterChatAgent.prototype, "mcpService", void 0);
135
+ tslib_1.__decorate([
136
+ (0, inversify_1.inject)(common_1.PreferenceService),
137
+ tslib_1.__metadata("design:type", Object)
138
+ ], AppTesterChatAgent.prototype, "preferenceService", void 0);
139
+ exports.AppTesterChatAgent = AppTesterChatAgent = tslib_1.__decorate([
140
+ (0, inversify_1.injectable)()
141
+ ], AppTesterChatAgent);
142
+ //# sourceMappingURL=app-tester-chat-agent.js.map
@@ -0,0 +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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"}
@@ -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"}