Просмотр исходного кода

add new task command (#1648)

* add new task command

* Internationalize

* Revert README changes

* More i18n

* Fix tests

* Fix i18n

* Missing translations

---------

Co-authored-by: Matt Rubens <[email protected]>
axb 9 месяцев назад
Родитель
Сommit
0bc4f30c23
38 измененных файлов с 163 добавлено и 36 удалено
  1. 5 0
      package.json
  2. 22 0
      src/activate/handleTask.ts
  3. 2 0
      src/activate/registerCommands.ts
  4. 1 1
      src/core/Cline.ts
  5. 2 0
      src/core/CodeActionProvider.ts
  6. 4 0
      src/core/__tests__/Cline.test.ts
  7. 4 0
      src/core/webview/__tests__/ClineProvider.test.ts
  8. 4 0
      src/i18n/locales/ca/common.json
  9. 4 0
      src/i18n/locales/de/common.json
  10. 4 0
      src/i18n/locales/en/common.json
  11. 4 0
      src/i18n/locales/es/common.json
  12. 4 0
      src/i18n/locales/fr/common.json
  13. 4 0
      src/i18n/locales/hi/common.json
  14. 4 0
      src/i18n/locales/it/common.json
  15. 4 0
      src/i18n/locales/ja/common.json
  16. 4 0
      src/i18n/locales/ko/common.json
  17. 4 0
      src/i18n/locales/pl/common.json
  18. 4 0
      src/i18n/locales/pt-BR/common.json
  19. 4 0
      src/i18n/locales/tr/common.json
  20. 4 0
      src/i18n/locales/vi/common.json
  21. 4 0
      src/i18n/locales/zh-CN/common.json
  22. 4 0
      src/i18n/locales/zh-TW/common.json
  23. 3 35
      src/shared/support-prompt.ts
  24. 4 0
      webview-ui/src/i18n/locales/ca/prompts.json
  25. 4 0
      webview-ui/src/i18n/locales/de/prompts.json
  26. 4 0
      webview-ui/src/i18n/locales/en/prompts.json
  27. 4 0
      webview-ui/src/i18n/locales/es/prompts.json
  28. 4 0
      webview-ui/src/i18n/locales/fr/prompts.json
  29. 4 0
      webview-ui/src/i18n/locales/hi/prompts.json
  30. 4 0
      webview-ui/src/i18n/locales/it/prompts.json
  31. 4 0
      webview-ui/src/i18n/locales/ja/prompts.json
  32. 4 0
      webview-ui/src/i18n/locales/ko/prompts.json
  33. 4 0
      webview-ui/src/i18n/locales/pl/prompts.json
  34. 4 0
      webview-ui/src/i18n/locales/pt-BR/prompts.json
  35. 4 0
      webview-ui/src/i18n/locales/tr/prompts.json
  36. 4 0
      webview-ui/src/i18n/locales/vi/prompts.json
  37. 4 0
      webview-ui/src/i18n/locales/zh-CN/prompts.json
  38. 4 0
      webview-ui/src/i18n/locales/zh-TW/prompts.json

+ 5 - 0
package.json

@@ -140,6 +140,11 @@
 				"title": "Add To Context",
 				"category": "Roo Code"
 			},
+			{
+				"command": "roo-cline.newTask",
+				"title": "New Task",
+				"category": "Roo Code"
+			},
 			{
 				"command": "roo-cline.terminalAddToContext",
 				"title": "Add Terminal Content to Context",

+ 22 - 0
src/activate/handleTask.ts

@@ -0,0 +1,22 @@
+import * as vscode from "vscode"
+import { COMMAND_IDS } from "../core/CodeActionProvider"
+import { ClineProvider } from "../core/webview/ClineProvider"
+import { t } from "../i18n"
+
+export const handleNewTask = async (params: { prompt?: string } | null | undefined) => {
+	let prompt = params?.prompt
+	if (!prompt) {
+		prompt = await vscode.window.showInputBox({
+			prompt: t("common:input.task_prompt"),
+			placeHolder: t("common:input.task_placeholder"),
+		})
+	}
+	if (!prompt) {
+		await vscode.commands.executeCommand("roo-cline.SidebarProvider.focus")
+		return
+	}
+
+	await ClineProvider.handleCodeAction(COMMAND_IDS.NEW_TASK, "NEW_TASK", {
+		userInput: prompt,
+	})
+}

+ 2 - 0
src/activate/registerCommands.ts

@@ -4,6 +4,7 @@ import delay from "delay"
 import { ClineProvider } from "../core/webview/ClineProvider"
 
 import { registerHumanRelayCallback, unregisterHumanRelayCallback, handleHumanRelayResponse } from "./humanRelay"
+import { handleNewTask } from "./handleTask"
 
 // Store panel references in both modes
 let sidebarPanel: vscode.WebviewView | undefined = undefined
@@ -85,6 +86,7 @@ const getCommandsMap = ({ context, outputChannel, provider }: RegisterCommandOpt
 		"roo-cline.registerHumanRelayCallback": registerHumanRelayCallback,
 		"roo-cline.unregisterHumanRelayCallback": unregisterHumanRelayCallback,
 		"roo-cline.handleHumanRelayResponse": handleHumanRelayResponse,
+		"roo-cline.newTask": handleNewTask,
 		"roo-cline.setCustomStoragePath": async () => {
 			const { promptForCustomStoragePath } = await import("../shared/storagePathManager")
 			await promptForCustomStoragePath()

+ 1 - 1
src/core/Cline.ts

@@ -2893,7 +2893,7 @@ export class Cline extends EventEmitter<ClineEvents> {
 									if (item.mimeType?.startsWith("image") && item.blob) {
 										images.push(item.blob)
 									}
-								});
+								})
 								await this.say("mcp_server_response", resourceResultPretty, images)
 								pushToolResult(formatResponse.toolResult(resourceResultPretty, images))
 								break

+ 2 - 0
src/core/CodeActionProvider.ts

@@ -7,6 +7,7 @@ export const ACTION_NAMES = {
 	FIX_LOGIC: "Roo Code: Fix Logic",
 	IMPROVE: "Roo Code: Improve Code",
 	ADD_TO_CONTEXT: "Roo Code: Add to Context",
+	NEW_TASK: "Roo Code: New Task",
 } as const
 
 export const COMMAND_IDS = {
@@ -14,6 +15,7 @@ export const COMMAND_IDS = {
 	FIX: "roo-cline.fixCode",
 	IMPROVE: "roo-cline.improveCode",
 	ADD_TO_CONTEXT: "roo-cline.addToContext",
+	NEW_TASK: "roo-cline.newTask",
 } as const
 
 export class CodeActionProvider implements vscode.CodeActionProvider {

+ 4 - 0
src/core/__tests__/Cline.test.ts

@@ -139,6 +139,10 @@ jest.mock("vscode", () => {
 	}
 
 	return {
+		CodeActionKind: {
+			QuickFix: { value: "quickfix" },
+			RefactorRewrite: { value: "refactor.rewrite" },
+		},
 		window: {
 			createTextEditorDecorationType: jest.fn().mockReturnValue({
 				dispose: jest.fn(),

+ 4 - 0
src/core/webview/__tests__/ClineProvider.test.ts

@@ -167,6 +167,10 @@ jest.mock("vscode", () => ({
 		joinPath: jest.fn(),
 		file: jest.fn(),
 	},
+	CodeActionKind: {
+		QuickFix: { value: "quickfix" },
+		RefactorRewrite: { value: "refactor.rewrite" },
+	},
 	window: {
 		showInformationMessage: jest.fn(),
 		showErrorMessage: jest.fn(),

+ 4 - 0
src/i18n/locales/ca/common.json

@@ -1,4 +1,8 @@
 {
+	"input": {
+		"task_prompt": "Què vols que faci Roo?",
+		"task_placeholder": "Escriu la teva tasca aquí"
+	},
 	"extension": {
 		"name": "Roo Code",
 		"description": "Tot un equip de desenvolupadors d'IA al teu editor."

+ 4 - 0
src/i18n/locales/de/common.json

@@ -83,5 +83,9 @@
 		"path_placeholder": "D:\\RooCodeStorage",
 		"enter_absolute_path": "Bitte gib einen absoluten Pfad ein (z.B. D:\\RooCodeStorage oder /home/user/storage)",
 		"enter_valid_path": "Bitte gib einen gültigen Pfad ein"
+	},
+	"input": {
+		"task_prompt": "Was soll Roo tun?",
+		"task_placeholder": "Gib deine Aufgabe hier ein"
 	}
 }

+ 4 - 0
src/i18n/locales/en/common.json

@@ -83,5 +83,9 @@
 		"path_placeholder": "D:\\RooCodeStorage",
 		"enter_absolute_path": "Please enter an absolute path (e.g. D:\\RooCodeStorage or /home/user/storage)",
 		"enter_valid_path": "Please enter a valid path"
+	},
+	"input": {
+		"task_prompt": "What should Roo do?",
+		"task_placeholder": "Type your task here"
 	}
 }

+ 4 - 0
src/i18n/locales/es/common.json

@@ -83,5 +83,9 @@
 		"path_placeholder": "D:\\RooCodeStorage",
 		"enter_absolute_path": "Por favor, ingresa una ruta absoluta (por ejemplo, D:\\RooCodeStorage o /home/user/storage)",
 		"enter_valid_path": "Por favor, ingresa una ruta válida"
+	},
+	"input": {
+		"task_prompt": "¿Qué debe hacer Roo?",
+		"task_placeholder": "Escribe tu tarea aquí"
 	}
 }

+ 4 - 0
src/i18n/locales/fr/common.json

@@ -83,5 +83,9 @@
 		"path_placeholder": "D:\\RooCodeStorage",
 		"enter_absolute_path": "Veuillez entrer un chemin absolu (ex. D:\\RooCodeStorage ou /home/user/storage)",
 		"enter_valid_path": "Veuillez entrer un chemin valide"
+	},
+	"input": {
+		"task_prompt": "Que doit faire Roo ?",
+		"task_placeholder": "Écris ta tâche ici"
 	}
 }

+ 4 - 0
src/i18n/locales/hi/common.json

@@ -83,5 +83,9 @@
 		"path_placeholder": "D:\\RooCodeStorage",
 		"enter_absolute_path": "कृपया एक पूर्ण पाथ दर्ज करें (उदाहरण: D:\\RooCodeStorage या /home/user/storage)",
 		"enter_valid_path": "कृपया एक वैध पाथ दर्ज करें"
+	},
+	"input": {
+		"task_prompt": "Roo को क्या करना है?",
+		"task_placeholder": "अपना कार्य यहाँ लिखें"
 	}
 }

+ 4 - 0
src/i18n/locales/it/common.json

@@ -83,5 +83,9 @@
 		"path_placeholder": "D:\\RooCodeStorage",
 		"enter_absolute_path": "Inserisci un percorso assoluto (ad esempio D:\\RooCodeStorage o /home/user/storage)",
 		"enter_valid_path": "Inserisci un percorso valido"
+	},
+	"input": {
+		"task_prompt": "Cosa deve fare Roo?",
+		"task_placeholder": "Scrivi il tuo compito qui"
 	}
 }

+ 4 - 0
src/i18n/locales/ja/common.json

@@ -83,5 +83,9 @@
 		"path_placeholder": "D:\\RooCodeStorage",
 		"enter_absolute_path": "絶対パスを入力してください(例:D:\\RooCodeStorage または /home/user/storage)",
 		"enter_valid_path": "有効なパスを入力してください"
+	},
+	"input": {
+		"task_prompt": "Rooにどんなことをさせますか?",
+		"task_placeholder": "タスクをここに入力してください"
 	}
 }

+ 4 - 0
src/i18n/locales/ko/common.json

@@ -83,5 +83,9 @@
 		"path_placeholder": "D:\\RooCodeStorage",
 		"enter_absolute_path": "절대 경로를 입력하세요 (예: D:\\RooCodeStorage 또는 /home/user/storage)",
 		"enter_valid_path": "유효한 경로를 입력하세요"
+	},
+	"input": {
+		"task_prompt": "Roo에게 무엇을 시킬까요?",
+		"task_placeholder": "여기에 작업을 입력하세요"
 	}
 }

+ 4 - 0
src/i18n/locales/pl/common.json

@@ -83,5 +83,9 @@
 		"path_placeholder": "D:\\RooCodeStorage",
 		"enter_absolute_path": "Wprowadź pełną ścieżkę (np. D:\\RooCodeStorage lub /home/user/storage)",
 		"enter_valid_path": "Wprowadź prawidłową ścieżkę"
+	},
+	"input": {
+		"task_prompt": "Co ma zrobić Roo?",
+		"task_placeholder": "Wpisz swoje zadanie tutaj"
 	}
 }

+ 4 - 0
src/i18n/locales/pt-BR/common.json

@@ -1,4 +1,8 @@
 {
+	"input": {
+		"task_prompt": "O que você quer que o Roo faça?",
+		"task_placeholder": "Digite sua tarefa aqui"
+	},
 	"extension": {
 		"name": "Roo Code",
 		"description": "Uma equipe completa de desenvolvedores com IA em seu editor."

+ 4 - 0
src/i18n/locales/tr/common.json

@@ -83,5 +83,9 @@
 		"path_placeholder": "D:\\RooCodeStorage",
 		"enter_absolute_path": "Lütfen mutlak bir yol girin (örn. D:\\RooCodeStorage veya /home/user/storage)",
 		"enter_valid_path": "Lütfen geçerli bir yol girin"
+	},
+	"input": {
+		"task_prompt": "Roo ne yapsın?",
+		"task_placeholder": "Görevini buraya yaz"
 	}
 }

+ 4 - 0
src/i18n/locales/vi/common.json

@@ -83,5 +83,9 @@
 		"path_placeholder": "D:\\RooCodeStorage",
 		"enter_absolute_path": "Vui lòng nhập đường dẫn tuyệt đối (ví dụ: D:\\RooCodeStorage hoặc /home/user/storage)",
 		"enter_valid_path": "Vui lòng nhập đường dẫn hợp lệ"
+	},
+	"input": {
+		"task_prompt": "Bạn muốn Roo làm gì?",
+		"task_placeholder": "Nhập nhiệm vụ của bạn ở đây"
 	}
 }

+ 4 - 0
src/i18n/locales/zh-CN/common.json

@@ -83,5 +83,9 @@
 		"path_placeholder": "D:\\RooCodeStorage",
 		"enter_absolute_path": "请输入绝对路径(例如 D:\\RooCodeStorage 或 /home/user/storage)",
 		"enter_valid_path": "请输入有效的路径"
+	},
+	"input": {
+		"task_prompt": "让Roo做什么?",
+		"task_placeholder": "在这里输入任务"
 	}
 }

+ 4 - 0
src/i18n/locales/zh-TW/common.json

@@ -83,5 +83,9 @@
 		"path_placeholder": "D:\\RooCodeStorage",
 		"enter_absolute_path": "請輸入絕對路徑(例如 D:\\RooCodeStorage 或 /home/user/storage)",
 		"enter_valid_path": "請輸入有效的路徑"
+	},
+	"input": {
+		"task_prompt": "讓Roo做什麼?",
+		"task_placeholder": "在這裡輸入任務"
 	}
 }

+ 3 - 35
src/shared/support-prompt.ts

@@ -25,24 +25,16 @@ export const createPrompt = (template: string, params: PromptParams): string =>
 }
 
 interface SupportPromptConfig {
-	label: string
-	description: string
 	template: string
 }
 
 const supportPromptConfigs: Record<string, SupportPromptConfig> = {
 	ENHANCE: {
-		label: "Enhance Prompt",
-		description:
-			"Use prompt enhancement to get tailored suggestions or improvements for your inputs. This ensures Roo understands your intent and provides the best possible responses. Available via the ✨ icon in chat.",
 		template: `Generate an enhanced version of this prompt (reply with only the enhanced prompt - no conversation, explanations, lead-in, bullet points, placeholders, or surrounding quotes):
 
 \${userInput}`,
 	},
 	EXPLAIN: {
-		label: "Explain Code",
-		description:
-			"Get detailed explanations of code snippets, functions, or entire files. Useful for understanding complex code or learning new patterns. Available in code actions (lightbulb icon in the editor) and the editor context menu (right-click on selected code).",
 		template: `Explain the following code from file path @/\${filePath}:
 \${userInput}
 
@@ -56,9 +48,6 @@ Please provide a clear and concise explanation of what this code does, including
 3. Important patterns or techniques used`,
 	},
 	FIX: {
-		label: "Fix Issues",
-		description:
-			"Get help identifying and resolving bugs, errors, or code quality issues. Provides step-by-step guidance for fixing problems. Available in code actions (lightbulb icon in the editor) and the editor context menu (right-click on selected code).",
 		template: `Fix any issues in the following code from file path @/\${filePath}
 \${diagnosticText}
 \${userInput}
@@ -74,9 +63,6 @@ Please:
 4. Explain what was fixed and why`,
 	},
 	IMPROVE: {
-		label: "Improve Code",
-		description:
-			"Receive suggestions for code optimization, better practices, and architectural improvements while maintaining functionality. Available in code actions (lightbulb icon in the editor) and the editor context menu (right-click on selected code).",
 		template: `Improve the following code from file path @/\${filePath}:
 \${userInput}
 
@@ -93,18 +79,12 @@ Please suggest improvements for:
 Provide the improved code along with explanations for each enhancement.`,
 	},
 	ADD_TO_CONTEXT: {
-		label: "Add to Context",
-		description:
-			"Add context to your current task or conversation. Useful for providing additional information or clarifications. Available in code actions (lightbulb icon in the editor). and the editor context menu (right-click on selected code).",
 		template: `\${filePath}:
 \`\`\`
 \${selectedText}
 \`\`\``,
 	},
 	TERMINAL_ADD_TO_CONTEXT: {
-		label: "Add Terminal Content to Context",
-		description:
-			"Add terminal output to your current task or conversation. Useful for providing command outputs or logs. Available in the terminal context menu (right-click on selected terminal content).",
 		template: `\${userInput}
 Terminal output:
 \`\`\`
@@ -112,9 +92,6 @@ Terminal output:
 \`\`\``,
 	},
 	TERMINAL_FIX: {
-		label: "Fix Terminal Command",
-		description:
-			"Get help fixing terminal commands that failed or need improvement. Available in the terminal context menu (right-click on selected terminal content).",
 		template: `\${userInput}
 Fix this terminal command:
 \`\`\`
@@ -127,9 +104,6 @@ Please:
 3. Explain what was fixed and why`,
 	},
 	TERMINAL_EXPLAIN: {
-		label: "Explain Terminal Command",
-		description:
-			"Get detailed explanations of terminal commands and their outputs. Available in the terminal context menu (right-click on selected terminal content).",
 		template: `\${userInput}
 Explain this terminal command:
 \`\`\`
@@ -141,6 +115,9 @@ Please provide:
 2. Explanation of each part/flag
 3. Expected output and behavior`,
 	},
+	NEW_TASK: {
+		template: `\${userInput}`,
+	},
 } as const
 
 type SupportPromptType = keyof typeof supportPromptConfigs
@@ -158,15 +135,6 @@ export const supportPrompt = {
 
 export type { SupportPromptType }
 
-// Expose labels and descriptions for UI
-export const supportPromptLabels = Object.fromEntries(
-	Object.entries(supportPromptConfigs).map(([key, config]) => [key, config.label]),
-) as Record<SupportPromptType, string>
-
-export const supportPromptDescriptions = Object.fromEntries(
-	Object.entries(supportPromptConfigs).map(([key, config]) => [key, config.description]),
-) as Record<SupportPromptType, string>
-
 export type CustomSupportPrompts = {
 	[key: string]: string | undefined
 }

+ 4 - 0
webview-ui/src/i18n/locales/ca/prompts.json

@@ -91,6 +91,10 @@
 			"TERMINAL_EXPLAIN": {
 				"label": "Explicar comanda del terminal",
 				"description": "Obtingueu explicacions detallades de les comandes del terminal i les seves sortides. Disponible al menú contextual del terminal (clic dret al contingut seleccionat del terminal)."
+			},
+			"NEW_TASK": {
+				"label": "Iniciar nova tasca",
+				"description": "Inicieu una nova tasca amb l'entrada proporcionada. Disponible a la paleta de comandes."
 			}
 		}
 	},

+ 4 - 0
webview-ui/src/i18n/locales/de/prompts.json

@@ -91,6 +91,10 @@
 			"TERMINAL_EXPLAIN": {
 				"label": "Terminal-Befehl erklären",
 				"description": "Erhalten Sie detaillierte Erklärungen zu Terminal-Befehlen und deren Ausgaben. Verfügbar im Kontextmenü des Terminals (Rechtsklick auf ausgewählten Terminal-Inhalt)."
+			},
+			"NEW_TASK": {
+				"label": "Neue Aufgabe starten",
+				"description": "Starte eine neue Aufgabe mit deiner Eingabe. Verfügbar in der Befehlspalette."
 			}
 		}
 	},

+ 4 - 0
webview-ui/src/i18n/locales/en/prompts.json

@@ -91,6 +91,10 @@
 			"TERMINAL_EXPLAIN": {
 				"label": "Explain Terminal Command",
 				"description": "Get detailed explanations of terminal commands and their outputs. Available in the terminal context menu (right-click on selected terminal content)."
+			},
+			"NEW_TASK": {
+				"label": "Start New Task",
+				"description": "Start a new task with user input. Available in the Command Palette."
 			}
 		}
 	},

+ 4 - 0
webview-ui/src/i18n/locales/es/prompts.json

@@ -91,6 +91,10 @@
 			"TERMINAL_EXPLAIN": {
 				"label": "Explicar comando de terminal",
 				"description": "Obtén explicaciones detalladas de comandos de terminal y sus salidas. Disponible en el menú contextual de la terminal (clic derecho en el contenido seleccionado de la terminal)."
+			},
+			"NEW_TASK": {
+				"label": "Iniciar nueva tarea",
+				"description": "Inicia una nueva tarea con entrada del usuario. Disponible en la Paleta de comandos."
 			}
 		}
 	},

+ 4 - 0
webview-ui/src/i18n/locales/fr/prompts.json

@@ -91,6 +91,10 @@
 			"TERMINAL_EXPLAIN": {
 				"label": "Expliquer la commande du terminal",
 				"description": "Obtenez des explications détaillées sur les commandes du terminal et leurs sorties. Disponible dans le menu contextuel du terminal (clic droit sur le contenu sélectionné du terminal)."
+			},
+			"NEW_TASK": {
+				"label": "Démarrer une nouvelle tâche",
+				"description": "Démarre une nouvelle tâche avec ton entrée. Disponible dans la palette de commandes."
 			}
 		}
 	},

+ 4 - 0
webview-ui/src/i18n/locales/hi/prompts.json

@@ -91,6 +91,10 @@
 			"TERMINAL_EXPLAIN": {
 				"label": "टर्मिनल कमांड समझाएँ",
 				"description": "टर्मिनल कमांड और उनके आउटपुट के विस्तृत स्पष्टीकरण प्राप्त करें। टर्मिनल के कंटेक्स्ट मेनू (चयनित टर्मिनल सामग्री पर राइट-क्लिक) में उपलब्ध है।"
+			},
+			"NEW_TASK": {
+				"label": "नया कार्य शुरू करें",
+				"description": "इनपुट के साथ नया कार्य शुरू करें। कमांड पैलेट में उपलब्ध है।"
 			}
 		}
 	},

+ 4 - 0
webview-ui/src/i18n/locales/it/prompts.json

@@ -91,6 +91,10 @@
 			"TERMINAL_EXPLAIN": {
 				"label": "Spiega comando del terminale",
 				"description": "Ottieni spiegazioni dettagliate sui comandi del terminale e sui loro output. Disponibile nel menu contestuale del terminale (clic destro sul contenuto selezionato del terminale)."
+			},
+			"NEW_TASK": {
+				"label": "Avvia nuova attività",
+				"description": "Avvia una nuova attività con il tuo input. Disponibile nella palette dei comandi."
 			}
 		}
 	},

+ 4 - 0
webview-ui/src/i18n/locales/ja/prompts.json

@@ -91,6 +91,10 @@
 			"TERMINAL_EXPLAIN": {
 				"label": "ターミナルコマンドを説明",
 				"description": "ターミナルコマンドとその出力の詳細な説明を得ることができます。ターミナルのコンテキストメニュー(選択したターミナルの内容で右クリック)から利用できます。"
+			},
+			"NEW_TASK": {
+				"label": "新しいタスクを開始",
+				"description": "入力内容で新しいタスクを開始できます。コマンドパレットから利用できます。"
 			}
 		}
 	},

+ 4 - 0
webview-ui/src/i18n/locales/ko/prompts.json

@@ -91,6 +91,10 @@
 			"TERMINAL_EXPLAIN": {
 				"label": "터미널 명령 설명",
 				"description": "터미널 명령과 그 출력에 대한 상세한 설명을 얻을 수 있습니다. 터미널 컨텍스트 메뉴(선택한 터미널 콘텐츠에서 우클릭)에서 이용 가능합니다."
+			},
+			"NEW_TASK": {
+				"label": "새 작업 시작",
+				"description": "입력한 내용으로 새 작업을 시작할 수 있습니다. 명령 팔레트에서 이용 가능합니다."
 			}
 		}
 	},

+ 4 - 0
webview-ui/src/i18n/locales/pl/prompts.json

@@ -91,6 +91,10 @@
 			"TERMINAL_EXPLAIN": {
 				"label": "Wyjaśnij polecenie terminala",
 				"description": "Uzyskaj szczegółowe wyjaśnienia poleceń terminala i ich wyników. Dostępne w menu kontekstowym terminala (prawy przycisk myszy na wybranej zawartości terminala)."
+			},
+			"NEW_TASK": {
+				"label": "Rozpocznij nowe zadanie",
+				"description": "Rozpocznij nowe zadanie z wprowadzonymi danymi. Dostępne w palecie poleceń."
 			}
 		}
 	},

+ 4 - 0
webview-ui/src/i18n/locales/pt-BR/prompts.json

@@ -91,6 +91,10 @@
 			"TERMINAL_EXPLAIN": {
 				"label": "Explicar Comando do Terminal",
 				"description": "Obtenha explicações detalhadas de comandos de terminal e suas saídas. Available in the terminal context menu (right-click on selected terminal content)."
+			},
+			"NEW_TASK": {
+				"label": "Iniciar Nova Tarefa",
+				"description": "Inicie uma nova tarefa com a entrada fornecida. Disponível na paleta de comandos."
 			}
 		}
 	},

+ 4 - 0
webview-ui/src/i18n/locales/tr/prompts.json

@@ -91,6 +91,10 @@
 			"TERMINAL_EXPLAIN": {
 				"label": "Terminal Komutunu Açıkla",
 				"description": "Terminal komutları ve çıktıları hakkında ayrıntılı açıklamalar alın. Terminal bağlam menüsünde (seçili terminal içeriğine sağ tıklayın) kullanılabilir."
+			},
+			"NEW_TASK": {
+				"label": "Yeni Görev Başlat",
+				"description": "Girdiyle yeni bir görev başlat. Komut paletinde kullanılabilir."
 			}
 		}
 	},

+ 4 - 0
webview-ui/src/i18n/locales/vi/prompts.json

@@ -91,6 +91,10 @@
 			"TERMINAL_EXPLAIN": {
 				"label": "Giải thích lệnh terminal",
 				"description": "Nhận giải thích chi tiết về lệnh terminal và đầu ra của chúng. Có sẵn trong menu ngữ cảnh terminal (nhấp chuột phải vào nội dung terminal đã chọn)."
+			},
+			"NEW_TASK": {
+				"label": "Bắt đầu tác vụ mới",
+				"description": "Bắt đầu tác vụ mới với nội dung đã nhập. Có sẵn trong bảng lệnh."
 			}
 		}
 	},

+ 4 - 0
webview-ui/src/i18n/locales/zh-CN/prompts.json

@@ -91,6 +91,10 @@
 			"TERMINAL_EXPLAIN": {
 				"label": "解释终端命令",
 				"description": "获取对终端命令及其输出的详细解释。可在终端上下文菜单(右键点击选中的终端内容)中使用。"
+			},
+			"NEW_TASK": {
+				"label": "开始新任务",
+				"description": "使用输入内容开始新任务。可在命令面板中使用。"
 			}
 		}
 	},

+ 4 - 0
webview-ui/src/i18n/locales/zh-TW/prompts.json

@@ -91,6 +91,10 @@
 			"TERMINAL_EXPLAIN": {
 				"label": "解釋終端命令",
 				"description": "獲取對終端命令及其輸出的詳細解釋。可在終端右鍵選單(右鍵點擊選中的終端內容)中使用。"
+			},
+			"NEW_TASK": {
+				"label": "開始新工作",
+				"description": "使用輸入內容開始新工作。可在命令選擇區中使用。"
 			}
 		}
 	},