feat(multimodal-looker): restrict to read-only tool access

Use createAgentToolAllowlist to allow only 'read' tool for multimodal-looker agent.
Previously denied write/edit/bash but allowed other tools.
Now uses wildcard deny pattern (*: deny) with explicit read allow.

- Add createAgentToolAllowlist function for allowlist-based restrictions
- Support legacy fallback for older OpenCode versions
- Add 4 test cases covering both permission systems
This commit is contained in:
justsisyphus
2026-01-16 15:02:55 +09:00
parent 27ef9fa8df
commit ede9abceb3
5 changed files with 150 additions and 23 deletions
+2 -6
View File
@@ -1,6 +1,6 @@
import type { AgentConfig } from "@opencode-ai/sdk"
import type { AgentPromptMetadata } from "./types"
import { createAgentToolRestrictions } from "../shared/permission-compat"
import { createAgentToolAllowlist } from "../shared/permission-compat"
const DEFAULT_MODEL = "google/gemini-3-flash"
@@ -14,11 +14,7 @@ export const MULTIMODAL_LOOKER_PROMPT_METADATA: AgentPromptMetadata = {
export function createMultimodalLookerAgent(
model: string = DEFAULT_MODEL
): AgentConfig {
const restrictions = createAgentToolRestrictions([
"write",
"edit",
"bash",
])
const restrictions = createAgentToolAllowlist(["read"])
return {
description: