refactor: enhance AI workflow management with restore version and usage tracking features

This commit is contained in:
mlogclub
2026-07-25 18:19:59 +08:00
parent 1663db7f24
commit 05eb85167c
9 changed files with 126 additions and 191 deletions
+14 -16
View File
@@ -455,6 +455,14 @@ export type AIWorkflowValidationResult = {
}[]
}
export type AIWorkflowUsage = {
aiAgentId: number
aiAgentName: string
workflowVersionId: number
workflowVersion: number
enabled: boolean
}
export type CreateAIWorkflowPayload = {
name: string
description: string
@@ -1031,10 +1039,6 @@ export function updateAIAgentStatus(id: number, status: number) {
})
}
export function fetchAIAgentWorkflow(agentId: number) {
return request<AIWorkflow>(`/api/dashboard/ai-agent/${agentId}/workflow`)
}
export function fetchAIWorkflows(query?: Record<string, string | number | undefined>) {
return request<PageResult<AIWorkflow>>(`/api/dashboard/ai-workflow/list${toQueryString(query)}`)
}
@@ -1055,11 +1059,12 @@ export function deleteAIWorkflow(id: number) {
return request<void>("/api/dashboard/ai-workflow/delete", { method: "POST", body: JSON.stringify({ id }) })
}
export function saveAIAgentWorkflow(payload: CreateAIWorkflowPayload) {
return request<AIWorkflow>("/api/dashboard/ai-agent/workflow/save", {
method: "POST",
body: JSON.stringify(payload),
})
export function fetchAIWorkflowUsage(id: number) {
return request<AIWorkflowUsage[]>(`/api/dashboard/ai-workflow/${id}/usage`)
}
export function restoreAIWorkflowVersion(workflowId: number, workflowVersionId: number) {
return request<void>("/api/dashboard/ai-workflow/restore-version", { method: "POST", body: JSON.stringify({ workflowId, workflowVersionId }) })
}
export function fetchAIWorkflowNodeSpecs() {
@@ -1094,13 +1099,6 @@ export function publishAIWorkflow(workflowId: number, definition: AIWorkflowDefi
})
}
export function publishAIAgentWorkflow(agentId: number, definition: AIWorkflowDefinition) {
return request<AIWorkflowVersion>("/api/dashboard/ai-agent/workflow/publish", {
method: "POST",
body: JSON.stringify({ agentId, definition }),
})
}
export function fetchUsers(query?: Record<string, string | number | undefined>) {
return request<PageResult<AdminUser>>(
`/api/dashboard/user/list${toQueryString(query)}`