#2 GLM judge (closes #114): registry NamedProvider gains a `format` field; build_provider_registry builds an AnthropicProvider for format="anthropic". GLM's coding/OpenAI endpoint is ToS-throttled for raw SDK, but its Anthropic endpoint (api.z.ai/api/anthropic) accepts raw API calls (verified x-api-key -> glm-4.7), so CLAWMATES_JUDGE_MODEL=glm:glm-4.7 routes the door governor / topology judge through GLM with no runtime-routing. (Kimi-as-judge still needs a Platform key — coding key is agent-only.) #3 run-control: POST /api/topology-runs/{id}/cancel (workspace-scoped, queued/running only); the worker honors it at the step boundary (checks current_status in the checkpoint callback) and won't clobber a cancel with `failed`. Frontend Run tab gains a Cancel button and clickable recent runs that deep-link into a live/replayed stream (SSE replays from checkpoint). cm-* tests (incl. new cancel test) + clippy + frontend lint/typecheck green. Co-Authored-By: Claude Opus 4.8 <[email protected]>
16 lines
442 B
JSON
16 lines
442 B
JSON
{
|
|
"db_name": "PostgreSQL",
|
|
"query": "UPDATE topology_runs\n SET status = 'cancelled', finished_at = now(), updated_at = now()\n WHERE id = $1 AND workspace_id = $2 AND status IN ('queued', 'running')",
|
|
"describe": {
|
|
"columns": [],
|
|
"parameters": {
|
|
"Left": [
|
|
"Uuid",
|
|
"Uuid"
|
|
]
|
|
},
|
|
"nullable": []
|
|
},
|
|
"hash": "88a71a747f5a87637af0b83122102a5f5e78da08268f3eb4c51a756f268f58b3"
|
|
}
|