From 52e288ea710ab0b84eb2cf84c4bd77c9a84545f6 Mon Sep 17 00:00:00 2001 From: "opencode-agent[bot]" Date: Sat, 30 May 2026 22:59:16 +0000 Subject: [PATCH] chore: generate --- bun.lock | 1 + packages/cli/src/debug/agents.ts | 8 ++++++- packages/core/src/plugin/agent.ts | 35 ++++++++++++++++--------------- 3 files changed, 26 insertions(+), 18 deletions(-) diff --git a/bun.lock b/bun.lock index 493ce5c39..8875d7e89 100644 --- a/bun.lock +++ b/bun.lock @@ -91,6 +91,7 @@ }, "dependencies": { "@effect/platform-node": "catalog:", + "@opencode-ai/core": "workspace:*", "effect": "catalog:", }, "devDependencies": { diff --git a/packages/cli/src/debug/agents.ts b/packages/cli/src/debug/agents.ts index eb64f6046..b1593f9d9 100644 --- a/packages/cli/src/debug/agents.ts +++ b/packages/cli/src/debug/agents.ts @@ -8,6 +8,12 @@ export const AgentsCommand = Command.make("agents", {}, () => Effect.gen(function* () { yield* PluginBoot.Service.use((service) => service.wait()) const agents = yield* AgentV2.Service.use((service) => service.all()) - process.stdout.write(JSON.stringify(agents.sort((a, b) => a.id.localeCompare(b.id)), null, 2) + EOL) + process.stdout.write( + JSON.stringify( + agents.sort((a, b) => a.id.localeCompare(b.id)), + null, + 2, + ) + EOL, + ) }), ).pipe(Command.withDescription("List all agents")) diff --git a/packages/core/src/plugin/agent.ts b/packages/core/src/plugin/agent.ts index 1102c169b..9baba75c3 100644 --- a/packages/core/src/plugin/agent.ts +++ b/packages/core/src/plugin/agent.ts @@ -105,7 +105,9 @@ export const Plugin = PluginV2.define({ const whitelistedDirs = [TRUNCATION_GLOB, path.join(Global.Path.tmp, "*")] const readonlyExternalDirectory: PermissionV2.Ruleset = [ { permission: "external_directory", pattern: "*", action: "ask" }, - ...whitelistedDirs.map((pattern): PermissionV2.Rule => ({ permission: "external_directory", pattern, action: "allow" })), + ...whitelistedDirs.map( + (pattern): PermissionV2.Rule => ({ permission: "external_directory", pattern, action: "allow" }), + ), ] const defaults: PermissionV2.Ruleset = [ { permission: "*", pattern: "*", action: "allow" }, @@ -137,21 +139,18 @@ export const Plugin = PluginV2.define({ item.description = "Plan mode. Disallows all edit tools." item.mode = "primary" item.permissions.push( - ...PermissionV2.merge( - defaults, - [ - { permission: "question", pattern: "*", action: "allow" }, - { permission: "plan_exit", pattern: "*", action: "allow" }, - { permission: "external_directory", pattern: path.join(Global.Path.data, "plans", "*"), action: "allow" }, - { permission: "edit", pattern: "*", action: "deny" }, - { permission: "edit", pattern: path.join(".opencode", "plans", "*.md"), action: "allow" }, - { - permission: "edit", - pattern: path.relative(worktree, path.join(Global.Path.data, "plans", "*.md")), - action: "allow", - }, - ], - ), + ...PermissionV2.merge(defaults, [ + { permission: "question", pattern: "*", action: "allow" }, + { permission: "plan_exit", pattern: "*", action: "allow" }, + { permission: "external_directory", pattern: path.join(Global.Path.data, "plans", "*"), action: "allow" }, + { permission: "edit", pattern: "*", action: "deny" }, + { permission: "edit", pattern: path.join(".opencode", "plans", "*.md"), action: "allow" }, + { + permission: "edit", + pattern: path.relative(worktree, path.join(Global.Path.data, "plans", "*.md")), + action: "allow", + }, + ]), ) }) @@ -159,7 +158,9 @@ export const Plugin = PluginV2.define({ item.description = "General-purpose agent for researching complex questions and executing multi-step tasks. Use this agent to execute multiple units of work in parallel." item.mode = "subagent" - item.permissions.push(...PermissionV2.merge(defaults, [{ permission: "todowrite", pattern: "*", action: "deny" }])) + item.permissions.push( + ...PermissionV2.merge(defaults, [{ permission: "todowrite", pattern: "*", action: "deny" }]), + ) }) editor.update(AgentV2.ID.make("explore"), (item) => {