Fix workspace detail races and provider default handling

Keep analysis and Skill detail responses bound to the selected request, reject stale publish confirmations, and clear failed position-history results with retry controls.

Reject removal of the current default provider with HTTP 409 and reflect that contract in the form. Track the OpenAPI page and API module by restricting the docs ignore rule to the repository root.

Validate the staged provider contract with four isolated tests. Reuse the matching candidate's frontend lint, type check, 26 test groups, and production build results.
This commit is contained in:
eezd committed 2026-10-26 14:22:40 +08:00
1 parent 3178a2cc31
commit d1a6325ed7
12 files changed
+405 -23

No files matched your search

+13
View File
@@ -0,0 +1,13 @@
import type * as Docs from "./type"
import { request } from "@/http/axios"
/** OpenAPI 按原始规范返回,不使用普通 JSON 外壳。 */
export function getOpenApiApi(signal?: AbortSignal) {
return request<Docs.OpenApiDocument>({
url: "/openapi.json",
method: "get",
rawResponse: true,
notify: false,
signal
})
}
+6
View File
@@ -0,0 +1,6 @@
export interface OpenApiDocument {
openapi: string
info: { title: string, version: string }
paths: Record<string, unknown>
components?: Record<string, unknown>
}