fix: register sisyphus-junior as builtin agent across type system and model fallback

Sisyphus-Junior was missing from BuiltinAgentName type, agentSources map,
barrel exports, and AGENT_MODEL_REQUIREMENTS. This caused type inconsistencies
and prevented model-fallback hooks from working for sisyphus-junior sessions.

Closes code-yeongyu/oh-my-openagent#1697
This commit is contained in:
rluisr
2026-03-07 16:45:32 +09:00
parent 34eb8cfd7d
commit 8eb81d856d
6 changed files with 20 additions and 1 deletions
+2
View File
@@ -12,6 +12,7 @@ import { createMetisAgent, metisPromptMetadata } from "./metis"
import { createAtlasAgent, atlasPromptMetadata } from "./atlas" import { createAtlasAgent, atlasPromptMetadata } from "./atlas"
import { createMomusAgent, momusPromptMetadata } from "./momus" import { createMomusAgent, momusPromptMetadata } from "./momus"
import { createHephaestusAgent } from "./hephaestus" import { createHephaestusAgent } from "./hephaestus"
import { createSisyphusJuniorAgentWithOverrides } from "./sisyphus-junior"
import type { AvailableCategory } from "./dynamic-agent-prompt-builder" import type { AvailableCategory } from "./dynamic-agent-prompt-builder"
import { import {
fetchAvailableModels, fetchAvailableModels,
@@ -41,6 +42,7 @@ const agentSources: Record<BuiltinAgentName, AgentSource> = {
// Note: Atlas 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
atlas: createAtlasAgent as AgentFactory, atlas: createAtlasAgent as AgentFactory,
"sisyphus-junior": createSisyphusJuniorAgentWithOverrides as unknown as AgentFactory,
} }
/** /**
@@ -50,6 +50,7 @@ export function collectPendingBuiltinAgents(input: {
if (agentName === "sisyphus") continue if (agentName === "sisyphus") continue
if (agentName === "hephaestus") continue if (agentName === "hephaestus") continue
if (agentName === "atlas") continue if (agentName === "atlas") continue
if (agentName === "sisyphus-junior") continue
if (disabledAgents.some((name) => name.toLowerCase() === agentName.toLowerCase())) continue if (disabledAgents.some((name) => name.toLowerCase() === agentName.toLowerCase())) continue
const override = agentOverrides[agentName] const override = agentOverrides[agentName]
+1
View File
@@ -2,3 +2,4 @@ export * from "./types"
export { createBuiltinAgents } from "./builtin-agents" export { createBuiltinAgents } from "./builtin-agents"
export type { AvailableAgent, AvailableCategory, AvailableSkill } from "./dynamic-agent-prompt-builder" export type { AvailableAgent, AvailableCategory, AvailableSkill } from "./dynamic-agent-prompt-builder"
export type { PrometheusPromptSource } from "./prometheus" export type { PrometheusPromptSource } from "./prometheus"
export { createSisyphusJuniorAgentWithOverrides, SISYPHUS_JUNIOR_DEFAULTS } from "./sisyphus-junior"
+2 -1
View File
@@ -113,7 +113,8 @@ export type BuiltinAgentName =
| "multimodal-looker" | "multimodal-looker"
| "metis" | "metis"
| "momus" | "momus"
| "atlas"; | "atlas"
| "sisyphus-junior";
export type OverridableAgentName = "build" | BuiltinAgentName; export type OverridableAgentName = "build" | BuiltinAgentName;
+1
View File
@@ -11,6 +11,7 @@ export const BuiltinAgentNameSchema = z.enum([
"metis", "metis",
"momus", "momus",
"atlas", "atlas",
"sisyphus-junior",
]) ])
export const BuiltinSkillNameSchema = z.enum([ export const BuiltinSkillNameSchema = z.enum([
+13
View File
@@ -157,6 +157,19 @@ export const AGENT_MODEL_REQUIREMENTS: Record<string, ModelRequirement> = {
{ providers: ["openai", "github-copilot", "opencode"], model: "gpt-5.4", variant: "medium" }, { providers: ["openai", "github-copilot", "opencode"], model: "gpt-5.4", variant: "medium" },
], ],
}, },
"sisyphus-junior": {
fallbackChain: [
{
providers: ["anthropic", "github-copilot", "opencode"],
model: "claude-sonnet-4-6",
},
{ providers: ["openai", "github-copilot", "opencode"], model: "gpt-5.4", variant: "medium" },
{
providers: ["google", "github-copilot", "opencode"],
model: "gemini-3-flash",
},
],
},
}; };
export const CATEGORY_MODEL_REQUIREMENTS: Record<string, ModelRequirement> = { export const CATEGORY_MODEL_REQUIREMENTS: Record<string, ModelRequirement> = {