@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,42 @@
1
+ /// <reference types="react" />
2
+ import { ReactWidget } from '@theia/core/lib/browser';
3
+ import * as React from '@theia/core/shared/react';
4
+ import { HoverService } from '@theia/core/lib/browser/hover-service';
5
+ import { MCPFrontendNotificationService, MCPFrontendService, MCPServerDescription, MCPServerStatus } from '@theia/ai-mcp/lib/common/mcp-server-manager';
6
+ import { MessageService } from '@theia/core';
7
+ export declare class AIMCPConfigurationWidget extends ReactWidget {
8
+ static readonly ID = "ai-mcp-configuration-container-widget";
9
+ static readonly LABEL: string;
10
+ protected servers: MCPServerDescription[];
11
+ protected expandedTools: Record<string, boolean>;
12
+ protected readonly mcpFrontendService: MCPFrontendService;
13
+ protected readonly mcpFrontendNotificationService: MCPFrontendNotificationService;
14
+ protected readonly hoverService: HoverService;
15
+ protected readonly messageService: MessageService;
16
+ protected init(): void;
17
+ protected loadServers(): Promise<void>;
18
+ protected getStatusColor(status?: MCPServerStatus): {
19
+ bg: string;
20
+ fg: string;
21
+ };
22
+ protected showErrorHover(spanRef: React.RefObject<HTMLSpanElement>, error: string): void;
23
+ protected hideErrorHover(): void;
24
+ protected handleStartServer(serverName: string): Promise<void>;
25
+ protected handleStopServer(serverName: string): Promise<void>;
26
+ protected renderButton(text: React.ReactNode, title: string, onClick: React.MouseEventHandler<HTMLButtonElement>, className?: string, style?: React.CSSProperties): React.ReactNode;
27
+ protected renderStatusBadge(server: MCPServerDescription): React.ReactNode;
28
+ protected renderServerHeader(server: MCPServerDescription): React.ReactNode;
29
+ protected renderCommandSection(server: MCPServerDescription): React.ReactNode;
30
+ protected renderArgumentsSection(server: MCPServerDescription): React.ReactNode;
31
+ protected renderEnvironmentSection(server: MCPServerDescription): React.ReactNode;
32
+ protected renderServerUrlSection(server: MCPServerDescription): React.ReactNode;
33
+ protected renderServerAuthTokenHeaderSection(server: MCPServerDescription): React.ReactNode;
34
+ protected renderServerAuthTokenSection(server: MCPServerDescription): React.ReactNode;
35
+ protected renderServerHeadersSection(server: MCPServerDescription): React.ReactNode;
36
+ protected renderAutostartSection(server: MCPServerDescription): React.ReactNode;
37
+ protected renderToolsSection(server: MCPServerDescription): React.ReactNode;
38
+ protected toggleTools(serverName: string): void;
39
+ protected renderServerCard(server: MCPServerDescription): React.ReactNode;
40
+ protected render(): React.ReactNode;
41
+ }
42
+ //# sourceMappingURL=mcp-configuration-widget.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mcp-configuration-widget.d.ts","sourceRoot":"","sources":["../../../src/browser/ai-configuration/mcp-configuration-widget.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,308 @@
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 AIMCPConfigurationWidget_1;
18
+ Object.defineProperty(exports, "__esModule", { value: true });
19
+ exports.AIMCPConfigurationWidget = void 0;
20
+ const tslib_1 = require("tslib");
21
+ const browser_1 = require("@theia/core/lib/browser");
22
+ const inversify_1 = require("@theia/core/shared/inversify");
23
+ const React = require("@theia/core/shared/react");
24
+ const hover_service_1 = require("@theia/core/lib/browser/hover-service");
25
+ const mcp_server_manager_1 = require("@theia/ai-mcp/lib/common/mcp-server-manager");
26
+ const core_1 = require("@theia/core");
27
+ const prompt_variable_contribution_1 = require("@theia/ai-core/lib/common/prompt-variable-contribution");
28
+ let AIMCPConfigurationWidget = AIMCPConfigurationWidget_1 = class AIMCPConfigurationWidget extends browser_1.ReactWidget {
29
+ constructor() {
30
+ super(...arguments);
31
+ this.servers = [];
32
+ this.expandedTools = {};
33
+ }
34
+ init() {
35
+ this.id = AIMCPConfigurationWidget_1.ID;
36
+ this.title.label = AIMCPConfigurationWidget_1.LABEL;
37
+ this.title.closable = false;
38
+ this.toDispose.push(this.mcpFrontendNotificationService.onDidUpdateMCPServers(async () => {
39
+ this.loadServers();
40
+ }));
41
+ this.loadServers();
42
+ }
43
+ async loadServers() {
44
+ const serverNames = await this.mcpFrontendService.getServerNames();
45
+ const descriptions = await Promise.all(serverNames.map(name => this.mcpFrontendService.getServerDescription(name)));
46
+ this.servers = descriptions.filter((desc) => desc !== undefined);
47
+ this.update();
48
+ }
49
+ getStatusColor(status) {
50
+ if (!status) {
51
+ return { bg: 'var(--theia-descriptionForeground)', fg: 'white' };
52
+ }
53
+ switch (status) {
54
+ case mcp_server_manager_1.MCPServerStatus.Running:
55
+ case mcp_server_manager_1.MCPServerStatus.Connected:
56
+ return { bg: 'var(--theia-successBackground)', fg: 'var(--theia-successForeground)' };
57
+ case mcp_server_manager_1.MCPServerStatus.Starting:
58
+ case mcp_server_manager_1.MCPServerStatus.Connecting:
59
+ return { bg: 'var(--theia-warningBackground)', fg: 'var(--theia-warningForeground)' };
60
+ case mcp_server_manager_1.MCPServerStatus.Errored:
61
+ return { bg: 'var(--theia-errorBackground)', fg: 'var(--theia-errorForeground)' };
62
+ case mcp_server_manager_1.MCPServerStatus.NotRunning:
63
+ case mcp_server_manager_1.MCPServerStatus.NotConnected:
64
+ default:
65
+ return { bg: 'var(--theia-inputValidation-infoBackground)', fg: 'var(--theia-inputValidation-infoForeground)' };
66
+ }
67
+ }
68
+ showErrorHover(spanRef, error) {
69
+ this.hoverService.requestHover({ content: error, target: spanRef.current, position: 'left' });
70
+ }
71
+ hideErrorHover() {
72
+ this.hoverService.cancelHover();
73
+ }
74
+ async handleStartServer(serverName) {
75
+ await this.mcpFrontendService.startServer(serverName);
76
+ }
77
+ async handleStopServer(serverName) {
78
+ await this.mcpFrontendService.stopServer(serverName);
79
+ }
80
+ renderButton(text, title, onClick, className, style) {
81
+ return (React.createElement("button", { className: className, title: title, onClick: onClick, style: style }, text));
82
+ }
83
+ renderStatusBadge(server) {
84
+ const colors = this.getStatusColor(server.status);
85
+ let displayStatus = server.status;
86
+ if (!displayStatus) {
87
+ displayStatus = (0, mcp_server_manager_1.isRemoteMCPServerDescription)(server) ? mcp_server_manager_1.MCPServerStatus.NotConnected : mcp_server_manager_1.MCPServerStatus.NotRunning;
88
+ }
89
+ const spanRef = React.createRef();
90
+ const error = server.error;
91
+ return (React.createElement("div", { className: "mcp-status-container" },
92
+ React.createElement("span", { className: "mcp-status-badge", style: {
93
+ backgroundColor: colors.bg,
94
+ color: colors.fg
95
+ } }, displayStatus),
96
+ error && (React.createElement("span", { onMouseEnter: () => this.showErrorHover(spanRef, error), onMouseLeave: () => this.hideErrorHover(), ref: spanRef, className: "mcp-error-indicator" }, "?"))));
97
+ }
98
+ renderServerHeader(server) {
99
+ const isStoppable = server.status === mcp_server_manager_1.MCPServerStatus.Running
100
+ || server.status === mcp_server_manager_1.MCPServerStatus.Connected
101
+ || server.status === mcp_server_manager_1.MCPServerStatus.Starting
102
+ || server.status === mcp_server_manager_1.MCPServerStatus.Connecting;
103
+ const isStartable = server.status === mcp_server_manager_1.MCPServerStatus.NotRunning
104
+ || server.status === mcp_server_manager_1.MCPServerStatus.NotConnected
105
+ || server.status === mcp_server_manager_1.MCPServerStatus.Errored;
106
+ const isRemote = (0, mcp_server_manager_1.isRemoteMCPServerDescription)(server);
107
+ const startIcon = isRemote ? 'plug' : 'play';
108
+ const stopIcon = isRemote ? 'debug-disconnect' : 'close';
109
+ const startLabel = isRemote
110
+ ? core_1.nls.localize('theia/ai/mcpConfiguration/connectServer', 'Connect')
111
+ : core_1.nls.localize('theia/ai/mcpConfiguration/startServer', 'Start Server');
112
+ const stopLabel = isRemote
113
+ ? core_1.nls.localize('theia/ai/mcpConfiguration/disconnectServer', 'Disconnect')
114
+ : core_1.nls.localize('theia/ai/mcpConfiguration/stopServer', 'Stop Server');
115
+ return (React.createElement("div", { className: "mcp-server-header" },
116
+ React.createElement("div", { className: "mcp-server-name" }, server.name),
117
+ React.createElement("div", { className: "mcp-server-header-controls" },
118
+ this.renderStatusBadge(server),
119
+ isStartable && (React.createElement("button", { className: `mcp-action-button codicon codicon-${startIcon}`, onClick: () => this.handleStartServer(server.name), title: startLabel })),
120
+ isStoppable && (React.createElement("button", { className: `mcp-action-button codicon codicon-${stopIcon}`, onClick: () => this.handleStopServer(server.name), title: stopLabel })))));
121
+ }
122
+ renderCommandSection(server) {
123
+ if (!(0, mcp_server_manager_1.isLocalMCPServerDescription)(server)) {
124
+ return;
125
+ }
126
+ return (React.createElement("div", { className: "mcp-property-row" },
127
+ React.createElement("span", { className: "mcp-property-label" },
128
+ core_1.nls.localize('theia/ai/mcpConfiguration/command', 'Command'),
129
+ ":"),
130
+ React.createElement("code", { className: "mcp-property-value" }, server.command)));
131
+ }
132
+ renderArgumentsSection(server) {
133
+ if (!(0, mcp_server_manager_1.isLocalMCPServerDescription)(server) || !server.args || server.args.length === 0) {
134
+ return;
135
+ }
136
+ return (React.createElement("div", { className: "mcp-property-row" },
137
+ React.createElement("span", { className: "mcp-property-label" },
138
+ core_1.nls.localize('theia/ai/mcpConfiguration/arguments', 'Arguments'),
139
+ ":"),
140
+ React.createElement("code", { className: "mcp-property-value" }, server.args.join(' '))));
141
+ }
142
+ renderEnvironmentSection(server) {
143
+ if (!(0, mcp_server_manager_1.isLocalMCPServerDescription)(server) || !server.env || Object.keys(server.env).length === 0) {
144
+ return;
145
+ }
146
+ return (React.createElement("div", { className: "mcp-property-row" },
147
+ React.createElement("span", { className: "mcp-property-label" },
148
+ core_1.nls.localize('theia/ai/mcpConfiguration/environmentVariables', 'Environment Variables'),
149
+ ":"),
150
+ React.createElement("div", { className: "mcp-property-value" }, Object.entries(server.env).map(([key, value]) => (React.createElement("div", { key: key, className: "mcp-env-entry" },
151
+ React.createElement("code", null,
152
+ key,
153
+ "=",
154
+ key.toLowerCase().includes('token') ? '******' : String(value))))))));
155
+ }
156
+ renderServerUrlSection(server) {
157
+ if (!(0, mcp_server_manager_1.isRemoteMCPServerDescription)(server)) {
158
+ return;
159
+ }
160
+ return (React.createElement("div", { className: "mcp-property-row" },
161
+ React.createElement("span", { className: "mcp-property-label" },
162
+ core_1.nls.localize('theia/ai/mcpConfiguration/serverUrl', 'Server URL'),
163
+ ":"),
164
+ React.createElement("code", { className: "mcp-property-value" }, server.serverUrl)));
165
+ }
166
+ renderServerAuthTokenHeaderSection(server) {
167
+ if (!(0, mcp_server_manager_1.isRemoteMCPServerDescription)(server) || !server.serverAuthTokenHeader) {
168
+ return;
169
+ }
170
+ return (React.createElement("div", { className: "mcp-property-row" },
171
+ React.createElement("span", { className: "mcp-property-label" },
172
+ core_1.nls.localize('theia/ai/mcpConfiguration/serverAuthTokenHeader', 'Auth Header Name'),
173
+ ":"),
174
+ React.createElement("code", { className: "mcp-property-value" }, server.serverAuthTokenHeader)));
175
+ }
176
+ renderServerAuthTokenSection(server) {
177
+ if (!(0, mcp_server_manager_1.isRemoteMCPServerDescription)(server) || !server.serverAuthToken) {
178
+ return;
179
+ }
180
+ return (React.createElement("div", { className: "mcp-property-row" },
181
+ React.createElement("span", { className: "mcp-property-label" },
182
+ core_1.nls.localize('theia/ai/mcpConfiguration/serverAuthToken', 'Auth Token'),
183
+ ":"),
184
+ React.createElement("code", { className: "mcp-property-value" }, "******")));
185
+ }
186
+ renderServerHeadersSection(server) {
187
+ if (!(0, mcp_server_manager_1.isRemoteMCPServerDescription)(server) || !server.headers) {
188
+ return;
189
+ }
190
+ return (React.createElement("div", { className: "mcp-property-row" },
191
+ React.createElement("span", { className: "mcp-property-label" },
192
+ core_1.nls.localize('theia/ai/mcpConfiguration/headers', 'Headers'),
193
+ ":"),
194
+ React.createElement("div", { className: "mcp-property-value" }, Object.entries(server.headers).map(([key, value]) => (React.createElement("div", { key: key, className: "mcp-env-entry" },
195
+ React.createElement("code", null,
196
+ key,
197
+ "=",
198
+ (key.toLowerCase().includes('token') || key.toLowerCase().includes('authorization')) ? '******' : String(value))))))));
199
+ }
200
+ renderAutostartSection(server) {
201
+ return (React.createElement("div", { className: "mcp-property-row" },
202
+ React.createElement("span", { className: "mcp-property-label" },
203
+ core_1.nls.localize('theia/ai/mcpConfiguration/autostart', 'Autostart'),
204
+ ":"),
205
+ React.createElement("span", { className: "mcp-autostart-badge", style: {
206
+ color: server.autostart ? 'var(--theia-successForeground)' : 'var(--theia-errorForeground)',
207
+ } }, server.autostart ? core_1.nls.localize('theia/ai/mcpConfiguration/enabled', 'Enabled') : core_1.nls.localize('theia/ai/mcpConfiguration/disabled', 'Disabled'))));
208
+ }
209
+ renderToolsSection(server) {
210
+ if (!server.tools || server.tools.length === 0) {
211
+ return;
212
+ }
213
+ const isToolsExpanded = this.expandedTools[server.name] || false;
214
+ return (React.createElement("div", { className: "mcp-tools-section" },
215
+ React.createElement("div", { className: "mcp-tools-header", onClick: () => this.toggleTools(server.name) },
216
+ React.createElement("div", { className: "mcp-toggle-indicator" },
217
+ React.createElement("span", { className: "mcp-toggle-icon" }, isToolsExpanded ? '▼' : '►')),
218
+ React.createElement("div", { className: "mcp-tools-label-container" },
219
+ React.createElement("span", { className: "mcp-section-label" }, core_1.nls.localize('theia/ai/mcpConfiguration/tools', 'Tools: '))),
220
+ React.createElement("div", { className: "mcp-tools-actions" },
221
+ this.renderButton(React.createElement("i", { className: "codicon codicon-versions" }), core_1.nls.localize('theia/ai/mcpConfiguration/copyAllList', 'Copy all (list of all tools)'), e => {
222
+ e.stopPropagation();
223
+ if (server.tools) {
224
+ const toolNames = server.tools.map(tool => `~{mcp_${server.name}_${tool.name}}`).join('\n');
225
+ navigator.clipboard.writeText(toolNames);
226
+ this.messageService.info(core_1.nls.localize('theia/ai/mcpConfiguration/copiedAllList', 'Copied all tools to clipboard (list of all tools)'));
227
+ }
228
+ }, 'mcp-copy-tool-button'),
229
+ this.renderButton(React.createElement("i", { className: "codicon codicon-bracket" }), core_1.nls.localize('theia/ai/mcpConfiguration/copyForPromptTemplate', 'Copy all for prompt template (single prompt fragment with all tools)'), e => {
230
+ e.stopPropagation();
231
+ navigator.clipboard.writeText(`{{${prompt_variable_contribution_1.PROMPT_VARIABLE.name}:${this.mcpFrontendService.getPromptTemplateId(server.name)}}}`);
232
+ this.messageService.info(core_1.nls.localize('theia/ai/mcpConfiguration/copiedForPromptTemplate', 'Copied all tools to clipboard for prompt template \
233
+ (single prompt fragment with all tools)'));
234
+ }, 'mcp-copy-tool-button'),
235
+ this.renderButton(React.createElement("i", { className: "codicon codicon-copy" }), core_1.nls.localize('theia/ai/mcpConfiguration/copyAllSingle', 'Copy all for chat (single prompt fragment with all tools)'), e => {
236
+ e.stopPropagation();
237
+ navigator.clipboard.writeText(`#${prompt_variable_contribution_1.PROMPT_VARIABLE.name}:${this.mcpFrontendService.getPromptTemplateId(server.name)}`);
238
+ this.messageService.info(core_1.nls.localize('theia/ai/mcpConfiguration/copiedAllSingle', 'Copied all tools to clipboard (single prompt fragment with \
239
+ all tools)'));
240
+ }, 'mcp-copy-tool-button'))),
241
+ isToolsExpanded && (React.createElement("div", { className: "mcp-tools-list" }, server.tools.map(tool => (React.createElement("div", { key: tool.name, className: "mcp-tool-item" },
242
+ React.createElement("div", { className: "mcp-tool-content" },
243
+ React.createElement("strong", null,
244
+ tool.name,
245
+ ":"),
246
+ " ",
247
+ tool.description),
248
+ React.createElement("div", { className: "mcp-tool-actions" }, this.renderButton(React.createElement("i", { className: "codicon codicon-copy" }), core_1.nls.localize('theia/ai/mcpConfiguration/copyForPrompt', 'Copy tool (for chat or prompt template)'), e => {
249
+ e.stopPropagation();
250
+ const copied = `~{mcp_${server.name}_${tool.name}}`;
251
+ navigator.clipboard.writeText(copied);
252
+ this.messageService.info(`Copied ${copied} to clipboard (for chat or prompt template)`);
253
+ }, 'mcp-copy-tool-button')))))))));
254
+ }
255
+ toggleTools(serverName) {
256
+ this.expandedTools[serverName] = !this.expandedTools[serverName];
257
+ this.update();
258
+ }
259
+ renderServerCard(server) {
260
+ return (React.createElement("div", { key: server.name, className: "mcp-server-card" },
261
+ this.renderServerHeader(server),
262
+ React.createElement("div", { className: "mcp-server-content" },
263
+ this.renderCommandSection(server),
264
+ this.renderArgumentsSection(server),
265
+ this.renderEnvironmentSection(server),
266
+ this.renderServerUrlSection(server),
267
+ this.renderServerAuthTokenHeaderSection(server),
268
+ this.renderServerAuthTokenSection(server),
269
+ this.renderServerHeadersSection(server),
270
+ this.renderAutostartSection(server)),
271
+ this.renderToolsSection(server)));
272
+ }
273
+ render() {
274
+ if (this.servers.length === 0) {
275
+ return (React.createElement("div", { className: "mcp-no-servers" }, core_1.nls.localize('theia/ai/mcpConfiguration/noServers', 'No MCP servers configured')));
276
+ }
277
+ return (React.createElement("div", { className: "mcp-configuration-container" }, this.servers.map(server => this.renderServerCard(server))));
278
+ }
279
+ };
280
+ exports.AIMCPConfigurationWidget = AIMCPConfigurationWidget;
281
+ AIMCPConfigurationWidget.ID = 'ai-mcp-configuration-container-widget';
282
+ AIMCPConfigurationWidget.LABEL = core_1.nls.localize('theia/ai/mcpConfiguration/widgetLabel', 'MCP Servers');
283
+ tslib_1.__decorate([
284
+ (0, inversify_1.inject)(mcp_server_manager_1.MCPFrontendService),
285
+ tslib_1.__metadata("design:type", Object)
286
+ ], AIMCPConfigurationWidget.prototype, "mcpFrontendService", void 0);
287
+ tslib_1.__decorate([
288
+ (0, inversify_1.inject)(mcp_server_manager_1.MCPFrontendNotificationService),
289
+ tslib_1.__metadata("design:type", Object)
290
+ ], AIMCPConfigurationWidget.prototype, "mcpFrontendNotificationService", void 0);
291
+ tslib_1.__decorate([
292
+ (0, inversify_1.inject)(hover_service_1.HoverService),
293
+ tslib_1.__metadata("design:type", hover_service_1.HoverService)
294
+ ], AIMCPConfigurationWidget.prototype, "hoverService", void 0);
295
+ tslib_1.__decorate([
296
+ (0, inversify_1.inject)(core_1.MessageService),
297
+ tslib_1.__metadata("design:type", core_1.MessageService)
298
+ ], AIMCPConfigurationWidget.prototype, "messageService", void 0);
299
+ tslib_1.__decorate([
300
+ (0, inversify_1.postConstruct)(),
301
+ tslib_1.__metadata("design:type", Function),
302
+ tslib_1.__metadata("design:paramtypes", []),
303
+ tslib_1.__metadata("design:returntype", void 0)
304
+ ], AIMCPConfigurationWidget.prototype, "init", null);
305
+ exports.AIMCPConfigurationWidget = AIMCPConfigurationWidget = AIMCPConfigurationWidget_1 = tslib_1.__decorate([
306
+ (0, inversify_1.injectable)()
307
+ ], AIMCPConfigurationWidget);
308
+ //# sourceMappingURL=mcp-configuration-widget.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mcp-configuration-widget.js","sourceRoot":"","sources":["../../../src/browser/ai-configuration/mcp-configuration-widget.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,27 @@
1
+ /// <reference types="react" />
2
+ import * as React from '@theia/core/shared/react';
3
+ import { LanguageModelAliasRegistry, LanguageModelAlias } from '@theia/ai-core/lib/common/language-model-alias';
4
+ import { FrontendLanguageModelRegistry, LanguageModel } from '@theia/ai-core/lib/common/language-model';
5
+ import { AgentService, AISettingsService } from '@theia/ai-core';
6
+ import { AIListDetailConfigurationWidget } from './base/ai-list-detail-configuration-widget';
7
+ export declare class ModelAliasesConfigurationWidget extends AIListDetailConfigurationWidget<LanguageModelAlias> {
8
+ static readonly ID = "ai-model-aliases-configuration-widget";
9
+ static readonly LABEL: string;
10
+ protected readonly languageModelAliasRegistry: LanguageModelAliasRegistry;
11
+ protected readonly languageModelRegistry: FrontendLanguageModelRegistry;
12
+ protected readonly aiSettingsService: AISettingsService;
13
+ protected readonly agentService: AgentService;
14
+ protected languageModels: LanguageModel[];
15
+ protected matchingAgentIdsForAliasMap: Map<string, string[]>;
16
+ protected resolvedModelForAlias: Map<string, LanguageModel | undefined>;
17
+ protected init(): void;
18
+ protected loadItems(): Promise<void>;
19
+ protected loadLanguageModels(): Promise<void>;
20
+ protected loadMatchingAgentIdsForAllAliases(): Promise<void>;
21
+ protected getItemId(item: LanguageModelAlias): string;
22
+ protected getItemLabel(item: LanguageModelAlias): string;
23
+ protected getEmptySelectionMessage(): string;
24
+ protected handleAliasSelectedModelIdChange: (alias: LanguageModelAlias, event: React.ChangeEvent<HTMLSelectElement>) => void;
25
+ protected renderItemDetail(alias: LanguageModelAlias): React.ReactNode;
26
+ }
27
+ //# sourceMappingURL=model-aliases-configuration-widget.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"model-aliases-configuration-widget.d.ts","sourceRoot":"","sources":["../../../src/browser/ai-configuration/model-aliases-configuration-widget.tsx"],"names":[],"mappings":";AAeA,OAAO,KAAK,KAAK,MAAM,0BAA0B,CAAC;AAElD,OAAO,EAAE,0BAA0B,EAAE,kBAAkB,EAAE,MAAM,gDAAgD,CAAC;AAChH,OAAO,EAAE,6BAA6B,EAAE,aAAa,EAAmD,MAAM,0CAA0C,CAAC;AAEzJ,OAAO,EAAE,YAAY,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AACjE,OAAO,EAAE,+BAA+B,EAAE,MAAM,4CAA4C,CAAC;AAG7F,qBACa,+BAAgC,SAAQ,+BAA+B,CAAC,kBAAkB,CAAC;IACpG,MAAM,CAAC,QAAQ,CAAC,EAAE,2CAA2C;IAC7D,MAAM,CAAC,QAAQ,CAAC,KAAK,SAAkF;IAGvG,SAAS,CAAC,QAAQ,CAAC,0BAA0B,EAAE,0BAA0B,CAAC;IAE1E,SAAS,CAAC,QAAQ,CAAC,qBAAqB,EAAE,6BAA6B,CAAC;IAExE,SAAS,CAAC,QAAQ,CAAC,iBAAiB,EAAE,iBAAiB,CAAC;IAExD,SAAS,CAAC,QAAQ,CAAC,YAAY,EAAE,YAAY,CAAC;IAE9C,SAAS,CAAC,cAAc,EAAE,aAAa,EAAE,CAAM;IAC/C,SAAS,CAAC,2BAA2B,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,CAAa;IACzE,SAAS,CAAC,qBAAqB,EAAE,GAAG,CAAC,MAAM,EAAE,aAAa,GAAG,SAAS,CAAC,CAAa;IAGpF,SAAS,CAAC,IAAI,IAAI,IAAI;cA8BG,SAAS,IAAI,OAAO,CAAC,IAAI,CAAC;cAmBnC,kBAAkB,IAAI,OAAO,CAAC,IAAI,CAAC;cAInC,iCAAiC,IAAI,OAAO,CAAC,IAAI,CAAC;cAsB/C,SAAS,CAAC,IAAI,EAAE,kBAAkB,GAAG,MAAM;cAI3C,YAAY,CAAC,IAAI,EAAE,kBAAkB,GAAG,MAAM;cAI9C,wBAAwB,IAAI,MAAM;IAIrD,SAAS,CAAC,gCAAgC,UAAW,kBAAkB,SAAS,MAAM,WAAW,CAAC,iBAAiB,CAAC,KAAG,IAAI,CASzH;cAEiB,gBAAgB,CAAC,KAAK,EAAE,kBAAkB,GAAG,KAAK,CAAC,SAAS;CA+HlF"}
@@ -0,0 +1,197 @@
1
+ "use strict";
2
+ var ModelAliasesConfigurationWidget_1;
3
+ Object.defineProperty(exports, "__esModule", { value: true });
4
+ exports.ModelAliasesConfigurationWidget = void 0;
5
+ const tslib_1 = require("tslib");
6
+ // *****************************************************************************
7
+ // Copyright (C) 2025 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 React = require("@theia/core/shared/react");
22
+ const inversify_1 = require("@theia/core/shared/inversify");
23
+ const language_model_alias_1 = require("@theia/ai-core/lib/common/language-model-alias");
24
+ const language_model_1 = require("@theia/ai-core/lib/common/language-model");
25
+ const nls_1 = require("@theia/core/lib/common/nls");
26
+ const ai_core_1 = require("@theia/ai-core");
27
+ const ai_list_detail_configuration_widget_1 = require("./base/ai-list-detail-configuration-widget");
28
+ const configuration_section_1 = require("./components/configuration-section");
29
+ let ModelAliasesConfigurationWidget = ModelAliasesConfigurationWidget_1 = class ModelAliasesConfigurationWidget extends ai_list_detail_configuration_widget_1.AIListDetailConfigurationWidget {
30
+ constructor() {
31
+ super(...arguments);
32
+ this.languageModels = [];
33
+ this.matchingAgentIdsForAliasMap = new Map();
34
+ this.resolvedModelForAlias = new Map();
35
+ this.handleAliasSelectedModelIdChange = (alias, event) => {
36
+ const newModelId = event.target.value || undefined;
37
+ const updatedAlias = {
38
+ ...alias,
39
+ selectedModelId: newModelId
40
+ };
41
+ this.languageModelAliasRegistry.ready.then(() => {
42
+ this.languageModelAliasRegistry.addAlias(updatedAlias);
43
+ });
44
+ };
45
+ }
46
+ init() {
47
+ this.id = ModelAliasesConfigurationWidget_1.ID;
48
+ this.title.label = ModelAliasesConfigurationWidget_1.LABEL;
49
+ this.title.closable = false;
50
+ Promise.all([
51
+ this.loadItems(),
52
+ this.loadLanguageModels()
53
+ ]).then(() => this.update());
54
+ this.languageModelAliasRegistry.ready.then(() => this.toDispose.push(this.languageModelAliasRegistry.onDidChange(async () => {
55
+ await this.loadItems();
56
+ this.update();
57
+ })));
58
+ this.toDispose.pushAll([
59
+ this.languageModelRegistry.onChange(async () => {
60
+ await this.loadItems();
61
+ await this.loadLanguageModels();
62
+ this.update();
63
+ }),
64
+ this.aiSettingsService.onDidChange(async () => {
65
+ await this.loadMatchingAgentIdsForAllAliases();
66
+ this.update();
67
+ })
68
+ ]);
69
+ }
70
+ async loadItems() {
71
+ await this.languageModelAliasRegistry.ready;
72
+ this.items = this.languageModelAliasRegistry.getAliases();
73
+ // Set initial selection
74
+ if (this.items.length > 0 && !this.selectedItem) {
75
+ this.selectedItem = this.items[0];
76
+ }
77
+ await this.loadMatchingAgentIdsForAllAliases();
78
+ // Resolve evaluated models for each alias
79
+ this.resolvedModelForAlias = new Map();
80
+ for (const alias of this.items) {
81
+ const model = await this.languageModelRegistry.getReadyLanguageModel(alias.id);
82
+ this.resolvedModelForAlias.set(alias.id, model);
83
+ }
84
+ }
85
+ async loadLanguageModels() {
86
+ this.languageModels = await this.languageModelRegistry.getLanguageModels();
87
+ }
88
+ async loadMatchingAgentIdsForAllAliases() {
89
+ var _a;
90
+ const agents = this.agentService.getAllAgents();
91
+ const aliasMap = new Map();
92
+ for (const alias of this.items) {
93
+ const matchingAgentIds = [];
94
+ for (const agent of agents) {
95
+ const requirementSetting = await this.aiSettingsService.getAgentSettings(agent.id);
96
+ if (requirementSetting === null || requirementSetting === void 0 ? void 0 : requirementSetting.languageModelRequirements) {
97
+ if ((_a = requirementSetting === null || requirementSetting === void 0 ? void 0 : requirementSetting.languageModelRequirements) === null || _a === void 0 ? void 0 : _a.find(e => e.identifier === alias.id)) {
98
+ matchingAgentIds.push(agent.id);
99
+ }
100
+ }
101
+ else {
102
+ if (agent.languageModelRequirements.some((req) => req.identifier === alias.id)) {
103
+ matchingAgentIds.push(agent.id);
104
+ }
105
+ }
106
+ }
107
+ aliasMap.set(alias.id, matchingAgentIds);
108
+ }
109
+ this.matchingAgentIdsForAliasMap = aliasMap;
110
+ }
111
+ getItemId(item) {
112
+ return item.id;
113
+ }
114
+ getItemLabel(item) {
115
+ return item.id;
116
+ }
117
+ getEmptySelectionMessage() {
118
+ return nls_1.nls.localize('theia/ai/core/modelAliasesConfiguration/selectAlias', 'Please select a Model Alias.');
119
+ }
120
+ renderItemDetail(alias) {
121
+ var _a, _b, _c;
122
+ const availableModelIds = this.languageModels.map(m => m.id);
123
+ const selectedModelId = (_a = alias.selectedModelId) !== null && _a !== void 0 ? _a : '';
124
+ const isInvalidModel = !!selectedModelId && !availableModelIds.includes((_b = alias.selectedModelId) !== null && _b !== void 0 ? _b : '');
125
+ const agentIds = this.matchingAgentIdsForAliasMap.get(alias.id) || [];
126
+ const agents = this.agentService.getAllAgents().filter(agent => agentIds.includes(agent.id));
127
+ const resolvedModel = this.resolvedModelForAlias.get(alias.id);
128
+ return (React.createElement("div", null,
129
+ React.createElement("div", { className: "settings-section-title settings-section-category-title" }, alias.id),
130
+ alias.description && (React.createElement("div", { className: "ai-alias-detail-description" }, alias.description)),
131
+ React.createElement(configuration_section_1.ConfigurationSection, { title: nls_1.nls.localize('theia/ai/core/modelAliasesConfiguration/selectedModelId', 'Selected Model'), className: "ai-alias-selected-model-section" },
132
+ React.createElement("select", { className: `theia-select template-variant-selector ${isInvalidModel ? 'error' : ''}`, value: isInvalidModel ? 'invalid' : selectedModelId, onChange: event => this.handleAliasSelectedModelIdChange(alias, event) },
133
+ isInvalidModel && (React.createElement("option", { value: "invalid", disabled: true }, nls_1.nls.localize('theia/ai/core/modelAliasesConfiguration/unavailableModel', 'Selected model is no longer available'))),
134
+ React.createElement("option", { value: "", className: 'ai-language-model-item-ready' }, nls_1.nls.localize('theia/ai/core/modelAliasesConfiguration/defaultList', '[Default list]')),
135
+ [...this.languageModels]
136
+ .sort((a, b) => { var _a, _b; return ((_a = a.name) !== null && _a !== void 0 ? _a : a.id).localeCompare((_b = b.name) !== null && _b !== void 0 ? _b : b.id); })
137
+ .map(model => {
138
+ var _a;
139
+ const isNotReady = model.status.status !== 'ready';
140
+ return (React.createElement("option", { key: model.id, value: model.id, className: isNotReady ? 'ai-language-model-item-not-ready' : 'ai-language-model-item-ready', title: isNotReady && model.status.message ? model.status.message : undefined }, (_a = model.name) !== null && _a !== void 0 ? _a : model.id,
141
+ " ",
142
+ isNotReady ? '✗' : '✓'));
143
+ }))),
144
+ alias.selectedModelId === undefined && (React.createElement(React.Fragment, null,
145
+ React.createElement(configuration_section_1.ConfigurationSection, { title: nls_1.nls.localize('theia/ai/core/modelAliasesConfiguration/priorityList', 'Priority List'), className: "ai-alias-defaults-section" },
146
+ React.createElement("ol", null, alias.defaultModelIds.map(modelId => {
147
+ const model = this.languageModels.find(m => m.id === modelId);
148
+ const isReady = (model === null || model === void 0 ? void 0 : model.status.status) === 'ready';
149
+ return (React.createElement("li", { key: modelId }, isReady ? (React.createElement("span", { className: modelId === (resolvedModel === null || resolvedModel === void 0 ? void 0 : resolvedModel.id) ? 'ai-alias-priority-item-resolved' : 'ai-alias-priority-item-ready' },
150
+ modelId,
151
+ " ",
152
+ React.createElement("span", { className: "ai-model-status-ready", title: nls_1.nls.localize('theia/ai/core/modelAliasesConfiguration/modelReadyTooltip', 'Ready') }, "\u2713"))) : (React.createElement("span", { className: "ai-model-default-not-ready" },
153
+ modelId,
154
+ " ",
155
+ React.createElement("span", { className: "ai-model-status-not-ready", title: nls_1.nls.localize('theia/ai/core/modelAliasesConfiguration/modelNotReadyTooltip', 'Not ready') }, "\u2717")))));
156
+ }))),
157
+ React.createElement(configuration_section_1.ConfigurationSection, { title: nls_1.nls.localize('theia/ai/core/modelAliasesConfiguration/evaluatesTo', 'Evaluates to'), className: "ai-alias-evaluates-to-section" }, resolvedModel ? (React.createElement("span", { className: "ai-alias-evaluates-to-value" }, (_c = resolvedModel.name) !== null && _c !== void 0 ? _c : resolvedModel.id,
158
+ resolvedModel.status.status === 'ready' ? (React.createElement("span", { className: "ai-model-status-ready", title: nls_1.nls.localize('theia/ai/core/modelAliasesConfiguration/modelReadyTooltip', 'Ready') }, "\u2713")) : (React.createElement("span", { className: "ai-model-status-not-ready", title: resolvedModel.status.message
159
+ || nls_1.nls.localize('theia/ai/core/modelAliasesConfiguration/modelNotReadyTooltip', 'Not ready') }, "\u2717")))) : (React.createElement("span", { className: "ai-alias-evaluates-to-unresolved" }, nls_1.nls.localize('theia/ai/core/modelAliasesConfiguration/noResolvedModel', 'No model ready for this alias.')))))),
160
+ React.createElement(configuration_section_1.ConfigurationSection, { title: nls_1.nls.localize('theia/ai/core/modelAliasesConfiguration/agents', 'Agents using this Alias'), className: "ai-alias-agents-section" },
161
+ React.createElement("ul", null, agents.length > 0 ? (agents.map(agent => (React.createElement("li", { key: agent.id },
162
+ React.createElement("span", null, agent.name),
163
+ agent.id !== agent.name && React.createElement("span", { className: "ai-alias-agent-id" },
164
+ " (",
165
+ agent.id,
166
+ ")"))))) : (React.createElement("span", null, nls_1.nls.localize('theia/ai/core/modelAliasesConfiguration/noAgents', 'No agents use this alias.')))))));
167
+ }
168
+ };
169
+ exports.ModelAliasesConfigurationWidget = ModelAliasesConfigurationWidget;
170
+ ModelAliasesConfigurationWidget.ID = 'ai-model-aliases-configuration-widget';
171
+ ModelAliasesConfigurationWidget.LABEL = nls_1.nls.localize('theia/ai/core/modelAliasesConfiguration/label', 'Model Aliases');
172
+ tslib_1.__decorate([
173
+ (0, inversify_1.inject)(language_model_alias_1.LanguageModelAliasRegistry),
174
+ tslib_1.__metadata("design:type", Object)
175
+ ], ModelAliasesConfigurationWidget.prototype, "languageModelAliasRegistry", void 0);
176
+ tslib_1.__decorate([
177
+ (0, inversify_1.inject)(language_model_1.LanguageModelRegistry),
178
+ tslib_1.__metadata("design:type", Object)
179
+ ], ModelAliasesConfigurationWidget.prototype, "languageModelRegistry", void 0);
180
+ tslib_1.__decorate([
181
+ (0, inversify_1.inject)(ai_core_1.AISettingsService),
182
+ tslib_1.__metadata("design:type", Object)
183
+ ], ModelAliasesConfigurationWidget.prototype, "aiSettingsService", void 0);
184
+ tslib_1.__decorate([
185
+ (0, inversify_1.inject)(ai_core_1.AgentService),
186
+ tslib_1.__metadata("design:type", Object)
187
+ ], ModelAliasesConfigurationWidget.prototype, "agentService", void 0);
188
+ tslib_1.__decorate([
189
+ (0, inversify_1.postConstruct)(),
190
+ tslib_1.__metadata("design:type", Function),
191
+ tslib_1.__metadata("design:paramtypes", []),
192
+ tslib_1.__metadata("design:returntype", void 0)
193
+ ], ModelAliasesConfigurationWidget.prototype, "init", null);
194
+ exports.ModelAliasesConfigurationWidget = ModelAliasesConfigurationWidget = ModelAliasesConfigurationWidget_1 = tslib_1.__decorate([
195
+ (0, inversify_1.injectable)()
196
+ ], ModelAliasesConfigurationWidget);
197
+ //# sourceMappingURL=model-aliases-configuration-widget.js.map