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 <clio-agent@sisyphuslabs.ai>
This commit is contained in:
justsisyphus 2026-01-20 15:36:29 +09:00
parent 3c6768089f
commit e05ac04e66
6 changed files with 35 additions and 13 deletions

View File

@ -29,7 +29,7 @@
"multimodal-looker", "multimodal-looker",
"Metis (Plan Consultant)", "Metis (Plan Consultant)",
"Momus (Plan Reviewer)", "Momus (Plan Reviewer)",
"orchestrator-sisyphus" "atlas"
] ]
} }
}, },
@ -1859,7 +1859,7 @@
} }
} }
}, },
"orchestrator-sisyphus": { "atlas": {
"type": "object", "type": "object",
"properties": { "properties": {
"model": { "model": {

View File

@ -66,7 +66,7 @@ export type BuiltinAgentName =
| "multimodal-looker" | "multimodal-looker"
| "Metis (Plan Consultant)" | "Metis (Plan Consultant)"
| "Momus (Plan Reviewer)" | "Momus (Plan Reviewer)"
| "orchestrator-sisyphus" | "atlas"
export type OverridableAgentName = export type OverridableAgentName =
| "build" | "build"

View File

@ -28,9 +28,9 @@ const agentSources: Record<BuiltinAgentName, AgentSource> = {
"multimodal-looker": createMultimodalLookerAgent, "multimodal-looker": createMultimodalLookerAgent,
"Metis (Plan Consultant)": createMetisAgent, "Metis (Plan Consultant)": createMetisAgent,
"Momus (Plan Reviewer)": createMomusAgent, "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 // 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 const agentName = name as BuiltinAgentName
if (agentName === "Sisyphus") continue if (agentName === "Sisyphus") continue
if (agentName === "orchestrator-sisyphus") continue if (agentName === "atlas") continue
if (disabledAgents.includes(agentName)) continue if (disabledAgents.includes(agentName)) continue
const override = agentOverrides[agentName] const override = agentOverrides[agentName]
@ -206,8 +206,8 @@ export function createBuiltinAgents(
result["Sisyphus"] = sisyphusConfig result["Sisyphus"] = sisyphusConfig
} }
if (!disabledAgents.includes("orchestrator-sisyphus")) { if (!disabledAgents.includes("atlas")) {
const orchestratorOverride = agentOverrides["orchestrator-sisyphus"] const orchestratorOverride = agentOverrides["atlas"]
const orchestratorModel = orchestratorOverride?.model ?? systemDefaultModel const orchestratorModel = orchestratorOverride?.model ?? systemDefaultModel
let orchestratorConfig = createOrchestratorSisyphusAgent({ let orchestratorConfig = createOrchestratorSisyphusAgent({
model: orchestratorModel, model: orchestratorModel,
@ -218,7 +218,7 @@ export function createBuiltinAgents(
orchestratorConfig = mergeAgentConfig(orchestratorConfig, orchestratorOverride) orchestratorConfig = mergeAgentConfig(orchestratorConfig, orchestratorOverride)
} }
result["orchestrator-sisyphus"] = orchestratorConfig result["atlas"] = orchestratorConfig
} }
return result return result

View File

@ -26,7 +26,7 @@ export const BuiltinAgentNameSchema = z.enum([
"multimodal-looker", "multimodal-looker",
"Metis (Plan Consultant)", "Metis (Plan Consultant)",
"Momus (Plan Reviewer)", "Momus (Plan Reviewer)",
"orchestrator-sisyphus", "atlas",
]) ])
export const BuiltinSkillNameSchema = z.enum([ export const BuiltinSkillNameSchema = z.enum([
@ -50,7 +50,7 @@ export const OverridableAgentNameSchema = z.enum([
"frontend-ui-ux-engineer", "frontend-ui-ux-engineer",
"document-writer", "document-writer",
"multimodal-looker", "multimodal-looker",
"orchestrator-sisyphus", "atlas",
]) ])
export const AgentNameSchema = BuiltinAgentNameSchema export const AgentNameSchema = BuiltinAgentNameSchema
@ -133,7 +133,7 @@ export const AgentOverridesSchema = z.object({
"frontend-ui-ux-engineer": AgentOverrideConfigSchema.optional(), "frontend-ui-ux-engineer": AgentOverrideConfigSchema.optional(),
"document-writer": AgentOverrideConfigSchema.optional(), "document-writer": AgentOverrideConfigSchema.optional(),
"multimodal-looker": AgentOverrideConfigSchema.optional(), "multimodal-looker": AgentOverrideConfigSchema.optional(),
"orchestrator-sisyphus": AgentOverrideConfigSchema.optional(), atlas: AgentOverrideConfigSchema.optional(),
}) })
export const ClaudeCodeConfigSchema = z.object({ export const ClaudeCodeConfigSchema = z.object({

View File

@ -24,6 +24,7 @@ import type { OhMyOpenCodeConfig } from "../config";
import { log } from "../shared"; import { log } from "../shared";
import { getOpenCodeConfigPaths } from "../shared/opencode-config-dir"; import { getOpenCodeConfigPaths } from "../shared/opencode-config-dir";
import { migrateAgentConfig } from "../shared/permission-compat"; import { migrateAgentConfig } from "../shared/permission-compat";
import { AGENT_NAME_MAP } from "../shared/migration";
import { PROMETHEUS_SYSTEM_PROMPT, PROMETHEUS_PERMISSION } from "../agents/prometheus-prompt"; import { PROMETHEUS_SYSTEM_PROMPT, PROMETHEUS_PERMISSION } from "../agents/prometheus-prompt";
import { DEFAULT_CATEGORIES } from "../tools/delegate-task/constants"; import { DEFAULT_CATEGORIES } from "../tools/delegate-task/constants";
import type { ModelCacheState } from "../plugin-state"; 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( const builtinAgents = createBuiltinAgents(
pluginConfig.disabled_agents, migratedDisabledAgents,
pluginConfig.agents, pluginConfig.agents,
ctx.directory, ctx.directory,
config.model as string | undefined, config.model as string | undefined,

View File

@ -153,6 +153,22 @@ export function migrateConfigFile(configPath: string, rawConfig: Record<string,
needsWrite = true needsWrite = true
} }
if (rawConfig.disabled_agents && Array.isArray(rawConfig.disabled_agents)) {
const migrated: string[] = []
let changed = false
for (const agent of rawConfig.disabled_agents as string[]) {
const newAgent = AGENT_NAME_MAP[agent.toLowerCase()] ?? AGENT_NAME_MAP[agent] ?? agent
if (newAgent !== agent) {
changed = true
}
migrated.push(newAgent)
}
if (changed) {
rawConfig.disabled_agents = migrated
needsWrite = true
}
}
if (rawConfig.disabled_hooks && Array.isArray(rawConfig.disabled_hooks)) { if (rawConfig.disabled_hooks && Array.isArray(rawConfig.disabled_hooks)) {
const { migrated, changed } = migrateHookNames(rawConfig.disabled_hooks as string[]) const { migrated, changed } = migrateHookNames(rawConfig.disabled_hooks as string[])
if (changed) { if (changed) {