feat(agents): enable call_omo_agent for Sisyphus-Junior subagents
Allow Sisyphus-Junior (category-based tasks) to spawn explore/librarian agents via call_omo_agent for research capabilities. Changes: - Remove call_omo_agent from BLOCKED_TOOLS in sisyphus-junior.ts - Update prompt to show ALLOWED status for call_omo_agent - Remove global call_omo_agent blocking in config-handler.ts - Keep blocking for orchestrator-sisyphus (use sisyphus_task instead) - Keep runtime recursion prevention in index.ts for explore/librarian Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>
This commit is contained in:
@@ -15,11 +15,10 @@ Execute tasks directly. NEVER delegate or spawn other agents.
|
||||
<Critical_Constraints>
|
||||
BLOCKED ACTIONS (will fail if attempted):
|
||||
- task tool: BLOCKED
|
||||
- sisyphus_task tool: BLOCKED
|
||||
- sisyphus_task tool: BLOCKED (already blocked above, but explicit)
|
||||
- call_omo_agent tool: BLOCKED
|
||||
- sisyphus_task tool: BLOCKED
|
||||
|
||||
You work ALONE. No delegation. No background tasks. Execute directly.
|
||||
ALLOWED: call_omo_agent - You CAN spawn explore/librarian agents for research.
|
||||
You work ALONE for implementation. No delegation of implementation tasks.
|
||||
</Critical_Constraints>
|
||||
|
||||
<Work_Context>
|
||||
@@ -76,7 +75,8 @@ function buildSisyphusJuniorPrompt(promptAppend?: string): string {
|
||||
}
|
||||
|
||||
// Core tools that Sisyphus-Junior must NEVER have access to
|
||||
const BLOCKED_TOOLS = ["task", "sisyphus_task", "call_omo_agent"]
|
||||
// Note: call_omo_agent is ALLOWED so subagents can spawn explore/librarian
|
||||
const BLOCKED_TOOLS = ["task", "sisyphus_task"]
|
||||
|
||||
export const SISYPHUS_JUNIOR_DEFAULTS = {
|
||||
model: "anthropic/claude-sonnet-4-5",
|
||||
@@ -106,6 +106,7 @@ export function createSisyphusJuniorAgentWithOverrides(
|
||||
for (const tool of BLOCKED_TOOLS) {
|
||||
merged[tool] = "deny"
|
||||
}
|
||||
merged.call_omo_agent = "allow"
|
||||
toolsConfig = { permission: { ...merged, ...basePermission } }
|
||||
} else {
|
||||
const userTools = override?.tools ?? {}
|
||||
@@ -114,6 +115,7 @@ export function createSisyphusJuniorAgentWithOverrides(
|
||||
for (const tool of BLOCKED_TOOLS) {
|
||||
merged[tool] = false
|
||||
}
|
||||
merged.call_omo_agent = true
|
||||
toolsConfig = { tools: { ...merged, ...baseTools } }
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user