92 lines
2.4 KiB
TypeScript
92 lines
2.4 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;
|
|
negativePromptOption: 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 | boolean;
|
|
isOwner?: number;
|
|
// true = 系统内置模型(选它需填 API Key 转用户模型);false/缺省 = 用户模型
|
|
systemModel?: boolean;
|
|
// 模型请求参数模板(选择模型后渲染为递归表单,与 DSL modelRequestParams 结构一致)
|
|
requestBodyMapping?: Record<string, any>;
|
|
[key: string]: any;
|
|
}
|
|
|
|
export function getWorkflowModelList(params?: {
|
|
pageNum: number;
|
|
pageSize: number;
|
|
modelName?: string;
|
|
isSameType?: boolean;
|
|
modelType?: string | number;
|
|
}) {
|
|
return request({
|
|
url: '/model-gateway/model/manage/listModelManage',
|
|
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 } }>;
|
|
}
|