2026-02-17 12:33:49 +01:00
|
|
|
import type { AgentConfig } from "@opencode-ai/sdk"
|
|
|
|
|
import type { AgentMode } from "../types"
|
2026-02-18 20:55:19 +01:00
|
|
|
import { createAgentToolRestrictions } from "../../shared/permission-compat"
|
2026-02-17 12:33:49 +01:00
|
|
|
|
|
|
|
|
const MODE: AgentMode = "subagent"
|
|
|
|
|
|
2026-02-18 20:55:19 +01:00
|
|
|
const COUNCIL_MEMBER_PROMPT =
|
|
|
|
|
"You are an independent code analyst in a multi-model council. Provide thorough, evidence-based analysis."
|
2026-02-17 12:33:49 +01:00
|
|
|
|
|
|
|
|
export function createCouncilMemberAgent(model: string): AgentConfig {
|
2026-02-18 20:55:19 +01:00
|
|
|
const restrictions = createAgentToolRestrictions([
|
|
|
|
|
"write",
|
|
|
|
|
"edit",
|
|
|
|
|
"task",
|
|
|
|
|
"call_omo_agent",
|
|
|
|
|
"athena_council",
|
|
|
|
|
])
|
|
|
|
|
|
2026-02-17 12:33:49 +01:00
|
|
|
return {
|
|
|
|
|
description: "Independent code analyst for Athena multi-model council. Read-only, evidence-based analysis. (Council Member - OhMyOpenCode)",
|
|
|
|
|
mode: MODE,
|
|
|
|
|
model,
|
|
|
|
|
temperature: 0.1,
|
|
|
|
|
prompt: COUNCIL_MEMBER_PROMPT,
|
2026-02-18 20:55:19 +01:00
|
|
|
...restrictions,
|
2026-02-17 12:33:49 +01:00
|
|
|
} as AgentConfig
|
|
|
|
|
}
|
|
|
|
|
createCouncilMemberAgent.mode = MODE
|