diff --git a/api/core/app/apps/advanced_chat/app_generator.py b/api/core/app/apps/advanced_chat/app_generator.py index 0bf1b8f702..749175534b 100644 --- a/api/core/app/apps/advanced_chat/app_generator.py +++ b/api/core/app/apps/advanced_chat/app_generator.py @@ -162,7 +162,7 @@ class AdvancedChatAppGenerator(MessageBasedAppGenerator): def single_iteration_generate( self, app_model: App, workflow: Workflow, node_id: str, user: Account | EndUser, args: dict, stream: bool = True - ) -> dict[str, Any] | Generator[str, Any, None]: + ) -> dict[str, Any] | Generator[str | dict[str, Any], Any, None]: """ Generate App response. @@ -218,7 +218,7 @@ class AdvancedChatAppGenerator(MessageBasedAppGenerator): application_generate_entity: AdvancedChatAppGenerateEntity, conversation: Optional[Conversation] = None, stream: bool = True, - ) -> dict[str, Any] | Generator[str, Any, None]: + ) -> dict[str, Any] | Generator[str | dict[str, Any], Any, None]: """ Generate App response. diff --git a/api/core/plugin/backwards_invocation/base.py b/api/core/plugin/backwards_invocation/base.py index 1ce126b893..a945e6ca05 100644 --- a/api/core/plugin/backwards_invocation/base.py +++ b/api/core/plugin/backwards_invocation/base.py @@ -1,4 +1,3 @@ -import json from collections.abc import Generator from typing import Generic, Optional, TypeVar @@ -19,10 +18,7 @@ class BaseBackwardsInvocation: error_message = BaseBackwardsInvocationResponse(error=str(e)).model_dump_json() yield f"{error_message}\n\n".encode() else: - if isinstance(response, BaseModel): - yield response.model_dump_json().encode() + b"\n\n" - else: - yield json.dumps(response).encode() + b"\n\n" + yield BaseBackwardsInvocationResponse(data=response).model_dump_json().encode() + b"\n\n" T = TypeVar("T", bound=dict | str | bool | int | BaseModel)