@burdenoff/microfe-vibecontrols 2026.623.3 → 2026.623.4
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.
- package/dist/components/agents/AgentForm.js +2 -2
- package/dist/components/agents/AgentForm.js.map +1 -1
- package/dist/components/shared/AgentSetupBanner.js +2 -2
- package/dist/components/shared/AgentSetupBanner.js.map +1 -1
- package/dist/components/shared/InstallTabs.js +17 -56
- package/dist/components/shared/InstallTabs.js.map +1 -1
- package/dist/pages/GettingStartedPage.js +130 -114
- package/dist/pages/GettingStartedPage.js.map +1 -1
- package/dist/translations/en.js +27 -52
- package/dist/translations/en.js.map +1 -1
- package/package.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"en.js","names":[],"sources":["../../src/translations/en.ts"],"sourcesContent":["/**\n * English fallback translations for microfe-vibecontrols.\n *\n * Keys use dot-notation (e.g., 'vibecontrols.actions.card.never') which the\n * I18nProvider resolves against this nested object structure.\n *\n * This file is the source of truth for all translation keys used in this MFE.\n * Register it with the host shell's AppShellProvider.fallbackTranslations\n * to enable offline/fallback support.\n */\nexport const enTranslations = {\n actions: {\n searchPlaceholder: 'Search actions...',\n tags: 'Tags',\n },\n agentDetails: {\n agentActions: 'Agent actions',\n agentApiKey: 'Agent API Key',\n agentApiKeyPlaceholder: 'sk-agent-...',\n agentNameRequired: 'Agent name is required',\n agentStarted: 'Agent started',\n agentStopped: 'Agent stopped',\n aiChat: 'AI Chat',\n aiContextInfoLabel: 'What is AI Context?',\n aliases: 'Aliases',\n apiAuthentication: 'API Authentication',\n appId: 'App ID',\n authExemptAnd: 'and',\n authExemptPrefix: 'The',\n authHeaderRecommended: 'Header (recommended)',\n authQueryParameter: 'URL query parameter',\n backToAgents: 'Back to Agents',\n backup: 'Backup',\n backupRequiresTunnelAndApiKey:\n 'Agent tunnel URL and API key are required for backup management.',\n capabilities: 'Capabilities',\n clientId: 'Client ID',\n clientSecretOneTimeDescription:\n \"This secret has been automatically sent to the agent. Save it now if you need it — it won't be shown again.\",\n clientSecretOneTimeTitle: 'Client Secret (one-time display)',\n configuration: 'Configuration',\n configurationUpdateFailed: 'Failed to update agent configuration',\n configurationUpdated: 'Agent configuration updated successfully',\n configure: 'Configure',\n configureConnectionInOverview: 'Configure the agent connection in the Overview tab.',\n configureDescription: 'Update this agent’s name, tunnel URL, AI context and metadata.',\n confirmUnlinkOauthApp:\n 'Remove the linked OAuth app from this agent? The app will still exist in auth-svc.',\n connection: 'Connection Log',\n copyApiKey: 'Copy API key',\n copyClientId: 'Copy Client ID',\n copyClientSecret: 'Copy client secret',\n createSessionDescription:\n 'Start a new terminal, tmux, SSH, script or custom session on this agent.',\n degradedBanner: {\n action:\n 'Health probes run every ~30s; the badge flips back to Active automatically once a probe succeeds. You can click Reconnect above to retry now, or check the Connection tab for the probe history.',\n title: 'Agent is degraded — auto-reconnecting in the background',\n viewLog: 'View log →',\n },\n deleteTarget: 'Delete the mapped target',\n deleteTargetDesc:\n 'Also delete the target this agent is mapped to. Any other agents on the same target are removed too. This cannot be undone.',\n dismissError: 'Dismiss error',\n failedLoad: 'Failed to load agent',\n failedSetupGatewayAuth: 'Failed to set up gateway auth',\n failedUnlinkApp: 'Failed to unlink app',\n gatewayAuthLinkedDescription:\n 'This agent can authenticate with the API gateway using Client Credentials.',\n gatewayAuthNoResultError: 'No result returned from setupAgentGatewayAuth',\n gatewayAuthSetupDescription:\n 'Set up gateway auth to allow this agent to communicate with the API gateways using OAuth2 Client Credentials. This creates an OAuth app, registers it in the Developer Portal, and pushes the credentials to the agent.',\n gatewayAuthTitle: 'Gateway Auth (OAuth2)',\n hideApiKey: 'Hide API key',\n hideClientSecret: 'Hide client secret',\n lifecycleFailed: 'Failed to {{action}} agent',\n hoursAgo: '{{count}}h ago',\n installFailed: 'Install failed',\n linkedToOauthApp: 'Linked to OAuth App',\n loadingDetails: 'Loading agent details...',\n maintenance: {\n args: 'Arguments (optional)',\n autoUpdate: 'Automatically install updates when idle (daily background check)',\n check: 'Check for updates',\n command: 'Command',\n commandsHint:\n 'Every agent command can be run here. Destructive commands ask for confirmation.',\n commandsTitle: 'Run a command',\n confirmCommandMsg: 'This command can change or destroy agent state: {{cmd}}',\n confirmCommandTitle: 'Run destructive command?',\n confirmNukeAllMsg: 'This wipes ALL state, plugins, secrets and config on the host.',\n confirmNukeDryTitle: 'Preview nuke?',\n confirmNukeStateMsg: 'This wipes this agent’s state and tracked binaries.',\n confirmNukeTitle: 'Nuke agent?',\n current: 'Current',\n dangerTitle: 'Danger zone',\n destructiveSuffix: '(destructive)',\n dismiss: 'Dismiss',\n dryRun: 'Dry run (preview only — nothing is deleted)',\n latest: 'Latest',\n loading: 'Loading…',\n nuke: 'Nuke',\n nukeAll: 'Nuke everything (--all)',\n nukeHint:\n '“Nuke state” wipes this agent’s data + tracked binaries. “Nuke everything” also removes all VibeControls plugins, secrets, and config across every profile on the host.',\n nukeState: 'Nuke state',\n outputDone: '{{title}} finished',\n outputFailed: '{{title}} finished with errors',\n preview: 'Preview',\n refresh: 'Refresh',\n run: 'Run',\n selectCommand: 'Select a command…',\n tab: 'Maintenance',\n update: 'Update',\n updateAvailable: 'update available',\n updateLatest: 'Update to latest',\n updateTitle: 'Agent version & updates',\n updateVersion: 'Update to version',\n versionLabel: 'Version',\n versionPlaceholder: 'e.g. 2026.601.21',\n },\n metadataJsonRequired: 'Metadata must be valid JSON',\n metadataLabel: 'Metadata (JSON)',\n minutesAgo: '{{count}}m ago',\n newSessionFor: 'New Session for',\n noAgent: 'Agent not loaded',\n noCapabilitiesConfigured: 'No capabilities configured',\n noHostnameConfigured: 'No hostname configured',\n noOauthAppLinked: 'No OAuth App Linked',\n noSessionsOnAgent: 'No sessions on this agent',\n noVibesUsingAgent: 'No vibes using this agent',\n notFound: 'Agent not found',\n notFoundDescriptionPrefix: 'No agent with ID',\n notFoundDescriptionSuffix: 'exists',\n pluginInstallFailed: 'Failed to install plugin',\n pluginRemoveFailed: 'Failed to remove plugin',\n pluginUpdateFailed: 'Failed to update plugin',\n plugins: 'Plugins',\n profiles: 'Profiles',\n reconnect: 'Reconnect',\n reconnecting: 'Reconnecting…',\n recovery: {\n hideKey: 'Hide API key',\n keyHint:\n 'If the agent’s API key changed and it can’t auto-report (gateway auth down), paste the value from `vibe key` on the host. It’s validated against the agent before saving — your sessions and data stay intact.',\n keyLabel: 'Agent API key',\n keySaved: 'API key validated and saved. The agent is reachable again.',\n keyTitle: 'Update API key (no re-add)',\n showKey: 'Show API key',\n urlHint:\n 'After a quick-tunnel rotation, paste the new URL here. The backend verifies it points at the same machine before saving — no re-registration, no data loss.',\n urlLabel: 'Tunnel URL',\n urlSaved: 'Tunnel URL verified and updated. The agent is back online.',\n urlTitle: 'Update tunnel URL (re-pair)',\n validateSave: 'Validate & save',\n verifyUpdate: 'Verify & update',\n },\n refreshPlugins: 'Refresh plugins',\n remoteFileTask: {\n description:\n 'Enable UI-triggered file_operation write/delete tasks on this agent. Reads are always allowed; this gate covers mutations only.',\n title: 'Allow remote file writes + deletes',\n warning:\n 'Writes and deletes are confined to the cwd / homedir / tmpdir allowlist via resolveSafePath + isSensitivePath, but a malicious caller could still corrupt files in those scopes.',\n },\n remoteShellTask: {\n description:\n 'Enable VibeDeck buttons, scheduled jobs, and the UI to run shell commands and scripts on this agent over its tunnel. Required for any UI-triggered \"execute action\" that runs a command.',\n title: 'Allow remote shell + script tasks',\n warning:\n 'Anyone with workspace access can execute commands on the host machine. Audit log records every invocation; reviewers can revert this flag at any time.',\n },\n remoteTaskPermissions: {\n loadFailed: 'Failed to load permissions',\n loading: 'Loading…',\n saveFailed: 'Failed to save permission',\n subtitle:\n 'These gates default to deny so an agent on a public tunnel can’t be coerced into shell execution. Toggle them on per-agent if you want VibeDeck buttons / scheduled jobs to run shell or file-mutation tasks here.',\n title: 'Remote Task Permissions',\n },\n removeAgentConfirm: 'Are you sure you want to remove agent \"{{name}}\"?',\n removeAgentMessage: 'Remove “{{name}}” from this workspace.',\n removeAgentTitle: 'Remove agent',\n removeFailed: 'Remove failed',\n removePluginConfirm: 'Remove plugin {{packageName}}?',\n removePluginTitle: 'Remove plugin',\n rename: 'Rename',\n renameInput: 'New agent name',\n renameTooltip: 'Rename this agent',\n repushCredentials: 'Re-push credentials',\n repushCredentialsTitle:\n 'Rotate the OAuth secret and push it to the agent. Use this if the agent shows degraded with \"boot state awaiting-config\".',\n revealLoading: 'Revealing\\\\u2026',\n saveConfiguration: 'Save Configuration',\n saveName: 'Save',\n saving: 'Saving...',\n searchPluginsPlaceholder: 'Search plugins by name, package, description, or tag...',\n security: 'Security',\n settingUp: 'Setting up...',\n setupGatewayAuth: 'Setup Gateway Auth',\n showApiKey: 'Show API key',\n showClientSecret: 'Show client secret',\n start: 'Start',\n starting: 'Starting…',\n stopping: 'Stopping…',\n storage: {\n adapterLabel: 'Adapter',\n adapterPh: 'Adapter (e.g. postgres, skalex)',\n connLabel: 'Connection string',\n connPh: 'Connection string (e.g. postgres://…)',\n currentAdapter: 'Current adapter',\n currentOptions: 'Custom options',\n default: 'default',\n hideConn: 'Hide connection string',\n hint: 'Point this agent at an existing same-workspace database so it reuses that data. Cross-workspace DBs won’t decrypt (per-workspace key), and two agents writing one DB concurrently can corrupt it — keep it single-writer.',\n none: 'none',\n nothing: 'Set an adapter, connection string, options, or path first.',\n optionsJson: 'Options must be valid JSON.',\n optionsLabel: 'Adapter options (JSON, optional)',\n optionsObject: 'Options must be a JSON object.',\n optionsPh: 'Raw adapter options as JSON (optional, overrides connection string)',\n pathLabel: 'Data path (optional)',\n pathPh: 'Data path (optional)',\n save: 'Save storage config',\n saved:\n 'Saved. The agent applies the new storage on its next setup/restart — re-pair or restart it to connect to the existing database.',\n set: 'set',\n showConn: 'Show connection string',\n title: 'Storage / reuse an existing database',\n },\n tabsAriaLabel: 'Agent tabs',\n tunnelUrl: 'Tunnel URL',\n tunnelUrlHint:\n 'The public URL for accessing this agent remotely. Auto-updates when gateway auth is configured.',\n tunnelUrlPlaceholder: 'https://xxx.trycloudflare.com',\n uninstallFromTarget: 'Uninstall agent from the target',\n uninstallFromTargetDesc:\n 'Also wipe all agent state + VibeControls plugins and uninstall the agent from the host machine. This cannot be undone.',\n unlinkApp: 'Unlink App',\n update: 'Update',\n updateFailed: 'Plugin update failed',\n updatePlugin: 'Update plugin (latest or a specific version)',\n updatePluginPrompt: 'Update {{packageName}} to which version? Leave blank for latest.',\n updatePluginTitle: 'Update plugin',\n updatePluginVersionLabel: 'Version',\n updatePluginVersionPlaceholder: 'latest',\n version: 'Version',\n viewInDeveloperPortal: 'View in Developer Portal',\n },\n agentGraph: {\n accessDeniedDescription: \"You don't have permission to access this page.\",\n accessDeniedTitle: 'Access Denied',\n countSummary: '{{targets}} targets, {{connections}} connections',\n failedLoad: 'Failed to load agent graph',\n failedRefresh: 'Failed to refresh agent graph',\n loading: 'Loading agent graph...',\n loadingPermissions: 'Loading permissions...',\n loadingScope: 'Applying selected scope...',\n meshCountSummary: '{{agents}} agents, {{links}} links',\n meshDescription:\n 'Visualize and manage the agent-to-agent mesh: deploy new agents, edit link permissions, and run requests across hops.',\n noAgentsConnected: 'No agents in the mesh',\n noAgentsDescription: 'Deploy an agent to start building your agent mesh topology.',\n noScopeAgentDescription:\n 'No agents match the selected scope. Clear the filter to view the full mesh.',\n noScopeResults: 'No results for this scope',\n noTargetsConnected: 'No targets connected',\n refreshing: 'Refreshing graph...',\n scopeAgentPrefix: 'Agent: {{name}}',\n scopeAll: 'All targets & agents',\n scopeAllAgents: 'All agents',\n scopeLabel: 'Scope:',\n scopeTargetPrefix: 'Target: {{name}}',\n },\n agents: {\n tags: 'Tags',\n },\n agentsLanding: {\n accessDenied: 'Access Denied',\n accessDeniedDesc: \"You don't have permission to access this page.\",\n loadingGraph: 'Loading agent graph...',\n loadingPermissions: 'Loading permissions...',\n tabAgents: 'Agents',\n tabGraph: 'Agent Graph',\n tabTargets: 'Targets',\n },\n agentsPage: {\n accessDeniedDescription:\n \"You don't have permission to view agents. Contact your workspace administrator for access.\",\n accessDeniedTitle: 'Access Denied',\n addAgent: 'Add Agent',\n addNewAgent: 'Add New Agent',\n addNewAgentDescription: 'Connect a running vibe agent to this workspace.',\n adding: 'Adding...',\n advancedOptions: 'Advanced options',\n agentActions: 'Agent actions',\n agentActionsMenu: 'Agent actions menu',\n agentApiKey: 'Agent API Key',\n agentApiKeyLabel: 'Agent API Key',\n agentApiKeyPlaceholder: 'sk-agent-...',\n apiAccess: 'API Access',\n apiKeyHint: 'Run',\n apiKeyHintSuffix: 'on the agent to get this. Changes on restart.',\n apiTunnelUrl: 'API / Tunnel URL',\n architecture: 'Architecture',\n back: 'Back',\n bulkDeleteConfirm: 'Are you sure you want to remove {{count}} agent(s)? This cannot be undone.',\n bulkDeleteTitle: 'Remove agents',\n cancel: 'Cancel',\n clearConnection: 'Clear Connection',\n close: 'Close',\n copied: 'Copied',\n copy: 'Copy',\n create: 'Create',\n createFirstTarget: 'Create first target',\n createNewTarget: 'Create a new target',\n deniedCreateTooltip: \"You don't have permission to create agents\",\n descriptionOnline: '{{active}} of {{total}} agents online',\n deselect: 'Deselect',\n deselectAll: 'Deselect All',\n detectedAgentInfo: 'Detected Agent Info',\n disconnect: 'Disconnect',\n disconnectActiveMessage:\n 'Mark {{name}} as offline and clear its tunnel connection? The agent process will not be stopped automatically — you may need to stop it manually on the host machine.',\n disconnectConfirm: 'Disconnect',\n disconnectOfflineMessage:\n 'Clear the stored tunnel connection for {{name}}? This will remove the tunnel URL and API key from this offline agent.',\n disconnectTitle: 'Disconnect Agent',\n editTunnel: 'Edit Tunnel',\n editTunnelDescription: 'Configure the cloudflared tunnel URL and API key for {{name}}.',\n editTunnelTitle: 'Edit Tunnel',\n emptyAdjustSearch: 'Try adjusting your search or filters',\n emptyNoAgentsConfigured: 'No agents configured',\n emptyNoAgentsDescription:\n 'Install the CLI agent on your machine, then add it here. You can create a target inline while adding the agent.',\n emptyNoAgentsFound: 'No agents found',\n failedLoad: 'Failed to load agents',\n filterPlatform: 'Platform',\n filterStatus: 'Status',\n filterTag: 'Tag',\n gridViewTitle: 'Grid view',\n healthCheck: 'Health Check',\n hideApiKey: 'Hide API key',\n inlineTargetFailed: 'Failed to create target. Please try again.',\n installHint:\n 'After running vibe start, copy the printed tunnel URL and API key into the fields above.',\n installInstructions: 'Agent Install Instructions',\n installStep1: '1. Install the agent CLI',\n installStep2: '2. Start the agent',\n installStep3: '3. Get the API key',\n installStep4: '4. Start the tunnel',\n justNow: 'Just now',\n listViewTitle: 'List view',\n loadingAgents: 'Loading agents...',\n loadingPermissions: 'Loading permissions...',\n loadingTargets: 'Loading targets...',\n name: 'Name',\n nameHint:\n \"How this agent shows up in the UI. Defaults to the target's name (or the machine's hostname after Validate) — leave blank to accept the autogen.\",\n namePlaceholderUpfront: 'My laptop, prod jump-host, …',\n never: 'Never',\n newDirectTarget: 'New target (Direct — you can change the type later)',\n nextValidate: 'Next: Validate',\n noTargetsInlinePrompt:\n \"You don't have any targets yet. Create one now to install this agent on it.\",\n platform: 'Platform',\n platformAll: 'All Platforms',\n platformLinux: 'Linux',\n platformMac: 'macOS',\n platformWindows: 'Windows',\n profileName: 'Profile name',\n profileNameHint:\n 'Each profile runs an isolated CLI on the daemon. Leave as \"default\" unless you want this agent to host multiple parallel profiles.',\n reconnectAgent: 'Reconnect',\n refreshTitle: 'Refresh agents',\n refreshing: '(refreshing...)',\n remove: 'Remove',\n retryValidation: 'Retry validation',\n save: 'Save',\n saving: 'Saving...',\n searchPlaceholder: 'Search agents...',\n searchTargets: 'Search targets...',\n selectAgent: 'Select {{name}}',\n selectAll: 'Select All',\n selectTarget: 'Select a target...',\n selectedCount: '{{count}} agents selected',\n settings: 'Settings',\n setupGuide: 'Setup guide',\n showApiKey: 'Show API key',\n showingResults: 'Showing {{filtered}} of {{total}} agents',\n startAgent: 'Start Agent',\n statusActive: 'Active',\n statusAll: 'All Statuses',\n statusOffline: 'Offline',\n statusStopped: 'Stopped',\n stepSetup: 'Setup',\n stepValidate: 'Validate',\n stopAgent: 'Stop Agent',\n target: 'Target',\n targetDescription: 'The target machine this agent will be installed on.',\n targetName: 'Target name',\n title: 'Agents',\n tryDifferentAgent: 'Try Different Agent',\n tunnelOpensInNewTab: '{{url}} (opens in new tab)',\n tunnelUrlHint:\n 'Leave empty to clear. Agents with auto-tunnel report this automatically on startup.',\n tunnelUrlLabel: 'Tunnel URL',\n tunnelUrlPlaceholder: 'https://example.trycloudflare.com',\n },\n ai: {\n config: 'Config',\n connectivity: {\n installCommandLabel: 'Install command',\n manageAgents: 'Manage agents',\n probing: 'Checking agent connection…',\n retry: 'Retry connection',\n },\n contexts: 'Contexts',\n goToAgents: 'Go to Agents',\n noActiveAgent: 'No active agent available',\n overview: 'Overview',\n playground: 'Playground',\n prompts: 'Prompts',\n stats: 'Stats',\n tasks: 'Tasks',\n templates: 'Templates',\n },\n analytics: {\n architecture: 'Architecture',\n entityTabs: 'Analytics sections',\n exportCsv: 'Export CSV',\n exportCsvTitle: 'Export current tab as CSV',\n platform: 'Platform',\n print: 'Print',\n printTitle: 'Print this report',\n },\n analyticsPage: {\n retry: 'Retry',\n transientHint:\n 'This is usually brief — please wait a moment and retry. Other VibeControls features are unaffected.',\n transientUnavailable: 'Analytics is temporarily unavailable',\n },\n audit: {\n action: 'Action',\n actionArchive: 'Archive',\n actionCreate: 'Create',\n actionDelete: 'Delete',\n actionExecute: 'Execute',\n actionExport: 'Export',\n actionRestore: 'Restore',\n actionRevoke: 'Revoke',\n actionShare: 'Share',\n actionUpdate: 'Update',\n actions: 'Actions',\n actor: 'Actor',\n allActions: 'All Actions',\n allResources: 'All Resources',\n allStatuses: 'All Statuses',\n clearSessionScope: 'Clear',\n commandsOnly: 'Commands only',\n deleteAuditLog: 'Delete audit log',\n deleteFailed: 'Failed to delete audit log. Please try again.',\n description: 'Comprehensive audit trail of all VibeControls operations',\n emptyDescription: 'Audit logs will appear here as operations are performed in VibeControls.',\n export: 'Export',\n exportCsv: 'Export as CSV',\n exportJson: 'Export as JSON',\n exportOptions: 'Export options',\n exporting: 'Exporting…',\n loadingLogs: 'Loading audit logs...',\n loadingPermissions: 'Loading permissions...',\n name: 'Name',\n next: 'Next',\n noLogs: 'No audit logs',\n of: 'of',\n page: 'Page',\n previous: 'Previous',\n resource: 'Resource',\n resourceAgent: 'Agent',\n resourceAgentConnection: 'Agent Connection',\n resourceAiToolEvent: 'AI Tool Event',\n resourceAuditLog: 'Audit Log',\n resourceCalendarTask: 'Calendar Task',\n resourceConfiguration: 'Configuration',\n resourceDeckButton: 'Deck Button',\n resourceNote: 'Note',\n resourceSession: 'Session',\n resourceSessionShare: 'Session Share',\n resourceShareLink: 'Share Link',\n resourceTarget: 'Target',\n resourceUiSession: 'UI Session',\n resourceVibe: 'Vibe',\n resourceVibeDeck: 'Vibe Deck',\n resourceWebhook: 'Webhook',\n searchPlaceholder: 'Search audit logs...',\n sessionScopeBanner: 'Showing activity for session',\n showOnlyThisSession: \"Show only this session's activity\",\n showing: 'Showing',\n status: 'Status',\n statusDenied: 'Denied',\n statusError: 'Error',\n statusFailure: 'Failure',\n statusSuccess: 'Success',\n time: 'Time',\n viewAuditLog: 'View details',\n },\n breadcrumbs: {\n targets: 'Targets',\n targetsAgents: 'Targets & Agents',\n },\n calendar: {\n accessDeniedDescription: \"You don't have permission to view the Calendar.\",\n calendarTaskExecuteDenied:\n 'You do not have permission to run calendar tasks (calendar-agent-task:execute).',\n couldNotLoadEvents: \"Could not load events. We'll keep trying — you can retry below.\",\n description: 'Schedule and manage tasks across your agents',\n empty: {\n cta: 'Schedule your first task',\n description: 'Schedule your first task to start automating actions across your agents.',\n title: 'No scheduled tasks yet',\n },\n failedLoad: 'Failed to load calendar data',\n loadingPermissions: 'Loading permissions...',\n retry: 'Retry',\n scheduleExecuteDenied: 'You do not have permission to run scheduled jobs (schedule:execute).',\n triggerFailedFallback: 'Failed to trigger task. Try again or contact support.',\n },\n catalog: {\n addComponent: 'Add Component',\n addComponentTitle: 'Add Component to Catalog',\n allVisibility: 'All Visibility',\n backToCatalogs: 'Back to Catalogs',\n componentAdded: 'Component added to catalog',\n components: 'Components',\n componentsInCatalog: 'components in this catalog',\n createCatalog: 'Create Catalog',\n createdSuccess: 'Catalog created successfully',\n dangerZone: 'Danger Zone',\n deleteCatalog: 'Delete Catalog',\n deleteWarning:\n 'Deleting this catalog will detach all components and vibes. This cannot be undone.',\n dependencyGraph: 'Dependency Graph',\n description: '{{total}} catalogs',\n descriptionLabel: 'Description',\n descriptionPlaceholder: 'Describe this catalog...',\n docs: 'Docs',\n downloadSBOM: 'Download JSON',\n editCatalog: 'Edit Catalog',\n editDetails: 'Edit Details',\n emptyAdjustSearch: 'Try adjusting your search or filters',\n emptyCreate: 'Create your first catalog to organize components',\n emptyNoCatalogs: 'No catalogs yet',\n emptyNoResults: 'No catalogs found',\n failedCreate: 'Failed to create catalog',\n failedLoad: 'Failed to load catalog',\n failedSave: 'Failed to save catalog',\n fillRequired: 'Please fill in all required fields',\n filterVisibility: 'Visibility',\n graphEdges: 'Dependencies',\n graphEdgesList: 'Dependencies',\n graphError: 'Failed to load graph',\n graphNodes: 'Components',\n graphNodesList: 'Components',\n loading: 'Loading catalogs...',\n loadingDetails: 'Loading catalog details...',\n loadingGraph: 'Loading dependency graph...',\n loadingSBOM: 'Generating SBOM...',\n metadata: 'Metadata',\n nameLabel: 'Name *',\n namePlaceholder: 'My Catalog',\n nameRequired: 'Name is required',\n noAvailableComponents: 'No available components to add',\n noComponents: 'No components',\n noComponentsDescription: 'Add components to this catalog to track them',\n noDescription: 'No description',\n noGraphNodes: 'No dependency data',\n noGraphNodesDesc: 'Add components to this catalog to visualize the dependency graph',\n noSBOMEntries: 'No SBOM entries',\n notFound: 'Catalog not found',\n ownerLabel: 'Owner',\n ownerName: 'Owner',\n ownerNameLabel: 'Owner',\n ownerPlaceholder: 'team-name',\n sbom: 'SBOM',\n sbomEntries: 'Entries',\n sbomError: 'Failed to load SBOM',\n sbomFormat: 'Format',\n sbomGenerated: 'Generated',\n sbomLicense: 'License',\n sbomName: 'Name',\n sbomSupplier: 'Supplier',\n sbomType: 'Type',\n sbomVersion: 'Version',\n scorecard: 'Scorecard',\n searchComponents: 'Search components...',\n searchPlaceholder: 'Search catalogs...',\n share: 'Share',\n showingResults: 'Showing {{filtered}} of {{total}} catalogs',\n tabsAriaLabel: 'Catalog tabs',\n tags: 'Tags',\n tagsLabel: 'Tags (comma-separated)',\n tagsPlaceholder: 'frontend, microservice, api',\n title: 'Catalogs',\n updatedSuccess: 'Catalog updated successfully',\n vibes: 'Vibes',\n visibility: 'Visibility',\n visibilityInternal: 'Internal',\n visibilityLabel: 'Visibility',\n visibilityPrivate: 'Private',\n visibilityPublic: 'Public',\n },\n catalogDocs: {\n backToCatalog: 'Back to Catalog',\n failedLoad: 'Failed to load docs',\n failedLoadDocs: 'Failed to load documentation',\n goToCatalog: 'Go to Catalog Details',\n loading: 'Loading documentation...',\n },\n common: {\n accessDeniedDescription: \"You don't have permission to access this resource.\",\n accessDeniedTitle: 'Access Denied',\n archive: 'Archive',\n back: 'Back',\n cancel: 'Cancel',\n close: 'Close',\n created: 'Created',\n delete: 'Delete',\n dismiss: 'Dismiss',\n edit: 'Edit',\n error: 'Error',\n exitFullscreen: 'Exit fullscreen',\n fullscreen: 'Fullscreen',\n hide: 'Hide',\n loadMore: 'Load more',\n loading: 'Loading...',\n moreActions: 'More actions',\n notAvailable: 'Not available',\n refresh: 'Refresh',\n refreshing: '(refreshing...)',\n retry: 'Retry',\n save: 'Save',\n saved: 'Saved!',\n saving: 'Saving...',\n settings: 'Settings',\n show: 'Show',\n unset: 'Unset',\n updated: 'Updated',\n },\n component: {\n addToCatalog: 'Add to Catalog',\n allLifecycles: 'All Lifecycles',\n allTypes: 'All Types',\n backToComponents: 'Back to Components',\n catalogs: 'Catalogs',\n catalogsContaining: 'catalogs containing this component',\n createComponent: 'Create Component',\n createdSuccess: 'Component created successfully',\n dangerZone: 'Danger Zone',\n deleteComponent: 'Delete Component',\n deleteWarning:\n 'Deleting this component will remove it from all catalogs and break any templates derived from it. This cannot be undone.',\n dependencies: 'Dependencies',\n description: '{{total}} components',\n descriptionEmpty:\n 'Track every service, frontend, library, and API in your system — dependencies, owners, and lifecycle in one place',\n descriptionLabel: 'Description',\n descriptionPlaceholder: 'Describe this component...',\n docs: 'Docs',\n editComponent: 'Edit Component',\n editDetails: 'Edit Details',\n emptyAdjustSearch: 'Try adjusting your search or filters',\n emptyCreate:\n 'A component is any piece of software in your system — a backend service, a frontend app, a shared library, an API. Register one to start tracking its dependencies, owner, and lifecycle stage.',\n emptyNoComponents: 'No components yet',\n emptyNoResults: 'No components found',\n failedCreate: 'Failed to create component',\n failedLoad: 'Failed to load component',\n failedPublish: 'Failed to publish',\n failedSave: 'Failed to save component',\n fillRequired: 'Please fill in all required fields',\n filterLifecycle: 'Lifecycle',\n filterType: 'Type',\n frameworkLabel: 'Framework',\n frameworkPlaceholder: 'React',\n languageLabel: 'Language',\n languagePlaceholder: 'TypeScript',\n lifecycle: 'Lifecycle',\n lifecycleActive: 'Active',\n lifecycleDeprecated: 'Deprecated',\n lifecycleEndOfLife: 'End of Life',\n lifecycleExperimental: 'Experimental',\n lifecycleLabel: 'Lifecycle',\n lifecycleProduction: 'Production',\n loading: 'Loading components...',\n loadingDetails: 'Loading component details...',\n metadata: 'Metadata',\n nameLabel: 'Name *',\n namePlaceholder: 'my-service',\n nameRequired: 'Name is required',\n noCatalogs: 'Not in any catalogs',\n noCatalogsDescription: 'This component has not been added to any catalogs yet',\n noDescription: 'No description',\n notFound: 'Component not found',\n ownerLabel: 'Owner',\n ownerNameLabel: 'Owner',\n ownerPlaceholder: 'team-name',\n publishAsTemplate: 'Publish as Template',\n publishDescription:\n 'Turn this component into a reusable template. Others can clone it and fill in configuration variables to create new components.',\n publishedAsTemplate: 'Published as template successfully',\n repository: 'Repository',\n scorecard: 'Scorecard',\n searchPlaceholder: 'Search components...',\n share: 'Share',\n showingResults: 'Showing {{filtered}} of {{total}} components',\n tabsAriaLabel: 'Component tabs',\n tags: 'Tags',\n tagsLabel: 'Tags (comma-separated)',\n tagsPlaceholder: 'backend, api, graphql',\n template: 'Template',\n title: 'Components',\n type: 'Type',\n typeApi: 'API',\n typeCustom: 'Custom',\n typeDatabase: 'Database',\n typeFrontend: 'Frontend',\n typeInfrastructure: 'Infrastructure',\n typeLabel: 'Type',\n typeLibrary: 'Library',\n typeMobile: 'Mobile',\n typeService: 'Service',\n updatedSuccess: 'Component updated successfully',\n version: 'Version',\n versionLabel: 'Version',\n versionPlaceholder: '1.0.0',\n viewTemplate: 'View Template',\n },\n componentDocs: {\n backToComponent: 'Back to Component',\n failedLoad: 'Failed to load docs',\n failedLoadDocs: 'Failed to load documentation',\n goToComponent: 'Go to Component Details',\n loading: 'Loading documentation...',\n },\n connectionLog: {\n copied: 'Copied',\n copyJson: 'Copy JSON',\n copyText: 'Copy log as text',\n exportJson: 'Export .json',\n exportTxt: 'Export .txt',\n moreActions: 'More log actions',\n refresh: 'Refresh connection log',\n },\n connectionPermissionsDialog: {\n cancel: 'Cancel',\n noPermissions: 'No permissions configured',\n noScopes: 'No scopes configured',\n permissions: 'Permissions',\n save: 'Save Permissions',\n scopes: 'Scopes',\n title: 'Connection Permissions',\n },\n gettingStarted: {\n addAgent: 'Add Agent',\n cliNpmLatest: '@vibecontrols/cli (latest)',\n cliNpmPackage: 'CLI npm package',\n cliQuickRef: 'CLI Quick Reference',\n cliTab: 'CLI Reference',\n cmdAgentsList: 'List registered agents',\n cmdAiPrompts: 'List prompt templates',\n cmdAuthLogin: 'Sign in with OAuth2 Device Code',\n cmdAuthLogout: 'Sign out of the CLI',\n cmdAuthWhoami: 'Show the active signed-in identity',\n cmdAutostartInstall: 'Auto-start on reboot',\n cmdAutostartStatus: 'Check autostart status',\n cmdBillingSubscriptions: 'List billing subscriptions',\n cmdConfig: 'Show all config',\n cmdDevportalApps: 'List published Developer Portal apps',\n cmdFeatureFlagsList: 'List product feature flags',\n cmdHealth: 'Health check',\n cmdHealthCheck: 'Run platform health checks',\n cmdInfo: 'Version & system info',\n cmdKey: 'Show API key',\n cmdLogs: 'Follow agent logs',\n cmdPluginCreate: 'Scaffold a new plugin',\n cmdPluginList: 'List installed plugins',\n cmdRbacCheck: 'Check RBAC access',\n cmdSessionCreate: 'Create a session',\n cmdSessionList: 'List sessions',\n cmdSessionsList: 'List workspace sessions',\n cmdStatus: 'Show agent status',\n cmdStop: 'Stop the agent',\n cmdTagsCreate: 'Create a workspace tag',\n cmdTunnelAgent: 'Show tunnel status',\n cmdTunnelList: 'List all tunnels',\n cmdTunnelStart: 'Expose port 8080',\n cmdUrl: 'Show active URL (tunnel or local)',\n cmdVibesList: 'List VibeControls vibes',\n cmdWorkspaceSet: 'Choose the workspace context',\n description: 'Install and configure the VibeControls Agent CLI',\n installAgent: 'Install the Agent',\n installAgentDesc:\n 'Run a single command on the machine you want to manage. The recommended curl script installs bun (pinned) and the agent automatically — no other prerequisites.',\n installTab: 'Install',\n nextStep1Prefix: 'Start the agent:',\n nextStep1Suffix: 'to authenticate the CLI before running workspace commands.',\n nextStep2And: 'and',\n nextStep2Prefix: 'Grab your tunnel URL and API key:',\n nextStep3Prefix: 'In this UI, go to',\n nextStep3Suffix: ', pick or create a target, and paste the URL and key from step 2.',\n nextSteps: 'Next steps',\n npmLatest: '@vibecontrols/agent (latest)',\n npmPackage: 'npm package',\n pinVersion: 'Pin a specific agent version (optional)',\n pinVersionPlaceholder: 'e.g. 2026.408.1 (leave blank for latest)',\n targetsAndAgents: 'Targets & Agents',\n title: 'Getting Started',\n },\n gitops: {\n addProvider: 'Add Provider',\n ci: 'CI Pipelines',\n gitUI: 'Git UI',\n loadingProviders: 'Loading GitOps providers...',\n provider: 'Provider',\n refresh: 'Refresh',\n repoStats: 'Repo Stats',\n startUngit: 'Start Ungit',\n startingUngit: 'Starting...',\n ungitNote: 'Visual git client powered by Ungit plugin on the agent.',\n },\n health: {\n active: 'active',\n agentHealth: 'Agent Health',\n agents: 'Agents',\n allSystemsOperational: 'All Systems Operational',\n autoRefresh: 'Auto-refresh',\n autoRefreshInterval: 'Auto-refresh every 30s',\n cpu: 'CPU',\n healthy: 'healthy',\n hoursAgo: 'h ago',\n justNow: 'Just now',\n lastChecked: 'Last checked',\n lastHeartbeat: 'Last Heartbeat',\n lastUpdated: 'Last updated',\n majorSystemOutage: 'Major System Outage',\n memory: 'Memory',\n minutesAgo: 'm ago',\n never: 'Never',\n noAgentsRegistered: 'No agents registered',\n noSessions: 'No sessions',\n noVibes: 'No vibes',\n partialSystemOutage: 'Partial System Outage',\n running: 'running',\n sessionStatus: 'Session Status',\n sessions: 'Sessions',\n statusUnknown: 'Status Unknown',\n systemOffline: 'System Offline',\n systemStatus: 'System',\n targets: 'Targets',\n tunnel: 'Tunnel',\n uptime: 'Uptime',\n vibeStatus: 'Vibe Status',\n vibes: 'Vibes',\n },\n logs: {\n agentLabel: 'Agent:',\n clear: 'Clear',\n connectToAgent: 'Connect to an agent to view logs',\n description: 'Gateway-proxied log streaming from your agents',\n disconnected: 'Disconnected',\n entries: 'entries',\n export: 'Export',\n fetchFailed: 'Failed to fetch logs',\n filterLogs: 'Filter logs...',\n levelFilter: 'Log level filter',\n live: 'Live',\n loadingAgents: 'Loading agents...',\n noAgentSelected: 'Select an agent to view logs',\n noAgentSelectedDescription:\n 'Logs are fetched on demand. Choose an agent above to start streaming its gateway-proxied logs.',\n noAgentsAvailable: 'No agents with tunnel access available',\n pause: 'Pause',\n resume: 'Resume',\n selectAgent: 'Select an agent...',\n waitingForEntries: 'Waiting for log entries...',\n },\n mesh: {\n actions: {\n deployFromHere: 'Deploy from here',\n openAgent: 'Open agent',\n runCommand: 'Run command',\n startTerminal: 'Start terminal',\n wakeViaSsh: 'Wake via SSH',\n wakingViaSsh: 'Waking…',\n },\n deploy: {\n auth: 'Authentication',\n authAgent: 'SSH agent / default key',\n authKey: 'Key path',\n connectExisting: 'Connect to an existing agent on the target instead of installing',\n deploying: 'Deploying through {{agent}}…',\n deployingShort: 'Deploying…',\n description: 'Deploy a new agent through the mesh from a selected source agent.',\n failed: 'Deploy failed',\n host: 'Host / alias',\n jobFailed: 'Deploy failed.',\n keyPath: 'Identity file (key path)',\n label: 'Label (optional)',\n labelPlaceholder: 'e.g. Production web tier',\n mode: 'Deploy mode',\n modeSame: 'Same machine',\n modeSsh: 'Remote (SSH)',\n noAgents: 'No agents available',\n noJob: 'Deploy started but no job id was returned by the agent.',\n permissions: 'Grant permissions on the new link',\n port: 'Port',\n sourceAgent: 'Source agent (deploys from)',\n starting: 'Starting deploy job…',\n steps: {\n configure: 'Configure',\n deploy: 'Deploy',\n },\n submit: 'Deploy',\n success: 'Agent deployed successfully!',\n title: 'Deploy Agent via Mesh',\n user: 'User',\n },\n deployButton: 'Deploy Agent',\n request: {\n api: 'API',\n argv: 'Command (vibe …)',\n body: 'Request body',\n bodyNotObject: 'Body must be a JSON object.',\n bodyPlaceholder: 'JSON body (optional)',\n command: 'Command',\n destination: 'Destination agent',\n failed: 'Request failed',\n hops: 'Hops:',\n invalidJson: 'Request body is not valid JSON.',\n method: 'Method',\n mode: 'Mode',\n noDest: 'No agents',\n noRoot: 'Select a reachable root agent to dispatch from.',\n path: 'Path',\n run: 'Run',\n title: 'Run mesh request',\n },\n requestPanelToggle: 'Mesh request',\n terminal: {\n comingSoon: 'Deep-terminal coming soon',\n noRoot: 'No reachable root agent to start a terminal from.',\n },\n wake: {\n failed: 'Could not wake {{name}} over SSH.',\n starting: 'Reconnecting {{name}} over SSH…',\n success: '{{name}} is back online',\n },\n },\n nav: {\n actions: 'Actions',\n agentGraph: 'Agent Graph',\n agents: 'Agents',\n ai: 'AI',\n aiBookmarks: 'Bookmarks',\n analytics: 'Analytics',\n gitops: 'GitOps',\n health: 'Health',\n logs: 'Logs',\n overview: 'Overview',\n sessions: 'Session',\n settings: 'Settings',\n targets: 'Targets',\n vibeAudit: 'Audit',\n vibeCalendar: 'Calendar',\n vibeDeck: 'Vibe Deck',\n vibes: 'Vibes',\n webhooks: 'Webhooks',\n },\n noteDetails: {\n accessDenied: 'Access Denied',\n accessDeniedDesc: \"You don't have permission to access this page.\",\n attachedTo: 'Attached to',\n back: 'Back',\n created: 'Created',\n details: 'Details',\n failedLoad: 'Failed to load note',\n loading: 'Loading note...',\n loadingPermissions: 'Loading permissions...',\n noTags: 'No tags assigned.',\n notFound: 'Note not found',\n notFoundDesc: 'This note may have been deleted or you may no longer have access to it.',\n noteId: 'Note ID',\n openVibe: 'Open Vibe',\n pinned: 'Pinned',\n tags: 'Tags',\n updated: 'Updated',\n vibe: 'Vibe',\n workspaceNote: 'Workspace note',\n },\n overviewPage: {\n accessDeniedDescription: \"You don't have permission to access this page.\",\n activity: {\n agentOnline: 'Agent Online',\n agentOnlineDescription: '{{name}} is active',\n sessionRunning: 'Session Running',\n sessionStatus: 'Session {{status}}',\n },\n description: 'Monitor and manage your development environments',\n empty: {\n addAgent: 'Add agent',\n addVibe: 'Add a vibe',\n installCliHint: 'Install the agent CLI to get started',\n noActiveAgents: 'No active agents',\n noActiveVibes: 'No active vibes',\n noRecentActivity: 'No recent activity',\n noRunningSessions: 'No running sessions',\n setupGuide: 'Setup guide',\n startSession: 'Start a session',\n viewAuditLog: 'View audit log',\n },\n loadFailed: {\n message: \"We couldn't load your VibeControls overview. Please try again in a moment.\",\n title: 'Could not load workspace data',\n },\n loadingPermissions: 'Loading permissions...',\n refresh: 'Refresh',\n sections: {\n activeAgents: 'Active Agents',\n activeVibes: 'Active Vibes',\n recentActivity: 'Recent Activity',\n runningSessions: 'Running Sessions',\n viewAll: 'View all',\n viewAllActivity: 'View all activity',\n viewAllAgents: 'View all agents',\n },\n stats: {\n active: '{{count}} active',\n agents: 'Agents',\n connected: '{{count}} connected',\n notes: 'Notes',\n pinned: '{{count}} pinned',\n running: '{{count}} running',\n sessions: 'Sessions',\n targets: 'Targets',\n vibes: 'Vibes',\n },\n time: {\n daysAgo: '{{count}}d ago',\n hoursAgo: '{{count}}h ago',\n justNow: 'Just now',\n minutesAgo: '{{count}}m ago',\n unknown: 'Unknown',\n },\n title: 'VibeControls Overview',\n },\n scheduledJob: {\n detail: {\n accessDenied: 'Access Denied',\n accessDeniedHint:\n 'You do not have permission to view scheduled-job details. Contact your workspace owner if you believe you should.',\n action: 'Action',\n completedAt: 'Completed',\n executeFailedFallback: 'Failed to execute job. Try again or contact support.',\n executeNow: 'Execute Now',\n executions: 'Executions',\n executionsCount: 'Total',\n executor: 'Executor',\n lastExecution: 'Last Execution',\n loading: 'Loading job…',\n loadingPermissions: 'Loading permissions…',\n nextExecution: 'Next Execution',\n noExecutions: 'No executions yet',\n notFound: 'Job not found',\n notFoundHint:\n 'It may have been deleted, archived, or moved to a workspace you no longer have access to.',\n pollingTimedOut: \"Didn't see a new execution yet — refresh to check again.\",\n priority: 'Priority',\n scheduleType: 'Schedule Type',\n timezone: 'Timezone',\n untitled: 'Untitled job',\n viewLogs: 'View logs',\n waitingForExecution: 'Waiting for execution…',\n },\n },\n scorecard: {\n addMetric: 'Add Metric',\n empty: 'No scorecard metrics',\n failedLoad: 'Failed to load scorecard',\n loading: 'Loading scorecard...',\n overallScore: 'Overall Score',\n },\n sessionDetails: {\n accessDenied: 'Access Denied',\n accessDeniedDesc: \"You don't have permission to access this page.\",\n agentLabel: 'Agent',\n agentNoApiUrl: 'Agent has no API URL configured',\n agentNoTunnelUrl: 'Agent has no tunnel URL configured',\n autoStart: 'Auto Start',\n backToSessions: 'Back to Sessions',\n cancel: 'Cancel',\n clickOpenTerminalHint:\n 'Click \"Open Terminal\" to create a tmux session with a browser terminal.',\n collapseTerminal: 'Collapse terminal',\n commandExited: 'Command exited{{code}} — click Run Command to run it again.',\n commandLabel: 'Command',\n commandPlaceholder: 'bun run dev',\n commandTitle: 'Command',\n created: 'Created',\n editCommandTitle: 'Edit command and working directory',\n envVars: 'Environment Variables',\n exitCode: 'Exit Code',\n expandTerminal: 'Expand terminal',\n failedLoad: 'Failed to load session',\n failedStartTerminal: 'Failed to start terminal',\n hideTerminal: 'Hide terminal',\n lastOutput: 'Last Output',\n loadingPermissions: 'Loading permissions...',\n loadingSession: 'Loading session details...',\n maximize: 'Maximize',\n no: 'No',\n noAgentAssigned: 'No agent assigned',\n noAgentForSession: 'No agent is assigned to this session.',\n noCommandSpecified: 'No command specified',\n noEnvVars: 'No environment variables configured',\n noOutput: 'No output captured',\n noTerminalRunning: 'No terminal running',\n notFound: 'Session not found',\n notFoundDescPrefix: 'No session with ID',\n notFoundDescSuffix: 'exists',\n openInNewTab: 'Open terminal in new tab',\n openInNewTabShort: 'Open in new tab',\n openTerminal: 'Open Terminal',\n opening: 'Opening...',\n pidLabel: 'PID',\n preparingTerminal: 'Preparing terminal…',\n relatedVibe: 'Related Vibe',\n restartCommand: 'Restart Command',\n restartTerminalConfirmBody:\n 'This kills the current tmux session and re-runs the command from scratch. Any in-progress output will be lost.',\n restartTerminalConfirmLabel: 'Restart terminal',\n restartTerminalConfirmTitle: 'Restart terminal?',\n restartTerminalShort: 'Restart',\n restartTerminalTitle: 'Restart terminal — kills the tmux session and re-runs the command',\n restoreSize: 'Restore size',\n retry: 'Retry',\n runCommand: 'Run Command',\n runningOnAgent: 'Running on Agent',\n save: 'Save',\n settingUpTunnel: 'Setting up session + web terminal tunnel',\n showTerminal: 'Show terminal',\n startingTerminal: 'Starting terminal for',\n statusLabel: 'Status',\n stopCommand: 'Stop Command',\n tags: 'Tags',\n terminal: 'Terminal',\n terminalCapabilityFailed: 'Could not prepare terminal access',\n timeline: 'Timeline',\n typeLabel: 'Type',\n updated: 'Updated',\n workbench: 'Workbench',\n workbenchTitle: 'Notes, prompts & history for this session (Cmd/Ctrl+J)',\n workingDirDefault: 'not set — defaults to OS home',\n workingDirLabel: 'Working Directory',\n workingDirPlaceholder: '/home/user/myproject',\n workingDirectory: 'Working Directory',\n yes: 'Yes',\n },\n sessions: {\n accessDeniedDescription: \"You don't have permission to view sessions.\",\n active: 'Active',\n adopt: 'Adopt',\n adopting: 'Adopting…',\n advanced: 'Advanced options',\n agent: 'Agent',\n agentHint:\n \"Required when no vibe is selected. Overridden by the vibe's agent if a vibe is chosen.\",\n agentNotHealthy:\n 'The selected agent isn\\\\u2019t fully reachable right now. Please wait for the agent badge to turn green and retry.',\n agentRequired: 'Please select an agent for this session.',\n attachExistingHint:\n 'When set, the agent attaches to that existing session instead of creating a new one. Leave blank to spawn fresh.',\n attachExistingLabel: 'Attach to existing session (optional)',\n autoStartWithVibe: 'Auto-start with vibe',\n cheatsheet: {\n cat: {\n Actions: 'Actions',\n Help: 'Help',\n Navigation: 'Navigation',\n Tabs: 'Tabs',\n View: 'View',\n },\n hint: 'Shortcuts are ignored while typing in an input. Sequences like “g a” mean press g then a.',\n title: 'Keyboard shortcuts',\n },\n checkHealth: 'Check session health',\n command: 'Command',\n commandPlaceholder: 'bun run dev',\n confirmRemovePrefix: 'Are you sure you want to remove',\n confirmRemoveSuffix: 'This cannot be undone.',\n createSession: 'Create Session',\n createdSuccess: 'Session created successfully',\n creating: 'Creating...',\n deselect: 'Deselect',\n deselectAll: 'Deselect All',\n emptyAdjustSearch: 'Try adjusting your search or filters',\n emptyConfigured: 'No sessions configured',\n emptyDescription:\n 'Sessions require an active agent. Install the CLI agent first, then start a session.',\n emptyFound: 'No sessions found',\n errorPrefix: 'Error',\n export: 'Export',\n exportSuccess: 'Exported {{count}} sessions as {{format}}',\n failed: 'failed',\n failedCreate: 'Failed to create session',\n failedExport: 'Failed to export sessions',\n failedLoad: 'Failed to load sessions',\n failedRemove: 'Failed to remove sessions',\n failedRestart: 'Failed to restart sessions',\n failedRestartTerminal: 'Failed to restart terminal',\n failedStartTerminal: 'Failed to start terminal',\n failedStop: 'Failed to stop sessions',\n filterAgent: 'Agent',\n filterAgentAll: 'All Agents',\n filterStatus: 'Status',\n // Target filter + grouping\n filterTarget: 'Target',\n filterTargetAll: 'All Targets',\n filterType: 'Type',\n filterVibe: 'Vibe',\n filterVibeAll: 'All Vibes',\n filterVibeNone: 'No Vibe',\n gridViewTitle: 'Grid view',\n group: {\n selectGroup: 'Select group',\n },\n groupBy: {\n agent: 'Agent',\n none: 'No grouping',\n status: 'Status',\n target: 'Target',\n type: 'Type',\n vibe: 'Vibe',\n },\n groupByLabel: 'Group',\n // Agent/target inline info + side panel\n info: {\n address: 'Address',\n agent: 'Agent',\n cwd: 'Working dir',\n heartbeat: 'Heartbeat',\n host: 'Host',\n name: 'Name',\n noActive: 'No active terminal session.',\n panelDesc: 'Where this session runs and how to reach it.',\n panelTitle: 'Session details',\n platform: 'Platform',\n session: 'Session',\n status: 'Status',\n target: 'Target',\n tunnel: 'Tunnel',\n type: 'Type',\n vibe: 'Vibe',\n viewAgent: 'View agent',\n viewTarget: 'View target',\n },\n infoPanelHint: 'Session info (i)',\n infoPanelLabel: 'Info',\n keyboardShortcuts: 'Keyboard shortcuts (?)',\n listViewTitle: 'List view',\n loading: 'Loading sessions...',\n loadingPermissions: 'Loading permissions...',\n name: 'Name',\n namePlaceholder: 'dev-server',\n nameRequired: 'Name is required',\n newSession: 'New Session',\n newSessionOptions: 'New session options',\n newSessionWithOptions: 'New session with options…',\n noAgentAttached:\n 'This vibe has no agents attached. Attach one from the Vibe → Agents tab before creating sessions.',\n noOrphans: 'No orphan vibe-* sessions found on this agent.',\n noVibe: 'No vibe',\n of: 'of',\n offline: 'Offline',\n pageDescription: '{{running}} of {{total}} sessions running',\n // Command palette\n palette: {\n description: 'Search sessions or run a command',\n empty: 'No results.',\n gotoAgent: \"Open active session's agent\",\n gotoTarget: \"Open active session's target\",\n groupActions: 'Actions',\n groupByAgent: 'Group by agent',\n groupByTarget: 'Group by target',\n groupByVibe: 'Group by vibe',\n groupClear: 'Clear grouping',\n groupNav: 'Navigation',\n groupSessions: 'Sessions',\n groupView: 'View',\n newSessionQuick: 'New terminal (quick)',\n placeholder: 'Search sessions or type a command…',\n reconnect: 'Reconnect active terminal',\n shareActive: 'Share / offer active session',\n shortcuts: 'Keyboard shortcuts',\n title: 'Sessions command palette',\n toggleInfo: 'Toggle session info panel',\n viewGrid: 'Switch to grid view',\n viewList: 'Switch to list view',\n viewTerminal: 'Switch to terminal view',\n },\n paletteHint: '⌘/Ctrl K · Command palette',\n pickAgentFromVibe:\n 'This vibe has multiple agents attached. Pick one before creating the session.',\n profile: 'Profile',\n profileHint:\n 'Which agent profile this session targets. Defaults to \"default\" — change only if the agent runs multiple isolated profiles.',\n quickNewSessionHint: 'New terminal (⌘/Ctrl+T)',\n reconnect: 'Reconnect',\n reconnectDesc:\n 'Pick an agent to scan its host for tmux / wezterm / zellij sessions named vibe-* that are not currently tracked. Adopt one to start a web terminal and bring it back into the UI.',\n reconnectExisting: 'Reconnect existing session…',\n reconnectTitle: 'Reconnect orphan sessions',\n reconnectTooltip:\n 'Reconnect orphan tmux/wezterm/zellij sessions left over from a previous agent run',\n refreshTitle: 'Refresh sessions',\n refreshing: 'refreshing...',\n remove: 'Remove',\n removed: 'Removed',\n requiredPermission: 'Required permission: session:list',\n restart: 'Restart',\n restarted: 'Restarted',\n running: 'Running',\n runningSummary: '{{running}} running / {{total}} total',\n // Keyboard shortcut descriptions (cheatsheet)\n sc: {\n cheatsheet: 'Keyboard shortcuts',\n closeTab: 'Close active tab',\n cycleView: 'Cycle terminal / grid / list',\n focusSearch: 'Focus search',\n fullscreen: 'Toggle terminal fullscreen',\n groupAgent: 'Group by agent',\n groupNone: 'Clear grouping',\n groupStatus: 'Group by status',\n groupTarget: 'Group by target',\n groupVibe: 'Group by vibe',\n infoPanel: 'Toggle session info panel',\n jumpTab: 'Jump to tab N',\n newSession: 'New session',\n nextTab: 'Next tab',\n openAgent: \"Open active session's agent\",\n openTabNew: 'Open active tab in new browser tab',\n openTarget: \"Open active session's target\",\n palette: 'Command palette',\n prevTab: 'Previous tab',\n reconnect: 'Reconnect active terminal',\n renameTab: 'Rename active tab',\n },\n scanningHost: 'Scanning host...',\n searchAgents: 'Search agents...',\n searchPlaceholder: 'Search sessions...',\n searchProfiles: 'Search profiles...',\n searchTypes: 'Search types...',\n searchVibes: 'Search vibes...',\n selectAgent: 'Select an agent',\n selectAll: 'Select All',\n selectProfile: 'default',\n selectType: 'Select type',\n selected: 'selected',\n shareOfferHint: 'Share / offer this session',\n shareOfferLabel: 'Share',\n shortcutsHint: 'Press ? for shortcuts',\n showing: 'Showing',\n starting: 'Starting',\n statusAll: 'All Statuses',\n statusOnline: 'Online',\n stop: 'Stop',\n stopped: 'Stopped',\n stoppedState: 'Stopped',\n tags: 'Tags',\n terminalRestartedNoUrl: 'Terminal restarted but no URL returned.',\n terminalStartedNoTunnelUrl: 'Terminal started but no tunnel URL was returned. Try restarting.',\n terminalStartedNoUrl: 'Terminal started but no URL was returned. Try restarting.',\n terminalStopped: 'Terminal stopped',\n terminalTypeHint:\n 'Plain terminal — a shell over ttyd with no tmux/wezterm/zellij multiplexer and no persisted session. Native drag-to-select copy/paste.',\n terminalViewTitle: 'Terminal view',\n typeAll: 'All Types',\n typeCustom: 'Custom',\n typeScript: 'Script',\n typeSsh: 'SSH',\n typeTerminal: 'Terminal',\n typeTmux: 'TMUX',\n typeTmuxLower: 'tmux',\n typeWezTerm: 'WezTerm',\n typeZellij: 'Zellij',\n },\n settings: {\n activeSessions: 'Active Sessions',\n addSecret: 'Add secret',\n advanced: 'Advanced',\n advancedDesc: 'Logging, telemetry, secrets',\n advancedSettings: 'Advanced Settings',\n agentDefaults: 'Agent Defaults',\n agentOfflineAlerts: 'Agent Offline Alerts',\n agentStateActive: 'Active',\n agentStateOffline: 'Offline',\n autoGitSync: 'Auto Git Sync',\n autoReconnect: 'Auto-reconnect',\n autoStartSessions: 'Auto-start Sessions',\n autoUpdate: 'Auto Update',\n avatarUrl: 'Avatar URL',\n avatarUrlDesc: 'URL to your avatar image',\n bio: 'Bio',\n bioPlaceholder: 'Tell us about yourself...',\n codeFont: 'Code Font',\n codeFontSize: 'Code Font Size',\n configuredSecrets: 'Configured Secrets',\n defaultAgent: 'Default Agent',\n defaultAgentPlaceholder: 'Select default agent...',\n defaultEnvVars: 'Default Environment Variables',\n defaultEnvVarsPlaceholder: 'KEY=value ANOTHER_KEY=value',\n defaultSessionType: 'Default Session Type',\n defaultVibeType: 'Default Vibe Type',\n deleteSecret: 'Delete secret',\n description: 'Configure VibeControls preferences and workspace defaults',\n digestFrequency: 'Digest Frequency',\n digestFrequencyDaily: 'Daily',\n digestFrequencyNone: 'None',\n digestFrequencyWeekly: 'Weekly',\n displayName: 'Display Name',\n displayNamePlaceholder: 'Your display name',\n editor: 'Code Editor',\n editorDesc: 'Default IDE + per-Vibe overrides',\n emailDigest: 'Email Digest',\n emailDigestDescription: 'Receive summary emails of activity',\n generalDefaults: 'General Defaults',\n heartbeatInterval: 'Heartbeat Interval (seconds)',\n language: 'Language',\n loading: 'Loading settings...',\n logLevel: 'Log Level',\n logLevelDebug: 'Debug',\n logLevelInfo: 'Info',\n logLevelWarning: 'Warning',\n maxSessionsPerAgent: 'Max Sessions Per Agent',\n mfa: 'Multi-Factor Authentication',\n noSecretsConfigured: 'No secrets configured',\n notifications: 'Notifications',\n notificationsDesc: 'Alert preferences',\n preferences: 'Preferences',\n profile: 'Profile',\n refreshSecrets: 'Refresh secrets',\n reset: 'Reset',\n resetFailed: 'Failed to reset settings.',\n resetSuccess: 'Settings reset to defaults.',\n resetToDefaults: 'Reset to defaults',\n saveFailed: 'Failed to save settings.',\n saveSecret: 'Save Secret',\n saveSuccess: 'Settings saved successfully.',\n secretValuePlaceholder: 'Secret value',\n sections: 'Settings sections',\n security: 'Security',\n sessionErrorAlerts: 'Session Error Alerts',\n sessionTimeout: 'Session Timeout',\n sessionTypeScript: 'Script',\n sessionTypeSsh: 'SSH',\n sessionTypeTerminal: 'Terminal',\n sessionTypeTmux: 'Tmux',\n sessionTypeWezTerm: 'WezTerm',\n sessionTypeZellij: 'Zellij',\n sidebarCollapsed: 'Sidebar Collapsed',\n telemetry: 'Telemetry',\n theme: 'Theme',\n timezone: 'Timezone',\n uiDensity: 'UI Density',\n vibeDefaults: 'Vibe Defaults',\n vibeStatusChanges: 'Vibe Status Changes',\n vibeTypeCustom: 'Custom',\n vibeTypeMonorepo: 'Monorepo',\n vibeTypePackage: 'Package',\n vibeTypeProject: 'Project',\n vibeTypeRepository: 'Repository',\n vibeTypeWorkspace: 'Workspace',\n workspace: 'Workspace',\n workspaceDesc: 'Agent, session, vibe defaults',\n },\n sharedSession: {\n canControl: 'Can Control',\n connected: 'Connected',\n expires: 'Expires',\n failedJoin: 'Failed to Join Session',\n failedValidate: 'Failed to validate the share link',\n goBack: 'Go Back',\n interactive: 'Interactive',\n invalidExpiredLink: 'Invalid or Expired Link',\n joining: 'Joining session...',\n linkNoLongerValid: 'This share link is no longer valid.',\n rejoin: 'Rejoin',\n rejoinHint: 'You can rejoin using the same share link.',\n retry: 'Retry',\n sessionInfo: 'Session Info',\n sharedBy: 'Shared by',\n status: 'Status',\n terminalLoading: 'Terminal loading...',\n unableToLoad: 'Unable to Load Session',\n validating: 'Validating share link...',\n viewOnly: 'View Only',\n viewer: 'Viewer',\n youLeft: 'You left the session',\n yourRole: 'Your role',\n },\n sharedVibeDeck: {\n canExecute: 'Can execute',\n enterPasswordHint: 'Enter the password to continue',\n invalidLink: 'Invalid share link',\n linkInvalidOrExpired: 'This share link is invalid or has expired.',\n poweredBy: 'Powered by',\n requiresPassword: 'This VibeDeck requires a password',\n viewOnly: 'View only',\n },\n targetDetails: {\n agents: 'Agents on this target',\n allAgents: 'All agents',\n connections: 'Inbound connections',\n errorTitle: 'Failed to load target',\n from: 'From',\n host: 'Host',\n identity: 'Identity',\n labels: 'Labels',\n missingId: 'Target id missing from URL',\n name: 'Name',\n noAgents: 'No agents on this target yet',\n noAgentsBody: 'Use the Agents tab to onboard an agent and select this target during setup.',\n noConnections: 'No inbound connections',\n noConnectionsBody: 'No agents are currently connected to this target.',\n notFoundBody: 'The target you requested may have been deleted or is in a different workspace.',\n notFoundTitle: 'Target not found',\n port: 'Port',\n share: 'Share',\n status: 'Status',\n tags: 'Tags',\n type: 'Type',\n updatedAt: 'Last updated',\n username: 'Username',\n },\n targets: {\n accessDeniedBody: \"You don't have permission to access this page.\",\n addTarget: 'Add Target',\n addTargetBody: 'Register a machine or server you want to manage.',\n agentConnectionHintPrefix: 'The agent that will establish the',\n agentConnectionHintSuffix: 'connection to this target.',\n agentInstalled: 'Agent Installed',\n agentInstalledSuccess: 'Agent installed successfully!',\n allAgents: 'All agents',\n authentication: 'Authentication',\n confirmDeleteSelectedPrefix: 'Are you sure you want to delete',\n confirmDeleteSelectedSuffix: 'This action cannot be undone.',\n connected: 'Connected',\n connectionFailed: 'Connection failed',\n connectionSuccessful: 'Connection successful',\n createFailed: 'Failed to create target',\n deleteAll: 'Delete All',\n deleteSelectedTargets: 'Delete Selected Targets',\n deleteTarget: 'Delete Target',\n deleteTargetMessage:\n 'This will remove the target and its connection from the agent. Active terminals will be disconnected.',\n descriptionOptional: 'Description (optional)',\n descriptionPlaceholder: 'Brief description of this target',\n deselectAll: 'Deselect All',\n disconnected: 'Disconnected',\n editTarget: 'Edit Target',\n emptyAdjustSearch: 'Try adjusting your search or filters',\n emptyDescription: 'Add a target to start managing servers, workstations, and environments.',\n emptyNoTargetsConfigured: 'No targets configured',\n emptyNoTargetsFound: 'No targets found',\n filterStatusAll: 'All Statuses',\n filterTypeAll: 'All Types',\n gridViewTitle: 'Grid view',\n host: 'Host',\n hostPlaceholder: '192.168.1.100',\n installAgent: 'Install Agent',\n installProgressBody: 'Installation progress for this target.',\n installationFailed: 'Installation failed.',\n installing: 'Installing...',\n installingAgentOn: 'Installing Agent on',\n keepCredentialsHint: 'Leave blank to keep existing credentials.',\n keepCurrentKeyPlaceholder: 'Leave blank to keep current (~/.ssh/id_rsa)',\n keepCurrentPlaceholder: 'Leave blank to keep current',\n labelOptional: 'Label (optional)',\n labelPlaceholder: 'web-server-01',\n listViewTitle: 'List view',\n loading: 'Loading targets...',\n loadingPermissions: 'Loading permissions…',\n namePlaceholderDirect: 'My Laptop',\n namePlaceholderServer: 'Production Server',\n newPassword: 'New Password',\n newPrivateKeyPath: 'New Private Key Path',\n onlineSummary: '{{connected}} of {{total}} targets online',\n openTerminal: 'Open terminal',\n password: 'Password',\n privateKey: 'Private Key',\n privateKeyPath: 'Private Key Path',\n privateKeyPathPlaceholder: '~/.ssh/id_rsa',\n refreshTitle: 'Refresh targets',\n saveChanges: 'Save Changes',\n searchPlaceholder: 'Search targets...',\n selectAgentConnectFrom: 'Select an agent to connect from',\n selectAll: 'Select All',\n selectTarget: 'Select {{name}}',\n showingResults: 'Showing {{filtered}} of {{total}} targets',\n sourceAgent: 'Source Agent',\n starting: 'Starting…',\n startingInstallJob: 'Starting install job...',\n tags: 'Tags',\n tagsCommaSeparated: 'Tags (comma-separated)',\n tagsPlaceholder: 'production, web',\n targetActions: 'Target actions',\n targetType: 'Target Type',\n targetTypeDirectHint: 'A local machine where you will install the agent manually.',\n targetTypeSshHint: 'A remote server accessible via SSH.',\n terminal: 'Terminal',\n test: 'Test',\n testConnectivity: 'Test connectivity',\n typeDirect: 'Direct',\n uninstall: 'Uninstall',\n uninstallAgent: 'Uninstall agent',\n unknown: 'Unknown',\n updateCredentialsOptional: 'Update credentials (optional)',\n username: 'Username',\n usernamePlaceholder: 'root',\n via: 'via',\n viewBilling: 'View Billing',\n viewMode: 'View mode',\n },\n template: {\n allCategories: 'All Categories',\n backToTemplates: 'Back to Templates',\n categoryBackend: 'Backend',\n categoryCustom: 'Custom',\n categoryFrontend: 'Frontend',\n categoryFullstack: 'Fullstack',\n categoryInfrastructure: 'Infrastructure',\n categoryLibrary: 'Library',\n categoryMicroservice: 'Microservice',\n categoryStarter: 'Starter',\n clone: 'Clone',\n cloneDescPlaceholder: 'Optional description',\n cloneDescription: 'Description',\n cloneFailed: 'Failed to clone',\n cloneFromTemplate: 'Clone from Template',\n cloneName: 'Name *',\n cloneNamePlaceholder: 'my-new-component',\n cloneNameRequired: 'Name is required',\n clonedSuccess: 'Cloned successfully',\n clones: 'clones',\n cloning: 'Cloning...',\n createdComponents: 'Created Components',\n deleteTemplate: 'Delete Template',\n description: '{{total}} templates available',\n descriptionEmpty:\n 'Reusable blueprints your team publishes from components — pick one to scaffold a new component in seconds',\n emptyAdjustSearch: 'Try adjusting your search or filters',\n emptyCreate:\n 'No templates yet. To create one: open any component → click the ⋯ menu → \"Publish as Template\". It will appear here and anyone in your workspace can use it as a starting point.',\n emptyNoResults: 'No templates found',\n emptyNoTemplates: 'No templates yet',\n failedLoad: 'Failed to load template',\n fileTree: 'File Tree',\n filterCategory: 'Category',\n loading: 'Loading templates...',\n loadingDetails: 'Loading template details...',\n noDescription: 'No description',\n notFound: 'Template not found',\n searchPlaceholder: 'Search templates...',\n setupInstructions: 'Setup Instructions',\n share: 'Share',\n showingResults: 'Showing {{filtered}} of {{total}} templates',\n sourceComponent: 'Source Component',\n tags: 'Tags',\n title: 'Templates',\n useTemplate: 'Use Template',\n variables: 'Template Variables',\n },\n tunnels: {\n port: 'Port',\n },\n vibeDeck: {\n cancel: 'Cancel',\n colorTheme: 'Color Theme',\n columns: 'Columns',\n description: 'Description',\n descriptionPlaceholder: 'Optional description...',\n dropHere: 'Drop here',\n editDeck: 'Edit deck',\n emptyDeckDescription: 'Switch to Edit mode to add buttons.',\n emptyDeckTitle: 'This deck is empty',\n gridLayout: 'Grid Layout',\n name: 'Name',\n namePlaceholder: 'My Vibe Deck',\n rows: 'Rows',\n save: 'Save',\n saving: 'Saving...',\n tags: 'Tags',\n },\n vibeDetails: {\n actions: 'Actions',\n activate: 'Activate',\n addToCatalog: 'Add to Catalog',\n addToCatalogTitle: 'Add Vibe to Catalog',\n aiChat: 'AI Chat',\n aiContexts: 'AI Contexts',\n aiPrompts: 'AI Prompts',\n archive: 'Archive',\n archiveConfirmBody:\n 'Archived vibes are hidden from the active list and their scheduled actions stop firing. You can restore the vibe later from the archived view. Existing sessions, tunnels, and audit history are preserved.',\n archiveConfirmTitle: 'Archive this vibe?',\n backToVibes: 'Back to Vibe',\n branch: 'Branch',\n catalogs: 'Catalogs',\n catalogsTitle: 'Catalogs',\n childVibes: 'Child Vibes',\n config: 'Config',\n created: 'Created',\n deactivate: 'Deactivate',\n delete: 'Delete vibe…',\n docs: 'Docs',\n enterGraphqlUrl: 'Enter GraphQL endpoint URL (e.g. https://countries.trevorblades.com/graphql)',\n enterSwaggerUrl:\n 'Enter OpenAPI/Swagger URL (e.g. https://petstore3.swagger.io/api/v3/openapi.json)',\n environmentVariables: 'Environment Variables',\n failedLoad: 'Failed to load vibe',\n features: 'Features',\n featuresDescription:\n 'Toggle which sections show up on this vibe. Changes apply to everyone viewing the vibe.',\n git: 'Git',\n gitInformation: 'Git Information',\n gitPluginDescription:\n 'Live git branch, status, and remote data for this vibe are served by the vibe-plugin-tool-git agent plugin.',\n gitPluginEyebrow: 'Git plugin required',\n gitPluginTitle: 'Install the git plugin',\n gitops: 'GitOps',\n gitopsTitle: 'GitOps',\n graphqlPlayground: 'GraphQL',\n graphqlPlaygroundTitle: 'GraphQL Playground',\n graphqlPluginDescription:\n 'The GraphQL Playground is served by the graphiql agent plugin. Install it to continue.',\n graphqlPluginEyebrow: 'GraphQL playground plugin required',\n graphqlPluginTitle: 'Install the GraphQL playground',\n instructionFiles: 'Instructions',\n llmContext: 'LLM Context',\n loadApi: 'Load API',\n loadingCatalogs: 'Loading catalogs...',\n loadingConfig: 'Loading saved configuration...',\n loadingDetails: 'Loading vibe details...',\n mintingIframeToken: 'Authorizing iframe…',\n new: 'New',\n newSessionFor: 'New Session for',\n noAgentAttached:\n 'This vibe has no agent attached. Connect an agent to this vibe before creating a session.',\n noAgentAvailable: 'No agent available. Please configure an agent first.',\n noAgentTunnel: 'No agent tunnel available',\n noAgentTunnelDesc2: 'The GraphQL playground requires an active agent with a tunnel URL.',\n noAvailableCatalogs: 'No available catalogs. This vibe is already in all catalogs.',\n noCatalogs: 'Not in any catalogs',\n noCatalogsDesc: 'Add this vibe to catalogs to organize and track it alongside other components',\n noDescription: 'No description',\n noEnvironmentVariables: 'No environment variables configured',\n noGitInformation: 'No git information',\n noGitInformationDescription: 'This vibe does not have any git repository linked',\n noRelatedEntities: 'No related entities',\n noRelatedEntitiesDescription: 'This vibe has no child vibes, parent vibe, or linked agent',\n noSessionsForVibe: 'No sessions for this vibe',\n notFound: 'Vibe not found',\n notFoundDescriptionPrefix: 'No vibe with ID',\n notFoundDescriptionSuffix: 'exists',\n notes: 'Notes',\n openAiChat: 'Open AI chat in this vibe',\n openInEditor: 'Open in Editor',\n openInLocalVscode: 'Open in local VS Code',\n parentVibe: 'Parent Vibe',\n path: 'Path',\n pauseVibe: 'Pause vibe (stop scheduled runs)',\n related: 'Related',\n remote: 'Remote',\n removeFromCatalog: 'Remove from catalog',\n restPlayground: 'REST',\n restPlaygroundTitle: 'REST API Playground',\n resumeVibe: 'Resume vibe (re-enable scheduled runs)',\n runningOnAgent: 'Running on Agent',\n sandboxes: 'Sandboxes',\n scheduledJobs: 'Scheduled',\n scorecard: 'Scorecard',\n security: 'Security',\n selectAgent: 'Select an agent for this vibe before creating a session.',\n sessionCommandPlaceholder: 'bash',\n sessionName: 'Session Name',\n sessionNamePlaceholder: 'dev-terminal',\n sessionNameRequired: 'Session name is required',\n sessionProviderDescription:\n 'Choose the terminal multiplexer your sessions should run on. You can install more providers later.',\n sessionProviderEyebrow: 'Session provider required',\n sessionProviderTitle: 'Pick a session provider',\n sessionsManagerDescription:\n 'Sessions are orchestrated by the unified session manager plugin. Install it to continue.',\n sessionsManagerEyebrow: 'Session manager required',\n sessionsManagerTitle: 'Install the session manager',\n share: 'Share',\n statusTooltip:\n 'ACTIVE: vibe is in your default working set and can run sessions, tunnels and GitOps via its attached agent(s). INACTIVE: vibe is parked — still visible, no sessions auto-resume. RUNNING: at least one session is live. ARCHIVED: hidden from default lists; can be restored.',\n tabsAriaLabel: 'Vibe tabs',\n tags: 'Tags',\n timeline: 'Timeline',\n tunnels: 'Tunnels',\n updated: 'Updated',\n vibedecks: 'Vibe Decks',\n workingDirectory: 'Working Directory',\n },\n vibeDocs: {\n documentation: 'Documentation',\n exitFullscreen: 'Exit fullscreen',\n failedLoadDocs: 'Failed to load docs',\n failedLoadDocumentation: 'Failed to load documentation',\n fullscreen: 'Fullscreen',\n goToVibeDetails: 'Go to Vibe Details',\n loadingDocumentation: 'Loading documentation...',\n retry: 'Retry',\n },\n vibeTask: {\n accessDenied: 'Access Denied',\n accessDeniedDesc: \"You don't have permission to access this page.\",\n action: 'Action',\n actionExecutorHint: 'Executor config comes from the Action definition.',\n actions: 'Actions',\n execHistory: 'Execution History',\n exitCode: 'Exit Code',\n lastRun: 'Last run',\n loadingPermissions: 'Loading permissions...',\n loadingTask: 'Loading task details...',\n logsPermissionRequired: 'Log access required',\n next: 'Next',\n noExecutions: 'No executions yet',\n oneTime: 'One-time',\n recurring: 'Recurring',\n schedule: 'Schedule',\n started: 'Started',\n status: 'Status',\n triggerNow: 'Trigger Now',\n viewLogs: 'View Logs',\n },\n vibecontrols: {\n actions: {\n card: {\n addToCalendar: 'Add to calendar',\n delete: 'Delete',\n duplicate: 'Duplicate',\n edit: 'Edit',\n execute: 'Execute',\n executionRuns: '{{count}} runs',\n hoursAgo: '{{count}}h ago',\n justNow: 'Just now',\n minutesAgo: '{{count}}m ago',\n never: 'Never',\n runs: 'runs',\n schedule: 'Schedule this action',\n },\n executionHistory: {\n close: 'Close',\n noExecutions: 'No executions yet',\n recentExecutions: 'Recent Executions',\n },\n form: {\n actionType: 'Action Type',\n anyAvailableAgent: 'Any available agent',\n authType: 'Auth Type',\n bodyJson: 'Body (JSON)',\n cancel: 'Cancel',\n category: 'Category',\n command: 'Command',\n commandSettings: 'Command Settings',\n createAction: 'Create Action',\n description: 'Description',\n displayName: 'Display Name',\n interpreter: 'Interpreter',\n method: 'Method',\n nameSlug: 'Name (slug)',\n offline: '(offline)',\n requireConfirmation: 'Require confirmation',\n retryCount: 'Retry Count',\n saving: 'Saving...',\n schedule: 'Schedule (cron expression)',\n script: 'Script',\n scriptSettings: 'Script Settings',\n tags: 'Tags (comma separated)',\n targetAgent: 'Target Agent',\n timeout: 'Timeout (ms)',\n triggerType: 'Trigger Type',\n updateAction: 'Update Action',\n url: 'URL',\n webhookSettings: 'Webhook Settings',\n workingDirectory: 'Working Directory',\n },\n },\n agentManager: {\n adminBar: {\n openFullPage: 'Open full page',\n },\n bookmarksDrawer: {\n editLabel: 'Edit label',\n empty: 'No bookmarks in this session yet',\n emptyHint: 'Click the bookmark icon on any message to save it for later.',\n fromAssistant: 'Assistant reply',\n fromUser: 'From you',\n jump: 'Jump to message',\n labelPlaceholder: 'Add a label (optional)',\n seeAll: 'See all bookmarks across sessions',\n stale: 'Message no longer available',\n title: 'Bookmarks in this session',\n },\n bridle: {\n clear: 'Clear',\n command: 'Command',\n commandCopied: 'Command copied to clipboard',\n configuration: 'Configuration',\n copiedToClipboard: 'Copied to clipboard',\n initialize: 'Initialize',\n installFromGithub: 'Install from GitHub',\n listProfiles: 'List Profiles',\n profileName: 'Profile Name',\n quickActions: 'Quick Actions',\n showProfile: 'Show Profile',\n showStatus: 'Show Status',\n supportedHarnesses: 'Supported Harnesses',\n title: 'Bridle — Cross-Harness Config Manager',\n },\n bulkActions: {\n cancel: 'Cancel',\n cannotUndo: 'This action cannot be undone.',\n clearSelection: 'Clear selection',\n delete: 'Delete',\n deleteConfirm: 'Are you sure you want to delete',\n deleteSelected: 'Delete selected',\n deleteSessionsTitle: 'Delete Sessions',\n export: 'Export',\n exportSelected: 'Export selected',\n selected: 'selected',\n session: 'session',\n sessions: 'sessions',\n },\n center: {\n close: 'Close',\n createNewSession: 'Create a new session',\n keyboardShortcuts: 'Keyboard Shortcuts',\n noActiveSession: 'No active session',\n },\n chatPane: {\n bookmarksLabel: 'Bookmarks',\n bookmarksTooltip: 'View bookmarked messages',\n searchInSession: 'Search in session',\n },\n config: {\n advancedJson: 'Advanced (JSON)',\n maxTokens: 'Max Tokens',\n model: 'Model',\n quickSettings: 'Quick Settings',\n save: 'Save',\n saving: 'Saving...',\n systemPrompt: 'System Prompt',\n temperature: 'Temperature (0-1)',\n terminate: 'Terminate',\n terminateSessionTitle: 'Terminate Session',\n },\n controls: {\n agentDefault: 'Agent (default)',\n attachFile: 'Attach file',\n autonomy: {\n acceptEdits: 'Accept edits',\n acceptEditsDesc: 'Auto-apply file edits; ask before risky commands.',\n cancel: 'Cancel',\n confirmBody:\n 'Full Auto lets the agent run commands and edit files without asking for approval.',\n confirmTitle: 'Enable Full Auto?',\n enable: 'Enable',\n fullAuto: 'Full Auto',\n fullAutoDesc: 'Run commands and edit files without asking.',\n plan: 'Plan',\n planDesc: 'Read-only — plan first, no edits or commands.',\n sdkDisabled: 'Autonomy applies in CLI mode (SDK is chat-only)',\n },\n disableVoice: 'Disable voice mode',\n enableVoice: 'Enable voice mode',\n listening: 'Listening...',\n noMatchingServers: 'No matching servers',\n noMatchingVibes: 'No matching vibes',\n noMcpServers: 'No MCP servers available',\n noModelsAvailable: 'No models available',\n noVibesAvailable: 'No vibes available',\n },\n detailPanel: {\n closePanel: 'Close detail panel',\n },\n dialogs: {\n cancel: 'Cancel',\n chooseFormat: 'Choose the export format:',\n create: 'Create',\n creating: 'Creating...',\n export: 'Export',\n exportSession: 'Export Session',\n exporting: 'Exporting...',\n model: 'Model',\n name: 'Name',\n newSession: 'New Session',\n noResultsFound: 'No results found',\n renameSession: 'Rename Session',\n save: 'Save',\n sdkAndMode: 'SDK & Mode',\n searching: 'Searching...',\n tagsLabel: 'Tags (comma-separated)',\n },\n inputArea: {\n cancel: 'Cancel',\n hideThinking: 'Hide thinking',\n schedule: 'Schedule',\n scheduleSend: 'Schedule send',\n send: 'Send (Enter)',\n sendAt: 'Send at:',\n showThinking: 'Show thinking',\n },\n layout: {\n closeSidebar: 'Close sidebar',\n details: 'Details',\n openDetailPanel: 'Open detail panel',\n openSidebar: 'Open sidebar',\n sessions: 'Sessions',\n },\n logs: {\n disableAutoRefresh: 'Disable auto-refresh',\n enableAutoRefresh: 'Enable auto-refresh',\n noLogsMatch: 'No logs match the selected filters',\n },\n messageItem: {\n bookmarkMessage: 'Bookmark message',\n copyMessage: 'Copy message',\n removeBookmark: 'Remove bookmark',\n tokens: 'tokens',\n },\n messageList: {\n noResults: 'No messages match your search',\n startConversation: 'Start a conversation',\n },\n sessionItem: {\n deleteSession: 'Delete session',\n editTags: 'Edit tags',\n pin: 'Pin',\n unpin: 'Unpin',\n },\n sessionList: {\n noSessionsYet: 'No sessions yet',\n retry: 'Retry',\n },\n sidebar: {\n hideFilters: 'Hide filters',\n newSession: 'New Session',\n showFilters: 'Show filters',\n },\n stats: {\n avgLatency: 'Avg Latency',\n inputTokens: 'Input Tokens',\n outputTokens: 'Output Tokens',\n requests: 'Requests',\n totalTokens: 'Total Tokens',\n },\n streaming: {\n cancelEscape: 'Cancel (Escape)',\n cancelStreaming: 'Cancel streaming',\n stop: 'Stop',\n thinking: 'Thinking...',\n },\n tab: {\n close: 'Close',\n },\n tabBar: {\n createNewSession: 'Create new session',\n enterFullscreen: 'Enter fullscreen',\n exitFullscreen: 'Exit fullscreen',\n exportSession: 'Export session',\n keyboardShortcuts: 'Keyboard shortcuts',\n newSession: 'New session (Ctrl+N)',\n searchSessions: 'Search sessions (Ctrl+K)',\n },\n tools: {\n installed: 'Installed',\n noToolsAvailable: 'No tools available',\n notInstalled: 'Not installed',\n },\n },\n agents: {\n addAgent: 'Add Agent',\n backup: {\n backupIfChanged: 'Backup if Changed',\n backupNow: 'Backup Now',\n configuration: 'Configuration',\n disableSchedule: 'Disable Schedule',\n disabled: 'Disabled',\n enableSchedule: 'Enable Schedule',\n enabled: 'Enabled',\n history: 'Backup History',\n loading: 'Loading backup settings...',\n scheduler: 'Scheduler',\n status: 'Status',\n target: 'Target',\n testConnection: 'Test Connection',\n title: 'Database Backup',\n totalBackups: 'Total Backups',\n },\n clearConnection: 'Clear Connection',\n columnActions: 'Actions',\n columnAgent: 'Agent',\n columnArch: 'Arch',\n columnLastHeartbeat: 'Last Heartbeat',\n columnPlatform: 'Platform',\n columnStatus: 'Status',\n deselectAll: 'Deselect All',\n disconnect: 'Disconnect',\n editor: {\n checking: 'Checking...',\n close: 'Close',\n installing: 'Installing...',\n notInstalled:\n \"Code-server isn't installed on this agent. Install it from the Plugins tab to enable Open Editor.\",\n openEditor: 'Open Editor',\n opened: 'Opened',\n popupBlocked:\n 'Your browser blocked the editor tab. Allow pop-ups for this site, then click Open Editor again.',\n retry: 'Retry',\n starting: 'Starting...',\n },\n emptyDescription:\n 'Agents are the bridge between VibeControls and your development environments. Install an agent to get started.',\n emptyTitle: 'No agents configured',\n reconnectAction: 'Reconnect',\n selectAgent: 'Select {{name}}',\n selectAll: 'Select All',\n selectAllAgents: 'Select all agents',\n settingsAction: 'Settings',\n startAction: 'Start',\n stopAction: 'Stop',\n },\n ai: {\n assistant: {\n clearConversation: 'Clear conversation',\n howCanIHelp: 'How can I help?',\n sendMessage: 'Send message',\n shiftEnterHint: 'Shift+Enter for new line',\n title: 'AI Assistant',\n },\n contexts: {\n add: 'Add',\n addTagPlaceholder: 'Add a tag...',\n cancel: 'Cancel',\n clearSelection: 'Clear selection',\n content: 'Content',\n create: 'Create',\n deleteSelected: 'Delete Selected',\n editContext: 'Edit Context',\n emptyTitle: 'No contexts yet',\n loadFailed: 'Failed to load contexts',\n loading: 'Loading contexts...',\n name: 'Name',\n namePlaceholder: 'Context name',\n newContext: 'New Context',\n saving: 'Saving...',\n selectAllVisible: 'Select all visible',\n selected: 'selected',\n tags: 'Tags',\n type: 'Type',\n update: 'Update',\n },\n overview: {\n activeSessions: 'Active Sessions',\n loadFailed: 'Failed to load overview',\n loading: 'Loading AI overview...',\n noPrompts: 'No prompts dispatched yet',\n noSessions: 'No sessions yet',\n queuedPrompts: 'Queued Prompts',\n recentPrompts: 'Recent Prompts',\n recentSessions: 'Recent Sessions',\n totalSessions: 'Total Sessions',\n totalTokens: 'Total Tokens',\n },\n playground: {\n endpoint: 'Endpoint',\n execute: 'Execute',\n executing: 'Executing...',\n loadFailed: 'Failed to load API',\n loading: 'Loading API descriptor...',\n noEndpoints: 'No API endpoints',\n parameters: 'Parameters',\n response: 'Response',\n },\n prompts: {\n attachContexts: 'Attach Contexts',\n composePrompt: 'Compose Prompt',\n dispatchHistory: 'Dispatch History',\n generate: 'Generate',\n generateFromTemplate: 'Generate from Template',\n generating: 'Generating...',\n loadFailed: 'Failed to load data',\n loading: 'Loading prompts...',\n noContexts: 'No contexts available',\n noDispatched: 'No dispatched prompts',\n selectSession: 'Select session...',\n selectTemplate: 'Select a template...',\n sendToSession: 'Send to Session',\n sending: 'Sending...',\n targetSession: 'Target Session',\n },\n sessions: {\n agentType: 'Agent Type',\n cancel: 'Cancel',\n create: 'Create',\n creating: 'Creating...',\n emptyTitle: 'No AI sessions',\n loadFailed: 'Failed to load sessions',\n loading: 'Loading sessions...',\n name: 'Name',\n newAISession: 'New AI Session',\n newSession: 'New Session',\n },\n stats: {\n inputTokens: 'Input Tokens',\n loadFailed: 'Failed to load stats',\n loading: 'Loading stats...',\n outputTokens: 'Output Tokens',\n refresh: 'Refresh',\n sessionsByStatus: 'Sessions by Status',\n tokenDistribution: 'Token Distribution',\n totalTokens: 'Total Tokens',\n usageByProvider: 'Usage by Provider',\n },\n tasks: {\n clearSelection: 'Clear selection',\n createTask: 'Create Task',\n deleteSelected: 'Delete Selected',\n description: 'Description',\n emptyTitle: 'No AI tasks',\n loadFailed: 'Failed to load tasks',\n loading: 'Loading AI tasks from PlanMagnet...',\n moveSelected: 'Move Selected',\n newAITask: 'New AI Task',\n noWorkspace: 'No workspace selected',\n retry: 'Retry',\n selectAllVisible: 'Select all visible',\n selected: 'selected',\n title: 'Title',\n titlePlaceholder: 'Task title',\n },\n templates: {\n adjustSearch: 'Try adjusting your search query',\n editTemplate: 'Edit Template',\n emptyTitle: 'No templates yet',\n loadFailed: 'Failed to load templates',\n loading: 'Loading templates...',\n newTemplate: 'New Template',\n noMatch: 'No templates match your search',\n previewTemplate: 'Preview Template',\n render: 'Render',\n rendering: 'Rendering...',\n searchPlaceholder: 'Search templates...',\n },\n },\n analytics: {\n cached: 'Cached',\n kpi: {\n actions: 'Actions',\n agents: 'Agents',\n aiEvents: 'AI Events',\n auditLogs: 'Audit Logs',\n docs: 'Docs',\n executions: 'Executions',\n notes: 'Notes',\n sessions: 'Sessions',\n targets: 'Targets',\n vibeDecks: 'Vibe Decks',\n vibes: 'Vibes',\n webhooks: 'Webhooks',\n },\n loading: 'Loading...',\n noData: 'No data',\n refresh: 'Refresh',\n sandbox: {\n expired: 'Expired',\n failed: 'Failed',\n noRecentActivity: 'No recent sandbox activity',\n recentActivity: 'Recent Sandbox Activity',\n resourceUtilization: 'Resource Utilization',\n running: 'Running',\n totalCpuUsed: 'Total CPU Used',\n totalCreated: 'Total Created',\n totalMemoryUsed: 'Total Memory Used',\n },\n },\n assistant: {\n chatInput: {\n ariaLabel: 'Message input',\n send: 'Send message',\n },\n conversations: {\n empty: 'No conversations yet',\n new: 'New conversation',\n startNew: 'Start a new conversation',\n title: 'Conversations',\n },\n export: {\n ariaLabel: 'Export conversation',\n json: 'Export as JSON',\n markdown: 'Export as Markdown',\n },\n markdown: {\n copied: 'Copied',\n copy: 'Copy',\n copyCode: 'Copy code',\n },\n message: {\n downloads: 'Downloads',\n },\n messageList: {\n ariaLabel: 'Conversation messages',\n },\n modeSelector: {\n ariaLabel: 'Select assistant mode',\n },\n panel: {\n ariaLabel: 'AI Assistant',\n close: 'Close assistant',\n title: 'AI Assistant',\n toggleList: 'Toggle conversation list',\n },\n welcome: {\n suggestions: 'Suggestions',\n title: 'VibeControls Assistant',\n },\n },\n audit: {\n cancel: 'Cancel',\n deleting: 'Deleting...',\n reasonLabel: 'Reason for deletion',\n },\n bookmarks: {\n empty: \"You haven't bookmarked any messages yet\",\n emptyHint:\n 'Open any AI Chat session and click the bookmark icon on a message to save it here.',\n jumpToMessage: 'Jump to message in session',\n notFoundInSession: 'Bookmarked message not found',\n openInSession: 'Open session',\n pageSubtitle: 'Every AI Chat message you have bookmarked across all sessions.',\n pageTitle: 'Saved messages',\n unlabeled: 'Unlabeled bookmark',\n },\n calendar: {\n agenda: {\n noTasks: 'No scheduled tasks in this range',\n },\n day: {\n taskScheduled: 'task scheduled',\n tasksScheduled: 'tasks scheduled',\n },\n header: {\n scheduleTask: 'Schedule Task',\n today: 'Today',\n },\n month: {\n more: 'more',\n },\n schedule: {\n actionToSchedule: 'Action to Schedule',\n addActionToCalendar: 'Add Action to Calendar',\n cancel: 'Cancel',\n creating: 'Creating...',\n description: 'Description',\n runAt: 'Run At',\n schedule: 'Schedule',\n scheduleBtn: 'Schedule',\n selectActionFirst: 'Select an Action first',\n timezone: 'Timezone',\n title: 'Title',\n },\n },\n dashboard: {\n title: 'Dashboard',\n },\n docs: {\n compile: {\n built: 'Built',\n failed: 'Failed',\n published: 'Published',\n },\n edit: {\n compile: 'Compile',\n preview: 'Preview',\n },\n editor: {\n pageTitle: 'Page title',\n selectPage: 'Select a page to edit',\n },\n empty: {\n createDocs: 'Create Documentation',\n title: 'No documentation yet',\n },\n pageTree: {\n addFirstPage: 'Add your first page',\n noPages: 'No pages yet',\n pages: 'Pages',\n },\n preview: {\n compileDocs: 'Compile Docs',\n edit: 'Edit',\n openFullScreen: 'Open Full Screen',\n startEditing: 'Start Editing',\n },\n settings: {\n save: 'Save Settings',\n saving: 'Saving...',\n title: 'Site Settings',\n },\n tab: {\n loadFailed: 'Failed to load docs',\n loading: 'Loading documentation...',\n },\n },\n editor: {\n agentOffline:\n 'Agent is offline — install/start an agent for this Vibe to launch local editors.',\n browser: 'Browser',\n default: 'default',\n launching: 'Launching…',\n localIde: 'Local IDE',\n moreOptions: 'More editor options',\n needAgent: 'Requires an online agent',\n noPath: 'Vibe has no path',\n open: 'Open in editor',\n openAgent: 'Spawn via agent',\n openAgentTerminal: 'Spawn in agent host',\n openProtocol: 'Open via OS deep-link',\n opened: 'Opened in your IDE',\n override: 'override',\n setDefault: 'Set as default for this Vibe',\n },\n enableRemoteTask: {\n cancel: 'Cancel',\n confirm: 'Enable & run',\n fileOptIn: 'Also allow remote file writes + deletes',\n fileOptInHint: 'Only needed for actions that modify files. Reads are always allowed.',\n message:\n 'This action runs a command or script on the agent. The agent blocks remote execution by default — enable it to run the action from decks, schedules, and the Actions page.',\n title: 'Enable remote task execution?',\n warning:\n 'Anyone with workspace access will be able to run commands on this host. You can review or revoke this any time from the agent’s Security settings.',\n },\n entityVibeLink: {\n aVibe: 'Linked vibe',\n error: 'Could not update the vibe link.',\n link: 'Link to vibe',\n linkedTo: 'Linked to a vibe — click to manage',\n loading: 'Loading vibes…',\n manage: 'Manage vibe link',\n none: 'Not linked to any vibe',\n notLinked: 'Link this to a vibe',\n pickAria: 'Pick a vibe to link',\n private: 'Private to me',\n shared: 'Shared with vibe — visible to everyone with access',\n title: 'Linked vibe',\n unlink: 'Unlink',\n visibility: 'Who can see it',\n },\n gitops: {\n ciTab: {\n avgDuration: 'Avg Duration',\n columnBranch: 'Branch',\n columnDuration: 'Duration',\n columnStatus: 'Status',\n columnTime: 'Time',\n columnTrigger: 'Trigger',\n columnWorkflow: 'Workflow',\n failedRuns: 'Failed Runs',\n noRuns: 'No pipeline runs found',\n noWorkflows: 'No workflows found',\n perPipelineRun: 'per pipeline run',\n recentRuns: 'Recent Runs',\n successRate: 'Success Rate',\n viewFullDetails: 'View full details',\n viewRun: 'View run',\n workflows: 'Workflows',\n },\n provider: {\n active: 'Active',\n inactive: 'Inactive',\n },\n repoStats: {\n activity: 'Activity',\n issues: 'Issues',\n languages: 'Languages',\n noLanguageData: 'No language data available',\n noOpenIssues: 'No open issues — looking good!',\n noOpenPRs: 'No open pull requests',\n noVulnerabilities: 'No known vulnerabilities',\n pullRequests: 'Pull Requests',\n security: 'Security',\n topContributors: 'Top contributors',\n view: 'View',\n },\n setup: {\n agent: 'Agent',\n connect: 'Connect Repository',\n name: 'Name',\n providerType: 'Provider Type',\n repoUrl: 'Repository URL',\n title: 'Connect a Repository',\n },\n },\n graph: {\n noAgentInstalled: 'No agent installed',\n permissionsSaved: 'Permissions saved',\n },\n linkToVibe: {\n description:\n 'Associate this entity with a vibe so it shows up under the vibe’s related tabs.',\n loadingVibes: 'Loading vibes…',\n pickVibe: 'Pick a vibe to link…',\n pickVibeAria: 'Pick a vibe to link',\n private: 'Private to me',\n shared: 'Shared with everyone who has access to this vibe',\n title: 'Link to Vibe (optional)',\n visibilityLabel: 'Who can see it',\n },\n mesh: {\n permissionsSaved: 'Permissions saved',\n },\n notes: {\n cancel: 'Cancel',\n columnActions: 'Actions',\n columnTags: 'Tags',\n columnTitle: 'Title',\n columnUpdated: 'Updated',\n columnVibe: 'Vibe',\n createNote: 'Create Note',\n edit: 'Edit',\n editNote: 'Edit Note',\n emptyTitle: 'No notes yet',\n newNote: 'New Note',\n pinThisNote: 'Pin this note',\n preview: 'Preview',\n relatedVibe: 'Related Vibe (optional)',\n saveNote: 'Save Note',\n saving: 'Saving...',\n tags: 'Tags',\n titlePlaceholder: 'Note title...',\n },\n pages: {\n ai: {\n back: 'Back',\n dangerZone: 'Danger Zone',\n goToAgents: 'Go to Agents',\n noActiveAgent: 'No active agent',\n noActiveAgentAvailable: 'No active agent available',\n saveConfig: 'Save Config',\n savedSuccessfully: 'Saved successfully',\n saving: 'Saving...',\n send: 'Send',\n sessionConfig: 'Session Configuration',\n terminateSession: 'Terminate Session',\n terminating: 'Terminating...',\n thinking: 'Thinking...',\n },\n },\n pluginPanel: {\n closeTab: 'Close tab {{name}}',\n maximize: 'Maximize',\n newTab: 'New tab',\n openExternal: 'Open in new browser tab',\n reload: 'Reload',\n resize: 'Resize panel',\n restore: 'Restore size',\n tabs: 'Plugin tabs',\n },\n plugins: {\n categories: 'Plugin categories',\n clearSearch: 'Clear search',\n commands: 'Command reference',\n commandsHint:\n 'See the agent admin sub-panel or the plugin README for the documented command list.',\n copyInstall: 'Copy install command for {{name}}',\n copyUsage: 'Copy usage snippet for {{name}}',\n description: 'Browse and install plugins to extend your VibeControls agents.',\n empty: {\n description: 'Try a different search term or category.',\n title: 'No matching plugins',\n },\n install: 'Install',\n searchLabel: 'Search plugins',\n searchPlaceholder: 'Search by name, description, or package…',\n title: 'Plugins',\n usage: 'Usage',\n },\n sessions: {\n card: {\n openTerminal: 'Open Terminal',\n restart: 'Restart',\n shareSession: 'Share Session',\n start: 'Start',\n stop: 'Stop',\n terminate: 'Terminate',\n },\n collaborators: {\n editor: 'Editor',\n giveControl: 'Give control',\n hasControl: 'Has Control',\n owner: 'Owner',\n requestControl: 'Request Control',\n requesting: 'Requesting...',\n title: 'Collaborators',\n transferControl: 'Transfer control',\n viewOnlyMode: 'View only mode',\n viewer: 'Viewer',\n viewing: 'Viewing',\n you: 'You',\n },\n control: {\n hasControl: 'has control',\n noControl: 'No control',\n noOneHasControl: 'No one has control',\n releaseControl: 'Release Control',\n releasing: 'Releasing...',\n requesting: 'Requesting...',\n someone: 'Someone',\n takeControl: 'Take Control',\n userHasControl: '{{username}} has control',\n viewOnly: 'View only',\n watching: 'watching',\n you: 'You',\n youHaveControl: 'You have control',\n },\n form: {\n agent: 'Agent',\n autoStart: 'Auto-start when agent connects',\n cancel: 'Cancel',\n command: 'Command',\n createSession: 'Create Session',\n creating: 'Creating...',\n editSession: 'Edit Session',\n name: 'Name',\n newSession: 'New Session',\n saveChanges: 'Save Changes',\n selectAgent: 'Select Agent...',\n selectVibe: 'Select Vibe...',\n type: 'Type',\n vibeProject: 'Vibe (Project)',\n workingDirectory: 'Working Directory',\n },\n list: {\n colActions: 'Actions',\n colAgent: 'Agent',\n colName: 'Name',\n colStatus: 'Status',\n colTarget: 'Target',\n colType: 'Type',\n colUpdated: 'Updated',\n colVibe: 'Vibe',\n noSessionsTitle: 'No sessions yet',\n startSession: 'Start Session',\n terminate: 'Terminate',\n },\n share: {\n activeLinks: 'Active Links',\n canControl: 'Can Control',\n createLink: 'Create Link',\n createShareLink: 'Create Share Link',\n creating: 'Creating...',\n currentlySharedWith: 'Currently Shared With',\n emailAddress: 'Email Address',\n expiresIn: 'Expires In',\n linkNameOptional: 'Link Name (optional)',\n maxUses: 'Max Uses',\n messageOptional: 'Message (optional)',\n passwordOptional: 'Password (optional)',\n permission: 'Permission',\n shareSession: 'Share Session',\n shareWithUser: 'Share with User',\n sharing: 'Sharing...',\n title: 'Share Session',\n viewOnly: 'View Only',\n },\n shared: {\n isTyping: 'is typing',\n release: 'Release',\n requestControl: 'Request control',\n requesting: 'Requesting...',\n someone: 'Someone',\n takeControl: 'Take control',\n viewOnly: 'View Only',\n viewOnlyCannotType: 'View only - You cannot type in this session',\n youHaveControl: 'You have control',\n },\n sharedTerminal: {\n userTyping: '{{name}} is typing',\n },\n terminal: {\n closeTab: 'Close Tab',\n connecting: 'Connecting...',\n connectionLost: 'Connection Lost',\n newSession: 'New Session',\n noTerminalsOpen: 'No terminals open',\n openInNewTab: 'Open in New Tab',\n pinTab: 'Pin Tab',\n reconnect: 'Reconnect',\n reconnectNow: 'Reconnect Now',\n rename: 'Rename',\n restartSession: 'Restart',\n restartTerminal: 'Restart Terminal',\n retry: 'Retry',\n sessionErrored: 'Session ended',\n sessionInfo: 'Session info',\n sessionStopped: 'Session stopped',\n sessionStoppedHint: 'This terminal is no longer running.',\n shareSession: 'Share / offer session',\n stopTerminal: 'Stop Terminal',\n unpinTab: 'Unpin Tab',\n viewAgent: 'View agent',\n viewTarget: 'View target',\n },\n },\n settings: {\n add: 'Add',\n addNewConfig: 'Add New Configuration',\n close: 'Close',\n items: 'items',\n manageConfig: 'Manage configuration values',\n markAsSecret: 'Mark as secret',\n },\n shared: {\n agentSetupBanner: {\n clickToCopy: 'Click to copy',\n description:\n 'Install the CLI on any machine you want to manage. The only prerequisite is bun — the curl script installs it for you.',\n dismiss: 'Dismiss',\n installPrompt: 'Install the VibeControls Agent CLI to get started',\n npmPackage: 'npm package',\n setupGuide: 'Setup guide',\n title: 'Get Started with VibeControls Agent',\n viewFullSetupGuide: 'View full setup guide',\n },\n confirmDialog: {\n cancel: 'Cancel',\n confirm: 'Confirm',\n processing: 'Processing...',\n },\n entityTagPicker: {\n addTag: 'Add Tag',\n assignedTags: 'Assigned tags',\n createTag: 'Create \"{{label}}\"',\n createTagAria: 'Create tag {{label}}',\n dismissError: 'Dismiss error',\n done: 'Done',\n failedToAddTag: 'Failed to add tag',\n failedToCreateTag: 'Failed to create tag',\n failedToRemoveTag: 'Failed to remove tag',\n loading: 'Loading...',\n loadingTags: 'Loading tags...',\n noAvailableTags: 'No available tags',\n noMatchingTags: 'No matching tags',\n noTagsAssigned: 'No tags assigned',\n searchAvailableTags: 'Search available tags',\n searchPlaceholder: 'Search tags...',\n tagSuggestions: 'Tag suggestions',\n untitledTag: 'Untitled tag',\n },\n errorState: {\n title: 'Something went wrong',\n tryAgain: 'Try Again',\n },\n filterDropdown: {\n all: 'All',\n },\n getHelpButton: {\n label: 'Get Help',\n tooltip: 'Ask the assistant to explain',\n },\n installTabs: {\n clickToCopy: 'Click to copy',\n curlDescription:\n 'The script installs bun (pinned, v1.3.10) then installs @vibecontrols/agent and core plugins. Only bun is required on your machine — no other prerequisites. The trailing “&& hash -r” refreshes your shell so “vibe” works immediately (using fish? drop it — fish auto-rehashes).',\n curlRecommended: 'Curl (Recommended)',\n linux: 'Linux',\n macos: 'macOS',\n npm: 'NPM',\n npmDescription:\n 'Requires Node.js >= 18. You can also pass @<version> to pin a specific release.',\n viewInstallScript: 'View the install script',\n windows: 'Windows',\n },\n loadingState: {\n loading: 'Loading...',\n },\n notificationToast: {\n moreNotifications: 'more notification(s)',\n },\n promptDialog: {\n cancel: 'Cancel',\n confirm: 'Confirm',\n processing: 'Processing...',\n },\n quotaExhaustedDialog: {\n dismiss: 'Dismiss',\n title: 'Quota Reached',\n viewBilling: 'View Billing',\n },\n searchInput: {\n placeholder: 'Search...',\n },\n searchableSelect: {\n noOptionsFound: 'No options found',\n placeholder: 'Select...',\n searchPlaceholder: 'Search...',\n },\n sessionNotificationBanner: {\n agentNotifications: 'Agent Notifications',\n connecting: 'Connecting...',\n disconnected: 'Disconnected',\n live: 'Live',\n moreNotifications: 'more notification(s)',\n reconnect: 'Reconnect',\n },\n tagFilter: {\n all: 'All',\n label: 'Tag',\n },\n },\n targets: {\n deleteTarget: 'Delete Target',\n editTarget: 'Edit Target',\n installAgent: 'Install Agent',\n openTerminal: 'Open Terminal',\n selectTarget: 'Select {{name}}',\n startingTerminal: 'Starting…',\n startingTerminalHint: 'Starting terminal session…',\n targetActions: 'Target actions',\n testConnection: 'Test Connection',\n uninstallAgent: 'Uninstall Agent',\n },\n tunnels: {\n audit: {\n emptyEntriesTitle: 'No audit entries yet',\n emptyTitle: 'Open a tunnel to see its audit trail',\n title: 'Audit',\n },\n back: 'Back',\n cli: {\n followSessions: 'Follow sessions',\n issueToken: 'Issue a one-shot token',\n rotateCredentials: 'Rotate credentials',\n startLocally: 'Start locally',\n stop: 'Stop',\n },\n createTitle: 'Create tunnel',\n createTunnel: 'Create tunnel',\n creating: 'Creating...',\n detail: {\n audit: 'Audit',\n cli: 'CLI',\n domains: 'Domains',\n endpoints: 'Endpoints',\n overview: 'Overview',\n sessions: 'Sessions',\n settings: 'Settings',\n usage: 'Usage',\n },\n domains: {\n addDomain: 'Add domain',\n adding: 'Adding...',\n attachCustomDomain: 'Attach a custom domain',\n emptyTitle: 'No domains yet',\n title: 'Domains',\n },\n list: {\n createTunnel: 'Create tunnel',\n emptyTitle: 'No tunnels yet',\n newTunnel: 'New tunnel',\n title: 'Tunnels',\n },\n next: 'Next',\n noDomain: 'No domain attached',\n open: 'Open',\n overview: {\n activity: 'Activity',\n configuration: 'Configuration',\n },\n providers: {\n emptyTitle: 'No providers registered',\n title: 'Providers',\n },\n review: 'Review',\n sessions: {\n emptySessionsTitle: 'No sessions',\n emptyTitle: 'No active sessions',\n revoke: 'Revoke',\n title: 'Sessions',\n },\n settings: {\n deleteTunnel: 'Delete tunnel',\n deleteTunnelBtn: 'Delete tunnel',\n rotateCredentials: 'Rotate credentials',\n rotateNow: 'Rotate now',\n rotating: 'Rotating...',\n },\n start: 'Start',\n stop: 'Stop',\n tabs: {\n audit: 'Audit',\n domains: 'Domains',\n providers: 'Providers',\n sessions: 'Sessions',\n tunnels: 'Tunnels',\n usage: 'Usage',\n },\n usage: {\n emptyTitle: 'Usage aggregation coming soon',\n emptyUsageTitle: 'No usage yet',\n title: 'Usage',\n },\n },\n vibedeck: {\n buttonForm: {\n action: 'Action',\n cancel: 'Cancel',\n createNewAction: 'Create new action',\n label: 'Label',\n requireConfirmation: 'Require confirmation',\n save: 'Save',\n saving: 'Saving...',\n },\n executionLog: {\n title: 'Execution Log',\n },\n share: {\n createLink: 'Create Link',\n createShareLink: 'Create share link',\n manageAccess: 'Manage access to this VibeDeck',\n noLinks: 'No share links yet',\n shareDeck: 'Share deck',\n },\n switcher: {\n delete: 'Delete',\n duplicate: 'Duplicate',\n editDeck: 'Edit deck',\n newDeck: 'New Deck',\n setDefault: 'Set as default',\n share: 'Share',\n },\n },\n vibes: {\n form: {\n agent: 'Agent',\n cancel: 'Cancel',\n createNewVibe: 'Create New Vibe',\n createVibe: 'Create Vibe',\n description: 'Description',\n editVibe: 'Edit Vibe',\n name: 'Name',\n path: 'Path',\n saveChanges: 'Save Changes',\n saving: 'Saving...',\n selectAgent: 'Select Agent...',\n tags: 'Tags (comma-separated)',\n type: 'Type',\n },\n list: {\n createVibe: 'Create Vibe',\n emptyTitle: 'No vibes yet',\n },\n },\n webhooks: {\n addWebhook: 'Add Webhook',\n emptyTitle: 'No webhooks configured',\n },\n },\n vibesPage: {\n accessDeniedDescription:\n \"You don't have permission to view vibes. Contact your workspace administrator for access.\",\n accessDeniedTitle: 'Access Denied',\n addNewVibe: 'Add New Vibe',\n addVibe: 'Add Vibe',\n agentLabel: 'Agent',\n allAgents: 'All Agents',\n cancel: 'Cancel',\n createVibe: 'Create Vibe',\n createdSuccess: 'Vibe created successfully',\n creating: 'Creating...',\n deniedCreateTooltip: \"You don't have permission to create vibes\",\n descriptionActive: '{{active}} of {{total}} vibes active',\n dismiss: 'Dismiss',\n emptyAdjustSearch: 'Try adjusting your search or filters',\n emptyNoVibesConfigured: 'No vibes configured',\n emptyNoVibesDescription: 'Add your first vibe to start managing your development projects',\n emptyNoVibesFound: 'No vibes found',\n failedCreate: 'Failed to create vibe',\n failedLoad: 'Failed to load vibes',\n fillRequired: 'Please fill in all required fields',\n filterAgent: 'Agent',\n filterStatus: 'Status',\n filterType: 'Type',\n gridViewTitle: 'Grid view',\n listViewTitle: 'List view',\n loadingPermissions: 'Loading permissions...',\n loadingVibes: 'Loading vibes...',\n nameLabel: 'Name *',\n namePlaceholder: 'My Project',\n nameRequired: 'Name is required',\n openEditorPathMissing: 'No path available to open in editor',\n pathLabel: 'Path',\n pathOptional: '(optional)',\n pathPlaceholder: '/path/to/project',\n pathRequired: 'Path is required',\n refreshTitle: 'Refresh vibes',\n refreshing: '(refreshing...)',\n searchPlaceholder: 'Search vibes...',\n selectAgent: 'Select an agent',\n showingResults: 'Showing {{filtered}} of {{total}} vibes',\n statusActive: 'Active',\n statusAll: 'All Statuses',\n statusArchived: 'Archived',\n statusError: 'Error',\n statusInactive: 'Inactive',\n tags: 'Tags',\n title: 'Vibes',\n typeAll: 'All Types',\n typeCustom: 'Custom',\n typeLabel: 'Type',\n typeMonorepo: 'Monorepo',\n typePackage: 'Package',\n typeProject: 'Project',\n typeRepository: 'Repository',\n typeWorkspace: 'Workspace',\n upgradeChipTooltip: 'Free plan limit — upgrade for more vibes',\n usageChip: '{{current}} of {{limit}} vibes used',\n },\n webhooks: {\n accessDeniedDescription: \"You don't have permission to view webhooks.\",\n active: 'Active',\n agent: 'agent',\n agentScope: 'Agent Scope',\n agentScopeHint: 'Only fire for events from selected agents. Leave empty for all agents.',\n createWebhook: 'Create Webhook',\n createdSuccess: 'Webhook created successfully',\n creating: 'Creating...',\n customEventHint: 'Add custom events using namespace:event format (e.g., deploy:started)',\n customEventPlaceholder: 'custom:event-name',\n deletedSuccess: 'Webhook deleted successfully',\n deliveries: 'deliveries',\n disable: 'Disable',\n disabledSuccess: 'Webhook disabled successfully',\n emptyAdjustSearch: 'Try adjusting your search or filters',\n emptyConfigured: 'No webhooks configured',\n emptyDescription: 'Create a webhook to receive notifications about events in your workspace',\n emptyFound: 'No webhooks found',\n enable: 'Enable',\n enabledSuccess: 'Webhook enabled successfully',\n error: 'Error',\n eventRequired: 'At least one event must be selected',\n events: 'Events',\n failedCreate: 'Failed to create webhook',\n failedDelete: 'Failed to delete webhook',\n failedLoad: 'Failed to load webhooks',\n failedTest: 'Failed to test webhook',\n failedToggle: 'Failed to update webhook state',\n failures: 'failures',\n gridViewTitle: 'Grid view',\n inactive: 'Inactive',\n justNow: 'Just now',\n lastDelivery: 'Last delivery',\n lastError: 'Last error',\n listViewTitle: 'List view',\n loading: 'Loading webhooks...',\n name: 'Name',\n namePlaceholder: 'Slack Notifications',\n nameRequired: 'Name is required',\n never: 'Never',\n newWebhook: 'New Webhook',\n of: 'of',\n refreshTitle: 'Refresh webhooks',\n refreshing: 'refreshing...',\n scopedTo: 'Scoped to',\n searchPlaceholder: 'Search webhooks...',\n secret: 'Secret',\n secretPlaceholder: 'Optional signing secret',\n showingResults: 'Showing',\n signingKey: 'Signing Key',\n signingKeyHint: 'Used to sign payloads with HMAC-SHA256. Header: X-Webhook-Signature',\n signingKeyPlaceholder: 'HMAC signing key for delivery verification',\n status: 'Status',\n test: 'Test',\n testSuccess: 'Webhook test delivery completed',\n url: 'URL',\n urlInvalid: 'Please enter a valid URL (e.g., https://example.com/webhook)',\n urlPlaceholder: 'https://hooks.slack.com/services/...',\n urlProtocolRequired: 'URL must use http:// or https:// protocol',\n urlRequired: 'URL is required',\n withErrors: 'With Errors',\n },\n} as const;\n"],"mappings":";AAUA,IAAa,IAAiB;CAC5B,SAAS;EACP,mBAAmB;EACnB,MAAM;EACP;CACD,cAAc;EACZ,cAAc;EACd,aAAa;EACb,wBAAwB;EACxB,mBAAmB;EACnB,cAAc;EACd,cAAc;EACd,QAAQ;EACR,oBAAoB;EACpB,SAAS;EACT,mBAAmB;EACnB,OAAO;EACP,eAAe;EACf,kBAAkB;EAClB,uBAAuB;EACvB,oBAAoB;EACpB,cAAc;EACd,QAAQ;EACR,+BACE;EACF,cAAc;EACd,UAAU;EACV,gCACE;EACF,0BAA0B;EAC1B,eAAe;EACf,2BAA2B;EAC3B,sBAAsB;EACtB,WAAW;EACX,+BAA+B;EAC/B,sBAAsB;EACtB,uBACE;EACF,YAAY;EACZ,YAAY;EACZ,cAAc;EACd,kBAAkB;EAClB,0BACE;EACF,gBAAgB;GACd,QACE;GACF,OAAO;GACP,SAAS;GACV;EACD,cAAc;EACd,kBACE;EACF,cAAc;EACd,YAAY;EACZ,wBAAwB;EACxB,iBAAiB;EACjB,8BACE;EACF,0BAA0B;EAC1B,6BACE;EACF,kBAAkB;EAClB,YAAY;EACZ,kBAAkB;EAClB,iBAAiB;EACjB,UAAU;EACV,eAAe;EACf,kBAAkB;EAClB,gBAAgB;EAChB,aAAa;GACX,MAAM;GACN,YAAY;GACZ,OAAO;GACP,SAAS;GACT,cACE;GACF,eAAe;GACf,mBAAmB;GACnB,qBAAqB;GACrB,mBAAmB;GACnB,qBAAqB;GACrB,qBAAqB;GACrB,kBAAkB;GAClB,SAAS;GACT,aAAa;GACb,mBAAmB;GACnB,SAAS;GACT,QAAQ;GACR,QAAQ;GACR,SAAS;GACT,MAAM;GACN,SAAS;GACT,UACE;GACF,WAAW;GACX,YAAY;GACZ,cAAc;GACd,SAAS;GACT,SAAS;GACT,KAAK;GACL,eAAe;GACf,KAAK;GACL,QAAQ;GACR,iBAAiB;GACjB,cAAc;GACd,aAAa;GACb,eAAe;GACf,cAAc;GACd,oBAAoB;GACrB;EACD,sBAAsB;EACtB,eAAe;EACf,YAAY;EACZ,eAAe;EACf,SAAS;EACT,0BAA0B;EAC1B,sBAAsB;EACtB,kBAAkB;EAClB,mBAAmB;EACnB,mBAAmB;EACnB,UAAU;EACV,2BAA2B;EAC3B,2BAA2B;EAC3B,qBAAqB;EACrB,oBAAoB;EACpB,oBAAoB;EACpB,SAAS;EACT,UAAU;EACV,WAAW;EACX,cAAc;EACd,UAAU;GACR,SAAS;GACT,SACE;GACF,UAAU;GACV,UAAU;GACV,UAAU;GACV,SAAS;GACT,SACE;GACF,UAAU;GACV,UAAU;GACV,UAAU;GACV,cAAc;GACd,cAAc;GACf;EACD,gBAAgB;EAChB,gBAAgB;GACd,aACE;GACF,OAAO;GACP,SACE;GACH;EACD,iBAAiB;GACf,aACE;GACF,OAAO;GACP,SACE;GACH;EACD,uBAAuB;GACrB,YAAY;GACZ,SAAS;GACT,YAAY;GACZ,UACE;GACF,OAAO;GACR;EACD,oBAAoB;EACpB,oBAAoB;EACpB,kBAAkB;EAClB,cAAc;EACd,qBAAqB;EACrB,mBAAmB;EACnB,QAAQ;EACR,aAAa;EACb,eAAe;EACf,mBAAmB;EACnB,wBACE;EACF,eAAe;EACf,mBAAmB;EACnB,UAAU;EACV,QAAQ;EACR,0BAA0B;EAC1B,UAAU;EACV,WAAW;EACX,kBAAkB;EAClB,YAAY;EACZ,kBAAkB;EAClB,OAAO;EACP,UAAU;EACV,UAAU;EACV,SAAS;GACP,cAAc;GACd,WAAW;GACX,WAAW;GACX,QAAQ;GACR,gBAAgB;GAChB,gBAAgB;GAChB,SAAS;GACT,UAAU;GACV,MAAM;GACN,MAAM;GACN,SAAS;GACT,aAAa;GACb,cAAc;GACd,eAAe;GACf,WAAW;GACX,WAAW;GACX,QAAQ;GACR,MAAM;GACN,OACE;GACF,KAAK;GACL,UAAU;GACV,OAAO;GACR;EACD,eAAe;EACf,WAAW;EACX,eACE;EACF,sBAAsB;EACtB,qBAAqB;EACrB,yBACE;EACF,WAAW;EACX,QAAQ;EACR,cAAc;EACd,cAAc;EACd,oBAAoB;EACpB,mBAAmB;EACnB,0BAA0B;EAC1B,gCAAgC;EAChC,SAAS;EACT,uBAAuB;EACxB;CACD,YAAY;EACV,yBAAyB;EACzB,mBAAmB;EACnB,cAAc;EACd,YAAY;EACZ,eAAe;EACf,SAAS;EACT,oBAAoB;EACpB,cAAc;EACd,kBAAkB;EAClB,iBACE;EACF,mBAAmB;EACnB,qBAAqB;EACrB,yBACE;EACF,gBAAgB;EAChB,oBAAoB;EACpB,YAAY;EACZ,kBAAkB;EAClB,UAAU;EACV,gBAAgB;EAChB,YAAY;EACZ,mBAAmB;EACpB;CACD,QAAQ,EACN,MAAM,QACP;CACD,eAAe;EACb,cAAc;EACd,kBAAkB;EAClB,cAAc;EACd,oBAAoB;EACpB,WAAW;EACX,UAAU;EACV,YAAY;EACb;CACD,YAAY;EACV,yBACE;EACF,mBAAmB;EACnB,UAAU;EACV,aAAa;EACb,wBAAwB;EACxB,QAAQ;EACR,iBAAiB;EACjB,cAAc;EACd,kBAAkB;EAClB,aAAa;EACb,kBAAkB;EAClB,wBAAwB;EACxB,WAAW;EACX,YAAY;EACZ,kBAAkB;EAClB,cAAc;EACd,cAAc;EACd,MAAM;EACN,mBAAmB;EACnB,iBAAiB;EACjB,QAAQ;EACR,iBAAiB;EACjB,OAAO;EACP,QAAQ;EACR,MAAM;EACN,QAAQ;EACR,mBAAmB;EACnB,iBAAiB;EACjB,qBAAqB;EACrB,mBAAmB;EACnB,UAAU;EACV,aAAa;EACb,mBAAmB;EACnB,YAAY;EACZ,yBACE;EACF,mBAAmB;EACnB,0BACE;EACF,iBAAiB;EACjB,YAAY;EACZ,uBAAuB;EACvB,iBAAiB;EACjB,mBAAmB;EACnB,yBAAyB;EACzB,0BACE;EACF,oBAAoB;EACpB,YAAY;EACZ,gBAAgB;EAChB,cAAc;EACd,WAAW;EACX,eAAe;EACf,aAAa;EACb,YAAY;EACZ,oBAAoB;EACpB,aACE;EACF,qBAAqB;EACrB,cAAc;EACd,cAAc;EACd,cAAc;EACd,cAAc;EACd,SAAS;EACT,eAAe;EACf,eAAe;EACf,oBAAoB;EACpB,gBAAgB;EAChB,MAAM;EACN,UACE;EACF,wBAAwB;EACxB,OAAO;EACP,iBAAiB;EACjB,cAAc;EACd,uBACE;EACF,UAAU;EACV,aAAa;EACb,eAAe;EACf,aAAa;EACb,iBAAiB;EACjB,aAAa;EACb,iBACE;EACF,gBAAgB;EAChB,cAAc;EACd,YAAY;EACZ,QAAQ;EACR,iBAAiB;EACjB,MAAM;EACN,QAAQ;EACR,mBAAmB;EACnB,eAAe;EACf,aAAa;EACb,WAAW;EACX,cAAc;EACd,eAAe;EACf,UAAU;EACV,YAAY;EACZ,YAAY;EACZ,gBAAgB;EAChB,YAAY;EACZ,cAAc;EACd,WAAW;EACX,eAAe;EACf,eAAe;EACf,WAAW;EACX,cAAc;EACd,WAAW;EACX,QAAQ;EACR,mBAAmB;EACnB,YAAY;EACZ,OAAO;EACP,mBAAmB;EACnB,qBAAqB;EACrB,eACE;EACF,gBAAgB;EAChB,sBAAsB;EACvB;CACD,IAAI;EACF,QAAQ;EACR,cAAc;GACZ,qBAAqB;GACrB,cAAc;GACd,SAAS;GACT,OAAO;GACR;EACD,UAAU;EACV,YAAY;EACZ,eAAe;EACf,UAAU;EACV,YAAY;EACZ,SAAS;EACT,OAAO;EACP,OAAO;EACP,WAAW;EACZ;CACD,WAAW;EACT,cAAc;EACd,YAAY;EACZ,WAAW;EACX,gBAAgB;EAChB,UAAU;EACV,OAAO;EACP,YAAY;EACb;CACD,eAAe;EACb,OAAO;EACP,eACE;EACF,sBAAsB;EACvB;CACD,OAAO;EACL,QAAQ;EACR,eAAe;EACf,cAAc;EACd,cAAc;EACd,eAAe;EACf,cAAc;EACd,eAAe;EACf,cAAc;EACd,aAAa;EACb,cAAc;EACd,SAAS;EACT,OAAO;EACP,YAAY;EACZ,cAAc;EACd,aAAa;EACb,mBAAmB;EACnB,cAAc;EACd,gBAAgB;EAChB,cAAc;EACd,aAAa;EACb,kBAAkB;EAClB,QAAQ;EACR,WAAW;EACX,YAAY;EACZ,eAAe;EACf,WAAW;EACX,aAAa;EACb,oBAAoB;EACpB,MAAM;EACN,MAAM;EACN,QAAQ;EACR,IAAI;EACJ,MAAM;EACN,UAAU;EACV,UAAU;EACV,eAAe;EACf,yBAAyB;EACzB,qBAAqB;EACrB,kBAAkB;EAClB,sBAAsB;EACtB,uBAAuB;EACvB,oBAAoB;EACpB,cAAc;EACd,iBAAiB;EACjB,sBAAsB;EACtB,mBAAmB;EACnB,gBAAgB;EAChB,mBAAmB;EACnB,cAAc;EACd,kBAAkB;EAClB,iBAAiB;EACjB,mBAAmB;EACnB,oBAAoB;EACpB,qBAAqB;EACrB,SAAS;EACT,QAAQ;EACR,cAAc;EACd,aAAa;EACb,eAAe;EACf,eAAe;EACf,MAAM;EACN,cAAc;EACf;CACD,aAAa;EACX,SAAS;EACT,eAAe;EAChB;CACD,UAAU;EACR,yBAAyB;EACzB,2BACE;EACF,oBAAoB;EACpB,aAAa;EACb,OAAO;GACL,KAAK;GACL,aAAa;GACb,OAAO;GACR;EACD,YAAY;EACZ,oBAAoB;EACpB,OAAO;EACP,uBAAuB;EACvB,uBAAuB;EACxB;CACD,SAAS;EACP,cAAc;EACd,mBAAmB;EACnB,eAAe;EACf,gBAAgB;EAChB,gBAAgB;EAChB,YAAY;EACZ,qBAAqB;EACrB,eAAe;EACf,gBAAgB;EAChB,YAAY;EACZ,eAAe;EACf,eACE;EACF,iBAAiB;EACjB,aAAa;EACb,kBAAkB;EAClB,wBAAwB;EACxB,MAAM;EACN,cAAc;EACd,aAAa;EACb,aAAa;EACb,mBAAmB;EACnB,aAAa;EACb,iBAAiB;EACjB,gBAAgB;EAChB,cAAc;EACd,YAAY;EACZ,YAAY;EACZ,cAAc;EACd,kBAAkB;EAClB,YAAY;EACZ,gBAAgB;EAChB,YAAY;EACZ,YAAY;EACZ,gBAAgB;EAChB,SAAS;EACT,gBAAgB;EAChB,cAAc;EACd,aAAa;EACb,UAAU;EACV,WAAW;EACX,iBAAiB;EACjB,cAAc;EACd,uBAAuB;EACvB,cAAc;EACd,yBAAyB;EACzB,eAAe;EACf,cAAc;EACd,kBAAkB;EAClB,eAAe;EACf,UAAU;EACV,YAAY;EACZ,WAAW;EACX,gBAAgB;EAChB,kBAAkB;EAClB,MAAM;EACN,aAAa;EACb,WAAW;EACX,YAAY;EACZ,eAAe;EACf,aAAa;EACb,UAAU;EACV,cAAc;EACd,UAAU;EACV,aAAa;EACb,WAAW;EACX,kBAAkB;EAClB,mBAAmB;EACnB,OAAO;EACP,gBAAgB;EAChB,eAAe;EACf,MAAM;EACN,WAAW;EACX,iBAAiB;EACjB,OAAO;EACP,gBAAgB;EAChB,OAAO;EACP,YAAY;EACZ,oBAAoB;EACpB,iBAAiB;EACjB,mBAAmB;EACnB,kBAAkB;EACnB;CACD,aAAa;EACX,eAAe;EACf,YAAY;EACZ,gBAAgB;EAChB,aAAa;EACb,SAAS;EACV;CACD,QAAQ;EACN,yBAAyB;EACzB,mBAAmB;EACnB,SAAS;EACT,MAAM;EACN,QAAQ;EACR,OAAO;EACP,SAAS;EACT,QAAQ;EACR,SAAS;EACT,MAAM;EACN,OAAO;EACP,gBAAgB;EAChB,YAAY;EACZ,MAAM;EACN,UAAU;EACV,SAAS;EACT,aAAa;EACb,cAAc;EACd,SAAS;EACT,YAAY;EACZ,OAAO;EACP,MAAM;EACN,OAAO;EACP,QAAQ;EACR,UAAU;EACV,MAAM;EACN,OAAO;EACP,SAAS;EACV;CACD,WAAW;EACT,cAAc;EACd,eAAe;EACf,UAAU;EACV,kBAAkB;EAClB,UAAU;EACV,oBAAoB;EACpB,iBAAiB;EACjB,gBAAgB;EAChB,YAAY;EACZ,iBAAiB;EACjB,eACE;EACF,cAAc;EACd,aAAa;EACb,kBACE;EACF,kBAAkB;EAClB,wBAAwB;EACxB,MAAM;EACN,eAAe;EACf,aAAa;EACb,mBAAmB;EACnB,aACE;EACF,mBAAmB;EACnB,gBAAgB;EAChB,cAAc;EACd,YAAY;EACZ,eAAe;EACf,YAAY;EACZ,cAAc;EACd,iBAAiB;EACjB,YAAY;EACZ,gBAAgB;EAChB,sBAAsB;EACtB,eAAe;EACf,qBAAqB;EACrB,WAAW;EACX,iBAAiB;EACjB,qBAAqB;EACrB,oBAAoB;EACpB,uBAAuB;EACvB,gBAAgB;EAChB,qBAAqB;EACrB,SAAS;EACT,gBAAgB;EAChB,UAAU;EACV,WAAW;EACX,iBAAiB;EACjB,cAAc;EACd,YAAY;EACZ,uBAAuB;EACvB,eAAe;EACf,UAAU;EACV,YAAY;EACZ,gBAAgB;EAChB,kBAAkB;EAClB,mBAAmB;EACnB,oBACE;EACF,qBAAqB;EACrB,YAAY;EACZ,WAAW;EACX,mBAAmB;EACnB,OAAO;EACP,gBAAgB;EAChB,eAAe;EACf,MAAM;EACN,WAAW;EACX,iBAAiB;EACjB,UAAU;EACV,OAAO;EACP,MAAM;EACN,SAAS;EACT,YAAY;EACZ,cAAc;EACd,cAAc;EACd,oBAAoB;EACpB,WAAW;EACX,aAAa;EACb,YAAY;EACZ,aAAa;EACb,gBAAgB;EAChB,SAAS;EACT,cAAc;EACd,oBAAoB;EACpB,cAAc;EACf;CACD,eAAe;EACb,iBAAiB;EACjB,YAAY;EACZ,gBAAgB;EAChB,eAAe;EACf,SAAS;EACV;CACD,eAAe;EACb,QAAQ;EACR,UAAU;EACV,UAAU;EACV,YAAY;EACZ,WAAW;EACX,aAAa;EACb,SAAS;EACV;CACD,6BAA6B;EAC3B,QAAQ;EACR,eAAe;EACf,UAAU;EACV,aAAa;EACb,MAAM;EACN,QAAQ;EACR,OAAO;EACR;CACD,gBAAgB;EACd,UAAU;EACV,cAAc;EACd,eAAe;EACf,aAAa;EACb,QAAQ;EACR,eAAe;EACf,cAAc;EACd,cAAc;EACd,eAAe;EACf,eAAe;EACf,qBAAqB;EACrB,oBAAoB;EACpB,yBAAyB;EACzB,WAAW;EACX,kBAAkB;EAClB,qBAAqB;EACrB,WAAW;EACX,gBAAgB;EAChB,SAAS;EACT,QAAQ;EACR,SAAS;EACT,iBAAiB;EACjB,eAAe;EACf,cAAc;EACd,kBAAkB;EAClB,gBAAgB;EAChB,iBAAiB;EACjB,WAAW;EACX,SAAS;EACT,eAAe;EACf,gBAAgB;EAChB,eAAe;EACf,gBAAgB;EAChB,QAAQ;EACR,cAAc;EACd,iBAAiB;EACjB,aAAa;EACb,cAAc;EACd,kBACE;EACF,YAAY;EACZ,iBAAiB;EACjB,iBAAiB;EACjB,cAAc;EACd,iBAAiB;EACjB,iBAAiB;EACjB,iBAAiB;EACjB,WAAW;EACX,WAAW;EACX,YAAY;EACZ,YAAY;EACZ,uBAAuB;EACvB,kBAAkB;EAClB,OAAO;EACR;CACD,QAAQ;EACN,aAAa;EACb,IAAI;EACJ,OAAO;EACP,kBAAkB;EAClB,UAAU;EACV,SAAS;EACT,WAAW;EACX,YAAY;EACZ,eAAe;EACf,WAAW;EACZ;CACD,QAAQ;EACN,QAAQ;EACR,aAAa;EACb,QAAQ;EACR,uBAAuB;EACvB,aAAa;EACb,qBAAqB;EACrB,KAAK;EACL,SAAS;EACT,UAAU;EACV,SAAS;EACT,aAAa;EACb,eAAe;EACf,aAAa;EACb,mBAAmB;EACnB,QAAQ;EACR,YAAY;EACZ,OAAO;EACP,oBAAoB;EACpB,YAAY;EACZ,SAAS;EACT,qBAAqB;EACrB,SAAS;EACT,eAAe;EACf,UAAU;EACV,eAAe;EACf,eAAe;EACf,cAAc;EACd,SAAS;EACT,QAAQ;EACR,QAAQ;EACR,YAAY;EACZ,OAAO;EACR;CACD,MAAM;EACJ,YAAY;EACZ,OAAO;EACP,gBAAgB;EAChB,aAAa;EACb,cAAc;EACd,SAAS;EACT,QAAQ;EACR,aAAa;EACb,YAAY;EACZ,aAAa;EACb,MAAM;EACN,eAAe;EACf,iBAAiB;EACjB,4BACE;EACF,mBAAmB;EACnB,OAAO;EACP,QAAQ;EACR,aAAa;EACb,mBAAmB;EACpB;CACD,MAAM;EACJ,SAAS;GACP,gBAAgB;GAChB,WAAW;GACX,YAAY;GACZ,eAAe;GACf,YAAY;GACZ,cAAc;GACf;EACD,QAAQ;GACN,MAAM;GACN,WAAW;GACX,SAAS;GACT,iBAAiB;GACjB,WAAW;GACX,gBAAgB;GAChB,aAAa;GACb,QAAQ;GACR,MAAM;GACN,WAAW;GACX,SAAS;GACT,OAAO;GACP,kBAAkB;GAClB,MAAM;GACN,UAAU;GACV,SAAS;GACT,UAAU;GACV,OAAO;GACP,aAAa;GACb,MAAM;GACN,aAAa;GACb,UAAU;GACV,OAAO;IACL,WAAW;IACX,QAAQ;IACT;GACD,QAAQ;GACR,SAAS;GACT,OAAO;GACP,MAAM;GACP;EACD,cAAc;EACd,SAAS;GACP,KAAK;GACL,MAAM;GACN,MAAM;GACN,eAAe;GACf,iBAAiB;GACjB,SAAS;GACT,aAAa;GACb,QAAQ;GACR,MAAM;GACN,aAAa;GACb,QAAQ;GACR,MAAM;GACN,QAAQ;GACR,QAAQ;GACR,MAAM;GACN,KAAK;GACL,OAAO;GACR;EACD,oBAAoB;EACpB,UAAU;GACR,YAAY;GACZ,QAAQ;GACT;EACD,MAAM;GACJ,QAAQ;GACR,UAAU;GACV,SAAS;GACV;EACF;CACD,KAAK;EACH,SAAS;EACT,YAAY;EACZ,QAAQ;EACR,IAAI;EACJ,aAAa;EACb,WAAW;EACX,QAAQ;EACR,QAAQ;EACR,MAAM;EACN,UAAU;EACV,UAAU;EACV,UAAU;EACV,SAAS;EACT,WAAW;EACX,cAAc;EACd,UAAU;EACV,OAAO;EACP,UAAU;EACX;CACD,aAAa;EACX,cAAc;EACd,kBAAkB;EAClB,YAAY;EACZ,MAAM;EACN,SAAS;EACT,SAAS;EACT,YAAY;EACZ,SAAS;EACT,oBAAoB;EACpB,QAAQ;EACR,UAAU;EACV,cAAc;EACd,QAAQ;EACR,UAAU;EACV,QAAQ;EACR,MAAM;EACN,SAAS;EACT,MAAM;EACN,eAAe;EAChB;CACD,cAAc;EACZ,yBAAyB;EACzB,UAAU;GACR,aAAa;GACb,wBAAwB;GACxB,gBAAgB;GAChB,eAAe;GAChB;EACD,aAAa;EACb,OAAO;GACL,UAAU;GACV,SAAS;GACT,gBAAgB;GAChB,gBAAgB;GAChB,eAAe;GACf,kBAAkB;GAClB,mBAAmB;GACnB,YAAY;GACZ,cAAc;GACd,cAAc;GACf;EACD,YAAY;GACV,SAAS;GACT,OAAO;GACR;EACD,oBAAoB;EACpB,SAAS;EACT,UAAU;GACR,cAAc;GACd,aAAa;GACb,gBAAgB;GAChB,iBAAiB;GACjB,SAAS;GACT,iBAAiB;GACjB,eAAe;GAChB;EACD,OAAO;GACL,QAAQ;GACR,QAAQ;GACR,WAAW;GACX,OAAO;GACP,QAAQ;GACR,SAAS;GACT,UAAU;GACV,SAAS;GACT,OAAO;GACR;EACD,MAAM;GACJ,SAAS;GACT,UAAU;GACV,SAAS;GACT,YAAY;GACZ,SAAS;GACV;EACD,OAAO;EACR;CACD,cAAc,EACZ,QAAQ;EACN,cAAc;EACd,kBACE;EACF,QAAQ;EACR,aAAa;EACb,uBAAuB;EACvB,YAAY;EACZ,YAAY;EACZ,iBAAiB;EACjB,UAAU;EACV,eAAe;EACf,SAAS;EACT,oBAAoB;EACpB,eAAe;EACf,cAAc;EACd,UAAU;EACV,cACE;EACF,iBAAiB;EACjB,UAAU;EACV,cAAc;EACd,UAAU;EACV,UAAU;EACV,UAAU;EACV,qBAAqB;EACtB,EACF;CACD,WAAW;EACT,WAAW;EACX,OAAO;EACP,YAAY;EACZ,SAAS;EACT,cAAc;EACf;CACD,gBAAgB;EACd,cAAc;EACd,kBAAkB;EAClB,YAAY;EACZ,eAAe;EACf,kBAAkB;EAClB,WAAW;EACX,gBAAgB;EAChB,QAAQ;EACR,uBACE;EACF,kBAAkB;EAClB,eAAe;EACf,cAAc;EACd,oBAAoB;EACpB,cAAc;EACd,SAAS;EACT,kBAAkB;EAClB,SAAS;EACT,UAAU;EACV,gBAAgB;EAChB,YAAY;EACZ,qBAAqB;EACrB,cAAc;EACd,YAAY;EACZ,oBAAoB;EACpB,gBAAgB;EAChB,UAAU;EACV,IAAI;EACJ,iBAAiB;EACjB,mBAAmB;EACnB,oBAAoB;EACpB,WAAW;EACX,UAAU;EACV,mBAAmB;EACnB,UAAU;EACV,oBAAoB;EACpB,oBAAoB;EACpB,cAAc;EACd,mBAAmB;EACnB,cAAc;EACd,SAAS;EACT,UAAU;EACV,mBAAmB;EACnB,aAAa;EACb,gBAAgB;EAChB,4BACE;EACF,6BAA6B;EAC7B,6BAA6B;EAC7B,sBAAsB;EACtB,sBAAsB;EACtB,aAAa;EACb,OAAO;EACP,YAAY;EACZ,gBAAgB;EAChB,MAAM;EACN,iBAAiB;EACjB,cAAc;EACd,kBAAkB;EAClB,aAAa;EACb,aAAa;EACb,MAAM;EACN,UAAU;EACV,0BAA0B;EAC1B,UAAU;EACV,WAAW;EACX,SAAS;EACT,WAAW;EACX,gBAAgB;EAChB,mBAAmB;EACnB,iBAAiB;EACjB,uBAAuB;EACvB,kBAAkB;EAClB,KAAK;EACN;CACD,UAAU;EACR,yBAAyB;EACzB,QAAQ;EACR,OAAO;EACP,UAAU;EACV,UAAU;EACV,OAAO;EACP,WACE;EACF,iBACE;EACF,eAAe;EACf,oBACE;EACF,qBAAqB;EACrB,mBAAmB;EACnB,YAAY;GACV,KAAK;IACH,SAAS;IACT,MAAM;IACN,YAAY;IACZ,MAAM;IACN,MAAM;IACP;GACD,MAAM;GACN,OAAO;GACR;EACD,aAAa;EACb,SAAS;EACT,oBAAoB;EACpB,qBAAqB;EACrB,qBAAqB;EACrB,eAAe;EACf,gBAAgB;EAChB,UAAU;EACV,UAAU;EACV,aAAa;EACb,mBAAmB;EACnB,iBAAiB;EACjB,kBACE;EACF,YAAY;EACZ,aAAa;EACb,QAAQ;EACR,eAAe;EACf,QAAQ;EACR,cAAc;EACd,cAAc;EACd,YAAY;EACZ,cAAc;EACd,eAAe;EACf,uBAAuB;EACvB,qBAAqB;EACrB,YAAY;EACZ,aAAa;EACb,gBAAgB;EAChB,cAAc;EAEd,cAAc;EACd,iBAAiB;EACjB,YAAY;EACZ,YAAY;EACZ,eAAe;EACf,gBAAgB;EAChB,eAAe;EACf,OAAO,EACL,aAAa,gBACd;EACD,SAAS;GACP,OAAO;GACP,MAAM;GACN,QAAQ;GACR,QAAQ;GACR,MAAM;GACN,MAAM;GACP;EACD,cAAc;EAEd,MAAM;GACJ,SAAS;GACT,OAAO;GACP,KAAK;GACL,WAAW;GACX,MAAM;GACN,MAAM;GACN,UAAU;GACV,WAAW;GACX,YAAY;GACZ,UAAU;GACV,SAAS;GACT,QAAQ;GACR,QAAQ;GACR,QAAQ;GACR,MAAM;GACN,MAAM;GACN,WAAW;GACX,YAAY;GACb;EACD,eAAe;EACf,gBAAgB;EAChB,mBAAmB;EACnB,eAAe;EACf,SAAS;EACT,oBAAoB;EACpB,MAAM;EACN,iBAAiB;EACjB,cAAc;EACd,YAAY;EACZ,mBAAmB;EACnB,uBAAuB;EACvB,iBACE;EACF,WAAW;EACX,QAAQ;EACR,IAAI;EACJ,SAAS;EACT,iBAAiB;EAEjB,SAAS;GACP,aAAa;GACb,OAAO;GACP,WAAW;GACX,YAAY;GACZ,cAAc;GACd,cAAc;GACd,eAAe;GACf,aAAa;GACb,YAAY;GACZ,UAAU;GACV,eAAe;GACf,WAAW;GACX,iBAAiB;GACjB,aAAa;GACb,WAAW;GACX,aAAa;GACb,WAAW;GACX,OAAO;GACP,YAAY;GACZ,UAAU;GACV,UAAU;GACV,cAAc;GACf;EACD,aAAa;EACb,mBACE;EACF,SAAS;EACT,aACE;EACF,qBAAqB;EACrB,WAAW;EACX,eACE;EACF,mBAAmB;EACnB,gBAAgB;EAChB,kBACE;EACF,cAAc;EACd,YAAY;EACZ,QAAQ;EACR,SAAS;EACT,oBAAoB;EACpB,SAAS;EACT,WAAW;EACX,SAAS;EACT,gBAAgB;EAEhB,IAAI;GACF,YAAY;GACZ,UAAU;GACV,WAAW;GACX,aAAa;GACb,YAAY;GACZ,YAAY;GACZ,WAAW;GACX,aAAa;GACb,aAAa;GACb,WAAW;GACX,WAAW;GACX,SAAS;GACT,YAAY;GACZ,SAAS;GACT,WAAW;GACX,YAAY;GACZ,YAAY;GACZ,SAAS;GACT,SAAS;GACT,WAAW;GACX,WAAW;GACZ;EACD,cAAc;EACd,cAAc;EACd,mBAAmB;EACnB,gBAAgB;EAChB,aAAa;EACb,aAAa;EACb,aAAa;EACb,WAAW;EACX,eAAe;EACf,YAAY;EACZ,UAAU;EACV,gBAAgB;EAChB,iBAAiB;EACjB,eAAe;EACf,SAAS;EACT,UAAU;EACV,WAAW;EACX,cAAc;EACd,MAAM;EACN,SAAS;EACT,cAAc;EACd,MAAM;EACN,wBAAwB;EACxB,4BAA4B;EAC5B,sBAAsB;EACtB,iBAAiB;EACjB,kBACE;EACF,mBAAmB;EACnB,SAAS;EACT,YAAY;EACZ,YAAY;EACZ,SAAS;EACT,cAAc;EACd,UAAU;EACV,eAAe;EACf,aAAa;EACb,YAAY;EACb;CACD,UAAU;EACR,gBAAgB;EAChB,WAAW;EACX,UAAU;EACV,cAAc;EACd,kBAAkB;EAClB,eAAe;EACf,oBAAoB;EACpB,kBAAkB;EAClB,mBAAmB;EACnB,aAAa;EACb,eAAe;EACf,mBAAmB;EACnB,YAAY;EACZ,WAAW;EACX,eAAe;EACf,KAAK;EACL,gBAAgB;EAChB,UAAU;EACV,cAAc;EACd,mBAAmB;EACnB,cAAc;EACd,yBAAyB;EACzB,gBAAgB;EAChB,2BAA2B;EAC3B,oBAAoB;EACpB,iBAAiB;EACjB,cAAc;EACd,aAAa;EACb,iBAAiB;EACjB,sBAAsB;EACtB,qBAAqB;EACrB,uBAAuB;EACvB,aAAa;EACb,wBAAwB;EACxB,QAAQ;EACR,YAAY;EACZ,aAAa;EACb,wBAAwB;EACxB,iBAAiB;EACjB,mBAAmB;EACnB,UAAU;EACV,SAAS;EACT,UAAU;EACV,eAAe;EACf,cAAc;EACd,iBAAiB;EACjB,qBAAqB;EACrB,KAAK;EACL,qBAAqB;EACrB,eAAe;EACf,mBAAmB;EACnB,aAAa;EACb,SAAS;EACT,gBAAgB;EAChB,OAAO;EACP,aAAa;EACb,cAAc;EACd,iBAAiB;EACjB,YAAY;EACZ,YAAY;EACZ,aAAa;EACb,wBAAwB;EACxB,UAAU;EACV,UAAU;EACV,oBAAoB;EACpB,gBAAgB;EAChB,mBAAmB;EACnB,gBAAgB;EAChB,qBAAqB;EACrB,iBAAiB;EACjB,oBAAoB;EACpB,mBAAmB;EACnB,kBAAkB;EAClB,WAAW;EACX,OAAO;EACP,UAAU;EACV,WAAW;EACX,cAAc;EACd,mBAAmB;EACnB,gBAAgB;EAChB,kBAAkB;EAClB,iBAAiB;EACjB,iBAAiB;EACjB,oBAAoB;EACpB,mBAAmB;EACnB,WAAW;EACX,eAAe;EAChB;CACD,eAAe;EACb,YAAY;EACZ,WAAW;EACX,SAAS;EACT,YAAY;EACZ,gBAAgB;EAChB,QAAQ;EACR,aAAa;EACb,oBAAoB;EACpB,SAAS;EACT,mBAAmB;EACnB,QAAQ;EACR,YAAY;EACZ,OAAO;EACP,aAAa;EACb,UAAU;EACV,QAAQ;EACR,iBAAiB;EACjB,cAAc;EACd,YAAY;EACZ,UAAU;EACV,QAAQ;EACR,SAAS;EACT,UAAU;EACX;CACD,gBAAgB;EACd,YAAY;EACZ,mBAAmB;EACnB,aAAa;EACb,sBAAsB;EACtB,WAAW;EACX,kBAAkB;EAClB,UAAU;EACX;CACD,eAAe;EACb,QAAQ;EACR,WAAW;EACX,aAAa;EACb,YAAY;EACZ,MAAM;EACN,MAAM;EACN,UAAU;EACV,QAAQ;EACR,WAAW;EACX,MAAM;EACN,UAAU;EACV,cAAc;EACd,eAAe;EACf,mBAAmB;EACnB,cAAc;EACd,eAAe;EACf,MAAM;EACN,OAAO;EACP,QAAQ;EACR,MAAM;EACN,MAAM;EACN,WAAW;EACX,UAAU;EACX;CACD,SAAS;EACP,kBAAkB;EAClB,WAAW;EACX,eAAe;EACf,2BAA2B;EAC3B,2BAA2B;EAC3B,gBAAgB;EAChB,uBAAuB;EACvB,WAAW;EACX,gBAAgB;EAChB,6BAA6B;EAC7B,6BAA6B;EAC7B,WAAW;EACX,kBAAkB;EAClB,sBAAsB;EACtB,cAAc;EACd,WAAW;EACX,uBAAuB;EACvB,cAAc;EACd,qBACE;EACF,qBAAqB;EACrB,wBAAwB;EACxB,aAAa;EACb,cAAc;EACd,YAAY;EACZ,mBAAmB;EACnB,kBAAkB;EAClB,0BAA0B;EAC1B,qBAAqB;EACrB,iBAAiB;EACjB,eAAe;EACf,eAAe;EACf,MAAM;EACN,iBAAiB;EACjB,cAAc;EACd,qBAAqB;EACrB,oBAAoB;EACpB,YAAY;EACZ,mBAAmB;EACnB,qBAAqB;EACrB,2BAA2B;EAC3B,wBAAwB;EACxB,eAAe;EACf,kBAAkB;EAClB,eAAe;EACf,SAAS;EACT,oBAAoB;EACpB,uBAAuB;EACvB,uBAAuB;EACvB,aAAa;EACb,mBAAmB;EACnB,eAAe;EACf,cAAc;EACd,UAAU;EACV,YAAY;EACZ,gBAAgB;EAChB,2BAA2B;EAC3B,cAAc;EACd,aAAa;EACb,mBAAmB;EACnB,wBAAwB;EACxB,WAAW;EACX,cAAc;EACd,gBAAgB;EAChB,aAAa;EACb,UAAU;EACV,oBAAoB;EACpB,MAAM;EACN,oBAAoB;EACpB,iBAAiB;EACjB,eAAe;EACf,YAAY;EACZ,sBAAsB;EACtB,mBAAmB;EACnB,UAAU;EACV,MAAM;EACN,kBAAkB;EAClB,YAAY;EACZ,WAAW;EACX,gBAAgB;EAChB,SAAS;EACT,2BAA2B;EAC3B,UAAU;EACV,qBAAqB;EACrB,KAAK;EACL,aAAa;EACb,UAAU;EACX;CACD,UAAU;EACR,eAAe;EACf,iBAAiB;EACjB,iBAAiB;EACjB,gBAAgB;EAChB,kBAAkB;EAClB,mBAAmB;EACnB,wBAAwB;EACxB,iBAAiB;EACjB,sBAAsB;EACtB,iBAAiB;EACjB,OAAO;EACP,sBAAsB;EACtB,kBAAkB;EAClB,aAAa;EACb,mBAAmB;EACnB,WAAW;EACX,sBAAsB;EACtB,mBAAmB;EACnB,eAAe;EACf,QAAQ;EACR,SAAS;EACT,mBAAmB;EACnB,gBAAgB;EAChB,aAAa;EACb,kBACE;EACF,mBAAmB;EACnB,aACE;EACF,gBAAgB;EAChB,kBAAkB;EAClB,YAAY;EACZ,UAAU;EACV,gBAAgB;EAChB,SAAS;EACT,gBAAgB;EAChB,eAAe;EACf,UAAU;EACV,mBAAmB;EACnB,mBAAmB;EACnB,OAAO;EACP,gBAAgB;EAChB,iBAAiB;EACjB,MAAM;EACN,OAAO;EACP,aAAa;EACb,WAAW;EACZ;CACD,SAAS,EACP,MAAM,QACP;CACD,UAAU;EACR,QAAQ;EACR,YAAY;EACZ,SAAS;EACT,aAAa;EACb,wBAAwB;EACxB,UAAU;EACV,UAAU;EACV,sBAAsB;EACtB,gBAAgB;EAChB,YAAY;EACZ,MAAM;EACN,iBAAiB;EACjB,MAAM;EACN,MAAM;EACN,QAAQ;EACR,MAAM;EACP;CACD,aAAa;EACX,SAAS;EACT,UAAU;EACV,cAAc;EACd,mBAAmB;EACnB,QAAQ;EACR,YAAY;EACZ,WAAW;EACX,SAAS;EACT,oBACE;EACF,qBAAqB;EACrB,aAAa;EACb,QAAQ;EACR,UAAU;EACV,eAAe;EACf,YAAY;EACZ,QAAQ;EACR,SAAS;EACT,YAAY;EACZ,QAAQ;EACR,MAAM;EACN,iBAAiB;EACjB,iBACE;EACF,sBAAsB;EACtB,YAAY;EACZ,UAAU;EACV,qBACE;EACF,KAAK;EACL,gBAAgB;EAChB,sBACE;EACF,kBAAkB;EAClB,gBAAgB;EAChB,QAAQ;EACR,aAAa;EACb,mBAAmB;EACnB,wBAAwB;EACxB,0BACE;EACF,sBAAsB;EACtB,oBAAoB;EACpB,kBAAkB;EAClB,YAAY;EACZ,SAAS;EACT,iBAAiB;EACjB,eAAe;EACf,gBAAgB;EAChB,oBAAoB;EACpB,KAAK;EACL,eAAe;EACf,iBACE;EACF,kBAAkB;EAClB,eAAe;EACf,oBAAoB;EACpB,qBAAqB;EACrB,YAAY;EACZ,gBAAgB;EAChB,eAAe;EACf,wBAAwB;EACxB,kBAAkB;EAClB,6BAA6B;EAC7B,mBAAmB;EACnB,8BAA8B;EAC9B,mBAAmB;EACnB,UAAU;EACV,2BAA2B;EAC3B,2BAA2B;EAC3B,OAAO;EACP,YAAY;EACZ,cAAc;EACd,mBAAmB;EACnB,YAAY;EACZ,MAAM;EACN,WAAW;EACX,SAAS;EACT,QAAQ;EACR,mBAAmB;EACnB,gBAAgB;EAChB,qBAAqB;EACrB,YAAY;EACZ,gBAAgB;EAChB,WAAW;EACX,eAAe;EACf,WAAW;EACX,UAAU;EACV,aAAa;EACb,2BAA2B;EAC3B,aAAa;EACb,wBAAwB;EACxB,qBAAqB;EACrB,4BACE;EACF,wBAAwB;EACxB,sBAAsB;EACtB,4BACE;EACF,wBAAwB;EACxB,sBAAsB;EACtB,OAAO;EACP,eACE;EACF,eAAe;EACf,MAAM;EACN,UAAU;EACV,SAAS;EACT,SAAS;EACT,WAAW;EACX,kBAAkB;EACnB;CACD,UAAU;EACR,eAAe;EACf,gBAAgB;EAChB,gBAAgB;EAChB,yBAAyB;EACzB,YAAY;EACZ,iBAAiB;EACjB,sBAAsB;EACtB,OAAO;EACR;CACD,UAAU;EACR,cAAc;EACd,kBAAkB;EAClB,QAAQ;EACR,oBAAoB;EACpB,SAAS;EACT,aAAa;EACb,UAAU;EACV,SAAS;EACT,oBAAoB;EACpB,aAAa;EACb,wBAAwB;EACxB,MAAM;EACN,cAAc;EACd,SAAS;EACT,WAAW;EACX,UAAU;EACV,SAAS;EACT,QAAQ;EACR,YAAY;EACZ,UAAU;EACX;CACD,cAAc;EACZ,SAAS;GACP,MAAM;IACJ,eAAe;IACf,QAAQ;IACR,WAAW;IACX,MAAM;IACN,SAAS;IACT,eAAe;IACf,UAAU;IACV,SAAS;IACT,YAAY;IACZ,OAAO;IACP,MAAM;IACN,UAAU;IACX;GACD,kBAAkB;IAChB,OAAO;IACP,cAAc;IACd,kBAAkB;IACnB;GACD,MAAM;IACJ,YAAY;IACZ,mBAAmB;IACnB,UAAU;IACV,UAAU;IACV,QAAQ;IACR,UAAU;IACV,SAAS;IACT,iBAAiB;IACjB,cAAc;IACd,aAAa;IACb,aAAa;IACb,aAAa;IACb,QAAQ;IACR,UAAU;IACV,SAAS;IACT,qBAAqB;IACrB,YAAY;IACZ,QAAQ;IACR,UAAU;IACV,QAAQ;IACR,gBAAgB;IAChB,MAAM;IACN,aAAa;IACb,SAAS;IACT,aAAa;IACb,cAAc;IACd,KAAK;IACL,iBAAiB;IACjB,kBAAkB;IACnB;GACF;EACD,cAAc;GACZ,UAAU,EACR,cAAc,kBACf;GACD,iBAAiB;IACf,WAAW;IACX,OAAO;IACP,WAAW;IACX,eAAe;IACf,UAAU;IACV,MAAM;IACN,kBAAkB;IAClB,QAAQ;IACR,OAAO;IACP,OAAO;IACR;GACD,QAAQ;IACN,OAAO;IACP,SAAS;IACT,eAAe;IACf,eAAe;IACf,mBAAmB;IACnB,YAAY;IACZ,mBAAmB;IACnB,cAAc;IACd,aAAa;IACb,cAAc;IACd,aAAa;IACb,YAAY;IACZ,oBAAoB;IACpB,OAAO;IACR;GACD,aAAa;IACX,QAAQ;IACR,YAAY;IACZ,gBAAgB;IAChB,QAAQ;IACR,eAAe;IACf,gBAAgB;IAChB,qBAAqB;IACrB,QAAQ;IACR,gBAAgB;IAChB,UAAU;IACV,SAAS;IACT,UAAU;IACX;GACD,QAAQ;IACN,OAAO;IACP,kBAAkB;IAClB,mBAAmB;IACnB,iBAAiB;IAClB;GACD,UAAU;IACR,gBAAgB;IAChB,kBAAkB;IAClB,iBAAiB;IAClB;GACD,QAAQ;IACN,cAAc;IACd,WAAW;IACX,OAAO;IACP,eAAe;IACf,MAAM;IACN,QAAQ;IACR,cAAc;IACd,aAAa;IACb,WAAW;IACX,uBAAuB;IACxB;GACD,UAAU;IACR,cAAc;IACd,YAAY;IACZ,UAAU;KACR,aAAa;KACb,iBAAiB;KACjB,QAAQ;KACR,aACE;KACF,cAAc;KACd,QAAQ;KACR,UAAU;KACV,cAAc;KACd,MAAM;KACN,UAAU;KACV,aAAa;KACd;IACD,cAAc;IACd,aAAa;IACb,WAAW;IACX,mBAAmB;IACnB,iBAAiB;IACjB,cAAc;IACd,mBAAmB;IACnB,kBAAkB;IACnB;GACD,aAAa,EACX,YAAY,sBACb;GACD,SAAS;IACP,QAAQ;IACR,cAAc;IACd,QAAQ;IACR,UAAU;IACV,QAAQ;IACR,eAAe;IACf,WAAW;IACX,OAAO;IACP,MAAM;IACN,YAAY;IACZ,gBAAgB;IAChB,eAAe;IACf,MAAM;IACN,YAAY;IACZ,WAAW;IACX,WAAW;IACZ;GACD,WAAW;IACT,QAAQ;IACR,cAAc;IACd,UAAU;IACV,cAAc;IACd,MAAM;IACN,QAAQ;IACR,cAAc;IACf;GACD,QAAQ;IACN,cAAc;IACd,SAAS;IACT,iBAAiB;IACjB,aAAa;IACb,UAAU;IACX;GACD,MAAM;IACJ,oBAAoB;IACpB,mBAAmB;IACnB,aAAa;IACd;GACD,aAAa;IACX,iBAAiB;IACjB,aAAa;IACb,gBAAgB;IAChB,QAAQ;IACT;GACD,aAAa;IACX,WAAW;IACX,mBAAmB;IACpB;GACD,aAAa;IACX,eAAe;IACf,UAAU;IACV,KAAK;IACL,OAAO;IACR;GACD,aAAa;IACX,eAAe;IACf,OAAO;IACR;GACD,SAAS;IACP,aAAa;IACb,YAAY;IACZ,aAAa;IACd;GACD,OAAO;IACL,YAAY;IACZ,aAAa;IACb,cAAc;IACd,UAAU;IACV,aAAa;IACd;GACD,WAAW;IACT,cAAc;IACd,iBAAiB;IACjB,MAAM;IACN,UAAU;IACX;GACD,KAAK,EACH,OAAO,SACR;GACD,QAAQ;IACN,kBAAkB;IAClB,iBAAiB;IACjB,gBAAgB;IAChB,eAAe;IACf,mBAAmB;IACnB,YAAY;IACZ,gBAAgB;IACjB;GACD,OAAO;IACL,WAAW;IACX,kBAAkB;IAClB,cAAc;IACf;GACF;EACD,QAAQ;GACN,UAAU;GACV,QAAQ;IACN,iBAAiB;IACjB,WAAW;IACX,eAAe;IACf,iBAAiB;IACjB,UAAU;IACV,gBAAgB;IAChB,SAAS;IACT,SAAS;IACT,SAAS;IACT,WAAW;IACX,QAAQ;IACR,QAAQ;IACR,gBAAgB;IAChB,OAAO;IACP,cAAc;IACf;GACD,iBAAiB;GACjB,eAAe;GACf,aAAa;GACb,YAAY;GACZ,qBAAqB;GACrB,gBAAgB;GAChB,cAAc;GACd,aAAa;GACb,YAAY;GACZ,QAAQ;IACN,UAAU;IACV,OAAO;IACP,YAAY;IACZ,cACE;IACF,YAAY;IACZ,QAAQ;IACR,cACE;IACF,OAAO;IACP,UAAU;IACX;GACD,kBACE;GACF,YAAY;GACZ,iBAAiB;GACjB,aAAa;GACb,WAAW;GACX,iBAAiB;GACjB,gBAAgB;GAChB,aAAa;GACb,YAAY;GACb;EACD,IAAI;GACF,WAAW;IACT,mBAAmB;IACnB,aAAa;IACb,aAAa;IACb,gBAAgB;IAChB,OAAO;IACR;GACD,UAAU;IACR,KAAK;IACL,mBAAmB;IACnB,QAAQ;IACR,gBAAgB;IAChB,SAAS;IACT,QAAQ;IACR,gBAAgB;IAChB,aAAa;IACb,YAAY;IACZ,YAAY;IACZ,SAAS;IACT,MAAM;IACN,iBAAiB;IACjB,YAAY;IACZ,QAAQ;IACR,kBAAkB;IAClB,UAAU;IACV,MAAM;IACN,MAAM;IACN,QAAQ;IACT;GACD,UAAU;IACR,gBAAgB;IAChB,YAAY;IACZ,SAAS;IACT,WAAW;IACX,YAAY;IACZ,eAAe;IACf,eAAe;IACf,gBAAgB;IAChB,eAAe;IACf,aAAa;IACd;GACD,YAAY;IACV,UAAU;IACV,SAAS;IACT,WAAW;IACX,YAAY;IACZ,SAAS;IACT,aAAa;IACb,YAAY;IACZ,UAAU;IACX;GACD,SAAS;IACP,gBAAgB;IAChB,eAAe;IACf,iBAAiB;IACjB,UAAU;IACV,sBAAsB;IACtB,YAAY;IACZ,YAAY;IACZ,SAAS;IACT,YAAY;IACZ,cAAc;IACd,eAAe;IACf,gBAAgB;IAChB,eAAe;IACf,SAAS;IACT,eAAe;IAChB;GACD,UAAU;IACR,WAAW;IACX,QAAQ;IACR,QAAQ;IACR,UAAU;IACV,YAAY;IACZ,YAAY;IACZ,SAAS;IACT,MAAM;IACN,cAAc;IACd,YAAY;IACb;GACD,OAAO;IACL,aAAa;IACb,YAAY;IACZ,SAAS;IACT,cAAc;IACd,SAAS;IACT,kBAAkB;IAClB,mBAAmB;IACnB,aAAa;IACb,iBAAiB;IAClB;GACD,OAAO;IACL,gBAAgB;IAChB,YAAY;IACZ,gBAAgB;IAChB,aAAa;IACb,YAAY;IACZ,YAAY;IACZ,SAAS;IACT,cAAc;IACd,WAAW;IACX,aAAa;IACb,OAAO;IACP,kBAAkB;IAClB,UAAU;IACV,OAAO;IACP,kBAAkB;IACnB;GACD,WAAW;IACT,cAAc;IACd,cAAc;IACd,YAAY;IACZ,YAAY;IACZ,SAAS;IACT,aAAa;IACb,SAAS;IACT,iBAAiB;IACjB,QAAQ;IACR,WAAW;IACX,mBAAmB;IACpB;GACF;EACD,WAAW;GACT,QAAQ;GACR,KAAK;IACH,SAAS;IACT,QAAQ;IACR,UAAU;IACV,WAAW;IACX,MAAM;IACN,YAAY;IACZ,OAAO;IACP,UAAU;IACV,SAAS;IACT,WAAW;IACX,OAAO;IACP,UAAU;IACX;GACD,SAAS;GACT,QAAQ;GACR,SAAS;GACT,SAAS;IACP,SAAS;IACT,QAAQ;IACR,kBAAkB;IAClB,gBAAgB;IAChB,qBAAqB;IACrB,SAAS;IACT,cAAc;IACd,cAAc;IACd,iBAAiB;IAClB;GACF;EACD,WAAW;GACT,WAAW;IACT,WAAW;IACX,MAAM;IACP;GACD,eAAe;IACb,OAAO;IACP,KAAK;IACL,UAAU;IACV,OAAO;IACR;GACD,QAAQ;IACN,WAAW;IACX,MAAM;IACN,UAAU;IACX;GACD,UAAU;IACR,QAAQ;IACR,MAAM;IACN,UAAU;IACX;GACD,SAAS,EACP,WAAW,aACZ;GACD,aAAa,EACX,WAAW,yBACZ;GACD,cAAc,EACZ,WAAW,yBACZ;GACD,OAAO;IACL,WAAW;IACX,OAAO;IACP,OAAO;IACP,YAAY;IACb;GACD,SAAS;IACP,aAAa;IACb,OAAO;IACR;GACF;EACD,OAAO;GACL,QAAQ;GACR,UAAU;GACV,aAAa;GACd;EACD,WAAW;GACT,OAAO;GACP,WACE;GACF,eAAe;GACf,mBAAmB;GACnB,eAAe;GACf,cAAc;GACd,WAAW;GACX,WAAW;GACZ;EACD,UAAU;GACR,QAAQ,EACN,SAAS,oCACV;GACD,KAAK;IACH,eAAe;IACf,gBAAgB;IACjB;GACD,QAAQ;IACN,cAAc;IACd,OAAO;IACR;GACD,OAAO,EACL,MAAM,QACP;GACD,UAAU;IACR,kBAAkB;IAClB,qBAAqB;IACrB,QAAQ;IACR,UAAU;IACV,aAAa;IACb,OAAO;IACP,UAAU;IACV,aAAa;IACb,mBAAmB;IACnB,UAAU;IACV,OAAO;IACR;GACF;EACD,WAAW,EACT,OAAO,aACR;EACD,MAAM;GACJ,SAAS;IACP,OAAO;IACP,QAAQ;IACR,WAAW;IACZ;GACD,MAAM;IACJ,SAAS;IACT,SAAS;IACV;GACD,QAAQ;IACN,WAAW;IACX,YAAY;IACb;GACD,OAAO;IACL,YAAY;IACZ,OAAO;IACR;GACD,UAAU;IACR,cAAc;IACd,SAAS;IACT,OAAO;IACR;GACD,SAAS;IACP,aAAa;IACb,MAAM;IACN,gBAAgB;IAChB,cAAc;IACf;GACD,UAAU;IACR,MAAM;IACN,QAAQ;IACR,OAAO;IACR;GACD,KAAK;IACH,YAAY;IACZ,SAAS;IACV;GACF;EACD,QAAQ;GACN,cACE;GACF,SAAS;GACT,SAAS;GACT,WAAW;GACX,UAAU;GACV,aAAa;GACb,WAAW;GACX,QAAQ;GACR,MAAM;GACN,WAAW;GACX,mBAAmB;GACnB,cAAc;GACd,QAAQ;GACR,UAAU;GACV,YAAY;GACb;EACD,kBAAkB;GAChB,QAAQ;GACR,SAAS;GACT,WAAW;GACX,eAAe;GACf,SACE;GACF,OAAO;GACP,SACE;GACH;EACD,gBAAgB;GACd,OAAO;GACP,OAAO;GACP,MAAM;GACN,UAAU;GACV,SAAS;GACT,QAAQ;GACR,MAAM;GACN,WAAW;GACX,UAAU;GACV,SAAS;GACT,QAAQ;GACR,OAAO;GACP,QAAQ;GACR,YAAY;GACb;EACD,QAAQ;GACN,OAAO;IACL,aAAa;IACb,cAAc;IACd,gBAAgB;IAChB,cAAc;IACd,YAAY;IACZ,eAAe;IACf,gBAAgB;IAChB,YAAY;IACZ,QAAQ;IACR,aAAa;IACb,gBAAgB;IAChB,YAAY;IACZ,aAAa;IACb,iBAAiB;IACjB,SAAS;IACT,WAAW;IACZ;GACD,UAAU;IACR,QAAQ;IACR,UAAU;IACX;GACD,WAAW;IACT,UAAU;IACV,QAAQ;IACR,WAAW;IACX,gBAAgB;IAChB,cAAc;IACd,WAAW;IACX,mBAAmB;IACnB,cAAc;IACd,UAAU;IACV,iBAAiB;IACjB,MAAM;IACP;GACD,OAAO;IACL,OAAO;IACP,SAAS;IACT,MAAM;IACN,cAAc;IACd,SAAS;IACT,OAAO;IACR;GACF;EACD,OAAO;GACL,kBAAkB;GAClB,kBAAkB;GACnB;EACD,YAAY;GACV,aACE;GACF,cAAc;GACd,UAAU;GACV,cAAc;GACd,SAAS;GACT,QAAQ;GACR,OAAO;GACP,iBAAiB;GAClB;EACD,MAAM,EACJ,kBAAkB,qBACnB;EACD,OAAO;GACL,QAAQ;GACR,eAAe;GACf,YAAY;GACZ,aAAa;GACb,eAAe;GACf,YAAY;GACZ,YAAY;GACZ,MAAM;GACN,UAAU;GACV,YAAY;GACZ,SAAS;GACT,aAAa;GACb,SAAS;GACT,aAAa;GACb,UAAU;GACV,QAAQ;GACR,MAAM;GACN,kBAAkB;GACnB;EACD,OAAO,EACL,IAAI;GACF,MAAM;GACN,YAAY;GACZ,YAAY;GACZ,eAAe;GACf,wBAAwB;GACxB,YAAY;GACZ,mBAAmB;GACnB,QAAQ;GACR,MAAM;GACN,eAAe;GACf,kBAAkB;GAClB,aAAa;GACb,UAAU;GACX,EACF;EACD,aAAa;GACX,UAAU;GACV,UAAU;GACV,QAAQ;GACR,cAAc;GACd,QAAQ;GACR,QAAQ;GACR,SAAS;GACT,MAAM;GACP;EACD,SAAS;GACP,YAAY;GACZ,aAAa;GACb,UAAU;GACV,cACE;GACF,aAAa;GACb,WAAW;GACX,aAAa;GACb,OAAO;IACL,aAAa;IACb,OAAO;IACR;GACD,SAAS;GACT,aAAa;GACb,mBAAmB;GACnB,OAAO;GACP,OAAO;GACR;EACD,UAAU;GACR,MAAM;IACJ,cAAc;IACd,SAAS;IACT,cAAc;IACd,OAAO;IACP,MAAM;IACN,WAAW;IACZ;GACD,eAAe;IACb,QAAQ;IACR,aAAa;IACb,YAAY;IACZ,OAAO;IACP,gBAAgB;IAChB,YAAY;IACZ,OAAO;IACP,iBAAiB;IACjB,cAAc;IACd,QAAQ;IACR,SAAS;IACT,KAAK;IACN;GACD,SAAS;IACP,YAAY;IACZ,WAAW;IACX,iBAAiB;IACjB,gBAAgB;IAChB,WAAW;IACX,YAAY;IACZ,SAAS;IACT,aAAa;IACb,gBAAgB;IAChB,UAAU;IACV,UAAU;IACV,KAAK;IACL,gBAAgB;IACjB;GACD,MAAM;IACJ,OAAO;IACP,WAAW;IACX,QAAQ;IACR,SAAS;IACT,eAAe;IACf,UAAU;IACV,aAAa;IACb,MAAM;IACN,YAAY;IACZ,aAAa;IACb,aAAa;IACb,YAAY;IACZ,MAAM;IACN,aAAa;IACb,kBAAkB;IACnB;GACD,MAAM;IACJ,YAAY;IACZ,UAAU;IACV,SAAS;IACT,WAAW;IACX,WAAW;IACX,SAAS;IACT,YAAY;IACZ,SAAS;IACT,iBAAiB;IACjB,cAAc;IACd,WAAW;IACZ;GACD,OAAO;IACL,aAAa;IACb,YAAY;IACZ,YAAY;IACZ,iBAAiB;IACjB,UAAU;IACV,qBAAqB;IACrB,cAAc;IACd,WAAW;IACX,kBAAkB;IAClB,SAAS;IACT,iBAAiB;IACjB,kBAAkB;IAClB,YAAY;IACZ,cAAc;IACd,eAAe;IACf,SAAS;IACT,OAAO;IACP,UAAU;IACX;GACD,QAAQ;IACN,UAAU;IACV,SAAS;IACT,gBAAgB;IAChB,YAAY;IACZ,SAAS;IACT,aAAa;IACb,UAAU;IACV,oBAAoB;IACpB,gBAAgB;IACjB;GACD,gBAAgB,EACd,YAAY,sBACb;GACD,UAAU;IACR,UAAU;IACV,YAAY;IACZ,gBAAgB;IAChB,YAAY;IACZ,iBAAiB;IACjB,cAAc;IACd,QAAQ;IACR,WAAW;IACX,cAAc;IACd,QAAQ;IACR,gBAAgB;IAChB,iBAAiB;IACjB,OAAO;IACP,gBAAgB;IAChB,aAAa;IACb,gBAAgB;IAChB,oBAAoB;IACpB,cAAc;IACd,cAAc;IACd,UAAU;IACV,WAAW;IACX,YAAY;IACb;GACF;EACD,UAAU;GACR,KAAK;GACL,cAAc;GACd,OAAO;GACP,OAAO;GACP,cAAc;GACd,cAAc;GACf;EACD,QAAQ;GACN,kBAAkB;IAChB,aAAa;IACb,aACE;IACF,SAAS;IACT,eAAe;IACf,YAAY;IACZ,YAAY;IACZ,OAAO;IACP,oBAAoB;IACrB;GACD,eAAe;IACb,QAAQ;IACR,SAAS;IACT,YAAY;IACb;GACD,iBAAiB;IACf,QAAQ;IACR,cAAc;IACd,WAAW;IACX,eAAe;IACf,cAAc;IACd,MAAM;IACN,gBAAgB;IAChB,mBAAmB;IACnB,mBAAmB;IACnB,SAAS;IACT,aAAa;IACb,iBAAiB;IACjB,gBAAgB;IAChB,gBAAgB;IAChB,qBAAqB;IACrB,mBAAmB;IACnB,gBAAgB;IAChB,aAAa;IACd;GACD,YAAY;IACV,OAAO;IACP,UAAU;IACX;GACD,gBAAgB,EACd,KAAK,OACN;GACD,eAAe;IACb,OAAO;IACP,SAAS;IACV;GACD,aAAa;IACX,aAAa;IACb,iBACE;IACF,iBAAiB;IACjB,OAAO;IACP,OAAO;IACP,KAAK;IACL,gBACE;IACF,mBAAmB;IACnB,SAAS;IACV;GACD,cAAc,EACZ,SAAS,cACV;GACD,mBAAmB,EACjB,mBAAmB,wBACpB;GACD,cAAc;IACZ,QAAQ;IACR,SAAS;IACT,YAAY;IACb;GACD,sBAAsB;IACpB,SAAS;IACT,OAAO;IACP,aAAa;IACd;GACD,aAAa,EACX,aAAa,aACd;GACD,kBAAkB;IAChB,gBAAgB;IAChB,aAAa;IACb,mBAAmB;IACpB;GACD,2BAA2B;IACzB,oBAAoB;IACpB,YAAY;IACZ,cAAc;IACd,MAAM;IACN,mBAAmB;IACnB,WAAW;IACZ;GACD,WAAW;IACT,KAAK;IACL,OAAO;IACR;GACF;EACD,SAAS;GACP,cAAc;GACd,YAAY;GACZ,cAAc;GACd,cAAc;GACd,cAAc;GACd,kBAAkB;GAClB,sBAAsB;GACtB,eAAe;GACf,gBAAgB;GAChB,gBAAgB;GACjB;EACD,SAAS;GACP,OAAO;IACL,mBAAmB;IACnB,YAAY;IACZ,OAAO;IACR;GACD,MAAM;GACN,KAAK;IACH,gBAAgB;IAChB,YAAY;IACZ,mBAAmB;IACnB,cAAc;IACd,MAAM;IACP;GACD,aAAa;GACb,c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"}
|
|
1
|
+
{"version":3,"file":"en.js","names":[],"sources":["../../src/translations/en.ts"],"sourcesContent":["/**\n * English fallback translations for microfe-vibecontrols.\n *\n * Keys use dot-notation (e.g., 'vibecontrols.actions.card.never') which the\n * I18nProvider resolves against this nested object structure.\n *\n * This file is the source of truth for all translation keys used in this MFE.\n * Register it with the host shell's AppShellProvider.fallbackTranslations\n * to enable offline/fallback support.\n */\nexport const enTranslations = {\n actions: {\n searchPlaceholder: 'Search actions...',\n tags: 'Tags',\n },\n agentDetails: {\n agentActions: 'Agent actions',\n agentApiKey: 'Agent API Key',\n agentApiKeyPlaceholder: 'sk-agent-...',\n agentNameRequired: 'Agent name is required',\n agentStarted: 'Agent started',\n agentStopped: 'Agent stopped',\n aiChat: 'AI Chat',\n aiContextInfoLabel: 'What is AI Context?',\n aliases: 'Aliases',\n apiAuthentication: 'API Authentication',\n appId: 'App ID',\n authExemptAnd: 'and',\n authExemptPrefix: 'The',\n authHeaderRecommended: 'Header (recommended)',\n authQueryParameter: 'URL query parameter',\n backToAgents: 'Back to Agents',\n backup: 'Backup',\n backupRequiresTunnelAndApiKey:\n 'Agent tunnel URL and API key are required for backup management.',\n capabilities: 'Capabilities',\n clientId: 'Client ID',\n clientSecretOneTimeDescription:\n \"This secret has been automatically sent to the agent. Save it now if you need it — it won't be shown again.\",\n clientSecretOneTimeTitle: 'Client Secret (one-time display)',\n configuration: 'Configuration',\n configurationUpdateFailed: 'Failed to update agent configuration',\n configurationUpdated: 'Agent configuration updated successfully',\n configure: 'Configure',\n configureConnectionInOverview: 'Configure the agent connection in the Overview tab.',\n configureDescription: 'Update this agent’s name, tunnel URL, AI context and metadata.',\n confirmUnlinkOauthApp:\n 'Remove the linked OAuth app from this agent? The app will still exist in auth-svc.',\n connection: 'Connection Log',\n copyApiKey: 'Copy API key',\n copyClientId: 'Copy Client ID',\n copyClientSecret: 'Copy client secret',\n createSessionDescription:\n 'Start a new terminal, tmux, SSH, script or custom session on this agent.',\n degradedBanner: {\n action:\n 'Health probes run every ~30s; the badge flips back to Active automatically once a probe succeeds. You can click Reconnect above to retry now, or check the Connection tab for the probe history.',\n title: 'Agent is degraded — auto-reconnecting in the background',\n viewLog: 'View log →',\n },\n deleteTarget: 'Delete the mapped target',\n deleteTargetDesc:\n 'Also delete the target this agent is mapped to. Any other agents on the same target are removed too. This cannot be undone.',\n dismissError: 'Dismiss error',\n failedLoad: 'Failed to load agent',\n failedSetupGatewayAuth: 'Failed to set up gateway auth',\n failedUnlinkApp: 'Failed to unlink app',\n gatewayAuthLinkedDescription:\n 'This agent can authenticate with the API gateway using Client Credentials.',\n gatewayAuthNoResultError: 'No result returned from setupAgentGatewayAuth',\n gatewayAuthSetupDescription:\n 'Set up gateway auth to allow this agent to communicate with the API gateways using OAuth2 Client Credentials. This creates an OAuth app, registers it in the Developer Portal, and pushes the credentials to the agent.',\n gatewayAuthTitle: 'Gateway Auth (OAuth2)',\n hideApiKey: 'Hide API key',\n hideClientSecret: 'Hide client secret',\n lifecycleFailed: 'Failed to {{action}} agent',\n hoursAgo: '{{count}}h ago',\n installFailed: 'Install failed',\n linkedToOauthApp: 'Linked to OAuth App',\n loadingDetails: 'Loading agent details...',\n maintenance: {\n args: 'Arguments (optional)',\n autoUpdate: 'Automatically install updates when idle (daily background check)',\n check: 'Check for updates',\n command: 'Command',\n commandsHint:\n 'Every agent command can be run here. Destructive commands ask for confirmation.',\n commandsTitle: 'Run a command',\n confirmCommandMsg: 'This command can change or destroy agent state: {{cmd}}',\n confirmCommandTitle: 'Run destructive command?',\n confirmNukeAllMsg: 'This wipes ALL state, plugins, secrets and config on the host.',\n confirmNukeDryTitle: 'Preview nuke?',\n confirmNukeStateMsg: 'This wipes this agent’s state and tracked binaries.',\n confirmNukeTitle: 'Nuke agent?',\n current: 'Current',\n dangerTitle: 'Danger zone',\n destructiveSuffix: '(destructive)',\n dismiss: 'Dismiss',\n dryRun: 'Dry run (preview only — nothing is deleted)',\n latest: 'Latest',\n loading: 'Loading…',\n nuke: 'Nuke',\n nukeAll: 'Nuke everything (--all)',\n nukeHint:\n '“Nuke state” wipes this agent’s data + tracked binaries. “Nuke everything” also removes all VibeControls plugins, secrets, and config across every profile on the host.',\n nukeState: 'Nuke state',\n outputDone: '{{title}} finished',\n outputFailed: '{{title}} finished with errors',\n preview: 'Preview',\n refresh: 'Refresh',\n run: 'Run',\n selectCommand: 'Select a command…',\n tab: 'Maintenance',\n update: 'Update',\n updateAvailable: 'update available',\n updateLatest: 'Update to latest',\n updateTitle: 'Agent version & updates',\n updateVersion: 'Update to version',\n versionLabel: 'Version',\n versionPlaceholder: 'e.g. 2026.601.21',\n },\n metadataJsonRequired: 'Metadata must be valid JSON',\n metadataLabel: 'Metadata (JSON)',\n minutesAgo: '{{count}}m ago',\n newSessionFor: 'New Session for',\n noAgent: 'Agent not loaded',\n noCapabilitiesConfigured: 'No capabilities configured',\n noHostnameConfigured: 'No hostname configured',\n noOauthAppLinked: 'No OAuth App Linked',\n noSessionsOnAgent: 'No sessions on this agent',\n noVibesUsingAgent: 'No vibes using this agent',\n notFound: 'Agent not found',\n notFoundDescriptionPrefix: 'No agent with ID',\n notFoundDescriptionSuffix: 'exists',\n pluginInstallFailed: 'Failed to install plugin',\n pluginRemoveFailed: 'Failed to remove plugin',\n pluginUpdateFailed: 'Failed to update plugin',\n plugins: 'Plugins',\n profiles: 'Profiles',\n reconnect: 'Reconnect',\n reconnecting: 'Reconnecting…',\n recovery: {\n hideKey: 'Hide API key',\n keyHint:\n 'If the agent’s API key changed and it can’t auto-report (gateway auth down), paste the value from `vibe key` on the host. It’s validated against the agent before saving — your sessions and data stay intact.',\n keyLabel: 'Agent API key',\n keySaved: 'API key validated and saved. The agent is reachable again.',\n keyTitle: 'Update API key (no re-add)',\n showKey: 'Show API key',\n urlHint:\n 'After a quick-tunnel rotation, paste the new URL here. The backend verifies it points at the same machine before saving — no re-registration, no data loss.',\n urlLabel: 'Tunnel URL',\n urlSaved: 'Tunnel URL verified and updated. The agent is back online.',\n urlTitle: 'Update tunnel URL (re-pair)',\n validateSave: 'Validate & save',\n verifyUpdate: 'Verify & update',\n },\n refreshPlugins: 'Refresh plugins',\n remoteFileTask: {\n description:\n 'Enable UI-triggered file_operation write/delete tasks on this agent. Reads are always allowed; this gate covers mutations only.',\n title: 'Allow remote file writes + deletes',\n warning:\n 'Writes and deletes are confined to the cwd / homedir / tmpdir allowlist via resolveSafePath + isSensitivePath, but a malicious caller could still corrupt files in those scopes.',\n },\n remoteShellTask: {\n description:\n 'Enable VibeDeck buttons, scheduled jobs, and the UI to run shell commands and scripts on this agent over its tunnel. Required for any UI-triggered \"execute action\" that runs a command.',\n title: 'Allow remote shell + script tasks',\n warning:\n 'Anyone with workspace access can execute commands on the host machine. Audit log records every invocation; reviewers can revert this flag at any time.',\n },\n remoteTaskPermissions: {\n loadFailed: 'Failed to load permissions',\n loading: 'Loading…',\n saveFailed: 'Failed to save permission',\n subtitle:\n 'These gates default to deny so an agent on a public tunnel can’t be coerced into shell execution. Toggle them on per-agent if you want VibeDeck buttons / scheduled jobs to run shell or file-mutation tasks here.',\n title: 'Remote Task Permissions',\n },\n removeAgentConfirm: 'Are you sure you want to remove agent \"{{name}}\"?',\n removeAgentMessage: 'Remove “{{name}}” from this workspace.',\n removeAgentTitle: 'Remove agent',\n removeFailed: 'Remove failed',\n removePluginConfirm: 'Remove plugin {{packageName}}?',\n removePluginTitle: 'Remove plugin',\n rename: 'Rename',\n renameInput: 'New agent name',\n renameTooltip: 'Rename this agent',\n repushCredentials: 'Re-push credentials',\n repushCredentialsTitle:\n 'Rotate the OAuth secret and push it to the agent. Use this if the agent shows degraded with \"boot state awaiting-config\".',\n revealLoading: 'Revealing\\\\u2026',\n saveConfiguration: 'Save Configuration',\n saveName: 'Save',\n saving: 'Saving...',\n searchPluginsPlaceholder: 'Search plugins by name, package, description, or tag...',\n security: 'Security',\n settingUp: 'Setting up...',\n setupGatewayAuth: 'Setup Gateway Auth',\n showApiKey: 'Show API key',\n showClientSecret: 'Show client secret',\n start: 'Start',\n starting: 'Starting…',\n stopping: 'Stopping…',\n storage: {\n adapterLabel: 'Adapter',\n adapterPh: 'Adapter (e.g. postgres, skalex)',\n connLabel: 'Connection string',\n connPh: 'Connection string (e.g. postgres://…)',\n currentAdapter: 'Current adapter',\n currentOptions: 'Custom options',\n default: 'default',\n hideConn: 'Hide connection string',\n hint: 'Point this agent at an existing same-workspace database so it reuses that data. Cross-workspace DBs won’t decrypt (per-workspace key), and two agents writing one DB concurrently can corrupt it — keep it single-writer.',\n none: 'none',\n nothing: 'Set an adapter, connection string, options, or path first.',\n optionsJson: 'Options must be valid JSON.',\n optionsLabel: 'Adapter options (JSON, optional)',\n optionsObject: 'Options must be a JSON object.',\n optionsPh: 'Raw adapter options as JSON (optional, overrides connection string)',\n pathLabel: 'Data path (optional)',\n pathPh: 'Data path (optional)',\n save: 'Save storage config',\n saved:\n 'Saved. The agent applies the new storage on its next setup/restart — re-pair or restart it to connect to the existing database.',\n set: 'set',\n showConn: 'Show connection string',\n title: 'Storage / reuse an existing database',\n },\n tabsAriaLabel: 'Agent tabs',\n tunnelUrl: 'Tunnel URL',\n tunnelUrlHint:\n 'The public URL for accessing this agent remotely. Auto-updates when gateway auth is configured.',\n tunnelUrlPlaceholder: 'https://xxx.trycloudflare.com',\n uninstallFromTarget: 'Uninstall agent from the target',\n uninstallFromTargetDesc:\n 'Also wipe all agent state + VibeControls plugins and uninstall the agent from the host machine. This cannot be undone.',\n unlinkApp: 'Unlink App',\n update: 'Update',\n updateFailed: 'Plugin update failed',\n updatePlugin: 'Update plugin (latest or a specific version)',\n updatePluginPrompt: 'Update {{packageName}} to which version? Leave blank for latest.',\n updatePluginTitle: 'Update plugin',\n updatePluginVersionLabel: 'Version',\n updatePluginVersionPlaceholder: 'latest',\n version: 'Version',\n viewInDeveloperPortal: 'View in Developer Portal',\n },\n agentGraph: {\n accessDeniedDescription: \"You don't have permission to access this page.\",\n accessDeniedTitle: 'Access Denied',\n countSummary: '{{targets}} targets, {{connections}} connections',\n failedLoad: 'Failed to load agent graph',\n failedRefresh: 'Failed to refresh agent graph',\n loading: 'Loading agent graph...',\n loadingPermissions: 'Loading permissions...',\n loadingScope: 'Applying selected scope...',\n meshCountSummary: '{{agents}} agents, {{links}} links',\n meshDescription:\n 'Visualize and manage the agent-to-agent mesh: deploy new agents, edit link permissions, and run requests across hops.',\n noAgentsConnected: 'No agents in the mesh',\n noAgentsDescription: 'Deploy an agent to start building your agent mesh topology.',\n noScopeAgentDescription:\n 'No agents match the selected scope. Clear the filter to view the full mesh.',\n noScopeResults: 'No results for this scope',\n noTargetsConnected: 'No targets connected',\n refreshing: 'Refreshing graph...',\n scopeAgentPrefix: 'Agent: {{name}}',\n scopeAll: 'All targets & agents',\n scopeAllAgents: 'All agents',\n scopeLabel: 'Scope:',\n scopeTargetPrefix: 'Target: {{name}}',\n },\n agents: {\n tags: 'Tags',\n },\n agentsLanding: {\n accessDenied: 'Access Denied',\n accessDeniedDesc: \"You don't have permission to access this page.\",\n loadingGraph: 'Loading agent graph...',\n loadingPermissions: 'Loading permissions...',\n tabAgents: 'Agents',\n tabGraph: 'Agent Graph',\n tabTargets: 'Targets',\n },\n agentsPage: {\n accessDeniedDescription:\n \"You don't have permission to view agents. Contact your workspace administrator for access.\",\n accessDeniedTitle: 'Access Denied',\n addAgent: 'Add Agent',\n addNewAgent: 'Add New Agent',\n addNewAgentDescription: 'Connect a running vibe agent to this workspace.',\n adding: 'Adding...',\n advancedOptions: 'Advanced options',\n agentActions: 'Agent actions',\n agentActionsMenu: 'Agent actions menu',\n agentApiKey: 'Agent API Key',\n agentApiKeyLabel: 'Agent API Key',\n agentApiKeyPlaceholder: 'sk-agent-...',\n apiAccess: 'API Access',\n apiKeyHint: 'Run',\n apiKeyHintSuffix: 'on the agent to get this. Changes on restart.',\n apiTunnelUrl: 'API / Tunnel URL',\n architecture: 'Architecture',\n back: 'Back',\n bulkDeleteConfirm: 'Are you sure you want to remove {{count}} agent(s)? This cannot be undone.',\n bulkDeleteTitle: 'Remove agents',\n cancel: 'Cancel',\n clearConnection: 'Clear Connection',\n close: 'Close',\n copied: 'Copied',\n copy: 'Copy',\n create: 'Create',\n createFirstTarget: 'Create first target',\n createNewTarget: 'Create a new target',\n deniedCreateTooltip: \"You don't have permission to create agents\",\n descriptionOnline: '{{active}} of {{total}} agents online',\n deselect: 'Deselect',\n deselectAll: 'Deselect All',\n detectedAgentInfo: 'Detected Agent Info',\n disconnect: 'Disconnect',\n disconnectActiveMessage:\n 'Mark {{name}} as offline and clear its tunnel connection? The agent process will not be stopped automatically — you may need to stop it manually on the host machine.',\n disconnectConfirm: 'Disconnect',\n disconnectOfflineMessage:\n 'Clear the stored tunnel connection for {{name}}? This will remove the tunnel URL and API key from this offline agent.',\n disconnectTitle: 'Disconnect Agent',\n editTunnel: 'Edit Tunnel',\n editTunnelDescription: 'Configure the cloudflared tunnel URL and API key for {{name}}.',\n editTunnelTitle: 'Edit Tunnel',\n emptyAdjustSearch: 'Try adjusting your search or filters',\n emptyNoAgentsConfigured: 'No agents configured',\n emptyNoAgentsDescription:\n 'Install the CLI agent on your machine, then add it here. You can create a target inline while adding the agent.',\n emptyNoAgentsFound: 'No agents found',\n failedLoad: 'Failed to load agents',\n filterPlatform: 'Platform',\n filterStatus: 'Status',\n filterTag: 'Tag',\n gridViewTitle: 'Grid view',\n healthCheck: 'Health Check',\n hideApiKey: 'Hide API key',\n inlineTargetFailed: 'Failed to create target. Please try again.',\n installHint:\n 'After running vibe start, copy the printed tunnel URL and API key into the fields above.',\n installInstructions: 'Agent Install Instructions',\n installStep1: '1. Install the agent globally',\n installStep2: '2. Start the agent',\n installStep3: '3. Get the API key',\n installStep4: '4. Start the tunnel',\n justNow: 'Just now',\n listViewTitle: 'List view',\n loadingAgents: 'Loading agents...',\n loadingPermissions: 'Loading permissions...',\n loadingTargets: 'Loading targets...',\n name: 'Name',\n nameHint:\n \"How this agent shows up in the UI. Defaults to the target's name (or the machine's hostname after Validate) — leave blank to accept the autogen.\",\n namePlaceholderUpfront: 'My laptop, prod jump-host, …',\n never: 'Never',\n newDirectTarget: 'New target (Direct — you can change the type later)',\n nextValidate: 'Next: Validate',\n noTargetsInlinePrompt:\n \"You don't have any targets yet. Create one now to install this agent on it.\",\n platform: 'Platform',\n platformAll: 'All Platforms',\n platformLinux: 'Linux',\n platformMac: 'macOS',\n platformWindows: 'Windows',\n profileName: 'Profile name',\n profileNameHint:\n 'Each profile runs an isolated CLI on the daemon. Leave as \"default\" unless you want this agent to host multiple parallel profiles.',\n reconnectAgent: 'Reconnect',\n refreshTitle: 'Refresh agents',\n refreshing: '(refreshing...)',\n remove: 'Remove',\n retryValidation: 'Retry validation',\n save: 'Save',\n saving: 'Saving...',\n searchPlaceholder: 'Search agents...',\n searchTargets: 'Search targets...',\n selectAgent: 'Select {{name}}',\n selectAll: 'Select All',\n selectTarget: 'Select a target...',\n selectedCount: '{{count}} agents selected',\n settings: 'Settings',\n setupGuide: 'Setup guide',\n showApiKey: 'Show API key',\n showingResults: 'Showing {{filtered}} of {{total}} agents',\n startAgent: 'Start Agent',\n statusActive: 'Active',\n statusAll: 'All Statuses',\n statusOffline: 'Offline',\n statusStopped: 'Stopped',\n stepSetup: 'Setup',\n stepValidate: 'Validate',\n stopAgent: 'Stop Agent',\n target: 'Target',\n targetDescription: 'The target machine this agent will be installed on.',\n targetName: 'Target name',\n title: 'Agents',\n tryDifferentAgent: 'Try Different Agent',\n tunnelOpensInNewTab: '{{url}} (opens in new tab)',\n tunnelUrlHint:\n 'Leave empty to clear. Agents with auto-tunnel report this automatically on startup.',\n tunnelUrlLabel: 'Tunnel URL',\n tunnelUrlPlaceholder: 'https://example.trycloudflare.com',\n },\n ai: {\n config: 'Config',\n connectivity: {\n installCommandLabel: 'Install command',\n manageAgents: 'Manage agents',\n probing: 'Checking agent connection…',\n retry: 'Retry connection',\n },\n contexts: 'Contexts',\n goToAgents: 'Go to Agents',\n noActiveAgent: 'No active agent available',\n overview: 'Overview',\n playground: 'Playground',\n prompts: 'Prompts',\n stats: 'Stats',\n tasks: 'Tasks',\n templates: 'Templates',\n },\n analytics: {\n architecture: 'Architecture',\n entityTabs: 'Analytics sections',\n exportCsv: 'Export CSV',\n exportCsvTitle: 'Export current tab as CSV',\n platform: 'Platform',\n print: 'Print',\n printTitle: 'Print this report',\n },\n analyticsPage: {\n retry: 'Retry',\n transientHint:\n 'This is usually brief — please wait a moment and retry. Other VibeControls features are unaffected.',\n transientUnavailable: 'Analytics is temporarily unavailable',\n },\n audit: {\n action: 'Action',\n actionArchive: 'Archive',\n actionCreate: 'Create',\n actionDelete: 'Delete',\n actionExecute: 'Execute',\n actionExport: 'Export',\n actionRestore: 'Restore',\n actionRevoke: 'Revoke',\n actionShare: 'Share',\n actionUpdate: 'Update',\n actions: 'Actions',\n actor: 'Actor',\n allActions: 'All Actions',\n allResources: 'All Resources',\n allStatuses: 'All Statuses',\n clearSessionScope: 'Clear',\n commandsOnly: 'Commands only',\n deleteAuditLog: 'Delete audit log',\n deleteFailed: 'Failed to delete audit log. Please try again.',\n description: 'Comprehensive audit trail of all VibeControls operations',\n emptyDescription: 'Audit logs will appear here as operations are performed in VibeControls.',\n export: 'Export',\n exportCsv: 'Export as CSV',\n exportJson: 'Export as JSON',\n exportOptions: 'Export options',\n exporting: 'Exporting…',\n loadingLogs: 'Loading audit logs...',\n loadingPermissions: 'Loading permissions...',\n name: 'Name',\n next: 'Next',\n noLogs: 'No audit logs',\n of: 'of',\n page: 'Page',\n previous: 'Previous',\n resource: 'Resource',\n resourceAgent: 'Agent',\n resourceAgentConnection: 'Agent Connection',\n resourceAiToolEvent: 'AI Tool Event',\n resourceAuditLog: 'Audit Log',\n resourceCalendarTask: 'Calendar Task',\n resourceConfiguration: 'Configuration',\n resourceDeckButton: 'Deck Button',\n resourceNote: 'Note',\n resourceSession: 'Session',\n resourceSessionShare: 'Session Share',\n resourceShareLink: 'Share Link',\n resourceTarget: 'Target',\n resourceUiSession: 'UI Session',\n resourceVibe: 'Vibe',\n resourceVibeDeck: 'Vibe Deck',\n resourceWebhook: 'Webhook',\n searchPlaceholder: 'Search audit logs...',\n sessionScopeBanner: 'Showing activity for session',\n showOnlyThisSession: \"Show only this session's activity\",\n showing: 'Showing',\n status: 'Status',\n statusDenied: 'Denied',\n statusError: 'Error',\n statusFailure: 'Failure',\n statusSuccess: 'Success',\n time: 'Time',\n viewAuditLog: 'View details',\n },\n breadcrumbs: {\n targets: 'Targets',\n targetsAgents: 'Targets & Agents',\n },\n calendar: {\n accessDeniedDescription: \"You don't have permission to view the Calendar.\",\n calendarTaskExecuteDenied:\n 'You do not have permission to run calendar tasks (calendar-agent-task:execute).',\n couldNotLoadEvents: \"Could not load events. We'll keep trying — you can retry below.\",\n description: 'Schedule and manage tasks across your agents',\n empty: {\n cta: 'Schedule your first task',\n description: 'Schedule your first task to start automating actions across your agents.',\n title: 'No scheduled tasks yet',\n },\n failedLoad: 'Failed to load calendar data',\n loadingPermissions: 'Loading permissions...',\n retry: 'Retry',\n scheduleExecuteDenied: 'You do not have permission to run scheduled jobs (schedule:execute).',\n triggerFailedFallback: 'Failed to trigger task. Try again or contact support.',\n },\n catalog: {\n addComponent: 'Add Component',\n addComponentTitle: 'Add Component to Catalog',\n allVisibility: 'All Visibility',\n backToCatalogs: 'Back to Catalogs',\n componentAdded: 'Component added to catalog',\n components: 'Components',\n componentsInCatalog: 'components in this catalog',\n createCatalog: 'Create Catalog',\n createdSuccess: 'Catalog created successfully',\n dangerZone: 'Danger Zone',\n deleteCatalog: 'Delete Catalog',\n deleteWarning:\n 'Deleting this catalog will detach all components and vibes. This cannot be undone.',\n dependencyGraph: 'Dependency Graph',\n description: '{{total}} catalogs',\n descriptionLabel: 'Description',\n descriptionPlaceholder: 'Describe this catalog...',\n docs: 'Docs',\n downloadSBOM: 'Download JSON',\n editCatalog: 'Edit Catalog',\n editDetails: 'Edit Details',\n emptyAdjustSearch: 'Try adjusting your search or filters',\n emptyCreate: 'Create your first catalog to organize components',\n emptyNoCatalogs: 'No catalogs yet',\n emptyNoResults: 'No catalogs found',\n failedCreate: 'Failed to create catalog',\n failedLoad: 'Failed to load catalog',\n failedSave: 'Failed to save catalog',\n fillRequired: 'Please fill in all required fields',\n filterVisibility: 'Visibility',\n graphEdges: 'Dependencies',\n graphEdgesList: 'Dependencies',\n graphError: 'Failed to load graph',\n graphNodes: 'Components',\n graphNodesList: 'Components',\n loading: 'Loading catalogs...',\n loadingDetails: 'Loading catalog details...',\n loadingGraph: 'Loading dependency graph...',\n loadingSBOM: 'Generating SBOM...',\n metadata: 'Metadata',\n nameLabel: 'Name *',\n namePlaceholder: 'My Catalog',\n nameRequired: 'Name is required',\n noAvailableComponents: 'No available components to add',\n noComponents: 'No components',\n noComponentsDescription: 'Add components to this catalog to track them',\n noDescription: 'No description',\n noGraphNodes: 'No dependency data',\n noGraphNodesDesc: 'Add components to this catalog to visualize the dependency graph',\n noSBOMEntries: 'No SBOM entries',\n notFound: 'Catalog not found',\n ownerLabel: 'Owner',\n ownerName: 'Owner',\n ownerNameLabel: 'Owner',\n ownerPlaceholder: 'team-name',\n sbom: 'SBOM',\n sbomEntries: 'Entries',\n sbomError: 'Failed to load SBOM',\n sbomFormat: 'Format',\n sbomGenerated: 'Generated',\n sbomLicense: 'License',\n sbomName: 'Name',\n sbomSupplier: 'Supplier',\n sbomType: 'Type',\n sbomVersion: 'Version',\n scorecard: 'Scorecard',\n searchComponents: 'Search components...',\n searchPlaceholder: 'Search catalogs...',\n share: 'Share',\n showingResults: 'Showing {{filtered}} of {{total}} catalogs',\n tabsAriaLabel: 'Catalog tabs',\n tags: 'Tags',\n tagsLabel: 'Tags (comma-separated)',\n tagsPlaceholder: 'frontend, microservice, api',\n title: 'Catalogs',\n updatedSuccess: 'Catalog updated successfully',\n vibes: 'Vibes',\n visibility: 'Visibility',\n visibilityInternal: 'Internal',\n visibilityLabel: 'Visibility',\n visibilityPrivate: 'Private',\n visibilityPublic: 'Public',\n },\n catalogDocs: {\n backToCatalog: 'Back to Catalog',\n failedLoad: 'Failed to load docs',\n failedLoadDocs: 'Failed to load documentation',\n goToCatalog: 'Go to Catalog Details',\n loading: 'Loading documentation...',\n },\n common: {\n accessDeniedDescription: \"You don't have permission to access this resource.\",\n accessDeniedTitle: 'Access Denied',\n archive: 'Archive',\n back: 'Back',\n cancel: 'Cancel',\n close: 'Close',\n created: 'Created',\n delete: 'Delete',\n dismiss: 'Dismiss',\n edit: 'Edit',\n error: 'Error',\n exitFullscreen: 'Exit fullscreen',\n fullscreen: 'Fullscreen',\n hide: 'Hide',\n loadMore: 'Load more',\n loading: 'Loading...',\n moreActions: 'More actions',\n notAvailable: 'Not available',\n refresh: 'Refresh',\n refreshing: '(refreshing...)',\n retry: 'Retry',\n save: 'Save',\n saved: 'Saved!',\n saving: 'Saving...',\n settings: 'Settings',\n show: 'Show',\n unset: 'Unset',\n updated: 'Updated',\n },\n component: {\n addToCatalog: 'Add to Catalog',\n allLifecycles: 'All Lifecycles',\n allTypes: 'All Types',\n backToComponents: 'Back to Components',\n catalogs: 'Catalogs',\n catalogsContaining: 'catalogs containing this component',\n createComponent: 'Create Component',\n createdSuccess: 'Component created successfully',\n dangerZone: 'Danger Zone',\n deleteComponent: 'Delete Component',\n deleteWarning:\n 'Deleting this component will remove it from all catalogs and break any templates derived from it. This cannot be undone.',\n dependencies: 'Dependencies',\n description: '{{total}} components',\n descriptionEmpty:\n 'Track every service, frontend, library, and API in your system — dependencies, owners, and lifecycle in one place',\n descriptionLabel: 'Description',\n descriptionPlaceholder: 'Describe this component...',\n docs: 'Docs',\n editComponent: 'Edit Component',\n editDetails: 'Edit Details',\n emptyAdjustSearch: 'Try adjusting your search or filters',\n emptyCreate:\n 'A component is any piece of software in your system — a backend service, a frontend app, a shared library, an API. Register one to start tracking its dependencies, owner, and lifecycle stage.',\n emptyNoComponents: 'No components yet',\n emptyNoResults: 'No components found',\n failedCreate: 'Failed to create component',\n failedLoad: 'Failed to load component',\n failedPublish: 'Failed to publish',\n failedSave: 'Failed to save component',\n fillRequired: 'Please fill in all required fields',\n filterLifecycle: 'Lifecycle',\n filterType: 'Type',\n frameworkLabel: 'Framework',\n frameworkPlaceholder: 'React',\n languageLabel: 'Language',\n languagePlaceholder: 'TypeScript',\n lifecycle: 'Lifecycle',\n lifecycleActive: 'Active',\n lifecycleDeprecated: 'Deprecated',\n lifecycleEndOfLife: 'End of Life',\n lifecycleExperimental: 'Experimental',\n lifecycleLabel: 'Lifecycle',\n lifecycleProduction: 'Production',\n loading: 'Loading components...',\n loadingDetails: 'Loading component details...',\n metadata: 'Metadata',\n nameLabel: 'Name *',\n namePlaceholder: 'my-service',\n nameRequired: 'Name is required',\n noCatalogs: 'Not in any catalogs',\n noCatalogsDescription: 'This component has not been added to any catalogs yet',\n noDescription: 'No description',\n notFound: 'Component not found',\n ownerLabel: 'Owner',\n ownerNameLabel: 'Owner',\n ownerPlaceholder: 'team-name',\n publishAsTemplate: 'Publish as Template',\n publishDescription:\n 'Turn this component into a reusable template. Others can clone it and fill in configuration variables to create new components.',\n publishedAsTemplate: 'Published as template successfully',\n repository: 'Repository',\n scorecard: 'Scorecard',\n searchPlaceholder: 'Search components...',\n share: 'Share',\n showingResults: 'Showing {{filtered}} of {{total}} components',\n tabsAriaLabel: 'Component tabs',\n tags: 'Tags',\n tagsLabel: 'Tags (comma-separated)',\n tagsPlaceholder: 'backend, api, graphql',\n template: 'Template',\n title: 'Components',\n type: 'Type',\n typeApi: 'API',\n typeCustom: 'Custom',\n typeDatabase: 'Database',\n typeFrontend: 'Frontend',\n typeInfrastructure: 'Infrastructure',\n typeLabel: 'Type',\n typeLibrary: 'Library',\n typeMobile: 'Mobile',\n typeService: 'Service',\n updatedSuccess: 'Component updated successfully',\n version: 'Version',\n versionLabel: 'Version',\n versionPlaceholder: '1.0.0',\n viewTemplate: 'View Template',\n },\n componentDocs: {\n backToComponent: 'Back to Component',\n failedLoad: 'Failed to load docs',\n failedLoadDocs: 'Failed to load documentation',\n goToComponent: 'Go to Component Details',\n loading: 'Loading documentation...',\n },\n connectionLog: {\n copied: 'Copied',\n copyJson: 'Copy JSON',\n copyText: 'Copy log as text',\n exportJson: 'Export .json',\n exportTxt: 'Export .txt',\n moreActions: 'More log actions',\n refresh: 'Refresh connection log',\n },\n connectionPermissionsDialog: {\n cancel: 'Cancel',\n noPermissions: 'No permissions configured',\n noScopes: 'No scopes configured',\n permissions: 'Permissions',\n save: 'Save Permissions',\n scopes: 'Scopes',\n title: 'Connection Permissions',\n },\n gettingStarted: {\n addAgent: 'Add Agent',\n agentNpmLatest: '@vibecontrols/agent (latest)',\n agentNpmPackage: 'Agent npm package',\n cliQuickRef: 'CLI Quick Reference',\n cliTab: 'CLI Reference',\n cmdAgentsListActive: 'Platform CLI — see the connected agent on the backend',\n cmdVibeAutostartInstall: 'Run the agent as a background service (daemonize)',\n cmdVibeAutostartUninstall: 'Remove the background service',\n cmdVibeHealth: 'Run an HTTP health check on the agent',\n cmdVibeSetup: 'Install missing dependencies (tmux, ttyd, cloudflared)',\n cmdVibeStart:\n 'First run: auto-detects deps, picks a port (default 3005), establishes a Cloudflare tunnel, generates an agentApiKey, then waits for the platform',\n cmdVibeStartProfile: 'Run a named profile (e.g. alpha, default) for multiple agent instances',\n cmdVibeStatus: 'Show all running agent instances',\n description: 'Install and run the VibeControls Agent',\n installAgent: 'Install the Agent',\n installAgentDesc:\n 'Install the agent globally with bun or npm on the machine you want to manage, then run vibe start. Bun (or Node >= 18 for npm) is the only prerequisite.',\n installTab: 'Install',\n nextStep1Prefix: 'Start the agent:',\n nextStep1Suffix:\n '— on first run it establishes a Cloudflare tunnel, generates an agentApiKey, and waits in pre-config mode for the platform.',\n nextStep2Prefix: 'In this UI, go to',\n nextStep2Suffix:\n ', create or pick a target, and paste the tunnel URL and agentApiKey that vibe start printed. The platform then pushes OAuth credentials automatically and the agent activates.',\n nextStep3End: ').',\n nextStep3Prefix: 'Run it as a background service:',\n nextStep3Suffix: '(remove later with',\n nextStep4And: 'and',\n nextStep4Prefix: 'Verify it is running with',\n nextSteps: 'Next steps',\n pinVersion: 'Pin a specific agent version (optional)',\n pinVersionPlaceholder: 'e.g. 2026.408.1 (leave blank for latest)',\n targetsAndAgents: 'Targets & Agents',\n title: 'Getting Started',\n viewInstallDocs: 'View the full install docs',\n },\n gitops: {\n addProvider: 'Add Provider',\n ci: 'CI Pipelines',\n gitUI: 'Git UI',\n loadingProviders: 'Loading GitOps providers...',\n provider: 'Provider',\n refresh: 'Refresh',\n repoStats: 'Repo Stats',\n startUngit: 'Start Ungit',\n startingUngit: 'Starting...',\n ungitNote: 'Visual git client powered by Ungit plugin on the agent.',\n },\n health: {\n active: 'active',\n agentHealth: 'Agent Health',\n agents: 'Agents',\n allSystemsOperational: 'All Systems Operational',\n autoRefresh: 'Auto-refresh',\n autoRefreshInterval: 'Auto-refresh every 30s',\n cpu: 'CPU',\n healthy: 'healthy',\n hoursAgo: 'h ago',\n justNow: 'Just now',\n lastChecked: 'Last checked',\n lastHeartbeat: 'Last Heartbeat',\n lastUpdated: 'Last updated',\n majorSystemOutage: 'Major System Outage',\n memory: 'Memory',\n minutesAgo: 'm ago',\n never: 'Never',\n noAgentsRegistered: 'No agents registered',\n noSessions: 'No sessions',\n noVibes: 'No vibes',\n partialSystemOutage: 'Partial System Outage',\n running: 'running',\n sessionStatus: 'Session Status',\n sessions: 'Sessions',\n statusUnknown: 'Status Unknown',\n systemOffline: 'System Offline',\n systemStatus: 'System',\n targets: 'Targets',\n tunnel: 'Tunnel',\n uptime: 'Uptime',\n vibeStatus: 'Vibe Status',\n vibes: 'Vibes',\n },\n logs: {\n agentLabel: 'Agent:',\n clear: 'Clear',\n connectToAgent: 'Connect to an agent to view logs',\n description: 'Gateway-proxied log streaming from your agents',\n disconnected: 'Disconnected',\n entries: 'entries',\n export: 'Export',\n fetchFailed: 'Failed to fetch logs',\n filterLogs: 'Filter logs...',\n levelFilter: 'Log level filter',\n live: 'Live',\n loadingAgents: 'Loading agents...',\n noAgentSelected: 'Select an agent to view logs',\n noAgentSelectedDescription:\n 'Logs are fetched on demand. Choose an agent above to start streaming its gateway-proxied logs.',\n noAgentsAvailable: 'No agents with tunnel access available',\n pause: 'Pause',\n resume: 'Resume',\n selectAgent: 'Select an agent...',\n waitingForEntries: 'Waiting for log entries...',\n },\n mesh: {\n actions: {\n deployFromHere: 'Deploy from here',\n openAgent: 'Open agent',\n runCommand: 'Run command',\n startTerminal: 'Start terminal',\n wakeViaSsh: 'Wake via SSH',\n wakingViaSsh: 'Waking…',\n },\n deploy: {\n auth: 'Authentication',\n authAgent: 'SSH agent / default key',\n authKey: 'Key path',\n connectExisting: 'Connect to an existing agent on the target instead of installing',\n deploying: 'Deploying through {{agent}}…',\n deployingShort: 'Deploying…',\n description: 'Deploy a new agent through the mesh from a selected source agent.',\n failed: 'Deploy failed',\n host: 'Host / alias',\n jobFailed: 'Deploy failed.',\n keyPath: 'Identity file (key path)',\n label: 'Label (optional)',\n labelPlaceholder: 'e.g. Production web tier',\n mode: 'Deploy mode',\n modeSame: 'Same machine',\n modeSsh: 'Remote (SSH)',\n noAgents: 'No agents available',\n noJob: 'Deploy started but no job id was returned by the agent.',\n permissions: 'Grant permissions on the new link',\n port: 'Port',\n sourceAgent: 'Source agent (deploys from)',\n starting: 'Starting deploy job…',\n steps: {\n configure: 'Configure',\n deploy: 'Deploy',\n },\n submit: 'Deploy',\n success: 'Agent deployed successfully!',\n title: 'Deploy Agent via Mesh',\n user: 'User',\n },\n deployButton: 'Deploy Agent',\n request: {\n api: 'API',\n argv: 'Command (vibe …)',\n body: 'Request body',\n bodyNotObject: 'Body must be a JSON object.',\n bodyPlaceholder: 'JSON body (optional)',\n command: 'Command',\n destination: 'Destination agent',\n failed: 'Request failed',\n hops: 'Hops:',\n invalidJson: 'Request body is not valid JSON.',\n method: 'Method',\n mode: 'Mode',\n noDest: 'No agents',\n noRoot: 'Select a reachable root agent to dispatch from.',\n path: 'Path',\n run: 'Run',\n title: 'Run mesh request',\n },\n requestPanelToggle: 'Mesh request',\n terminal: {\n comingSoon: 'Deep-terminal coming soon',\n noRoot: 'No reachable root agent to start a terminal from.',\n },\n wake: {\n failed: 'Could not wake {{name}} over SSH.',\n starting: 'Reconnecting {{name}} over SSH…',\n success: '{{name}} is back online',\n },\n },\n nav: {\n actions: 'Actions',\n agentGraph: 'Agent Graph',\n agents: 'Agents',\n ai: 'AI',\n aiBookmarks: 'Bookmarks',\n analytics: 'Analytics',\n gitops: 'GitOps',\n health: 'Health',\n logs: 'Logs',\n overview: 'Overview',\n sessions: 'Session',\n settings: 'Settings',\n targets: 'Targets',\n vibeAudit: 'Audit',\n vibeCalendar: 'Calendar',\n vibeDeck: 'Vibe Deck',\n vibes: 'Vibes',\n webhooks: 'Webhooks',\n },\n noteDetails: {\n accessDenied: 'Access Denied',\n accessDeniedDesc: \"You don't have permission to access this page.\",\n attachedTo: 'Attached to',\n back: 'Back',\n created: 'Created',\n details: 'Details',\n failedLoad: 'Failed to load note',\n loading: 'Loading note...',\n loadingPermissions: 'Loading permissions...',\n noTags: 'No tags assigned.',\n notFound: 'Note not found',\n notFoundDesc: 'This note may have been deleted or you may no longer have access to it.',\n noteId: 'Note ID',\n openVibe: 'Open Vibe',\n pinned: 'Pinned',\n tags: 'Tags',\n updated: 'Updated',\n vibe: 'Vibe',\n workspaceNote: 'Workspace note',\n },\n overviewPage: {\n accessDeniedDescription: \"You don't have permission to access this page.\",\n activity: {\n agentOnline: 'Agent Online',\n agentOnlineDescription: '{{name}} is active',\n sessionRunning: 'Session Running',\n sessionStatus: 'Session {{status}}',\n },\n description: 'Monitor and manage your development environments',\n empty: {\n addAgent: 'Add agent',\n addVibe: 'Add a vibe',\n installCliHint: 'Install the agent CLI to get started',\n noActiveAgents: 'No active agents',\n noActiveVibes: 'No active vibes',\n noRecentActivity: 'No recent activity',\n noRunningSessions: 'No running sessions',\n setupGuide: 'Setup guide',\n startSession: 'Start a session',\n viewAuditLog: 'View audit log',\n },\n loadFailed: {\n message: \"We couldn't load your VibeControls overview. Please try again in a moment.\",\n title: 'Could not load workspace data',\n },\n loadingPermissions: 'Loading permissions...',\n refresh: 'Refresh',\n sections: {\n activeAgents: 'Active Agents',\n activeVibes: 'Active Vibes',\n recentActivity: 'Recent Activity',\n runningSessions: 'Running Sessions',\n viewAll: 'View all',\n viewAllActivity: 'View all activity',\n viewAllAgents: 'View all agents',\n },\n stats: {\n active: '{{count}} active',\n agents: 'Agents',\n connected: '{{count}} connected',\n notes: 'Notes',\n pinned: '{{count}} pinned',\n running: '{{count}} running',\n sessions: 'Sessions',\n targets: 'Targets',\n vibes: 'Vibes',\n },\n time: {\n daysAgo: '{{count}}d ago',\n hoursAgo: '{{count}}h ago',\n justNow: 'Just now',\n minutesAgo: '{{count}}m ago',\n unknown: 'Unknown',\n },\n title: 'VibeControls Overview',\n },\n scheduledJob: {\n detail: {\n accessDenied: 'Access Denied',\n accessDeniedHint:\n 'You do not have permission to view scheduled-job details. Contact your workspace owner if you believe you should.',\n action: 'Action',\n completedAt: 'Completed',\n executeFailedFallback: 'Failed to execute job. Try again or contact support.',\n executeNow: 'Execute Now',\n executions: 'Executions',\n executionsCount: 'Total',\n executor: 'Executor',\n lastExecution: 'Last Execution',\n loading: 'Loading job…',\n loadingPermissions: 'Loading permissions…',\n nextExecution: 'Next Execution',\n noExecutions: 'No executions yet',\n notFound: 'Job not found',\n notFoundHint:\n 'It may have been deleted, archived, or moved to a workspace you no longer have access to.',\n pollingTimedOut: \"Didn't see a new execution yet — refresh to check again.\",\n priority: 'Priority',\n scheduleType: 'Schedule Type',\n timezone: 'Timezone',\n untitled: 'Untitled job',\n viewLogs: 'View logs',\n waitingForExecution: 'Waiting for execution…',\n },\n },\n scorecard: {\n addMetric: 'Add Metric',\n empty: 'No scorecard metrics',\n failedLoad: 'Failed to load scorecard',\n loading: 'Loading scorecard...',\n overallScore: 'Overall Score',\n },\n sessionDetails: {\n accessDenied: 'Access Denied',\n accessDeniedDesc: \"You don't have permission to access this page.\",\n agentLabel: 'Agent',\n agentNoApiUrl: 'Agent has no API URL configured',\n agentNoTunnelUrl: 'Agent has no tunnel URL configured',\n autoStart: 'Auto Start',\n backToSessions: 'Back to Sessions',\n cancel: 'Cancel',\n clickOpenTerminalHint:\n 'Click \"Open Terminal\" to create a tmux session with a browser terminal.',\n collapseTerminal: 'Collapse terminal',\n commandExited: 'Command exited{{code}} — click Run Command to run it again.',\n commandLabel: 'Command',\n commandPlaceholder: 'bun run dev',\n commandTitle: 'Command',\n created: 'Created',\n editCommandTitle: 'Edit command and working directory',\n envVars: 'Environment Variables',\n exitCode: 'Exit Code',\n expandTerminal: 'Expand terminal',\n failedLoad: 'Failed to load session',\n failedStartTerminal: 'Failed to start terminal',\n hideTerminal: 'Hide terminal',\n lastOutput: 'Last Output',\n loadingPermissions: 'Loading permissions...',\n loadingSession: 'Loading session details...',\n maximize: 'Maximize',\n no: 'No',\n noAgentAssigned: 'No agent assigned',\n noAgentForSession: 'No agent is assigned to this session.',\n noCommandSpecified: 'No command specified',\n noEnvVars: 'No environment variables configured',\n noOutput: 'No output captured',\n noTerminalRunning: 'No terminal running',\n notFound: 'Session not found',\n notFoundDescPrefix: 'No session with ID',\n notFoundDescSuffix: 'exists',\n openInNewTab: 'Open terminal in new tab',\n openInNewTabShort: 'Open in new tab',\n openTerminal: 'Open Terminal',\n opening: 'Opening...',\n pidLabel: 'PID',\n preparingTerminal: 'Preparing terminal…',\n relatedVibe: 'Related Vibe',\n restartCommand: 'Restart Command',\n restartTerminalConfirmBody:\n 'This kills the current tmux session and re-runs the command from scratch. Any in-progress output will be lost.',\n restartTerminalConfirmLabel: 'Restart terminal',\n restartTerminalConfirmTitle: 'Restart terminal?',\n restartTerminalShort: 'Restart',\n restartTerminalTitle: 'Restart terminal — kills the tmux session and re-runs the command',\n restoreSize: 'Restore size',\n retry: 'Retry',\n runCommand: 'Run Command',\n runningOnAgent: 'Running on Agent',\n save: 'Save',\n settingUpTunnel: 'Setting up session + web terminal tunnel',\n showTerminal: 'Show terminal',\n startingTerminal: 'Starting terminal for',\n statusLabel: 'Status',\n stopCommand: 'Stop Command',\n tags: 'Tags',\n terminal: 'Terminal',\n terminalCapabilityFailed: 'Could not prepare terminal access',\n timeline: 'Timeline',\n typeLabel: 'Type',\n updated: 'Updated',\n workbench: 'Workbench',\n workbenchTitle: 'Notes, prompts & history for this session (Cmd/Ctrl+J)',\n workingDirDefault: 'not set — defaults to OS home',\n workingDirLabel: 'Working Directory',\n workingDirPlaceholder: '/home/user/myproject',\n workingDirectory: 'Working Directory',\n yes: 'Yes',\n },\n sessions: {\n accessDeniedDescription: \"You don't have permission to view sessions.\",\n active: 'Active',\n adopt: 'Adopt',\n adopting: 'Adopting…',\n advanced: 'Advanced options',\n agent: 'Agent',\n agentHint:\n \"Required when no vibe is selected. Overridden by the vibe's agent if a vibe is chosen.\",\n agentNotHealthy:\n 'The selected agent isn\\\\u2019t fully reachable right now. Please wait for the agent badge to turn green and retry.',\n agentRequired: 'Please select an agent for this session.',\n attachExistingHint:\n 'When set, the agent attaches to that existing session instead of creating a new one. Leave blank to spawn fresh.',\n attachExistingLabel: 'Attach to existing session (optional)',\n autoStartWithVibe: 'Auto-start with vibe',\n cheatsheet: {\n cat: {\n Actions: 'Actions',\n Help: 'Help',\n Navigation: 'Navigation',\n Tabs: 'Tabs',\n View: 'View',\n },\n hint: 'Shortcuts are ignored while typing in an input. Sequences like “g a” mean press g then a.',\n title: 'Keyboard shortcuts',\n },\n checkHealth: 'Check session health',\n command: 'Command',\n commandPlaceholder: 'bun run dev',\n confirmRemovePrefix: 'Are you sure you want to remove',\n confirmRemoveSuffix: 'This cannot be undone.',\n createSession: 'Create Session',\n createdSuccess: 'Session created successfully',\n creating: 'Creating...',\n deselect: 'Deselect',\n deselectAll: 'Deselect All',\n emptyAdjustSearch: 'Try adjusting your search or filters',\n emptyConfigured: 'No sessions configured',\n emptyDescription:\n 'Sessions require an active agent. Install the CLI agent first, then start a session.',\n emptyFound: 'No sessions found',\n errorPrefix: 'Error',\n export: 'Export',\n exportSuccess: 'Exported {{count}} sessions as {{format}}',\n failed: 'failed',\n failedCreate: 'Failed to create session',\n failedExport: 'Failed to export sessions',\n failedLoad: 'Failed to load sessions',\n failedRemove: 'Failed to remove sessions',\n failedRestart: 'Failed to restart sessions',\n failedRestartTerminal: 'Failed to restart terminal',\n failedStartTerminal: 'Failed to start terminal',\n failedStop: 'Failed to stop sessions',\n filterAgent: 'Agent',\n filterAgentAll: 'All Agents',\n filterStatus: 'Status',\n // Target filter + grouping\n filterTarget: 'Target',\n filterTargetAll: 'All Targets',\n filterType: 'Type',\n filterVibe: 'Vibe',\n filterVibeAll: 'All Vibes',\n filterVibeNone: 'No Vibe',\n gridViewTitle: 'Grid view',\n group: {\n selectGroup: 'Select group',\n },\n groupBy: {\n agent: 'Agent',\n none: 'No grouping',\n status: 'Status',\n target: 'Target',\n type: 'Type',\n vibe: 'Vibe',\n },\n groupByLabel: 'Group',\n // Agent/target inline info + side panel\n info: {\n address: 'Address',\n agent: 'Agent',\n cwd: 'Working dir',\n heartbeat: 'Heartbeat',\n host: 'Host',\n name: 'Name',\n noActive: 'No active terminal session.',\n panelDesc: 'Where this session runs and how to reach it.',\n panelTitle: 'Session details',\n platform: 'Platform',\n session: 'Session',\n status: 'Status',\n target: 'Target',\n tunnel: 'Tunnel',\n type: 'Type',\n vibe: 'Vibe',\n viewAgent: 'View agent',\n viewTarget: 'View target',\n },\n infoPanelHint: 'Session info (i)',\n infoPanelLabel: 'Info',\n keyboardShortcuts: 'Keyboard shortcuts (?)',\n listViewTitle: 'List view',\n loading: 'Loading sessions...',\n loadingPermissions: 'Loading permissions...',\n name: 'Name',\n namePlaceholder: 'dev-server',\n nameRequired: 'Name is required',\n newSession: 'New Session',\n newSessionOptions: 'New session options',\n newSessionWithOptions: 'New session with options…',\n noAgentAttached:\n 'This vibe has no agents attached. Attach one from the Vibe → Agents tab before creating sessions.',\n noOrphans: 'No orphan vibe-* sessions found on this agent.',\n noVibe: 'No vibe',\n of: 'of',\n offline: 'Offline',\n pageDescription: '{{running}} of {{total}} sessions running',\n // Command palette\n palette: {\n description: 'Search sessions or run a command',\n empty: 'No results.',\n gotoAgent: \"Open active session's agent\",\n gotoTarget: \"Open active session's target\",\n groupActions: 'Actions',\n groupByAgent: 'Group by agent',\n groupByTarget: 'Group by target',\n groupByVibe: 'Group by vibe',\n groupClear: 'Clear grouping',\n groupNav: 'Navigation',\n groupSessions: 'Sessions',\n groupView: 'View',\n newSessionQuick: 'New terminal (quick)',\n placeholder: 'Search sessions or type a command…',\n reconnect: 'Reconnect active terminal',\n shareActive: 'Share / offer active session',\n shortcuts: 'Keyboard shortcuts',\n title: 'Sessions command palette',\n toggleInfo: 'Toggle session info panel',\n viewGrid: 'Switch to grid view',\n viewList: 'Switch to list view',\n viewTerminal: 'Switch to terminal view',\n },\n paletteHint: '⌘/Ctrl K · Command palette',\n pickAgentFromVibe:\n 'This vibe has multiple agents attached. Pick one before creating the session.',\n profile: 'Profile',\n profileHint:\n 'Which agent profile this session targets. Defaults to \"default\" — change only if the agent runs multiple isolated profiles.',\n quickNewSessionHint: 'New terminal (⌘/Ctrl+T)',\n reconnect: 'Reconnect',\n reconnectDesc:\n 'Pick an agent to scan its host for tmux / wezterm / zellij sessions named vibe-* that are not currently tracked. Adopt one to start a web terminal and bring it back into the UI.',\n reconnectExisting: 'Reconnect existing session…',\n reconnectTitle: 'Reconnect orphan sessions',\n reconnectTooltip:\n 'Reconnect orphan tmux/wezterm/zellij sessions left over from a previous agent run',\n refreshTitle: 'Refresh sessions',\n refreshing: 'refreshing...',\n remove: 'Remove',\n removed: 'Removed',\n requiredPermission: 'Required permission: session:list',\n restart: 'Restart',\n restarted: 'Restarted',\n running: 'Running',\n runningSummary: '{{running}} running / {{total}} total',\n // Keyboard shortcut descriptions (cheatsheet)\n sc: {\n cheatsheet: 'Keyboard shortcuts',\n closeTab: 'Close active tab',\n cycleView: 'Cycle terminal / grid / list',\n focusSearch: 'Focus search',\n fullscreen: 'Toggle terminal fullscreen',\n groupAgent: 'Group by agent',\n groupNone: 'Clear grouping',\n groupStatus: 'Group by status',\n groupTarget: 'Group by target',\n groupVibe: 'Group by vibe',\n infoPanel: 'Toggle session info panel',\n jumpTab: 'Jump to tab N',\n newSession: 'New session',\n nextTab: 'Next tab',\n openAgent: \"Open active session's agent\",\n openTabNew: 'Open active tab in new browser tab',\n openTarget: \"Open active session's target\",\n palette: 'Command palette',\n prevTab: 'Previous tab',\n reconnect: 'Reconnect active terminal',\n renameTab: 'Rename active tab',\n },\n scanningHost: 'Scanning host...',\n searchAgents: 'Search agents...',\n searchPlaceholder: 'Search sessions...',\n searchProfiles: 'Search profiles...',\n searchTypes: 'Search types...',\n searchVibes: 'Search vibes...',\n selectAgent: 'Select an agent',\n selectAll: 'Select All',\n selectProfile: 'default',\n selectType: 'Select type',\n selected: 'selected',\n shareOfferHint: 'Share / offer this session',\n shareOfferLabel: 'Share',\n shortcutsHint: 'Press ? for shortcuts',\n showing: 'Showing',\n starting: 'Starting',\n statusAll: 'All Statuses',\n statusOnline: 'Online',\n stop: 'Stop',\n stopped: 'Stopped',\n stoppedState: 'Stopped',\n tags: 'Tags',\n terminalRestartedNoUrl: 'Terminal restarted but no URL returned.',\n terminalStartedNoTunnelUrl: 'Terminal started but no tunnel URL was returned. Try restarting.',\n terminalStartedNoUrl: 'Terminal started but no URL was returned. Try restarting.',\n terminalStopped: 'Terminal stopped',\n terminalTypeHint:\n 'Plain terminal — a shell over ttyd with no tmux/wezterm/zellij multiplexer and no persisted session. Native drag-to-select copy/paste.',\n terminalViewTitle: 'Terminal view',\n typeAll: 'All Types',\n typeCustom: 'Custom',\n typeScript: 'Script',\n typeSsh: 'SSH',\n typeTerminal: 'Terminal',\n typeTmux: 'TMUX',\n typeTmuxLower: 'tmux',\n typeWezTerm: 'WezTerm',\n typeZellij: 'Zellij',\n },\n settings: {\n activeSessions: 'Active Sessions',\n addSecret: 'Add secret',\n advanced: 'Advanced',\n advancedDesc: 'Logging, telemetry, secrets',\n advancedSettings: 'Advanced Settings',\n agentDefaults: 'Agent Defaults',\n agentOfflineAlerts: 'Agent Offline Alerts',\n agentStateActive: 'Active',\n agentStateOffline: 'Offline',\n autoGitSync: 'Auto Git Sync',\n autoReconnect: 'Auto-reconnect',\n autoStartSessions: 'Auto-start Sessions',\n autoUpdate: 'Auto Update',\n avatarUrl: 'Avatar URL',\n avatarUrlDesc: 'URL to your avatar image',\n bio: 'Bio',\n bioPlaceholder: 'Tell us about yourself...',\n codeFont: 'Code Font',\n codeFontSize: 'Code Font Size',\n configuredSecrets: 'Configured Secrets',\n defaultAgent: 'Default Agent',\n defaultAgentPlaceholder: 'Select default agent...',\n defaultEnvVars: 'Default Environment Variables',\n defaultEnvVarsPlaceholder: 'KEY=value ANOTHER_KEY=value',\n defaultSessionType: 'Default Session Type',\n defaultVibeType: 'Default Vibe Type',\n deleteSecret: 'Delete secret',\n description: 'Configure VibeControls preferences and workspace defaults',\n digestFrequency: 'Digest Frequency',\n digestFrequencyDaily: 'Daily',\n digestFrequencyNone: 'None',\n digestFrequencyWeekly: 'Weekly',\n displayName: 'Display Name',\n displayNamePlaceholder: 'Your display name',\n editor: 'Code Editor',\n editorDesc: 'Default IDE + per-Vibe overrides',\n emailDigest: 'Email Digest',\n emailDigestDescription: 'Receive summary emails of activity',\n generalDefaults: 'General Defaults',\n heartbeatInterval: 'Heartbeat Interval (seconds)',\n language: 'Language',\n loading: 'Loading settings...',\n logLevel: 'Log Level',\n logLevelDebug: 'Debug',\n logLevelInfo: 'Info',\n logLevelWarning: 'Warning',\n maxSessionsPerAgent: 'Max Sessions Per Agent',\n mfa: 'Multi-Factor Authentication',\n noSecretsConfigured: 'No secrets configured',\n notifications: 'Notifications',\n notificationsDesc: 'Alert preferences',\n preferences: 'Preferences',\n profile: 'Profile',\n refreshSecrets: 'Refresh secrets',\n reset: 'Reset',\n resetFailed: 'Failed to reset settings.',\n resetSuccess: 'Settings reset to defaults.',\n resetToDefaults: 'Reset to defaults',\n saveFailed: 'Failed to save settings.',\n saveSecret: 'Save Secret',\n saveSuccess: 'Settings saved successfully.',\n secretValuePlaceholder: 'Secret value',\n sections: 'Settings sections',\n security: 'Security',\n sessionErrorAlerts: 'Session Error Alerts',\n sessionTimeout: 'Session Timeout',\n sessionTypeScript: 'Script',\n sessionTypeSsh: 'SSH',\n sessionTypeTerminal: 'Terminal',\n sessionTypeTmux: 'Tmux',\n sessionTypeWezTerm: 'WezTerm',\n sessionTypeZellij: 'Zellij',\n sidebarCollapsed: 'Sidebar Collapsed',\n telemetry: 'Telemetry',\n theme: 'Theme',\n timezone: 'Timezone',\n uiDensity: 'UI Density',\n vibeDefaults: 'Vibe Defaults',\n vibeStatusChanges: 'Vibe Status Changes',\n vibeTypeCustom: 'Custom',\n vibeTypeMonorepo: 'Monorepo',\n vibeTypePackage: 'Package',\n vibeTypeProject: 'Project',\n vibeTypeRepository: 'Repository',\n vibeTypeWorkspace: 'Workspace',\n workspace: 'Workspace',\n workspaceDesc: 'Agent, session, vibe defaults',\n },\n sharedSession: {\n canControl: 'Can Control',\n connected: 'Connected',\n expires: 'Expires',\n failedJoin: 'Failed to Join Session',\n failedValidate: 'Failed to validate the share link',\n goBack: 'Go Back',\n interactive: 'Interactive',\n invalidExpiredLink: 'Invalid or Expired Link',\n joining: 'Joining session...',\n linkNoLongerValid: 'This share link is no longer valid.',\n rejoin: 'Rejoin',\n rejoinHint: 'You can rejoin using the same share link.',\n retry: 'Retry',\n sessionInfo: 'Session Info',\n sharedBy: 'Shared by',\n status: 'Status',\n terminalLoading: 'Terminal loading...',\n unableToLoad: 'Unable to Load Session',\n validating: 'Validating share link...',\n viewOnly: 'View Only',\n viewer: 'Viewer',\n youLeft: 'You left the session',\n yourRole: 'Your role',\n },\n sharedVibeDeck: {\n canExecute: 'Can execute',\n enterPasswordHint: 'Enter the password to continue',\n invalidLink: 'Invalid share link',\n linkInvalidOrExpired: 'This share link is invalid or has expired.',\n poweredBy: 'Powered by',\n requiresPassword: 'This VibeDeck requires a password',\n viewOnly: 'View only',\n },\n targetDetails: {\n agents: 'Agents on this target',\n allAgents: 'All agents',\n connections: 'Inbound connections',\n errorTitle: 'Failed to load target',\n from: 'From',\n host: 'Host',\n identity: 'Identity',\n labels: 'Labels',\n missingId: 'Target id missing from URL',\n name: 'Name',\n noAgents: 'No agents on this target yet',\n noAgentsBody: 'Use the Agents tab to onboard an agent and select this target during setup.',\n noConnections: 'No inbound connections',\n noConnectionsBody: 'No agents are currently connected to this target.',\n notFoundBody: 'The target you requested may have been deleted or is in a different workspace.',\n notFoundTitle: 'Target not found',\n port: 'Port',\n share: 'Share',\n status: 'Status',\n tags: 'Tags',\n type: 'Type',\n updatedAt: 'Last updated',\n username: 'Username',\n },\n targets: {\n accessDeniedBody: \"You don't have permission to access this page.\",\n addTarget: 'Add Target',\n addTargetBody: 'Register a machine or server you want to manage.',\n agentConnectionHintPrefix: 'The agent that will establish the',\n agentConnectionHintSuffix: 'connection to this target.',\n agentInstalled: 'Agent Installed',\n agentInstalledSuccess: 'Agent installed successfully!',\n allAgents: 'All agents',\n authentication: 'Authentication',\n confirmDeleteSelectedPrefix: 'Are you sure you want to delete',\n confirmDeleteSelectedSuffix: 'This action cannot be undone.',\n connected: 'Connected',\n connectionFailed: 'Connection failed',\n connectionSuccessful: 'Connection successful',\n createFailed: 'Failed to create target',\n deleteAll: 'Delete All',\n deleteSelectedTargets: 'Delete Selected Targets',\n deleteTarget: 'Delete Target',\n deleteTargetMessage:\n 'This will remove the target and its connection from the agent. Active terminals will be disconnected.',\n descriptionOptional: 'Description (optional)',\n descriptionPlaceholder: 'Brief description of this target',\n deselectAll: 'Deselect All',\n disconnected: 'Disconnected',\n editTarget: 'Edit Target',\n emptyAdjustSearch: 'Try adjusting your search or filters',\n emptyDescription: 'Add a target to start managing servers, workstations, and environments.',\n emptyNoTargetsConfigured: 'No targets configured',\n emptyNoTargetsFound: 'No targets found',\n filterStatusAll: 'All Statuses',\n filterTypeAll: 'All Types',\n gridViewTitle: 'Grid view',\n host: 'Host',\n hostPlaceholder: '192.168.1.100',\n installAgent: 'Install Agent',\n installProgressBody: 'Installation progress for this target.',\n installationFailed: 'Installation failed.',\n installing: 'Installing...',\n installingAgentOn: 'Installing Agent on',\n keepCredentialsHint: 'Leave blank to keep existing credentials.',\n keepCurrentKeyPlaceholder: 'Leave blank to keep current (~/.ssh/id_rsa)',\n keepCurrentPlaceholder: 'Leave blank to keep current',\n labelOptional: 'Label (optional)',\n labelPlaceholder: 'web-server-01',\n listViewTitle: 'List view',\n loading: 'Loading targets...',\n loadingPermissions: 'Loading permissions…',\n namePlaceholderDirect: 'My Laptop',\n namePlaceholderServer: 'Production Server',\n newPassword: 'New Password',\n newPrivateKeyPath: 'New Private Key Path',\n onlineSummary: '{{connected}} of {{total}} targets online',\n openTerminal: 'Open terminal',\n password: 'Password',\n privateKey: 'Private Key',\n privateKeyPath: 'Private Key Path',\n privateKeyPathPlaceholder: '~/.ssh/id_rsa',\n refreshTitle: 'Refresh targets',\n saveChanges: 'Save Changes',\n searchPlaceholder: 'Search targets...',\n selectAgentConnectFrom: 'Select an agent to connect from',\n selectAll: 'Select All',\n selectTarget: 'Select {{name}}',\n showingResults: 'Showing {{filtered}} of {{total}} targets',\n sourceAgent: 'Source Agent',\n starting: 'Starting…',\n startingInstallJob: 'Starting install job...',\n tags: 'Tags',\n tagsCommaSeparated: 'Tags (comma-separated)',\n tagsPlaceholder: 'production, web',\n targetActions: 'Target actions',\n targetType: 'Target Type',\n targetTypeDirectHint: 'A local machine where you will install the agent manually.',\n targetTypeSshHint: 'A remote server accessible via SSH.',\n terminal: 'Terminal',\n test: 'Test',\n testConnectivity: 'Test connectivity',\n typeDirect: 'Direct',\n uninstall: 'Uninstall',\n uninstallAgent: 'Uninstall agent',\n unknown: 'Unknown',\n updateCredentialsOptional: 'Update credentials (optional)',\n username: 'Username',\n usernamePlaceholder: 'root',\n via: 'via',\n viewBilling: 'View Billing',\n viewMode: 'View mode',\n },\n template: {\n allCategories: 'All Categories',\n backToTemplates: 'Back to Templates',\n categoryBackend: 'Backend',\n categoryCustom: 'Custom',\n categoryFrontend: 'Frontend',\n categoryFullstack: 'Fullstack',\n categoryInfrastructure: 'Infrastructure',\n categoryLibrary: 'Library',\n categoryMicroservice: 'Microservice',\n categoryStarter: 'Starter',\n clone: 'Clone',\n cloneDescPlaceholder: 'Optional description',\n cloneDescription: 'Description',\n cloneFailed: 'Failed to clone',\n cloneFromTemplate: 'Clone from Template',\n cloneName: 'Name *',\n cloneNamePlaceholder: 'my-new-component',\n cloneNameRequired: 'Name is required',\n clonedSuccess: 'Cloned successfully',\n clones: 'clones',\n cloning: 'Cloning...',\n createdComponents: 'Created Components',\n deleteTemplate: 'Delete Template',\n description: '{{total}} templates available',\n descriptionEmpty:\n 'Reusable blueprints your team publishes from components — pick one to scaffold a new component in seconds',\n emptyAdjustSearch: 'Try adjusting your search or filters',\n emptyCreate:\n 'No templates yet. To create one: open any component → click the ⋯ menu → \"Publish as Template\". It will appear here and anyone in your workspace can use it as a starting point.',\n emptyNoResults: 'No templates found',\n emptyNoTemplates: 'No templates yet',\n failedLoad: 'Failed to load template',\n fileTree: 'File Tree',\n filterCategory: 'Category',\n loading: 'Loading templates...',\n loadingDetails: 'Loading template details...',\n noDescription: 'No description',\n notFound: 'Template not found',\n searchPlaceholder: 'Search templates...',\n setupInstructions: 'Setup Instructions',\n share: 'Share',\n showingResults: 'Showing {{filtered}} of {{total}} templates',\n sourceComponent: 'Source Component',\n tags: 'Tags',\n title: 'Templates',\n useTemplate: 'Use Template',\n variables: 'Template Variables',\n },\n tunnels: {\n port: 'Port',\n },\n vibeDeck: {\n cancel: 'Cancel',\n colorTheme: 'Color Theme',\n columns: 'Columns',\n description: 'Description',\n descriptionPlaceholder: 'Optional description...',\n dropHere: 'Drop here',\n editDeck: 'Edit deck',\n emptyDeckDescription: 'Switch to Edit mode to add buttons.',\n emptyDeckTitle: 'This deck is empty',\n gridLayout: 'Grid Layout',\n name: 'Name',\n namePlaceholder: 'My Vibe Deck',\n rows: 'Rows',\n save: 'Save',\n saving: 'Saving...',\n tags: 'Tags',\n },\n vibeDetails: {\n actions: 'Actions',\n activate: 'Activate',\n addToCatalog: 'Add to Catalog',\n addToCatalogTitle: 'Add Vibe to Catalog',\n aiChat: 'AI Chat',\n aiContexts: 'AI Contexts',\n aiPrompts: 'AI Prompts',\n archive: 'Archive',\n archiveConfirmBody:\n 'Archived vibes are hidden from the active list and their scheduled actions stop firing. You can restore the vibe later from the archived view. Existing sessions, tunnels, and audit history are preserved.',\n archiveConfirmTitle: 'Archive this vibe?',\n backToVibes: 'Back to Vibe',\n branch: 'Branch',\n catalogs: 'Catalogs',\n catalogsTitle: 'Catalogs',\n childVibes: 'Child Vibes',\n config: 'Config',\n created: 'Created',\n deactivate: 'Deactivate',\n delete: 'Delete vibe…',\n docs: 'Docs',\n enterGraphqlUrl: 'Enter GraphQL endpoint URL (e.g. https://countries.trevorblades.com/graphql)',\n enterSwaggerUrl:\n 'Enter OpenAPI/Swagger URL (e.g. https://petstore3.swagger.io/api/v3/openapi.json)',\n environmentVariables: 'Environment Variables',\n failedLoad: 'Failed to load vibe',\n features: 'Features',\n featuresDescription:\n 'Toggle which sections show up on this vibe. Changes apply to everyone viewing the vibe.',\n git: 'Git',\n gitInformation: 'Git Information',\n gitPluginDescription:\n 'Live git branch, status, and remote data for this vibe are served by the vibe-plugin-tool-git agent plugin.',\n gitPluginEyebrow: 'Git plugin required',\n gitPluginTitle: 'Install the git plugin',\n gitops: 'GitOps',\n gitopsTitle: 'GitOps',\n graphqlPlayground: 'GraphQL',\n graphqlPlaygroundTitle: 'GraphQL Playground',\n graphqlPluginDescription:\n 'The GraphQL Playground is served by the graphiql agent plugin. Install it to continue.',\n graphqlPluginEyebrow: 'GraphQL playground plugin required',\n graphqlPluginTitle: 'Install the GraphQL playground',\n instructionFiles: 'Instructions',\n llmContext: 'LLM Context',\n loadApi: 'Load API',\n loadingCatalogs: 'Loading catalogs...',\n loadingConfig: 'Loading saved configuration...',\n loadingDetails: 'Loading vibe details...',\n mintingIframeToken: 'Authorizing iframe…',\n new: 'New',\n newSessionFor: 'New Session for',\n noAgentAttached:\n 'This vibe has no agent attached. Connect an agent to this vibe before creating a session.',\n noAgentAvailable: 'No agent available. Please configure an agent first.',\n noAgentTunnel: 'No agent tunnel available',\n noAgentTunnelDesc2: 'The GraphQL playground requires an active agent with a tunnel URL.',\n noAvailableCatalogs: 'No available catalogs. This vibe is already in all catalogs.',\n noCatalogs: 'Not in any catalogs',\n noCatalogsDesc: 'Add this vibe to catalogs to organize and track it alongside other components',\n noDescription: 'No description',\n noEnvironmentVariables: 'No environment variables configured',\n noGitInformation: 'No git information',\n noGitInformationDescription: 'This vibe does not have any git repository linked',\n noRelatedEntities: 'No related entities',\n noRelatedEntitiesDescription: 'This vibe has no child vibes, parent vibe, or linked agent',\n noSessionsForVibe: 'No sessions for this vibe',\n notFound: 'Vibe not found',\n notFoundDescriptionPrefix: 'No vibe with ID',\n notFoundDescriptionSuffix: 'exists',\n notes: 'Notes',\n openAiChat: 'Open AI chat in this vibe',\n openInEditor: 'Open in Editor',\n openInLocalVscode: 'Open in local VS Code',\n parentVibe: 'Parent Vibe',\n path: 'Path',\n pauseVibe: 'Pause vibe (stop scheduled runs)',\n related: 'Related',\n remote: 'Remote',\n removeFromCatalog: 'Remove from catalog',\n restPlayground: 'REST',\n restPlaygroundTitle: 'REST API Playground',\n resumeVibe: 'Resume vibe (re-enable scheduled runs)',\n runningOnAgent: 'Running on Agent',\n sandboxes: 'Sandboxes',\n scheduledJobs: 'Scheduled',\n scorecard: 'Scorecard',\n security: 'Security',\n selectAgent: 'Select an agent for this vibe before creating a session.',\n sessionCommandPlaceholder: 'bash',\n sessionName: 'Session Name',\n sessionNamePlaceholder: 'dev-terminal',\n sessionNameRequired: 'Session name is required',\n sessionProviderDescription:\n 'Choose the terminal multiplexer your sessions should run on. You can install more providers later.',\n sessionProviderEyebrow: 'Session provider required',\n sessionProviderTitle: 'Pick a session provider',\n sessionsManagerDescription:\n 'Sessions are orchestrated by the unified session manager plugin. Install it to continue.',\n sessionsManagerEyebrow: 'Session manager required',\n sessionsManagerTitle: 'Install the session manager',\n share: 'Share',\n statusTooltip:\n 'ACTIVE: vibe is in your default working set and can run sessions, tunnels and GitOps via its attached agent(s). INACTIVE: vibe is parked — still visible, no sessions auto-resume. RUNNING: at least one session is live. ARCHIVED: hidden from default lists; can be restored.',\n tabsAriaLabel: 'Vibe tabs',\n tags: 'Tags',\n timeline: 'Timeline',\n tunnels: 'Tunnels',\n updated: 'Updated',\n vibedecks: 'Vibe Decks',\n workingDirectory: 'Working Directory',\n },\n vibeDocs: {\n documentation: 'Documentation',\n exitFullscreen: 'Exit fullscreen',\n failedLoadDocs: 'Failed to load docs',\n failedLoadDocumentation: 'Failed to load documentation',\n fullscreen: 'Fullscreen',\n goToVibeDetails: 'Go to Vibe Details',\n loadingDocumentation: 'Loading documentation...',\n retry: 'Retry',\n },\n vibeTask: {\n accessDenied: 'Access Denied',\n accessDeniedDesc: \"You don't have permission to access this page.\",\n action: 'Action',\n actionExecutorHint: 'Executor config comes from the Action definition.',\n actions: 'Actions',\n execHistory: 'Execution History',\n exitCode: 'Exit Code',\n lastRun: 'Last run',\n loadingPermissions: 'Loading permissions...',\n loadingTask: 'Loading task details...',\n logsPermissionRequired: 'Log access required',\n next: 'Next',\n noExecutions: 'No executions yet',\n oneTime: 'One-time',\n recurring: 'Recurring',\n schedule: 'Schedule',\n started: 'Started',\n status: 'Status',\n triggerNow: 'Trigger Now',\n viewLogs: 'View Logs',\n },\n vibecontrols: {\n actions: {\n card: {\n addToCalendar: 'Add to calendar',\n delete: 'Delete',\n duplicate: 'Duplicate',\n edit: 'Edit',\n execute: 'Execute',\n executionRuns: '{{count}} runs',\n hoursAgo: '{{count}}h ago',\n justNow: 'Just now',\n minutesAgo: '{{count}}m ago',\n never: 'Never',\n runs: 'runs',\n schedule: 'Schedule this action',\n },\n executionHistory: {\n close: 'Close',\n noExecutions: 'No executions yet',\n recentExecutions: 'Recent Executions',\n },\n form: {\n actionType: 'Action Type',\n anyAvailableAgent: 'Any available agent',\n authType: 'Auth Type',\n bodyJson: 'Body (JSON)',\n cancel: 'Cancel',\n category: 'Category',\n command: 'Command',\n commandSettings: 'Command Settings',\n createAction: 'Create Action',\n description: 'Description',\n displayName: 'Display Name',\n interpreter: 'Interpreter',\n method: 'Method',\n nameSlug: 'Name (slug)',\n offline: '(offline)',\n requireConfirmation: 'Require confirmation',\n retryCount: 'Retry Count',\n saving: 'Saving...',\n schedule: 'Schedule (cron expression)',\n script: 'Script',\n scriptSettings: 'Script Settings',\n tags: 'Tags (comma separated)',\n targetAgent: 'Target Agent',\n timeout: 'Timeout (ms)',\n triggerType: 'Trigger Type',\n updateAction: 'Update Action',\n url: 'URL',\n webhookSettings: 'Webhook Settings',\n workingDirectory: 'Working Directory',\n },\n },\n agentManager: {\n adminBar: {\n openFullPage: 'Open full page',\n },\n bookmarksDrawer: {\n editLabel: 'Edit label',\n empty: 'No bookmarks in this session yet',\n emptyHint: 'Click the bookmark icon on any message to save it for later.',\n fromAssistant: 'Assistant reply',\n fromUser: 'From you',\n jump: 'Jump to message',\n labelPlaceholder: 'Add a label (optional)',\n seeAll: 'See all bookmarks across sessions',\n stale: 'Message no longer available',\n title: 'Bookmarks in this session',\n },\n bridle: {\n clear: 'Clear',\n command: 'Command',\n commandCopied: 'Command copied to clipboard',\n configuration: 'Configuration',\n copiedToClipboard: 'Copied to clipboard',\n initialize: 'Initialize',\n installFromGithub: 'Install from GitHub',\n listProfiles: 'List Profiles',\n profileName: 'Profile Name',\n quickActions: 'Quick Actions',\n showProfile: 'Show Profile',\n showStatus: 'Show Status',\n supportedHarnesses: 'Supported Harnesses',\n title: 'Bridle — Cross-Harness Config Manager',\n },\n bulkActions: {\n cancel: 'Cancel',\n cannotUndo: 'This action cannot be undone.',\n clearSelection: 'Clear selection',\n delete: 'Delete',\n deleteConfirm: 'Are you sure you want to delete',\n deleteSelected: 'Delete selected',\n deleteSessionsTitle: 'Delete Sessions',\n export: 'Export',\n exportSelected: 'Export selected',\n selected: 'selected',\n session: 'session',\n sessions: 'sessions',\n },\n center: {\n close: 'Close',\n createNewSession: 'Create a new session',\n keyboardShortcuts: 'Keyboard Shortcuts',\n noActiveSession: 'No active session',\n },\n chatPane: {\n bookmarksLabel: 'Bookmarks',\n bookmarksTooltip: 'View bookmarked messages',\n searchInSession: 'Search in session',\n },\n config: {\n advancedJson: 'Advanced (JSON)',\n maxTokens: 'Max Tokens',\n model: 'Model',\n quickSettings: 'Quick Settings',\n save: 'Save',\n saving: 'Saving...',\n systemPrompt: 'System Prompt',\n temperature: 'Temperature (0-1)',\n terminate: 'Terminate',\n terminateSessionTitle: 'Terminate Session',\n },\n controls: {\n agentDefault: 'Agent (default)',\n attachFile: 'Attach file',\n autonomy: {\n acceptEdits: 'Accept edits',\n acceptEditsDesc: 'Auto-apply file edits; ask before risky commands.',\n cancel: 'Cancel',\n confirmBody:\n 'Full Auto lets the agent run commands and edit files without asking for approval.',\n confirmTitle: 'Enable Full Auto?',\n enable: 'Enable',\n fullAuto: 'Full Auto',\n fullAutoDesc: 'Run commands and edit files without asking.',\n plan: 'Plan',\n planDesc: 'Read-only — plan first, no edits or commands.',\n sdkDisabled: 'Autonomy applies in CLI mode (SDK is chat-only)',\n },\n disableVoice: 'Disable voice mode',\n enableVoice: 'Enable voice mode',\n listening: 'Listening...',\n noMatchingServers: 'No matching servers',\n noMatchingVibes: 'No matching vibes',\n noMcpServers: 'No MCP servers available',\n noModelsAvailable: 'No models available',\n noVibesAvailable: 'No vibes available',\n },\n detailPanel: {\n closePanel: 'Close detail panel',\n },\n dialogs: {\n cancel: 'Cancel',\n chooseFormat: 'Choose the export format:',\n create: 'Create',\n creating: 'Creating...',\n export: 'Export',\n exportSession: 'Export Session',\n exporting: 'Exporting...',\n model: 'Model',\n name: 'Name',\n newSession: 'New Session',\n noResultsFound: 'No results found',\n renameSession: 'Rename Session',\n save: 'Save',\n sdkAndMode: 'SDK & Mode',\n searching: 'Searching...',\n tagsLabel: 'Tags (comma-separated)',\n },\n inputArea: {\n cancel: 'Cancel',\n hideThinking: 'Hide thinking',\n schedule: 'Schedule',\n scheduleSend: 'Schedule send',\n send: 'Send (Enter)',\n sendAt: 'Send at:',\n showThinking: 'Show thinking',\n },\n layout: {\n closeSidebar: 'Close sidebar',\n details: 'Details',\n openDetailPanel: 'Open detail panel',\n openSidebar: 'Open sidebar',\n sessions: 'Sessions',\n },\n logs: {\n disableAutoRefresh: 'Disable auto-refresh',\n enableAutoRefresh: 'Enable auto-refresh',\n noLogsMatch: 'No logs match the selected filters',\n },\n messageItem: {\n bookmarkMessage: 'Bookmark message',\n copyMessage: 'Copy message',\n removeBookmark: 'Remove bookmark',\n tokens: 'tokens',\n },\n messageList: {\n noResults: 'No messages match your search',\n startConversation: 'Start a conversation',\n },\n sessionItem: {\n deleteSession: 'Delete session',\n editTags: 'Edit tags',\n pin: 'Pin',\n unpin: 'Unpin',\n },\n sessionList: {\n noSessionsYet: 'No sessions yet',\n retry: 'Retry',\n },\n sidebar: {\n hideFilters: 'Hide filters',\n newSession: 'New Session',\n showFilters: 'Show filters',\n },\n stats: {\n avgLatency: 'Avg Latency',\n inputTokens: 'Input Tokens',\n outputTokens: 'Output Tokens',\n requests: 'Requests',\n totalTokens: 'Total Tokens',\n },\n streaming: {\n cancelEscape: 'Cancel (Escape)',\n cancelStreaming: 'Cancel streaming',\n stop: 'Stop',\n thinking: 'Thinking...',\n },\n tab: {\n close: 'Close',\n },\n tabBar: {\n createNewSession: 'Create new session',\n enterFullscreen: 'Enter fullscreen',\n exitFullscreen: 'Exit fullscreen',\n exportSession: 'Export session',\n keyboardShortcuts: 'Keyboard shortcuts',\n newSession: 'New session (Ctrl+N)',\n searchSessions: 'Search sessions (Ctrl+K)',\n },\n tools: {\n installed: 'Installed',\n noToolsAvailable: 'No tools available',\n notInstalled: 'Not installed',\n },\n },\n agents: {\n addAgent: 'Add Agent',\n backup: {\n backupIfChanged: 'Backup if Changed',\n backupNow: 'Backup Now',\n configuration: 'Configuration',\n disableSchedule: 'Disable Schedule',\n disabled: 'Disabled',\n enableSchedule: 'Enable Schedule',\n enabled: 'Enabled',\n history: 'Backup History',\n loading: 'Loading backup settings...',\n scheduler: 'Scheduler',\n status: 'Status',\n target: 'Target',\n testConnection: 'Test Connection',\n title: 'Database Backup',\n totalBackups: 'Total Backups',\n },\n clearConnection: 'Clear Connection',\n columnActions: 'Actions',\n columnAgent: 'Agent',\n columnArch: 'Arch',\n columnLastHeartbeat: 'Last Heartbeat',\n columnPlatform: 'Platform',\n columnStatus: 'Status',\n deselectAll: 'Deselect All',\n disconnect: 'Disconnect',\n editor: {\n checking: 'Checking...',\n close: 'Close',\n installing: 'Installing...',\n notInstalled:\n \"Code-server isn't installed on this agent. Install it from the Plugins tab to enable Open Editor.\",\n openEditor: 'Open Editor',\n opened: 'Opened',\n popupBlocked:\n 'Your browser blocked the editor tab. Allow pop-ups for this site, then click Open Editor again.',\n retry: 'Retry',\n starting: 'Starting...',\n },\n emptyDescription:\n 'Agents are the bridge between VibeControls and your development environments. Install an agent to get started.',\n emptyTitle: 'No agents configured',\n reconnectAction: 'Reconnect',\n selectAgent: 'Select {{name}}',\n selectAll: 'Select All',\n selectAllAgents: 'Select all agents',\n settingsAction: 'Settings',\n startAction: 'Start',\n stopAction: 'Stop',\n },\n ai: {\n assistant: {\n clearConversation: 'Clear conversation',\n howCanIHelp: 'How can I help?',\n sendMessage: 'Send message',\n shiftEnterHint: 'Shift+Enter for new line',\n title: 'AI Assistant',\n },\n contexts: {\n add: 'Add',\n addTagPlaceholder: 'Add a tag...',\n cancel: 'Cancel',\n clearSelection: 'Clear selection',\n content: 'Content',\n create: 'Create',\n deleteSelected: 'Delete Selected',\n editContext: 'Edit Context',\n emptyTitle: 'No contexts yet',\n loadFailed: 'Failed to load contexts',\n loading: 'Loading contexts...',\n name: 'Name',\n namePlaceholder: 'Context name',\n newContext: 'New Context',\n saving: 'Saving...',\n selectAllVisible: 'Select all visible',\n selected: 'selected',\n tags: 'Tags',\n type: 'Type',\n update: 'Update',\n },\n overview: {\n activeSessions: 'Active Sessions',\n loadFailed: 'Failed to load overview',\n loading: 'Loading AI overview...',\n noPrompts: 'No prompts dispatched yet',\n noSessions: 'No sessions yet',\n queuedPrompts: 'Queued Prompts',\n recentPrompts: 'Recent Prompts',\n recentSessions: 'Recent Sessions',\n totalSessions: 'Total Sessions',\n totalTokens: 'Total Tokens',\n },\n playground: {\n endpoint: 'Endpoint',\n execute: 'Execute',\n executing: 'Executing...',\n loadFailed: 'Failed to load API',\n loading: 'Loading API descriptor...',\n noEndpoints: 'No API endpoints',\n parameters: 'Parameters',\n response: 'Response',\n },\n prompts: {\n attachContexts: 'Attach Contexts',\n composePrompt: 'Compose Prompt',\n dispatchHistory: 'Dispatch History',\n generate: 'Generate',\n generateFromTemplate: 'Generate from Template',\n generating: 'Generating...',\n loadFailed: 'Failed to load data',\n loading: 'Loading prompts...',\n noContexts: 'No contexts available',\n noDispatched: 'No dispatched prompts',\n selectSession: 'Select session...',\n selectTemplate: 'Select a template...',\n sendToSession: 'Send to Session',\n sending: 'Sending...',\n targetSession: 'Target Session',\n },\n sessions: {\n agentType: 'Agent Type',\n cancel: 'Cancel',\n create: 'Create',\n creating: 'Creating...',\n emptyTitle: 'No AI sessions',\n loadFailed: 'Failed to load sessions',\n loading: 'Loading sessions...',\n name: 'Name',\n newAISession: 'New AI Session',\n newSession: 'New Session',\n },\n stats: {\n inputTokens: 'Input Tokens',\n loadFailed: 'Failed to load stats',\n loading: 'Loading stats...',\n outputTokens: 'Output Tokens',\n refresh: 'Refresh',\n sessionsByStatus: 'Sessions by Status',\n tokenDistribution: 'Token Distribution',\n totalTokens: 'Total Tokens',\n usageByProvider: 'Usage by Provider',\n },\n tasks: {\n clearSelection: 'Clear selection',\n createTask: 'Create Task',\n deleteSelected: 'Delete Selected',\n description: 'Description',\n emptyTitle: 'No AI tasks',\n loadFailed: 'Failed to load tasks',\n loading: 'Loading AI tasks from PlanMagnet...',\n moveSelected: 'Move Selected',\n newAITask: 'New AI Task',\n noWorkspace: 'No workspace selected',\n retry: 'Retry',\n selectAllVisible: 'Select all visible',\n selected: 'selected',\n title: 'Title',\n titlePlaceholder: 'Task title',\n },\n templates: {\n adjustSearch: 'Try adjusting your search query',\n editTemplate: 'Edit Template',\n emptyTitle: 'No templates yet',\n loadFailed: 'Failed to load templates',\n loading: 'Loading templates...',\n newTemplate: 'New Template',\n noMatch: 'No templates match your search',\n previewTemplate: 'Preview Template',\n render: 'Render',\n rendering: 'Rendering...',\n searchPlaceholder: 'Search templates...',\n },\n },\n analytics: {\n cached: 'Cached',\n kpi: {\n actions: 'Actions',\n agents: 'Agents',\n aiEvents: 'AI Events',\n auditLogs: 'Audit Logs',\n docs: 'Docs',\n executions: 'Executions',\n notes: 'Notes',\n sessions: 'Sessions',\n targets: 'Targets',\n vibeDecks: 'Vibe Decks',\n vibes: 'Vibes',\n webhooks: 'Webhooks',\n },\n loading: 'Loading...',\n noData: 'No data',\n refresh: 'Refresh',\n sandbox: {\n expired: 'Expired',\n failed: 'Failed',\n noRecentActivity: 'No recent sandbox activity',\n recentActivity: 'Recent Sandbox Activity',\n resourceUtilization: 'Resource Utilization',\n running: 'Running',\n totalCpuUsed: 'Total CPU Used',\n totalCreated: 'Total Created',\n totalMemoryUsed: 'Total Memory Used',\n },\n },\n assistant: {\n chatInput: {\n ariaLabel: 'Message input',\n send: 'Send message',\n },\n conversations: {\n empty: 'No conversations yet',\n new: 'New conversation',\n startNew: 'Start a new conversation',\n title: 'Conversations',\n },\n export: {\n ariaLabel: 'Export conversation',\n json: 'Export as JSON',\n markdown: 'Export as Markdown',\n },\n markdown: {\n copied: 'Copied',\n copy: 'Copy',\n copyCode: 'Copy code',\n },\n message: {\n downloads: 'Downloads',\n },\n messageList: {\n ariaLabel: 'Conversation messages',\n },\n modeSelector: {\n ariaLabel: 'Select assistant mode',\n },\n panel: {\n ariaLabel: 'AI Assistant',\n close: 'Close assistant',\n title: 'AI Assistant',\n toggleList: 'Toggle conversation list',\n },\n welcome: {\n suggestions: 'Suggestions',\n title: 'VibeControls Assistant',\n },\n },\n audit: {\n cancel: 'Cancel',\n deleting: 'Deleting...',\n reasonLabel: 'Reason for deletion',\n },\n bookmarks: {\n empty: \"You haven't bookmarked any messages yet\",\n emptyHint:\n 'Open any AI Chat session and click the bookmark icon on a message to save it here.',\n jumpToMessage: 'Jump to message in session',\n notFoundInSession: 'Bookmarked message not found',\n openInSession: 'Open session',\n pageSubtitle: 'Every AI Chat message you have bookmarked across all sessions.',\n pageTitle: 'Saved messages',\n unlabeled: 'Unlabeled bookmark',\n },\n calendar: {\n agenda: {\n noTasks: 'No scheduled tasks in this range',\n },\n day: {\n taskScheduled: 'task scheduled',\n tasksScheduled: 'tasks scheduled',\n },\n header: {\n scheduleTask: 'Schedule Task',\n today: 'Today',\n },\n month: {\n more: 'more',\n },\n schedule: {\n actionToSchedule: 'Action to Schedule',\n addActionToCalendar: 'Add Action to Calendar',\n cancel: 'Cancel',\n creating: 'Creating...',\n description: 'Description',\n runAt: 'Run At',\n schedule: 'Schedule',\n scheduleBtn: 'Schedule',\n selectActionFirst: 'Select an Action first',\n timezone: 'Timezone',\n title: 'Title',\n },\n },\n dashboard: {\n title: 'Dashboard',\n },\n docs: {\n compile: {\n built: 'Built',\n failed: 'Failed',\n published: 'Published',\n },\n edit: {\n compile: 'Compile',\n preview: 'Preview',\n },\n editor: {\n pageTitle: 'Page title',\n selectPage: 'Select a page to edit',\n },\n empty: {\n createDocs: 'Create Documentation',\n title: 'No documentation yet',\n },\n pageTree: {\n addFirstPage: 'Add your first page',\n noPages: 'No pages yet',\n pages: 'Pages',\n },\n preview: {\n compileDocs: 'Compile Docs',\n edit: 'Edit',\n openFullScreen: 'Open Full Screen',\n startEditing: 'Start Editing',\n },\n settings: {\n save: 'Save Settings',\n saving: 'Saving...',\n title: 'Site Settings',\n },\n tab: {\n loadFailed: 'Failed to load docs',\n loading: 'Loading documentation...',\n },\n },\n editor: {\n agentOffline:\n 'Agent is offline — install/start an agent for this Vibe to launch local editors.',\n browser: 'Browser',\n default: 'default',\n launching: 'Launching…',\n localIde: 'Local IDE',\n moreOptions: 'More editor options',\n needAgent: 'Requires an online agent',\n noPath: 'Vibe has no path',\n open: 'Open in editor',\n openAgent: 'Spawn via agent',\n openAgentTerminal: 'Spawn in agent host',\n openProtocol: 'Open via OS deep-link',\n opened: 'Opened in your IDE',\n override: 'override',\n setDefault: 'Set as default for this Vibe',\n },\n enableRemoteTask: {\n cancel: 'Cancel',\n confirm: 'Enable & run',\n fileOptIn: 'Also allow remote file writes + deletes',\n fileOptInHint: 'Only needed for actions that modify files. Reads are always allowed.',\n message:\n 'This action runs a command or script on the agent. The agent blocks remote execution by default — enable it to run the action from decks, schedules, and the Actions page.',\n title: 'Enable remote task execution?',\n warning:\n 'Anyone with workspace access will be able to run commands on this host. You can review or revoke this any time from the agent’s Security settings.',\n },\n entityVibeLink: {\n aVibe: 'Linked vibe',\n error: 'Could not update the vibe link.',\n link: 'Link to vibe',\n linkedTo: 'Linked to a vibe — click to manage',\n loading: 'Loading vibes…',\n manage: 'Manage vibe link',\n none: 'Not linked to any vibe',\n notLinked: 'Link this to a vibe',\n pickAria: 'Pick a vibe to link',\n private: 'Private to me',\n shared: 'Shared with vibe — visible to everyone with access',\n title: 'Linked vibe',\n unlink: 'Unlink',\n visibility: 'Who can see it',\n },\n gitops: {\n ciTab: {\n avgDuration: 'Avg Duration',\n columnBranch: 'Branch',\n columnDuration: 'Duration',\n columnStatus: 'Status',\n columnTime: 'Time',\n columnTrigger: 'Trigger',\n columnWorkflow: 'Workflow',\n failedRuns: 'Failed Runs',\n noRuns: 'No pipeline runs found',\n noWorkflows: 'No workflows found',\n perPipelineRun: 'per pipeline run',\n recentRuns: 'Recent Runs',\n successRate: 'Success Rate',\n viewFullDetails: 'View full details',\n viewRun: 'View run',\n workflows: 'Workflows',\n },\n provider: {\n active: 'Active',\n inactive: 'Inactive',\n },\n repoStats: {\n activity: 'Activity',\n issues: 'Issues',\n languages: 'Languages',\n noLanguageData: 'No language data available',\n noOpenIssues: 'No open issues — looking good!',\n noOpenPRs: 'No open pull requests',\n noVulnerabilities: 'No known vulnerabilities',\n pullRequests: 'Pull Requests',\n security: 'Security',\n topContributors: 'Top contributors',\n view: 'View',\n },\n setup: {\n agent: 'Agent',\n connect: 'Connect Repository',\n name: 'Name',\n providerType: 'Provider Type',\n repoUrl: 'Repository URL',\n title: 'Connect a Repository',\n },\n },\n graph: {\n noAgentInstalled: 'No agent installed',\n permissionsSaved: 'Permissions saved',\n },\n linkToVibe: {\n description:\n 'Associate this entity with a vibe so it shows up under the vibe’s related tabs.',\n loadingVibes: 'Loading vibes…',\n pickVibe: 'Pick a vibe to link…',\n pickVibeAria: 'Pick a vibe to link',\n private: 'Private to me',\n shared: 'Shared with everyone who has access to this vibe',\n title: 'Link to Vibe (optional)',\n visibilityLabel: 'Who can see it',\n },\n mesh: {\n permissionsSaved: 'Permissions saved',\n },\n notes: {\n cancel: 'Cancel',\n columnActions: 'Actions',\n columnTags: 'Tags',\n columnTitle: 'Title',\n columnUpdated: 'Updated',\n columnVibe: 'Vibe',\n createNote: 'Create Note',\n edit: 'Edit',\n editNote: 'Edit Note',\n emptyTitle: 'No notes yet',\n newNote: 'New Note',\n pinThisNote: 'Pin this note',\n preview: 'Preview',\n relatedVibe: 'Related Vibe (optional)',\n saveNote: 'Save Note',\n saving: 'Saving...',\n tags: 'Tags',\n titlePlaceholder: 'Note title...',\n },\n pages: {\n ai: {\n back: 'Back',\n dangerZone: 'Danger Zone',\n goToAgents: 'Go to Agents',\n noActiveAgent: 'No active agent',\n noActiveAgentAvailable: 'No active agent available',\n saveConfig: 'Save Config',\n savedSuccessfully: 'Saved successfully',\n saving: 'Saving...',\n send: 'Send',\n sessionConfig: 'Session Configuration',\n terminateSession: 'Terminate Session',\n terminating: 'Terminating...',\n thinking: 'Thinking...',\n },\n },\n pluginPanel: {\n closeTab: 'Close tab {{name}}',\n maximize: 'Maximize',\n newTab: 'New tab',\n openExternal: 'Open in new browser tab',\n reload: 'Reload',\n resize: 'Resize panel',\n restore: 'Restore size',\n tabs: 'Plugin tabs',\n },\n plugins: {\n categories: 'Plugin categories',\n clearSearch: 'Clear search',\n commands: 'Command reference',\n commandsHint:\n 'See the agent admin sub-panel or the plugin README for the documented command list.',\n copyInstall: 'Copy install command for {{name}}',\n copyUsage: 'Copy usage snippet for {{name}}',\n description: 'Browse and install plugins to extend your VibeControls agents.',\n empty: {\n description: 'Try a different search term or category.',\n title: 'No matching plugins',\n },\n install: 'Install',\n searchLabel: 'Search plugins',\n searchPlaceholder: 'Search by name, description, or package…',\n title: 'Plugins',\n usage: 'Usage',\n },\n sessions: {\n card: {\n openTerminal: 'Open Terminal',\n restart: 'Restart',\n shareSession: 'Share Session',\n start: 'Start',\n stop: 'Stop',\n terminate: 'Terminate',\n },\n collaborators: {\n editor: 'Editor',\n giveControl: 'Give control',\n hasControl: 'Has Control',\n owner: 'Owner',\n requestControl: 'Request Control',\n requesting: 'Requesting...',\n title: 'Collaborators',\n transferControl: 'Transfer control',\n viewOnlyMode: 'View only mode',\n viewer: 'Viewer',\n viewing: 'Viewing',\n you: 'You',\n },\n control: {\n hasControl: 'has control',\n noControl: 'No control',\n noOneHasControl: 'No one has control',\n releaseControl: 'Release Control',\n releasing: 'Releasing...',\n requesting: 'Requesting...',\n someone: 'Someone',\n takeControl: 'Take Control',\n userHasControl: '{{username}} has control',\n viewOnly: 'View only',\n watching: 'watching',\n you: 'You',\n youHaveControl: 'You have control',\n },\n form: {\n agent: 'Agent',\n autoStart: 'Auto-start when agent connects',\n cancel: 'Cancel',\n command: 'Command',\n createSession: 'Create Session',\n creating: 'Creating...',\n editSession: 'Edit Session',\n name: 'Name',\n newSession: 'New Session',\n saveChanges: 'Save Changes',\n selectAgent: 'Select Agent...',\n selectVibe: 'Select Vibe...',\n type: 'Type',\n vibeProject: 'Vibe (Project)',\n workingDirectory: 'Working Directory',\n },\n list: {\n colActions: 'Actions',\n colAgent: 'Agent',\n colName: 'Name',\n colStatus: 'Status',\n colTarget: 'Target',\n colType: 'Type',\n colUpdated: 'Updated',\n colVibe: 'Vibe',\n noSessionsTitle: 'No sessions yet',\n startSession: 'Start Session',\n terminate: 'Terminate',\n },\n share: {\n activeLinks: 'Active Links',\n canControl: 'Can Control',\n createLink: 'Create Link',\n createShareLink: 'Create Share Link',\n creating: 'Creating...',\n currentlySharedWith: 'Currently Shared With',\n emailAddress: 'Email Address',\n expiresIn: 'Expires In',\n linkNameOptional: 'Link Name (optional)',\n maxUses: 'Max Uses',\n messageOptional: 'Message (optional)',\n passwordOptional: 'Password (optional)',\n permission: 'Permission',\n shareSession: 'Share Session',\n shareWithUser: 'Share with User',\n sharing: 'Sharing...',\n title: 'Share Session',\n viewOnly: 'View Only',\n },\n shared: {\n isTyping: 'is typing',\n release: 'Release',\n requestControl: 'Request control',\n requesting: 'Requesting...',\n someone: 'Someone',\n takeControl: 'Take control',\n viewOnly: 'View Only',\n viewOnlyCannotType: 'View only - You cannot type in this session',\n youHaveControl: 'You have control',\n },\n sharedTerminal: {\n userTyping: '{{name}} is typing',\n },\n terminal: {\n closeTab: 'Close Tab',\n connecting: 'Connecting...',\n connectionLost: 'Connection Lost',\n newSession: 'New Session',\n noTerminalsOpen: 'No terminals open',\n openInNewTab: 'Open in New Tab',\n pinTab: 'Pin Tab',\n reconnect: 'Reconnect',\n reconnectNow: 'Reconnect Now',\n rename: 'Rename',\n restartSession: 'Restart',\n restartTerminal: 'Restart Terminal',\n retry: 'Retry',\n sessionErrored: 'Session ended',\n sessionInfo: 'Session info',\n sessionStopped: 'Session stopped',\n sessionStoppedHint: 'This terminal is no longer running.',\n shareSession: 'Share / offer session',\n stopTerminal: 'Stop Terminal',\n unpinTab: 'Unpin Tab',\n viewAgent: 'View agent',\n viewTarget: 'View target',\n },\n },\n settings: {\n add: 'Add',\n addNewConfig: 'Add New Configuration',\n close: 'Close',\n items: 'items',\n manageConfig: 'Manage configuration values',\n markAsSecret: 'Mark as secret',\n },\n shared: {\n agentSetupBanner: {\n clickToCopy: 'Click to copy',\n description:\n 'Install the agent globally on any machine you want to manage. Bun (or Node >= 18 for npm) is the only prerequisite.',\n dismiss: 'Dismiss',\n installPrompt: 'Install the VibeControls Agent CLI to get started',\n npmPackage: 'npm package',\n setupGuide: 'Setup guide',\n title: 'Get Started with VibeControls Agent',\n viewFullSetupGuide: 'View full setup guide',\n },\n confirmDialog: {\n cancel: 'Cancel',\n confirm: 'Confirm',\n processing: 'Processing...',\n },\n entityTagPicker: {\n addTag: 'Add Tag',\n assignedTags: 'Assigned tags',\n createTag: 'Create \"{{label}}\"',\n createTagAria: 'Create tag {{label}}',\n dismissError: 'Dismiss error',\n done: 'Done',\n failedToAddTag: 'Failed to add tag',\n failedToCreateTag: 'Failed to create tag',\n failedToRemoveTag: 'Failed to remove tag',\n loading: 'Loading...',\n loadingTags: 'Loading tags...',\n noAvailableTags: 'No available tags',\n noMatchingTags: 'No matching tags',\n noTagsAssigned: 'No tags assigned',\n searchAvailableTags: 'Search available tags',\n searchPlaceholder: 'Search tags...',\n tagSuggestions: 'Tag suggestions',\n untitledTag: 'Untitled tag',\n },\n errorState: {\n title: 'Something went wrong',\n tryAgain: 'Try Again',\n },\n filterDropdown: {\n all: 'All',\n },\n getHelpButton: {\n label: 'Get Help',\n tooltip: 'Ask the assistant to explain',\n },\n installTabs: {\n bunDescription:\n 'Bun is the platform default and the only prerequisite. You can pin a specific release with @<version> (defaults to the latest).',\n bunRecommended: 'Bun (Recommended)',\n clickToCopy: 'Click to copy',\n npm: 'NPM',\n npmDescription:\n 'Requires Node.js >= 18. You can pin a specific release with @<version> (defaults to the latest).',\n },\n loadingState: {\n loading: 'Loading...',\n },\n notificationToast: {\n moreNotifications: 'more notification(s)',\n },\n promptDialog: {\n cancel: 'Cancel',\n confirm: 'Confirm',\n processing: 'Processing...',\n },\n quotaExhaustedDialog: {\n dismiss: 'Dismiss',\n title: 'Quota Reached',\n viewBilling: 'View Billing',\n },\n searchInput: {\n placeholder: 'Search...',\n },\n searchableSelect: {\n noOptionsFound: 'No options found',\n placeholder: 'Select...',\n searchPlaceholder: 'Search...',\n },\n sessionNotificationBanner: {\n agentNotifications: 'Agent Notifications',\n connecting: 'Connecting...',\n disconnected: 'Disconnected',\n live: 'Live',\n moreNotifications: 'more notification(s)',\n reconnect: 'Reconnect',\n },\n tagFilter: {\n all: 'All',\n label: 'Tag',\n },\n },\n targets: {\n deleteTarget: 'Delete Target',\n editTarget: 'Edit Target',\n installAgent: 'Install Agent',\n openTerminal: 'Open Terminal',\n selectTarget: 'Select {{name}}',\n startingTerminal: 'Starting…',\n startingTerminalHint: 'Starting terminal session…',\n targetActions: 'Target actions',\n testConnection: 'Test Connection',\n uninstallAgent: 'Uninstall Agent',\n },\n tunnels: {\n audit: {\n emptyEntriesTitle: 'No audit entries yet',\n emptyTitle: 'Open a tunnel to see its audit trail',\n title: 'Audit',\n },\n back: 'Back',\n cli: {\n followSessions: 'Follow sessions',\n issueToken: 'Issue a one-shot token',\n rotateCredentials: 'Rotate credentials',\n startLocally: 'Start locally',\n stop: 'Stop',\n },\n createTitle: 'Create tunnel',\n createTunnel: 'Create tunnel',\n creating: 'Creating...',\n detail: {\n audit: 'Audit',\n cli: 'CLI',\n domains: 'Domains',\n endpoints: 'Endpoints',\n overview: 'Overview',\n sessions: 'Sessions',\n settings: 'Settings',\n usage: 'Usage',\n },\n domains: {\n addDomain: 'Add domain',\n adding: 'Adding...',\n attachCustomDomain: 'Attach a custom domain',\n emptyTitle: 'No domains yet',\n title: 'Domains',\n },\n list: {\n createTunnel: 'Create tunnel',\n emptyTitle: 'No tunnels yet',\n newTunnel: 'New tunnel',\n title: 'Tunnels',\n },\n next: 'Next',\n noDomain: 'No domain attached',\n open: 'Open',\n overview: {\n activity: 'Activity',\n configuration: 'Configuration',\n },\n providers: {\n emptyTitle: 'No providers registered',\n title: 'Providers',\n },\n review: 'Review',\n sessions: {\n emptySessionsTitle: 'No sessions',\n emptyTitle: 'No active sessions',\n revoke: 'Revoke',\n title: 'Sessions',\n },\n settings: {\n deleteTunnel: 'Delete tunnel',\n deleteTunnelBtn: 'Delete tunnel',\n rotateCredentials: 'Rotate credentials',\n rotateNow: 'Rotate now',\n rotating: 'Rotating...',\n },\n start: 'Start',\n stop: 'Stop',\n tabs: {\n audit: 'Audit',\n domains: 'Domains',\n providers: 'Providers',\n sessions: 'Sessions',\n tunnels: 'Tunnels',\n usage: 'Usage',\n },\n usage: {\n emptyTitle: 'Usage aggregation coming soon',\n emptyUsageTitle: 'No usage yet',\n title: 'Usage',\n },\n },\n vibedeck: {\n buttonForm: {\n action: 'Action',\n cancel: 'Cancel',\n createNewAction: 'Create new action',\n label: 'Label',\n requireConfirmation: 'Require confirmation',\n save: 'Save',\n saving: 'Saving...',\n },\n executionLog: {\n title: 'Execution Log',\n },\n share: {\n createLink: 'Create Link',\n createShareLink: 'Create share link',\n manageAccess: 'Manage access to this VibeDeck',\n noLinks: 'No share links yet',\n shareDeck: 'Share deck',\n },\n switcher: {\n delete: 'Delete',\n duplicate: 'Duplicate',\n editDeck: 'Edit deck',\n newDeck: 'New Deck',\n setDefault: 'Set as default',\n share: 'Share',\n },\n },\n vibes: {\n form: {\n agent: 'Agent',\n cancel: 'Cancel',\n createNewVibe: 'Create New Vibe',\n createVibe: 'Create Vibe',\n description: 'Description',\n editVibe: 'Edit Vibe',\n name: 'Name',\n path: 'Path',\n saveChanges: 'Save Changes',\n saving: 'Saving...',\n selectAgent: 'Select Agent...',\n tags: 'Tags (comma-separated)',\n type: 'Type',\n },\n list: {\n createVibe: 'Create Vibe',\n emptyTitle: 'No vibes yet',\n },\n },\n webhooks: {\n addWebhook: 'Add Webhook',\n emptyTitle: 'No webhooks configured',\n },\n },\n vibesPage: {\n accessDeniedDescription:\n \"You don't have permission to view vibes. Contact your workspace administrator for access.\",\n accessDeniedTitle: 'Access Denied',\n addNewVibe: 'Add New Vibe',\n addVibe: 'Add Vibe',\n agentLabel: 'Agent',\n allAgents: 'All Agents',\n cancel: 'Cancel',\n createVibe: 'Create Vibe',\n createdSuccess: 'Vibe created successfully',\n creating: 'Creating...',\n deniedCreateTooltip: \"You don't have permission to create vibes\",\n descriptionActive: '{{active}} of {{total}} vibes active',\n dismiss: 'Dismiss',\n emptyAdjustSearch: 'Try adjusting your search or filters',\n emptyNoVibesConfigured: 'No vibes configured',\n emptyNoVibesDescription: 'Add your first vibe to start managing your development projects',\n emptyNoVibesFound: 'No vibes found',\n failedCreate: 'Failed to create vibe',\n failedLoad: 'Failed to load vibes',\n fillRequired: 'Please fill in all required fields',\n filterAgent: 'Agent',\n filterStatus: 'Status',\n filterType: 'Type',\n gridViewTitle: 'Grid view',\n listViewTitle: 'List view',\n loadingPermissions: 'Loading permissions...',\n loadingVibes: 'Loading vibes...',\n nameLabel: 'Name *',\n namePlaceholder: 'My Project',\n nameRequired: 'Name is required',\n openEditorPathMissing: 'No path available to open in editor',\n pathLabel: 'Path',\n pathOptional: '(optional)',\n pathPlaceholder: '/path/to/project',\n pathRequired: 'Path is required',\n refreshTitle: 'Refresh vibes',\n refreshing: '(refreshing...)',\n searchPlaceholder: 'Search vibes...',\n selectAgent: 'Select an agent',\n showingResults: 'Showing {{filtered}} of {{total}} vibes',\n statusActive: 'Active',\n statusAll: 'All Statuses',\n statusArchived: 'Archived',\n statusError: 'Error',\n statusInactive: 'Inactive',\n tags: 'Tags',\n title: 'Vibes',\n typeAll: 'All Types',\n typeCustom: 'Custom',\n typeLabel: 'Type',\n typeMonorepo: 'Monorepo',\n typePackage: 'Package',\n typeProject: 'Project',\n typeRepository: 'Repository',\n typeWorkspace: 'Workspace',\n upgradeChipTooltip: 'Free plan limit — upgrade for more vibes',\n usageChip: '{{current}} of {{limit}} vibes used',\n },\n webhooks: {\n accessDeniedDescription: \"You don't have permission to view webhooks.\",\n active: 'Active',\n agent: 'agent',\n agentScope: 'Agent Scope',\n agentScopeHint: 'Only fire for events from selected agents. Leave empty for all agents.',\n createWebhook: 'Create Webhook',\n createdSuccess: 'Webhook created successfully',\n creating: 'Creating...',\n customEventHint: 'Add custom events using namespace:event format (e.g., deploy:started)',\n customEventPlaceholder: 'custom:event-name',\n deletedSuccess: 'Webhook deleted successfully',\n deliveries: 'deliveries',\n disable: 'Disable',\n disabledSuccess: 'Webhook disabled successfully',\n emptyAdjustSearch: 'Try adjusting your search or filters',\n emptyConfigured: 'No webhooks configured',\n emptyDescription: 'Create a webhook to receive notifications about events in your workspace',\n emptyFound: 'No webhooks found',\n enable: 'Enable',\n enabledSuccess: 'Webhook enabled successfully',\n error: 'Error',\n eventRequired: 'At least one event must be selected',\n events: 'Events',\n failedCreate: 'Failed to create webhook',\n failedDelete: 'Failed to delete webhook',\n failedLoad: 'Failed to load webhooks',\n failedTest: 'Failed to test webhook',\n failedToggle: 'Failed to update webhook state',\n failures: 'failures',\n gridViewTitle: 'Grid view',\n inactive: 'Inactive',\n justNow: 'Just now',\n lastDelivery: 'Last delivery',\n lastError: 'Last error',\n listViewTitle: 'List view',\n loading: 'Loading webhooks...',\n name: 'Name',\n namePlaceholder: 'Slack Notifications',\n nameRequired: 'Name is required',\n never: 'Never',\n newWebhook: 'New Webhook',\n of: 'of',\n refreshTitle: 'Refresh webhooks',\n refreshing: 'refreshing...',\n scopedTo: 'Scoped to',\n searchPlaceholder: 'Search webhooks...',\n secret: 'Secret',\n secretPlaceholder: 'Optional signing secret',\n showingResults: 'Showing',\n signingKey: 'Signing Key',\n signingKeyHint: 'Used to sign payloads with HMAC-SHA256. Header: X-Webhook-Signature',\n signingKeyPlaceholder: 'HMAC signing key for delivery verification',\n status: 'Status',\n test: 'Test',\n testSuccess: 'Webhook test delivery completed',\n url: 'URL',\n urlInvalid: 'Please enter a valid URL (e.g., https://example.com/webhook)',\n urlPlaceholder: 'https://hooks.slack.com/services/...',\n urlProtocolRequired: 'URL must use http:// or https:// protocol',\n urlRequired: 'URL is required',\n withErrors: 'With Errors',\n },\n} as const;\n"],"mappings":";AAUA,IAAa,IAAiB;CAC5B,SAAS;EACP,mBAAmB;EACnB,MAAM;EACP;CACD,cAAc;EACZ,cAAc;EACd,aAAa;EACb,wBAAwB;EACxB,mBAAmB;EACnB,cAAc;EACd,cAAc;EACd,QAAQ;EACR,oBAAoB;EACpB,SAAS;EACT,mBAAmB;EACnB,OAAO;EACP,eAAe;EACf,kBAAkB;EAClB,uBAAuB;EACvB,oBAAoB;EACpB,cAAc;EACd,QAAQ;EACR,+BACE;EACF,cAAc;EACd,UAAU;EACV,gCACE;EACF,0BAA0B;EAC1B,eAAe;EACf,2BAA2B;EAC3B,sBAAsB;EACtB,WAAW;EACX,+BAA+B;EAC/B,sBAAsB;EACtB,uBACE;EACF,YAAY;EACZ,YAAY;EACZ,cAAc;EACd,kBAAkB;EAClB,0BACE;EACF,gBAAgB;GACd,QACE;GACF,OAAO;GACP,SAAS;GACV;EACD,cAAc;EACd,kBACE;EACF,cAAc;EACd,YAAY;EACZ,wBAAwB;EACxB,iBAAiB;EACjB,8BACE;EACF,0BAA0B;EAC1B,6BACE;EACF,kBAAkB;EAClB,YAAY;EACZ,kBAAkB;EAClB,iBAAiB;EACjB,UAAU;EACV,eAAe;EACf,kBAAkB;EAClB,gBAAgB;EAChB,aAAa;GACX,MAAM;GACN,YAAY;GACZ,OAAO;GACP,SAAS;GACT,cACE;GACF,eAAe;GACf,mBAAmB;GACnB,qBAAqB;GACrB,mBAAmB;GACnB,qBAAqB;GACrB,qBAAqB;GACrB,kBAAkB;GAClB,SAAS;GACT,aAAa;GACb,mBAAmB;GACnB,SAAS;GACT,QAAQ;GACR,QAAQ;GACR,SAAS;GACT,MAAM;GACN,SAAS;GACT,UACE;GACF,WAAW;GACX,YAAY;GACZ,cAAc;GACd,SAAS;GACT,SAAS;GACT,KAAK;GACL,eAAe;GACf,KAAK;GACL,QAAQ;GACR,iBAAiB;GACjB,cAAc;GACd,aAAa;GACb,eAAe;GACf,cAAc;GACd,oBAAoB;GACrB;EACD,sBAAsB;EACtB,eAAe;EACf,YAAY;EACZ,eAAe;EACf,SAAS;EACT,0BAA0B;EAC1B,sBAAsB;EACtB,kBAAkB;EAClB,mBAAmB;EACnB,mBAAmB;EACnB,UAAU;EACV,2BAA2B;EAC3B,2BAA2B;EAC3B,qBAAqB;EACrB,oBAAoB;EACpB,oBAAoB;EACpB,SAAS;EACT,UAAU;EACV,WAAW;EACX,cAAc;EACd,UAAU;GACR,SAAS;GACT,SACE;GACF,UAAU;GACV,UAAU;GACV,UAAU;GACV,SAAS;GACT,SACE;GACF,UAAU;GACV,UAAU;GACV,UAAU;GACV,cAAc;GACd,cAAc;GACf;EACD,gBAAgB;EAChB,gBAAgB;GACd,aACE;GACF,OAAO;GACP,SACE;GACH;EACD,iBAAiB;GACf,aACE;GACF,OAAO;GACP,SACE;GACH;EACD,uBAAuB;GACrB,YAAY;GACZ,SAAS;GACT,YAAY;GACZ,UACE;GACF,OAAO;GACR;EACD,oBAAoB;EACpB,oBAAoB;EACpB,kBAAkB;EAClB,cAAc;EACd,qBAAqB;EACrB,mBAAmB;EACnB,QAAQ;EACR,aAAa;EACb,eAAe;EACf,mBAAmB;EACnB,wBACE;EACF,eAAe;EACf,mBAAmB;EACnB,UAAU;EACV,QAAQ;EACR,0BAA0B;EAC1B,UAAU;EACV,WAAW;EACX,kBAAkB;EAClB,YAAY;EACZ,kBAAkB;EAClB,OAAO;EACP,UAAU;EACV,UAAU;EACV,SAAS;GACP,cAAc;GACd,WAAW;GACX,WAAW;GACX,QAAQ;GACR,gBAAgB;GAChB,gBAAgB;GAChB,SAAS;GACT,UAAU;GACV,MAAM;GACN,MAAM;GACN,SAAS;GACT,aAAa;GACb,cAAc;GACd,eAAe;GACf,WAAW;GACX,WAAW;GACX,QAAQ;GACR,MAAM;GACN,OACE;GACF,KAAK;GACL,UAAU;GACV,OAAO;GACR;EACD,eAAe;EACf,WAAW;EACX,eACE;EACF,sBAAsB;EACtB,qBAAqB;EACrB,yBACE;EACF,WAAW;EACX,QAAQ;EACR,cAAc;EACd,cAAc;EACd,oBAAoB;EACpB,mBAAmB;EACnB,0BAA0B;EAC1B,gCAAgC;EAChC,SAAS;EACT,uBAAuB;EACxB;CACD,YAAY;EACV,yBAAyB;EACzB,mBAAmB;EACnB,cAAc;EACd,YA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,SAAS;IACT,iBAAiB;IACjB,QAAQ;IACR,WAAW;IACX,mBAAmB;IACpB;GACF;EACD,WAAW;GACT,QAAQ;GACR,KAAK;IACH,SAAS;IACT,QAAQ;IACR,UAAU;IACV,WAAW;IACX,MAAM;IACN,YAAY;IACZ,OAAO;IACP,UAAU;IACV,SAAS;IACT,WAAW;IACX,OAAO;IACP,UAAU;IACX;GACD,SAAS;GACT,QAAQ;GACR,SAAS;GACT,SAAS;IACP,SAAS;IACT,QAAQ;IACR,kBAAkB;IAClB,gBAAgB;IAChB,qBAAqB;IACrB,SAAS;IACT,cAAc;IACd,cAAc;IACd,iBAAiB;IAClB;GACF;EACD,WAAW;GACT,WAAW;IACT,WAAW;IACX,MAAM;IACP;GACD,eAAe;IACb,OAAO;IACP,KAAK;IACL,UAAU;IACV,OAAO;IACR;GACD,QAAQ;IACN,WAAW;IACX,MAAM;IACN,UAAU;IACX;GACD,UAAU;IACR,QAAQ;IACR,MAAM;IACN,UAAU;IACX;GACD,SAAS,EACP,WAAW,aACZ;GACD,aAAa,EACX,WAAW,yBACZ;GACD,cAAc,EACZ,WAAW,yBACZ;GACD,OAAO;IACL,WAAW;IACX,OAAO;IACP,OAAO;IACP,YAAY;IACb;GACD,SAAS;IACP,aAAa;IACb,OAAO;IACR;GACF;EACD,OAAO;GACL,QAAQ;GACR,UAAU;GACV,aAAa;GACd;EACD,WAAW;GACT,OAAO;GACP,WACE;GACF,eAAe;GACf,mBAAmB;GACnB,eAAe;GACf,cAAc;GACd,WAAW;GACX,WAAW;GACZ;EACD,UAAU;GACR,QAAQ,EACN,SAAS,oCACV;GACD,KAAK;IACH,eAAe;IACf,gBAAgB;IACjB;GACD,QAAQ;IACN,cAAc;IACd,OAAO;IACR;GACD,OAAO,EACL,MAAM,QACP;GACD,UAAU;IACR,kBAAkB;IAClB,qBAAqB;IACrB,QAAQ;IACR,UAAU;IACV,aAAa;IACb,OAAO;IACP,UAAU;IACV,aAAa;IACb,mBAAmB;IACnB,UAAU;IACV,OAAO;IACR;GACF;EACD,WAAW,EACT,OAAO,aACR;EACD,MAAM;GACJ,SAAS;IACP,OAA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B;IACnB,mBAAmB;IACnB,SAAS;IACT,aAAa;IACb,iBAAiB;IACjB,gBAAgB;IAChB,gBAAgB;IAChB,qBAAqB;IACrB,mBAAmB;IACnB,gBAAgB;IAChB,aAAa;IACd;GACD,YAAY;IACV,OAAO;IACP,UAAU;IACX;GACD,gBAAgB,EACd,KAAK,OACN;GACD,eAAe;IACb,OAAO;IACP,SAAS;IACV;GACD,aAAa;IACX,gBACE;IACF,gBAAgB;IAChB,aAAa;IACb,KAAK;IACL,gBACE;IACH;GACD,cAAc,EACZ,SAAS,cACV;GACD,mBAAmB,EACjB,mBAAmB,wBACpB;GACD,cAAc;IACZ,QAAQ;IACR,SAAS;IACT,YAAY;IACb;GACD,sBAAsB;IACpB,SAAS;IACT,OAAO;IACP,aAAa;IACd;GACD,aAAa,EACX,aAAa,aACd;GACD,kBAAkB;IAChB,gBAAgB;IAChB,aAAa;IACb,mBAAmB;IACpB;GACD,2BAA2B;IACzB,oBAAoB;IACpB,YAAY;IACZ,cAAc;IACd,MAAM;IACN,mBAAmB;IACnB,WAAW;IACZ;GACD,WAAW;IACT,KAAK;IACL,OAAO;IACR;GACF;EACD,SAAS;GACP,cAAc;GACd,YAAY;GACZ,cAAc;GACd,cAAc;GACd,cAAc;GACd,kBAAkB;GAClB,sBAAsB;GACtB,eAAe;GACf,gBAAgB;GAChB,gBAAgB;GACjB;EACD,SAAS;GACP,OAAO;IACL,mBAAmB;IACnB,YAAY;IACZ,OAAO;IACR;GACD,MAAM;GACN,KAAK;IACH,gBAAgB;IAChB,YAAY;IACZ,mBAAmB;IACnB,cAAc;IACd,MAAM;IACP;GACD,aAAa;GACb,cAAc;GACd,UAAU;GACV,QAAQ;IACN,OAAO;IACP,KAAK;IACL,SAAS;IACT,WAAW;IACX,UAAU;IACV,UAAU;IACV,UAAU;IACV,OAAO;IACR;GACD,SAAS;IACP,WAAW;IACX,QAAQ;IACR,oBAAoB;IACpB,YAAY;IACZ,OAAO;IACR;GACD,MAAM;IACJ,cAAc;IACd,YAAY;IACZ,WAAW;IACX,OAAO;IACR;GACD,MAAM;GACN,UAAU;GACV,MAAM;GACN,UAAU;IACR,UAAU;IACV,eAAe;IAChB;GACD,WAAW;IACT,YAAY;IACZ,OAAO;IACR;GACD,QAAQ;GACR,UAAU;IACR,oBAAoB;IACpB,YAAY;IACZ,QAAQ;IACR,OAAO;IACR;GACD,UAAU;IACR,cAAc;IACd,iBAAiB;IACjB,mBAAmB;IACnB,WAAW;IACX,UAAU;IACX;GACD,OAAO;GACP,MAAM;GACN,MAAM;IACJ,OAAO;IACP,SAAS;IACT,WAAW;IACX,UAAU;IACV,SAAS;IACT,OAAO;IACR;GACD,OAAO;IACL,YAAY;IACZ,iBAAiB;IACjB,OAAO;IACR;GACF;EACD,UAAU;GACR,YAAY;IACV,QAAQ;IACR,QAAQ;IACR,iBAAiB;IACjB,OAAO;IACP,qBAAqB;IACrB,MAAM;IACN,QAAQ;IACT;GACD,cAAc,EACZ,OAAO,iBACR;GACD,OAAO;IACL,YAAY;IACZ,iBAAiB;IACjB,cAAc;IACd,SAAS;IACT,WAAW;IACZ;GACD,UAAU;IACR,QAAQ;IACR,WAAW;IACX,UAAU;IACV,SAAS;IACT,YAAY;IACZ,OAAO;IACR;GACF;EACD,OAAO;GACL,MAAM;IACJ,OAAO;IACP,QAAQ;IACR,eAAe;IACf,YAAY;IACZ,aAAa;IACb,UAAU;IACV,MAAM;IACN,MAAM;IACN,aAAa;IACb,QAAQ;IACR,aAAa;IACb,MAAM;IACN,MAAM;IACP;GACD,MAAM;IACJ,YAAY;IACZ,YAAY;IACb;GACF;EACD,UAAU;GACR,YAAY;GACZ,YAAY;GACb;EACF;CACD,WAAW;EACT,yBACE;EACF,mBAAmB;EACnB,YAAY;EACZ,SAAS;EACT,YAAY;EACZ,WAAW;EACX,QAAQ;EACR,YAAY;EACZ,gBAAgB;EAChB,UAAU;EACV,qBAAqB;EACrB,mBAAmB;EACnB,SAAS;EACT,mBAAmB;EACnB,wBAAwB;EACxB,yBAAyB;EACzB,mBAAmB;EACnB,cAAc;EACd,YAAY;EACZ,cAAc;EACd,aAAa;EACb,cAAc;EACd,YAAY;EACZ,eAAe;EACf,eAAe;EACf,oBAAoB;EACpB,cAAc;EACd,WAAW;EACX,iBAAiB;EACjB,cAAc;EACd,uBAAuB;EACvB,WAAW;EACX,cAAc;EACd,iBAAiB;EACjB,cAAc;EACd,cAAc;EACd,YAAY;EACZ,mBAAmB;EACnB,aAAa;EACb,gBAAgB;EAChB,cAAc;EACd,WAAW;EACX,gBAAgB;EAChB,aAAa;EACb,gBAAgB;EAChB,MAAM;EACN,OAAO;EACP,SAAS;EACT,YAAY;EACZ,WAAW;EACX,cAAc;EACd,aAAa;EACb,aAAa;EACb,gBAAgB;EAChB,eAAe;EACf,oBAAoB;EACpB,WAAW;EACZ;CACD,UAAU;EACR,yBAAyB;EACzB,QAAQ;EACR,OAAO;EACP,YAAY;EACZ,gBAAgB;EAChB,eAAe;EACf,gBAAgB;EAChB,UAAU;EACV,iBAAiB;EACjB,wBAAwB;EACxB,gBAAgB;EAChB,YAAY;EACZ,SAAS;EACT,iBAAiB;EACjB,mBAAmB;EACnB,iBAAiB;EACjB,kBAAkB;EAClB,YAAY;EACZ,QAAQ;EACR,gBAAgB;EAChB,OAAO;EACP,eAAe;EACf,QAAQ;EACR,cAAc;EACd,cAAc;EACd,YAAY;EACZ,YAAY;EACZ,cAAc;EACd,UAAU;EACV,eAAe;EACf,UAAU;EACV,SAAS;EACT,cAAc;EACd,WAAW;EACX,eAAe;EACf,SAAS;EACT,MAAM;EACN,iBAAiB;EACjB,cAAc;EACd,OAAO;EACP,YAAY;EACZ,IAAI;EACJ,cAAc;EACd,YAAY;EACZ,UAAU;EACV,mBAAmB;EACnB,QAAQ;EACR,mBAAmB;EACnB,gBAAgB;EAChB,YAAY;EACZ,gBAAgB;EAChB,uBAAuB;EACvB,QAAQ;EACR,MAAM;EACN,aAAa;EACb,KAAK;EACL,YAAY;EACZ,gBAAgB;EAChB,qBAAqB;EACrB,aAAa;EACb,YAAY;EACb;CACF"}
|