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",
"Metis (Plan Consultant)",
"Momus (Plan Reviewer)",
"orchestrator-sisyphus"
"atlas"
]
}
},
@ -1859,7 +1859,7 @@
}
}
},
"orchestrator-sisyphus": {
"atlas": {
"type": "object",
"properties": {
"model": {

View File

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

View File

@ -28,9 +28,9 @@ const agentSources: Record<BuiltinAgentName, AgentSource> = {
"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

View File

@ -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({

View File

@ -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,

View File

@ -153,6 +153,22 @@ export function migrateConfigFile(configPath: string, rawConfig: Record<string,
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)) {
const { migrated, changed } = migrateHookNames(rawConfig.disabled_hooks as string[])
if (changed) {