Skip to content

Commit 000532b

Browse files
authored
feat: Support system workflow tools (#5005)
1 parent 2f61a3c commit 000532b

File tree

2 files changed

+68
-18
lines changed

2 files changed

+68
-18
lines changed

apps/tools/serializers/tool_version.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -96,7 +96,7 @@ def edit(self, instance: Dict, with_valid=True):
9696
ToolWorkflowVersionEditSerializer(data=instance).is_valid(raise_exception=True)
9797
tool_version = QuerySet(ToolWorkflowVersion).filter(tool_id=self.data.get('tool_id'),
9898
id=self.data.get(
99-
'knowledge_version_id')).first()
99+
'tool_version_id')).first()
100100
if tool_version is not None:
101101
name = instance.get('name', None)
102102
if name is not None and len(name) > 0:

ui/src/api/system-resource-management/tool.ts

Lines changed: 67 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -65,7 +65,6 @@ const getToolById: (tool_id: string, loading?: Ref<boolean>) => Promise<Result<a
6565
return get(`${prefix}/${tool_id}`, undefined, loading)
6666
}
6767

68-
6968
/**
7069
* 修改工具
7170
* @param 参数
@@ -86,7 +85,6 @@ const postToolTestConnection: (data: toolData, loading?: Ref<boolean>) => Promis
8685
return post(`${prefix}/test_connection`, data, undefined, loading)
8786
}
8887

89-
9088
/**
9189
* 删除工具
9290
* @param 参数 tool_id
@@ -129,23 +127,15 @@ const postPylint: (code: string, loading?: Ref<boolean>) => Promise<Result<any>>
129127
return post(`${prefix}/pylint`, { code }, {}, loading)
130128
}
131129

132-
const pageToolRecord = (
133-
tool_id: string,
134-
page: pageRequest,
135-
param: any,
136-
loading?: Ref<boolean>,
137-
) => {
130+
const pageToolRecord = (tool_id: string, page: pageRequest, param: any, loading?: Ref<boolean>) => {
138131
return get(
139132
`${prefix}/${tool_id}/tool_record/${page.current_page}/${page.page_size}`,
140133
param,
141134
loading,
142135
)
143136
}
144137

145-
const getToolRecordDetail = (
146-
tool_id: string,
147-
record_id: string
148-
) => {
138+
const getToolRecordDetail = (tool_id: string, record_id: string) => {
149139
return get(`${prefix}/${tool_id}/tool_record/${record_id}`)
150140
}
151141

@@ -156,16 +146,71 @@ const uploadSkillFile: (data: toolData, loading?: Ref<boolean>) => Promise<Resul
156146
return put(`${prefix}/upload_skill_file`, data, undefined, loading)
157147
}
158148

159-
const generateCode: (data:any) => Promise<Result<any>> = (
149+
const generateCode: (data: any) => Promise<Result<any>> = (data: any) => {
150+
const p = (window.MaxKB?.prefix ? window.MaxKB?.prefix : '/admin') + '/api'
151+
return postStream(`${p}${prefix}/generate_code`, data)
152+
}
153+
154+
/**
155+
* 获取工具工作流版本列表
156+
* @param tool_id
157+
* @param loading
158+
* @returns
159+
*/
160+
const listToolWorkflowVersion: (tool_id: string, loading?: Ref<boolean>) => Promise<Result<any>> = (
161+
tool_id: string,
162+
loading,
163+
) => {
164+
return get(`${prefix}/${tool_id}/tool_version`, {}, loading)
165+
}
166+
/**
167+
*
168+
* @param tool_id 工具id
169+
* @param tool_version_id 工具版本id
170+
* @param data 数据
171+
* @param loading
172+
* @returns
173+
*/
174+
const updateToolWorkflowVersion: (
175+
tool_id: string,
176+
tool_version_id: string,
160177
data: any,
178+
loading?: Ref<boolean>,
179+
) => Promise<Result<any>> = (tool_id: string, tool_version_id, data, loading) => {
180+
return put(`${prefix}/${tool_id}/tool_version/${tool_version_id}`, data, {}, loading)
181+
}
182+
const publish: (tool_id: string, loading?: Ref<boolean>) => Promise<Result<any>> = (
183+
tool_id: string,
184+
loading,
161185
) => {
186+
return put(`${prefix}/${tool_id}/publish`, {}, {}, loading)
187+
}
188+
189+
/**
190+
* 调试工作流
191+
* @param 参数
192+
* chat_id: string
193+
* data
194+
*/
195+
const debugToolWorkflow: (tool_id: string, data: any) => Promise<any> = (tool_id, data) => {
162196
const p = (window.MaxKB?.prefix ? window.MaxKB?.prefix : '/admin') + '/api'
163-
return postStream(
164-
`${p}${prefix}/generate_code`,
165-
data,
166-
)
197+
return postStream(`${p}${prefix}/${tool_id}/debug`, data)
167198
}
168199

200+
/**
201+
* 保存工具工作流
202+
* @param tool_id
203+
* @param data
204+
* @param loading
205+
* @returns
206+
*/
207+
const putToolWorkflow: (
208+
tool_id: string,
209+
data: any,
210+
loading?: Ref<boolean>,
211+
) => Promise<Result<any>> = (tool_id, data, loading) => {
212+
return put(`${prefix}/${tool_id}/workflow`, data, undefined, loading)
213+
}
169214

170215
export default {
171216
getToolListPage,
@@ -183,4 +228,9 @@ export default {
183228
getToolRecordDetail,
184229
uploadSkillFile,
185230
generateCode,
231+
listToolWorkflowVersion,
232+
updateToolWorkflowVersion,
233+
debugToolWorkflow,
234+
publish,
235+
putToolWorkflow,
186236
}

0 commit comments

Comments
 (0)