feat: V1 - DAG编排/告警系统/Agent循环/知识库RAG/Webhook + 审核管理富上下文修复

This commit is contained in:
2026-08-13 00:47:14 +08:00
parent be83e00a1b
commit a73ca29153
+61 -2
View File
@@ -18,10 +18,20 @@ import type {
WorkerCreate,
WorkerTestResult,
Review,
ReviewDetail,
ReviewDecisionPayload,
Artifact,
DashboardStats,
TaskStatus,
KnowledgeDoc,
KnowledgeDocCreate,
KnowledgeSearchResult,
Alert,
AlertUnreadCount,
Webhook,
WebhookCreate,
DagExecutePayload,
DagExecuteResult,
} from '@/types';
// ============ Auth ============
@@ -145,10 +155,10 @@ export const workerApi = {
export const reviewApi = {
list: (params?: { status?: string; project_id?: number }) =>
apiClient.get<Review[]>('/reviews', { params }).then((r) => r.data),
apiClient.get<ReviewDetail[]>('/reviews', { params }).then((r) => r.data),
get: (id: number) =>
apiClient.get<Review>(`/reviews/${id}`).then((r) => r.data),
apiClient.get<ReviewDetail>(`/reviews/${id}`).then((r) => r.data),
decision: (id: number, data: ReviewDecisionPayload) =>
apiClient.post<Review>(`/reviews/${id}/decision`, data).then((r) => r.data),
@@ -170,3 +180,52 @@ export const dashboardApi = {
stats: () =>
apiClient.get<DashboardStats>('/dashboard').then((r) => r.data),
};
// ============ Knowledge Base ============
export const knowledgeApi = {
list: (projectId?: number) =>
apiClient.get<KnowledgeDoc[]>('/knowledge', { params: { project_id: projectId } }).then((r) => r.data),
create: (data: KnowledgeDocCreate) =>
apiClient.post<KnowledgeDoc>('/knowledge', data).then((r) => r.data),
search: (q: string) =>
apiClient.get<KnowledgeSearchResult[]>('/knowledge/search', { params: { q } }).then((r) => r.data),
delete: (id: number) =>
apiClient.delete(`/knowledge/${id}`).then((r) => r.data),
};
// ============ Alerts ============
export const alertApi = {
list: (isRead?: boolean) =>
apiClient.get<Alert[]>('/alerts', { params: { is_read: isRead } }).then((r) => r.data),
unreadCount: () =>
apiClient.get<AlertUnreadCount>('/alerts/unread-count').then((r) => r.data),
markRead: (id: number) =>
apiClient.put(`/alerts/${id}/read`).then((r) => r.data),
};
// ============ Webhooks ============
export const webhookApi = {
list: () =>
apiClient.get<Webhook[]>('/webhooks').then((r) => r.data),
create: (data: WebhookCreate) =>
apiClient.post<Webhook>('/webhooks', data).then((r) => r.data),
delete: (id: number) =>
apiClient.delete(`/webhooks/${id}`).then((r) => r.data),
};
// ============ DAG Execution ============
export const dagApi = {
execute: (data: DagExecutePayload) =>
apiClient.post<DagExecuteResult>('/dag/execute', data).then((r) => r.data),
};