@theia/core 1.74.0-next.9 → 1.74.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 (209) hide show
  1. package/README.md +10 -10
  2. package/i18n/nls.cs.json +143 -16
  3. package/i18n/nls.de.json +143 -16
  4. package/i18n/nls.es.json +143 -16
  5. package/i18n/nls.fr.json +143 -16
  6. package/i18n/nls.hu.json +143 -16
  7. package/i18n/nls.it.json +143 -16
  8. package/i18n/nls.ja.json +143 -16
  9. package/i18n/nls.json +143 -16
  10. package/i18n/nls.ko.json +143 -16
  11. package/i18n/nls.pl.json +143 -16
  12. package/i18n/nls.pt-br.json +143 -16
  13. package/i18n/nls.ru.json +143 -16
  14. package/i18n/nls.tr.json +143 -16
  15. package/i18n/nls.zh-cn.json +143 -16
  16. package/i18n/nls.zh-tw.json +143 -16
  17. package/lib/browser/browser-clipboard-service.d.ts +3 -0
  18. package/lib/browser/browser-clipboard-service.d.ts.map +1 -1
  19. package/lib/browser/browser-clipboard-service.js +8 -1
  20. package/lib/browser/browser-clipboard-service.js.map +1 -1
  21. package/lib/browser/catalog.json +419 -41
  22. package/lib/browser/clipboard-service.d.ts +11 -0
  23. package/lib/browser/clipboard-service.d.ts.map +1 -1
  24. package/lib/browser/clipboard-service.js.map +1 -1
  25. package/lib/browser/common-frontend-contribution.d.ts.map +1 -1
  26. package/lib/browser/common-frontend-contribution.js +7 -7
  27. package/lib/browser/common-frontend-contribution.js.map +1 -1
  28. package/lib/browser/frontend-application-module.d.ts.map +1 -1
  29. package/lib/browser/frontend-application-module.js +9 -0
  30. package/lib/browser/frontend-application-module.js.map +1 -1
  31. package/lib/browser/frontend-application.d.ts.map +1 -1
  32. package/lib/browser/frontend-application.js +12 -2
  33. package/lib/browser/frontend-application.js.map +1 -1
  34. package/lib/browser/index.d.ts +1 -0
  35. package/lib/browser/index.d.ts.map +1 -1
  36. package/lib/browser/index.js +1 -0
  37. package/lib/browser/index.js.map +1 -1
  38. package/lib/browser/keybinding.d.ts.map +1 -1
  39. package/lib/browser/keybinding.js +12 -7
  40. package/lib/browser/keybinding.js.map +1 -1
  41. package/lib/browser/perspective-service.d.ts +173 -0
  42. package/lib/browser/perspective-service.d.ts.map +1 -0
  43. package/lib/browser/perspective-service.js +484 -0
  44. package/lib/browser/perspective-service.js.map +1 -0
  45. package/lib/browser/perspective-service.spec.d.ts +2 -0
  46. package/lib/browser/perspective-service.spec.d.ts.map +1 -0
  47. package/lib/browser/perspective-service.spec.js +1806 -0
  48. package/lib/browser/perspective-service.spec.js.map +1 -0
  49. package/lib/browser/preferences/preference-contribution.d.ts.map +1 -1
  50. package/lib/browser/preferences/preference-contribution.js +9 -1
  51. package/lib/browser/preferences/preference-contribution.js.map +1 -1
  52. package/lib/browser/preferences/preference-service.spec.js +63 -0
  53. package/lib/browser/preferences/preference-service.spec.js.map +1 -1
  54. package/lib/browser/shell/application-shell.d.ts +7 -0
  55. package/lib/browser/shell/application-shell.d.ts.map +1 -1
  56. package/lib/browser/shell/application-shell.js +38 -28
  57. package/lib/browser/shell/application-shell.js.map +1 -1
  58. package/lib/browser/shell/shell-layout-restorer.d.ts +9 -0
  59. package/lib/browser/shell/shell-layout-restorer.d.ts.map +1 -1
  60. package/lib/browser/shell/shell-layout-restorer.js +124 -14
  61. package/lib/browser/shell/shell-layout-restorer.js.map +1 -1
  62. package/lib/browser/shell/shell-layout-restorer.spec.d.ts +2 -0
  63. package/lib/browser/shell/shell-layout-restorer.spec.d.ts.map +1 -0
  64. package/lib/browser/shell/shell-layout-restorer.spec.js +539 -0
  65. package/lib/browser/shell/shell-layout-restorer.spec.js.map +1 -0
  66. package/lib/browser/shell/view-contribution.d.ts +2 -0
  67. package/lib/browser/shell/view-contribution.d.ts.map +1 -1
  68. package/lib/browser/shell/view-contribution.js +5 -1
  69. package/lib/browser/shell/view-contribution.js.map +1 -1
  70. package/lib/browser/status-bar/status-bar.d.ts +2 -0
  71. package/lib/browser/status-bar/status-bar.d.ts.map +1 -1
  72. package/lib/browser/status-bar/status-bar.js +11 -3
  73. package/lib/browser/status-bar/status-bar.js.map +1 -1
  74. package/lib/browser/tree/tree-widget.d.ts +7 -33
  75. package/lib/browser/tree/tree-widget.d.ts.map +1 -1
  76. package/lib/browser/tree/tree-widget.js +7 -54
  77. package/lib/browser/tree/tree-widget.js.map +1 -1
  78. package/lib/browser/widgets/index.d.ts +1 -0
  79. package/lib/browser/widgets/index.d.ts.map +1 -1
  80. package/lib/browser/widgets/index.js +1 -0
  81. package/lib/browser/widgets/index.js.map +1 -1
  82. package/lib/browser/widgets/select-component.d.ts +2 -2
  83. package/lib/browser/widgets/select-component.d.ts.map +1 -1
  84. package/lib/browser/widgets/select-component.js +42 -12
  85. package/lib/browser/widgets/select-component.js.map +1 -1
  86. package/lib/browser/widgets/tab-bar-tracker.d.ts +23 -0
  87. package/lib/browser/widgets/tab-bar-tracker.d.ts.map +1 -0
  88. package/lib/browser/widgets/tab-bar-tracker.js +65 -0
  89. package/lib/browser/widgets/tab-bar-tracker.js.map +1 -0
  90. package/lib/browser/widgets/tab-bar-tracker.spec.d.ts +2 -0
  91. package/lib/browser/widgets/tab-bar-tracker.spec.d.ts.map +1 -0
  92. package/lib/browser/widgets/tab-bar-tracker.spec.js +109 -0
  93. package/lib/browser/widgets/tab-bar-tracker.spec.js.map +1 -0
  94. package/lib/browser-only/messaging/frontend-only-service-connection-provider.d.ts +13 -2
  95. package/lib/browser-only/messaging/frontend-only-service-connection-provider.d.ts.map +1 -1
  96. package/lib/browser-only/messaging/frontend-only-service-connection-provider.js +31 -3
  97. package/lib/browser-only/messaging/frontend-only-service-connection-provider.js.map +1 -1
  98. package/lib/common/preferences/index.d.ts +1 -0
  99. package/lib/common/preferences/index.d.ts.map +1 -1
  100. package/lib/common/preferences/index.js +1 -0
  101. package/lib/common/preferences/index.js.map +1 -1
  102. package/lib/common/preferences/preference-provider.d.ts +15 -0
  103. package/lib/common/preferences/preference-provider.d.ts.map +1 -1
  104. package/lib/common/preferences/preference-provider.js +21 -1
  105. package/lib/common/preferences/preference-provider.js.map +1 -1
  106. package/lib/common/preferences/preference-provider.spec.js +17 -0
  107. package/lib/common/preferences/preference-provider.spec.js.map +1 -1
  108. package/lib/common/preferences/preference-scope.d.ts +6 -1
  109. package/lib/common/preferences/preference-scope.d.ts.map +1 -1
  110. package/lib/common/preferences/preference-scope.js +5 -0
  111. package/lib/common/preferences/preference-scope.js.map +1 -1
  112. package/lib/common/preferences/preference-scope.spec.js +5 -3
  113. package/lib/common/preferences/preference-scope.spec.js.map +1 -1
  114. package/lib/common/preferences/preference-service.d.ts +19 -0
  115. package/lib/common/preferences/preference-service.d.ts.map +1 -1
  116. package/lib/common/preferences/preference-service.js +34 -5
  117. package/lib/common/preferences/preference-service.js.map +1 -1
  118. package/lib/common/preferences/session-preference-provider.d.ts +17 -0
  119. package/lib/common/preferences/session-preference-provider.d.ts.map +1 -0
  120. package/lib/common/preferences/session-preference-provider.js +77 -0
  121. package/lib/common/preferences/session-preference-provider.js.map +1 -0
  122. package/lib/common/preferences/session-preference-provider.spec.d.ts +2 -0
  123. package/lib/common/preferences/session-preference-provider.spec.d.ts.map +1 -0
  124. package/lib/common/preferences/session-preference-provider.spec.js +71 -0
  125. package/lib/common/preferences/session-preference-provider.spec.js.map +1 -0
  126. package/lib/electron-browser/electron-clipboard-service.d.ts +3 -0
  127. package/lib/electron-browser/electron-clipboard-service.d.ts.map +1 -1
  128. package/lib/electron-browser/electron-clipboard-service.js +6 -0
  129. package/lib/electron-browser/electron-clipboard-service.js.map +1 -1
  130. package/lib/electron-browser/preload.d.ts.map +1 -1
  131. package/lib/electron-browser/preload.js +2 -1
  132. package/lib/electron-browser/preload.js.map +1 -1
  133. package/lib/electron-common/electron-api.d.ts +2 -0
  134. package/lib/electron-common/electron-api.d.ts.map +1 -1
  135. package/lib/electron-common/electron-api.js +2 -1
  136. package/lib/electron-common/electron-api.js.map +1 -1
  137. package/lib/electron-main/electron-api-main.d.ts.map +1 -1
  138. package/lib/electron-main/electron-api-main.js +43 -0
  139. package/lib/electron-main/electron-api-main.js.map +1 -1
  140. package/lib/electron-main/electron-main-application.d.ts.map +1 -1
  141. package/lib/electron-main/electron-main-application.js +3 -0
  142. package/lib/electron-main/electron-main-application.js.map +1 -1
  143. package/lib/electron-node/hosting/electron-backend-hosting-module.d.ts.map +1 -1
  144. package/lib/electron-node/hosting/electron-backend-hosting-module.js +7 -0
  145. package/lib/electron-node/hosting/electron-backend-hosting-module.js.map +1 -1
  146. package/lib/electron-node/hosting/electron-backend-hosting-module.spec.d.ts +2 -0
  147. package/lib/electron-node/hosting/electron-backend-hosting-module.spec.d.ts.map +1 -0
  148. package/lib/electron-node/hosting/electron-backend-hosting-module.spec.js +39 -0
  149. package/lib/electron-node/hosting/electron-backend-hosting-module.spec.js.map +1 -0
  150. package/lib/node/hosting/backend-hosting-module.d.ts.map +1 -1
  151. package/lib/node/hosting/backend-hosting-module.js +4 -1
  152. package/lib/node/hosting/backend-hosting-module.js.map +1 -1
  153. package/lib/node/hosting/browser-connection-token.d.ts +29 -1
  154. package/lib/node/hosting/browser-connection-token.d.ts.map +1 -1
  155. package/lib/node/hosting/browser-connection-token.js +25 -1
  156. package/lib/node/hosting/browser-connection-token.js.map +1 -1
  157. package/lib/node/hosting/browser-connection-token.spec.js +70 -0
  158. package/lib/node/hosting/browser-connection-token.spec.js.map +1 -1
  159. package/lib/node/index.d.ts +1 -0
  160. package/lib/node/index.d.ts.map +1 -1
  161. package/lib/node/index.js +3 -1
  162. package/lib/node/index.js.map +1 -1
  163. package/package.json +11 -11
  164. package/src/browser/browser-clipboard-service.ts +7 -1
  165. package/src/browser/clipboard-service.ts +11 -0
  166. package/src/browser/common-frontend-contribution.ts +7 -7
  167. package/src/browser/frontend-application-module.ts +11 -1
  168. package/src/browser/frontend-application.ts +12 -4
  169. package/src/browser/index.ts +1 -0
  170. package/src/browser/keybinding.ts +12 -7
  171. package/src/browser/perspective-service.spec.ts +2270 -0
  172. package/src/browser/perspective-service.ts +625 -0
  173. package/src/browser/preferences/preference-contribution.ts +9 -1
  174. package/src/browser/preferences/preference-service.spec.ts +72 -0
  175. package/src/browser/shell/application-shell.ts +41 -26
  176. package/src/browser/shell/shell-layout-restorer.spec.ts +746 -0
  177. package/src/browser/shell/shell-layout-restorer.ts +134 -13
  178. package/src/browser/shell/view-contribution.ts +6 -1
  179. package/src/browser/status-bar/status-bar.tsx +13 -3
  180. package/src/browser/style/select-component.css +16 -0
  181. package/src/browser/style/sidepanel.css +5 -0
  182. package/src/browser/style/status-bar.css +1 -1
  183. package/src/browser/tree/tree-widget.tsx +12 -78
  184. package/src/browser/widgets/index.ts +1 -0
  185. package/src/browser/widgets/select-component.tsx +41 -12
  186. package/src/browser/widgets/tab-bar-tracker.spec.ts +121 -0
  187. package/src/browser/widgets/tab-bar-tracker.ts +68 -0
  188. package/src/browser-only/messaging/frontend-only-service-connection-provider.ts +32 -3
  189. package/src/common/i18n/nls.metadata.json +4149 -888
  190. package/src/common/preferences/index.ts +1 -0
  191. package/src/common/preferences/preference-provider.spec.ts +17 -0
  192. package/src/common/preferences/preference-provider.ts +22 -1
  193. package/src/common/preferences/preference-scope.spec.ts +5 -3
  194. package/src/common/preferences/preference-scope.ts +6 -1
  195. package/src/common/preferences/preference-service.ts +39 -5
  196. package/src/common/preferences/session-preference-provider.spec.ts +78 -0
  197. package/src/common/preferences/session-preference-provider.ts +69 -0
  198. package/src/electron-browser/electron-clipboard-service.ts +5 -0
  199. package/src/electron-browser/menu/electron-menu-style.css +3 -1
  200. package/src/electron-browser/preload.ts +5 -2
  201. package/src/electron-common/electron-api.ts +4 -0
  202. package/src/electron-main/electron-api-main.ts +56 -3
  203. package/src/electron-main/electron-main-application.ts +3 -0
  204. package/src/electron-node/hosting/electron-backend-hosting-module.spec.ts +42 -0
  205. package/src/electron-node/hosting/electron-backend-hosting-module.ts +8 -0
  206. package/src/node/hosting/backend-hosting-module.ts +5 -2
  207. package/src/node/hosting/browser-connection-token.spec.ts +92 -0
  208. package/src/node/hosting/browser-connection-token.ts +45 -1
  209. package/src/node/index.ts +1 -0
@@ -75,6 +75,15 @@
75
75
  "apiKey": {
76
76
  "description": "請輸入您官方 Anthropic 帳戶的 API 金鑰。**請注意:**使用此設定將使 Anthropic API 金鑰以明文形式儲存於運行 Theia 的機器上。請使用環境變數 `ANTHROPIC_API_KEY` 以安全方式設定金鑰。"
77
77
  },
78
+ "compaction": {
79
+ "default": "遵循全域聊天伺服器端的壓縮設定。",
80
+ "description": "覆寫 Anthropic 模型的供應商原生伺服器端壓縮功能。「預設」將遵循全域聊天設定({0})。當此功能實際啟用時,系統將使用 Anthropic Beta Messages API,以便當對話長度超過閾值時,供應商能對較早的對話回合進行摘要。",
81
+ "disabled": "切勿針對 Anthropic 模型請求伺服器端的壓縮處理。",
82
+ "enabled": "針對 Anthropic 模型,請務必請求執行伺服器端的壓縮操作。"
83
+ },
84
+ "compactionTokenThreshold": {
85
+ "description": "覆寫 Anthropic 模型伺服器端壓縮的全球輸入標記閾值。若未設定此選項,則適用全球設定或提供者預設值。若已設定,其值必須至少為 50,000 個標記。"
86
+ },
78
87
  "customEndpoints": {
79
88
  "apiKey": {
80
89
  "title": "請提供以下任一項:- 存取指定網址所提供 API 的金鑰- 或使用全局 Anthropic API 金鑰(值為 `true`)"
@@ -142,7 +151,12 @@
142
151
  "couldNotFindMatchingLM": "未能找到相符的語言模型。請檢查您的設定!",
143
152
  "couldNotFindReadyLMforAgent": "無法為代理程式{0}找到現成的語言模型。請檢查您的設定!",
144
153
  "customAgents": {
145
- "migrationResult": "自訂代理程式遷移:{0} 已遷移,{1} 失敗,{2} 舊版 customAgents.yml 已備份至 .bak,{3} 提示覆寫內容已整合至 agent.md。",
154
+ "migratePrompt": {
155
+ "message": "您的自訂代理程式仍使用舊版 `customAgents.yml` 格式。 我們建議將它們遷移至新的「單一代理程式」格式(`agents/<id>/agent.md`),此為 {0} 未來將採用的格式。每個代理程式都會在您的 `customAgents.yml` 旁擁有專屬檔案,而原始檔案則會保留為 `customAgents.yml.bak` 備份。"
156
+ },
157
+ "migrationResult": {
158
+ "empty": "自訂代理程式遷移:無需遷移的項目。"
159
+ },
146
160
  "rerunMigration": "重新執行自訂代理程式遷移"
147
161
  },
148
162
  "defaultAgent": {
@@ -230,8 +244,10 @@
230
244
  },
231
245
  "chat-ui": {
232
246
  "addContextVariable": "新增上下文變數",
247
+ "agentDefaultModel": "代理程式預設值",
233
248
  "agentDelegationDescription": "可委派的其他 AI 代理程式",
234
249
  "aiDisabled": "AI 功能已停用",
250
+ "allowedResourceUrls": "AI 聊天回應中引用的外部資源(圖片、樣式表、多媒體等)預設會被封鎖,並以佔位符取代,直到明確允許為止。 URL 以已設定的前綴之一開頭的資源,將直接顯示而不被封鎖。請包含完整的來源網址並以尾隨斜線結尾(例如「https://example.com/」),以避免意外匹配。僅應新增您完全信任的來源。",
235
251
  "applyAll": "全部套用",
236
252
  "applyAllTitle": "套用所有待處理變更",
237
253
  "askQuestion": "提出問題",
@@ -265,8 +281,12 @@
265
281
  "command-part-renderer": {
266
282
  "commandNotExecutable": "該指令的識別碼為「{0}」,但無法從聊天視窗執行。"
267
283
  },
284
+ "compaction-part-renderer": {
285
+ "compactionMarker": "對話內容已精簡"
286
+ },
268
287
  "copyCodeBlock": "複製程式碼區塊",
269
288
  "couldNotSendRequestToSession": "無法向會話 {1} 發送請求 \"{0}\"",
289
+ "delegatedSession": "委派",
270
290
  "delegation-response-renderer": {
271
291
  "interactionNeeded": "需要使用者互動",
272
292
  "prompt": {
@@ -279,13 +299,11 @@
279
299
  "starting": "開始委派...",
280
300
  "status": {
281
301
  "canceled": "已取消",
282
- "error": "錯誤",
283
302
  "generating": "生成中...",
284
303
  "starting": "正在啟動..."
285
304
  }
286
305
  },
287
306
  "deleteChangeSet": "刪除變更集",
288
- "deleteChat": "刪除對話",
289
307
  "editRequest": "編輯",
290
308
  "edited": "編輯",
291
309
  "editedTooltipHint": "此提示變體已進行編輯。您可在 AI 設定視圖中重設此設定。",
@@ -312,6 +330,8 @@
312
330
  "title": "Mermaid 圖表",
313
331
  "wheelZoomHint": "{0} + 捲動"
314
332
  },
333
+ "modelBadgeTooltip": "此回應所使用的語言模型:{0}",
334
+ "modelUnavailable": "不可用",
315
335
  "noChatAgentsAvailable": "目前沒有可用的聊天代理程式。",
316
336
  "noMatchingCapabilities": "無匹配功能",
317
337
  "openDiff": "開啟差異檢視",
@@ -344,6 +364,9 @@
344
364
  "serverTools": "伺服器工具",
345
365
  "serverToolsDescription": "伺服器工具由大型語言模型(LLM)在供應商的基础設施上於伺服器端執行。",
346
366
  "serverToolsWarning": "選取這些工具時,系統會自動核准其使用權限。模型可隨時執行這些工具。",
367
+ "sessionModel": "此聊天對話的範本",
368
+ "sessionModelDefault": "此聊天模型({0})",
369
+ "sessionModelUnavailable": "此聊天模式目前不可用({0});請求將使用代理的預設設定",
347
370
  "sessionNotFoundForRetry": "未找到可重試的會話",
348
371
  "skillsDescription": "可重複使用的技能指令,可添加至對話中",
349
372
  "switchAgentMode": "切換代理模式",
@@ -356,6 +379,8 @@
356
379
  "tokenUsageOverflow": "代幣使用量已遠超過警告閾值。請考慮壓縮資料或開始新的工作階段。",
357
380
  "tokenUsageTooltipCacheCreate": "快取建立:{0}",
358
381
  "tokenUsageTooltipCacheRead": "快取讀取:{0}",
382
+ "tokenUsageTooltipCompactions": "{0} 壓縮版 x",
383
+ "tokenUsageTooltipCumulative": "彙總:{0}",
359
384
  "tokenUsageTooltipTotal": "總計:{0} / {1} ({2} %)",
360
385
  "tokenUsageWarning": "已達到代碼使用警告閾值。",
361
386
  "tokenUsageWarningEnabled": "控制當聊天會話的字元使用量超過設定的閾值時,是否顯示通知。此功能需語言模型提供者回報字元使用量。",
@@ -486,7 +511,6 @@
486
511
  "openFileTooltip": "點擊以編輯器開啟檔案",
487
512
  "optionsCount": "{0} 選項",
488
513
  "partial": "部分",
489
- "pattern": "模式",
490
514
  "plan": "平面模式",
491
515
  "project": "專案",
492
516
  "projectRoot": "專案根目錄",
@@ -860,6 +884,12 @@
860
884
  },
861
885
  "title": "自訂請求設定"
862
886
  },
887
+ "serverSideCompaction": {
888
+ "description": "預設為聊天請求啟用供應商原生的伺服器端壓縮功能。啟用後,當對話長度超過模型自身的閾值時,支援此功能的模型會自動彙總較早的對話輪次,讓長篇對話能突破上下文限制繼續進行。各供應商皆提供專屬的覆寫選項,個別聊天會話亦可透過會話設定覆寫此設定。不支援此功能的模型則會忽略此設定。"
889
+ },
890
+ "serverSideCompactionTokenThreshold": {
891
+ "description": "提供者原生伺服器端壓縮應執行的預設輸入令牌閾值。提供者及個別聊天會話可覆寫此值。若未設定,則由提供者選擇其預設閾值。若已設定,該值必須至少為 50,000 個令牌。"
892
+ },
863
893
  "skillDirectories": {
864
894
  "description": "包含技能定義(SKILL.md 檔案)的額外目錄。 技能提供可重複使用的指令,供 AI 代理程式參考。您工作區中的 .prompts/skills 和 .agents/skills 目錄、您的家目錄中的 .agents/skills 目錄,以及您產品配置資料夾中的 skills 目錄,都會被自動納入。"
865
895
  },
@@ -932,7 +962,6 @@
932
962
  "open-history-tooltip": "開啟 AI 歷史紀錄...",
933
963
  "request-card": {
934
964
  "promptVariant": "提示變體",
935
- "response": "回應",
936
965
  "timestamp": "時間戳記"
937
966
  },
938
967
  "sortChronologically": {
@@ -1008,6 +1037,11 @@
1008
1037
  "msg": "此代理程式採用 **代理模式**。為啟用自主流程,它能夠在無需進一步確認的情況下,直接寫入您的工作區檔案。\n\n建議使用版本控制系統(例如 Git),以便您能檢視並還原變更。\n\n您可以透過下方聊天輸入區的模式選擇器切換至 **編輯模式**,或使用 **Architect** 代理程式進行唯讀規劃。\n\n此確認設定將儲存於此工作區,且不會再次顯示。若要重設或進行全域設定,請在「設定」中搜尋 `ai-features.agentMode.confirmed`。",
1009
1038
  "waiting": "等待確認中..."
1010
1039
  },
1040
+ "allowAllMode": {
1041
+ "stripTooltip": "在此工作階段中,AI 工具的呼叫將在無需確認的情況下執行。請僅在您信任的環境中啟用此功能。",
1042
+ "stripTooltipFooter": "可透過 --session-preference 參數設定。若不帶此參數重新啟動,即可還原已儲存的設定。",
1043
+ "title": "Theia AI 全許可模式"
1044
+ },
1011
1045
  "app-tester": {
1012
1046
  "errorCheckingDevToolsServerStatus": "錯誤檢查開發工具 MCP 伺服器狀態:{0}",
1013
1047
  "errorCheckingPlaywrightServerStatus": "檢查 Playwright MCP 伺服器狀態錯誤:{0}",
@@ -1045,6 +1079,7 @@
1045
1079
  "chatRestrictedMessage": {
1046
1080
  "title": "AI 功能受限"
1047
1081
  },
1082
+ "childInteractionNeeded": "有個委派會話需要您處理",
1048
1083
  "codeReviewerAgent": {
1049
1084
  "description": "一款能分析程式碼變更並回傳結構化評估結果的程式碼審查助手。 會檢查完成標準、建置/語法檢查/測試證明,以及程式碼品質。"
1050
1085
  },
@@ -1061,6 +1096,7 @@
1061
1096
  "startNewChat": "保持對話簡短且聚焦。若需討論新任務,請[開啟新對話]({0});若需[開啟包含本對話摘要的新對話]({1})。"
1062
1097
  }
1063
1098
  },
1099
+ "collapseSession": "收起 {0}",
1064
1100
  "commandAgent": {
1065
1101
  "commandCallback": {
1066
1102
  "confirmAction": "明白了",
@@ -1089,10 +1125,10 @@
1089
1125
  "edit": "預設模式"
1090
1126
  }
1091
1127
  },
1092
- "deleteChat": "刪除對話",
1093
1128
  "enableAI": {
1094
1129
  "mdDescription": "此設定可讓您存取最新的人工智慧功能。 \n 請務必知悉,這些功能可能對您授權存取的語言模型(LLMs)產生持續性請求,可能產生相關費用,需密切監控。 啟用此選項即表示您已知悉相關風險。 \n **請注意!本節下方設定僅在主功能啟用後生效。啟用功能後,您需於下方至少設定一組 LLM供應商。詳見[官方文件](https://theia-ide.org/docs/user_ai/)**。"
1095
1130
  },
1131
+ "expandSession": "展開{0}",
1096
1132
  "exploreAgent": {
1097
1133
  "description": "一款從程式碼庫中提取並提煉資訊的程式碼庫探索助手。 報告現有內容的相關事實、提供程式碼片段,並描述觀察到的模式。"
1098
1134
  },
@@ -1168,10 +1204,16 @@
1168
1204
  "description": "一款由人工智慧驅動的 PR 審查代理程式,可統籌完整的程式碼審查工作流程:擷取 PR 資訊、探索程式碼庫、執行結構化分析、透過 diff 檢視器引導使用者互動檢視發現的問題,並可選擇在 GitHub 上建立待審查項目。"
1169
1205
  },
1170
1206
  "prompt-template-description": "在 [AI 設定檢視窗] ({0}) 中選擇提示語變體並自訂 AI 代理的提示語範本。",
1207
+ "requiresApproval": "需經您核准",
1171
1208
  "restoredSession": "已還原的會話",
1172
1209
  "restrictedModeDetails": "AI 聊天、內嵌建議、程式碼操作及提示範本已停用",
1173
1210
  "restrictedModeLabel": "AI 功能(在受限模式下已停用)",
1174
1211
  "sectionRestored": "已還原",
1212
+ "sessionOverride": {
1213
+ "defaultToolConfirmation": "預設工具確認訊息:{0}",
1214
+ "toolConfirmation": "各工具的確認設定覆寫:{0}",
1215
+ "toolConfirmationGeneric": "設定各工具的確認覆寫選項"
1216
+ },
1175
1217
  "shellAllowlist": {
1176
1218
  "placeholder": "例如:\"git log\"(精確指令)或 \"git log *\"(帶參數指令)"
1177
1219
  },
@@ -1193,6 +1235,10 @@
1193
1235
  "toolConfirmationInfo": {
1194
1236
  "header": "工具確認"
1195
1237
  },
1238
+ "toolConfirmationOverrides": {
1239
+ "stripTooltip": "透過命令列參數,本工作階段中已自動核准一項或多項 AI 工具。",
1240
+ "title": "AI 工具確認設定覆寫"
1241
+ },
1196
1242
  "toolsConfiguration": {
1197
1243
  "confirmAlwaysAllow": {
1198
1244
  "confirm": "我理解,啟用自動批准",
@@ -1244,7 +1290,6 @@
1244
1290
  "errorMessage": "錯誤訊息",
1245
1291
  "lastActivity": "最後活動",
1246
1292
  "lastMessage": "最後訊息",
1247
- "messages": "訊息",
1248
1293
  "multipleExchanges": "{0} 交易所",
1249
1294
  "oneExchange": "1 交換",
1250
1295
  "unread": "未讀"
@@ -1333,8 +1378,7 @@
1333
1378
  "title": "環境變數"
1334
1379
  },
1335
1380
  "headers": {
1336
- "mdDescription": "發送至伺服器的每個請求中,可選地包含額外的標頭。標頭值以純文字形式儲存於偏好設定中;若工作區設定中包含敏感值,請避免使用工作區設定。",
1337
- "title": "標題"
1381
+ "mdDescription": "發送至伺服器的每個請求中,可選地包含額外的標頭。標頭值以純文字形式儲存於偏好設定中;若工作區設定中包含敏感值,請避免使用工作區設定。"
1338
1382
  },
1339
1383
  "mdDescription": "可透過命令、參數及(可選)環境變數來配置本機 MCP 伺服器,或透過伺服器 URL、驗證憑證、OAuth 設定及(可選)驗證標頭名稱來配置遠端 MCP 伺服器。此外,亦可設定自動啟動(預設為 true)。 每個伺服器皆由一個唯一金鑰識別,例如「brave-search」或「filesystem」。要啟動伺服器,請使用「MCP: Start MCP Server」指令,該指令可讓您選擇所需的伺服器。要停止伺服器,請使用「MCP: Stop MCP Server」指令。 請注意,自動啟動功能僅會在重新啟動後生效,首次啟動伺服器時需手動執行。從 AI 註冊表安裝的伺服器會附帶一個額外的 `registryMetadata` 區塊,該區塊由系統自動管理,不應手動編輯。\n配置範例:\n```{\n \"brave-search\": {\n \"command\": \"npx\",\n \"args\": [\n \"-y\",\n \"@modelcontextprotocol/server-brave-search\"\n ],\n \"env\": {\n \"BRAVE_API_KEY\": \"您的 API 金鑰\"\n },\n },\n \"filesystem\": {\n \"command\": \"npx\",\n \"args\": [\"-y\", \"@modelcontextprotocol/server-filesystem\", \"/Users/YOUR_USERNAME/Desktop\"],\n \"env\": {\n \"CUSTOM_ENV_VAR\": \"custom-value\"\n },\n \"autostart\": false\n },\n \"jira\": {\n \"serverUrl\": \"您的 JIRA MCP 伺服器網址\",\n \"serverAuthToken\": \"您的 JIRA MCP 伺服器憑證\"\n },\n \"oauth-protected-server\": {\n \"serverUrl\": \"您的 OAuth 受保護 MCP 伺服器網址\",\n \"oauth\": {\n \"clientId\": \"OPTIONAL_CLIENT_ID\",\n \"scopes\": [\"OPTIONAL_SCOPE\"]\n }\n }\n }\n```",
1340
1384
  "oauth": {
@@ -1403,9 +1447,6 @@
1403
1447
  "stop": {
1404
1448
  "label": "MCP:停止 MCP 伺服器"
1405
1449
  },
1406
- "tool": {
1407
- "noTools": "目前沒有可用工具。"
1408
- },
1409
1450
  "useWorkspaceAsRoot": {
1410
1451
  "mdDescription": "根目錄定義了伺服器在檔案系統中的運作邊界。若啟用此設定,工作區資料夾將作為根目錄;否則 MCP 伺服器將可存取整個檔案系統。變更此設定將重啟所有執行中的 MCP 伺服器,以套用新的根目錄配置。",
1411
1452
  "title": "以工作區作為根目錄"
@@ -1422,7 +1463,6 @@
1422
1463
  "command": {
1423
1464
  "addServer": "新增本機 MCP 設定..."
1424
1465
  },
1425
- "connectingServer": "正在連接...",
1426
1466
  "copiedAllList": "已將所有工具複製至剪貼簿(完整工具清單)",
1427
1467
  "copiedAllSingle": "已將所有工具複製至剪貼簿(單一提示片段包含 所有工具)",
1428
1468
  "copiedForPromptTemplate": "將所有工具複製至剪貼簿作為提示模板 (單一提示片段含所有工具)",
@@ -1466,12 +1506,10 @@
1466
1506
  "saveChanges": "儲存變更",
1467
1507
  "serverName": "伺服器名稱",
1468
1508
  "serverNamePlaceholder": "例如:my-mcp-server",
1469
- "serverType": "伺服器類型",
1470
1509
  "serverUrlPlaceholder": "例如:https://mcp.example.com",
1471
1510
  "serverUrlRequired": "遠端伺服器需提供伺服器網址"
1472
1511
  },
1473
1512
  "fromRegistryLink": "來自登錄檔",
1474
- "headers": "標題",
1475
1513
  "oauth": "OAuth",
1476
1514
  "oauthAuthorizationServer": "授權伺服器",
1477
1515
  "oauthClientId": "OAuth 客戶端 ID",
@@ -1498,6 +1536,15 @@
1498
1536
  "apiKey": {
1499
1537
  "mdDescription": "請輸入您官方 OpenAI 帳戶的 API 金鑰。**請注意:**使用此設定時,OpenAI API 金鑰將以明文形式儲存於執行 Theia 的機器上。請使用環境變數 `OPENAI_API_KEY` 以安全方式設定金鑰。"
1500
1538
  },
1539
+ "compaction": {
1540
+ "default": "遵循全域聊天伺服器端的壓縮設定。",
1541
+ "description": "覆寫官方 OpenAI 模型的供應商原生伺服器端壓縮功能。此設定僅適用於 OpenAI Response API;Chat Completions API 將忽略此設定。「default」將遵循全域聊天設定({0})。當此功能實際啟用時,一旦對話長度超過供應商的閾值,系統便會要求 Response API 對較早的對話回合進行摘要。",
1542
+ "disabled": "切勿針對官方 OpenAI 模型請求伺服器端壓縮。",
1543
+ "enabled": "針對官方 OpenAI 模型,請務必請求伺服器端壓縮。"
1544
+ },
1545
+ "compactionTokenThreshold": {
1546
+ "description": "覆寫官方 OpenAI 模型在伺服器端壓縮功能中的全域輸入標記閾值。若未設定此選項,則適用全域設定或提供者預設值。若已設定,其值必須至少為 50,000 個標記。"
1547
+ },
1501
1548
  "customEndpoints": {
1502
1549
  "apiKey": {
1503
1550
  "title": "請提供以下任一項:- 存取指定網址所提供 API 的專用金鑰- 或使用全域 OpenAI API 金鑰(值為 `true`)"
@@ -1538,7 +1585,7 @@
1538
1585
  "description": "官方 OpenAI 模型供使用"
1539
1586
  },
1540
1587
  "useResponseApi": {
1541
- "mdDescription": "針對官方 OpenAI 模型,請改用新版 OpenAI 回應 API 取代 Chat Completion API。此設定僅適用於官方 OpenAI 模型——自訂供應商需個別配置。請注意,使用回應 API 時,工具呼叫定義必須符合 OpenAI 的 [嚴格架構定義](https://platform.openai.com/docs/guides/function-calling#strict-mode)。系統將盡力轉換不符合規範的架構,但仍可能發生錯誤。"
1588
+ "mdDescription": "對於官方 OpenAI 模型,請使用較新的 OpenAI Response API 取代 Chat Completion API。此設定僅適用於官方 OpenAI 模型——自訂提供者必須個別進行配置。"
1542
1589
  }
1543
1590
  },
1544
1591
  "promptTemplates": {
@@ -1588,6 +1635,10 @@
1588
1635
  },
1589
1636
  "session-settings-dialog": {
1590
1637
  "advancedSettings": "進階設定 (JSON)",
1638
+ "compactionHeader": "伺服器端壓縮",
1639
+ "compactionLabel": "壓縮:",
1640
+ "compactionNote": "覆寫此工作階段的全域及各提供者層級的壓縮設定。僅適用於支援伺服器端壓縮的提供者。",
1641
+ "compactionTokenThreshold": "代碼片段閾值:",
1591
1642
  "confirmationTimeout": "確認超時",
1592
1643
  "confirmationTimeoutNote": "在指定時間後自動拒絕工具確認視窗。此設定將覆寫本次工作階段的全球偏好設定。",
1593
1644
  "enableConfirmationTimeout": "啟用確認超時",
@@ -1722,6 +1773,13 @@
1722
1773
  "fileChangeSetTitle": "建議修改內容"
1723
1774
  },
1724
1775
  "ai-chat-ui": {
1776
+ "blockedResource": {
1777
+ "allow": "允許此被封鎖的內容",
1778
+ "aria": "被封鎖的外部資源:{0}",
1779
+ "inlineContent": "(內嵌外部內容)",
1780
+ "label": "外部資源遭封鎖:",
1781
+ "resourcesToAllow": "{0} 資源將被啟用"
1782
+ },
1725
1783
  "browseAllChats": "瀏覽所有聊天記錄...",
1726
1784
  "confirm": "確認",
1727
1785
  "deleteChat": "刪除對話",
@@ -1730,6 +1788,7 @@
1730
1788
  "noOutput": "無輸出",
1731
1789
  "open-current-session-summary": "開啟當前工作階段摘要",
1732
1790
  "open-settings-tooltip": "開啟 AI 設定...",
1791
+ "openSession": "開啟聊天視窗",
1733
1792
  "renameChat": "重新命名聊天",
1734
1793
  "scroll-lock": "鎖定捲動",
1735
1794
  "scroll-unlock": "解鎖捲動",
@@ -1774,11 +1833,17 @@
1774
1833
  "argumentHint": "<票號>",
1775
1834
  "description": "分析 GitHub 問題單並實作解決方案"
1776
1835
  },
1836
+ "newChat": "新聊天室",
1837
+ "noSessions": "目前尚無聊天對話紀錄。",
1777
1838
  "open-ai-configuration-tooltip": "OpenAI 設定",
1839
+ "perspective": {
1840
+ "aiFirst": "AI First"
1841
+ },
1778
1842
  "rememberCommand": {
1779
1843
  "argumentHint": "[主題提示]",
1780
1844
  "description": "從對話中提取主題並更新專案資訊"
1781
1845
  },
1846
+ "sessionsView": "AI 會話",
1782
1847
  "ticketCommand": {
1783
1848
  "argumentHint": "<票號>",
1784
1849
  "description": "分析 GitHub 票證並制定實施計畫"
@@ -1900,6 +1965,41 @@
1900
1965
  "timeout": "超時",
1901
1966
  "workingDirectory": "工作目錄"
1902
1967
  },
1968
+ "ai-tool-sketchpad": {
1969
+ "addItemProperty": "新增項目屬性",
1970
+ "addParameter": "新增參數",
1971
+ "addProperty": "新增屬性",
1972
+ "addTool": "新增工具",
1973
+ "askAtRuntimeHint": "當大型語言模型(LLM)呼叫此工具時,會彈出一個快速輸入視窗,要求您提供回傳值。",
1974
+ "askReturnPlaceholder": "請輸入此工具呼叫的回傳值...",
1975
+ "askReturnPrompt": "工具「{0}」是透過以下指令呼叫的:{1}",
1976
+ "confirmDelete": "您確定要刪除工具「{0}」嗎?",
1977
+ "descriptionPlaceholder": "請描述該工具的功能……",
1978
+ "itemType": "項目類型:",
1979
+ "label": "AI 工具 Sketchpad",
1980
+ "nParameters": "{0} 參數",
1981
+ "nameDuplicate": "目前已存在同名的工具。",
1982
+ "nameEmpty": "工具名稱不得為空。",
1983
+ "nameInvalid": "工具名稱僅可包含字母、數字、底線及連字號(1 至 128 個字元)。",
1984
+ "noItemProperties": "未定義任何項目屬性。",
1985
+ "noParameters": "未定義任何參數。",
1986
+ "noTools": "目前尚無工具。",
1987
+ "oneParameter": "1 個參數",
1988
+ "parameters": "參數",
1989
+ "required": "必填",
1990
+ "returnMode": "返回模式",
1991
+ "returnModeAskAtRuntime": "執行時詢問",
1992
+ "returnModeAskShort": "於執行時查詢",
1993
+ "returnModeStatic": "靜態回傳值",
1994
+ "returnModeStaticShort": "靜態",
1995
+ "selectTool": "選擇一個工具進行編輯,或新增一個工具以開始草圖繪製。",
1996
+ "staticReturn": "靜態回傳值",
1997
+ "staticReturnHint": "此靜態值會在每次呼叫該工具時返回,無論輸入參數為何。",
1998
+ "staticReturnPlaceholder": "呼叫此工具時所返回的值(例如 JSON 字串)",
1999
+ "toolName": "工具名稱",
2000
+ "toolNamePlaceholder": "例如:getWeather",
2001
+ "untitledTool": "無標題工具"
2002
+ },
1903
2003
  "callhierarchy": {
1904
2004
  "noCallers": "未偵測到任何呼叫方。",
1905
2005
  "open": "開啟呼叫層級"
@@ -1985,6 +2085,7 @@
1985
2085
  "visual": "顯示標籤頁的視覺預覽。"
1986
2086
  },
1987
2087
  "highlightModifiedTabs": "控制是否在已修改(髒污狀態)的編輯器標籤頁上繪製頂部邊框。",
2088
+ "jumpListName": "最近的工作區",
1988
2089
  "keybinding": {
1989
2090
  "duplicateModifierError": "無法解析鍵盤快捷鍵 {0} 重複修飾符",
1990
2091
  "metaError": "無法解析鍵盤快捷鍵 {0} meta 僅適用於 OSX",
@@ -2005,6 +2106,11 @@
2005
2106
  "clipboardWarnFirefox": "剪貼簿 API 目前不可用。可透過「{1}」頁面中的「{0}」選項啟用此功能,啟用後請重新載入 Theia。請注意,此設定將允許 Firefox 完全存取系統剪貼簿。"
2006
2107
  },
2007
2108
  "pasteWarn": "請使用瀏覽器的貼上指令或快捷鍵。",
2109
+ "perspective": {
2110
+ "resetPerspective": "重設視角(實驗性功能)",
2111
+ "selectPerspective": "選擇視角",
2112
+ "switchPerspective": "切換視角(實驗性功能)"
2113
+ },
2008
2114
  "quitMessage": "任何未儲存的變更將不會被儲存。",
2009
2115
  "resetWorkbenchLayout": "重設工作區佈局",
2010
2116
  "searchbox": {
@@ -2223,6 +2329,11 @@
2223
2329
  },
2224
2330
  "markers": {
2225
2331
  "clearAll": "清除所有",
2332
+ "copyAsText": "複製為文字",
2333
+ "export": "匯出",
2334
+ "exportProblems": "匯出問題",
2335
+ "exportSuccess": "問題已成功匯出。",
2336
+ "jsonFiles": "JSON 檔案",
2226
2337
  "noProblems": "迄今為止,工作區中尚未偵測到任何問題。",
2227
2338
  "tabbarDecorationsEnabled": "在分頁列中顯示問題標記(診斷標記)。"
2228
2339
  },
@@ -2317,6 +2428,7 @@
2317
2428
  "autoReveal": "自動顯示",
2318
2429
  "clipboardWarn": "剪貼簿存取權限遭拒絕。請檢查瀏覽器的權限設定。",
2319
2430
  "clipboardWarnFirefox": "剪貼簿 API 目前不可用。可透過「{1}」頁面中的「{0}」選項啟用此功能,啟用後請重新載入 Theia。請注意,此設定將允許 Firefox 完全存取系統剪貼簿。",
2431
+ "nothingToPaste": "剪貼簿中沒有可在此處貼上的工作區檔案。",
2320
2432
  "openWithSystemEditor": "使用系統編輯器開啟",
2321
2433
  "refresh": "在資源管理器中重新整理",
2322
2434
  "reveal": "在資源管理器中顯示",
@@ -2381,6 +2493,18 @@
2381
2493
  "input": {
2382
2494
  "browse": "瀏覽"
2383
2495
  },
2496
+ "sessionOverride": {
2497
+ "suffix": "由工作階段覆寫",
2498
+ "suffixTooltip": "此偏好設定具有透過 --session-preference 設定的會話值。在此處編輯該設定,將清除本會話剩餘時間內的會話覆寫設定。"
2499
+ },
2500
+ "sessionPreferences": {
2501
+ "statusBar": "工作階段偏好設定({0})",
2502
+ "tooltipBody": "這些設定是透過 --session-preference 參數傳入的,僅存在於記憶體中。點擊設定名稱即可跳轉至「設定」視圖中的對應項目。",
2503
+ "tooltipChangeNote": "編輯其中任何一項,都會清除本次執行階段的設定覆寫。若要在下次啟動時使用已儲存的值,請勿使用 --session-preference 參數重新啟動程式。",
2504
+ "tooltipHeader": "這些設定在本次工作階段中已被覆寫",
2505
+ "valueOff": "關閉",
2506
+ "valueOn": "on"
2507
+ },
2384
2508
  "toolbar": "工具列"
2385
2509
  },
2386
2510
  "preview": {
@@ -2507,6 +2631,9 @@
2507
2631
  "taskTerminatedBySignal": "任務 '{0}' 已因信號 {1} 而終止。",
2508
2632
  "terminalWillBeReusedByTasks": "終端機將被任務重複使用。"
2509
2633
  },
2634
+ "telemetry": {
2635
+ "filters": "限制傳送至各遙測接收端的話題模式。若未指定條目,則允許所有接收端感興趣的話題;若陣列為空,則會停用該接收端。"
2636
+ },
2510
2637
  "terminal": {
2511
2638
  "defaultProfile": "{0} 預設使用的設定檔",
2512
2639
  "enableCommandHistory": "透過 shell 注入功能,分別追蹤終端機指令及其輸出內容。此功能可實現諸如在 UI 中視覺區分指令,以及讓 AI 代理程式以更結構化的方式存取終端機等應用情境。切換此設定不會影響已開啟的終端機。\n\n&nbsp;\n\n此功能目前僅支援執行 bash 或 zsh 的任務終端機與使用者終端機。",
@@ -1,4 +1,5 @@
1
1
  import { ClipboardService } from './clipboard-service';
2
+ import { Emitter, Event } from '../common/event';
2
3
  import { ILogger } from '../common/logger';
3
4
  import { MessageService } from '../common/message-service';
4
5
  export interface NavigatorClipboard {
@@ -16,6 +17,8 @@ export interface NavigatorPermissions {
16
17
  export declare class BrowserClipboardService implements ClipboardService {
17
18
  protected readonly messageService: MessageService;
18
19
  protected readonly logger: ILogger;
20
+ protected readonly onDidWriteTextEmitter: Emitter<string>;
21
+ readonly onDidWriteText: Event<string>;
19
22
  readText(): Promise<string>;
20
23
  writeText(value: string): Promise<void>;
21
24
  protected queryPermission(name: string): Promise<PermissionStatus>;
@@ -1 +1 @@
1
- {"version":3,"file":"browser-clipboard-service.d.ts","sourceRoot":"","sources":["../../src/browser/browser-clipboard-service.ts"],"names":[],"mappings":"AAkBA,OAAO,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AACvD,OAAO,EAAE,OAAO,EAAE,MAAM,kBAAkB,CAAC;AAC3C,OAAO,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAC;AAG3D,MAAM,WAAW,kBAAkB;IAC/B,QAAQ,IAAI,OAAO,CAAC,MAAM,CAAC,CAAC;IAC5B,SAAS,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CAC3C;AACD,MAAM,WAAW,gBAAgB;IAC7B,KAAK,EAAE,SAAS,GAAG,QAAQ,GAAG,QAAQ,CAAA;CACzC;AACD,MAAM,WAAW,oBAAoB;IACjC,KAAK,CAAC,OAAO,EAAE;QAAE,IAAI,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC,gBAAgB,CAAC,CAAA;CAC9D;AAED,qBACa,uBAAwB,YAAW,gBAAgB;IAG5D,SAAS,CAAC,QAAQ,CAAC,cAAc,EAAE,cAAc,CAAC;IAGlD,SAAS,CAAC,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAC;IAE7B,QAAQ,IAAI,OAAO,CAAC,MAAM,CAAC;IAgC3B,SAAS,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;cAiC7B,eAAe,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,gBAAgB,CAAC;IAOxE,SAAS,CAAC,eAAe,IAAI,kBAAkB;CAMlD"}
1
+ {"version":3,"file":"browser-clipboard-service.d.ts","sourceRoot":"","sources":["../../src/browser/browser-clipboard-service.ts"],"names":[],"mappings":"AAkBA,OAAO,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AACvD,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,iBAAiB,CAAC;AACjD,OAAO,EAAE,OAAO,EAAE,MAAM,kBAAkB,CAAC;AAC3C,OAAO,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAC;AAG3D,MAAM,WAAW,kBAAkB;IAC/B,QAAQ,IAAI,OAAO,CAAC,MAAM,CAAC,CAAC;IAC5B,SAAS,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CAC3C;AACD,MAAM,WAAW,gBAAgB;IAC7B,KAAK,EAAE,SAAS,GAAG,QAAQ,GAAG,QAAQ,CAAA;CACzC;AACD,MAAM,WAAW,oBAAoB;IACjC,KAAK,CAAC,OAAO,EAAE;QAAE,IAAI,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC,gBAAgB,CAAC,CAAA;CAC9D;AAED,qBACa,uBAAwB,YAAW,gBAAgB;IAG5D,SAAS,CAAC,QAAQ,CAAC,cAAc,EAAE,cAAc,CAAC;IAGlD,SAAS,CAAC,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAC;IAEnC,SAAS,CAAC,QAAQ,CAAC,qBAAqB,kBAAyB;IACjE,QAAQ,CAAC,cAAc,EAAE,KAAK,CAAC,MAAM,CAAC,CAAoC;IAEpE,QAAQ,IAAI,OAAO,CAAC,MAAM,CAAC;IAgC3B,SAAS,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;cAmC7B,eAAe,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,gBAAgB,CAAC;IAOxE,SAAS,CAAC,eAAe,IAAI,kBAAkB;CAMlD"}
@@ -19,10 +19,15 @@ exports.BrowserClipboardService = void 0;
19
19
  const tslib_1 = require("tslib");
20
20
  const inversify_1 = require("inversify");
21
21
  const browser_1 = require("./browser");
22
+ const event_1 = require("../common/event");
22
23
  const logger_1 = require("../common/logger");
23
24
  const message_service_1 = require("../common/message-service");
24
25
  const nls_1 = require("../common/nls");
25
26
  let BrowserClipboardService = class BrowserClipboardService {
27
+ constructor() {
28
+ this.onDidWriteTextEmitter = new event_1.Emitter();
29
+ this.onDidWriteText = this.onDidWriteTextEmitter.event;
30
+ }
26
31
  async readText() {
27
32
  let permission;
28
33
  try {
@@ -61,6 +66,7 @@ let BrowserClipboardService = class BrowserClipboardService {
61
66
  // in FireFox, Clipboard API isn't gated with the permissions
62
67
  try {
63
68
  await this.getClipboardAPI().writeText(value);
69
+ this.onDidWriteTextEmitter.fire(value);
64
70
  return;
65
71
  }
66
72
  catch (e2) {
@@ -78,7 +84,8 @@ let BrowserClipboardService = class BrowserClipboardService {
78
84
  this.messageService.warn(nls_1.nls.localize('theia/core/navigator/clipboardWarn', "Access to the clipboard is denied. Check your browser's permission."));
79
85
  return;
80
86
  }
81
- return this.getClipboardAPI().writeText(value);
87
+ await this.getClipboardAPI().writeText(value);
88
+ this.onDidWriteTextEmitter.fire(value);
82
89
  }
83
90
  async queryPermission(name) {
84
91
  if ('permissions' in navigator) {
@@ -1 +1 @@
1
- {"version":3,"file":"browser-clipboard-service.js","sourceRoot":"","sources":["../../src/browser/browser-clipboard-service.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"browser-clipboard-service.js","sourceRoot":"","sources":["../../src/browser/browser-clipboard-service.ts"],"names":[],"mappings":"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"}