summaryrefslogtreecommitdiffhomepage
path: root/packages
diff options
context:
space:
mode:
Diffstat (limited to 'packages')
-rw-r--r--packages/opencode/src/agent/agent.ts36
-rw-r--r--packages/opencode/src/config/config.ts6
2 files changed, 24 insertions, 18 deletions
diff --git a/packages/opencode/src/agent/agent.ts b/packages/opencode/src/agent/agent.ts
index ef007df13..a2ff825d9 100644
--- a/packages/opencode/src/agent/agent.ts
+++ b/packages/opencode/src/agent/agent.ts
@@ -107,6 +107,24 @@ export namespace Agent {
)
const result: Record<string, Info> = {
+ build: {
+ name: "build",
+ tools: { ...defaultTools },
+ options: {},
+ permission: agentPermission,
+ mode: "primary",
+ native: true,
+ },
+ plan: {
+ name: "plan",
+ options: {},
+ permission: planPermission,
+ tools: {
+ ...defaultTools,
+ },
+ mode: "primary",
+ native: true,
+ },
general: {
name: "general",
description: `General-purpose agent for researching complex questions and executing multi-step tasks. Use this agent to execute multiple units of work in parallel.`,
@@ -149,14 +167,6 @@ export namespace Agent {
options: {},
permission: agentPermission,
},
- build: {
- name: "build",
- tools: { ...defaultTools },
- options: {},
- permission: agentPermission,
- mode: "primary",
- native: true,
- },
title: {
name: "title",
mode: "primary",
@@ -177,16 +187,6 @@ export namespace Agent {
prompt: PROMPT_SUMMARY,
tools: {},
},
- plan: {
- name: "plan",
- options: {},
- permission: planPermission,
- tools: {
- ...defaultTools,
- },
- mode: "primary",
- native: true,
- },
}
for (const [key, value] of Object.entries(cfg.agent ?? {})) {
if (value.disable) {
diff --git a/packages/opencode/src/config/config.ts b/packages/opencode/src/config/config.ts
index 333e19848..d0fb12c58 100644
--- a/packages/opencode/src/config/config.ts
+++ b/packages/opencode/src/config/config.ts
@@ -668,10 +668,16 @@ export namespace Config {
.describe("@deprecated Use `agent` field instead."),
agent: z
.object({
+ // primary
plan: Agent.optional(),
build: Agent.optional(),
+ // subagent
general: Agent.optional(),
explore: Agent.optional(),
+ // specialized
+ title: Agent.optional(),
+ summary: Agent.optional(),
+ compaction: Agent.optional(),
})
.catchall(Agent)
.optional()