1+ import json
12import logging
23
34from flask_restful import Resource , fields , marshal_with , reqparse # type: ignore
1011from controllers .service_api .wraps import FetchUserArg , WhereisUserArg , validate_app_token
1112from core .app .entities .app_invoke_entities import InvokeFrom
1213from fields .conversation_fields import message_file_fields
13- from fields .message_fields import agent_thought_fields , feedback_fields , retriever_resource_fields
14+ from fields .message_fields import agent_thought_fields , feedback_fields
1415from fields .raws import FilesContainedField
1516from libs .helper import TimestampField , uuid_value
1617from models .model import App , AppMode , EndUser
1920
2021
2122class MessageListApi (Resource ):
23+ def get_retriever_resources (self ):
24+ try :
25+ if self .message_metadata :
26+ return json .loads (self .message_metadata ).get ("retriever_resources" , [])
27+ return []
28+ except (json .JSONDecodeError , TypeError ):
29+ return []
30+
2231 message_fields = {
2332 "id" : fields .String ,
2433 "conversation_id" : fields .String ,
@@ -28,7 +37,7 @@ class MessageListApi(Resource):
2837 "answer" : fields .String (attribute = "re_sign_file_url_answer" ),
2938 "message_files" : fields .List (fields .Nested (message_file_fields )),
3039 "feedback" : fields .Nested (feedback_fields , attribute = "user_feedback" , allow_null = True ),
31- "retriever_resources" : fields . List ( fields . Nested ( retriever_resource_fields )) ,
40+ "retriever_resources" : get_retriever_resources ,
3241 "created_at" : TimestampField ,
3342 "agent_thoughts" : fields .List (fields .Nested (agent_thought_fields )),
3443 "status" : fields .String ,
0 commit comments