From eeb7eb2be2893a17a7d5c303c6df0d5c97330436 Mon Sep 17 00:00:00 2001 From: justsisyphus Date: Fri, 16 Jan 2026 18:29:39 +0900 Subject: [PATCH] refactor(agent-tool-restrictions): use boolean for SDK tools parameter OpenCode SDK's session.prompt tools parameter expects boolean values. Changed from PermissionValue ('deny'/'allow') to boolean (false/true). --- src/shared/agent-tool-restrictions.ts | 49 +++++++++++++-------------- 1 file changed, 23 insertions(+), 26 deletions(-) diff --git a/src/shared/agent-tool-restrictions.ts b/src/shared/agent-tool-restrictions.ts index 9f648f08c..3d713851f 100644 --- a/src/shared/agent-tool-restrictions.ts +++ b/src/shared/agent-tool-restrictions.ts @@ -1,55 +1,52 @@ -import type { PermissionValue } from "./permission-compat" - /** * Agent tool restrictions for session.prompt calls. - * OpenCode SDK's session.prompt `tools` parameter OVERRIDES agent-level permissions. - * This provides complete restriction sets so session.prompt calls include all necessary restrictions. + * OpenCode SDK's session.prompt `tools` parameter expects boolean values. + * true = tool allowed, false = tool denied. */ -const EXPLORATION_AGENT_DENYLIST: Record = { - write: "deny", - edit: "deny", - task: "deny", - delegate_task: "deny", - call_omo_agent: "deny", +const EXPLORATION_AGENT_DENYLIST: Record = { + write: false, + edit: false, + task: false, + delegate_task: false, + call_omo_agent: false, } -const AGENT_RESTRICTIONS: Record> = { +const AGENT_RESTRICTIONS: Record> = { explore: EXPLORATION_AGENT_DENYLIST, librarian: EXPLORATION_AGENT_DENYLIST, oracle: { - write: "deny", - edit: "deny", - task: "deny", - delegate_task: "deny", + write: false, + edit: false, + task: false, + delegate_task: false, }, "multimodal-looker": { - "*": "deny", - read: "allow", + read: true, }, "document-writer": { - task: "deny", - delegate_task: "deny", - call_omo_agent: "deny", + task: false, + delegate_task: false, + call_omo_agent: false, }, "frontend-ui-ux-engineer": { - task: "deny", - delegate_task: "deny", - call_omo_agent: "deny", + task: false, + delegate_task: false, + call_omo_agent: false, }, "Sisyphus-Junior": { - task: "deny", - delegate_task: "deny", + task: false, + delegate_task: false, }, } -export function getAgentToolRestrictions(agentName: string): Record { +export function getAgentToolRestrictions(agentName: string): Record { return AGENT_RESTRICTIONS[agentName] ?? {} }