| 1 | import type { Translator } from "../lib/i18n"; |
| 2 | import { isShellToolName, isPowerShellToolName } from "../lib/shellToolIdentity"; |
| 3 | |
| 4 | export function approvalToolLabel(tool: string, t: Translator): string { |
| 5 | if (isPowerShellToolName(tool)) return "PowerShell"; |
| 6 | if (isShellToolName(tool)) return t("approval.toolLabelBash"); |
| 7 | switch (tool) { |
| 8 | case "bash": return t("approval.toolLabelBash"); |
| 9 | case "edit_file": return t("approval.toolLabelEditFile"); |
| 10 | case "write_file": return t("approval.toolLabelWriteFile"); |
| 11 | case "multi_edit": return t("approval.toolLabelMultiEdit"); |
| 12 | case "move_file": return t("approval.toolLabelMoveFile"); |
| 13 | case "web_fetch": return t("approval.toolLabelWebFetch"); |
| 14 | case "run_skill": return t("approval.toolLabelRunSkill"); |
| 15 | case "remember": return t("approval.toolLabelRemember"); |
| 16 | case "forget": return t("approval.toolLabelForget"); |
| 17 | case "sandbox_escape": return t("approval.toolLabelSandboxEscape"); |
| 18 | case "config_write": return t("approval.toolLabelConfigWrite"); |
| 19 | case "plan_mode_read_only_command": return t("approval.toolLabelPlanModeReadOnly"); |
| 20 | case "exit_plan_mode": return t("approval.toolLabelExitPlan"); |
| 21 | default: return tool; |
| 22 | } |
| 23 | } |
| 24 |