From 573aaf4ae70bbe86e5212df72f259f7cfb0f8080 Mon Sep 17 00:00:00 2001 From: Ishaan Jaffer Date: Sat, 10 Jan 2026 12:28:42 -0800 Subject: [PATCH] init TwoStepFileUploadConfig --- litellm/llms/base_llm/files/transformation.py | 11 ++++++++++- litellm/llms/manus/files/__init__.py | 2 ++ 2 files changed, 12 insertions(+), 1 deletion(-) create mode 100644 litellm/llms/manus/files/__init__.py diff --git a/litellm/llms/base_llm/files/transformation.py b/litellm/llms/base_llm/files/transformation.py index 35b76479cdc..a21193e5fba 100644 --- a/litellm/llms/base_llm/files/transformation.py +++ b/litellm/llms/base_llm/files/transformation.py @@ -4,6 +4,7 @@ from typing import TYPE_CHECKING, Any, Dict, List, Optional, Union import httpx from litellm.proxy._types import UserAPIKeyAuth +from litellm.types.files import TwoStepFileUploadConfig from litellm.types.llms.openai import ( AllMessageValues, CreateFileRequest, @@ -75,7 +76,15 @@ class BaseFilesConfig(BaseConfig): create_file_data: CreateFileRequest, optional_params: dict, litellm_params: dict, - ) -> Union[dict, str, bytes]: + ) -> Union[dict, str, bytes, "TwoStepFileUploadConfig"]: + """ + Transform OpenAI-style file creation request into provider-specific format. + + Returns: + - dict: For pre-signed single-step uploads (e.g., Bedrock S3) + - str/bytes: For traditional file uploads + - TwoStepFileUploadConfig: For two-step upload process (e.g., Manus, GCS) + """ pass @abstractmethod diff --git a/litellm/llms/manus/files/__init__.py b/litellm/llms/manus/files/__init__.py new file mode 100644 index 00000000000..66d23ca0340 --- /dev/null +++ b/litellm/llms/manus/files/__init__.py @@ -0,0 +1,2 @@ +# Manus Files API implementation +