Merge remote-tracking branch 'origin/qyqy_develop' into qyqy_develop

This commit is contained in:
2026-09-14 01:23:32 +08:00
6 changed files with 98 additions and 26 deletions
+8 -2
View File
@@ -181,9 +181,15 @@ def register_transition(resource: str, id_name: str, action: str) -> None:
register_resource("config-releases", ReleasePayload, "release_id", update=False)
register_resource("platform-config-items", ItemPayload, "item_id", scoped=True, detail=False)
# ⚠️ `platform-config-items` 与 `model-routing-rules` 必须是 `detail=True`:
# 它们的更新端点(PUT)**硬性要求 `If-Match`**,而校验用的是**该行内容的 digest**
# (`admin_service.mutate`:`if_match is None or if_match != digest(existing) → 409`)。
# 此前 `detail=False` 意味着**没有任何端点能返回这个 digest** —— 列表的 `meta` 只有
# trace_id、也没有详情端点,于是**首次编辑必然 409**:乐观并发成了死锁,
# 编辑功能实际不可用(2026-09-13 前端等价测试发现)。
register_resource("platform-config-items", ItemPayload, "item_id", scoped=True, detail=True)
register_resource("model-endpoints", EndpointPayload, "endpoint_id")
register_resource("model-routing-rules", RoutingPayload, "rule_id", scoped=True, detail=False)
register_resource("model-routing-rules", RoutingPayload, "rule_id", scoped=True, detail=True)
register_resource("prompt-templates", PromptPayload, "prompt_id", update=False)
register_resource("agent-intent-configs", IntentPayload, "config_id")
register_resource("reply-templates", ReplyPayload, "template_id", detail=False)