You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
* feat(ui): add host-agnostic config editor and shared UI runtime plumbing
Introduce a dedicated config editor resource with structured get_config payloads and shared host-context/compact-row infrastructure so MCP UIs behave consistently across hosts while tightening config key validation and preview type coverage.
* fix(ui): harden config editor interactions and host bridge fallback
Validate blank numeric input, keep array modal open on save failures, bind tool-bridge listeners safely, and tune host-driven toggle styling/expansion behavior for embedded hosts.
// Single source of truth for user-editable configuration fields.
10
+
exportconstCONFIG_FIELD_DEFINITIONS={
11
+
blockedCommands: {
12
+
label: 'Blocked Commands',
13
+
description: 'This is your personal safety blocklist. If a command appears here, Desktop Commander will refuse to run it even if a prompt asks for it. Add risky commands you never want executed by mistake.',
14
+
valueType: 'array',
15
+
},
16
+
allowedDirectories: {
17
+
label: 'Allowed Folders',
18
+
description: 'These are the folders Desktop Commander is allowed to read and edit. Think of this as a permission list. Keeping it small is safer. If this list is empty, Desktop Commander can access your entire filesystem.',
19
+
valueType: 'array',
20
+
},
21
+
defaultShell: {
22
+
label: 'Default Shell',
23
+
description: 'This is the shell used for new command sessions (for example /bin/bash or /bin/zsh). Only change this if you know your environment requires a specific shell.',
24
+
valueType: 'string',
25
+
},
26
+
telemetryEnabled: {
27
+
label: 'Anonymous Telemetry',
28
+
description: 'When on, Desktop Commander sends anonymous usage information that helps improve product quality. When off, no telemetry data is sent.',
29
+
valueType: 'boolean',
30
+
},
31
+
fileReadLineLimit: {
32
+
label: 'File Read Limit',
33
+
description: 'Maximum number of lines returned from a file in one read action. Lower numbers keep responses short and safer; higher numbers return more text at once.',
34
+
valueType: 'number',
35
+
},
36
+
fileWriteLineLimit: {
37
+
label: 'File Write Limit',
38
+
description: 'Maximum number of lines that can be written in one edit operation. This helps prevent accidental oversized writes and keeps file changes predictable.',
0 commit comments