@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
@@ -15,15 +15,16 @@
15
15
  // *****************************************************************************
16
16
 
17
17
  import { Agent, AgentService, AIVariable, AIVariableService } from '@theia/ai-core/lib/common';
18
- import { codicon, ReactWidget } from '@theia/core/lib/browser';
18
+ import { codicon } from '@theia/core/lib/browser';
19
19
  import { inject, injectable, postConstruct } from '@theia/core/shared/inversify';
20
20
  import * as React from '@theia/core/shared/react';
21
21
  import { AIAgentConfigurationWidget } from './agent-configuration-widget';
22
22
  import { AIConfigurationSelectionService } from './ai-configuration-service';
23
23
  import { nls } from '@theia/core';
24
+ import { AIListDetailConfigurationWidget } from './base/ai-list-detail-configuration-widget';
24
25
 
25
26
  @injectable()
26
- export class AIVariableConfigurationWidget extends ReactWidget {
27
+ export class AIVariableConfigurationWidget extends AIListDetailConfigurationWidget<AIVariable> {
27
28
 
28
29
  static readonly ID = 'ai-variable-configuration-container-widget';
29
30
  static readonly LABEL = nls.localizeByDefault('Variables');
@@ -42,60 +43,109 @@ export class AIVariableConfigurationWidget extends ReactWidget {
42
43
  this.id = AIVariableConfigurationWidget.ID;
43
44
  this.title.label = AIVariableConfigurationWidget.LABEL;
44
45
  this.title.closable = false;
45
- this.update();
46
- this.toDispose.push(this.variableService.onDidChangeVariables(() => this.update()));
47
- }
46
+ this.addClass('ai-configuration-widget');
48
47
 
49
- protected render(): React.ReactNode {
50
- return <div className='configuration-variables-list'>
51
- <ul>
52
- {this.variableService.getVariables().map(variable =>
53
- <li key={variable.id} className='variable-item' >
54
- <div className='settings-section-title settings-section-category-title' style={{ paddingLeft: 0, paddingBottom: 10 }}>{variable.name}</div>
55
- <small>{variable.id}</small>
56
- <small>{variable.description}</small>
57
- {this.renderReferencedVariables(variable)}
58
- {this.renderArgs(variable)}
59
- </li>
60
- )}
61
- </ul>
62
- </div>;
48
+ this.loadItems().then(() => this.update());
49
+ this.toDispose.push(this.variableService.onDidChangeVariables(async () => {
50
+ await this.loadItems();
51
+ this.update();
52
+ }));
63
53
  }
64
54
 
65
- protected renderReferencedVariables(variable: AIVariable): React.ReactNode | undefined {
66
- const agents = this.getAgentsForVariable(variable);
67
- if (agents.length === 0) {
68
- return;
55
+ protected async loadItems(): Promise<void> {
56
+ this.items = this.variableService.getVariables();
57
+ if (this.items.length > 0 && !this.selectedItem) {
58
+ this.selectedItem = this.items[0];
69
59
  }
60
+ }
70
61
 
71
- return <div>
72
- <h3>{nls.localize('theia/ai/ide/variableConfiguration/agents', 'Agents')}</h3>
73
- <ul className='variable-references'>
74
- {agents.map(agent => <li key={agent.id} className='theia-TreeNode theia-CompositeTreeNode theia-ExpandableTreeNode theia-mod-selected'>
75
- <div onClick={() => { this.showAgentConfiguration(agent); }} className='variable-reference'>
76
- <span>{agent.name}</span>
77
- <i className={codicon('chevron-right')}></i>
78
- </div></li>)}
79
- </ul>
80
- </div>;
62
+ protected getItemId(variable: AIVariable): string {
63
+ return variable.id;
64
+ }
65
+
66
+ protected getItemLabel(variable: AIVariable): string {
67
+ return variable.name;
68
+ }
69
+
70
+ protected override getEmptySelectionMessage(): string {
71
+ return nls.localize('theia/ai/ide/variableConfiguration/selectVariable', 'Please select a Variable.');
72
+ }
73
+
74
+ protected renderItemDetail(variable: AIVariable): React.ReactNode {
75
+ return (
76
+ <div>
77
+ <div className="settings-section-title settings-section-category-title">
78
+ {variable.name}
79
+ <pre className='ai-id-label'>Id: {variable.id}</pre>
80
+ </div>
81
+
82
+ {variable.description && (
83
+ <div style={{
84
+ marginBottom: 'calc(var(--theia-ui-padding) * 2)',
85
+ color: 'var(--theia-descriptionForeground)',
86
+ lineHeight: '1.5'
87
+ }}>
88
+ {variable.description}
89
+ </div>
90
+ )}
91
+
92
+ {this.renderArgs(variable)}
93
+ {this.renderReferencedVariables(variable)}
94
+ </div>
95
+ );
81
96
  }
82
97
 
83
98
  protected renderArgs(variable: AIVariable): React.ReactNode | undefined {
84
99
  if (variable.args === undefined || variable.args.length === 0) {
85
- return;
100
+ return undefined;
86
101
  }
87
102
 
88
- return <div className='variable-args-container'>
89
- <h3>{nls.localize('theia/ai/ide/variableConfiguration/variableArgs', 'Variable Arguments')}</h3>
90
- <div className='variable-args'>
91
- {variable.args.map(arg =>
92
- <React.Fragment key={arg.name}>
93
- <span>{arg.name}</span>
94
- <small>{arg.description}</small>
95
- </React.Fragment>
96
- )}
97
- </div>
98
- </div>;
103
+ return (
104
+ <>
105
+ <div className="settings-section-subcategory-title">
106
+ {nls.localize('theia/ai/ide/variableConfiguration/variableArgs', 'Arguments')}
107
+ </div>
108
+ <div style={{
109
+ display: 'grid',
110
+ gridTemplateColumns: 'auto 1fr',
111
+ gap: 'calc(var(--theia-ui-padding) / 2) var(--theia-ui-padding)',
112
+ alignItems: 'start',
113
+ marginBottom: 'calc(var(--theia-ui-padding) * 2)'
114
+ }}>
115
+ {variable.args.map(arg => (
116
+ <React.Fragment key={arg.name}>
117
+ <span style={{ fontWeight: 500 }}>{arg.name}:</span>
118
+ <span style={{ color: 'var(--theia-descriptionForeground)' }}>
119
+ {arg.description}
120
+ </span>
121
+ </React.Fragment>
122
+ ))}
123
+ </div>
124
+ </>
125
+ );
126
+ }
127
+
128
+ protected renderReferencedVariables(variable: AIVariable): React.ReactNode | undefined {
129
+ const agents = this.getAgentsForVariable(variable);
130
+ if (agents.length === 0) {
131
+ return undefined;
132
+ }
133
+
134
+ return (
135
+ <>
136
+ <div className="settings-section-subcategory-title">
137
+ {nls.localize('theia/ai/ide/variableConfiguration/usedByAgents', 'Used by Agents')}
138
+ </div>
139
+ <ul className="variable-agent-list">
140
+ {agents.map(agent => (
141
+ <li key={agent.id} className="variable-agent-item" onClick={() => this.showAgentConfiguration(agent)}>
142
+ <span>{agent.name}</span>
143
+ <i className={codicon('chevron-right')}></i>
144
+ </li>
145
+ ))}
146
+ </ul>
147
+ </>
148
+ );
99
149
  }
100
150
 
101
151
  protected showAgentConfiguration(agent: Agent): void {
@@ -0,0 +1,176 @@
1
+ // *****************************************************************************
2
+ // Copyright (C) 2025 EclipseSource GmbH.
3
+ //
4
+ // This program and the accompanying materials are made available under the
5
+ // terms of the Eclipse Public License v. 2.0 which is available at
6
+ // http://www.eclipse.org/legal/epl-2.0.
7
+ //
8
+ // This Source Code may also be made available under the following Secondary
9
+ // Licenses when the conditions for such availability set forth in the Eclipse
10
+ // Public License v. 2.0 are satisfied: GNU General Public License, version 2
11
+ // with the GNU Classpath Exception which is available at
12
+ // https://www.gnu.org/software/classpath/license.html.
13
+ //
14
+ // SPDX-License-Identifier: EPL-2.0 OR GPL-2.0-only WITH Classpath-exception-2.0
15
+ // *****************************************************************************
16
+
17
+ import { FrontendApplicationContribution } from '@theia/core/lib/browser';
18
+ import { inject, injectable } from '@theia/core/shared/inversify';
19
+ import { PromptService } from '@theia/ai-core/lib/common';
20
+ import { nls } from '@theia/core';
21
+ import { AGENT_DELEGATION_FUNCTION_ID } from '@theia/ai-chat/lib/browser/agent-delegation-tool';
22
+ import { GitHubChatAgentId } from './github-chat-agent';
23
+
24
+ @injectable()
25
+ export class AnalyzesGhTicketCommandContribution implements FrontendApplicationContribution {
26
+
27
+ @inject(PromptService)
28
+ protected readonly promptService: PromptService;
29
+
30
+ onStart(): void {
31
+ this.registerGitHubTicketCommand();
32
+ }
33
+
34
+ protected registerGitHubTicketCommand(): void {
35
+ const commandTemplate = this.buildCommandTemplate();
36
+
37
+ this.promptService.addBuiltInPromptFragment({
38
+ id: 'analyze-gh-ticket',
39
+ template: commandTemplate,
40
+ isCommand: true,
41
+ commandName: 'analyze-gh-ticket',
42
+ commandDescription: nls.localize(
43
+ 'theia/ai-ide/ticketCommand/description',
44
+ 'Analyze a GitHub ticket and create an implementation plan'
45
+ ),
46
+ commandArgumentHint: nls.localize(
47
+ 'theia/ai-ide/ticketCommand/argumentHint',
48
+ '<ticket-number>'
49
+ ),
50
+ commandAgents: ['Architect']
51
+ });
52
+ }
53
+
54
+ protected buildCommandTemplate(): string {
55
+ return `You have been asked to analyze a GitHub ticket and create an implementation plan.
56
+
57
+ ## Ticket Number
58
+ $ARGUMENTS
59
+
60
+ ## Task Overview
61
+ You need to retrieve details about the specified GitHub ticket and analyze whether it can be implemented by an AI coding agent.
62
+
63
+ ## Step 1: Retrieve Ticket Information
64
+ Use the ~{${AGENT_DELEGATION_FUNCTION_ID}} tool to delegate to the GitHub agent and retrieve comprehensive information about the ticket.
65
+
66
+ **Agent ID:** '${GitHubChatAgentId}'
67
+ **Prompt:** Ask the GitHub agent to retrieve ALL details about issue/ticket #$ARGUMENTS, specifically requesting:
68
+ - The complete issue title and description/body
69
+ - All comments on the issue (this is critical for understanding the full context)
70
+ - Labels and assignees
71
+ - Issue state (open/closed)
72
+ - Any referenced issues or pull requests mentioned in the description or comments
73
+ - If other issues are referenced, retrieve their details as well
74
+
75
+ Example delegation prompt:
76
+ \`\`\`
77
+ Please retrieve comprehensive information about issue #$ARGUMENTS. I need:
78
+ 1. The complete issue title, body/description, labels, state, and assignees
79
+ 2. ALL comments on this issue - every single comment is important for understanding the context
80
+ 3. Any issues or PRs that are referenced or linked in the description or comments
81
+ 4. For any referenced issues, please also retrieve their titles and descriptions
82
+
83
+ This is for analyzing whether the issue can be implemented, so completeness is crucial.
84
+ \`\`\`
85
+
86
+ ## Step 2: Analyze AI Solvability
87
+ After receiving the ticket information, analyze whether this ticket can be solved by an AI coding agent. Consider:
88
+
89
+ ### Criteria for AI-Solvable Tickets:
90
+ - **Clear requirements**: The ticket clearly describes what needs to be done
91
+ - **Defined scope**: The scope of changes is well-defined and bounded
92
+ - **Technical feasibility**: The task involves code changes that can be reasoned about
93
+ - **Sufficient context**: Enough information is provided to understand the problem and solution
94
+ - **Reproducible**: For bugs, there's enough information to understand and reproduce the issue
95
+
96
+ ### Criteria for Non-AI-Solvable Tickets:
97
+ - **Ambiguous requirements**: The ticket is vague or open to multiple interpretations
98
+ - **Missing context**: Critical information is missing (e.g., environment details, reproduction steps)
99
+ - **External dependencies**: Requires access to external systems, credentials, or human interaction
100
+ - **Design decisions needed**: Requires architectural decisions that need human judgment
101
+ - **Insufficient information**: Cannot determine what success looks like
102
+
103
+ ## Step 3: Respond Based on Analysis
104
+
105
+ ### If the ticket CANNOT be solved by AI:
106
+ Provide a clear explanation:
107
+ 1. **Reason**: Explain specifically why this ticket cannot be solved by AI
108
+ 2. **Missing Information**: List what information is missing or unclear
109
+ 3. **Questions for Clarification**: Ask specific questions that, if answered, might make the ticket solvable
110
+
111
+ Example response format:
112
+ \`\`\`
113
+ ## Analysis Result: Cannot Be Solved by AI
114
+
115
+ ### Reason
116
+ [Explain why]
117
+
118
+ ### Missing Information
119
+ - [Item 1]
120
+ - [Item 2]
121
+
122
+ ### Questions for Clarification
123
+ 1. [Question 1]
124
+ 2. [Question 2]
125
+ \`\`\`
126
+
127
+ ### If the ticket CAN be solved by AI:
128
+ Create a detailed implementation plan:
129
+
130
+ 1. **Summary**: Brief summary of what the ticket requests
131
+ 2. **Analysis**: Your understanding of the problem and the proposed solution approach
132
+ 3. **Implementation Plan**: A step-by-step plan that a coding agent can follow, including:
133
+ - Files that likely need to be modified or created
134
+ - Specific changes to be made in each file
135
+ - Order of operations
136
+ - Testing considerations
137
+ 4. **Potential Challenges**: Any challenges or edge cases to be aware of
138
+ 5. **Success Criteria**: How to verify the implementation is correct
139
+
140
+ Example response format:
141
+ \`\`\`
142
+ ## Analysis Result: Can Be Solved by AI
143
+
144
+ ### Summary
145
+ [Brief summary of the ticket]
146
+
147
+ ### Analysis
148
+ [Your understanding of the problem and solution approach]
149
+
150
+ ### Implementation Plan
151
+
152
+ #### Step 1: [First step]
153
+ - File: \`path/to/file\`
154
+ - Changes: [Description of changes]
155
+
156
+ #### Step 2: [Second step]
157
+ - File: \`path/to/file\`
158
+ - Changes: [Description of changes]
159
+
160
+ [Continue with additional steps...]
161
+
162
+ ### Potential Challenges
163
+ - [Challenge 1]
164
+ - [Challenge 2]
165
+
166
+ ### Success Criteria
167
+ - [Criterion 1]
168
+ - [Criterion 2]
169
+
170
+ ### Next Steps
171
+ To implement this plan, you can ask @Coder to execute it.
172
+ \`\`\`
173
+
174
+ Remember: Be thorough in your analysis. It's better to ask for clarification than to create an incomplete or incorrect implementation plan.`;
175
+ }
176
+ }
@@ -99,6 +99,9 @@ import { SuggestTerminalCommand } from './ai-terminal-functions';
99
99
  import { ContextFileValidationService } from '@theia/ai-chat/lib/browser/context-file-validation-service';
100
100
  import { ContextFileValidationServiceImpl } from './context-file-validation-service-impl';
101
101
  import { RememberCommandContribution } from './remember-command-contribution';
102
+ import { FixGitHubTicketCommandContribution } from './implement-gh-ticket-command-contribution';
103
+ import { AnalyzesGhTicketCommandContribution } from './analyze-gh-ticket-command-contribution';
104
+ import { AddressGhReviewCommandContribution } from './address-pr-review-command-contribution';
102
105
 
103
106
  export default new ContainerModule((bind, _unbind, _isBound, rebind) => {
104
107
  bind(PreferenceContribution).toConstantValue({ schema: aiIdePreferenceSchema });
@@ -278,4 +281,7 @@ export default new ContainerModule((bind, _unbind, _isBound, rebind) => {
278
281
  bind(ContextFileValidationService).toService(ContextFileValidationServiceImpl);
279
282
 
280
283
  bind(FrontendApplicationContribution).to(RememberCommandContribution);
284
+ bind(FrontendApplicationContribution).to(FixGitHubTicketCommandContribution);
285
+ bind(FrontendApplicationContribution).to(AddressGhReviewCommandContribution);
286
+ bind(FrontendApplicationContribution).to(AnalyzesGhTicketCommandContribution);
281
287
  });
@@ -0,0 +1,160 @@
1
+ // *****************************************************************************
2
+ // Copyright (C) 2025 EclipseSource GmbH.
3
+ //
4
+ // This program and the accompanying materials are made available under the
5
+ // terms of the Eclipse Public License v. 2.0 which is available at
6
+ // http://www.eclipse.org/legal/epl-2.0.
7
+ //
8
+ // This Source Code may also be made available under the following Secondary
9
+ // Licenses when the conditions for such availability set forth in the Eclipse
10
+ // Public License v. 2.0 are satisfied: GNU General Public License, version 2
11
+ // with the GNU Classpath Exception which is available at
12
+ // https://www.gnu.org/software/classpath/license.html.
13
+ //
14
+ // SPDX-License-Identifier: EPL-2.0 OR GPL-2.0-only WITH Classpath-exception-2.0
15
+ // *****************************************************************************
16
+
17
+ import { FrontendApplicationContribution } from '@theia/core/lib/browser';
18
+ import { inject, injectable } from '@theia/core/shared/inversify';
19
+ import { PromptService } from '@theia/ai-core/lib/common';
20
+ import { nls } from '@theia/core';
21
+ import { AGENT_DELEGATION_FUNCTION_ID } from '@theia/ai-chat/lib/browser/agent-delegation-tool';
22
+ import { GitHubChatAgentId } from './github-chat-agent';
23
+
24
+ @injectable()
25
+ export class FixGitHubTicketCommandContribution implements FrontendApplicationContribution {
26
+
27
+ @inject(PromptService)
28
+ protected readonly promptService: PromptService;
29
+
30
+ onStart(): void {
31
+ this.registerFixGitHubTicketCommand();
32
+ }
33
+
34
+ protected registerFixGitHubTicketCommand(): void {
35
+ const commandTemplate = this.buildCommandTemplate();
36
+
37
+ this.promptService.addBuiltInPromptFragment({
38
+ id: 'fix-gh-ticket',
39
+ template: commandTemplate,
40
+ isCommand: true,
41
+ commandName: 'fix-gh-ticket',
42
+ commandDescription: nls.localize(
43
+ 'theia/ai-ide/fixGhTicketCommand/description',
44
+ 'Analyze a GitHub ticket and implement the solution'
45
+ ),
46
+ commandArgumentHint: nls.localize(
47
+ 'theia/ai-ide/fixGhTicketCommand/argumentHint',
48
+ '<ticket-number>'
49
+ ),
50
+ commandAgents: ['Coder']
51
+ });
52
+ }
53
+
54
+ protected buildCommandTemplate(): string {
55
+ return `You have been asked to analyze a GitHub ticket and implement the solution.
56
+
57
+ ## Ticket Number
58
+ $ARGUMENTS
59
+
60
+ ## Task Overview
61
+ You need to retrieve details about the specified GitHub ticket, analyze whether it can be implemented, and if so, implement the solution.
62
+
63
+ ## Step 1: Retrieve Ticket Information
64
+ Use the ~{${AGENT_DELEGATION_FUNCTION_ID}} tool to delegate to the GitHub agent and retrieve comprehensive information about the ticket.
65
+
66
+ **Agent ID:** '${GitHubChatAgentId}'
67
+ **Prompt:** Ask the GitHub agent to retrieve ALL details about issue/ticket #$ARGUMENTS, specifically requesting:
68
+ - The complete issue title and description/body
69
+ - All comments on the issue (this is critical for understanding the full context)
70
+ - Labels and assignees
71
+ - Issue state (open/closed)
72
+ - Any referenced issues or pull requests mentioned in the description or comments
73
+ - If other issues are referenced, retrieve their details as well
74
+
75
+ Example delegation prompt:
76
+ \`\`\`
77
+ Please retrieve comprehensive information about issue #$ARGUMENTS. I need:
78
+ 1. The complete issue title, body/description, labels, state, and assignees
79
+ 2. ALL comments on this issue - every single comment is important for understanding the context
80
+ 3. Any issues or PRs that are referenced or linked in the description or comments
81
+ 4. For any referenced issues, please also retrieve their titles and descriptions
82
+
83
+ This is for implementing the issue, so completeness is crucial.
84
+ \`\`\`
85
+
86
+ ## Step 2: Analyze AI Solvability
87
+ After receiving the ticket information, analyze whether this ticket can be implemented by you. Consider:
88
+
89
+ ### Criteria for Implementable Tickets:
90
+ - **Clear requirements**: The ticket clearly describes what needs to be done
91
+ - **Defined scope**: The scope of changes is well-defined and bounded
92
+ - **Technical feasibility**: The task involves code changes that can be reasoned about
93
+ - **Sufficient context**: Enough information is provided to understand the problem and solution
94
+ - **Reproducible**: For bugs, there's enough information to understand and reproduce the issue
95
+
96
+ ### Criteria for Non-Implementable Tickets:
97
+ - **Ambiguous requirements**: The ticket is vague or open to multiple interpretations
98
+ - **Missing context**: Critical information is missing (e.g., environment details, reproduction steps)
99
+ - **External dependencies**: Requires access to external systems, credentials, or human interaction
100
+ - **Design decisions needed**: Requires architectural decisions that need human judgment
101
+ - **Insufficient information**: Cannot determine what success looks like
102
+
103
+ ## Step 3: Respond Based on Analysis
104
+
105
+ ### If the ticket CANNOT be implemented:
106
+ Provide a clear explanation:
107
+ 1. **Reason**: Explain specifically why this ticket cannot be implemented by AI
108
+ 2. **Missing Information**: List what information is missing or unclear
109
+ 3. **Questions for Clarification**: Ask specific questions that, if answered, might make the ticket implementable
110
+
111
+ Example response format:
112
+ \`\`\`
113
+ ## Analysis Result: Cannot Be Implemented
114
+
115
+ ### Reason
116
+ [Explain why]
117
+
118
+ ### Missing Information
119
+ - [Item 1]
120
+ - [Item 2]
121
+
122
+ ### Questions for Clarification
123
+ 1. [Question 1]
124
+ 2. [Question 2]
125
+
126
+ Please provide the missing information and I will proceed with the implementation.
127
+ \`\`\`
128
+
129
+ ### If the ticket CAN be implemented:
130
+ Proceed with the implementation:
131
+
132
+ 1. **Briefly summarize** what the ticket requests and your implementation approach
133
+ 2. **Explore the codebase** to understand the existing code structure and find relevant files
134
+ 3. **Implement the solution** by making the necessary code changes using your file modification tools
135
+ 4. **Explain your changes** as you make them
136
+ 5. **Consider edge cases** and handle them appropriately
137
+ 6. **Suggest testing steps** the user should perform to verify the implementation
138
+
139
+ Example response format:
140
+ \`\`\`
141
+ ## Analysis Result: Can Be Implemented
142
+
143
+ ### Summary
144
+ [Brief summary of the ticket and your approach]
145
+
146
+ ### Implementation
147
+ [Proceed to explore the codebase and implement the changes, explaining as you go]
148
+ \`\`\`
149
+
150
+ ## Important Guidelines for Implementation
151
+ - Always explore the codebase first to understand the existing patterns and conventions
152
+ - Follow the existing code style and patterns in the project
153
+ - Make incremental changes and explain each step
154
+ - If you encounter unexpected issues during implementation, explain them and ask for guidance
155
+ - After implementation, summarize what was changed and suggest how to test the changes
156
+
157
+ Remember: If at any point during implementation you realize you need more information or the task is more complex than initially assessed, stop and ask for clarification rather
158
+ than making assumptions.`;
159
+ }
160
+ }
@@ -0,0 +1,90 @@
1
+ /********************************************************************************
2
+ * Copyright (C) 2025 EclipseSource GmbH.
3
+ *
4
+ * This program and the accompanying materials are made available under the
5
+ * terms of the Eclipse Public License v. 2.0 which is available at
6
+ * http://www.eclipse.org/legal/epl-2.0.
7
+ *
8
+ * This Source Code may also be made available under the following Secondary
9
+ * Licenses when the conditions for such availability set forth in the Eclipse
10
+ * Public License v. 2.0 are satisfied: GNU General Public License, version 2
11
+ * with the GNU Classpath Exception which is available at
12
+ * https://www.gnu.org/software/classpath/license.html.
13
+ *
14
+ * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0-only WITH Classpath-exception-2.0
15
+ ********************************************************************************/
16
+
17
+ /* Base styles for all AI configuration widgets */
18
+
19
+ .ai-configuration-widget-content {
20
+ width: 100%;
21
+ height: 100%;
22
+ overflow: auto;
23
+ }
24
+
25
+ /* Empty state styling */
26
+ .ai-configuration-empty-state {
27
+ display: flex;
28
+ align-items: center;
29
+ justify-content: center;
30
+ height: 100%;
31
+ padding: var(--theia-ui-padding);
32
+ }
33
+
34
+ .ai-empty-state-message {
35
+ color: var(--theia-descriptionForeground);
36
+ font-style: italic;
37
+ }
38
+
39
+ /* Configuration section styling */
40
+ .ai-configuration-section {
41
+ margin-bottom: calc(var(--theia-ui-padding) * 2);
42
+ }
43
+
44
+ .ai-configuration-section:last-child {
45
+ margin-bottom: 0;
46
+ }
47
+
48
+ .ai-configuration-section-content {
49
+ padding: var(--theia-ui-padding) 0;
50
+ }
51
+
52
+ .ai-configuration-section-content ul,
53
+ .ai-configuration-section-content ol {
54
+ padding-left: calc(var(--theia-ui-padding) * 2);
55
+ margin: 0 var(--theia-ui-padding) 0;
56
+ }
57
+
58
+ /* Expandable section styling */
59
+ .ai-expandable-section {
60
+ margin-bottom: var(--theia-ui-padding);
61
+ }
62
+
63
+ .ai-expandable-section-header {
64
+ display: flex;
65
+ align-items: center;
66
+ padding: calc(var(--theia-ui-padding) / 2) 0;
67
+ cursor: pointer;
68
+ user-select: none;
69
+ }
70
+
71
+ .ai-expandable-section-header:hover {
72
+ background-color: var(--theia-list-hoverBackground);
73
+ }
74
+
75
+ .ai-expandable-section-icon {
76
+ display: flex;
77
+ align-items: center;
78
+ margin-right: calc(var(--theia-ui-padding) / 2);
79
+ color: var(--theia-icon-foreground);
80
+ }
81
+
82
+ .ai-expandable-section-title {
83
+ flex: 1;
84
+ font-weight: 500;
85
+ }
86
+
87
+ .ai-expandable-section-content {
88
+ padding-left: calc(var(--theia-ui-padding) * 2);
89
+ padding-top: calc(var(--theia-ui-padding) / 2);
90
+ }
@@ -0,0 +1,60 @@
1
+ /********************************************************************************
2
+ * Copyright (C) 2025 EclipseSource GmbH.
3
+ *
4
+ * This program and the accompanying materials are made available under the
5
+ * terms of the Eclipse Public License v. 2.0 which is available at
6
+ * http://www.eclipse.org/legal/epl-2.0.
7
+ *
8
+ * This Source Code may also be made available under the following Secondary
9
+ * Licenses when the conditions for such availability set forth in the Eclipse
10
+ * Public License v. 2.0 are satisfied: GNU General Public License, version 2
11
+ * with the GNU Classpath Exception which is available at
12
+ * https://www.gnu.org/software/classpath/license.html.
13
+ *
14
+ * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0-only WITH Classpath-exception-2.0
15
+ ********************************************************************************/
16
+
17
+ /* Card grid pattern for displaying items in a responsive grid */
18
+
19
+ .ai-card-grid-configuration-main {
20
+ padding: var(--theia-ui-padding);
21
+ height: 100%;
22
+ overflow: auto;
23
+ }
24
+
25
+ .ai-configuration-card-grid {
26
+ display: grid;
27
+ grid-template-columns: repeat(auto-fill, minmax(300px, 1fr));
28
+ gap: var(--theia-ui-padding);
29
+ }
30
+
31
+ .ai-configuration-card {
32
+ background-color: var(--theia-sideBar-background);
33
+ border: var(--theia-border-width) solid var(--theia-widget-border);
34
+ border-radius: 4px;
35
+ padding: var(--theia-ui-padding);
36
+ transition: box-shadow 0.2s ease;
37
+ }
38
+
39
+ .ai-configuration-card:hover {
40
+ box-shadow: 0 2px 8px var(--theia-widget-shadow);
41
+ }
42
+
43
+ /* Responsive grid */
44
+ @media (max-width: 900px) {
45
+ .ai-configuration-card-grid {
46
+ grid-template-columns: repeat(auto-fill, minmax(250px, 1fr));
47
+ }
48
+ }
49
+
50
+ @media (max-width: 600px) {
51
+ .ai-configuration-card-grid {
52
+ grid-template-columns: 1fr;
53
+ }
54
+ }
55
+
56
+ @media (max-width: 400px) {
57
+ .ai-card-grid-configuration-main {
58
+ padding: calc(var(--theia-ui-padding) / 2);
59
+ }
60
+ }