Merge branch 'feat/collaboration' into deploy/dev

This commit is contained in:
hjlarry
2025-10-13 10:16:39 +08:00
239 changed files with 8164 additions and 4242 deletions

View File

@ -186,13 +186,13 @@ class App(Base):
if len(keys) >= 4:
provider_type = tool.get("provider_type", "")
provider_id = tool.get("provider_id", "")
if provider_type == ToolProviderType.API.value:
if provider_type == ToolProviderType.API:
try:
uuid.UUID(provider_id)
except Exception:
continue
api_provider_ids.append(provider_id)
if provider_type == ToolProviderType.BUILT_IN.value:
if provider_type == ToolProviderType.BUILT_IN:
try:
# check if it's hardcoded
try:
@ -251,23 +251,23 @@ class App(Base):
provider_type = tool.get("provider_type", "")
provider_id = tool.get("provider_id", "")
if provider_type == ToolProviderType.API.value:
if provider_type == ToolProviderType.API:
if uuid.UUID(provider_id) not in existing_api_providers:
deleted_tools.append(
{
"type": ToolProviderType.API.value,
"type": ToolProviderType.API,
"tool_name": tool["tool_name"],
"provider_id": provider_id,
}
)
if provider_type == ToolProviderType.BUILT_IN.value:
if provider_type == ToolProviderType.BUILT_IN:
generic_provider_id = GenericProviderID(provider_id)
if not existing_builtin_providers[generic_provider_id.provider_name]:
deleted_tools.append(
{
"type": ToolProviderType.BUILT_IN.value,
"type": ToolProviderType.BUILT_IN,
"tool_name": tool["tool_name"],
"provider_id": provider_id, # use the original one
}
@ -1212,7 +1212,7 @@ class Message(Base):
files: list[File] = []
for message_file in message_files:
if message_file.transfer_method == FileTransferMethod.LOCAL_FILE.value:
if message_file.transfer_method == FileTransferMethod.LOCAL_FILE:
if message_file.upload_file_id is None:
raise ValueError(f"MessageFile {message_file.id} is a local file but has no upload_file_id")
file = file_factory.build_from_mapping(
@ -1224,7 +1224,7 @@ class Message(Base):
},
tenant_id=current_app.tenant_id,
)
elif message_file.transfer_method == FileTransferMethod.REMOTE_URL.value:
elif message_file.transfer_method == FileTransferMethod.REMOTE_URL:
if message_file.url is None:
raise ValueError(f"MessageFile {message_file.id} is a remote url but has no url")
file = file_factory.build_from_mapping(
@ -1237,7 +1237,7 @@ class Message(Base):
},
tenant_id=current_app.tenant_id,
)
elif message_file.transfer_method == FileTransferMethod.TOOL_FILE.value:
elif message_file.transfer_method == FileTransferMethod.TOOL_FILE:
if message_file.upload_file_id is None:
assert message_file.url is not None
message_file.upload_file_id = message_file.url.split("/")[-1].split(".")[0]