@theia/ai-ide 1.75.0-next.8 → 1.75.0

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 (509) hide show
  1. package/lib/browser/ai-allow-all-mode-chat-banner.js +2 -20
  2. package/lib/browser/ai-allow-all-mode-chat-banner.js.map +1 -1
  3. package/lib/browser/ai-configuration/agent-icon.d.ts +16 -0
  4. package/lib/browser/ai-configuration/agent-icon.d.ts.map +1 -0
  5. package/lib/browser/ai-configuration/agent-icon.js +38 -0
  6. package/lib/browser/ai-configuration/agent-icon.js.map +1 -0
  7. package/lib/browser/ai-configuration/ai-configuration-breadcrumbs-contribution.d.ts +36 -0
  8. package/lib/browser/ai-configuration/ai-configuration-breadcrumbs-contribution.d.ts.map +1 -0
  9. package/lib/browser/ai-configuration/ai-configuration-breadcrumbs-contribution.js +163 -0
  10. package/lib/browser/ai-configuration/ai-configuration-breadcrumbs-contribution.js.map +1 -0
  11. package/lib/browser/ai-configuration/ai-configuration-detail-widget.d.ts +50 -0
  12. package/lib/browser/ai-configuration/ai-configuration-detail-widget.d.ts.map +1 -0
  13. package/lib/browser/ai-configuration/ai-configuration-detail-widget.js +208 -0
  14. package/lib/browser/ai-configuration/ai-configuration-detail-widget.js.map +1 -0
  15. package/lib/browser/ai-configuration/ai-configuration-detail-widget.spec.d.ts +2 -0
  16. package/lib/browser/ai-configuration/ai-configuration-detail-widget.spec.d.ts.map +1 -0
  17. package/lib/browser/ai-configuration/ai-configuration-detail-widget.spec.js +139 -0
  18. package/lib/browser/ai-configuration/ai-configuration-detail-widget.spec.js.map +1 -0
  19. package/lib/browser/ai-configuration/ai-configuration-label-provider-contribution.d.ts +13 -0
  20. package/lib/browser/ai-configuration/ai-configuration-label-provider-contribution.d.ts.map +1 -0
  21. package/lib/browser/ai-configuration/ai-configuration-label-provider-contribution.js +48 -0
  22. package/lib/browser/ai-configuration/ai-configuration-label-provider-contribution.js.map +1 -0
  23. package/lib/browser/ai-configuration/ai-configuration-open-preference-renderer.d.ts +22 -0
  24. package/lib/browser/ai-configuration/ai-configuration-open-preference-renderer.d.ts.map +1 -0
  25. package/lib/browser/ai-configuration/ai-configuration-open-preference-renderer.js +72 -0
  26. package/lib/browser/ai-configuration/ai-configuration-open-preference-renderer.js.map +1 -0
  27. package/lib/browser/ai-configuration/ai-configuration-preference-ownership.spec.d.ts +2 -0
  28. package/lib/browser/ai-configuration/ai-configuration-preference-ownership.spec.d.ts.map +1 -0
  29. package/lib/browser/ai-configuration/ai-configuration-preference-ownership.spec.js +126 -0
  30. package/lib/browser/ai-configuration/ai-configuration-preference-ownership.spec.js.map +1 -0
  31. package/lib/browser/ai-configuration/ai-configuration-resource.d.ts +10 -0
  32. package/lib/browser/ai-configuration/ai-configuration-resource.d.ts.map +1 -0
  33. package/lib/browser/ai-configuration/{components/configuration-section.js → ai-configuration-resource.js} +11 -11
  34. package/lib/browser/ai-configuration/ai-configuration-resource.js.map +1 -0
  35. package/lib/browser/ai-configuration/ai-configuration-search-widget.d.ts +29 -0
  36. package/lib/browser/ai-configuration/ai-configuration-search-widget.d.ts.map +1 -0
  37. package/lib/browser/ai-configuration/ai-configuration-search-widget.js +106 -0
  38. package/lib/browser/ai-configuration/ai-configuration-search-widget.js.map +1 -0
  39. package/lib/browser/ai-configuration/ai-configuration-search.d.ts +18 -0
  40. package/lib/browser/ai-configuration/ai-configuration-search.d.ts.map +1 -0
  41. package/lib/browser/ai-configuration/ai-configuration-search.js +45 -0
  42. package/lib/browser/ai-configuration/ai-configuration-search.js.map +1 -0
  43. package/lib/browser/ai-configuration/ai-configuration-search.spec.d.ts +2 -0
  44. package/lib/browser/ai-configuration/ai-configuration-search.spec.d.ts.map +1 -0
  45. package/lib/browser/ai-configuration/ai-configuration-search.spec.js +79 -0
  46. package/lib/browser/ai-configuration/ai-configuration-search.spec.js.map +1 -0
  47. package/lib/browser/ai-configuration/ai-configuration-tree-model.d.ts +8 -0
  48. package/lib/browser/ai-configuration/ai-configuration-tree-model.d.ts.map +1 -0
  49. package/lib/browser/ai-configuration/{base/ai-configuration-base-widget.js → ai-configuration-tree-model.js} +11 -14
  50. package/lib/browser/ai-configuration/ai-configuration-tree-model.js.map +1 -0
  51. package/lib/browser/ai-configuration/ai-configuration-tree-nodes.d.ts +57 -0
  52. package/lib/browser/ai-configuration/ai-configuration-tree-nodes.d.ts.map +1 -0
  53. package/lib/browser/ai-configuration/ai-configuration-tree-nodes.js +134 -0
  54. package/lib/browser/ai-configuration/ai-configuration-tree-nodes.js.map +1 -0
  55. package/lib/browser/ai-configuration/ai-configuration-tree-nodes.spec.d.ts +2 -0
  56. package/lib/browser/ai-configuration/ai-configuration-tree-nodes.spec.d.ts.map +1 -0
  57. package/lib/browser/ai-configuration/ai-configuration-tree-nodes.spec.js +134 -0
  58. package/lib/browser/ai-configuration/ai-configuration-tree-nodes.spec.js.map +1 -0
  59. package/lib/browser/ai-configuration/ai-configuration-tree-widget.d.ts +96 -0
  60. package/lib/browser/ai-configuration/ai-configuration-tree-widget.d.ts.map +1 -0
  61. package/lib/browser/ai-configuration/ai-configuration-tree-widget.js +407 -0
  62. package/lib/browser/ai-configuration/ai-configuration-tree-widget.js.map +1 -0
  63. package/lib/browser/ai-configuration/ai-configuration-view-contribution.d.ts +38 -4
  64. package/lib/browser/ai-configuration/ai-configuration-view-contribution.d.ts.map +1 -1
  65. package/lib/browser/ai-configuration/ai-configuration-view-contribution.js +151 -19
  66. package/lib/browser/ai-configuration/ai-configuration-view-contribution.js.map +1 -1
  67. package/lib/browser/ai-configuration/ai-configuration-widget.d.ts +21 -23
  68. package/lib/browser/ai-configuration/ai-configuration-widget.d.ts.map +1 -1
  69. package/lib/browser/ai-configuration/ai-configuration-widget.js +102 -70
  70. package/lib/browser/ai-configuration/ai-configuration-widget.js.map +1 -1
  71. package/lib/browser/ai-configuration/categories/agent-capabilities-settings.d.ts +56 -0
  72. package/lib/browser/ai-configuration/categories/agent-capabilities-settings.d.ts.map +1 -0
  73. package/lib/browser/ai-configuration/categories/agent-capabilities-settings.js +195 -0
  74. package/lib/browser/ai-configuration/categories/agent-capabilities-settings.js.map +1 -0
  75. package/lib/browser/ai-configuration/categories/agent-capabilities-settings.spec.d.ts +2 -0
  76. package/lib/browser/ai-configuration/categories/agent-capabilities-settings.spec.d.ts.map +1 -0
  77. package/lib/browser/ai-configuration/categories/agent-capabilities-settings.spec.js +140 -0
  78. package/lib/browser/ai-configuration/categories/agent-capabilities-settings.spec.js.map +1 -0
  79. package/lib/browser/ai-configuration/categories/agent-chips.d.ts +15 -0
  80. package/lib/browser/ai-configuration/categories/agent-chips.d.ts.map +1 -0
  81. package/lib/browser/ai-configuration/categories/agent-chips.js +19 -0
  82. package/lib/browser/ai-configuration/categories/agent-chips.js.map +1 -0
  83. package/lib/browser/ai-configuration/categories/agent-detail-model.d.ts +37 -0
  84. package/lib/browser/ai-configuration/categories/agent-detail-model.d.ts.map +1 -0
  85. package/lib/browser/ai-configuration/categories/agent-detail-model.js +99 -0
  86. package/lib/browser/ai-configuration/categories/agent-detail-model.js.map +1 -0
  87. package/lib/browser/ai-configuration/categories/agent-detail-view.d.ts +28 -0
  88. package/lib/browser/ai-configuration/categories/agent-detail-view.d.ts.map +1 -0
  89. package/lib/browser/ai-configuration/categories/agent-detail-view.js +135 -0
  90. package/lib/browser/ai-configuration/categories/agent-detail-view.js.map +1 -0
  91. package/lib/browser/ai-configuration/categories/agents-configuration-category.d.ts +78 -0
  92. package/lib/browser/ai-configuration/categories/agents-configuration-category.d.ts.map +1 -0
  93. package/lib/browser/ai-configuration/categories/agents-configuration-category.js +352 -0
  94. package/lib/browser/ai-configuration/categories/agents-configuration-category.js.map +1 -0
  95. package/lib/browser/ai-configuration/categories/agents-configuration-category.spec.d.ts +2 -0
  96. package/lib/browser/ai-configuration/categories/agents-configuration-category.spec.d.ts.map +1 -0
  97. package/lib/browser/ai-configuration/categories/agents-configuration-category.spec.js +99 -0
  98. package/lib/browser/ai-configuration/categories/agents-configuration-category.spec.js.map +1 -0
  99. package/lib/browser/ai-configuration/categories/general-configuration-category.d.ts +93 -0
  100. package/lib/browser/ai-configuration/categories/general-configuration-category.d.ts.map +1 -0
  101. package/lib/browser/ai-configuration/categories/general-configuration-category.js +313 -0
  102. package/lib/browser/ai-configuration/categories/general-configuration-category.js.map +1 -0
  103. package/lib/browser/ai-configuration/categories/general-configuration-category.spec.d.ts +2 -0
  104. package/lib/browser/ai-configuration/categories/general-configuration-category.spec.d.ts.map +1 -0
  105. package/lib/browser/ai-configuration/categories/general-configuration-category.spec.js +213 -0
  106. package/lib/browser/ai-configuration/categories/general-configuration-category.spec.js.map +1 -0
  107. package/lib/browser/ai-configuration/categories/model-aliases-configuration-category.d.ts +53 -0
  108. package/lib/browser/ai-configuration/categories/model-aliases-configuration-category.d.ts.map +1 -0
  109. package/lib/browser/ai-configuration/categories/model-aliases-configuration-category.js +241 -0
  110. package/lib/browser/ai-configuration/categories/model-aliases-configuration-category.js.map +1 -0
  111. package/lib/browser/ai-configuration/categories/model-aliases-configuration-category.spec.d.ts +2 -0
  112. package/lib/browser/ai-configuration/categories/model-aliases-configuration-category.spec.d.ts.map +1 -0
  113. package/lib/browser/ai-configuration/categories/model-aliases-configuration-category.spec.js +75 -0
  114. package/lib/browser/ai-configuration/categories/model-aliases-configuration-category.spec.js.map +1 -0
  115. package/lib/browser/ai-configuration/categories/models-configuration-category.d.ts +72 -0
  116. package/lib/browser/ai-configuration/categories/models-configuration-category.d.ts.map +1 -0
  117. package/lib/browser/ai-configuration/categories/models-configuration-category.js +227 -0
  118. package/lib/browser/ai-configuration/categories/models-configuration-category.js.map +1 -0
  119. package/lib/browser/ai-configuration/categories/models-configuration-category.spec.d.ts +2 -0
  120. package/lib/browser/ai-configuration/categories/models-configuration-category.spec.d.ts.map +1 -0
  121. package/lib/browser/ai-configuration/categories/models-configuration-category.spec.js +145 -0
  122. package/lib/browser/ai-configuration/categories/models-configuration-category.spec.js.map +1 -0
  123. package/lib/browser/ai-configuration/categories/prompt-snippets-configuration-category.d.ts +114 -0
  124. package/lib/browser/ai-configuration/categories/prompt-snippets-configuration-category.d.ts.map +1 -0
  125. package/lib/browser/ai-configuration/categories/prompt-snippets-configuration-category.js +341 -0
  126. package/lib/browser/ai-configuration/categories/prompt-snippets-configuration-category.js.map +1 -0
  127. package/lib/browser/ai-configuration/categories/prompt-snippets-configuration-category.spec.d.ts +2 -0
  128. package/lib/browser/ai-configuration/categories/prompt-snippets-configuration-category.spec.d.ts.map +1 -0
  129. package/lib/browser/ai-configuration/categories/prompt-snippets-configuration-category.spec.js +199 -0
  130. package/lib/browser/ai-configuration/categories/prompt-snippets-configuration-category.spec.js.map +1 -0
  131. package/lib/browser/ai-configuration/categories/prompts-and-skills-configuration-category.d.ts +84 -0
  132. package/lib/browser/ai-configuration/categories/prompts-and-skills-configuration-category.d.ts.map +1 -0
  133. package/lib/browser/ai-configuration/categories/prompts-and-skills-configuration-category.js +341 -0
  134. package/lib/browser/ai-configuration/categories/prompts-and-skills-configuration-category.js.map +1 -0
  135. package/lib/browser/ai-configuration/categories/prompts-and-skills-configuration-category.spec.d.ts +2 -0
  136. package/lib/browser/ai-configuration/categories/prompts-and-skills-configuration-category.spec.d.ts.map +1 -0
  137. package/lib/browser/ai-configuration/categories/prompts-and-skills-configuration-category.spec.js +184 -0
  138. package/lib/browser/ai-configuration/categories/prompts-and-skills-configuration-category.spec.js.map +1 -0
  139. package/lib/browser/ai-configuration/categories/token-usage-configuration-category.d.ts +38 -0
  140. package/lib/browser/ai-configuration/categories/token-usage-configuration-category.d.ts.map +1 -0
  141. package/lib/browser/ai-configuration/categories/token-usage-configuration-category.js +130 -0
  142. package/lib/browser/ai-configuration/categories/token-usage-configuration-category.js.map +1 -0
  143. package/lib/browser/ai-configuration/categories/token-usage-configuration-category.spec.d.ts +2 -0
  144. package/lib/browser/ai-configuration/categories/token-usage-configuration-category.spec.d.ts.map +1 -0
  145. package/lib/browser/ai-configuration/categories/token-usage-configuration-category.spec.js +51 -0
  146. package/lib/browser/ai-configuration/categories/token-usage-configuration-category.spec.js.map +1 -0
  147. package/lib/browser/ai-configuration/categories/tools-configuration-category.d.ts +60 -0
  148. package/lib/browser/ai-configuration/categories/tools-configuration-category.d.ts.map +1 -0
  149. package/lib/browser/ai-configuration/categories/tools-configuration-category.js +302 -0
  150. package/lib/browser/ai-configuration/categories/tools-configuration-category.js.map +1 -0
  151. package/lib/browser/ai-configuration/categories/tools-configuration-category.spec.d.ts +2 -0
  152. package/lib/browser/ai-configuration/categories/tools-configuration-category.spec.d.ts.map +1 -0
  153. package/lib/browser/ai-configuration/categories/tools-configuration-category.spec.js +111 -0
  154. package/lib/browser/ai-configuration/categories/tools-configuration-category.spec.js.map +1 -0
  155. package/lib/browser/ai-configuration/categories/variables-configuration-category.d.ts +72 -0
  156. package/lib/browser/ai-configuration/categories/variables-configuration-category.d.ts.map +1 -0
  157. package/lib/browser/ai-configuration/categories/variables-configuration-category.js +245 -0
  158. package/lib/browser/ai-configuration/categories/variables-configuration-category.js.map +1 -0
  159. package/lib/browser/ai-configuration/categories/variables-configuration-category.spec.d.ts +2 -0
  160. package/lib/browser/ai-configuration/categories/variables-configuration-category.spec.d.ts.map +1 -0
  161. package/lib/browser/ai-configuration/categories/variables-configuration-category.spec.js +131 -0
  162. package/lib/browser/ai-configuration/categories/variables-configuration-category.spec.js.map +1 -0
  163. package/lib/browser/ai-configuration/components/agent-notification-settings.d.ts +6 -2
  164. package/lib/browser/ai-configuration/components/agent-notification-settings.d.ts.map +1 -1
  165. package/lib/browser/ai-configuration/components/agent-notification-settings.js +15 -21
  166. package/lib/browser/ai-configuration/components/agent-notification-settings.js.map +1 -1
  167. package/lib/browser/ai-configuration/language-model-renderer.d.ts +25 -1
  168. package/lib/browser/ai-configuration/language-model-renderer.d.ts.map +1 -1
  169. package/lib/browser/ai-configuration/language-model-renderer.js +159 -63
  170. package/lib/browser/ai-configuration/language-model-renderer.js.map +1 -1
  171. package/lib/browser/ai-configuration/language-model-renderer.spec.d.ts +2 -0
  172. package/lib/browser/ai-configuration/language-model-renderer.spec.d.ts.map +1 -0
  173. package/lib/browser/ai-configuration/language-model-renderer.spec.js +93 -0
  174. package/lib/browser/ai-configuration/language-model-renderer.spec.js.map +1 -0
  175. package/lib/browser/ai-sessions-widget.js +12 -16
  176. package/lib/browser/ai-sessions-widget.js.map +1 -1
  177. package/lib/browser/app-tester-chat-agent.d.ts +2 -0
  178. package/lib/browser/app-tester-chat-agent.d.ts.map +1 -1
  179. package/lib/browser/app-tester-chat-agent.js +5 -0
  180. package/lib/browser/app-tester-chat-agent.js.map +1 -1
  181. package/lib/browser/architect-agent.d.ts +2 -0
  182. package/lib/browser/architect-agent.d.ts.map +1 -1
  183. package/lib/browser/architect-agent.js +5 -0
  184. package/lib/browser/architect-agent.js.map +1 -1
  185. package/lib/browser/architect-prompt-template.d.ts.map +1 -1
  186. package/lib/browser/architect-prompt-template.js +7 -0
  187. package/lib/browser/architect-prompt-template.js.map +1 -1
  188. package/lib/browser/chat-session-item.d.ts.map +1 -1
  189. package/lib/browser/chat-session-item.js +17 -30
  190. package/lib/browser/chat-session-item.js.map +1 -1
  191. package/lib/browser/chat-session-list-components.js +7 -30
  192. package/lib/browser/chat-session-list-components.js.map +1 -1
  193. package/lib/browser/chat-session-list-service.d.ts +2 -1
  194. package/lib/browser/chat-session-list-service.d.ts.map +1 -1
  195. package/lib/browser/chat-session-list-service.js +6 -1
  196. package/lib/browser/chat-session-list-service.js.map +1 -1
  197. package/lib/browser/chat-sessions-welcome-message-provider.js +3 -21
  198. package/lib/browser/chat-sessions-welcome-message-provider.js.map +1 -1
  199. package/lib/browser/code-reviewer-agent.d.ts +2 -0
  200. package/lib/browser/code-reviewer-agent.d.ts.map +1 -1
  201. package/lib/browser/code-reviewer-agent.js +5 -0
  202. package/lib/browser/code-reviewer-agent.js.map +1 -1
  203. package/lib/browser/coder-agent.d.ts +2 -0
  204. package/lib/browser/coder-agent.d.ts.map +1 -1
  205. package/lib/browser/coder-agent.js +6 -1
  206. package/lib/browser/coder-agent.js.map +1 -1
  207. package/lib/browser/context-file-validation-service-impl.spec.js +2 -0
  208. package/lib/browser/context-file-validation-service-impl.spec.js.map +1 -1
  209. package/lib/browser/create-skill-agent.d.ts +2 -0
  210. package/lib/browser/create-skill-agent.d.ts.map +1 -1
  211. package/lib/browser/create-skill-agent.js +5 -0
  212. package/lib/browser/create-skill-agent.js.map +1 -1
  213. package/lib/browser/explore-agent.d.ts +2 -0
  214. package/lib/browser/explore-agent.d.ts.map +1 -1
  215. package/lib/browser/explore-agent.js +5 -0
  216. package/lib/browser/explore-agent.js.map +1 -1
  217. package/lib/browser/file-changeset-functions.d.ts +7 -1
  218. package/lib/browser/file-changeset-functions.d.ts.map +1 -1
  219. package/lib/browser/file-changeset-functions.js +62 -20
  220. package/lib/browser/file-changeset-functions.js.map +1 -1
  221. package/lib/browser/file-changeset-functions.spec.js +130 -1
  222. package/lib/browser/file-changeset-functions.spec.js.map +1 -1
  223. package/lib/browser/frontend-module.d.ts.map +1 -1
  224. package/lib/browser/frontend-module.js +65 -59
  225. package/lib/browser/frontend-module.js.map +1 -1
  226. package/lib/browser/github-chat-agent.d.ts +2 -1
  227. package/lib/browser/github-chat-agent.d.ts.map +1 -1
  228. package/lib/browser/github-chat-agent.js +5 -0
  229. package/lib/browser/github-chat-agent.js.map +1 -1
  230. package/lib/browser/github-repo-variable-contribution.d.ts +2 -1
  231. package/lib/browser/github-repo-variable-contribution.d.ts.map +1 -1
  232. package/lib/browser/github-repo-variable-contribution.js +6 -1
  233. package/lib/browser/github-repo-variable-contribution.js.map +1 -1
  234. package/lib/browser/ide-chat-welcome-message-provider.d.ts.map +1 -1
  235. package/lib/browser/ide-chat-welcome-message-provider.js +31 -118
  236. package/lib/browser/ide-chat-welcome-message-provider.js.map +1 -1
  237. package/lib/browser/memory-capability-contribution.d.ts +8 -0
  238. package/lib/browser/memory-capability-contribution.d.ts.map +1 -0
  239. package/lib/browser/memory-capability-contribution.js +88 -0
  240. package/lib/browser/memory-capability-contribution.js.map +1 -0
  241. package/lib/browser/memory-capability-contribution.spec.d.ts +2 -0
  242. package/lib/browser/memory-capability-contribution.spec.d.ts.map +1 -0
  243. package/lib/browser/memory-capability-contribution.spec.js +74 -0
  244. package/lib/browser/memory-capability-contribution.spec.js.map +1 -0
  245. package/lib/browser/memory-directory-variable-contribution.d.ts +41 -0
  246. package/lib/browser/memory-directory-variable-contribution.d.ts.map +1 -0
  247. package/lib/browser/memory-directory-variable-contribution.js +107 -0
  248. package/lib/browser/memory-directory-variable-contribution.js.map +1 -0
  249. package/lib/browser/memory-directory-variable-contribution.spec.d.ts +2 -0
  250. package/lib/browser/memory-directory-variable-contribution.spec.d.ts.map +1 -0
  251. package/lib/browser/memory-directory-variable-contribution.spec.js +98 -0
  252. package/lib/browser/memory-directory-variable-contribution.spec.js.map +1 -0
  253. package/lib/browser/open-editors-hint-contribution.d.ts +7 -0
  254. package/lib/browser/open-editors-hint-contribution.d.ts.map +1 -0
  255. package/lib/browser/open-editors-hint-contribution.js +43 -0
  256. package/lib/browser/open-editors-hint-contribution.js.map +1 -0
  257. package/lib/browser/project-info-agent.d.ts +2 -0
  258. package/lib/browser/project-info-agent.d.ts.map +1 -1
  259. package/lib/browser/project-info-agent.js +5 -0
  260. package/lib/browser/project-info-agent.js.map +1 -1
  261. package/lib/browser/review/pr-review-agent.d.ts +2 -0
  262. package/lib/browser/review/pr-review-agent.d.ts.map +1 -1
  263. package/lib/browser/review/pr-review-agent.js +5 -0
  264. package/lib/browser/review/pr-review-agent.js.map +1 -1
  265. package/lib/browser/summarize-session-command-contribution.d.ts +2 -1
  266. package/lib/browser/summarize-session-command-contribution.d.ts.map +1 -1
  267. package/lib/browser/summarize-session-command-contribution.js +6 -1
  268. package/lib/browser/summarize-session-command-contribution.js.map +1 -1
  269. package/lib/browser/task-context-file-storage-service.d.ts.map +1 -1
  270. package/lib/browser/task-context-file-storage-service.js +1 -0
  271. package/lib/browser/task-context-file-storage-service.js.map +1 -1
  272. package/lib/browser/todo-tool-renderer.js +11 -19
  273. package/lib/browser/todo-tool-renderer.js.map +1 -1
  274. package/lib/browser/user-interaction-tool-renderer.js +39 -83
  275. package/lib/browser/user-interaction-tool-renderer.js.map +1 -1
  276. package/lib/browser/user-interaction-tool.d.ts +2 -0
  277. package/lib/browser/user-interaction-tool.d.ts.map +1 -1
  278. package/lib/browser/user-interaction-tool.js +7 -1
  279. package/lib/browser/user-interaction-tool.js.map +1 -1
  280. package/lib/browser/user-interaction-tool.spec.js +4 -2
  281. package/lib/browser/user-interaction-tool.spec.js.map +1 -1
  282. package/lib/browser/workspace-functions.d.ts +45 -7
  283. package/lib/browser/workspace-functions.d.ts.map +1 -1
  284. package/lib/browser/workspace-functions.js +108 -70
  285. package/lib/browser/workspace-functions.js.map +1 -1
  286. package/lib/browser/workspace-functions.spec.js +139 -9
  287. package/lib/browser/workspace-functions.spec.js.map +1 -1
  288. package/lib/browser/workspace-launch-provider.spec.js +3 -0
  289. package/lib/browser/workspace-launch-provider.spec.js.map +1 -1
  290. package/lib/browser/workspace-search-provider.d.ts.map +1 -1
  291. package/lib/browser/workspace-search-provider.js +4 -7
  292. package/lib/browser/workspace-search-provider.js.map +1 -1
  293. package/lib/browser/workspace-search-provider.spec.js +1 -2
  294. package/lib/browser/workspace-search-provider.spec.js.map +1 -1
  295. package/lib/browser/workspace-task-provider.spec.js +4 -0
  296. package/lib/browser/workspace-task-provider.spec.js.map +1 -1
  297. package/lib/common/coder-replace-prompt-template.d.ts +0 -2
  298. package/lib/common/coder-replace-prompt-template.d.ts.map +1 -1
  299. package/lib/common/coder-replace-prompt-template.js +10 -11
  300. package/lib/common/coder-replace-prompt-template.js.map +1 -1
  301. package/lib/common/command-chat-agents.d.ts +2 -1
  302. package/lib/common/command-chat-agents.d.ts.map +1 -1
  303. package/lib/common/command-chat-agents.js +6 -1
  304. package/lib/common/command-chat-agents.js.map +1 -1
  305. package/lib/common/open-editors-hint-fragment-id.d.ts +2 -0
  306. package/lib/common/open-editors-hint-fragment-id.d.ts.map +1 -0
  307. package/lib/{browser/ai-configuration/components/empty-state.js → common/open-editors-hint-fragment-id.js} +5 -11
  308. package/lib/common/open-editors-hint-fragment-id.js.map +1 -0
  309. package/lib/common/orchestrator-chat-agent.d.ts +2 -1
  310. package/lib/common/orchestrator-chat-agent.d.ts.map +1 -1
  311. package/lib/common/orchestrator-chat-agent.js +5 -0
  312. package/lib/common/orchestrator-chat-agent.js.map +1 -1
  313. package/lib/common/universal-chat-agent.d.ts +2 -0
  314. package/lib/common/universal-chat-agent.d.ts.map +1 -1
  315. package/lib/common/universal-chat-agent.js +5 -0
  316. package/lib/common/universal-chat-agent.js.map +1 -1
  317. package/lib/common/universal-prompt-template.d.ts.map +1 -1
  318. package/lib/common/universal-prompt-template.js +3 -0
  319. package/lib/common/universal-prompt-template.js.map +1 -1
  320. package/lib/common/workspace-preferences.js +2 -2
  321. package/lib/common/workspace-preferences.js.map +1 -1
  322. package/lib/common/workspace-search-provider-util.d.ts +2 -1
  323. package/lib/common/workspace-search-provider-util.d.ts.map +1 -1
  324. package/lib/common/workspace-search-provider-util.js +3 -2
  325. package/lib/common/workspace-search-provider-util.js.map +1 -1
  326. package/lib/common/workspace-search-provider-util.spec.d.ts +2 -0
  327. package/lib/common/workspace-search-provider-util.spec.d.ts.map +1 -0
  328. package/lib/common/workspace-search-provider-util.spec.js +55 -0
  329. package/lib/common/workspace-search-provider-util.spec.js.map +1 -0
  330. package/lib/node/github-repo-service-impl.d.ts +2 -0
  331. package/lib/node/github-repo-service-impl.d.ts.map +1 -1
  332. package/lib/node/github-repo-service-impl.js +7 -1
  333. package/lib/node/github-repo-service-impl.js.map +1 -1
  334. package/package.json +26 -25
  335. package/src/browser/ai-configuration/agent-icon.ts +37 -0
  336. package/src/browser/ai-configuration/ai-configuration-breadcrumbs-contribution.ts +164 -0
  337. package/src/browser/ai-configuration/ai-configuration-detail-widget.spec.ts +165 -0
  338. package/src/browser/ai-configuration/ai-configuration-detail-widget.tsx +237 -0
  339. package/src/browser/ai-configuration/ai-configuration-label-provider-contribution.ts +47 -0
  340. package/src/browser/ai-configuration/ai-configuration-open-preference-renderer.ts +64 -0
  341. package/src/browser/ai-configuration/ai-configuration-preference-ownership.spec.ts +135 -0
  342. package/src/browser/ai-configuration/{components/configuration-section.tsx → ai-configuration-resource.ts} +9 -19
  343. package/src/browser/ai-configuration/ai-configuration-search-widget.tsx +135 -0
  344. package/src/browser/ai-configuration/ai-configuration-search.spec.ts +91 -0
  345. package/src/browser/ai-configuration/ai-configuration-search.ts +43 -0
  346. package/src/browser/ai-configuration/{components/empty-state.tsx → ai-configuration-tree-model.ts} +7 -11
  347. package/src/browser/ai-configuration/ai-configuration-tree-nodes.spec.ts +150 -0
  348. package/src/browser/ai-configuration/ai-configuration-tree-nodes.ts +167 -0
  349. package/src/browser/ai-configuration/ai-configuration-tree-widget.tsx +457 -0
  350. package/src/browser/ai-configuration/ai-configuration-view-contribution.ts +156 -18
  351. package/src/browser/ai-configuration/ai-configuration-widget.tsx +107 -75
  352. package/src/browser/ai-configuration/categories/agent-capabilities-settings.spec.ts +161 -0
  353. package/src/browser/ai-configuration/categories/agent-capabilities-settings.tsx +340 -0
  354. package/src/browser/ai-configuration/categories/agent-chips.tsx +51 -0
  355. package/src/browser/ai-configuration/categories/agent-detail-model.ts +152 -0
  356. package/src/browser/ai-configuration/categories/agent-detail-view.tsx +329 -0
  357. package/src/browser/ai-configuration/categories/agents-configuration-category.spec.ts +119 -0
  358. package/src/browser/ai-configuration/categories/agents-configuration-category.tsx +431 -0
  359. package/src/browser/ai-configuration/categories/general-configuration-category.spec.ts +225 -0
  360. package/src/browser/ai-configuration/categories/general-configuration-category.tsx +465 -0
  361. package/src/browser/ai-configuration/categories/model-aliases-configuration-category.spec.ts +87 -0
  362. package/src/browser/ai-configuration/categories/model-aliases-configuration-category.tsx +286 -0
  363. package/src/browser/ai-configuration/categories/models-configuration-category.spec.ts +167 -0
  364. package/src/browser/ai-configuration/categories/models-configuration-category.tsx +264 -0
  365. package/src/browser/ai-configuration/categories/prompt-snippets-configuration-category.spec.ts +250 -0
  366. package/src/browser/ai-configuration/categories/prompt-snippets-configuration-category.tsx +438 -0
  367. package/src/browser/ai-configuration/categories/prompts-and-skills-configuration-category.spec.ts +226 -0
  368. package/src/browser/ai-configuration/categories/prompts-and-skills-configuration-category.tsx +419 -0
  369. package/src/browser/ai-configuration/categories/token-usage-configuration-category.spec.ts +57 -0
  370. package/src/browser/ai-configuration/categories/token-usage-configuration-category.tsx +185 -0
  371. package/src/browser/ai-configuration/categories/tools-configuration-category.spec.ts +130 -0
  372. package/src/browser/ai-configuration/categories/tools-configuration-category.tsx +421 -0
  373. package/src/browser/ai-configuration/categories/variables-configuration-category.spec.ts +154 -0
  374. package/src/browser/ai-configuration/categories/variables-configuration-category.tsx +322 -0
  375. package/src/browser/ai-configuration/components/agent-notification-settings.tsx +38 -33
  376. package/src/browser/ai-configuration/language-model-renderer.spec.ts +100 -0
  377. package/src/browser/ai-configuration/language-model-renderer.tsx +244 -100
  378. package/src/browser/app-tester-chat-agent.ts +5 -2
  379. package/src/browser/architect-agent.ts +5 -2
  380. package/src/browser/architect-prompt-template.ts +7 -0
  381. package/src/browser/chat-session-item.tsx +2 -4
  382. package/src/browser/chat-session-list-service.ts +6 -3
  383. package/src/browser/code-reviewer-agent.ts +5 -2
  384. package/src/browser/coder-agent.ts +7 -5
  385. package/src/browser/context-file-validation-service-impl.spec.ts +3 -2
  386. package/src/browser/create-skill-agent.ts +5 -2
  387. package/src/browser/explore-agent.ts +5 -2
  388. package/src/browser/file-changeset-functions.spec.ts +158 -5
  389. package/src/browser/file-changeset-functions.ts +61 -23
  390. package/src/browser/frontend-module.ts +76 -63
  391. package/src/browser/github-chat-agent.ts +5 -2
  392. package/src/browser/github-repo-variable-contribution.ts +6 -3
  393. package/src/browser/ide-chat-welcome-message-provider.tsx +11 -11
  394. package/src/browser/memory-capability-contribution.spec.ts +85 -0
  395. package/src/browser/memory-capability-contribution.ts +86 -0
  396. package/src/browser/memory-directory-variable-contribution.spec.ts +113 -0
  397. package/src/browser/memory-directory-variable-contribution.ts +113 -0
  398. package/src/browser/open-editors-hint-contribution.ts +38 -0
  399. package/src/browser/project-info-agent.ts +5 -2
  400. package/src/browser/review/pr-review-agent.ts +5 -2
  401. package/src/browser/style/ai-configuration-base.css +0 -6
  402. package/src/browser/style/ai-configuration-shell.css +416 -0
  403. package/src/browser/style/ai-configuration-table.css +2 -15
  404. package/src/browser/style/index.css +220 -276
  405. package/src/browser/summarize-session-command-contribution.ts +6 -3
  406. package/src/browser/task-context-file-storage-service.ts +5 -2
  407. package/src/browser/user-interaction-tool.spec.ts +5 -2
  408. package/src/browser/user-interaction-tool.ts +6 -2
  409. package/src/browser/workspace-functions.spec.ts +163 -10
  410. package/src/browser/workspace-functions.ts +121 -72
  411. package/src/browser/workspace-launch-provider.spec.ts +4 -1
  412. package/src/browser/workspace-search-provider.spec.ts +1 -2
  413. package/src/browser/workspace-search-provider.ts +4 -7
  414. package/src/browser/workspace-task-provider.spec.ts +5 -1
  415. package/src/common/coder-replace-prompt-template.ts +9 -9
  416. package/src/common/command-chat-agents.ts +6 -2
  417. package/src/{browser/ai-configuration/base/ai-configuration-base-widget.tsx → common/open-editors-hint-fragment-id.ts} +2 -22
  418. package/src/common/orchestrator-chat-agent.ts +5 -2
  419. package/src/common/universal-chat-agent.ts +5 -2
  420. package/src/common/universal-prompt-template.ts +3 -0
  421. package/src/common/workspace-preferences.ts +2 -2
  422. package/src/common/workspace-search-provider-util.spec.ts +61 -0
  423. package/src/common/workspace-search-provider-util.ts +3 -2
  424. package/src/node/github-repo-service-impl.ts +6 -2
  425. package/lib/browser/ai-configuration/agent-configuration-widget.d.ts +0 -72
  426. package/lib/browser/ai-configuration/agent-configuration-widget.d.ts.map +0 -1
  427. package/lib/browser/ai-configuration/agent-configuration-widget.js +0 -620
  428. package/lib/browser/ai-configuration/agent-configuration-widget.js.map +0 -1
  429. package/lib/browser/ai-configuration/agent-configuration-widget.spec.d.ts +0 -2
  430. package/lib/browser/ai-configuration/agent-configuration-widget.spec.d.ts.map +0 -1
  431. package/lib/browser/ai-configuration/agent-configuration-widget.spec.js +0 -56
  432. package/lib/browser/ai-configuration/agent-configuration-widget.spec.js.map +0 -1
  433. package/lib/browser/ai-configuration/base/ai-card-grid-configuration-widget.d.ts +0 -31
  434. package/lib/browser/ai-configuration/base/ai-card-grid-configuration-widget.d.ts.map +0 -1
  435. package/lib/browser/ai-configuration/base/ai-card-grid-configuration-widget.js +0 -55
  436. package/lib/browser/ai-configuration/base/ai-card-grid-configuration-widget.js.map +0 -1
  437. package/lib/browser/ai-configuration/base/ai-configuration-base-widget.d.ts +0 -13
  438. package/lib/browser/ai-configuration/base/ai-configuration-base-widget.d.ts.map +0 -1
  439. package/lib/browser/ai-configuration/base/ai-configuration-base-widget.js.map +0 -1
  440. package/lib/browser/ai-configuration/base/ai-hierarchical-configuration-widget.d.ts +0 -23
  441. package/lib/browser/ai-configuration/base/ai-hierarchical-configuration-widget.d.ts.map +0 -1
  442. package/lib/browser/ai-configuration/base/ai-hierarchical-configuration-widget.js +0 -60
  443. package/lib/browser/ai-configuration/base/ai-hierarchical-configuration-widget.js.map +0 -1
  444. package/lib/browser/ai-configuration/base/ai-list-detail-configuration-widget.d.ts +0 -55
  445. package/lib/browser/ai-configuration/base/ai-list-detail-configuration-widget.d.ts.map +0 -1
  446. package/lib/browser/ai-configuration/base/ai-list-detail-configuration-widget.js +0 -96
  447. package/lib/browser/ai-configuration/base/ai-list-detail-configuration-widget.js.map +0 -1
  448. package/lib/browser/ai-configuration/base/ai-table-configuration-widget.d.ts +0 -44
  449. package/lib/browser/ai-configuration/base/ai-table-configuration-widget.d.ts.map +0 -1
  450. package/lib/browser/ai-configuration/base/ai-table-configuration-widget.js +0 -66
  451. package/lib/browser/ai-configuration/base/ai-table-configuration-widget.js.map +0 -1
  452. package/lib/browser/ai-configuration/components/configuration-section.d.ts +0 -12
  453. package/lib/browser/ai-configuration/components/configuration-section.d.ts.map +0 -1
  454. package/lib/browser/ai-configuration/components/configuration-section.js.map +0 -1
  455. package/lib/browser/ai-configuration/components/empty-state.d.ts +0 -10
  456. package/lib/browser/ai-configuration/components/empty-state.d.ts.map +0 -1
  457. package/lib/browser/ai-configuration/components/empty-state.js.map +0 -1
  458. package/lib/browser/ai-configuration/components/expandable-section.d.ts +0 -13
  459. package/lib/browser/ai-configuration/components/expandable-section.d.ts.map +0 -1
  460. package/lib/browser/ai-configuration/components/expandable-section.js +0 -31
  461. package/lib/browser/ai-configuration/components/expandable-section.js.map +0 -1
  462. package/lib/browser/ai-configuration/model-aliases-configuration-widget.d.ts +0 -26
  463. package/lib/browser/ai-configuration/model-aliases-configuration-widget.d.ts.map +0 -1
  464. package/lib/browser/ai-configuration/model-aliases-configuration-widget.js +0 -198
  465. package/lib/browser/ai-configuration/model-aliases-configuration-widget.js.map +0 -1
  466. package/lib/browser/ai-configuration/prompt-fragments-configuration-widget.d.ts +0 -140
  467. package/lib/browser/ai-configuration/prompt-fragments-configuration-widget.d.ts.map +0 -1
  468. package/lib/browser/ai-configuration/prompt-fragments-configuration-widget.js +0 -508
  469. package/lib/browser/ai-configuration/prompt-fragments-configuration-widget.js.map +0 -1
  470. package/lib/browser/ai-configuration/skills-configuration-widget.d.ts +0 -29
  471. package/lib/browser/ai-configuration/skills-configuration-widget.d.ts.map +0 -1
  472. package/lib/browser/ai-configuration/skills-configuration-widget.js +0 -166
  473. package/lib/browser/ai-configuration/skills-configuration-widget.js.map +0 -1
  474. package/lib/browser/ai-configuration/skills-configuration-widget.spec.d.ts +0 -2
  475. package/lib/browser/ai-configuration/skills-configuration-widget.spec.d.ts.map +0 -1
  476. package/lib/browser/ai-configuration/skills-configuration-widget.spec.js +0 -191
  477. package/lib/browser/ai-configuration/skills-configuration-widget.spec.js.map +0 -1
  478. package/lib/browser/ai-configuration/template-settings-renderer.d.ts +0 -9
  479. package/lib/browser/ai-configuration/template-settings-renderer.d.ts.map +0 -1
  480. package/lib/browser/ai-configuration/template-settings-renderer.js +0 -78
  481. package/lib/browser/ai-configuration/template-settings-renderer.js.map +0 -1
  482. package/lib/browser/ai-configuration/token-usage-configuration-widget.d.ts +0 -20
  483. package/lib/browser/ai-configuration/token-usage-configuration-widget.d.ts.map +0 -1
  484. package/lib/browser/ai-configuration/token-usage-configuration-widget.js +0 -170
  485. package/lib/browser/ai-configuration/token-usage-configuration-widget.js.map +0 -1
  486. package/lib/browser/ai-configuration/tools-configuration-widget.d.ts +0 -52
  487. package/lib/browser/ai-configuration/tools-configuration-widget.d.ts.map +0 -1
  488. package/lib/browser/ai-configuration/tools-configuration-widget.js +0 -357
  489. package/lib/browser/ai-configuration/tools-configuration-widget.js.map +0 -1
  490. package/lib/browser/ai-configuration/variable-configuration-widget.d.ts +0 -22
  491. package/lib/browser/ai-configuration/variable-configuration-widget.d.ts.map +0 -1
  492. package/lib/browser/ai-configuration/variable-configuration-widget.js +0 -133
  493. package/lib/browser/ai-configuration/variable-configuration-widget.js.map +0 -1
  494. package/src/browser/ai-configuration/agent-configuration-widget.spec.ts +0 -71
  495. package/src/browser/ai-configuration/agent-configuration-widget.tsx +0 -928
  496. package/src/browser/ai-configuration/base/ai-card-grid-configuration-widget.tsx +0 -72
  497. package/src/browser/ai-configuration/base/ai-hierarchical-configuration-widget.tsx +0 -51
  498. package/src/browser/ai-configuration/base/ai-list-detail-configuration-widget.tsx +0 -140
  499. package/src/browser/ai-configuration/base/ai-table-configuration-widget.tsx +0 -107
  500. package/src/browser/ai-configuration/components/expandable-section.tsx +0 -51
  501. package/src/browser/ai-configuration/model-aliases-configuration-widget.tsx +0 -270
  502. package/src/browser/ai-configuration/prompt-fragments-configuration-widget.tsx +0 -736
  503. package/src/browser/ai-configuration/skills-configuration-widget.spec.ts +0 -248
  504. package/src/browser/ai-configuration/skills-configuration-widget.tsx +0 -229
  505. package/src/browser/ai-configuration/template-settings-renderer.tsx +0 -125
  506. package/src/browser/ai-configuration/token-usage-configuration-widget.tsx +0 -214
  507. package/src/browser/ai-configuration/tools-configuration-widget.tsx +0 -544
  508. package/src/browser/ai-configuration/variable-configuration-widget.tsx +0 -159
  509. package/src/browser/style/ai-configuration-cards.css +0 -60
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.AIAgentConfigurationViewContribution = exports.OPEN_AI_CONFIG_VIEW_TOOLS = exports.OPEN_AI_CONFIG_VIEW = exports.AI_CONFIGURATION_TOGGLE_COMMAND_ID = void 0;
3
+ exports.AIConfigurationViewContribution = exports.OPEN_AI_CONFIG_VIEW_TOOLS = exports.OPEN_AI_CONFIG_VIEW = exports.AI_CONFIGURATION_TOGGLE_COMMAND_ID = void 0;
4
4
  const tslib_1 = require("tslib");
5
5
  // *****************************************************************************
6
6
  // Copyright (C) 2024 EclipseSource GmbH.
@@ -20,10 +20,15 @@ const tslib_1 = require("tslib");
20
20
  const core_1 = require("@theia/core");
21
21
  const browser_1 = require("@theia/ai-core/lib/browser");
22
22
  const chat_view_widget_1 = require("@theia/ai-chat-ui/lib/browser/chat-view-widget");
23
+ const browser_2 = require("@theia/core/lib/browser");
23
24
  const inversify_1 = require("@theia/core/shared/inversify");
24
25
  const ai_configuration_widget_1 = require("./ai-configuration-widget");
25
26
  const ai_configuration_service_1 = require("./ai-configuration-service");
26
- const tools_configuration_widget_1 = require("./tools-configuration-widget");
27
+ const ai_configuration_category_1 = require("@theia/ai-core-ui/lib/browser/ai-configuration/ai-configuration-category");
28
+ const ai_configuration_category_registry_1 = require("@theia/ai-core-ui/lib/browser/ai-configuration/ai-configuration-category-registry");
29
+ const ai_configuration_selection_model_1 = require("@theia/ai-core-ui/lib/browser/ai-configuration/ai-configuration-selection-model");
30
+ /** Preference key prefix under which all AI features register their preferences. */
31
+ const AI_PREFERENCE_PREFIX = 'ai-features.';
27
32
  exports.AI_CONFIGURATION_TOGGLE_COMMAND_ID = 'aiConfiguration:toggle';
28
33
  exports.OPEN_AI_CONFIG_VIEW = core_1.Command.toLocalizedCommand({
29
34
  id: 'aiConfiguration:open',
@@ -33,7 +38,7 @@ exports.OPEN_AI_CONFIG_VIEW_TOOLS = core_1.Command.toLocalizedCommand({
33
38
  id: 'aiConfiguration:openTools',
34
39
  label: 'Open AI Tools Configuration',
35
40
  });
36
- let AIAgentConfigurationViewContribution = class AIAgentConfigurationViewContribution extends browser_1.AIViewContribution {
41
+ let AIConfigurationViewContribution = class AIConfigurationViewContribution extends browser_1.AIViewContribution {
37
42
  constructor() {
38
43
  super({
39
44
  widgetId: ai_configuration_widget_1.AIConfigurationContainerWidget.ID,
@@ -45,29 +50,132 @@ let AIAgentConfigurationViewContribution = class AIAgentConfigurationViewContrib
45
50
  toggleCommandId: exports.AI_CONFIGURATION_TOGGLE_COMMAND_ID
46
51
  });
47
52
  }
48
- async initializeLayout(_app) {
49
- await this.openView();
53
+ /**
54
+ * Overrides {@link AIViewContribution.init}, which closes the view when AI features are disabled.
55
+ * The AI Configuration view must instead stay open, so that turning AI off does not close the very
56
+ * view holding the toggle that turns it back on. It stays reachable either way via the Manage (gear)
57
+ * menu and `alt+a`, both of which are ungated. See eclipsesource/theia#316.
58
+ */
59
+ init() {
60
+ // Intentionally left blank: do not register the deactivate-closes-view listener.
50
61
  }
51
62
  registerCommands(commands) {
52
- super.registerCommands(commands);
63
+ // Register the view toggle command as {@link AIViewContribution} would, but intentionally omit the
64
+ // "Open View..." quick-pick item it registers. The AI Configuration view is reachable only from the
65
+ // bottom-left Manage (gear) menu and the alt+a keybinding, mirroring the Settings UI.
66
+ if (this.toggleCommand) {
67
+ commands.registerCommand(this.toggleCommand, this.commandHandlerFactory({
68
+ execute: () => this.toggleView()
69
+ }));
70
+ }
53
71
  commands.registerCommand(exports.OPEN_AI_CONFIG_VIEW, {
54
- execute: async (tabId) => {
55
- // Only open/reveal the view if it isn't already visible; switching tabs on an
56
- // already-visible view doesn't need a (re-)activation of the whole view.
57
- const widget = this.tryGetWidget();
58
- if (!widget?.isVisible) {
59
- await this.openView({ activate: true });
72
+ execute: async (target) => {
73
+ // The Manage-menu entry and the alt+a keybinding invoke this with no argument; the chat
74
+ // toolbar passes the active widget. Only an explicit string target (a category or preference
75
+ // id) navigates - anything else just opens the view, so every entry point behaves the same
76
+ // as the Manage-menu entry.
77
+ const explicitTarget = typeof target === 'string' ? target.trim() || undefined : undefined;
78
+ // Whether the view already existed (open in some tab) before this call.
79
+ const alreadyOpen = !!this.tryGetWidget();
80
+ await this.openView({ activate: true });
81
+ if (explicitTarget) {
82
+ // An explicit category/preference target always navigates.
83
+ this.navigateTo(explicitTarget);
60
84
  }
61
- if (typeof tabId === 'string') {
62
- this.aiConfigurationSelectionService.selectConfigurationTab(tabId);
85
+ else if (!alreadyOpen) {
86
+ // A fresh open with no target lands on General; an already-open view is only
87
+ // (re-)activated and keeps its current selection.
88
+ this.navigateTo(undefined);
63
89
  }
64
90
  },
65
91
  });
66
92
  commands.registerCommand(exports.OPEN_AI_CONFIG_VIEW_TOOLS, {
67
- execute: () => commands.executeCommand(exports.OPEN_AI_CONFIG_VIEW.id, tools_configuration_widget_1.AIToolsConfigurationWidget.ID),
93
+ execute: () => commands.executeCommand(exports.OPEN_AI_CONFIG_VIEW.id, ai_configuration_category_1.AiConfigurationCategoryId.TOOLS),
94
+ });
95
+ // "Show AI Settings" (contributed by @theia/ai-core, e.g. the chat toolbar gear) opens the AI
96
+ // features settings. Those now live in this view rather than the Settings UI, so route the command
97
+ // straight here. Registered from @theia/ai-ide, this handler takes precedence over the core one
98
+ // (which falls back to `preferences:open` for apps without this view). No `isEnabled` gate, so the
99
+ // view stays reachable while AI is disabled — that is where AI features are re-enabled.
100
+ commands.registerHandler(browser_1.AI_SHOW_SETTINGS_COMMAND.id, {
101
+ // Forwarded so callers can deep-link to a preference row; OPEN_AI_CONFIG_VIEW ignores any
102
+ // argument that is not a string, so the widget the chat toolbar passes just opens the view.
103
+ execute: (target) => commands.executeCommand(exports.OPEN_AI_CONFIG_VIEW.id, target)
104
+ });
105
+ }
106
+ /** Whether a `preferences:open` argument targets the AI features preference section or a preference in it. */
107
+ isAiConfigurationPreference(query) {
108
+ return typeof query === 'string' && (query === 'ai-features' || query.startsWith(AI_PREFERENCE_PREFIX));
109
+ }
110
+ /**
111
+ * Navigates the (already-open) view to `target`. An `ai-features.*` preference id (or the `ai-features`
112
+ * section) opens the owning category focused on that row; any other value is treated as a category/tab
113
+ * id; no target lands on General. This lets every AI-settings entry point go through
114
+ * {@link OPEN_AI_CONFIG_VIEW} instead of `preferences:open`.
115
+ */
116
+ navigateTo(target) {
117
+ const value = target?.trim();
118
+ // An AI preference id (or the `ai-features` section) → focus the owning category and row.
119
+ if (value && this.isAiConfigurationPreference(value)) {
120
+ this.selectionModel.select(this.resolvePreferenceTarget(value) ?? { categoryId: ai_configuration_category_1.AiConfigurationCategoryId.GENERAL, highlight: { rowId: value } });
121
+ return;
122
+ }
123
+ // A known category id → select it directly (deterministic, no dependency on the legacy bridge).
124
+ if (value && this.categoryRegistry.getCategory(value)) {
125
+ this.selectionModel.select({ categoryId: value });
126
+ return;
127
+ }
128
+ // A legacy per-tab widget id → let the container bridge map it onto a category.
129
+ if (value) {
130
+ this.aiConfigurationSelectionService.selectConfigurationTab(value);
131
+ return;
132
+ }
133
+ // No/empty target → General, so the detail never stays on the empty "select a category" placeholder.
134
+ this.selectionModel.select({ categoryId: ai_configuration_category_1.AiConfigurationCategoryId.GENERAL });
135
+ }
136
+ /**
137
+ * Finds the navigation target for a preference by scanning the categories' deep-search index for the
138
+ * setting row that anchors it (rows use the preference id as their `highlight.rowId`). Returns
139
+ * `undefined` when no category surfaces the preference.
140
+ */
141
+ resolvePreferenceTarget(preferenceId) {
142
+ for (const category of this.categoryRegistry.getCategories()) {
143
+ const searchProvider = category;
144
+ for (const item of searchProvider.getSearchItems?.() ?? []) {
145
+ if (item.target.highlight?.rowId === preferenceId) {
146
+ return item.target;
147
+ }
148
+ }
149
+ }
150
+ return undefined;
151
+ }
152
+ /**
153
+ * Overrides {@link AIViewContribution.registerMenus} so the AI Configuration view is offered only from
154
+ * the bottom-left Manage (gear) menu, mirroring the Settings UI. It is intentionally not added to the
155
+ * View menu's "Views" submenu. The Manage entry (and the alt+a keybinding) keep it reachable even while
156
+ * AI is disabled, which is where AI gets re-enabled. See eclipsesource/theia#316.
157
+ */
158
+ registerMenus(menus) {
159
+ // Bottom-left Manage menu, directly below "Settings" (order 'a10').
160
+ menus.registerMenuAction(browser_2.CommonMenus.MANAGE_SETTINGS, {
161
+ commandId: exports.OPEN_AI_CONFIG_VIEW.id,
162
+ label: core_1.nls.localize('theia/ai/ide/aiConfiguration/manageMenu', 'AI Configuration'),
163
+ order: 'a11'
164
+ });
165
+ }
166
+ registerKeybindings(keybindings) {
167
+ super.registerKeybindings(keybindings);
168
+ keybindings.registerKeybinding({
169
+ command: exports.OPEN_AI_CONFIG_VIEW.id,
170
+ keybinding: 'alt+a'
68
171
  });
69
172
  }
70
173
  registerToolbarItems(registry) {
174
+ // The IDE offers "Open AI Configuration" (below) as the single chat-toolbar entry into AI settings,
175
+ // so drop the generic "Open AI Settings" button that @theia/ai-chat-ui contributes for base apps
176
+ // (AI_SHOW_SETTINGS_COMMAND). @theia/ai-ide depends on @theia/ai-chat-ui, so that item is already
177
+ // registered by the time this runs.
178
+ registry.unregisterItem('chat-view.' + browser_1.AI_SHOW_SETTINGS_COMMAND.id);
71
179
  registry.registerItem({
72
180
  id: 'chat-view.' + exports.OPEN_AI_CONFIG_VIEW.id,
73
181
  command: exports.OPEN_AI_CONFIG_VIEW.id,
@@ -76,15 +184,39 @@ let AIAgentConfigurationViewContribution = class AIAgentConfigurationViewContrib
76
184
  priority: 2,
77
185
  isVisible: widget => this.activationService.isActive && widget instanceof chat_view_widget_1.ChatViewWidget
78
186
  });
187
+ // Escape hatch from the AI Configuration view to the regular Settings UI. OPEN_PREFERENCES ignores
188
+ // the widget argument the toolbar passes (it only acts on a string search term), and this view's
189
+ // `ai-features.*` interceptor does not claim it (the argument is not an AI preference id).
190
+ registry.registerItem({
191
+ id: 'ai-configuration.open-settings-ui',
192
+ command: browser_2.CommonCommands.OPEN_PREFERENCES.id,
193
+ icon: (0, browser_2.codicon)('settings'),
194
+ tooltip: core_1.nls.localizeByDefault('Open Settings (UI)'),
195
+ isVisible: widget => widget instanceof ai_configuration_widget_1.AIConfigurationContainerWidget
196
+ });
197
+ // Expand/Collapse All are a single contextual toggle below the search box, owned by the search
198
+ // widget and wired straight to the tree (see `AIConfigurationContainerWidget.initListeners`).
199
+ // Deliberately not commands: they act on this view's own category tree, so "Expand All" would not
200
+ // say in the command palette what it expands. The Outline and Problems views keep theirs out of the
201
+ // palette the same way, by declaring the command without a `label` (`QuickCommandService.normalize`
202
+ // filters those out) on top of gating it on the widget.
79
203
  }
80
204
  };
81
- exports.AIAgentConfigurationViewContribution = AIAgentConfigurationViewContribution;
205
+ exports.AIConfigurationViewContribution = AIConfigurationViewContribution;
82
206
  tslib_1.__decorate([
83
207
  (0, inversify_1.inject)(ai_configuration_service_1.AIConfigurationSelectionService),
84
208
  tslib_1.__metadata("design:type", ai_configuration_service_1.AIConfigurationSelectionService)
85
- ], AIAgentConfigurationViewContribution.prototype, "aiConfigurationSelectionService", void 0);
86
- exports.AIAgentConfigurationViewContribution = AIAgentConfigurationViewContribution = tslib_1.__decorate([
209
+ ], AIConfigurationViewContribution.prototype, "aiConfigurationSelectionService", void 0);
210
+ tslib_1.__decorate([
211
+ (0, inversify_1.inject)(ai_configuration_category_registry_1.AiConfigurationCategoryRegistry),
212
+ tslib_1.__metadata("design:type", ai_configuration_category_registry_1.AiConfigurationCategoryRegistry)
213
+ ], AIConfigurationViewContribution.prototype, "categoryRegistry", void 0);
214
+ tslib_1.__decorate([
215
+ (0, inversify_1.inject)(ai_configuration_selection_model_1.AiConfigurationSelectionModel),
216
+ tslib_1.__metadata("design:type", ai_configuration_selection_model_1.AiConfigurationSelectionModel)
217
+ ], AIConfigurationViewContribution.prototype, "selectionModel", void 0);
218
+ exports.AIConfigurationViewContribution = AIConfigurationViewContribution = tslib_1.__decorate([
87
219
  (0, inversify_1.injectable)(),
88
220
  tslib_1.__metadata("design:paramtypes", [])
89
- ], AIAgentConfigurationViewContribution);
221
+ ], AIConfigurationViewContribution);
90
222
  //# sourceMappingURL=ai-configuration-view-contribution.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"ai-configuration-view-contribution.js","sourceRoot":"","sources":["../../../src/browser/ai-configuration/ai-configuration-view-contribution.ts"],"names":[],"mappings":";;;;AAAA,gFAAgF;AAChF,yCAAyC;AACzC,EAAE;AACF,2EAA2E;AAC3E,mEAAmE;AACnE,wCAAwC;AACxC,EAAE;AACF,4EAA4E;AAC5E,8EAA8E;AAC9E,6EAA6E;AAC7E,yDAAyD;AACzD,uDAAuD;AACvD,EAAE;AACF,gFAAgF;AAChF,gFAAgF;AAChF,sCAA4D;AAE5D,wDAAgE;AAChE,qFAAgF;AAEhF,4DAAkE;AAClE,uEAA2E;AAC3E,yEAA6E;AAC7E,6EAA0E;AAE7D,QAAA,kCAAkC,GAAG,wBAAwB,CAAC;AAC9D,QAAA,mBAAmB,GAAG,cAAO,CAAC,kBAAkB,CAAC;IAC1D,EAAE,EAAE,sBAAsB;IAC1B,KAAK,EAAE,4BAA4B;CACtC,CAAC,CAAC;AAEU,QAAA,yBAAyB,GAAG,cAAO,CAAC,kBAAkB,CAAC;IAChE,EAAE,EAAE,2BAA2B;IAC/B,KAAK,EAAE,6BAA6B;CACvC,CAAC,CAAC;AAGI,IAAM,oCAAoC,GAA1C,MAAM,oCAAqC,SAAQ,4BAAkD;IAKxG;QACI,KAAK,CAAC;YACF,QAAQ,EAAE,wDAA8B,CAAC,EAAE;YAC3C,UAAU,EAAE,wDAA8B,CAAC,KAAK;YAChD,oBAAoB,EAAE;gBAClB,IAAI,EAAE,MAAM;gBACZ,IAAI,EAAE,GAAG;aACZ;YACD,eAAe,EAAE,0CAAkC;SACtD,CAAC,CAAC;IACP,CAAC;IAED,KAAK,CAAC,gBAAgB,CAAC,IAAyB;QAC5C,MAAM,IAAI,CAAC,QAAQ,EAAE,CAAC;IAC1B,CAAC;IAEQ,gBAAgB,CAAC,QAAyB;QAC/C,KAAK,CAAC,gBAAgB,CAAC,QAAQ,CAAC,CAAC;QACjC,QAAQ,CAAC,eAAe,CAAC,2BAAmB,EAAE;YAC1C,OAAO,EAAE,KAAK,EAAE,KAAc,EAAE,EAAE;gBAC9B,8EAA8E;gBAC9E,yEAAyE;gBACzE,MAAM,MAAM,GAAG,IAAI,CAAC,YAAY,EAAE,CAAC;gBACnC,IAAI,CAAC,MAAM,EAAE,SAAS,EAAE,CAAC;oBACrB,MAAM,IAAI,CAAC,QAAQ,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC;gBAC5C,CAAC;gBACD,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;oBAC5B,IAAI,CAAC,+BAA+B,CAAC,sBAAsB,CAAC,KAAK,CAAC,CAAC;gBACvE,CAAC;YACL,CAAC;SACJ,CAAC,CAAC;QACH,QAAQ,CAAC,eAAe,CAAC,iCAAyB,EAAE;YAChD,OAAO,EAAE,GAAG,EAAE,CAAC,QAAQ,CAAC,cAAc,CAAC,2BAAmB,CAAC,EAAE,EAAE,uDAA0B,CAAC,EAAE,CAAC;SAChG,CAAC,CAAC;IACP,CAAC;IAED,oBAAoB,CAAC,QAA+B;QAChD,QAAQ,CAAC,YAAY,CAAC;YAClB,EAAE,EAAE,YAAY,GAAG,2BAAmB,CAAC,EAAE;YACzC,OAAO,EAAE,2BAAmB,CAAC,EAAE;YAC/B,OAAO,EAAE,UAAG,CAAC,QAAQ,CAAC,4CAA4C,EAAE,uBAAuB,CAAC;YAC5F,KAAK,EAAE,aAAa;YACpB,QAAQ,EAAE,CAAC;YACX,SAAS,EAAE,MAAM,CAAC,EAAE,CAAC,IAAI,CAAC,iBAAiB,CAAC,QAAQ,IAAI,MAAM,YAAY,iCAAc;SAC3F,CAAC,CAAC;IACP,CAAC;CACJ,CAAA;AAnDY,oFAAoC;AAG1B;IADlB,IAAA,kBAAM,EAAC,0DAA+B,CAAC;sCACY,0DAA+B;6FAAC;+CAH3E,oCAAoC;IADhD,IAAA,sBAAU,GAAE;;GACA,oCAAoC,CAmDhD"}
1
+ {"version":3,"file":"ai-configuration-view-contribution.js","sourceRoot":"","sources":["../../../src/browser/ai-configuration/ai-configuration-view-contribution.ts"],"names":[],"mappings":"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"}
@@ -1,31 +1,29 @@
1
- import { BaseWidget, DockPanel, WidgetManager } from '@theia/core/lib/browser';
2
- import { TheiaDockPanel } from '@theia/core/lib/browser/shell/theia-dock-panel';
3
- import { AIAgentConfigurationWidget } from './agent-configuration-widget';
4
- import { AIVariableConfigurationWidget } from './variable-configuration-widget';
5
- import { AIToolsConfigurationWidget } from './tools-configuration-widget';
6
- import { AISkillsConfigurationWidget } from './skills-configuration-widget';
1
+ import URI from '@theia/core/lib/common/uri';
2
+ import { BaseWidget, Message, NavigatableWidget, SplitPanel } from '@theia/core/lib/browser';
3
+ import { AiConfigurationCategoryRegistry } from '@theia/ai-core-ui/lib/browser/ai-configuration/ai-configuration-category-registry';
4
+ import { AiConfigurationSelectionModel } from '@theia/ai-core-ui/lib/browser/ai-configuration/ai-configuration-selection-model';
7
5
  import { AIConfigurationSelectionService } from './ai-configuration-service';
8
- import { AIMCPConfigurationWidget } from '@theia/ai-mcp/lib/browser/mcp-configuration-widget';
9
- import { AITokenUsageConfigurationWidget } from './token-usage-configuration-widget';
10
- import { AIPromptFragmentsConfigurationWidget } from './prompt-fragments-configuration-widget';
11
- import { ModelAliasesConfigurationWidget } from './model-aliases-configuration-widget';
12
- export declare class AIConfigurationContainerWidget extends BaseWidget {
6
+ import { AiConfigurationTreeWidget } from './ai-configuration-tree-widget';
7
+ import { AiConfigurationDetailWidget } from './ai-configuration-detail-widget';
8
+ import { AiConfigurationSearchWidget } from './ai-configuration-search-widget';
9
+ export declare class AIConfigurationContainerWidget extends BaseWidget implements NavigatableWidget {
13
10
  static readonly ID = "ai-configuration";
14
11
  static readonly LABEL: string;
15
- protected dockpanel: DockPanel;
16
- protected readonly dockPanelFactory: TheiaDockPanel.Factory;
17
- protected readonly widgetManager: WidgetManager;
12
+ /** Constant resource URI so the shell renders Theia breadcrumbs for this view. */
13
+ getResourceUri(): URI | undefined;
14
+ createMoveToUri(): URI | undefined;
15
+ protected readonly searchWidget: AiConfigurationSearchWidget;
16
+ protected readonly treeWidget: AiConfigurationTreeWidget;
17
+ protected readonly detailWidget: AiConfigurationDetailWidget;
18
+ protected readonly registry: AiConfigurationCategoryRegistry;
19
+ protected readonly selectionModel: AiConfigurationSelectionModel;
18
20
  protected readonly aiConfigurationSelectionService: AIConfigurationSelectionService;
19
- protected agentsWidget: AIAgentConfigurationWidget;
20
- protected variablesWidget: AIVariableConfigurationWidget;
21
- protected mcpWidget: AIMCPConfigurationWidget;
22
- protected tokenUsageWidget: AITokenUsageConfigurationWidget;
23
- protected promptFragmentsWidget: AIPromptFragmentsConfigurationWidget;
24
- protected toolsWidget: AIToolsConfigurationWidget;
25
- protected skillsWidget: AISkillsConfigurationWidget;
26
- protected modelAliasesWidget: ModelAliasesConfigurationWidget;
21
+ protected bodyPanel: SplitPanel;
27
22
  protected init(): void;
28
- protected initUI(): Promise<void>;
23
+ protected initLayout(): void;
29
24
  protected initListeners(): void;
25
+ protected onAfterAttach(msg: Message): void;
26
+ protected selectInitialCategory(): void;
27
+ protected onActivateRequest(msg: Message): void;
30
28
  }
31
29
  //# sourceMappingURL=ai-configuration-widget.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"ai-configuration-widget.d.ts","sourceRoot":"","sources":["../../../src/browser/ai-configuration/ai-configuration-widget.tsx"],"names":[],"mappings":"AAgBA,OAAO,EAAE,UAAU,EAAsB,SAAS,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAC;AACnG,OAAO,EAAE,cAAc,EAAE,MAAM,gDAAgD,CAAC;AAEhF,OAAO,EAAE,0BAA0B,EAAE,MAAM,8BAA8B,CAAC;AAC1E,OAAO,EAAE,6BAA6B,EAAE,MAAM,iCAAiC,CAAC;AAChF,OAAO,EAAE,0BAA0B,EAAE,MAAM,8BAA8B,CAAC;AAC1E,OAAO,EAAE,2BAA2B,EAAE,MAAM,+BAA+B,CAAC;AAC5E,OAAO,EAAE,+BAA+B,EAAE,MAAM,4BAA4B,CAAC;AAE7E,OAAO,EAAE,wBAAwB,EAAE,MAAM,oDAAoD,CAAC;AAC9F,OAAO,EAAE,+BAA+B,EAAE,MAAM,oCAAoC,CAAC;AACrF,OAAO,EAAE,oCAAoC,EAAE,MAAM,yCAAyC,CAAC;AAC/F,OAAO,EAAE,+BAA+B,EAAE,MAAM,sCAAsC,CAAC;AAEvF,qBACa,8BAA+B,SAAQ,UAAU;IAE1D,MAAM,CAAC,QAAQ,CAAC,EAAE,sBAAsB;IACxC,MAAM,CAAC,QAAQ,CAAC,KAAK,SAA2E;IAChG,SAAS,CAAC,SAAS,EAAE,SAAS,CAAC;IAG/B,SAAS,CAAC,QAAQ,CAAC,gBAAgB,EAAE,cAAc,CAAC,OAAO,CAAC;IAE5D,SAAS,CAAC,QAAQ,CAAC,aAAa,EAAE,aAAa,CAAC;IAEhD,SAAS,CAAC,QAAQ,CAAC,+BAA+B,EAAE,+BAA+B,CAAC;IAEpF,SAAS,CAAC,YAAY,EAAE,0BAA0B,CAAC;IACnD,SAAS,CAAC,eAAe,EAAE,6BAA6B,CAAC;IACzD,SAAS,CAAC,SAAS,EAAE,wBAAwB,CAAC;IAC9C,SAAS,CAAC,gBAAgB,EAAE,+BAA+B,CAAC;IAC5D,SAAS,CAAC,qBAAqB,EAAE,oCAAoC,CAAC;IACtE,SAAS,CAAC,WAAW,EAAE,0BAA0B,CAAC;IAClD,SAAS,CAAC,YAAY,EAAE,2BAA2B,CAAC;IACpD,SAAS,CAAC,kBAAkB,EAAE,+BAA+B,CAAC;IAG9D,SAAS,CAAC,IAAI,IAAI,IAAI;cAWN,MAAM,IAAI,OAAO,CAAC,IAAI,CAAC;IA+BvC,SAAS,CAAC,aAAa,IAAI,IAAI;CAqBlC"}
1
+ {"version":3,"file":"ai-configuration-widget.d.ts","sourceRoot":"","sources":["../../../src/browser/ai-configuration/ai-configuration-widget.tsx"],"names":[],"mappings":"AAiBA,OAAO,GAAG,MAAM,4BAA4B,CAAC;AAC7C,OAAO,EAAE,UAAU,EAAsB,OAAO,EAAE,iBAAiB,EAAS,UAAU,EAAE,MAAM,yBAAyB,CAAC;AAIxH,OAAO,EAAE,+BAA+B,EAAE,MAAM,mFAAmF,CAAC;AACpI,OAAO,EAAE,6BAA6B,EAAE,MAAM,iFAAiF,CAAC;AAChI,OAAO,EAAE,+BAA+B,EAAE,MAAM,4BAA4B,CAAC;AAC7E,OAAO,EAAE,yBAAyB,EAAE,MAAM,gCAAgC,CAAC;AAC3E,OAAO,EAAE,2BAA2B,EAAE,MAAM,kCAAkC,CAAC;AAC/E,OAAO,EAAE,2BAA2B,EAAE,MAAM,kCAAkC,CAAC;AAoB/E,qBACa,8BAA+B,SAAQ,UAAW,YAAW,iBAAiB;IAEvF,MAAM,CAAC,QAAQ,CAAC,EAAE,sBAAsB;IACxC,MAAM,CAAC,QAAQ,CAAC,KAAK,SAA2E;IAEhG,kFAAkF;IAClF,cAAc,IAAI,GAAG,GAAG,SAAS;IAIjC,eAAe,IAAI,GAAG,GAAG,SAAS;IAKlC,SAAS,CAAC,QAAQ,CAAC,YAAY,EAAE,2BAA2B,CAAC;IAE7D,SAAS,CAAC,QAAQ,CAAC,UAAU,EAAE,yBAAyB,CAAC;IAEzD,SAAS,CAAC,QAAQ,CAAC,YAAY,EAAE,2BAA2B,CAAC;IAE7D,SAAS,CAAC,QAAQ,CAAC,QAAQ,EAAE,+BAA+B,CAAC;IAE7D,SAAS,CAAC,QAAQ,CAAC,cAAc,EAAE,6BAA6B,CAAC;IAEjE,SAAS,CAAC,QAAQ,CAAC,+BAA+B,EAAE,+BAA+B,CAAC;IAEpF,SAAS,CAAC,SAAS,EAAE,UAAU,CAAC;IAGhC,SAAS,CAAC,IAAI,IAAI,IAAI;IAWtB,SAAS,CAAC,UAAU,IAAI,IAAI;IAoB5B,SAAS,CAAC,aAAa,IAAI,IAAI;cAoBZ,aAAa,CAAC,GAAG,EAAE,OAAO,GAAG,IAAI;IAMpD,SAAS,CAAC,qBAAqB,IAAI,IAAI;cASpB,iBAAiB,CAAC,GAAG,EAAE,OAAO,GAAG,IAAI;CAK3D"}
@@ -18,98 +18,130 @@ var AIConfigurationContainerWidget_1;
18
18
  Object.defineProperty(exports, "__esModule", { value: true });
19
19
  exports.AIConfigurationContainerWidget = void 0;
20
20
  const tslib_1 = require("tslib");
21
+ const core_1 = require("@theia/core");
21
22
  const browser_1 = require("@theia/core/lib/browser");
22
- const theia_dock_panel_1 = require("@theia/core/lib/browser/shell/theia-dock-panel");
23
23
  const inversify_1 = require("@theia/core/shared/inversify");
24
- const agent_configuration_widget_1 = require("./agent-configuration-widget");
25
- const variable_configuration_widget_1 = require("./variable-configuration-widget");
26
- const tools_configuration_widget_1 = require("./tools-configuration-widget");
27
- const skills_configuration_widget_1 = require("./skills-configuration-widget");
24
+ const ai_configuration_resource_1 = require("./ai-configuration-resource");
25
+ const ai_configuration_category_1 = require("@theia/ai-core-ui/lib/browser/ai-configuration/ai-configuration-category");
26
+ const ai_configuration_category_registry_1 = require("@theia/ai-core-ui/lib/browser/ai-configuration/ai-configuration-category-registry");
27
+ const ai_configuration_selection_model_1 = require("@theia/ai-core-ui/lib/browser/ai-configuration/ai-configuration-selection-model");
28
28
  const ai_configuration_service_1 = require("./ai-configuration-service");
29
- const core_1 = require("@theia/core");
30
- const mcp_configuration_widget_1 = require("@theia/ai-mcp/lib/browser/mcp-configuration-widget");
31
- const token_usage_configuration_widget_1 = require("./token-usage-configuration-widget");
32
- const prompt_fragments_configuration_widget_1 = require("./prompt-fragments-configuration-widget");
33
- const model_aliases_configuration_widget_1 = require("./model-aliases-configuration-widget");
29
+ const ai_configuration_tree_widget_1 = require("./ai-configuration-tree-widget");
30
+ const ai_configuration_detail_widget_1 = require("./ai-configuration-detail-widget");
31
+ const ai_configuration_search_widget_1 = require("./ai-configuration-search-widget");
32
+ /**
33
+ * Maps the legacy per-tab widget ids (still accepted by the `OPEN_AI_CONFIG_VIEW`
34
+ * command and the chat toolbar button) onto the new category ids, so those entry
35
+ * points keep working with the master–detail shell.
36
+ */
37
+ const LEGACY_WIDGET_TO_CATEGORY_ID = {
38
+ 'ai-agent-configuration-container-widget': ai_configuration_category_1.AiConfigurationCategoryId.AGENTS,
39
+ 'ai-variable-configuration-container-widget': ai_configuration_category_1.AiConfigurationCategoryId.VARIABLES,
40
+ 'ai-mcp-configuration-container-widget': ai_configuration_category_1.AiConfigurationCategoryId.MCP_SERVERS,
41
+ 'ai-token-usage-configuration-container-widget': ai_configuration_category_1.AiConfigurationCategoryId.TOKEN_USAGE,
42
+ // The former prompt fragments tab listed every fragment; its variant sets are now part of the agent
43
+ // detail, so Prompt Snippets is the closest equivalent for a link that predates the rework.
44
+ 'ai-prompt-fragments-configuration': ai_configuration_category_1.AiConfigurationCategoryId.PROMPT_SNIPPETS,
45
+ 'ai-tools-configuration-widget': ai_configuration_category_1.AiConfigurationCategoryId.TOOLS,
46
+ 'ai-skills-configuration-widget': ai_configuration_category_1.AiConfigurationCategoryId.PROMPTS_AND_SKILLS,
47
+ 'ai-model-aliases-configuration-widget': ai_configuration_category_1.AiConfigurationCategoryId.MODEL_ALIASES
48
+ };
34
49
  let AIConfigurationContainerWidget = class AIConfigurationContainerWidget extends browser_1.BaseWidget {
35
50
  static { AIConfigurationContainerWidget_1 = this; }
36
51
  static { this.ID = 'ai-configuration'; }
37
52
  static { this.LABEL = core_1.nls.localize('theia/ai/core/aiConfiguration/label', 'AI Configuration'); }
53
+ /** Constant resource URI so the shell renders Theia breadcrumbs for this view. */
54
+ getResourceUri() {
55
+ return ai_configuration_resource_1.AI_CONFIGURATION_RESOURCE_URI;
56
+ }
57
+ createMoveToUri() {
58
+ return undefined;
59
+ }
38
60
  init() {
39
61
  this.id = AIConfigurationContainerWidget_1.ID;
40
62
  this.title.label = AIConfigurationContainerWidget_1.LABEL;
41
63
  this.title.caption = AIConfigurationContainerWidget_1.LABEL;
42
64
  this.title.closable = true;
43
- this.addClass('theia-settings-container');
44
- this.title.iconClass = (0, browser_1.codicon)('hubot');
45
- this.initUI();
65
+ this.title.iconClass = (0, browser_1.codicon)('settings-gear');
66
+ this.addClass('ai-configuration-shell');
67
+ this.initLayout();
46
68
  this.initListeners();
47
69
  }
48
- async initUI() {
49
- const layout = (this.layout = new browser_1.BoxLayout({ direction: 'top-to-bottom', spacing: 0 }));
50
- this.dockpanel = this.dockPanelFactory({
51
- mode: 'multiple-document',
52
- spacing: 0
53
- });
54
- browser_1.BoxLayout.setStretch(this.dockpanel, 1);
55
- layout.addWidget(this.dockpanel);
56
- this.dockpanel.addClass('ai-configuration-widget');
57
- this.agentsWidget = await this.widgetManager.getOrCreateWidget(agent_configuration_widget_1.AIAgentConfigurationWidget.ID);
58
- this.variablesWidget = await this.widgetManager.getOrCreateWidget(variable_configuration_widget_1.AIVariableConfigurationWidget.ID);
59
- this.mcpWidget = await this.widgetManager.getOrCreateWidget(mcp_configuration_widget_1.AIMCPConfigurationWidget.ID);
60
- this.tokenUsageWidget = await this.widgetManager.getOrCreateWidget(token_usage_configuration_widget_1.AITokenUsageConfigurationWidget.ID);
61
- this.promptFragmentsWidget = await this.widgetManager.getOrCreateWidget(prompt_fragments_configuration_widget_1.AIPromptFragmentsConfigurationWidget.ID);
62
- this.toolsWidget = await this.widgetManager.getOrCreateWidget(tools_configuration_widget_1.AIToolsConfigurationWidget.ID);
63
- this.skillsWidget = await this.widgetManager.getOrCreateWidget(skills_configuration_widget_1.AISkillsConfigurationWidget.ID);
64
- this.modelAliasesWidget = await this.widgetManager.getOrCreateWidget(model_aliases_configuration_widget_1.ModelAliasesConfigurationWidget.ID);
65
- this.dockpanel.addWidget(this.agentsWidget);
66
- this.dockpanel.addWidget(this.variablesWidget, { mode: 'tab-after', ref: this.agentsWidget });
67
- this.dockpanel.addWidget(this.mcpWidget, { mode: 'tab-after', ref: this.variablesWidget });
68
- this.dockpanel.addWidget(this.tokenUsageWidget, { mode: 'tab-after', ref: this.mcpWidget });
69
- this.dockpanel.addWidget(this.promptFragmentsWidget, { mode: 'tab-after', ref: this.tokenUsageWidget });
70
- this.dockpanel.addWidget(this.toolsWidget, { mode: 'tab-after', ref: this.promptFragmentsWidget });
71
- this.dockpanel.addWidget(this.skillsWidget, { mode: 'tab-after', ref: this.toolsWidget });
72
- this.dockpanel.addWidget(this.modelAliasesWidget, { mode: 'tab-after', ref: this.skillsWidget });
73
- this.update();
70
+ initLayout() {
71
+ const layout = this.layout = new browser_1.BoxLayout({ direction: 'top-to-bottom', spacing: 0 });
72
+ // Tree column: search box above the category tree. A plain Panel (flow layout)
73
+ // lets CSS flexbox stack the fixed-height search box over the scrollable tree.
74
+ // A BoxLayout would size the search box from its `fit-content` height, which
75
+ // Lumino measures as zero, collapsing the search box on top of the tree.
76
+ const treeColumn = new browser_1.Panel();
77
+ treeColumn.addClass('ai-configuration-tree-column');
78
+ treeColumn.addWidget(this.searchWidget);
79
+ treeColumn.addWidget(this.treeWidget);
80
+ this.bodyPanel = new browser_1.SplitPanel({ orientation: 'horizontal', spacing: 1 });
81
+ this.bodyPanel.addClass('ai-configuration-body');
82
+ this.bodyPanel.addWidget(treeColumn);
83
+ this.bodyPanel.addWidget(this.detailWidget);
84
+ browser_1.BoxLayout.setStretch(this.bodyPanel, 1);
85
+ layout.addWidget(this.bodyPanel);
74
86
  }
75
87
  initListeners() {
76
- this.aiConfigurationSelectionService.onDidSelectConfiguration(widgetId => {
77
- if (widgetId === agent_configuration_widget_1.AIAgentConfigurationWidget.ID) {
78
- this.dockpanel.activateWidget(this.agentsWidget);
79
- }
80
- else if (widgetId === variable_configuration_widget_1.AIVariableConfigurationWidget.ID) {
81
- this.dockpanel.activateWidget(this.variablesWidget);
82
- }
83
- else if (widgetId === mcp_configuration_widget_1.AIMCPConfigurationWidget.ID) {
84
- this.dockpanel.activateWidget(this.mcpWidget);
85
- }
86
- else if (widgetId === token_usage_configuration_widget_1.AITokenUsageConfigurationWidget.ID) {
87
- this.dockpanel.activateWidget(this.tokenUsageWidget);
88
- }
89
- else if (widgetId === prompt_fragments_configuration_widget_1.AIPromptFragmentsConfigurationWidget.ID) {
90
- this.dockpanel.activateWidget(this.promptFragmentsWidget);
91
- }
92
- else if (widgetId === tools_configuration_widget_1.AIToolsConfigurationWidget.ID) {
93
- this.dockpanel.activateWidget(this.toolsWidget);
94
- }
95
- else if (widgetId === skills_configuration_widget_1.AISkillsConfigurationWidget.ID) {
96
- this.dockpanel.activateWidget(this.skillsWidget);
97
- }
98
- else if (widgetId === model_aliases_configuration_widget_1.ModelAliasesConfigurationWidget.ID) {
99
- this.dockpanel.activateWidget(this.modelAliasesWidget);
88
+ // Bridge the legacy selection service (driven by OPEN_AI_CONFIG_VIEW) onto the new selection model.
89
+ this.toDispose.push(this.aiConfigurationSelectionService.onDidSelectConfiguration(widgetId => {
90
+ const categoryId = LEGACY_WIDGET_TO_CATEGORY_ID[widgetId] ?? widgetId;
91
+ this.selectionModel.select({ categoryId });
92
+ }));
93
+ // The search box drives the live tree filter.
94
+ this.toDispose.push(this.searchWidget.onDidChangeFilter(text => this.treeWidget.setFilter(text)));
95
+ // The expand/collapse-all buttons below the search box drive the tree.
96
+ this.toDispose.push(this.searchWidget.onDidRequestExpandAll(() => this.treeWidget.expandAll()));
97
+ this.toDispose.push(this.searchWidget.onDidRequestCollapseAll(() => this.treeWidget.collapseAll()));
98
+ // Keep the single expand/collapse-all toggle in sync with the tree's actual expansion state.
99
+ const syncToolbarToggle = () => {
100
+ const state = this.treeWidget.getExpansionSummary();
101
+ this.searchWidget.setTreeExpansion(state !== 'none', state === 'all-expanded');
102
+ };
103
+ this.toDispose.push(this.treeWidget.onDidChangeExpansion(syncToolbarToggle));
104
+ syncToolbarToggle();
105
+ }
106
+ onAfterAttach(msg) {
107
+ super.onAfterAttach(msg);
108
+ this.bodyPanel.setRelativeSizes([1, 3]);
109
+ this.selectInitialCategory();
110
+ }
111
+ selectInitialCategory() {
112
+ if (!this.selectionModel.getSelection()) {
113
+ const first = this.registry.getCategories()[0];
114
+ if (first) {
115
+ this.selectionModel.select({ categoryId: first.id });
100
116
  }
101
- });
117
+ }
118
+ }
119
+ onActivateRequest(msg) {
120
+ super.onActivateRequest(msg);
121
+ this.treeWidget.activate();
102
122
  }
103
123
  };
104
124
  exports.AIConfigurationContainerWidget = AIConfigurationContainerWidget;
105
125
  tslib_1.__decorate([
106
- (0, inversify_1.inject)(theia_dock_panel_1.TheiaDockPanel.Factory),
107
- tslib_1.__metadata("design:type", Function)
108
- ], AIConfigurationContainerWidget.prototype, "dockPanelFactory", void 0);
126
+ (0, inversify_1.inject)(ai_configuration_search_widget_1.AiConfigurationSearchWidget),
127
+ tslib_1.__metadata("design:type", ai_configuration_search_widget_1.AiConfigurationSearchWidget)
128
+ ], AIConfigurationContainerWidget.prototype, "searchWidget", void 0);
129
+ tslib_1.__decorate([
130
+ (0, inversify_1.inject)(ai_configuration_tree_widget_1.AiConfigurationTreeWidget),
131
+ tslib_1.__metadata("design:type", ai_configuration_tree_widget_1.AiConfigurationTreeWidget)
132
+ ], AIConfigurationContainerWidget.prototype, "treeWidget", void 0);
133
+ tslib_1.__decorate([
134
+ (0, inversify_1.inject)(ai_configuration_detail_widget_1.AiConfigurationDetailWidget),
135
+ tslib_1.__metadata("design:type", ai_configuration_detail_widget_1.AiConfigurationDetailWidget)
136
+ ], AIConfigurationContainerWidget.prototype, "detailWidget", void 0);
137
+ tslib_1.__decorate([
138
+ (0, inversify_1.inject)(ai_configuration_category_registry_1.AiConfigurationCategoryRegistry),
139
+ tslib_1.__metadata("design:type", ai_configuration_category_registry_1.AiConfigurationCategoryRegistry)
140
+ ], AIConfigurationContainerWidget.prototype, "registry", void 0);
109
141
  tslib_1.__decorate([
110
- (0, inversify_1.inject)(browser_1.WidgetManager),
111
- tslib_1.__metadata("design:type", browser_1.WidgetManager)
112
- ], AIConfigurationContainerWidget.prototype, "widgetManager", void 0);
142
+ (0, inversify_1.inject)(ai_configuration_selection_model_1.AiConfigurationSelectionModel),
143
+ tslib_1.__metadata("design:type", ai_configuration_selection_model_1.AiConfigurationSelectionModel)
144
+ ], AIConfigurationContainerWidget.prototype, "selectionModel", void 0);
113
145
  tslib_1.__decorate([
114
146
  (0, inversify_1.inject)(ai_configuration_service_1.AIConfigurationSelectionService),
115
147
  tslib_1.__metadata("design:type", ai_configuration_service_1.AIConfigurationSelectionService)
@@ -1 +1 @@
1
- {"version":3,"file":"ai-configuration-widget.js","sourceRoot":"","sources":["../../../src/browser/ai-configuration/ai-configuration-widget.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ai-configuration-widget.js","sourceRoot":"","sources":["../../../src/browser/ai-configuration/ai-configuration-widget.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,56 @@
1
+ import { AISettingsService, ParsedCapability, GenericCapabilitySelections, ServerToolDescriptor } from '@theia/ai-core/lib/common';
2
+ import * as React from '@theia/core/shared/react';
3
+ import { AiSettingsRowService } from '@theia/ai-core-ui/lib/browser/ai-configuration/components/ai-settings-row-service';
4
+ export interface AgentCapabilitiesSettingsProps {
5
+ capabilities: ParsedCapability[];
6
+ agentId: string;
7
+ savedOverrides: Record<string, boolean> | undefined;
8
+ aiSettingsService: AISettingsService;
9
+ settingsRowService: AiSettingsRowService;
10
+ /**
11
+ * Reveals the capability's prompt fragment on the Prompt Snippets page. The text is global, shared by
12
+ * every agent that references it, which is why the row links there instead of editing it in place.
13
+ */
14
+ onOpenPromptSnippet: (fragmentId: string) => void;
15
+ }
16
+ /**
17
+ * The "Available Capabilities" section of the agent detail page: one toggle per capability the prompt
18
+ * declares. Each toggle writes an override only when it differs from the agent's default; a per-row
19
+ * reset (gear menu) and a "Reset All to Defaults" button clear overrides back to the declared defaults.
20
+ */
21
+ export declare const AgentCapabilitiesSettings: ({ capabilities, agentId, savedOverrides, aiSettingsService, settingsRowService, onOpenPromptSnippet }: AgentCapabilitiesSettingsProps) => React.JSX.Element;
22
+ export interface AgentGenericCapabilitiesSettingsProps {
23
+ agentId: string;
24
+ savedSelections: GenericCapabilitySelections | undefined;
25
+ aiSettingsService: AISettingsService;
26
+ settingsRowService: AiSettingsRowService;
27
+ /** Reveals the snippet that wraps this capability type's selections, as in {@link AgentCapabilitiesSettings}. */
28
+ onOpenPromptSnippet: (fragmentId: string) => void;
29
+ }
30
+ /**
31
+ * The "Generic Capabilities" section of the agent detail page: one row per capability type the user has
32
+ * selected (skills, MCP functions, functions, prompt fragments, agent delegation, variables). Only
33
+ * selected types are shown; each row is an override with a per-type reset and a shared "Reset All".
34
+ */
35
+ export declare const AgentGenericCapabilitiesSettings: ({ agentId, savedSelections, aiSettingsService, settingsRowService, onOpenPromptSnippet }: AgentGenericCapabilitiesSettingsProps) => React.JSX.Element;
36
+ export interface AgentServerToolsSettingsProps {
37
+ agentId: string;
38
+ /** Server tools the agent's model offers. */
39
+ tools: ServerToolDescriptor[];
40
+ /** Vendor the selections are keyed by: the vendor of the model offering the tools. */
41
+ vendor: string;
42
+ savedSelections: Record<string, string[]> | undefined;
43
+ aiSettingsService: AISettingsService;
44
+ /** Backs each enabled row's gear menu, whose "Reset Setting" switches that tool back off. */
45
+ settingsRowService: AiSettingsRowService;
46
+ }
47
+ /**
48
+ * The "Server Tools" section of the agent detail page: one toggle per tool the agent's model offers, executed
49
+ * by the provider rather than by Theia. The same per-agent setting the chat input's capabilities popup writes,
50
+ * keyed by model vendor because the tools are vendor-specific.
51
+ *
52
+ * Nothing is enabled unless it is listed, so an enabled tool is the deviation from the default and carries the
53
+ * modified indicator; "Reset All to Defaults" drops this vendor's selections, leaving other vendors' alone.
54
+ */
55
+ export declare const AgentServerToolsSettings: ({ agentId, tools, vendor, savedSelections, aiSettingsService, settingsRowService }: AgentServerToolsSettingsProps) => React.JSX.Element;
56
+ //# sourceMappingURL=agent-capabilities-settings.d.ts.map