From 73f09fdb37deed2056a9309a851846daef2401f7 Mon Sep 17 00:00:00 2001 From: chan1103 Date: Fri, 17 Apr 2026 16:42:43 +0900 Subject: [PATCH] fix(explore): allow LSP and ast-grep tools --- src/agents/explore.ts | 11 ++++------- src/shared/permission-compat.ts | 10 ++++++---- 2 files changed, 10 insertions(+), 11 deletions(-) diff --git a/src/agents/explore.ts b/src/agents/explore.ts index c62cc9993..3449ee346 100644 --- a/src/agents/explore.ts +++ b/src/agents/explore.ts @@ -25,13 +25,10 @@ export const EXPLORE_PROMPT_METADATA: AgentPromptMetadata = { } export function createExploreAgent(model: string): AgentConfig { - const restrictions = createAgentToolRestrictions([ - "write", - "edit", - "apply_patch", - "task", - "call_omo_agent", - ]) + const restrictions = createAgentToolRestrictions( + ["write", "edit", "apply_patch", "task", "call_omo_agent"], + ["lsp_symbols", "lsp_goto_definition", "lsp_find_references", "lsp_diagnostics", "ast_grep_search"], + ) return { description: diff --git a/src/shared/permission-compat.ts b/src/shared/permission-compat.ts index fd8253b77..d6df20aed 100644 --- a/src/shared/permission-compat.ts +++ b/src/shared/permission-compat.ts @@ -13,12 +13,14 @@ export interface PermissionFormat { * Creates tool restrictions that deny specified tools. */ export function createAgentToolRestrictions( - denyTools: string[] + denyTools: string[], + allowTools: string[] = [], ): PermissionFormat { return { - permission: Object.fromEntries( - denyTools.map((tool) => [tool, "deny" as const]) - ), + permission: Object.fromEntries([ + ...denyTools.map((tool) => [tool, "deny" as const]), + ...allowTools.map((tool) => [tool, "allow" as const]), + ]), } }