From e05ac04e66f1f6a91b056ef17402881bd42a912c Mon Sep 17 00:00:00 2001 From: justsisyphus Date: Tue, 20 Jan 2026 15:36:29 +0900 Subject: [PATCH] refactor(schema): rename orchestrator-sisyphus to atlas Update schema definitions, types, and integrations to use 'atlas' instead of 'orchestrator-sisyphus'. Includes schema regeneration and test updates. Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-opencode) Co-authored-by: Sisyphus --- assets/oh-my-opencode.schema.json | 4 ++-- src/agents/types.ts | 2 +- src/agents/utils.ts | 12 ++++++------ src/config/schema.ts | 6 +++--- src/plugin-handlers/config-handler.ts | 8 +++++++- src/shared/migration.ts | 16 ++++++++++++++++ 6 files changed, 35 insertions(+), 13 deletions(-) diff --git a/assets/oh-my-opencode.schema.json b/assets/oh-my-opencode.schema.json index 0424185b..0f65e1cd 100644 --- a/assets/oh-my-opencode.schema.json +++ b/assets/oh-my-opencode.schema.json @@ -29,7 +29,7 @@ "multimodal-looker", "Metis (Plan Consultant)", "Momus (Plan Reviewer)", - "orchestrator-sisyphus" + "atlas" ] } }, @@ -1859,7 +1859,7 @@ } } }, - "orchestrator-sisyphus": { + "atlas": { "type": "object", "properties": { "model": { diff --git a/src/agents/types.ts b/src/agents/types.ts index d808703b..bba3b8b2 100644 --- a/src/agents/types.ts +++ b/src/agents/types.ts @@ -66,7 +66,7 @@ export type BuiltinAgentName = | "multimodal-looker" | "Metis (Plan Consultant)" | "Momus (Plan Reviewer)" - | "orchestrator-sisyphus" + | "atlas" export type OverridableAgentName = | "build" diff --git a/src/agents/utils.ts b/src/agents/utils.ts index 4d2ee3f7..e9609535 100644 --- a/src/agents/utils.ts +++ b/src/agents/utils.ts @@ -28,9 +28,9 @@ const agentSources: Record = { "multimodal-looker": createMultimodalLookerAgent, "Metis (Plan Consultant)": createMetisAgent, "Momus (Plan Reviewer)": createMomusAgent, - // Note: orchestrator-sisyphus is handled specially in createBuiltinAgents() + // Note: atlas is handled specially in createBuiltinAgents() // because it needs OrchestratorContext, not just a model string - "orchestrator-sisyphus": createOrchestratorSisyphusAgent as unknown as AgentFactory, + atlas: createOrchestratorSisyphusAgent as unknown as AgentFactory, } /** @@ -159,7 +159,7 @@ export function createBuiltinAgents( const agentName = name as BuiltinAgentName if (agentName === "Sisyphus") continue - if (agentName === "orchestrator-sisyphus") continue + if (agentName === "atlas") continue if (disabledAgents.includes(agentName)) continue const override = agentOverrides[agentName] @@ -206,8 +206,8 @@ export function createBuiltinAgents( result["Sisyphus"] = sisyphusConfig } - if (!disabledAgents.includes("orchestrator-sisyphus")) { - const orchestratorOverride = agentOverrides["orchestrator-sisyphus"] + if (!disabledAgents.includes("atlas")) { + const orchestratorOverride = agentOverrides["atlas"] const orchestratorModel = orchestratorOverride?.model ?? systemDefaultModel let orchestratorConfig = createOrchestratorSisyphusAgent({ model: orchestratorModel, @@ -218,7 +218,7 @@ export function createBuiltinAgents( orchestratorConfig = mergeAgentConfig(orchestratorConfig, orchestratorOverride) } - result["orchestrator-sisyphus"] = orchestratorConfig + result["atlas"] = orchestratorConfig } return result diff --git a/src/config/schema.ts b/src/config/schema.ts index 8be0a144..9202b260 100644 --- a/src/config/schema.ts +++ b/src/config/schema.ts @@ -26,7 +26,7 @@ export const BuiltinAgentNameSchema = z.enum([ "multimodal-looker", "Metis (Plan Consultant)", "Momus (Plan Reviewer)", - "orchestrator-sisyphus", + "atlas", ]) export const BuiltinSkillNameSchema = z.enum([ @@ -50,7 +50,7 @@ export const OverridableAgentNameSchema = z.enum([ "frontend-ui-ux-engineer", "document-writer", "multimodal-looker", - "orchestrator-sisyphus", + "atlas", ]) export const AgentNameSchema = BuiltinAgentNameSchema @@ -133,7 +133,7 @@ export const AgentOverridesSchema = z.object({ "frontend-ui-ux-engineer": AgentOverrideConfigSchema.optional(), "document-writer": AgentOverrideConfigSchema.optional(), "multimodal-looker": AgentOverrideConfigSchema.optional(), - "orchestrator-sisyphus": AgentOverrideConfigSchema.optional(), + atlas: AgentOverrideConfigSchema.optional(), }) export const ClaudeCodeConfigSchema = z.object({ diff --git a/src/plugin-handlers/config-handler.ts b/src/plugin-handlers/config-handler.ts index 71371e03..b8c4388e 100644 --- a/src/plugin-handlers/config-handler.ts +++ b/src/plugin-handlers/config-handler.ts @@ -24,6 +24,7 @@ import type { OhMyOpenCodeConfig } from "../config"; import { log } from "../shared"; import { getOpenCodeConfigPaths } from "../shared/opencode-config-dir"; import { migrateAgentConfig } from "../shared/permission-compat"; +import { AGENT_NAME_MAP } from "../shared/migration"; import { PROMETHEUS_SYSTEM_PROMPT, PROMETHEUS_PERMISSION } from "../agents/prometheus-prompt"; import { DEFAULT_CATEGORIES } from "../tools/delegate-task/constants"; import type { ModelCacheState } from "../plugin-state"; @@ -110,8 +111,13 @@ export function createConfigHandler(deps: ConfigHandlerDeps) { ) } + // Migrate disabled_agents from old names to new names + const migratedDisabledAgents = (pluginConfig.disabled_agents ?? []).map(agent => { + return AGENT_NAME_MAP[agent.toLowerCase()] ?? AGENT_NAME_MAP[agent] ?? agent + }) as typeof pluginConfig.disabled_agents + const builtinAgents = createBuiltinAgents( - pluginConfig.disabled_agents, + migratedDisabledAgents, pluginConfig.agents, ctx.directory, config.model as string | undefined, diff --git a/src/shared/migration.ts b/src/shared/migration.ts index 70033ef6..afe60843 100644 --- a/src/shared/migration.ts +++ b/src/shared/migration.ts @@ -153,6 +153,22 @@ export function migrateConfigFile(configPath: string, rawConfig: Record