{
  "title": "Agent Configuration",
  "subtitle": "Manage AI engine settings, system prompts, and allowed tools.",
  "loading": "Loading agent configuration...",
  "loadError": "Failed to load configuration. Using defaults.",
  "saveSuccess": "Configuration saved successfully.",
  "saveConfig": "Save Configuration",
  "resetDefaults": "Reset to Defaults",
  "engine": {
    "title": "Engine",
    "claudeCli": "Claude CLI",
    "claudeCliDesc": "Local Claude Code CLI process",
    "claudeApi": "Claude API",
    "claudeApiDesc": "Direct Anthropic API integration"
  },
  "systemPrompt": {
    "title": "System Prompt",
    "placeholder": "Enter the system prompt for the AI agent..."
  },
  "maxTurns": {
    "title": "Max Turns",
    "description": "Maximum number of conversation turns per session."
  },
  "maxBudget": {
    "title": "Max Budget (USD)",
    "description": "Maximum token cost per session."
  },
  "allowedTools": {
    "title": "Allowed Tools",
    "selectAll": "Select All",
    "deselectAll": "Deselect All",
    "tools": {
      "Bash": "Execute shell commands",
      "Read": "Read file contents",
      "Write": "Write / create files",
      "Edit": "Edit existing files",
      "Glob": "Search files by pattern",
      "Grep": "Search file contents",
      "WebFetch": "Fetch web content",
      "WebSearch": "Search the web",
      "NotebookEdit": "Edit Jupyter notebooks",
      "Task": "Launch sub-agent tasks"
    }
  },
  "sdk": {
    "title": "Agent SDK Configuration",
    "subtitle": "Configure Claude Agent SDK billing, approval flow, and tool permissions per tenant.",
    "loading": "Loading SDK configuration...",
    "loadError": "Failed to load configuration. Using defaults.",
    "billingMode": {
      "title": "Billing Mode",
      "subtitle": "Choose how Claude Agent SDK usage is billed for this tenant.",
      "subscription": "Subscription",
      "subscriptionDesc": "Use operator's Claude login (no API key needed)",
      "apiKey": "API Key",
      "apiKeyDesc": "Tenant's own Anthropic API key (token-based billing)"
    },
    "apiKey": {
      "label": "Anthropic API Key",
      "configured": "Key configured",
      "replacePlaceholder": "Enter new key to replace existing",
      "placeholder": "sk-ant-...",
      "remove": "Remove",
      "encryptionNote": "API key is encrypted (AES-256-GCM) before storage. Never stored in plaintext."
    },
    "approvalTimeout": {
      "title": "L2 Approval Timeout",
      "subtitle": "For high-risk commands (L2), how long to wait for manual approval before auto-approving. Set to 0 to disable auto-approve (wait indefinitely).",
      "unit": "sec",
      "autoApproveDisabled": "Auto-approve disabled — commands will wait for manual approval indefinitely.",
      "autoApproveAfter": "Commands auto-approved after {{seconds}} seconds without response."
    },
    "toolPermissions": {
      "title": "Tool Permissions",
      "subtitle": "Override tool access per tenant. Empty whitelist means use RBAC defaults. Blacklisted tools are always denied regardless of role.",
      "tool": "Tool",
      "description": "Description",
      "whitelist": "Whitelist",
      "blacklist": "Blacklist",
      "whitelistCount": "Whitelist: {{count}}",
      "whitelistNone": "Whitelist: none (use RBAC defaults)",
      "blacklistCount": "Blacklist: {{count}}",
      "blacklistNone": "Blacklist: none"
    },
    "rbac": {
      "title": "RBAC Tool Access (Reference)",
      "subtitle": "Default tool access per role (applied when whitelist is empty).",
      "admin": "Admin",
      "adminTools": "All tools (Bash, Read, Write, Edit, Glob, Grep, WebFetch, WebSearch, NotebookEdit, Task)",
      "operator": "Operator",
      "operatorTools": "Bash, Read, Write, Edit, Glob, Grep",
      "viewer": "Viewer",
      "viewerTools": "Read, Glob, Grep (read-only)"
    }
  },
  "skills": {
    "title": "Skills",
    "subtitle": "Manage Claude Code skills for the AI agent",
    "addSkill": "Add Skill",
    "editSkill": "Edit Skill",
    "deleteSkill": "Delete Skill",
    "loading": "Loading skills...",
    "loadError": "Failed to load skills:",
    "empty": "No skills configured yet.",
    "categories": {
      "inspection": "Inspection",
      "deployment": "Deployment",
      "maintenance": "Maintenance",
      "security": "Security",
      "monitoring": "Monitoring",
      "custom": "Custom"
    },
    "form": {
      "name": "Name",
      "description": "Description",
      "category": "Category",
      "script": "Script",
      "tags": "Tags",
      "enabled": "Enabled"
    },
    "detail": {
      "backToSkills": "Back to Skills",
      "overview": "Overview",
      "promptTemplate": "Prompt Template",
      "allowedTools": "Allowed Tools",
      "configuration": "Configuration",
      "quickActions": "Quick Actions",
      "metadata": "Metadata",
      "duplicateSkill": "Duplicate Skill",
      "deleteSkill": "Delete Skill",
      "builtIn": "Built-in",
      "custom": "Custom",
      "enabled": "Enabled",
      "disabled": "Disabled",
      "noPrompt": "No prompt template defined.",
      "noTools": "No tools configured.",
      "notFound": "Skill not found.",
      "loading": "Loading skill..."
    }
  },
  "hooks": {
    "title": "Hook Scripts",
    "subtitle": "Lifecycle scripts for agent tool execution",
    "addHook": "Add Hook",
    "editHook": "Edit Hook",
    "deleteHook": "Delete Hook",
    "loading": "Loading hooks...",
    "loadError": "Failed to load hooks:",
    "empty": "No hooks configured.",
    "infoBanner": "Hook scripts run before or after agent tool calls. Use them for logging, validation, or custom side-effects.",
    "table": {
      "name": "Name",
      "event": "Event",
      "toolPattern": "Tool Pattern",
      "script": "Script",
      "enabled": "Enabled",
      "actions": "Actions"
    },
    "form": {
      "name": "Name",
      "eventType": "Event Type",
      "toolPattern": "Tool Pattern",
      "script": "Script",
      "timeout": "Timeout",
      "enabled": "Enabled",
      "description": "Description"
    },
    "events": {
      "beforeTool": "Before Tool",
      "afterTool": "After Tool",
      "onError": "On Error",
      "onApproval": "On Approval"
    }
  }
}
