mirror of
https://git.mirrors.martin98.com/https://github.com/langgenius/dify.git
synced 2025-08-14 03:55:52 +08:00
fix(workflow_tool): enable File parameter support after workflow is published as a tool (#13175)
This commit is contained in:
parent
6622c7f98d
commit
cf36745770
@ -195,14 +195,14 @@ class WorkflowTool(Tool):
|
|||||||
if isinstance(value, list):
|
if isinstance(value, list):
|
||||||
for item in value:
|
for item in value:
|
||||||
if isinstance(item, dict) and item.get("dify_model_identity") == FILE_MODEL_IDENTITY:
|
if isinstance(item, dict) and item.get("dify_model_identity") == FILE_MODEL_IDENTITY:
|
||||||
item["tool_file_id"] = item.get("related_id")
|
item = self._update_file_mapping(item)
|
||||||
file = build_from_mapping(
|
file = build_from_mapping(
|
||||||
mapping=item,
|
mapping=item,
|
||||||
tenant_id=str(cast(Tool.Runtime, self.runtime).tenant_id),
|
tenant_id=str(cast(Tool.Runtime, self.runtime).tenant_id),
|
||||||
)
|
)
|
||||||
files.append(file)
|
files.append(file)
|
||||||
elif isinstance(value, dict) and value.get("dify_model_identity") == FILE_MODEL_IDENTITY:
|
elif isinstance(value, dict) and value.get("dify_model_identity") == FILE_MODEL_IDENTITY:
|
||||||
value["tool_file_id"] = value.get("related_id")
|
value = self._update_file_mapping(value)
|
||||||
file = build_from_mapping(
|
file = build_from_mapping(
|
||||||
mapping=value,
|
mapping=value,
|
||||||
tenant_id=str(cast(Tool.Runtime, self.runtime).tenant_id),
|
tenant_id=str(cast(Tool.Runtime, self.runtime).tenant_id),
|
||||||
@ -211,3 +211,11 @@ class WorkflowTool(Tool):
|
|||||||
|
|
||||||
result[key] = value
|
result[key] = value
|
||||||
return result, files
|
return result, files
|
||||||
|
|
||||||
|
def _update_file_mapping(self, file_dict: dict) -> dict:
|
||||||
|
transfer_method = FileTransferMethod.value_of(file_dict.get("transfer_method"))
|
||||||
|
if transfer_method == FileTransferMethod.TOOL_FILE:
|
||||||
|
file_dict["tool_file_id"] = file_dict.get("related_id")
|
||||||
|
elif transfer_method == FileTransferMethod.LOCAL_FILE:
|
||||||
|
file_dict["upload_file_id"] = file_dict.get("related_id")
|
||||||
|
return file_dict
|
||||||
|
Loading…
x
Reference in New Issue
Block a user