converter.py 1011 B

123456789101112131415161718192021
  1. from typing import Any
  2. from core.file.models import File
  3. from core.tools.entities.tool_entities import ToolSelector
  4. def convert_parameters_to_plugin_format(parameters: dict[str, Any]) -> dict[str, Any]:
  5. for parameter_name, parameter in parameters.items():
  6. if isinstance(parameter, File):
  7. parameters[parameter_name] = parameter.to_plugin_parameter()
  8. elif isinstance(parameter, list) and all(isinstance(p, File) for p in parameter):
  9. parameters[parameter_name] = []
  10. for p in parameter:
  11. parameters[parameter_name].append(p.to_plugin_parameter())
  12. elif isinstance(parameter, ToolSelector):
  13. parameters[parameter_name] = parameter.to_plugin_parameter()
  14. elif isinstance(parameter, list) and all(isinstance(p, ToolSelector) for p in parameter):
  15. parameters[parameter_name] = []
  16. for p in parameter:
  17. parameters[parameter_name].append(p.to_plugin_parameter())
  18. return parameters