| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586 | from flask_restful import fieldsfrom fields.conversation_fields import message_file_fieldsfrom libs.helper import TimestampFieldfeedback_fields = {    'rating': fields.String}retriever_resource_fields = {    'id': fields.String,    'message_id': fields.String,    'position': fields.Integer,    'dataset_id': fields.String,    'dataset_name': fields.String,    'document_id': fields.String,    'document_name': fields.String,    'data_source_type': fields.String,    'segment_id': fields.String,    'score': fields.Float,    'hit_count': fields.Integer,    'word_count': fields.Integer,    'segment_position': fields.Integer,    'index_node_hash': fields.String,    'content': fields.String,    'created_at': TimestampField}feedback_fields = {    'rating': fields.String}agent_thought_fields = {    'id': fields.String,    'chain_id': fields.String,    'message_id': fields.String,    'position': fields.Integer,    'thought': fields.String,    'tool': fields.String,    'tool_labels': fields.Raw,    'tool_input': fields.String,    'created_at': TimestampField,    'observation': fields.String,    'files': fields.List(fields.String)}retriever_resource_fields = {    'id': fields.String,    'message_id': fields.String,    'position': fields.Integer,    'dataset_id': fields.String,    'dataset_name': fields.String,    'document_id': fields.String,    'document_name': fields.String,    'data_source_type': fields.String,    'segment_id': fields.String,    'score': fields.Float,    'hit_count': fields.Integer,    'word_count': fields.Integer,    'segment_position': fields.Integer,    'index_node_hash': fields.String,    'content': fields.String,    'created_at': TimestampField}message_fields = {    'id': fields.String,    'conversation_id': fields.String,    'inputs': fields.Raw,    'query': fields.String,    'answer': fields.String(attribute='re_sign_file_url_answer'),    'feedback': fields.Nested(feedback_fields, attribute='user_feedback', allow_null=True),    'retriever_resources': fields.List(fields.Nested(retriever_resource_fields)),    'created_at': TimestampField,    'agent_thoughts': fields.List(fields.Nested(agent_thought_fields)),    'message_files': fields.List(fields.Nested(message_file_fields), attribute='files'),    'status': fields.String,    'error': fields.String,}message_infinite_scroll_pagination_fields = {    'limit': fields.Integer,    'has_more': fields.Boolean,    'data': fields.List(fields.Nested(message_fields))}
 |