MCPcopy Create free account
hub / github.com/avibe-bot/avibe / resolve_opencode_default_model

Function resolve_opencode_default_model

modules/agents/opencode/utils.py:231–261  ·  view source on GitHub ↗

Resolve default OpenCode model for an agent from config.

(
    opencode_default_config: dict,
    opencode_agents: list,
    selected_agent: Optional[str],
)

Source from the content-addressed store, hash-verified

229
230
231def resolve_opencode_default_model(
232 opencode_default_config: dict,
233 opencode_agents: list,
234 selected_agent: Optional[str],
235) -> Optional[str]:
236 """Resolve default OpenCode model for an agent from config."""
237 agent_names: List[str] = []
238 for agent in opencode_agents or []:
239 if isinstance(agent, dict):
240 name = agent.get("name") or agent.get("id")
241 elif isinstance(agent, str):
242 name = agent
243 else:
244 name = None
245 if isinstance(name, str) and name:
246 agent_names.append(name)
247
248 agent_name = selected_agent or ("build" if "build" in agent_names else (agent_names[0] if agent_names else None))
249
250 if isinstance(opencode_default_config, dict):
251 agents_config = opencode_default_config.get("agent", {})
252 if isinstance(agents_config, dict) and agent_name:
253 agent_config = agents_config.get(agent_name, {})
254 if isinstance(agent_config, dict):
255 model = agent_config.get("model")
256 if isinstance(model, str) and model:
257 return model
258 model = opencode_default_config.get("model")
259 if isinstance(model, str) and model:
260 return model
261 return None
262
263
264def resolve_opencode_provider_preferences(

Callers 2

_renderMethod · 0.90

Calls 2

appendMethod · 0.80
getMethod · 0.45

Tested by

no test coverage detected