| 
									
										
										
										
											2025-05-06 11:58:49 +08:00
										 |  |  | from flask_restful import fields | 
					
						
							| 
									
										
										
										
											2024-02-06 13:21:13 +08:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2024-08-28 09:47:30 +09:00
										 |  |  | from fields.workflow_fields import workflow_partial_fields | 
					
						
							| 
									
										
										
										
											2024-08-19 09:16:33 +08:00
										 |  |  | from libs.helper import AppIconUrlField, TimestampField | 
					
						
							| 
									
										
										
										
											2023-09-27 16:06:32 +08:00
										 |  |  | 
 | 
					
						
							|  |  |  | app_detail_kernel_fields = { | 
					
						
							| 
									
										
										
										
											2024-08-15 12:54:05 +08:00
										 |  |  |     "id": fields.String, | 
					
						
							|  |  |  |     "name": fields.String, | 
					
						
							|  |  |  |     "description": fields.String, | 
					
						
							|  |  |  |     "mode": fields.String(attribute="mode_compatible_with_agent"), | 
					
						
							| 
									
										
										
										
											2024-08-19 09:16:33 +08:00
										 |  |  |     "icon_type": fields.String, | 
					
						
							| 
									
										
										
										
											2024-08-15 12:54:05 +08:00
										 |  |  |     "icon": fields.String, | 
					
						
							|  |  |  |     "icon_background": fields.String, | 
					
						
							| 
									
										
										
										
											2024-08-19 09:16:33 +08:00
										 |  |  |     "icon_url": AppIconUrlField, | 
					
						
							| 
									
										
										
										
											2023-09-27 16:06:32 +08:00
										 |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | related_app_list = { | 
					
						
							| 
									
										
										
										
											2024-08-15 12:54:05 +08:00
										 |  |  |     "data": fields.List(fields.Nested(app_detail_kernel_fields)), | 
					
						
							|  |  |  |     "total": fields.Integer, | 
					
						
							| 
									
										
										
										
											2023-09-27 16:06:32 +08:00
										 |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | model_config_fields = { | 
					
						
							| 
									
										
										
										
											2024-08-15 12:54:05 +08:00
										 |  |  |     "opening_statement": fields.String, | 
					
						
							|  |  |  |     "suggested_questions": fields.Raw(attribute="suggested_questions_list"), | 
					
						
							|  |  |  |     "suggested_questions_after_answer": fields.Raw(attribute="suggested_questions_after_answer_dict"), | 
					
						
							|  |  |  |     "speech_to_text": fields.Raw(attribute="speech_to_text_dict"), | 
					
						
							|  |  |  |     "text_to_speech": fields.Raw(attribute="text_to_speech_dict"), | 
					
						
							|  |  |  |     "retriever_resource": fields.Raw(attribute="retriever_resource_dict"), | 
					
						
							|  |  |  |     "annotation_reply": fields.Raw(attribute="annotation_reply_dict"), | 
					
						
							|  |  |  |     "more_like_this": fields.Raw(attribute="more_like_this_dict"), | 
					
						
							|  |  |  |     "sensitive_word_avoidance": fields.Raw(attribute="sensitive_word_avoidance_dict"), | 
					
						
							|  |  |  |     "external_data_tools": fields.Raw(attribute="external_data_tools_list"), | 
					
						
							|  |  |  |     "model": fields.Raw(attribute="model_dict"), | 
					
						
							|  |  |  |     "user_input_form": fields.Raw(attribute="user_input_form_list"), | 
					
						
							|  |  |  |     "dataset_query_variable": fields.String, | 
					
						
							|  |  |  |     "pre_prompt": fields.String, | 
					
						
							|  |  |  |     "agent_mode": fields.Raw(attribute="agent_mode_dict"), | 
					
						
							|  |  |  |     "prompt_type": fields.String, | 
					
						
							|  |  |  |     "chat_prompt_config": fields.Raw(attribute="chat_prompt_config_dict"), | 
					
						
							|  |  |  |     "completion_prompt_config": fields.Raw(attribute="completion_prompt_config_dict"), | 
					
						
							|  |  |  |     "dataset_configs": fields.Raw(attribute="dataset_configs_dict"), | 
					
						
							|  |  |  |     "file_upload": fields.Raw(attribute="file_upload_dict"), | 
					
						
							| 
									
										
										
										
											2024-08-28 09:47:30 +09:00
										 |  |  |     "created_by": fields.String, | 
					
						
							| 
									
										
										
										
											2024-08-15 12:54:05 +08:00
										 |  |  |     "created_at": TimestampField, | 
					
						
							| 
									
										
										
										
											2024-08-28 09:47:30 +09:00
										 |  |  |     "updated_by": fields.String, | 
					
						
							|  |  |  |     "updated_at": TimestampField, | 
					
						
							| 
									
										
										
										
											2023-09-27 16:06:32 +08:00
										 |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | app_detail_fields = { | 
					
						
							| 
									
										
										
										
											2024-08-15 12:54:05 +08:00
										 |  |  |     "id": fields.String, | 
					
						
							|  |  |  |     "name": fields.String, | 
					
						
							|  |  |  |     "description": fields.String, | 
					
						
							|  |  |  |     "mode": fields.String(attribute="mode_compatible_with_agent"), | 
					
						
							|  |  |  |     "icon": fields.String, | 
					
						
							|  |  |  |     "icon_background": fields.String, | 
					
						
							|  |  |  |     "enable_site": fields.Boolean, | 
					
						
							|  |  |  |     "enable_api": fields.Boolean, | 
					
						
							|  |  |  |     "model_config": fields.Nested(model_config_fields, attribute="app_model_config", allow_null=True), | 
					
						
							| 
									
										
										
										
											2024-08-28 09:47:30 +09:00
										 |  |  |     "workflow": fields.Nested(workflow_partial_fields, allow_null=True), | 
					
						
							| 
									
										
										
										
											2024-08-15 12:54:05 +08:00
										 |  |  |     "tracing": fields.Raw, | 
					
						
							| 
									
										
										
										
											2024-09-02 21:00:41 +09:00
										 |  |  |     "use_icon_as_answer_icon": fields.Boolean, | 
					
						
							| 
									
										
										
										
											2024-08-28 09:47:30 +09:00
										 |  |  |     "created_by": fields.String, | 
					
						
							| 
									
										
										
										
											2024-08-15 12:54:05 +08:00
										 |  |  |     "created_at": TimestampField, | 
					
						
							| 
									
										
										
										
											2024-08-28 09:47:30 +09:00
										 |  |  |     "updated_by": fields.String, | 
					
						
							|  |  |  |     "updated_at": TimestampField, | 
					
						
							| 
									
										
										
										
											2025-05-20 12:07:50 +08:00
										 |  |  |     "access_mode": fields.String, | 
					
						
							| 
									
										
										
										
											2023-09-27 16:06:32 +08:00
										 |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | prompt_config_fields = { | 
					
						
							| 
									
										
										
										
											2024-08-15 12:54:05 +08:00
										 |  |  |     "prompt_template": fields.String, | 
					
						
							| 
									
										
										
										
											2023-09-27 16:06:32 +08:00
										 |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | model_config_partial_fields = { | 
					
						
							| 
									
										
										
										
											2024-08-15 12:54:05 +08:00
										 |  |  |     "model": fields.Raw(attribute="model_dict"), | 
					
						
							|  |  |  |     "pre_prompt": fields.String, | 
					
						
							| 
									
										
										
										
											2024-08-28 09:47:30 +09:00
										 |  |  |     "created_by": fields.String, | 
					
						
							|  |  |  |     "created_at": TimestampField, | 
					
						
							|  |  |  |     "updated_by": fields.String, | 
					
						
							|  |  |  |     "updated_at": TimestampField, | 
					
						
							| 
									
										
										
										
											2023-09-27 16:06:32 +08:00
										 |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2024-08-15 12:54:05 +08:00
										 |  |  | tag_fields = {"id": fields.String, "name": fields.String, "type": fields.String} | 
					
						
							| 
									
										
										
										
											2024-04-24 15:02:29 +08:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2023-09-27 16:06:32 +08:00
										 |  |  | app_partial_fields = { | 
					
						
							| 
									
										
										
										
											2024-08-15 12:54:05 +08:00
										 |  |  |     "id": fields.String, | 
					
						
							|  |  |  |     "name": fields.String, | 
					
						
							|  |  |  |     "max_active_requests": fields.Raw(), | 
					
						
							|  |  |  |     "description": fields.String(attribute="desc_or_prompt"), | 
					
						
							|  |  |  |     "mode": fields.String(attribute="mode_compatible_with_agent"), | 
					
						
							| 
									
										
										
										
											2024-08-19 09:16:33 +08:00
										 |  |  |     "icon_type": fields.String, | 
					
						
							| 
									
										
										
										
											2024-08-15 12:54:05 +08:00
										 |  |  |     "icon": fields.String, | 
					
						
							|  |  |  |     "icon_background": fields.String, | 
					
						
							| 
									
										
										
										
											2024-08-19 09:16:33 +08:00
										 |  |  |     "icon_url": AppIconUrlField, | 
					
						
							| 
									
										
										
										
											2024-08-15 12:54:05 +08:00
										 |  |  |     "model_config": fields.Nested(model_config_partial_fields, attribute="app_model_config", allow_null=True), | 
					
						
							| 
									
										
										
										
											2024-08-28 09:47:30 +09:00
										 |  |  |     "workflow": fields.Nested(workflow_partial_fields, allow_null=True), | 
					
						
							| 
									
										
										
										
											2024-09-02 21:00:41 +09:00
										 |  |  |     "use_icon_as_answer_icon": fields.Boolean, | 
					
						
							| 
									
										
										
										
											2024-08-28 09:47:30 +09:00
										 |  |  |     "created_by": fields.String, | 
					
						
							| 
									
										
										
										
											2024-08-15 12:54:05 +08:00
										 |  |  |     "created_at": TimestampField, | 
					
						
							| 
									
										
										
										
											2024-08-28 09:47:30 +09:00
										 |  |  |     "updated_by": fields.String, | 
					
						
							|  |  |  |     "updated_at": TimestampField, | 
					
						
							| 
									
										
										
										
											2024-08-15 12:54:05 +08:00
										 |  |  |     "tags": fields.List(fields.Nested(tag_fields)), | 
					
						
							| 
									
										
										
										
											2025-05-20 12:07:50 +08:00
										 |  |  |     "access_mode": fields.String, | 
					
						
							| 
									
										
										
										
											2023-09-27 16:06:32 +08:00
										 |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2024-04-24 15:02:29 +08:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2023-09-27 16:06:32 +08:00
										 |  |  | app_pagination_fields = { | 
					
						
							| 
									
										
										
										
											2024-08-15 12:54:05 +08:00
										 |  |  |     "page": fields.Integer, | 
					
						
							|  |  |  |     "limit": fields.Integer(attribute="per_page"), | 
					
						
							|  |  |  |     "total": fields.Integer, | 
					
						
							|  |  |  |     "has_more": fields.Boolean(attribute="has_next"), | 
					
						
							|  |  |  |     "data": fields.List(fields.Nested(app_partial_fields), attribute="items"), | 
					
						
							| 
									
										
										
										
											2023-09-27 16:06:32 +08:00
										 |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | template_fields = { | 
					
						
							| 
									
										
										
										
											2024-08-15 12:54:05 +08:00
										 |  |  |     "name": fields.String, | 
					
						
							|  |  |  |     "icon": fields.String, | 
					
						
							|  |  |  |     "icon_background": fields.String, | 
					
						
							|  |  |  |     "description": fields.String, | 
					
						
							|  |  |  |     "mode": fields.String, | 
					
						
							|  |  |  |     "model_config": fields.Nested(model_config_fields), | 
					
						
							| 
									
										
										
										
											2023-09-27 16:06:32 +08:00
										 |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | template_list_fields = { | 
					
						
							| 
									
										
										
										
											2024-08-15 12:54:05 +08:00
										 |  |  |     "data": fields.List(fields.Nested(template_fields)), | 
					
						
							| 
									
										
										
										
											2023-09-27 16:06:32 +08:00
										 |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | site_fields = { | 
					
						
							| 
									
										
										
										
											2024-08-15 12:54:05 +08:00
										 |  |  |     "access_token": fields.String(attribute="code"), | 
					
						
							|  |  |  |     "code": fields.String, | 
					
						
							|  |  |  |     "title": fields.String, | 
					
						
							| 
									
										
										
										
											2024-08-19 09:16:33 +08:00
										 |  |  |     "icon_type": fields.String, | 
					
						
							| 
									
										
										
										
											2024-08-15 12:54:05 +08:00
										 |  |  |     "icon": fields.String, | 
					
						
							|  |  |  |     "icon_background": fields.String, | 
					
						
							| 
									
										
										
										
											2024-08-19 09:16:33 +08:00
										 |  |  |     "icon_url": AppIconUrlField, | 
					
						
							| 
									
										
										
										
											2024-08-15 12:54:05 +08:00
										 |  |  |     "description": fields.String, | 
					
						
							|  |  |  |     "default_language": fields.String, | 
					
						
							|  |  |  |     "chat_color_theme": fields.String, | 
					
						
							|  |  |  |     "chat_color_theme_inverted": fields.Boolean, | 
					
						
							|  |  |  |     "customize_domain": fields.String, | 
					
						
							|  |  |  |     "copyright": fields.String, | 
					
						
							|  |  |  |     "privacy_policy": fields.String, | 
					
						
							|  |  |  |     "custom_disclaimer": fields.String, | 
					
						
							|  |  |  |     "customize_token_strategy": fields.String, | 
					
						
							|  |  |  |     "prompt_public": fields.Boolean, | 
					
						
							|  |  |  |     "app_base_url": fields.String, | 
					
						
							|  |  |  |     "show_workflow_steps": fields.Boolean, | 
					
						
							| 
									
										
										
										
											2024-09-02 21:00:41 +09:00
										 |  |  |     "use_icon_as_answer_icon": fields.Boolean, | 
					
						
							| 
									
										
										
										
											2024-08-28 09:47:30 +09:00
										 |  |  |     "created_by": fields.String, | 
					
						
							|  |  |  |     "created_at": TimestampField, | 
					
						
							|  |  |  |     "updated_by": fields.String, | 
					
						
							|  |  |  |     "updated_at": TimestampField, | 
					
						
							| 
									
										
										
										
											2023-09-27 16:06:32 +08:00
										 |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2025-02-17 17:05:13 +08:00
										 |  |  | deleted_tool_fields = { | 
					
						
							|  |  |  |     "type": fields.String, | 
					
						
							|  |  |  |     "tool_name": fields.String, | 
					
						
							|  |  |  |     "provider_id": fields.String, | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2023-09-27 16:06:32 +08:00
										 |  |  | app_detail_fields_with_site = { | 
					
						
							| 
									
										
										
										
											2024-08-15 12:54:05 +08:00
										 |  |  |     "id": fields.String, | 
					
						
							|  |  |  |     "name": fields.String, | 
					
						
							|  |  |  |     "description": fields.String, | 
					
						
							|  |  |  |     "mode": fields.String(attribute="mode_compatible_with_agent"), | 
					
						
							| 
									
										
										
										
											2024-08-19 09:16:33 +08:00
										 |  |  |     "icon_type": fields.String, | 
					
						
							| 
									
										
										
										
											2024-08-15 12:54:05 +08:00
										 |  |  |     "icon": fields.String, | 
					
						
							|  |  |  |     "icon_background": fields.String, | 
					
						
							| 
									
										
										
										
											2024-08-19 09:16:33 +08:00
										 |  |  |     "icon_url": AppIconUrlField, | 
					
						
							| 
									
										
										
										
											2024-08-15 12:54:05 +08:00
										 |  |  |     "enable_site": fields.Boolean, | 
					
						
							|  |  |  |     "enable_api": fields.Boolean, | 
					
						
							|  |  |  |     "model_config": fields.Nested(model_config_fields, attribute="app_model_config", allow_null=True), | 
					
						
							| 
									
										
										
										
											2024-08-28 09:47:30 +09:00
										 |  |  |     "workflow": fields.Nested(workflow_partial_fields, allow_null=True), | 
					
						
							| 
									
										
										
										
											2024-08-15 12:54:05 +08:00
										 |  |  |     "site": fields.Nested(site_fields), | 
					
						
							|  |  |  |     "api_base_url": fields.String, | 
					
						
							| 
									
										
										
										
											2024-09-02 21:00:41 +09:00
										 |  |  |     "use_icon_as_answer_icon": fields.Boolean, | 
					
						
							| 
									
										
										
										
											2024-08-28 09:47:30 +09:00
										 |  |  |     "created_by": fields.String, | 
					
						
							| 
									
										
										
										
											2024-08-15 12:54:05 +08:00
										 |  |  |     "created_at": TimestampField, | 
					
						
							| 
									
										
										
										
											2024-08-28 09:47:30 +09:00
										 |  |  |     "updated_by": fields.String, | 
					
						
							|  |  |  |     "updated_at": TimestampField, | 
					
						
							| 
									
										
										
										
											2025-02-17 17:05:13 +08:00
										 |  |  |     "deleted_tools": fields.List(fields.Nested(deleted_tool_fields)), | 
					
						
							| 
									
										
										
										
											2025-05-20 12:07:50 +08:00
										 |  |  |     "access_mode": fields.String, | 
					
						
							| 
									
										
										
										
											2023-09-27 16:06:32 +08:00
										 |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2025-02-17 17:05:13 +08:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2023-09-27 16:06:32 +08:00
										 |  |  | app_site_fields = { | 
					
						
							| 
									
										
										
										
											2024-08-15 12:54:05 +08:00
										 |  |  |     "app_id": fields.String, | 
					
						
							|  |  |  |     "access_token": fields.String(attribute="code"), | 
					
						
							|  |  |  |     "code": fields.String, | 
					
						
							|  |  |  |     "title": fields.String, | 
					
						
							|  |  |  |     "icon": fields.String, | 
					
						
							|  |  |  |     "icon_background": fields.String, | 
					
						
							|  |  |  |     "description": fields.String, | 
					
						
							|  |  |  |     "default_language": fields.String, | 
					
						
							|  |  |  |     "customize_domain": fields.String, | 
					
						
							|  |  |  |     "copyright": fields.String, | 
					
						
							|  |  |  |     "privacy_policy": fields.String, | 
					
						
							|  |  |  |     "custom_disclaimer": fields.String, | 
					
						
							|  |  |  |     "customize_token_strategy": fields.String, | 
					
						
							|  |  |  |     "prompt_public": fields.Boolean, | 
					
						
							|  |  |  |     "show_workflow_steps": fields.Boolean, | 
					
						
							| 
									
										
										
										
											2024-09-02 21:00:41 +09:00
										 |  |  |     "use_icon_as_answer_icon": fields.Boolean, | 
					
						
							| 
									
										
										
										
											2023-11-13 22:05:46 +08:00
										 |  |  | } | 
					
						
							| 
									
										
										
										
											2024-11-22 15:05:04 +08:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2025-02-17 17:05:13 +08:00
										 |  |  | leaked_dependency_fields = {"type": fields.String, "value": fields.Raw, "current_identifier": fields.String} | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2024-11-22 15:05:04 +08:00
										 |  |  | app_import_fields = { | 
					
						
							|  |  |  |     "id": fields.String, | 
					
						
							|  |  |  |     "status": fields.String, | 
					
						
							|  |  |  |     "app_id": fields.String, | 
					
						
							| 
									
										
										
										
											2025-03-18 11:12:25 +08:00
										 |  |  |     "app_mode": fields.String, | 
					
						
							| 
									
										
										
										
											2024-11-22 15:05:04 +08:00
										 |  |  |     "current_dsl_version": fields.String, | 
					
						
							|  |  |  |     "imported_dsl_version": fields.String, | 
					
						
							|  |  |  |     "error": fields.String, | 
					
						
							|  |  |  | } | 
					
						
							| 
									
										
										
										
											2025-02-17 17:05:13 +08:00
										 |  |  | 
 | 
					
						
							|  |  |  | app_import_check_dependencies_fields = { | 
					
						
							|  |  |  |     "leaked_dependencies": fields.List(fields.Nested(leaked_dependency_fields)), | 
					
						
							|  |  |  | } |