|
20 | 20 | from django.db.models import QuerySet |
21 | 21 | from django.utils.translation import gettext as _ |
22 | 22 |
|
| 23 | +from application.flow.common import WorkflowMode |
23 | 24 | from application.flow.i_step_node import NodeResult |
24 | 25 | from application.flow.step_node.tool_lib_node.i_tool_lib_node import IToolLibNode |
25 | 26 | from common.database_model_manage.database_model_manage import DatabaseModelManage |
@@ -260,14 +261,23 @@ def tool_exec_record(self, tool_lib, all_params): |
260 | 261 | } |
261 | 262 | else: |
262 | 263 | filtered_args = all_params |
| 264 | + if [WorkflowMode.KNOWLEDGE, WorkflowMode.KNOWLEDGE_LOOP].__contains__( |
| 265 | + self.workflow_manage.flow.workflow_mode): |
| 266 | + source_id = self.workflow_manage.params.get('knowledge_id') |
| 267 | + source_type = ToolTaskTypeChoices.KNOWLEDGE.value |
| 268 | + elif [WorkflowMode.TOOL, WorkflowMode.TOOL_LOOP].__contains__(self.workflow_manage.flow.workflow_mode): |
| 269 | + source_id = self.workflow_manage.params.get('application_id') |
| 270 | + source_type = ToolTaskTypeChoices.APPLICATION.value |
| 271 | + else: |
| 272 | + source_id = self.workflow_manage.params.get('tool_id') |
| 273 | + source_type = ToolTaskTypeChoices.TOOL.value |
| 274 | + |
263 | 275 | ToolRecord( |
264 | 276 | id=task_record_id, |
265 | 277 | workspace_id=tool_lib.workspace_id, |
266 | 278 | tool_id=tool_lib.id, |
267 | | - source_type=ToolTaskTypeChoices.KNOWLEDGE.value if self.workflow_manage.params.get( |
268 | | - 'knowledge_id') else ToolTaskTypeChoices.APPLICATION.value, |
269 | | - source_id=self.workflow_manage.params.get('knowledge_id') or self.workflow_manage.params.get( |
270 | | - 'application_id'), |
| 279 | + source_type=source_type, |
| 280 | + source_id=source_id, |
271 | 281 | meta={'input': filtered_args, 'output': {}}, |
272 | 282 | state=State.STARTED |
273 | 283 | ).save() |
|
0 commit comments