feat(modelprovider): 补齐模型工作台聚合与转换分层
This commit is contained in:
20
frontend/src/api/__tests__/modelWorkspace.spec.ts
Normal file
20
frontend/src/api/__tests__/modelWorkspace.spec.ts
Normal file
@@ -0,0 +1,20 @@
|
||||
import { beforeEach, describe, expect, it, vi } from 'vitest';
|
||||
|
||||
import { getModelWorkspace } from '../modelWorkspace';
|
||||
import { get } from '../request';
|
||||
|
||||
vi.mock('../request', () => ({
|
||||
get: vi.fn(),
|
||||
}));
|
||||
|
||||
describe('model workspace api', () => {
|
||||
beforeEach(() => {
|
||||
vi.clearAllMocks();
|
||||
});
|
||||
|
||||
it('loads model workspace aggregate endpoint', () => {
|
||||
getModelWorkspace();
|
||||
|
||||
expect(get).toHaveBeenCalledWith('/model/workspace');
|
||||
});
|
||||
});
|
||||
28
frontend/src/api/modelWorkspace.ts
Normal file
28
frontend/src/api/modelWorkspace.ts
Normal file
@@ -0,0 +1,28 @@
|
||||
import { get } from './request';
|
||||
import type { ModelConfig, ModelProvider, ModelRouteRule } from './modelProvider';
|
||||
|
||||
export interface ModelWorkspaceFailure {
|
||||
requestId: string;
|
||||
status?: string | null;
|
||||
errorCode?: string | null;
|
||||
errorMessage?: string | null;
|
||||
}
|
||||
|
||||
export interface ModelWorkspace {
|
||||
providerCount: number;
|
||||
healthyProviderCount: number;
|
||||
unhealthyProviderCount: number;
|
||||
modelCount: number;
|
||||
enabledModelCount: number;
|
||||
routeRuleCount: number;
|
||||
enabledRouteRuleCount: number;
|
||||
recentFailedCallCount: number;
|
||||
providers: ModelProvider[];
|
||||
models: ModelConfig[];
|
||||
routes: ModelRouteRule[];
|
||||
failedCallSummaries: ModelWorkspaceFailure[];
|
||||
}
|
||||
|
||||
export function getModelWorkspace() {
|
||||
return get<ModelWorkspace>('/model/workspace');
|
||||
}
|
||||
Reference in New Issue
Block a user