import request from '/@/utils/request'; // ===== 节点库(V2 结构,workflow 专用;creation 继续使用 creation/index.ts 的旧结构)===== export interface NodeLibraryPresetOption { value?: unknown; field: string; label: string; type: string; required: boolean; options?: Array<{ key: string; value: string; config?: NodeLibraryPresetOption[] | null; }> | null; } export interface NodeLibraryItem { key: string; name: string; group: string; sort: number; desc?: string; batchExecOption: boolean; preToolOption: boolean; postToolOption: boolean; skillOption: boolean; promptOption: boolean; isSaveFileOption: boolean; formConfigOption: boolean; modelConfigOption: boolean; presetOption: NodeLibraryPresetOption[] | null; } export interface NodeLibraryGroup { group: { key: string; name: string }; nodes: NodeLibraryItem[]; } export function getNodeLibraryList() { return request({ url: '/ai-agent/node/library/list', method: 'get', }) as Promise<{ code: number; message: string; data: { groups: NodeLibraryGroup[] } }>; } // ===== 模型列表(不按类型过滤,显示全部)===== export interface WorkflowModelItem { id: string; modelName: string; modelType: number | string; baseUrl?: string; enabled?: number; isOwner?: number; [key: string]: any; } export function getWorkflowModelList(params?: { pageNum: number; pageSize: number; modelName?: string }) { return request({ url: '/model-gateway/model/listModel', method: 'get', params, }) as Promise<{ code: number; message: string; data: { list: WorkflowModelItem[]; total: number } }>; } // ===== 技能列表 ===== export interface WorkflowSkillItem { id: number; name: string; description: string; category: string; [key: string]: any; } export function getWorkflowSkillList(params?: { pageNum: number; pageSize: number; keyword?: string }) { return request({ url: '/ai-agent/skill/user/listUser', method: 'get', params, }) as Promise<{ code: number; message: string; data: { list: WorkflowSkillItem[]; total: number } }>; }