@theia/core 1.71.0-next.8 → 1.71.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 (257) hide show
  1. package/README.md +19 -19
  2. package/i18n/nls.cs.json +97 -51
  3. package/i18n/nls.de.json +97 -51
  4. package/i18n/nls.es.json +97 -51
  5. package/i18n/nls.fr.json +97 -51
  6. package/i18n/nls.hu.json +97 -51
  7. package/i18n/nls.it.json +97 -51
  8. package/i18n/nls.ja.json +97 -51
  9. package/i18n/nls.json +101 -55
  10. package/i18n/nls.ko.json +97 -51
  11. package/i18n/nls.pl.json +97 -51
  12. package/i18n/nls.pt-br.json +97 -51
  13. package/i18n/nls.ru.json +97 -51
  14. package/i18n/nls.tr.json +97 -51
  15. package/i18n/nls.zh-cn.json +97 -51
  16. package/i18n/nls.zh-tw.json +97 -51
  17. package/lib/browser/catalog.json +169 -10
  18. package/lib/browser/common-frontend-contribution.js +2 -2
  19. package/lib/browser/common-frontend-contribution.js.map +1 -1
  20. package/lib/browser/components/card.d.ts.map +1 -1
  21. package/lib/browser/components/card.js +11 -3
  22. package/lib/browser/components/card.js.map +1 -1
  23. package/lib/browser/connection-status-service.js +1 -1
  24. package/lib/browser/connection-status-service.js.map +1 -1
  25. package/lib/browser/frontend-application-contribution.d.ts +2 -2
  26. package/lib/browser/frontend-application-contribution.d.ts.map +1 -1
  27. package/lib/browser/frontend-application.d.ts +2 -0
  28. package/lib/browser/frontend-application.d.ts.map +1 -1
  29. package/lib/browser/frontend-application.js +15 -6
  30. package/lib/browser/frontend-application.js.map +1 -1
  31. package/lib/browser/keyboard/index.d.ts +1 -0
  32. package/lib/browser/keyboard/index.d.ts.map +1 -1
  33. package/lib/browser/keyboard/index.js +1 -0
  34. package/lib/browser/keyboard/index.js.map +1 -1
  35. package/lib/browser/keyboard/keyboard-utils.d.ts +17 -0
  36. package/lib/browser/keyboard/keyboard-utils.d.ts.map +1 -0
  37. package/lib/browser/keyboard/keyboard-utils.js +40 -0
  38. package/lib/browser/keyboard/keyboard-utils.js.map +1 -0
  39. package/lib/browser/menu/browser-menu-plugin.d.ts.map +1 -1
  40. package/lib/browser/menu/browser-menu-plugin.js +8 -1
  41. package/lib/browser/menu/browser-menu-plugin.js.map +1 -1
  42. package/lib/browser/messaging/connection-source.d.ts +2 -1
  43. package/lib/browser/messaging/connection-source.d.ts.map +1 -1
  44. package/lib/browser/messaging/connection-source.js.map +1 -1
  45. package/lib/browser/messaging/messaging-frontend-module.d.ts.map +1 -1
  46. package/lib/browser/messaging/messaging-frontend-module.js +3 -0
  47. package/lib/browser/messaging/messaging-frontend-module.js.map +1 -1
  48. package/lib/browser/messaging/service-connection-provider.d.ts +2 -2
  49. package/lib/browser/messaging/service-connection-provider.d.ts.map +1 -1
  50. package/lib/browser/messaging/service-connection-provider.js +2 -2
  51. package/lib/browser/messaging/service-connection-provider.js.map +1 -1
  52. package/lib/browser/messaging/ws-connection-provider.d.ts +1 -1
  53. package/lib/browser/messaging/ws-connection-provider.d.ts.map +1 -1
  54. package/lib/browser/messaging/ws-connection-provider.js +3 -3
  55. package/lib/browser/messaging/ws-connection-provider.js.map +1 -1
  56. package/lib/browser/messaging/ws-connection-source.d.ts +4 -2
  57. package/lib/browser/messaging/ws-connection-source.d.ts.map +1 -1
  58. package/lib/browser/messaging/ws-connection-source.js +15 -10
  59. package/lib/browser/messaging/ws-connection-source.js.map +1 -1
  60. package/lib/browser/performance/frontend-stopwatch.js +1 -1
  61. package/lib/browser/performance/frontend-stopwatch.js.map +1 -1
  62. package/lib/browser/preload/i18n-preload-contribution.d.ts +1 -1
  63. package/lib/browser/preload/i18n-preload-contribution.d.ts.map +1 -1
  64. package/lib/browser/preload/i18n-preload-contribution.js +2 -2
  65. package/lib/browser/preload/i18n-preload-contribution.js.map +1 -1
  66. package/lib/browser/preload/os-preload-contribution.d.ts +1 -1
  67. package/lib/browser/preload/os-preload-contribution.d.ts.map +1 -1
  68. package/lib/browser/preload/os-preload-contribution.js +6 -6
  69. package/lib/browser/preload/os-preload-contribution.js.map +1 -1
  70. package/lib/browser/saveable-service.d.ts +9 -2
  71. package/lib/browser/saveable-service.d.ts.map +1 -1
  72. package/lib/browser/saveable-service.js +34 -25
  73. package/lib/browser/saveable-service.js.map +1 -1
  74. package/lib/browser/shell/tab-bar-toolbar/tab-bar-toolbar.d.ts +1 -0
  75. package/lib/browser/shell/tab-bar-toolbar/tab-bar-toolbar.d.ts.map +1 -1
  76. package/lib/browser/shell/tab-bar-toolbar/tab-bar-toolbar.js +10 -1
  77. package/lib/browser/shell/tab-bar-toolbar/tab-bar-toolbar.js.map +1 -1
  78. package/lib/browser/shell/tab-bar-toolbar/tab-toolbar-item.d.ts +2 -0
  79. package/lib/browser/shell/tab-bar-toolbar/tab-toolbar-item.d.ts.map +1 -1
  80. package/lib/browser/shell/tab-bar-toolbar/tab-toolbar-item.js +11 -2
  81. package/lib/browser/shell/tab-bar-toolbar/tab-toolbar-item.js.map +1 -1
  82. package/lib/browser/window/browser-window-module.d.ts.map +1 -1
  83. package/lib/browser/window/browser-window-module.js +2 -0
  84. package/lib/browser/window/browser-window-module.js.map +1 -1
  85. package/lib/browser/window/default-secondary-window-service.d.ts +2 -0
  86. package/lib/browser/window/default-secondary-window-service.d.ts.map +1 -1
  87. package/lib/browser/window/default-secondary-window-service.js +7 -0
  88. package/lib/browser/window/default-secondary-window-service.js.map +1 -1
  89. package/lib/browser/window/window-focus-service.d.ts +71 -0
  90. package/lib/browser/window/window-focus-service.d.ts.map +1 -0
  91. package/lib/browser/window/window-focus-service.js +173 -0
  92. package/lib/browser/window/window-focus-service.js.map +1 -0
  93. package/lib/common/event.d.ts +16 -0
  94. package/lib/common/event.d.ts.map +1 -1
  95. package/lib/common/event.js +20 -2
  96. package/lib/common/event.js.map +1 -1
  97. package/lib/common/event.spec.js +63 -0
  98. package/lib/common/event.spec.js.map +1 -1
  99. package/lib/common/glob.d.ts +2 -0
  100. package/lib/common/glob.d.ts.map +1 -1
  101. package/lib/common/glob.js +8 -7
  102. package/lib/common/glob.js.map +1 -1
  103. package/lib/common/message-rpc/channel.d.ts +1 -1
  104. package/lib/common/message-rpc/channel.d.ts.map +1 -1
  105. package/lib/common/message-rpc/channel.js +20 -12
  106. package/lib/common/message-rpc/channel.js.map +1 -1
  107. package/lib/common/message-rpc/channel.spec.d.ts.map +1 -1
  108. package/lib/common/message-rpc/channel.spec.js +94 -0
  109. package/lib/common/message-rpc/channel.spec.js.map +1 -1
  110. package/lib/common/message-rpc/rpc-protocol.d.ts.map +1 -1
  111. package/lib/common/message-rpc/rpc-protocol.js +13 -3
  112. package/lib/common/message-rpc/rpc-protocol.js.map +1 -1
  113. package/lib/common/message-rpc/uint8-array-message-buffer.d.ts.map +1 -1
  114. package/lib/common/message-rpc/uint8-array-message-buffer.js +1 -1
  115. package/lib/common/message-rpc/uint8-array-message-buffer.js.map +1 -1
  116. package/lib/common/messaging/index.d.ts +1 -0
  117. package/lib/common/messaging/index.d.ts.map +1 -1
  118. package/lib/common/messaging/index.js +1 -0
  119. package/lib/common/messaging/index.js.map +1 -1
  120. package/lib/common/messaging/socket-write-buffer.d.ts +4 -3
  121. package/lib/common/messaging/socket-write-buffer.d.ts.map +1 -1
  122. package/lib/common/messaging/socket-write-buffer.js +14 -4
  123. package/lib/common/messaging/socket-write-buffer.js.map +1 -1
  124. package/lib/common/performance/index.d.ts +1 -0
  125. package/lib/common/performance/index.d.ts.map +1 -1
  126. package/lib/common/performance/index.js +1 -0
  127. package/lib/common/performance/index.js.map +1 -1
  128. package/lib/common/performance/simple-stopwatch.d.ts +18 -0
  129. package/lib/common/performance/simple-stopwatch.d.ts.map +1 -0
  130. package/lib/common/performance/simple-stopwatch.js +80 -0
  131. package/lib/common/performance/simple-stopwatch.js.map +1 -0
  132. package/lib/common/performance/stopwatch.d.ts +41 -0
  133. package/lib/common/performance/stopwatch.d.ts.map +1 -1
  134. package/lib/common/performance/stopwatch.js +89 -3
  135. package/lib/common/performance/stopwatch.js.map +1 -1
  136. package/lib/common/performance/stopwatch.spec.d.ts +2 -0
  137. package/lib/common/performance/stopwatch.spec.d.ts.map +1 -0
  138. package/lib/common/performance/stopwatch.spec.js +256 -0
  139. package/lib/common/performance/stopwatch.spec.js.map +1 -0
  140. package/lib/common/preferences/index.d.ts +1 -0
  141. package/lib/common/preferences/index.d.ts.map +1 -1
  142. package/lib/common/preferences/index.js +1 -0
  143. package/lib/common/preferences/index.js.map +1 -1
  144. package/lib/common/preferences/preference-utils.d.ts +6 -0
  145. package/lib/common/preferences/preference-utils.d.ts.map +1 -0
  146. package/lib/common/preferences/preference-utils.js +29 -0
  147. package/lib/common/preferences/preference-utils.js.map +1 -0
  148. package/lib/common/resource.d.ts +2 -0
  149. package/lib/common/resource.d.ts.map +1 -1
  150. package/lib/common/resource.js +7 -3
  151. package/lib/common/resource.js.map +1 -1
  152. package/lib/electron-browser/menu/electron-main-menu-factory.d.ts.map +1 -1
  153. package/lib/electron-browser/menu/electron-main-menu-factory.js +5 -1
  154. package/lib/electron-browser/menu/electron-main-menu-factory.js.map +1 -1
  155. package/lib/electron-browser/messaging/electron-messaging-frontend-module.d.ts.map +1 -1
  156. package/lib/electron-browser/messaging/electron-messaging-frontend-module.js +3 -0
  157. package/lib/electron-browser/messaging/electron-messaging-frontend-module.js.map +1 -1
  158. package/lib/electron-browser/window/electron-window-module.d.ts.map +1 -1
  159. package/lib/electron-browser/window/electron-window-module.js +2 -0
  160. package/lib/electron-browser/window/electron-window-module.js.map +1 -1
  161. package/lib/electron-main/electron-api-main.d.ts.map +1 -1
  162. package/lib/electron-main/electron-api-main.js +4 -2
  163. package/lib/electron-main/electron-api-main.js.map +1 -1
  164. package/lib/electron-main/electron-main-application-module.d.ts.map +1 -1
  165. package/lib/electron-main/electron-main-application-module.js +3 -0
  166. package/lib/electron-main/electron-main-application-module.js.map +1 -1
  167. package/lib/electron-main/electron-main-application.d.ts +2 -0
  168. package/lib/electron-main/electron-main-application.d.ts.map +1 -1
  169. package/lib/electron-main/electron-main-application.js +14 -5
  170. package/lib/electron-main/electron-main-application.js.map +1 -1
  171. package/lib/electron-main/theia-electron-window.d.ts.map +1 -1
  172. package/lib/electron-main/theia-electron-window.js +3 -0
  173. package/lib/electron-main/theia-electron-window.js.map +1 -1
  174. package/lib/node/backend-application.d.ts +2 -0
  175. package/lib/node/backend-application.d.ts.map +1 -1
  176. package/lib/node/backend-application.js +17 -5
  177. package/lib/node/backend-application.js.map +1 -1
  178. package/lib/node/messaging/default-messaging-service.d.ts.map +1 -1
  179. package/lib/node/messaging/default-messaging-service.js +1 -0
  180. package/lib/node/messaging/default-messaging-service.js.map +1 -1
  181. package/lib/node/messaging/index.d.ts +1 -0
  182. package/lib/node/messaging/index.d.ts.map +1 -1
  183. package/lib/node/messaging/index.js +1 -0
  184. package/lib/node/messaging/index.js.map +1 -1
  185. package/lib/node/messaging/messaging-backend-module.d.ts.map +1 -1
  186. package/lib/node/messaging/messaging-backend-module.js +4 -0
  187. package/lib/node/messaging/messaging-backend-module.js.map +1 -1
  188. package/lib/node/messaging/test/default-messaging-service.spec.d.ts +2 -0
  189. package/lib/node/messaging/test/default-messaging-service.spec.d.ts.map +1 -0
  190. package/lib/node/messaging/test/default-messaging-service.spec.js +81 -0
  191. package/lib/node/messaging/test/default-messaging-service.spec.js.map +1 -0
  192. package/lib/node/messaging/websocket-frontend-connection-service.d.ts +9 -5
  193. package/lib/node/messaging/websocket-frontend-connection-service.d.ts.map +1 -1
  194. package/lib/node/messaging/websocket-frontend-connection-service.js +21 -5
  195. package/lib/node/messaging/websocket-frontend-connection-service.js.map +1 -1
  196. package/lib/node/performance/node-stopwatch.js +1 -1
  197. package/lib/node/performance/node-stopwatch.js.map +1 -1
  198. package/lib/node/process-utils.d.ts.map +1 -1
  199. package/lib/node/process-utils.js +9 -1
  200. package/lib/node/process-utils.js.map +1 -1
  201. package/package.json +34 -34
  202. package/src/browser/common-frontend-contribution.ts +2 -2
  203. package/src/browser/components/card.tsx +13 -2
  204. package/src/browser/connection-status-service.ts +1 -1
  205. package/src/browser/frontend-application-contribution.ts +2 -2
  206. package/src/browser/frontend-application.ts +26 -17
  207. package/src/browser/keyboard/index.ts +1 -0
  208. package/src/browser/keyboard/keyboard-utils.ts +37 -0
  209. package/src/browser/menu/browser-menu-plugin.ts +8 -1
  210. package/src/browser/messaging/connection-source.ts +2 -1
  211. package/src/browser/messaging/messaging-frontend-module.ts +3 -0
  212. package/src/browser/messaging/service-connection-provider.ts +2 -2
  213. package/src/browser/messaging/ws-connection-provider.ts +1 -1
  214. package/src/browser/messaging/ws-connection-source.ts +7 -4
  215. package/src/browser/performance/frontend-stopwatch.ts +1 -1
  216. package/src/browser/preload/i18n-preload-contribution.ts +1 -1
  217. package/src/browser/preload/os-preload-contribution.ts +1 -1
  218. package/src/browser/saveable-service.ts +34 -27
  219. package/src/browser/shell/tab-bar-toolbar/tab-bar-toolbar.tsx +14 -1
  220. package/src/browser/shell/tab-bar-toolbar/tab-toolbar-item.tsx +13 -2
  221. package/src/browser/style/card.css +4 -2
  222. package/src/browser/style/hover-service.css +7 -0
  223. package/src/browser/window/browser-window-module.ts +2 -0
  224. package/src/browser/window/default-secondary-window-service.ts +6 -0
  225. package/src/browser/window/window-focus-service.ts +187 -0
  226. package/src/common/event.spec.ts +80 -0
  227. package/src/common/event.ts +31 -2
  228. package/src/common/glob.ts +2 -2
  229. package/src/common/i18n/nls.metadata.json +4254 -1058
  230. package/src/common/message-rpc/channel.spec.ts +116 -0
  231. package/src/common/message-rpc/channel.ts +15 -11
  232. package/src/common/message-rpc/rpc-protocol.ts +12 -3
  233. package/src/common/message-rpc/uint8-array-message-buffer.ts +1 -1
  234. package/src/common/messaging/index.ts +1 -0
  235. package/src/common/messaging/socket-write-buffer.ts +10 -4
  236. package/src/common/performance/index.ts +1 -0
  237. package/src/common/performance/simple-stopwatch.ts +91 -0
  238. package/src/common/performance/stopwatch.spec.ts +321 -0
  239. package/src/common/performance/stopwatch.ts +103 -2
  240. package/src/common/preferences/index.ts +1 -0
  241. package/src/common/preferences/preference-utils.ts +28 -0
  242. package/src/common/resource.ts +8 -2
  243. package/src/electron-browser/menu/electron-main-menu-factory.ts +5 -1
  244. package/src/electron-browser/messaging/electron-messaging-frontend-module.ts +3 -0
  245. package/src/electron-browser/window/electron-window-module.ts +2 -0
  246. package/src/electron-main/electron-api-main.ts +4 -2
  247. package/src/electron-main/electron-main-application-module.ts +3 -0
  248. package/src/electron-main/electron-main-application.ts +21 -5
  249. package/src/electron-main/theia-electron-window.ts +3 -0
  250. package/src/node/backend-application.ts +27 -10
  251. package/src/node/messaging/default-messaging-service.ts +1 -0
  252. package/src/node/messaging/index.ts +1 -0
  253. package/src/node/messaging/messaging-backend-module.ts +5 -1
  254. package/src/node/messaging/test/default-messaging-service.spec.ts +85 -0
  255. package/src/node/messaging/websocket-frontend-connection-service.ts +20 -7
  256. package/src/node/performance/node-stopwatch.ts +1 -1
  257. package/src/node/process-utils.ts +9 -1
package/i18n/nls.json CHANGED
@@ -83,10 +83,16 @@
83
83
  "maxRetries": {
84
84
  "title": "Maximum number of retries when a request fails. 3 by default"
85
85
  },
86
- "mdDescription": "Integrate custom models compatible with the Anthropic API. The required attributes are `model` and `url`. \n Optionally, you can \n - specify a unique `id` to identify the custom model in the UI. If none is given `model` will be used as `id`. \n - provide an `apiKey` to access the API served at the given url. Use `true` to indicate the use of the global anthropic API key. \n - specify `enableStreaming: false` to indicate that streaming shall not be used. \n - specify `useCaching: false` to indicate that prompt caching shall not be used. \n - specify `maxRetries: <number>` to indicate the maximum number of retries when a request fails. 3 by default.",
86
+ "mdDescription": "Integrate custom models compatible with the Anthropic API. The required attributes are `model` and `url`. \n Optionally, you can \n - specify a unique `id` to identify the custom model in the UI. If none is given `model` will be used as `id`. \n - provide an `apiKey` to access the API served at the given url. Use `true` to indicate the use of the global anthropic API key. \n - specify `enableStreaming: false` to indicate that streaming shall not be used. \n - specify `useCaching: false` to indicate that prompt caching shall not be used. \n - specify `maxRetries: <number>` to indicate the maximum number of retries when a request fails. 3 by default. \n - specify `reasoningApi: \"effort\" | \"budget\"` to opt in to the reasoning selector. By default this is inferred from the `model` name (Claude 4.6+: `effort`; Claude 4.0–4.5: `budget`). Set to `null` to disable. \n - specify `supportsXHighEffort: true` for models that accept the Anthropic `xhigh` effort value.",
87
87
  "modelId": {
88
88
  "title": "Model ID"
89
89
  },
90
+ "reasoningApi": {
91
+ "title": "Which Anthropic reasoning API shape to use: `effort` for adaptive thinking (Claude 4.6+), `budget` for legacy extended thinking (Claude 4.0–4.5), or `null` to disable. Inferred from the model name by default."
92
+ },
93
+ "supportsXHighEffort": {
94
+ "title": "Indicates whether the model accepts the Anthropic `xhigh` effort value. Inferred from the model name by default."
95
+ },
90
96
  "url": {
91
97
  "title": "The Anthropic API compatible endpoint where the model is hosted"
92
98
  },
@@ -256,6 +262,7 @@
256
262
  "copyCodeBlock": "Copy Code Block",
257
263
  "couldNotSendRequestToSession": "Was not able to send request \"{0}\" to session {1}",
258
264
  "delegation-response-renderer": {
265
+ "interactionNeeded": "User interaction needed",
259
266
  "prompt": {
260
267
  "label": "Delegated prompt:"
261
268
  },
@@ -297,8 +304,13 @@
297
304
  "performThisTask": "Perform this task.",
298
305
  "persistedSession": "Persisted session (click to restore)",
299
306
  "promptFragmentsDescription": "Custom prompt fragments to include in the conversation",
307
+ "reasoning": {
308
+ "high": "High",
309
+ "low": "Low",
310
+ "medium": "Medium",
311
+ "minimal": "Minimal"
312
+ },
300
313
  "removeChat": "Remove Chat",
301
- "renameChat": "Rename Chat",
302
314
  "requestNotFoundForRetry": "Request not found for retry",
303
315
  "responseFrom": "Response from {0}",
304
316
  "saveCurrentSelectionsToSettings": "Save capability settings",
@@ -320,6 +332,18 @@
320
332
  "cantDisplay": "Can't display response, please check your ChatResponsePartRenderers!"
321
333
  },
322
334
  "toggleCapabilitiesConfig": "Toggle Capabilities Configuration",
335
+ "tokenUsageIndicatorEnabled": "Controls whether the experimental token usage indicator is shown in the chat view. This feature is experimental and token counts may be inaccurate depending on the model and provider.",
336
+ "tokenUsageLabel": "Token Usage",
337
+ "tokenUsageOverflow": "Token usage well past the warning threshold. Consider compacting or starting a new session.",
338
+ "tokenUsageTooltipCacheCreate": "Cache creation: {0}",
339
+ "tokenUsageTooltipCacheRead": "Cache read: {0}",
340
+ "tokenUsageTooltipTotal": "Total: {0} / {1} ({2}%)",
341
+ "tokenUsageWarning": "Token usage warning threshold reached.",
342
+ "tokenUsageWarningEnabled": "Controls whether a notification is shown when a chat session's token usage crosses the configured threshold. Requires the language model provider to report token usage.",
343
+ "tokenUsageWarningMessage": "Chat session token usage has reached {0}% of the context window. Consider summarizing this session or starting a new one to avoid hitting the limit.",
344
+ "tokenUsageWarningNewSessionAction": "Start New Chat",
345
+ "tokenUsageWarningSummarizeAction": "Summarize Current Session",
346
+ "tokenUsageWarningThresholdPercentage": "Percentage of the model's context window at which the token usage warning is triggered. This value also drives the warning/error color bands of the token usage indicator. Currently resolves against an assumed 200k context window; will use the real per-model context size once available.",
323
347
  "toolcall-part-renderer": {
324
348
  "denied": "Execution denied",
325
349
  "finished": "Ran",
@@ -376,7 +400,6 @@
376
400
  "directory": "Directory",
377
401
  "domain": "Domain",
378
402
  "editAutomatically": "Edit automatically",
379
- "editNumber": "Edit {0}",
380
403
  "editing": "Editing",
381
404
  "editsCount": "{0} edits",
382
405
  "emptyTodoList": "No todos available",
@@ -496,8 +519,7 @@
496
519
  "oneItem": "1 item",
497
520
  "searched": "Searched",
498
521
  "searching": "Searching",
499
- "todoList": "Todo List",
500
- "webSearch": "Web Search"
522
+ "todoList": "Todo List"
501
523
  },
502
524
  "completion": {
503
525
  "agent": {
@@ -599,6 +621,7 @@
599
621
  },
600
622
  "core": {
601
623
  "agentConfiguration": {
624
+ "actions": "Actions",
602
625
  "addCustomAgent": "Add Custom Agent",
603
626
  "availableCapabilities": "Available Capabilities",
604
627
  "completionNotificationDescriptionPrefix": "Select how you want to be notified when this agent completes its task. \"Default\" uses the ",
@@ -730,6 +753,9 @@
730
753
  "title": "Language Model Aliases"
731
754
  }
732
755
  },
756
+ "productNameVariable": {
757
+ "description": "The name of the product/application the user is working with"
758
+ },
733
759
  "promptFragmentsConfiguration": {
734
760
  "activeCustomizationTitle": "Active customization",
735
761
  "createCustomizationTitle": "Create Customization",
@@ -781,6 +807,10 @@
781
807
  "prompts": {
782
808
  "category": "AI Prompt Templates"
783
809
  },
810
+ "reasoning": {
811
+ "mdDescription": "Default value for the chat input's reasoning selector, applied to models that support reasoning.\n\nThis is a UI-level setting: the chosen level is translated to the provider's native API parameters at request time (e.g. Anthropic `thinking` / `output_config.effort`, OpenAI `reasoning.effort`, Gemini `thinkingConfig`) and takes precedence over any raw values supplied via `#ai-features.modelSettings.requestSettings#` for the same fields.\n\nEach entry consists of:\n- `scope`: Defines when the setting applies (`modelId`, `providerId`, `agentId`).\n- `reasoning.level`: One of `off`, `minimal`, `low`, `medium`, `high`, `auto`.\n\nPrecedence at runtime (highest first): session override via the selector → this preference → the model's declared default. Whichever the selector displays is what gets sent. To override a provider's reasoning field manually via `#ai-features.modelSettings.requestSettings#`, set `reasoning.level` to `off` here so the level-based translation is disabled.\n\nEntries are matched based on scope specificity (agent: 100, model: 10, provider: 1 points).\n\nExample:\n```json\n[\n { \"scope\": { \"providerId\": \"anthropic\" }, \"reasoning\": { \"level\": \"medium\" } },\n { \"scope\": { \"modelId\": \"openai/gpt-5\" }, \"reasoning\": { \"level\": \"high\" } },\n { \"scope\": { \"agentId\": \"Coder\" }, \"reasoning\": { \"level\": \"off\" } }\n]\n```",
812
+ "title": "Reasoning Defaults"
813
+ },
784
814
  "requestSettings": {
785
815
  "clientSettings": {
786
816
  "description": "Client settings for how to handle messages that are send back to the llm.",
@@ -821,30 +851,6 @@
821
851
  "edited": "edited",
822
852
  "unavailableVariant": "Unavailable"
823
853
  },
824
- "thinkingMode": {
825
- "mdDescription": "Allows specifying thinking mode settings for models that support extended thinking capabilities.\n Each setting consists of:\n - `scope`: Defines when the setting applies:\n - `modelId` (optional): The model ID to match\n - `providerId` (optional): The provider ID to match\n - `agentId` (optional): The agent ID to match\n - `thinkingMode`: Thinking mode configuration:\n - `enabled` (boolean): Whether thinking mode is enabled\n - `budgetTokens` (number, optional): Maximum tokens for thinking (if supported by the model)\n Settings are matched based on specificity (agent: 100, model: 10, provider: 1 points).",
826
- "scope": {
827
- "agentId": {
828
- "description": "The (optional) agent id to apply the settings to."
829
- },
830
- "modelId": {
831
- "description": "The (optional) model id"
832
- },
833
- "providerId": {
834
- "description": "The (optional) provider id to apply the settings to."
835
- }
836
- },
837
- "thinkingMode": {
838
- "budgetTokens": {
839
- "description": "Maximum tokens to use for thinking. Only applicable if the model supports thinking budget."
840
- },
841
- "description": "Thinking mode configuration.",
842
- "enabled": {
843
- "description": "Whether thinking mode is enabled."
844
- }
845
- },
846
- "title": "Thinking Mode Settings"
847
- },
848
854
  "todayVariable": {
849
855
  "description": "Does something for today",
850
856
  "format": {
@@ -901,10 +907,11 @@
901
907
  "exchange-card": {
902
908
  "timestamp": "Started"
903
909
  },
904
- "open-history-tooltip": "Open AI history...",
910
+ "open-history-tooltip": "Open AI Agent History",
905
911
  "request-card": {
906
912
  "promptVariant": "Prompt Variant",
907
913
  "request": "Request",
914
+ "response": "Response",
908
915
  "timestamp": "Timestamp",
909
916
  "title": "Request"
910
917
  },
@@ -963,14 +970,15 @@
963
970
  "selections": "Selections"
964
971
  },
965
972
  "agentMode": {
966
- "confirmed": {
967
- "mdDescription": "Whether the user has confirmed the agent mode warning. Agent mode allows autonomous file modifications without further confirmation. Set to `false` to see the confirmation again on the next agent mode request."
973
+ "enabled": {
974
+ "mdDescription": "Enable agent mode for the Coder agent. Agent mode allows autonomous file modifications without further confirmation. A first-use confirmation dialog is shown when using agent mode until this is set to `true`."
968
975
  }
969
976
  },
970
977
  "agentModeConfirmation": {
971
- "confirm": "Confirm",
972
- "msg": "This agent uses an **agentic mode**. To enable autonomous flow, it is capable of directly writing to your workspace files without further confirmation.\n\nIt is recommended to use version control (e.g. Git) so you can review and revert changes.\n\nYou can switch to **Edit Mode** using the mode selector in the chat input area below, or use the **Architect** agent for read-only planning.\n\nThis confirmation is saved for this workspace and won't be shown again. To reset or configure it globally, look for `ai-features.agentMode.confirmed` in the Settings.",
973
- "question": "Do you want to proceed with Agent Mode?",
978
+ "continueAgentMode": "Continue with Agent Mode",
979
+ "continueEditMode": "Continue with Edit Mode",
980
+ "info": "Continuing with Agent Mode saves your confirmation. You can revoke this later again via the `ai-features.agentMode.enabled` setting.\n\nContinuing with Edit Mode changes your default mode to Edit Mode.\n\nYou can change modes anytime via the mode selector or in the AI Configuration.",
981
+ "msg": "You are about to use **Agent Mode**. In this mode, the agent can **read, create, and modify files** in your workspace autonomously, without asking for confirmation on each change.\n\nWe recommend using **version control** (e.g. Git) so you can easily review and revert any changes.\n\nIf you prefer more control, you can continue with **Edit Mode** instead, where changes are presented as suggestions for you to apply.\n\nHow would you like to proceed?",
974
982
  "waiting": "Waiting for confirmation..."
975
983
  },
976
984
  "app-tester": {
@@ -1008,6 +1016,9 @@
1008
1016
  "chatDisabledMessage": {
1009
1017
  "title": "AI Features are Disabled"
1010
1018
  },
1019
+ "chatRestrictedMessage": {
1020
+ "title": "AI Features are Restricted"
1021
+ },
1011
1022
  "codeReviewerAgent": {
1012
1023
  "description": "A code review assistant that analyzes code changes and returns structured verdicts. Checks completion criteria, build/lint/test evidence, and code quality."
1013
1024
  },
@@ -1079,8 +1090,7 @@
1079
1090
  }
1080
1091
  },
1081
1092
  "githubCapability": {
1082
- "description": "Allows the agent to interact with GitHub. For this, the agent can delegate to the GitHub agent, which can read and write issues, pull requests, comments, and repository contents.",
1083
- "name": "GitHub"
1093
+ "description": "Allows the agent to interact with GitHub. For this, the agent can delegate to the GitHub agent, which can read and write issues, pull requests, comments, and repository contents."
1084
1094
  },
1085
1095
  "githubRepoName": {
1086
1096
  "description": "The name of the current GitHub repository (e.g., \"eclipse-theia/theia\")"
@@ -1104,9 +1114,13 @@
1104
1114
  "delegatingToAgent": "Delegating to `@{0}`"
1105
1115
  }
1106
1116
  },
1117
+ "prReviewAgent": {
1118
+ "description": "An AI-powered PR review agent that orchestrates a full code review workflow: fetches PR info, explores the codebase, performs structured analysis, interactively walks the user through findings with diff viewers, and optionally creates a pending review on GitHub."
1119
+ },
1107
1120
  "prompt-template-description": "Select prompt variants and customize prompt templates for AI agents in the [AI Configuration View]({0}).",
1108
1121
  "recentChats": "Recent Chats",
1109
- "renameChat": "Rename Chat",
1122
+ "restrictedModeDetails": "AI chat, inline suggestions, code actions, and prompt templates are disabled",
1123
+ "restrictedModeLabel": "AI Features (disabled in Restricted Mode)",
1110
1124
  "shellAllowlist": {
1111
1125
  "placeholder": "e.g., \"git log\" (exact) or \"git log *\" (with args)"
1112
1126
  },
@@ -1322,10 +1336,13 @@
1322
1336
  "id": {
1323
1337
  "title": "A unique identifier which is used in the UI to identify the custom model"
1324
1338
  },
1325
- "mdDescription": "Integrate custom models compatible with the OpenAI API, for example via `vllm`. The required attributes are `model` and `url`. \n Optionally, you can \n - specify a unique `id` to identify the custom model in the UI. If none is given `model` will be used as `id`. \n - provide an `apiKey` to access the API served at the given url. Use `true` to indicate the use of the global OpenAI API key. \n - provide an `apiVersion` to access the API served at the given url in Azure. Use `true` to indicate the use of the global OpenAI API version. \n - provide a `deployment` name for your Azure deployment. \n - set `developerMessageSettings` to one of `user`, `system`, `developer`, `mergeWithFollowingUserMessage`, or `skip` to control how the developer message is included (where `user`, `system`, and `developer` will be used as a role, `mergeWithFollowingUserMessage` will prefix the following user message with the system message or convert the system message to user message if the next message is not a user message. `skip` will just remove the system message). Defaulting to `developer`. \n - specify `supportsStructuredOutput: false` to indicate that structured output shall not be used. \n - specify `enableStreaming: false` to indicate that streaming shall not be used. \n - specify `useResponseApi: true` to use the newer OpenAI Response API instead of the Chat Completion API (requires compatible endpoint). \n Refer to [our documentation](https://theia-ide.org/docs/user_ai/#openai-compatible-models-eg-via-vllm) for more information.",
1339
+ "mdDescription": "Integrate custom models compatible with the OpenAI API, for example via `vllm`. The required attributes are `model` and `url`. \n Optionally, you can \n - specify a unique `id` to identify the custom model in the UI. If none is given `model` will be used as `id`. \n - provide an `apiKey` to access the API served at the given url. Use `true` to indicate the use of the global OpenAI API key. \n - provide an `apiVersion` to access the API served at the given url in Azure. Use `true` to indicate the use of the global OpenAI API version. \n - provide a `deployment` name for your Azure deployment. \n - set `developerMessageSettings` to one of `user`, `system`, `developer`, `mergeWithFollowingUserMessage`, or `skip` to control how the developer message is included (where `user`, `system`, and `developer` will be used as a role, `mergeWithFollowingUserMessage` will prefix the following user message with the system message or convert the system message to user message if the next message is not a user message. `skip` will just remove the system message). Defaulting to `developer`. \n - specify `supportsStructuredOutput: false` to indicate that structured output shall not be used. \n - specify `enableStreaming: false` to indicate that streaming shall not be used. \n - specify `useResponseApi: true` to use the newer OpenAI Response API instead of the Chat Completion API (requires compatible endpoint). \n - specify `reasoningSupport` to opt in to the chat reasoning selector. By default this is inferred from the `model` name (GPT-5 / o-series). Set to `null` to disable, or to an object with `supportedLevels` (e.g. `[\"off\", \"low\", \"medium\", \"high\", \"auto\"]`) and an optional `defaultLevel` to customize. \n Refer to [our documentation](https://theia-ide.org/docs/user_ai/#openai-compatible-models-eg-via-vllm) for more information.",
1326
1340
  "modelId": {
1327
1341
  "title": "Model ID"
1328
1342
  },
1343
+ "reasoningSupport": {
1344
+ "title": "Declares the model's reasoning capabilities. When set the chat shows a reasoning selector for this model. Set to `null` to disable. Inferred from the model name by default."
1345
+ },
1329
1346
  "supportsStructuredOutput": {
1330
1347
  "title": "Indicates whether the model supports structured output. `true` by default."
1331
1348
  },
@@ -1390,16 +1407,12 @@
1390
1407
  },
1391
1408
  "session-settings-dialog": {
1392
1409
  "advancedSettings": "Advanced Settings (JSON)",
1393
- "budgetTokens": "Budget tokens:",
1394
1410
  "confirmationTimeout": "Confirmation Timeout",
1395
1411
  "confirmationTimeoutNote": "Automatically deny tool confirmations after the specified time. Overrides the global preference for this session.",
1396
1412
  "enableConfirmationTimeout": "Enable confirmation timeout",
1397
- "enableThinking": "Enable extended thinking",
1398
- "thinkingMode": "Thinking Mode",
1399
- "thinkingModeNote": "Some models may ignore this setting.",
1400
1413
  "timeoutSeconds": "Timeout (seconds):",
1401
1414
  "title": "Set Session Settings",
1402
- "tooltip": "Set Session Settings"
1415
+ "tooltip": "Set Session Settings..."
1403
1416
  },
1404
1417
  "terminal": {
1405
1418
  "agent": {
@@ -1481,7 +1494,7 @@
1481
1494
  },
1482
1495
  "workspace": {
1483
1496
  "coderAgent": {
1484
- "description": "An AI assistant integrated into Theia IDE, designed to assist software developers. This agent can access the users workspace, it can get a list of all available files and folders and retrieve their content. Furthermore, it can suggest modifications of files to the user. It can therefore assist the user with coding tasks or other tasks involving file changes."
1497
+ "description": "An AI assistant integrated into {0}, designed to assist software developers. This agent can access the users workspace, it can get a list of all available files and folders and retrieve their content. Furthermore, it can suggest modifications of files to the user. It can therefore assist the user with coding tasks or other tasks involving file changes."
1485
1498
  },
1486
1499
  "considerGitignore": {
1487
1500
  "description": "If enabled, excludes files/folders specified in a global .gitignore file (expected location is the workspace root).",
@@ -1506,7 +1519,7 @@
1506
1519
  "title": "Maximum Search Results"
1507
1520
  },
1508
1521
  "workspaceAgent": {
1509
- "description": "An AI assistant integrated into Theia IDE, designed to assist software developers. This agent can access the users workspace, it can get a list of all available files and folders and retrieve their content. It cannot modify files. It can therefore answer questions about the current project, project files and source code in the workspace, such as how to build the project, where to put source code, where to find specific code or configurations, etc."
1522
+ "description": "An AI assistant integrated into {0}, designed to assist software developers. This agent can access the users workspace, it can get a list of all available files and folders and retrieve their content. It cannot modify files. It can therefore answer questions about the current project, project files and source code in the workspace, such as how to build the project, where to put source code, where to find specific code or configurations, etc."
1510
1523
  }
1511
1524
  }
1512
1525
  },
@@ -1519,8 +1532,9 @@
1519
1532
  "initiate-session-task-context": "Task Context: Initiate Session",
1520
1533
  "navigate-back": "Navigate Back",
1521
1534
  "navigate-forward": "Navigate Forward",
1535
+ "noOutput": "No output",
1522
1536
  "open-current-session-summary": "Open Current Session Summary",
1523
- "open-settings-tooltip": "Open AI settings...",
1537
+ "open-settings-tooltip": "Open AI Settings",
1524
1538
  "renameChat": "Rename Chat",
1525
1539
  "scroll-lock": "Lock Scroll",
1526
1540
  "scroll-unlock": "Unlock Scroll",
@@ -1536,7 +1550,9 @@
1536
1550
  "agentCompletionMessage": "Agent \"{0}\" has completed its task.",
1537
1551
  "agentCompletionMessageWithSession": "Agent \"{0}\" has completed its task in \"{1}\".",
1538
1552
  "agentCompletionTitle": "Agent \"{0}\" Task Completed",
1553
+ "aiDisabledInRestrictedMode": "AI features are not available in untrusted workspaces.",
1539
1554
  "preferences": {
1555
+ "linuxEnvHint": "On Linux, make sure the variable is defined in `~/.profile` (not just `~/.bashrc`) if you launch the application from a desktop shortcut. See the [documentation](https://theia-ide.org/docs/user_ai/#setting-api-keys) for details.",
1540
1556
  "title": "AI Features"
1541
1557
  },
1542
1558
  "showChat": "Show Chat"
@@ -1561,7 +1577,7 @@
1561
1577
  "argumentHint": "<ticket-number>",
1562
1578
  "description": "Analyze a GitHub ticket and implement the solution"
1563
1579
  },
1564
- "open-agent-settings-tooltip": "Open Agent settings...",
1580
+ "open-ai-configuration-tooltip": "Open AI Configuration",
1565
1581
  "rememberCommand": {
1566
1582
  "argumentHint": "[topic-hint]",
1567
1583
  "description": "Extract topics from conversation and update project info"
@@ -1572,7 +1588,19 @@
1572
1588
  },
1573
1589
  "todoTool": {
1574
1590
  "noTasks": "No tasks"
1575
- }
1591
+ },
1592
+ "userInteractionCanceled": "Canceled",
1593
+ "userInteractionCommentPlaceholder": "Add a comment for this step...",
1594
+ "userInteractionEmpty": "Empty",
1595
+ "userInteractionFinishStep": "Finish",
1596
+ "userInteractionGoToStep": "Go to step {0}: {1}",
1597
+ "userInteractionMalformed": "User interaction could not be displayed",
1598
+ "userInteractionMalformedFallback": "The arguments could not be parsed.",
1599
+ "userInteractionPreparing": "Preparing user interaction...",
1600
+ "userInteractionPreparingSteps": "Preparing: {0} ({1} steps)",
1601
+ "userInteractionPreparingTitle": "Preparing: {0}",
1602
+ "userInteractionStepLabel": "Step {0} of {1}",
1603
+ "userInteractionWorkingCopy": "Working Copy"
1576
1604
  },
1577
1605
  "ai-mcp": {
1578
1606
  "blockedServersLabel": "MCP Servers (autostart blocked)"
@@ -1600,7 +1628,6 @@
1600
1628
  "executionCanceled": "Canceled",
1601
1629
  "executionDenied": "Denied",
1602
1630
  "executionDeniedWithReason": "Denied with reason",
1603
- "noOutput": "No output",
1604
1631
  "partialOutput": "Partial Output",
1605
1632
  "shellCommandAllowlist": {
1606
1633
  "description": "List of shell command patterns. Use * as wildcard: \"git log\" (exact match), \"git log *\" (with optional arguments), \"* --version\" (any command ending with --version). Wildcard must be preceded by space. Commands with dangerous patterns ($, backticks) are never auto-allowed."
@@ -1695,9 +1722,6 @@
1695
1722
  "enhanced": "Display an enhanced preview of the tab with additional information.",
1696
1723
  "visual": "Display a visual preview of the tab."
1697
1724
  },
1698
- "file": {
1699
- "browse": "Browse"
1700
- },
1701
1725
  "highlightModifiedTabs": "Controls whether a top border is drawn on modified (dirty) editor tabs or not.",
1702
1726
  "keybinding": {
1703
1727
  "duplicateModifierError": "Can't parse keybinding {0} Duplicate modifiers",
@@ -1718,7 +1742,6 @@
1718
1742
  "clipboardWarn": "Access to the clipboard is denied. Check your browser's permission.",
1719
1743
  "clipboardWarnFirefox": "Clipboard API is not available. It can be enabled by '{0}' preference on '{1}' page. Then reload Theia. Note, it will allow FireFox getting full access to the system clipboard."
1720
1744
  },
1721
- "offline": "Offline",
1722
1745
  "pasteWarn": "Please use the browser's paste command or shortcut.",
1723
1746
  "quitMessage": "Any unsaved changes will not be saved.",
1724
1747
  "resetWorkbenchLayout": "Reset Workbench Layout",
@@ -1764,6 +1787,7 @@
1764
1787
  "confirmRunToShiftedPosition_msg": "The target position will be shifted to Ln {0}, Col {1}. Run anyway?",
1765
1788
  "confirmRunToShiftedPosition_title": "Cannot run the current thread to exactly the specified location",
1766
1789
  "consoleFilterAriaLabel": "Filter debug console output",
1790
+ "consoleFilterPlaceholder": "Filter (e.g. text, !exclude)",
1767
1791
  "consoleFilterTooltip": "Filter console output by text. Separate multiple terms with commas. Prefix with `!` to exclude a term.\n\nExamples:\n\n- `text` - show lines containing \"text\"\n- `text, other` - show lines containing \"text\" or \"other\"\n- `!text` - hide lines containing \"text\"\n- `text, !other` - show \"text\" but hide \"other\"",
1768
1792
  "consoleSessionSelectorTooltip": "Switch between debug sessions. Each debug session has its own console output.",
1769
1793
  "consoleSeverityTooltip": "Filter console output by severity level. Only messages with the selected severity will be shown.",
@@ -1802,6 +1826,12 @@
1802
1826
  "unknownSession": "Unknown Session",
1803
1827
  "unverifiedBreakpoint": "Unverified {0}"
1804
1828
  },
1829
+ "dev-container": {
1830
+ "devcontainerFileNotFound": "Devcontainer file at {0} not found in workspace",
1831
+ "failedToRebuild": "Failed to rebuild container: {0}",
1832
+ "noDevcontainerFileSpecified": "No devcontainer file specified for workspace",
1833
+ "removingOldContainer": "Removing old container..."
1834
+ },
1805
1835
  "editor": {
1806
1836
  "autoSaveWhenNoErrors": "When enabled, will limit auto save of editors to files that have no errors reported in them at the time the auto save is triggered. Only applies when {0} is enabled.",
1807
1837
  "clearFormatterSetting": "Clear formatter setting",
@@ -2100,9 +2130,19 @@
2100
2130
  },
2101
2131
  "remote": {
2102
2132
  "dev-container": {
2133
+ "attach": "Attach to Running Container",
2103
2134
  "connect": "Reopen in Container",
2104
2135
  "noDevcontainerFiles": "No devcontainer.json files found in the workspace. Please ensure you have a .devcontainer directory with a devcontainer.json file.",
2105
- "selectDevcontainer": "Select a devcontainer.json file"
2136
+ "noRunningContainers": "No running containers found.",
2137
+ "rebuild": "Rebuild Container",
2138
+ "rebuilding": "Rebuilding dev container",
2139
+ "reopenInContainer": "Reopen in Container",
2140
+ "selectContainer": "Select a running container to attach to",
2141
+ "selectDevcontainer": "Select a devcontainer.json file",
2142
+ "suggestion": "This workspace has a dev container configuration. Would you like to reopen it in a container?"
2143
+ },
2144
+ "port-forwarding": {
2145
+ "focusPorts": "Ports: Focus on Ports View"
2106
2146
  },
2107
2147
  "ssh": {
2108
2148
  "connect": "Connect Current Window to Host...",
@@ -2125,6 +2165,8 @@
2125
2165
  }
2126
2166
  },
2127
2167
  "scm": {
2168
+ "1HourAgo": "1 hour ago",
2169
+ "1MinuteAgo": "1 minute ago",
2128
2170
  "amend": "Amend",
2129
2171
  "amendHeadCommit": "HEAD Commit",
2130
2172
  "amendLastCommit": "Amend last commit",
@@ -2133,9 +2175,12 @@
2133
2175
  "close": "Close Change Peek View"
2134
2176
  },
2135
2177
  "history": "History",
2178
+ "justNow": "just now",
2136
2179
  "mergeEditor": {
2137
2180
  "resetConfirmationTitle": "Do you really want to reset the merge result in this editor?"
2138
2181
  },
2182
+ "noChanges": "No changed files.",
2183
+ "noHistory": "No source control history available.",
2139
2184
  "noHistoryForError": "There is no history available for {0}",
2140
2185
  "prepositionIn": "in",
2141
2186
  "unamend": "Unamend",
@@ -2238,6 +2283,7 @@
2238
2283
  },
2239
2284
  "test": {
2240
2285
  "cancelAllTestRuns": "Cancel All Test Runs",
2286
+ "showTestOutput": "Show Test Output",
2241
2287
  "stackFrameAt": "at",
2242
2288
  "testRunDefaultName": "{0} run {1}",
2243
2289
  "testRuns": "Test Runs"