diff options
| author | Adam Malczewski <[email protected]> | 2026-06-02 19:24:51 +0900 |
|---|---|---|
| committer | Adam Malczewski <[email protected]> | 2026-06-02 19:24:51 +0900 |
| commit | d01f17330f817cad995385df5b00d9ff8f201cdc (patch) | |
| tree | 0d3d9215e6813e3ce70b0f5df4b4ebc0e22a9a91 | |
| parent | 94ce3401cd65ff3f58c134c73cb3f816b7142093 (diff) | |
| download | dispatch-d01f17330f817cad995385df5b00d9ff8f201cdc.tar.gz dispatch-d01f17330f817cad995385df5b00d9ff8f201cdc.zip | |
feat(frontend): add perm_lsp toggle to the permissions panel
Add 'LSP queries' to the ToolPermissions UI (disabled by default, matching
the backend's perm_lsp gating). The existing generic settings route
(/tabs/settings/perm_lsp) and agent-manager invalidation handle persistence
and agent rebuild automatically — only the frontend store default and the
permission entry needed wiring.
| -rw-r--r-- | packages/frontend/src/lib/components/ToolPermissions.svelte | 6 | ||||
| -rw-r--r-- | packages/frontend/src/lib/settings.svelte.ts | 2 |
2 files changed, 8 insertions, 0 deletions
diff --git a/packages/frontend/src/lib/components/ToolPermissions.svelte b/packages/frontend/src/lib/components/ToolPermissions.svelte index 0caf0fa..77452bf 100644 --- a/packages/frontend/src/lib/components/ToolPermissions.svelte +++ b/packages/frontend/src/lib/components/ToolPermissions.svelte @@ -47,6 +47,12 @@ const toolPermissions: ToolPermission[] = [ label: "YouTube transcripts", description: "Allow the AI to fetch YouTube video transcripts", }, + { + id: "lsp", + label: "LSP queries", + description: + "Allow the AI to query a language server for hover, go-to-definition, references, and more", + }, ]; const { diff --git a/packages/frontend/src/lib/settings.svelte.ts b/packages/frontend/src/lib/settings.svelte.ts index 123008d..ff12d69 100644 --- a/packages/frontend/src/lib/settings.svelte.ts +++ b/packages/frontend/src/lib/settings.svelte.ts @@ -14,6 +14,7 @@ let toolPerms = $state<Record<string, boolean>>({ external_directory: false, web_search: false, youtube_transcribe: false, + lsp: false, }); let savedToolPerms = $state<Record<string, boolean>>({ read: true, @@ -26,6 +27,7 @@ let savedToolPerms = $state<Record<string, boolean>>({ external_directory: false, web_search: false, youtube_transcribe: false, + lsp: false, }); let skillChecks = $state<Record<string, boolean>>({}); let chunkLimit = $state(100); |
