Files
CodeNomad/packages/ui/src/lib/i18n/messages/en/instance.ts
Pascal André 64ac885157 feat(ui): add session yolo mode controls (#256)
## Summary
- add a per-session Yolo mode toggle for permission prompts and persist
its state
- move the control into the Status tab with clearer copy, an info
tooltip, and a visible header badge when it is enabled
- auto-accept queued permissions for any yolo-enabled session in the
instance, not only the currently focused session

## Why
- keeps this risky mode explicit and easy to audit from the session
status area
- matches the expected multi-session desktop behavior when several
sessions stay active in parallel

## Testing
- npm run typecheck --workspace @codenomad/ui
- npm run build --workspace @codenomad/ui

Closes #18
2026-03-31 14:46:20 +01:00

188 lines
11 KiB
TypeScript
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

export const instanceMessages = {
"instanceTabs.new.title": "New instance (Cmd/Ctrl+N)",
"instanceTabs.new.ariaLabel": "New instance",
"instanceTabs.remote.title": "Remote connect",
"instanceTabs.remote.ariaLabel": "Remote connect",
"instanceInfo.title": "Instance Information",
"instanceInfo.labels.folder": "Folder",
"instanceInfo.labels.project": "Project",
"instanceInfo.labels.versionControl": "Version Control",
"instanceInfo.labels.opencodeVersion": "OpenCode Version",
"instanceInfo.labels.binaryPath": "Binary Path",
"instanceInfo.labels.environmentVariables": "Environment Variables ({count})",
"instanceInfo.loading": "Loading...",
"instanceInfo.server.title": "Server",
"instanceInfo.server.port": "Port:",
"instanceInfo.server.pid": "PID:",
"instanceInfo.server.status": "Status:",
"instanceTab.status.permission": "Waiting on permission",
"instanceTab.status.compacting": "Compacting",
"instanceTab.status.working": "Working",
"instanceTab.status.idle": "Idle",
"instanceTab.status.ariaLabel": "Instance status: {status}",
"instanceTab.actions.close.ariaLabel": "Close instance",
"instanceShell.leftPanel.sessionsTitle": "Sessions",
"instanceShell.leftPanel.instanceInfo": "Instance Info",
"instanceShell.leftDrawer.pin": "Pin left drawer",
"instanceShell.leftDrawer.unpin": "Unpin left drawer",
"instanceShell.leftDrawer.toggle.pinned": "Left drawer pinned",
"instanceShell.leftDrawer.toggle.open": "Open left drawer",
"instanceShell.leftDrawer.toggle.close": "Close left drawer",
"instanceShell.rightDrawer.pin": "Pin right drawer",
"instanceShell.rightDrawer.unpin": "Unpin right drawer",
"instanceShell.rightDrawer.toggle.pinned": "Right drawer pinned",
"instanceShell.rightDrawer.toggle.open": "Open right drawer",
"instanceShell.rightDrawer.toggle.close": "Close right drawer",
"instanceShell.fullscreen.enter": "Full screen",
"instanceShell.fullscreen.exit": "Exit full screen",
"instanceShell.metrics.usedLabel": "Used",
"instanceShell.metrics.availableLabel": "Avail",
"instanceShell.commandPalette.openAriaLabel": "Open command palette",
"instanceShell.commandPalette.button": "Command Palette",
"instanceShell.connection.ariaLabel": "Connection {status}",
"instanceShell.connection.connected": "Connected",
"instanceShell.connection.connecting": "Connecting...",
"instanceShell.connection.disconnected": "Disconnected",
"instanceShell.connection.unknown": "Unknown",
"instanceWelcome.shortcuts.newSession": "New Session",
"instanceWelcome.empty.title": "No Previous Sessions",
"instanceWelcome.empty.description": "Create a new session below to get started",
"instanceWelcome.loading.title": "Loading Sessions",
"instanceWelcome.loading.description": "Fetching your previous sessions...",
"instanceWelcome.resume.title": "Resume Session",
"instanceWelcome.resume.subtitle.one": "{count} session available",
"instanceWelcome.resume.subtitle.other": "{count} sessions available",
"instanceWelcome.session.untitled": "Untitled Session",
"instanceWelcome.new.title": "Start New Session",
"instanceWelcome.new.subtitle": "Well reuse your last agent/model automatically",
"instanceWelcome.new.createButton": "Create Session",
"instanceWelcome.overlay.close": "Close",
"instanceWelcome.actions.viewInstanceInfo": "View Instance Info",
"instanceWelcome.actions.renameTitle": "Rename session",
"instanceWelcome.actions.deleteTitle": "Delete session",
"instanceWelcome.hints.navigate": "Navigate",
"instanceWelcome.hints.jump": "Jump",
"instanceWelcome.hints.firstLast": "First/Last",
"instanceWelcome.hints.resume": "Resume",
"instanceWelcome.hints.delete": "Delete",
"instanceWelcome.toasts.renameError": "Unable to rename session",
"instanceDisconnected.title": "Instance Disconnected",
"instanceDisconnected.folderFallback": "this workspace",
"instanceDisconnected.reasonFallback": "The server stopped responding",
"instanceDisconnected.description": "{folder} can no longer be reached. Close the tab to continue working.",
"instanceDisconnected.details.title": "Details",
"instanceDisconnected.details.folderLabel": "Folder:",
"instanceDisconnected.actions.closeInstance": "Close Instance",
"instanceShell.empty.title": "No session selected",
"instanceShell.empty.description": "Select a session to view messages",
"instanceShell.rightPanel.title": "Status Panel",
"instanceShell.rightPanel.tabs.changes": "Session Changes",
"instanceShell.rightPanel.tabs.gitChanges": "Git Changes",
"instanceShell.rightPanel.tabs.files": "Files",
"instanceShell.rightPanel.tabs.status": "Status",
"instanceShell.rightPanel.tabs.ariaLabel": "Right panel tabs",
"instanceShell.rightPanel.actions.refresh": "Refresh",
"instanceShell.rightPanel.actions.save": "Save (Ctrl+S)",
"instanceShell.rightPanel.actions.saveConfirm.message": "Do you want to save changes to \"{path}\" before switching?",
"instanceShell.rightPanel.actions.saveConfirm.confirmLabel": "Save",
"instanceShell.rightPanel.actions.saveConfirm.cancelLabel": "Discard Changes",
"instanceShell.rightPanel.actions.conflict.message": "File was modified by the agent. Overwrite agent's changes?",
"instanceShell.rightPanel.actions.conflict.confirmLabel": "Overwrite",
"instanceShell.rightPanel.actions.conflict.cancelLabel": "Cancel",
"instanceShell.rightPanel.actions.refreshDirty.message": "File has unsaved changes. Refresh will discard your edits. Continue?",
"instanceShell.rightPanel.actions.refreshDirty.confirmLabel": "Refresh",
"instanceShell.rightPanel.actions.refreshDirty.cancelLabel": "Cancel",
"instanceShell.rightPanel.toast.saveSuccess": "File saved successfully",
"instanceShell.rightPanel.toast.saveError": "Failed to save file",
"instanceShell.rightPanel.sections.yoloMode": "Yolo Mode",
"instanceShell.rightPanel.sections.yoloMode.tooltip": "Automatically approves permission requests for the current session. Use it only when you trust the tools being run.",
"instanceShell.rightPanel.sections.sessionChanges": "Session Changes",
"instanceShell.rightPanel.sections.sessionChanges.tooltip": "Files modified in the current session. Shows additions and deletions for each file.",
"instanceShell.rightPanel.sections.plan": "Plan",
"instanceShell.rightPanel.sections.plan.tooltip": "The agent's roadmap for this session. Tracks tasks, subtasks, and their completion status.",
"instanceShell.rightPanel.sections.backgroundProcesses": "Background Shells",
"instanceShell.rightPanel.sections.backgroundProcesses.tooltip": "Long-running processes started by the agent. You can monitor their output, stop, or terminate them.",
"instanceShell.rightPanel.sections.mcp": "MCP Servers",
"instanceShell.rightPanel.sections.mcp.tooltip": "Model Context Protocol servers that extend the agent's capabilities with external tools and services.",
"instanceShell.rightPanel.sections.lsp": "LSP Servers",
"instanceShell.rightPanel.sections.lsp.tooltip": "Language Server Protocol servers providing code intelligence, diagnostics, and language-specific features.",
"instanceShell.rightPanel.sections.plugins": "Plugins",
"instanceShell.rightPanel.sections.plugins.tooltip": "Plugins that customize the UI and server behavior, adding features beyond MCP and LSP.",
"instanceShell.sessionChanges.noSessionSelected": "Select a session to view changes.",
"instanceShell.sessionChanges.loading": "Fetching session changes...",
"instanceShell.sessionChanges.empty": "No session changes yet.",
"instanceShell.sessionChanges.filesChanged": "{count} files changed",
"instanceShell.sessionChanges.actions.show": "Show changes",
"instanceShell.gitChanges.noSessionSelected": "Select a session to view git changes.",
"instanceShell.gitChanges.loading": "Loading git changes...",
"instanceShell.gitChanges.empty": "No git changes yet.",
"instanceShell.gitChanges.deleted": "Deleted",
"instanceShell.filesShell.fileListTitle": "File list",
"instanceShell.filesShell.mobileSelectorLabel": "Select file",
"instanceShell.filesShell.mobileSelectorEmpty": "Select a file",
"instanceShell.filesShell.viewerTitle": "Change viewer",
"instanceShell.filesShell.viewerPlaceholder": "Detailed change rendering will be added in the next step.",
"instanceShell.filesShell.viewerEmpty": "No file selected.",
"instanceShell.filesShell.hideFiles": "Hide files",
"instanceShell.filesShell.showFiles": "Show files",
"instanceShell.diff.hideUnchanged": "Hide unchanged regions",
"instanceShell.diff.showFull": "Show full file",
"instanceShell.diff.switchToSplit": "Switch to split view",
"instanceShell.diff.switchToUnified": "Switch to unified view",
"instanceShell.diff.enableWordWrap": "Enable word wrap",
"instanceShell.diff.disableWordWrap": "Disable word wrap",
"instanceShell.worktree.create": "+ Create worktree",
"instanceShell.plan.noSessionSelected": "Select a session to view plan.",
"instanceShell.plan.empty": "Nothing planned yet.",
"instanceShell.yoloMode.noSessionSelected": "Select a session to configure Yolo mode.",
"instanceShell.yoloMode.title": "Yolo mode",
"instanceShell.yoloMode.description": "Automatically approve permission requests for this session. Disabled by default.",
"instanceShell.yoloMode.badge": "Yolo mode",
"instanceShell.yoloMode.badgeAriaLabel": "Yolo mode enabled",
"instanceShell.backgroundProcesses.empty": "No background processes.",
"instanceShell.backgroundProcesses.status": "Status: {status}",
"instanceShell.backgroundProcesses.output": "Output: {sizeKb}KB",
"instanceShell.backgroundProcesses.actions.output": "Output",
"instanceShell.backgroundProcesses.actions.stop": "Stop",
"instanceShell.backgroundProcesses.actions.terminate": "Terminate",
"versionPill.appWithVersion": "App {version}",
"versionPill.ui": "UI",
"versionPill.uiWithVersion": "UI {version}",
"versionPill.source": " ({source})",
"opencodeBinarySelector.title": "OpenCode Binary",
"opencodeBinarySelector.subtitle": "Choose which executable OpenCode should run",
"opencodeBinarySelector.customPath.placeholder": "Enter path to opencode binary…",
"opencodeBinarySelector.actions.add": "Add",
"opencodeBinarySelector.actions.browse": "Browse for Binary…",
"opencodeBinarySelector.actions.removeTitle": "Remove binary",
"opencodeBinarySelector.badge.systemPath": "Use binary from system PATH",
"opencodeBinarySelector.status.checkingVersions": "Checking versions…",
"opencodeBinarySelector.status.checking": "Checking…",
"opencodeBinarySelector.dialog.title": "Select OpenCode Binary",
"opencodeBinarySelector.dialog.description": "Browse files exposed by the CLI server.",
"opencodeBinarySelector.validation.invalidBinary": "Invalid OpenCode binary",
"opencodeBinarySelector.validation.alreadyValidating": "Already validating",
"opencodeBinarySelector.display.systemPath": "{name} (system PATH)",
"opencodeBinarySelector.versionLabel": "v{version}",
} as const