mirror of
https://github.com/davidkaya/aryx.git
synced 2026-08-06 19:58:43 +02:00
feat: enable 'always approve for session' for runtime tools
Runtime tool permission requests (read, write, shell, store_memory) now resolve stable approval names via fallback in the sidecar approval coordinator, enabling the 'Always approve' button and session-level auto-approval for built-in tools. Backend: - Add fallback tool names for PermissionRequestRead (read), PermissionRequestWrite (write), PermissionRequestShell (shell), and PermissionRequestMemory (store_memory) - Add autoApprovedToolName parameter to RequiresToolCallApproval for permission-kind-based session approval matching - Track tool.execution_start events in ToolNamesByCallId for supplementary exact-name resolution Frontend: - Use approval.toolName ?? approval.permissionKind as fallback key in resolveSessionApproval and ApprovalBanner - Add shell, read, write permission-kind entries to builtin approval tool definitions so pruning preserves session overrides Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
This commit is contained in:
@@ -92,6 +92,10 @@ const lspApprovalOperations = [
|
||||
// Human-readable labels for built-in runtime tools.
|
||||
// Both bash and powershell variants are included for forward compatibility.
|
||||
const builtinToolLabels: ReadonlyMap<string, string> = new Map([
|
||||
// Permission-kind approval categories (used by sidecar for runtime tool session approval)
|
||||
['shell', 'Shell commands'],
|
||||
['read', 'Read files'],
|
||||
['write', 'Write files'],
|
||||
// Shell tools
|
||||
['bash', 'Execute shell commands'],
|
||||
['powershell', 'Execute shell commands'],
|
||||
@@ -136,6 +140,10 @@ export function resolveToolLabel(toolId: string): string {
|
||||
// Fallback runtime tools used before sidecar capabilities are loaded or when the
|
||||
// CLI cannot report its built-in tool catalog dynamically.
|
||||
const fallbackRuntimeApprovalTools: ReadonlyArray<RuntimeToolDefinition> = [
|
||||
// Permission-kind approval categories (used by sidecar for runtime tool session approval)
|
||||
{ id: 'shell', label: 'Shell commands' },
|
||||
{ id: 'read', label: 'Read files' },
|
||||
{ id: 'write', label: 'Write files' },
|
||||
// Shell tools (bash variants — SDK reports these on all platforms)
|
||||
{ id: 'bash', label: 'Execute shell commands' },
|
||||
{ id: 'read_bash', label: 'Read shell output' },
|
||||
|
||||
Reference in New Issue
Block a user