Files
admin-ui/src/api/settings/workflow/index.ts
T

81 lines
2.0 KiB
TypeScript

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 } }>;
}