Merge pull request #2352 from rluisr/fix/register-sisyphus-junior-as-builtin-agent
fix: register sisyphus-junior as builtin agent
This commit is contained in:
@@ -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]
|
||||||
|
|||||||
@@ -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
@@ -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;
|
||||||
|
|
||||||
|
|||||||
@@ -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([
|
||||||
|
|||||||
@@ -201,8 +201,8 @@ describe("AGENT_MODEL_REQUIREMENTS", () => {
|
|||||||
expect(hephaestus.requiresModel).toBeUndefined()
|
expect(hephaestus.requiresModel).toBeUndefined()
|
||||||
})
|
})
|
||||||
|
|
||||||
test("all 10 builtin agents have valid fallbackChain arrays", () => {
|
test("all 11 builtin agents have valid fallbackChain arrays", () => {
|
||||||
// #given - list of 10 agent names
|
// #given - list of 11 agent names
|
||||||
const expectedAgents = [
|
const expectedAgents = [
|
||||||
"sisyphus",
|
"sisyphus",
|
||||||
"hephaestus",
|
"hephaestus",
|
||||||
@@ -214,13 +214,14 @@ describe("AGENT_MODEL_REQUIREMENTS", () => {
|
|||||||
"metis",
|
"metis",
|
||||||
"momus",
|
"momus",
|
||||||
"atlas",
|
"atlas",
|
||||||
|
"sisyphus-junior",
|
||||||
]
|
]
|
||||||
|
|
||||||
// when - checking AGENT_MODEL_REQUIREMENTS
|
// when - checking AGENT_MODEL_REQUIREMENTS
|
||||||
const definedAgents = Object.keys(AGENT_MODEL_REQUIREMENTS)
|
const definedAgents = Object.keys(AGENT_MODEL_REQUIREMENTS)
|
||||||
|
|
||||||
// #then - all agents present with valid fallbackChain
|
// #then - all agents present with valid fallbackChain
|
||||||
expect(definedAgents).toHaveLength(10)
|
expect(definedAgents).toHaveLength(11)
|
||||||
for (const agent of expectedAgents) {
|
for (const agent of expectedAgents) {
|
||||||
const requirement = AGENT_MODEL_REQUIREMENTS[agent]
|
const requirement = AGENT_MODEL_REQUIREMENTS[agent]
|
||||||
expect(requirement).toBeDefined()
|
expect(requirement).toBeDefined()
|
||||||
|
|||||||
@@ -170,6 +170,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> = {
|
||||||
|
|||||||
Reference in New Issue
Block a user