feat: switch to opencode
This commit is contained in:
@@ -0,0 +1,40 @@
|
||||
from agentci.adapters.opencode_support import api_contract_ready, models_ready
|
||||
|
||||
|
||||
def test_api_contract_requires_session_message_and_abort_routes() -> None:
|
||||
valid = {
|
||||
"paths": {
|
||||
"/global/health": {"get": {}},
|
||||
"/provider": {"get": {}},
|
||||
"/session": {"post": {}},
|
||||
"/session/{sessionID}/message": {"post": {}},
|
||||
"/session/{sessionID}/abort": {"post": {}},
|
||||
}
|
||||
}
|
||||
|
||||
assert api_contract_ready(valid)
|
||||
del valid["paths"]["/session/{sessionID}/abort"]
|
||||
assert not api_contract_ready(valid)
|
||||
|
||||
|
||||
def test_model_readiness_requires_tools_and_configured_variant() -> None:
|
||||
payload = {
|
||||
"connected": ["openai"],
|
||||
"all": [
|
||||
{
|
||||
"id": "openai",
|
||||
"models": {
|
||||
"model": {
|
||||
"status": "active",
|
||||
"capabilities": {"toolcall": True},
|
||||
"variants": {"high": {}},
|
||||
}
|
||||
},
|
||||
}
|
||||
],
|
||||
}
|
||||
|
||||
assert models_ready(payload, {("openai", "model", "high")})
|
||||
assert not models_ready(payload, {("openai", "model", "missing")})
|
||||
payload["all"][0]["models"]["model"]["capabilities"]["toolcall"] = False
|
||||
assert not models_ready(payload, {("openai", "model", "high")})
|
||||
Reference in New Issue
Block a user