{
  "ai_assistant.agents.agentPickerLabel": "Agent",
  "ai_assistant.agents.attachments.noneBadge": "No attachments accepted",
  "ai_assistant.agents.attachments.subtitle": "Accepted media types the agent declares. Read-only in Phase 2.",
  "ai_assistant.agents.attachments.title": "Attachment policy",
  "ai_assistant.agents.empty.description": "Declare agents inside `packages/<module>/src/modules/<module>/ai-agents.ts`, run `yarn generate`, and ensure the caller holds the agent's required features.",
  "ai_assistant.agents.empty.docLabel": "See packages/ai-assistant/AGENTS.md for the agent definition reference.",
  "ai_assistant.agents.empty.title": "No AI agents are registered for your role yet.",
  "ai_assistant.agents.loadErrorTitle": "Failed to load AI agents",
  "ai_assistant.agents.loadingAgents": "Loading AI agents...",
  "ai_assistant.agents.loop_policy.clear": "Clear override",
  "ai_assistant.agents.loop_policy.clearedMessage": "Loop policy override cleared; agent is using its declared defaults.",
  "ai_assistant.agents.loop_policy.disabledBadge": "Loop disabled",
  "ai_assistant.agents.loop_policy.errorTitle": "Failed to update loop policy",
  "ai_assistant.agents.loop_policy.killSwitchDescription": "When enabled, the agent runs as a single model call with no tool loop.",
  "ai_assistant.agents.loop_policy.killSwitchLabel": "Kill switch",
  "ai_assistant.agents.loop_policy.loadErrorTitle": "Failed to load loop policy",
  "ai_assistant.agents.loop_policy.loading": "Loading loop policy...",
  "ai_assistant.agents.loop_policy.maxStepsLabel": "Max steps",
  "ai_assistant.agents.loop_policy.maxTokensLabel": "Max tokens",
  "ai_assistant.agents.loop_policy.maxToolCallsLabel": "Max tool calls",
  "ai_assistant.agents.loop_policy.maxWallClockMsLabel": "Max wall-clock (ms)",
  "ai_assistant.agents.loop_policy.noOverridePlaceholder": "No override",
  "ai_assistant.agents.loop_policy.save": "Save override",
  "ai_assistant.agents.loop_policy.savedMessage": "Loop policy override saved.",
  "ai_assistant.agents.loop_policy.savedTitle": "Loop policy updated",
  "ai_assistant.agents.loop_policy.subtitle": "Set per-tenant budget limits or disable the agentic loop for this agent.",
  "ai_assistant.agents.loop_policy.title": "Loop policy",
  "ai_assistant.agents.meta.executionMode": "Execution mode",
  "ai_assistant.agents.meta.id": "Agent id",
  "ai_assistant.agents.meta.maxSteps": "Max steps",
  "ai_assistant.agents.meta.module": "Module",
  "ai_assistant.agents.meta.mutationPolicy": "Mutation policy",
  "ai_assistant.agents.meta.readOnly": "Read-only",
  "ai_assistant.agents.meta.readOnlyNo": "No",
  "ai_assistant.agents.meta.readOnlyYes": "Yes",
  "ai_assistant.agents.meta.unlimited": "Unlimited",
  "ai_assistant.agents.model_override.allowlistCustom": "custom",
  "ai_assistant.agents.model_override.allowlistInherited": "inherited",
  "ai_assistant.agents.model_override.allowlistReset": "Inherit",
  "ai_assistant.agents.model_override.allowlistSave": "Save choices",
  "ai_assistant.agents.model_override.anyProvider": "first configured",
  "ai_assistant.agents.model_override.clear": "Clear override",
  "ai_assistant.agents.model_override.codeDefault": "Code-declared default",
  "ai_assistant.agents.model_override.defaultBadge": "default",
  "ai_assistant.agents.model_override.model": "Model",
  "ai_assistant.agents.model_override.noOverride": "No per-agent override",
  "ai_assistant.agents.model_override.provider": "Provider",
  "ai_assistant.agents.model_override.providerDefault": "provider default",
  "ai_assistant.agents.model_override.save": "Save override",
  "ai_assistant.agents.model_override.saved": "Model override saved.",
  "ai_assistant.agents.model_override.tenantOverride": "Tenant override",
  "ai_assistant.agents.model_override.title": "Provider and model",
  "ai_assistant.agents.mutation_policy.clear": "Clear override",
  "ai_assistant.agents.mutation_policy.clearedMessage": "Mutation policy override cleared; agent is using its code-declared policy.",
  "ai_assistant.agents.mutation_policy.codeDeclared": "Code-declared",
  "ai_assistant.agents.mutation_policy.codeDeclaredHint": "Compiled into the agent definition.",
  "ai_assistant.agents.mutation_policy.errorTitle": "Failed to update mutation policy",
  "ai_assistant.agents.mutation_policy.errors.escalationNotAllowed": "Cannot upgrade beyond the agent's declared policy — this is a code-level change.",
  "ai_assistant.agents.mutation_policy.escalationTooltip": "Cannot be set above the agent's declared policy — this is a code-level change.",
  "ai_assistant.agents.mutation_policy.loadErrorTitle": "Failed to load mutation policy",
  "ai_assistant.agents.mutation_policy.loading": "Loading mutation policy...",
  "ai_assistant.agents.mutation_policy.noOverride": "No override — using code-declared policy.",
  "ai_assistant.agents.mutation_policy.noticeBody": "Overrides can only make the policy more restrictive. Options more permissive than the code-declared policy are disabled and rejected server-side.",
  "ai_assistant.agents.mutation_policy.noticeTitle": "Downgrade only — escalation is a code change",
  "ai_assistant.agents.mutation_policy.options.confirm-required": "Writes allowed with per-action confirmation.",
  "ai_assistant.agents.mutation_policy.options.destructive-confirm-required": "Writes allowed; destructive ones require confirmation.",
  "ai_assistant.agents.mutation_policy.options.read-only": "No writes — agent cannot call mutation tools.",
  "ai_assistant.agents.mutation_policy.pickerLabel": "Mutation policy override",
  "ai_assistant.agents.mutation_policy.save": "Save override",
  "ai_assistant.agents.mutation_policy.savedMessage": "Mutation policy override saved.",
  "ai_assistant.agents.mutation_policy.savedTitle": "Mutation policy updated",
  "ai_assistant.agents.mutation_policy.subtitle": "Downgrade this agent's mutation capability per tenant. Upgrading beyond the code-declared policy is blocked by the server.",
  "ai_assistant.agents.mutation_policy.tenantOverride": "Tenant override",
  "ai_assistant.agents.mutation_policy.title": "Mutation policy",
  "ai_assistant.agents.navTitle": "AI Agents",
  "ai_assistant.agents.override.errorTitle": "Failed to save prompt override",
  "ai_assistant.agents.override.errors.reservedKey": "Prompt overrides cannot modify policy fields (mutationPolicy, readOnly, allowedTools, acceptedMediaTypes). Remove those sections and retry.",
  "ai_assistant.agents.override.history.empty": "No prompt overrides have been saved for this agent yet.",
  "ai_assistant.agents.override.history.errorTitle": "Failed to load override history",
  "ai_assistant.agents.override.history.loading": "Loading override history...",
  "ai_assistant.agents.override.history.sectionsLabel": "sections",
  "ai_assistant.agents.override.history.subtitle": "Newest first. Each save creates a new version scoped to the current tenant.",
  "ai_assistant.agents.override.history.title": "Prompt override history",
  "ai_assistant.agents.override.noticeBody": "Overrides append to the built-in sections — they never remove or replace shipped text. Saved versions are tenant-scoped and auditable from the history panel below.",
  "ai_assistant.agents.override.noticeTitle": "Prompt overrides are additive",
  "ai_assistant.agents.override.savedMessage": "Prompt override saved.",
  "ai_assistant.agents.override.savedTitle": "Prompt override saved",
  "ai_assistant.agents.override.versionLabel": "Version",
  "ai_assistant.agents.prompt.defaultModeLabel": "Default — shipped with the agent definition.",
  "ai_assistant.agents.prompt.defaultSectionPlaceholder": "No default copy declared for this section — the agent ships a single systemPrompt. Override to append additional text below the built-in content.",
  "ai_assistant.agents.prompt.errorTitle": "Failed to submit overrides",
  "ai_assistant.agents.prompt.fullSystemPromptLabel": "Full system prompt (default)",
  "ai_assistant.agents.prompt.noticeBody": "Overrides append to the built-in sections — they never remove or replace shipped text. Saved versions are tenant-scoped and auditable from the history panel below.",
  "ai_assistant.agents.prompt.noticeTitle": "Prompt overrides are additive",
  "ai_assistant.agents.prompt.overrideModeLabel": "Override mode — appends to the built-in section text.",
  "ai_assistant.agents.prompt.overridePlaceholder": "Write additional text for this section...",
  "ai_assistant.agents.prompt.pendingMessage": "Prompt overrides accepted.",
  "ai_assistant.agents.prompt.pendingTitle": "Overrides accepted",
  "ai_assistant.agents.prompt.save": "Save overrides",
  "ai_assistant.agents.prompt.sections.attachments": "Attachments",
  "ai_assistant.agents.prompt.sections.data": "Data",
  "ai_assistant.agents.prompt.sections.mutationPolicy": "Mutation policy",
  "ai_assistant.agents.prompt.sections.overrides": "Overrides",
  "ai_assistant.agents.prompt.sections.responseStyle": "Response style",
  "ai_assistant.agents.prompt.sections.role": "Role",
  "ai_assistant.agents.prompt.sections.scope": "Scope",
  "ai_assistant.agents.prompt.sections.tools": "Tools",
  "ai_assistant.agents.prompt.subtitle": "Toggle any section to write an additive override. Saving stores a new tenant-scoped version; built-in section text is always preserved.",
  "ai_assistant.agents.prompt.title": "Prompt sections",
  "ai_assistant.agents.prompt.toggleOverride": "Override",
  "ai_assistant.agents.refresh": "Refresh agents",
  "ai_assistant.agents.retry": "Retry",
  "ai_assistant.agents.subtitle": "Inspect every registered agent and manage tenant-scoped additive prompt-section overrides.",
  "ai_assistant.agents.title": "AI Agents",
  "ai_assistant.agents.tools.emptyBody": "This agent declares no tools in its allowedTools whitelist.",
  "ai_assistant.agents.tools.enabledLabel": "Enabled",
  "ai_assistant.agents.tools.missingBadge": "Missing",
  "ai_assistant.agents.tools.mutationBadge": "Mutation",
  "ai_assistant.agents.tools.readBadge": "Read",
  "ai_assistant.agents.tools.subtitle": "Read-only surface in Phase 2. Editing the per-tool toggle and mutation policy lands in Step 5.4 / Phase 3.",
  "ai_assistant.agents.tools.title": "Allowed tools",
  "ai_assistant.agents.tools.tooltipDisabled": "Editable after Phase 3 lands mutation policy controls.",
  "ai_assistant.allowlist.actions.clearStored": "Clear stored allowlist",
  "ai_assistant.allowlist.actions.reset": "Reset to env defaults",
  "ai_assistant.allowlist.actions.save": "Save allowlist",
  "ai_assistant.allowlist.badge.active": "Tenant rules active",
  "ai_assistant.allowlist.badge.envOnly": "Env-only",
  "ai_assistant.allowlist.clear.error": "Clear failed",
  "ai_assistant.allowlist.clear.success": "Tenant allowlist cleared. Env-only enforcement applies.",
  "ai_assistant.allowlist.envBanner.note": "Tenant picks may not widen the env list — values outside it are hidden.",
  "ai_assistant.allowlist.envBanner.providers": "OM_AI_AVAILABLE_PROVIDERS",
  "ai_assistant.allowlist.envBanner.title": "Env allowlist is in effect",
  "ai_assistant.allowlist.loadError.body": "Try refreshing the page.",
  "ai_assistant.allowlist.loadError.title": "Failed to load allowlist",
  "ai_assistant.allowlist.loading": "Loading allowlist…",
  "ai_assistant.allowlist.models.default": "default",
  "ai_assistant.allowlist.models.help": "Tick the models tenants may pick. Empty = no model restriction (inherit env).",
  "ai_assistant.allowlist.navTitle": "AI Allowlist",
  "ai_assistant.allowlist.providers.configured": "configured",
  "ai_assistant.allowlist.providers.empty": "No configured providers within the env allowlist.",
  "ai_assistant.allowlist.providers.help": "Untick to forbid the runtime from using a provider for this tenant. Tick all to inherit the env allowlist.",
  "ai_assistant.allowlist.providers.notConfigured": "not configured",
  "ai_assistant.allowlist.providers.title": "Providers",
  "ai_assistant.allowlist.save.error": "Save failed",
  "ai_assistant.allowlist.save.success": "Allowlist saved.",
  "ai_assistant.allowlist.subtitle": "Limit which providers and models the runtime, settings, and chat picker may use for this tenant. The env allowlist is the outer constraint — tenant picks narrow it further.",
  "ai_assistant.allowlist.title": "AI provider & model allowlist",
  "ai_assistant.chat.agentTasksTitle": "Tool calls",
  "ai_assistant.chat.assistantRoleLabel": "Assistant",
  "ai_assistant.chat.attachFile": "Attach file",
  "ai_assistant.chat.betaChip": "beta",
  "ai_assistant.chat.cancel": "Cancel streaming response",
  "ai_assistant.chat.composerLabel": "Message composer",
  "ai_assistant.chat.composerPlaceholder": "Message the AI agent...",
  "ai_assistant.chat.copied": "Copied",
  "ai_assistant.chat.copyMessage": "Copy message",
  "ai_assistant.chat.debug.lastRequestEmpty": "No request has been sent yet.",
  "ai_assistant.chat.debug.lastRequestSection": "Last request",
  "ai_assistant.chat.debug.lastResponseEmpty": "No response received yet.",
  "ai_assistant.chat.debug.lastResponseSection": "Last response",
  "ai_assistant.chat.debug.panelTitle": "Debug panel",
  "ai_assistant.chat.debug.promptDefault": "default",
  "ai_assistant.chat.debug.promptEmpty": "No prompt sections resolved for this agent.",
  "ai_assistant.chat.debug.promptOverride": "override",
  "ai_assistant.chat.debug.promptPlaceholder": "placeholder",
  "ai_assistant.chat.debug.promptSection": "Prompt sections",
  "ai_assistant.chat.debug.statusLabel": "Status:",
  "ai_assistant.chat.debug.toolMutation": "mutation",
  "ai_assistant.chat.debug.toolNoFeatures": "no required features",
  "ai_assistant.chat.debug.toolRead": "read",
  "ai_assistant.chat.debug.toolsEmpty": "No tools resolved for this agent yet.",
  "ai_assistant.chat.debug.toolsSection": "Resolved tools",
  "ai_assistant.chat.debugPanelTitle": "Debug panel",
  "ai_assistant.chat.describePlaceholder": "Describe what you want to do...",
  "ai_assistant.chat.dock.close": "Close AI dock",
  "ai_assistant.chat.dock.collapse": "Collapse AI dock",
  "ai_assistant.chat.dock.expand": "Expand AI dock",
  "ai_assistant.chat.downloadFile": "Download {name}",
  "ai_assistant.chat.emptyTranscript": "No messages yet. Ask the agent anything to get started.",
  "ai_assistant.chat.errorTitle": "Agent dispatch failed",
  "ai_assistant.chat.example.create": "Create a new product",
  "ai_assistant.chat.example.search": "Search for customers in New York",
  "ai_assistant.chat.example.show": "Show me recent orders",
  "ai_assistant.chat.idleExamples": "Examples:",
  "ai_assistant.chat.idleTitle": "Ask me anything or describe what you want to do.",
  "ai_assistant.chat.imagePreviewDialogDescription": "Image preview",
  "ai_assistant.chat.mutation_cards.confirmation.cancel": "Cancel",
  "ai_assistant.chat.mutation_cards.confirmation.defaultSummary": "Applying the requested changes...",
  "ai_assistant.chat.mutation_cards.confirmation.errorTitle": "Confirm failed",
  "ai_assistant.chat.mutation_cards.confirmation.invalidStatusBody": "This action has already been confirmed, cancelled, or executed.",
  "ai_assistant.chat.mutation_cards.confirmation.invalidStatusTitle": "Action already resolved",
  "ai_assistant.chat.mutation_cards.confirmation.schemaDriftBody": "The tool signature changed since this preview was generated. Ask the assistant to re-propose the change.",
  "ai_assistant.chat.mutation_cards.confirmation.schemaDriftTitle": "Schema changed",
  "ai_assistant.chat.mutation_cards.confirmation.staleVersionBody": "One or more records changed since this preview was generated. Ask the assistant to re-propose the change.",
  "ai_assistant.chat.mutation_cards.confirmation.staleVersionTitle": "Re-propose required",
  "ai_assistant.chat.mutation_cards.confirmation.title": "Applying action...",
  "ai_assistant.chat.mutation_cards.diff.afterHeader": "After",
  "ai_assistant.chat.mutation_cards.diff.beforeHeader": "Before",
  "ai_assistant.chat.mutation_cards.diff.empty": "No field changes for this record.",
  "ai_assistant.chat.mutation_cards.diff.fieldHeader": "Field",
  "ai_assistant.chat.mutation_cards.preview.batchRecords": "records",
  "ai_assistant.chat.mutation_cards.preview.batchSummary": "Batch update",
  "ai_assistant.chat.mutation_cards.preview.cancel": "Cancel",
  "ai_assistant.chat.mutation_cards.preview.confirm": "Confirm",
  "ai_assistant.chat.mutation_cards.preview.handlerError": "The mutation handler reported an error. Review the details and re-propose if needed.",
  "ai_assistant.chat.mutation_cards.preview.reviewDetails": "Review details",
  "ai_assistant.chat.mutation_cards.preview.title": "Review proposed changes",
  "ai_assistant.chat.mutation_cards.result.failureBody": "The mutation could not be applied.",
  "ai_assistant.chat.mutation_cards.result.failureTitle": "Action failed",
  "ai_assistant.chat.mutation_cards.result.fixWithAi": "Fix with AI",
  "ai_assistant.chat.mutation_cards.result.partialBody": "Some records could not be updated.",
  "ai_assistant.chat.mutation_cards.result.partialTitle": "Action applied with failures",
  "ai_assistant.chat.mutation_cards.result.successBody": "The mutation completed successfully.",
  "ai_assistant.chat.mutation_cards.result.successTitle": "Action applied",
  "ai_assistant.chat.mutation_cards.result.successWithCommand": "Completed",
  "ai_assistant.chat.mutation_cards.result.viewRecord": "View record",
  "ai_assistant.chat.newConversation": "Start new conversation",
  "ai_assistant.chat.ownerRoleLabel": "Owner",
  "ai_assistant.chat.pending_phase3.body": "This interactive card will land in Phase 3 of the unified AI framework.",
  "ai_assistant.chat.pending_phase3.title": "Mutation approval card pending",
  "ai_assistant.chat.placeholder": "Ask me anything...",
  "ai_assistant.chat.readOnlyNotice": "This is a shared conversation. You can read but not reply.",
  "ai_assistant.chat.reasoning": "Reasoning",
  "ai_assistant.chat.records.fields.amount": "Amount",
  "ai_assistant.chat.records.fields.category": "Category",
  "ai_assistant.chat.records.fields.close": "Close",
  "ai_assistant.chat.records.fields.company": "Company",
  "ai_assistant.chat.records.fields.completed": "Completed",
  "ai_assistant.chat.records.fields.contact": "Contact",
  "ai_assistant.chat.records.fields.due": "Due",
  "ai_assistant.chat.records.fields.email": "Email",
  "ai_assistant.chat.records.fields.industry": "Industry",
  "ai_assistant.chat.records.fields.location": "Location",
  "ai_assistant.chat.records.fields.owner": "Owner",
  "ai_assistant.chat.records.fields.phone": "Phone",
  "ai_assistant.chat.records.fields.price": "Price",
  "ai_assistant.chat.records.fields.related": "Related",
  "ai_assistant.chat.records.fields.sku": "SKU",
  "ai_assistant.chat.records.fields.stage": "Stage",
  "ai_assistant.chat.records.fields.title": "Title",
  "ai_assistant.chat.records.fields.type": "Type",
  "ai_assistant.chat.records.fields.website": "Website",
  "ai_assistant.chat.records.kinds.activity": "Activity",
  "ai_assistant.chat.records.kinds.company": "Company",
  "ai_assistant.chat.records.kinds.deal": "Deal",
  "ai_assistant.chat.records.kinds.person": "Person",
  "ai_assistant.chat.records.kinds.product": "Product",
  "ai_assistant.chat.records.openRecord": "Open record",
  "ai_assistant.chat.regionLabel": "AI chat",
  "ai_assistant.chat.removeFile": "Remove file",
  "ai_assistant.chat.send": "Send message",
  "ai_assistant.chat.sendWaitingForUpload": "Waiting for upload to finish…",
  "ai_assistant.chat.shortcutHint": "Press Cmd/Ctrl+Enter to send, Escape to cancel.",
  "ai_assistant.chat.shortcuts.cancelHint": "Press Escape to cancel.",
  "ai_assistant.chat.shortcuts.saveHint": "Press Cmd/Ctrl+Enter to save.",
  "ai_assistant.chat.shortcuts.submitHint": "Press Cmd/Ctrl+Enter to submit.",
  "ai_assistant.chat.tabs.close": "Close",
  "ai_assistant.chat.tabs.newSession": "New session",
  "ai_assistant.chat.tabs.noPreviousSessions": "No previous sessions yet.",
  "ai_assistant.chat.tabs.noSessions": "No sessions",
  "ai_assistant.chat.tabs.recentSessions": "Recent sessions",
  "ai_assistant.chat.tabs.rename": "Rename",
  "ai_assistant.chat.taskDone": "done",
  "ai_assistant.chat.taskFailed": "failed",
  "ai_assistant.chat.taskPending": "pending",
  "ai_assistant.chat.taskPlanTitle": "Plan",
  "ai_assistant.chat.taskRunning": "running…",
  "ai_assistant.chat.taskSkipped": "skipped",
  "ai_assistant.chat.thinking": "Thinking...",
  "ai_assistant.chat.toolDone": "done",
  "ai_assistant.chat.toolError": "failed",
  "ai_assistant.chat.toolInput": "Input",
  "ai_assistant.chat.toolOutput": "Output",
  "ai_assistant.chat.toolRunning": "running…",
  "ai_assistant.chat.transcriptLabel": "Chat transcript",
  "ai_assistant.chat.uiPartPending": "Pending UI part:",
  "ai_assistant.chat.userRoleLabel": "You",
  "ai_assistant.chat.welcomeTitle": "How can I help?",
  "ai_assistant.chat.zoomImage": "Open {name} preview",
  "ai_assistant.dock.bottom": "Dock Bottom",
  "ai_assistant.dock.close": "Close",
  "ai_assistant.dock.floating": "Floating",
  "ai_assistant.dock.left": "Dock Left",
  "ai_assistant.dock.minimize": "Minimize",
  "ai_assistant.dock.right": "Dock Right",
  "ai_assistant.launcher.composerPlaceholder": "Ask anything…",
  "ai_assistant.launcher.dialogTitle": "AI assistants",
  "ai_assistant.launcher.dock.subtitle": "AI assistant",
  "ai_assistant.launcher.empty": "No assistants match your search.",
  "ai_assistant.launcher.hint.close": "Close",
  "ai_assistant.launcher.hint.launch": "Launch",
  "ai_assistant.launcher.hint.navigate": "Navigate",
  "ai_assistant.launcher.searchPlaceholder": "Search assistants...",
  "ai_assistant.launcher.setup.body": "AI assistants are installed, but no provider key is configured. Set OM_AI_PROVIDER and one matching API key in your .env file, then restart the app.",
  "ai_assistant.launcher.setup.docs": "AI assistant docs",
  "ai_assistant.launcher.setup.settingsDocs": "Provider settings",
  "ai_assistant.launcher.setup.title": "Configure an AI provider to use assistants",
  "ai_assistant.launcher.sheet.dock": "Dock to side",
  "ai_assistant.launcher.triggerAriaLabel": "Open AI assistant",
  "ai_assistant.launcher.triggerLabel": "AI",
  "ai_assistant.launcher.welcome.suggestion1": "What can you help me with?",
  "ai_assistant.launcher.welcome.suggestion2": "Show what data you can access",
  "ai_assistant.launcher.welcome.suggestion3": "Suggest things to try",
  "ai_assistant.launcher.welcome.suggestion4": "How do I use this assistant?",
  "ai_assistant.launcher.writesBadge": "Can write",
  "ai_assistant.loop.disabledBanner.description": "The agentic loop has been disabled for this agent by a tenant administrator. Each turn runs as a single model call. To re-enable the loop, update the Loop policy in AI assistant settings.",
  "ai_assistant.loop.disabledBanner.title": "Agent loop disabled by tenant policy",
  "ai_assistant.mcp.apiKeyLabel": "API Key:",
  "ai_assistant.mcp.close": "Close",
  "ai_assistant.mcp.copied": "Copied!",
  "ai_assistant.mcp.copyConfig": "Copy Config",
  "ai_assistant.mcp.copyKey": "Copy Key",
  "ai_assistant.mcp.description": "Add this to your ~/.mcp.json file for Claude Code or other MCP clients.",
  "ai_assistant.mcp.error.failed": "Failed to generate API key",
  "ai_assistant.mcp.generateApiKey": "Generate API Key",
  "ai_assistant.mcp.generateNew": "Generate New",
  "ai_assistant.mcp.notGenerated": "Not generated",
  "ai_assistant.mcp.saveKeyWarning": "Save this key now - it won't be shown again!",
  "ai_assistant.mcp.title": "MCP Configuration",
  "ai_assistant.modelPicker.activeBadge": "active",
  "ai_assistant.modelPicker.defaultBadge": "default",
  "ai_assistant.modelPicker.defaultLabel": "Model: Default",
  "ai_assistant.modelPicker.defaultWithModelLabel": "Default: {{model}}",
  "ai_assistant.modelPicker.listAriaLabel": "Available models",
  "ai_assistant.modelPicker.triggerAriaLabel": "Select AI model",
  "ai_assistant.modelPicker.useDefault": "Use agent default",
  "ai_assistant.modelPicker.useDefaultWithModel": "Use agent default: {{model}}",
  "ai_assistant.notifications.conversation_shared.body": "An AI conversation has been shared with you.",
  "ai_assistant.notifications.conversation_shared.title": "Conversation shared with you",
  "ai_assistant.notifications.conversation_shared.view_button": "View Conversation",
  "ai_assistant.playground.agentPickerLabel": "Agent",
  "ai_assistant.playground.chat.notSupportedBody": "Pick an agent whose execution mode is \"chat\", or switch to the object-mode tab.",
  "ai_assistant.playground.chat.notSupportedTitle": "Chat mode is not available for this agent.",
  "ai_assistant.playground.debugToggle": "Debug panel",
  "ai_assistant.playground.empty.description": "Declare agents inside `packages/<module>/src/modules/<module>/ai-agents.ts`, run `yarn generate`, and ensure the caller holds the agent's required features.",
  "ai_assistant.playground.empty.docLabel": "See packages/ai-assistant/AGENTS.md for the agent definition reference.",
  "ai_assistant.playground.empty.title": "No AI agents are registered for your role yet.",
  "ai_assistant.playground.loadErrorTitle": "Failed to load AI agents",
  "ai_assistant.playground.loadingAgents": "Loading AI agents...",
  "ai_assistant.playground.meta.executionMode": "Execution mode",
  "ai_assistant.playground.meta.module": "Module",
  "ai_assistant.playground.meta.mutationPolicy": "Mutation policy",
  "ai_assistant.playground.meta.tools": "Allowed tools",
  "ai_assistant.playground.navTitle": "AI Playground",
  "ai_assistant.playground.object.debugTitle": "Last request payload",
  "ai_assistant.playground.object.errorTitle": "Object run failed",
  "ai_assistant.playground.object.finishReason": "Finish reason",
  "ai_assistant.playground.object.inputLabel": "Prompt",
  "ai_assistant.playground.object.inputPlaceholder": "Describe what the agent should produce...",
  "ai_assistant.playground.object.inputTokens": "Input tokens",
  "ai_assistant.playground.object.notSupportedBody": "This agent declares executionMode = \"chat\". Pick an object-mode agent to preview structured output, or switch to the chat tab.",
  "ai_assistant.playground.object.notSupportedTitle": "Object mode is not available for this agent.",
  "ai_assistant.playground.object.outputTokens": "Output tokens",
  "ai_assistant.playground.object.resultTitle": "Generated object",
  "ai_assistant.playground.object.run": "Run object",
  "ai_assistant.playground.object.shortcutHint": "Press Cmd/Ctrl+Enter to run.",
  "ai_assistant.playground.refresh": "Refresh agents",
  "ai_assistant.playground.resolution.baseUrl": "Base URL",
  "ai_assistant.playground.resolution.model": "Model",
  "ai_assistant.playground.resolution.none": "—",
  "ai_assistant.playground.resolution.provider": "Provider",
  "ai_assistant.playground.resolution.source": "Source",
  "ai_assistant.playground.retry": "Retry",
  "ai_assistant.playground.subtitle": "Exercise every registered AI agent end-to-end. Use the debug panel to inspect request and response payloads, and the object-mode tab to preview structured output.",
  "ai_assistant.playground.tabs.chat": "Chat",
  "ai_assistant.playground.tabs.object": "Object mode",
  "ai_assistant.playground.title": "AI Playground",
  "ai_assistant.session.close": "Close",
  "ai_assistant.session.copied": "Copied!",
  "ai_assistant.session.copy": "Copy",
  "ai_assistant.session.copyToSystemPrompt": "Copy this to your system prompt:",
  "ai_assistant.session.description": "Generate a temporary session token for programmatic LLM tool access.",
  "ai_assistant.session.error.failed": "Failed to generate session key",
  "ai_assistant.session.expires": "Expires:",
  "ai_assistant.session.expiresDefault": "2 hours from now",
  "ai_assistant.session.generateNew": "Generate New",
  "ai_assistant.session.generating": "Generating session key...",
  "ai_assistant.session.llmInstructions": "LLM Instructions",
  "ai_assistant.session.title": "Session API Key",
  "ai_assistant.session.tokenLabel": "Session Token",
  "ai_assistant.settings.agentIdColumn": "Agent",
  "ai_assistant.settings.agentOverridesDescription": "Resolved model for each registered agent. Agents with a custom override show a Clear button.",
  "ai_assistant.settings.agentOverridesTitle": "Per-agent model resolution",
  "ai_assistant.settings.clearAgentError": "Failed to clear agent override.",
  "ai_assistant.settings.clearAgentSuccess": "Agent override cleared.",
  "ai_assistant.settings.clearError": "Failed to clear override.",
  "ai_assistant.settings.clearOverride": "Clear override",
  "ai_assistant.settings.clearSuccess": "Default model override cleared.",
  "ai_assistant.settings.configured": "Configured",
  "ai_assistant.settings.connected": "Connected",
  "ai_assistant.settings.connecting": "Connecting...",
  "ai_assistant.settings.connectionsTitle": "Connections",
  "ai_assistant.settings.currentOverride": "Current override:",
  "ai_assistant.settings.defaultOverrideDescription": "Set a tenant-wide default provider and model. Agents with a per-agent override or specific defaultModel will take precedence.",
  "ai_assistant.settings.defaultOverrideTitle": "Default model override",
  "ai_assistant.settings.developerToolsTitle": "Developer Tools",
  "ai_assistant.settings.disconnected": "Disconnected",
  "ai_assistant.settings.envKeyConfigured": "{{key}} configured",
  "ai_assistant.settings.envKeyMissing": "{{key}} not set",
  "ai_assistant.settings.generateMcpConfig": "Generate MCP Config",
  "ai_assistant.settings.generateSessionKey": "Generate Session Key",
  "ai_assistant.settings.launchDescription": "Open the AI assistant from this page.",
  "ai_assistant.settings.llmProviderLabel": "LLM Provider:",
  "ai_assistant.settings.loading": "Loading settings...",
  "ai_assistant.settings.mcpAuthLabel": "MCP Authentication:",
  "ai_assistant.settings.mcpAuthNote": "Required for AI to access platform tools via MCP server.",
  "ai_assistant.settings.mcpConfigDescription": "Generate config for Claude Code or other MCP clients.",
  "ai_assistant.settings.mcpConfigTitle": "MCP Configuration",
  "ai_assistant.settings.mcpKeyConfigured": "MCP_SERVER_API_KEY configured",
  "ai_assistant.settings.mcpKeyMissing": "MCP_SERVER_API_KEY not set",
  "ai_assistant.settings.mcpToolsCount": "tools",
  "ai_assistant.settings.mcpToolsTitle": "MCP Tools",
  "ai_assistant.settings.meilisearchNote": "Meilisearch is required for API endpoint discovery. Endpoints are indexed automatically when the MCP server starts.",
  "ai_assistant.settings.modelColumn": "Model",
  "ai_assistant.settings.modelLabel": "Model",
  "ai_assistant.settings.notAvailable": "Not available",
  "ai_assistant.settings.notConfigured": "Not configured",
  "ai_assistant.settings.openButton": "Open AI Assistant",
  "ai_assistant.settings.openSelectorButton": "Open AI assistants",
  "ai_assistant.settings.pageDescription": "Configure and monitor the AI assistant",
  "ai_assistant.settings.pageTitle": "AI Assistant Settings",
  "ai_assistant.settings.providerColumn": "Provider",
  "ai_assistant.settings.providerLabel": "Provider",
  "ai_assistant.settings.saveError": "Failed to save override.",
  "ai_assistant.settings.saveOverride": "Save override",
  "ai_assistant.settings.saveSuccess": "Default model override saved.",
  "ai_assistant.settings.selectModel": "Select model",
  "ai_assistant.settings.selectProvider": "Select provider",
  "ai_assistant.settings.sessionKeyDescription": "Generate a temporary token for programmatic LLM access. Expires after 2 hours.",
  "ai_assistant.settings.sessionKeyTitle": "Session API Key",
  "ai_assistant.settings.sourceColumn": "Source",
  "ai_assistant.settings.visibilityDisabled": "Hidden from header. Enable to show the button and Cmd+J shortcut.",
  "ai_assistant.settings.visibilityEnabled": "Visible in header with Cmd+J shortcut enabled.",
  "ai_assistant.settings.visibilityTitle": "AI Assistant",
  "ai_assistant.settings.visibilityToggleLabel": "Visibility",
  "ai_assistant.share.addParticipant": "Add participant",
  "ai_assistant.share.allUsersAdded": "All users already added",
  "ai_assistant.share.dialogDescription": "Share this conversation with other users. They will get read-only access.",
  "ai_assistant.share.dialogTitle": "Share Conversation",
  "ai_assistant.share.noParticipants": "No participants yet. Add someone to share this conversation.",
  "ai_assistant.share.participantPlaceholder": "Search by user...",
  "ai_assistant.share.removeParticipant": "Remove",
  "ai_assistant.share.saved": "Saved",
  "ai_assistant.share.saving": "Saving...",
  "ai_assistant.share.selectUser": "Select a user...",
  "ai_assistant.share.shareButton": "Share",
  "ai_assistant.status.analyzing": "Analyzing request...",
  "ai_assistant.status.executing": "Executing tools...",
  "ai_assistant.status.responding": "Responding...",
  "ai_assistant.status.thinking": "Thinking...",
  "ai_assistant.status.working": "Working...",
  "ai_assistant.usage.apply": "Apply",
  "ai_assistant.usage.col.agent": "Agent",
  "ai_assistant.usage.col.day": "Day",
  "ai_assistant.usage.col.finishReason": "Finish",
  "ai_assistant.usage.col.inputTokens": "Input",
  "ai_assistant.usage.col.model": "Model",
  "ai_assistant.usage.col.outputTokens": "Output",
  "ai_assistant.usage.col.session": "Session",
  "ai_assistant.usage.col.sessions": "Sessions",
  "ai_assistant.usage.col.startedAt": "Started",
  "ai_assistant.usage.col.step": "Step",
  "ai_assistant.usage.col.steps": "Steps",
  "ai_assistant.usage.dailyBreakdown": "Daily breakdown",
  "ai_assistant.usage.error": "Failed to load usage data.",
  "ai_assistant.usage.errorDetail": "Failed to load session events.",
  "ai_assistant.usage.errorSessions": "Failed to load sessions.",
  "ai_assistant.usage.from": "From",
  "ai_assistant.usage.inputTokens": "Input tokens",
  "ai_assistant.usage.loading": "Loading usage data...",
  "ai_assistant.usage.loadingDetail": "Loading session events...",
  "ai_assistant.usage.loadingSessions": "Loading sessions...",
  "ai_assistant.usage.navTitle": "AI Usage",
  "ai_assistant.usage.next": "Next",
  "ai_assistant.usage.noSessions": "No sessions found for the selected period.",
  "ai_assistant.usage.outputTokens": "Output tokens",
  "ai_assistant.usage.prev": "Previous",
  "ai_assistant.usage.sessionDetail": "Session detail",
  "ai_assistant.usage.sessions": "Sessions",
  "ai_assistant.usage.sessionsList": "Sessions",
  "ai_assistant.usage.steps": "Steps",
  "ai_assistant.usage.title": "Token Usage Statistics",
  "ai_assistant.usage.to": "To"
}
