qanswer-sdk 0.46.0.dev0__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (624) hide show
  1. qanswer_sdk/__init__.py +1268 -0
  2. qanswer_sdk/api/__init__.py +64 -0
  3. qanswer_sdk/api/admin_api.py +7383 -0
  4. qanswer_sdk/api/ai_assistant_access_rights_api.py +5879 -0
  5. qanswer_sdk/api/ai_assistant_api.py +8960 -0
  6. qanswer_sdk/api/auto_complete_api.py +612 -0
  7. qanswer_sdk/api/bot_slack_api.py +1069 -0
  8. qanswer_sdk/api/branding_api.py +5723 -0
  9. qanswer_sdk/api/chatbot_api.py +1102 -0
  10. qanswer_sdk/api/connector_audio_api.py +3264 -0
  11. qanswer_sdk/api/connector_document_api.py +1990 -0
  12. qanswer_sdk/api/connector_e_consilium_api.py +313 -0
  13. qanswer_sdk/api/connector_e_consilium_search_index_api_api.py +1164 -0
  14. qanswer_sdk/api/connector_google_drive_api.py +1896 -0
  15. qanswer_sdk/api/connector_imapapi_api.py +1775 -0
  16. qanswer_sdk/api/connector_one_drive_api.py +1579 -0
  17. qanswer_sdk/api/connector_onenote_api.py +1596 -0
  18. qanswer_sdk/api/connector_pinecone_api.py +893 -0
  19. qanswer_sdk/api/connector_publication_office_api_api.py +1230 -0
  20. qanswer_sdk/api/connector_qn_a_api.py +1521 -0
  21. qanswer_sdk/api/connector_rdf_answer_api.py +1393 -0
  22. qanswer_sdk/api/connector_rdf_api.py +5093 -0
  23. qanswer_sdk/api/connector_sharepoint_api.py +3445 -0
  24. qanswer_sdk/api/connector_websearch_api.py +332 -0
  25. qanswer_sdk/api/connector_website_api.py +2829 -0
  26. qanswer_sdk/api/connectors_api.py +6824 -0
  27. qanswer_sdk/api/connectors_data_api.py +5415 -0
  28. qanswer_sdk/api/conversation_logs_api.py +13159 -0
  29. qanswer_sdk/api/dataset_api.py +6487 -0
  30. qanswer_sdk/api/dataset_config_api.py +4643 -0
  31. qanswer_sdk/api/debug_api.py +278 -0
  32. qanswer_sdk/api/default_api.py +763 -0
  33. qanswer_sdk/api/embedder_endpoint_api.py +3330 -0
  34. qanswer_sdk/api/frontend_config_api.py +270 -0
  35. qanswer_sdk/api/health_check_api_api.py +278 -0
  36. qanswer_sdk/api/llm_endpoint_api.py +4660 -0
  37. qanswer_sdk/api/mcp_api.py +11201 -0
  38. qanswer_sdk/api/metadata_api.py +2070 -0
  39. qanswer_sdk/api/notifications_api.py +1841 -0
  40. qanswer_sdk/api/o_auth2_api.py +648 -0
  41. qanswer_sdk/api/payment_api.py +1852 -0
  42. qanswer_sdk/api/socket_api.py +4220 -0
  43. qanswer_sdk/api/speech_to_text_api.py +919 -0
  44. qanswer_sdk/api/task_ai_excel_api.py +7541 -0
  45. qanswer_sdk/api/task_chat_api.py +2598 -0
  46. qanswer_sdk/api/task_document_parsing_api.py +619 -0
  47. qanswer_sdk/api/task_entity_linking_api.py +315 -0
  48. qanswer_sdk/api/task_rdf_linker_api.py +4408 -0
  49. qanswer_sdk/api/task_rdf_sparql_endpoint_api.py +3189 -0
  50. qanswer_sdk/api/task_rdf_text_linker_api.py +1452 -0
  51. qanswer_sdk/api/task_report_copilot_api.py +7010 -0
  52. qanswer_sdk/api/task_search_api.py +2012 -0
  53. qanswer_sdk/api/task_text2sparql_api.py +902 -0
  54. qanswer_sdk/api/task_text_classification_api.py +592 -0
  55. qanswer_sdk/api/tasks_api.py +318 -0
  56. qanswer_sdk/api/tool_embedder_api.py +5208 -0
  57. qanswer_sdk/api/tool_llm_api.py +6518 -0
  58. qanswer_sdk/api/unit_organizations_api.py +7086 -0
  59. qanswer_sdk/api/unit_teams_api.py +4255 -0
  60. qanswer_sdk/api/unit_user_api.py +11948 -0
  61. qanswer_sdk/api/v1_chat_completion_api.py +330 -0
  62. qanswer_sdk/api/v1_embeddings_api.py +297 -0
  63. qanswer_sdk/api_client.py +804 -0
  64. qanswer_sdk/api_response.py +21 -0
  65. qanswer_sdk/configuration.py +614 -0
  66. qanswer_sdk/exceptions.py +216 -0
  67. qanswer_sdk/models/__init__.py +567 -0
  68. qanswer_sdk/models/access_audio_spans_response_model.py +91 -0
  69. qanswer_sdk/models/access_pdf_payload_model.py +111 -0
  70. qanswer_sdk/models/access_type.py +42 -0
  71. qanswer_sdk/models/access_type_shared.py +38 -0
  72. qanswer_sdk/models/add_qn_a_request.py +103 -0
  73. qanswer_sdk/models/add_synonyms.py +93 -0
  74. qanswer_sdk/models/add_synonyms_resp.py +89 -0
  75. qanswer_sdk/models/admin_overall_stats_response.py +105 -0
  76. qanswer_sdk/models/admin_user_overall_stats.py +99 -0
  77. qanswer_sdk/models/advanced_o_auth2_mcp_authentication_config.py +95 -0
  78. qanswer_sdk/models/aggregate.py +93 -0
  79. qanswer_sdk/models/aggregation.py +116 -0
  80. qanswer_sdk/models/aggregation_type.py +41 -0
  81. qanswer_sdk/models/aggregations_group.py +102 -0
  82. qanswer_sdk/models/ai_assistant_clone_response.py +91 -0
  83. qanswer_sdk/models/ai_assistant_dto.py +122 -0
  84. qanswer_sdk/models/ai_assistant_filter_dto.py +113 -0
  85. qanswer_sdk/models/ai_assistant_list.py +101 -0
  86. qanswer_sdk/models/ai_assistant_share_response.py +93 -0
  87. qanswer_sdk/models/ai_assistant_shared_access.py +113 -0
  88. qanswer_sdk/models/ai_excel_task_settings.py +125 -0
  89. qanswer_sdk/models/ai_excel_task_update.py +125 -0
  90. qanswer_sdk/models/ai_task_settings_update_payload.py +95 -0
  91. qanswer_sdk/models/ai_template_base_with_id.py +95 -0
  92. qanswer_sdk/models/ai_template_cell.py +113 -0
  93. qanswer_sdk/models/ai_template_cell_base.py +87 -0
  94. qanswer_sdk/models/ai_template_cell_update_payload.py +95 -0
  95. qanswer_sdk/models/ai_template_column.py +99 -0
  96. qanswer_sdk/models/ai_template_column_base.py +93 -0
  97. qanswer_sdk/models/ai_template_column_update_payload.py +109 -0
  98. qanswer_sdk/models/ai_template_column_with_cells.py +109 -0
  99. qanswer_sdk/models/ai_template_create_payload.py +128 -0
  100. qanswer_sdk/models/ai_template_row.py +93 -0
  101. qanswer_sdk/models/ai_template_row_base.py +87 -0
  102. qanswer_sdk/models/ai_template_row_update_payload.py +103 -0
  103. qanswer_sdk/models/ai_template_row_with_cells.py +103 -0
  104. qanswer_sdk/models/ai_template_with_cells.py +134 -0
  105. qanswer_sdk/models/ai_template_with_cells_new_column_id.py +136 -0
  106. qanswer_sdk/models/allowed_extension.py +53 -0
  107. qanswer_sdk/models/allowed_file_extensions.py +98 -0
  108. qanswer_sdk/models/api_key_header_type.py +38 -0
  109. qanswer_sdk/models/api_key_mcp_authentication_config.py +94 -0
  110. qanswer_sdk/models/applied_filter_type.py +37 -0
  111. qanswer_sdk/models/applied_metadata_filter.py +103 -0
  112. qanswer_sdk/models/apply_template_task_settings_to_slots_response.py +89 -0
  113. qanswer_sdk/models/assistant_category_color_definition.py +89 -0
  114. qanswer_sdk/models/assistant_category_color_item.py +89 -0
  115. qanswer_sdk/models/assistant_category_colors_update_payload.py +95 -0
  116. qanswer_sdk/models/assistant_category_count.py +91 -0
  117. qanswer_sdk/models/assistant_message_stop.py +93 -0
  118. qanswer_sdk/models/assistant_task.py +43 -0
  119. qanswer_sdk/models/assistant_template.py +111 -0
  120. qanswer_sdk/models/assistant_template_filter_dto.py +120 -0
  121. qanswer_sdk/models/assistant_template_with_tools_selection_dto.py +121 -0
  122. qanswer_sdk/models/audio_allowed_file_extensions.py +87 -0
  123. qanswer_sdk/models/audio_file_upload_payload.py +107 -0
  124. qanswer_sdk/models/audio_format.py +37 -0
  125. qanswer_sdk/models/audio_segment.py +95 -0
  126. qanswer_sdk/models/audio_segment_update_payload.py +97 -0
  127. qanswer_sdk/models/audio_segment_update_response.py +91 -0
  128. qanswer_sdk/models/audio_speaker_update_payload.py +99 -0
  129. qanswer_sdk/models/audio_speaker_update_response.py +91 -0
  130. qanswer_sdk/models/audio_transcription_list_response.py +101 -0
  131. qanswer_sdk/models/audio_transcription_mode.py +37 -0
  132. qanswer_sdk/models/audio_transcription_record.py +101 -0
  133. qanswer_sdk/models/audio_upload_response.py +99 -0
  134. qanswer_sdk/models/audio_upload_transcription.py +99 -0
  135. qanswer_sdk/models/audio_word_segment.py +93 -0
  136. qanswer_sdk/models/audio_word_span_change.py +94 -0
  137. qanswer_sdk/models/audio_word_span_update_payload.py +104 -0
  138. qanswer_sdk/models/audio_word_span_update_response.py +91 -0
  139. qanswer_sdk/models/audio_word_update_payload.py +100 -0
  140. qanswer_sdk/models/audio_word_update_response.py +91 -0
  141. qanswer_sdk/models/auth_link_response.py +91 -0
  142. qanswer_sdk/models/auto_bot_description_request.py +89 -0
  143. qanswer_sdk/models/auto_bot_description_response.py +87 -0
  144. qanswer_sdk/models/available_aggregation.py +98 -0
  145. qanswer_sdk/models/available_connectors_response.py +99 -0
  146. qanswer_sdk/models/available_embedding_models_response.py +95 -0
  147. qanswer_sdk/models/available_endpoints_response.py +95 -0
  148. qanswer_sdk/models/available_logs_visibility_policy.py +103 -0
  149. qanswer_sdk/models/available_space_quota_for_dataset.py +95 -0
  150. qanswer_sdk/models/available_storage_preference.py +103 -0
  151. qanswer_sdk/models/base_connectors_response.py +89 -0
  152. qanswer_sdk/models/base_conversation_response.py +89 -0
  153. qanswer_sdk/models/base_feedback_response.py +89 -0
  154. qanswer_sdk/models/bot_answer_length.py +38 -0
  155. qanswer_sdk/models/branding_app_title.py +87 -0
  156. qanswer_sdk/models/branding_system_message.py +87 -0
  157. qanswer_sdk/models/bulk_update_tool_selections_request.py +87 -0
  158. qanswer_sdk/models/capability_type.py +37 -0
  159. qanswer_sdk/models/cell.py +89 -0
  160. qanswer_sdk/models/change_password.py +89 -0
  161. qanswer_sdk/models/change_password_admin.py +89 -0
  162. qanswer_sdk/models/change_role.py +96 -0
  163. qanswer_sdk/models/chat_task_settings.py +141 -0
  164. qanswer_sdk/models/chat_task_settings_update_payload.py +95 -0
  165. qanswer_sdk/models/chat_task_update.py +139 -0
  166. qanswer_sdk/models/chatbot_chat_payload.py +148 -0
  167. qanswer_sdk/models/chatbot_default_settings_response.py +95 -0
  168. qanswer_sdk/models/chatbot_llm_dto.py +147 -0
  169. qanswer_sdk/models/chatbot_response.py +151 -0
  170. qanswer_sdk/models/chatbot_setting_dto.py +99 -0
  171. qanswer_sdk/models/chatbot_setting_request.py +91 -0
  172. qanswer_sdk/models/class_info.py +89 -0
  173. qanswer_sdk/models/clone_dataset_request.py +104 -0
  174. qanswer_sdk/models/clone_dataset_response.py +91 -0
  175. qanswer_sdk/models/config.py +228 -0
  176. qanswer_sdk/models/config1.py +138 -0
  177. qanswer_sdk/models/connector_config_list_response.py +99 -0
  178. qanswer_sdk/models/connector_config_model.py +102 -0
  179. qanswer_sdk/models/connector_config_patch_payload.py +93 -0
  180. qanswer_sdk/models/connector_config_response.py +95 -0
  181. qanswer_sdk/models/connector_config_sync_response.py +93 -0
  182. qanswer_sdk/models/connector_config_type.py +37 -0
  183. qanswer_sdk/models/connector_model.py +118 -0
  184. qanswer_sdk/models/connector_type.py +50 -0
  185. qanswer_sdk/models/connector_type_dto.py +98 -0
  186. qanswer_sdk/models/connector_type_list_dto.py +95 -0
  187. qanswer_sdk/models/content_item.py +130 -0
  188. qanswer_sdk/models/content_item_type.py +39 -0
  189. qanswer_sdk/models/conversation_message.py +259 -0
  190. qanswer_sdk/models/conversation_message_error_key.py +52 -0
  191. qanswer_sdk/models/conversation_message_search_result.py +121 -0
  192. qanswer_sdk/models/conversation_model.py +169 -0
  193. qanswer_sdk/models/conversation_overall_stats.py +97 -0
  194. qanswer_sdk/models/conversation_overall_stats_response.py +95 -0
  195. qanswer_sdk/models/conversation_retention_response.py +91 -0
  196. qanswer_sdk/models/conversation_statistics.py +95 -0
  197. qanswer_sdk/models/conversation_update.py +93 -0
  198. qanswer_sdk/models/conversation_users_stats.py +99 -0
  199. qanswer_sdk/models/conversation_users_stats_response.py +99 -0
  200. qanswer_sdk/models/coordinates.py +89 -0
  201. qanswer_sdk/models/cost_summary_dto.py +99 -0
  202. qanswer_sdk/models/create_connector_request.py +95 -0
  203. qanswer_sdk/models/create_connector_response.py +95 -0
  204. qanswer_sdk/models/create_dataset_request.py +145 -0
  205. qanswer_sdk/models/create_imap_connector_request.py +105 -0
  206. qanswer_sdk/models/create_pinecone_connector_request.py +97 -0
  207. qanswer_sdk/models/create_sharepoint_connector_from_certificate_request.py +105 -0
  208. qanswer_sdk/models/create_sharepoint_connector_request.py +103 -0
  209. qanswer_sdk/models/credits_info_global_dto.py +97 -0
  210. qanswer_sdk/models/credits_info_organization_dto.py +95 -0
  211. qanswer_sdk/models/currency.py +38 -0
  212. qanswer_sdk/models/data_filling_mode.py +39 -0
  213. qanswer_sdk/models/data_storage_preference.py +38 -0
  214. qanswer_sdk/models/dataset_config_request.py +138 -0
  215. qanswer_sdk/models/dataset_default_values_model.py +138 -0
  216. qanswer_sdk/models/dataset_detail.py +137 -0
  217. qanswer_sdk/models/dataset_detail_kg.py +97 -0
  218. qanswer_sdk/models/dataset_schema.py +242 -0
  219. qanswer_sdk/models/dataset_size_response.py +91 -0
  220. qanswer_sdk/models/dataset_type.py +38 -0
  221. qanswer_sdk/models/dataset_update_object.py +216 -0
  222. qanswer_sdk/models/dataset_users_response.py +87 -0
  223. qanswer_sdk/models/default_prompt.py +106 -0
  224. qanswer_sdk/models/delete_connector_model.py +96 -0
  225. qanswer_sdk/models/delete_connector_request.py +99 -0
  226. qanswer_sdk/models/delete_connectors_response.py +89 -0
  227. qanswer_sdk/models/delete_files_status_response.py +91 -0
  228. qanswer_sdk/models/delete_index.py +91 -0
  229. qanswer_sdk/models/delete_index_resp.py +89 -0
  230. qanswer_sdk/models/delete_qn_a_pair_request.py +95 -0
  231. qanswer_sdk/models/delete_qn_a_pair_response.py +89 -0
  232. qanswer_sdk/models/delete_synonym.py +93 -0
  233. qanswer_sdk/models/delete_synonym_resp.py +89 -0
  234. qanswer_sdk/models/delete_synonyms.py +91 -0
  235. qanswer_sdk/models/delete_user_response.py +89 -0
  236. qanswer_sdk/models/diarization_queue_status.py +99 -0
  237. qanswer_sdk/models/document_content_response.py +91 -0
  238. qanswer_sdk/models/document_content_update_model.py +99 -0
  239. qanswer_sdk/models/document_file_delete_by_connector_model.py +101 -0
  240. qanswer_sdk/models/document_file_delete_by_id_model.py +91 -0
  241. qanswer_sdk/models/document_metadata.py +173 -0
  242. qanswer_sdk/models/document_metadata_list_wrapper.py +100 -0
  243. qanswer_sdk/models/document_parsing_task_settings.py +130 -0
  244. qanswer_sdk/models/document_parsing_task_settings_update_payload.py +95 -0
  245. qanswer_sdk/models/document_parsing_task_update.py +127 -0
  246. qanswer_sdk/models/document_status_response.py +89 -0
  247. qanswer_sdk/models/dummy_error.py +89 -0
  248. qanswer_sdk/models/duplicate_report_template_payload.py +97 -0
  249. qanswer_sdk/models/duplicate_report_template_response.py +87 -0
  250. qanswer_sdk/models/e_consilium_connector_config.py +108 -0
  251. qanswer_sdk/models/e_consilium_search_index_search_response.py +113 -0
  252. qanswer_sdk/models/econsilium_file_metadata.py +105 -0
  253. qanswer_sdk/models/econsilium_search_index_add_payload.py +107 -0
  254. qanswer_sdk/models/econsilium_search_index_additional_fields.py +103 -0
  255. qanswer_sdk/models/email_folder.py +91 -0
  256. qanswer_sdk/models/email_request.py +87 -0
  257. qanswer_sdk/models/embedder_cost_entry.py +91 -0
  258. qanswer_sdk/models/embedder_cost_filter.py +112 -0
  259. qanswer_sdk/models/embedder_cost_list.py +111 -0
  260. qanswer_sdk/models/embedder_create_dto.py +149 -0
  261. qanswer_sdk/models/embedder_detailed_dto.py +171 -0
  262. qanswer_sdk/models/embedder_dto.py +101 -0
  263. qanswer_sdk/models/embedder_list_dto.py +101 -0
  264. qanswer_sdk/models/embedder_update_dto.py +143 -0
  265. qanswer_sdk/models/embedding_endpoint.py +149 -0
  266. qanswer_sdk/models/embedding_endpoint_create.py +147 -0
  267. qanswer_sdk/models/embedding_endpoint_export_payload.py +87 -0
  268. qanswer_sdk/models/embedding_endpoint_import_failure.py +89 -0
  269. qanswer_sdk/models/embedding_endpoint_import_response.py +99 -0
  270. qanswer_sdk/models/embedding_endpoint_modality.py +37 -0
  271. qanswer_sdk/models/embedding_endpoint_names_validation_payload.py +87 -0
  272. qanswer_sdk/models/embedding_endpoint_update.py +141 -0
  273. qanswer_sdk/models/embedding_endpoint_validation_response.py +96 -0
  274. qanswer_sdk/models/embedding_model.py +96 -0
  275. qanswer_sdk/models/embedding_provider.py +44 -0
  276. qanswer_sdk/models/enable_enhanced_context_payload.py +91 -0
  277. qanswer_sdk/models/enable_enhanced_context_response.py +87 -0
  278. qanswer_sdk/models/endpoint_status.py +38 -0
  279. qanswer_sdk/models/entity_description.py +93 -0
  280. qanswer_sdk/models/entity_description_dto.py +93 -0
  281. qanswer_sdk/models/entity_linking_payload.py +97 -0
  282. qanswer_sdk/models/entity_linking_response.py +97 -0
  283. qanswer_sdk/models/entity_model_in_linking.py +95 -0
  284. qanswer_sdk/models/es_meta_data.py +98 -0
  285. qanswer_sdk/models/es_meta_data_value.py +87 -0
  286. qanswer_sdk/models/evaluate_feedback_response.py +109 -0
  287. qanswer_sdk/models/evaluate_single_feedback_response.py +97 -0
  288. qanswer_sdk/models/external_sources_quota_request.py +91 -0
  289. qanswer_sdk/models/external_sources_quota_response.py +89 -0
  290. qanswer_sdk/models/extra_body.py +91 -0
  291. qanswer_sdk/models/extract_hyper_links_payload.py +100 -0
  292. qanswer_sdk/models/extract_robot_links_payload.py +88 -0
  293. qanswer_sdk/models/extract_robot_links_response.py +88 -0
  294. qanswer_sdk/models/fact.py +96 -0
  295. qanswer_sdk/models/feedback_evaluation_history_entries_response.py +101 -0
  296. qanswer_sdk/models/feedback_evaluation_history_entry_model.py +105 -0
  297. qanswer_sdk/models/feedback_model.py +141 -0
  298. qanswer_sdk/models/feedback_response.py +95 -0
  299. qanswer_sdk/models/feedback_update.py +105 -0
  300. qanswer_sdk/models/file_es_meta_data.py +116 -0
  301. qanswer_sdk/models/file_failure_reason.py +48 -0
  302. qanswer_sdk/models/file_folder_model.py +115 -0
  303. qanswer_sdk/models/file_model.py +130 -0
  304. qanswer_sdk/models/file_status.py +43 -0
  305. qanswer_sdk/models/file_type.py +37 -0
  306. qanswer_sdk/models/file_upload_payload.py +107 -0
  307. qanswer_sdk/models/files_by_connector_model.py +89 -0
  308. qanswer_sdk/models/g_drive_connector_info.py +96 -0
  309. qanswer_sdk/models/g_drive_download_by_ids.py +89 -0
  310. qanswer_sdk/models/g_drive_download_request.py +103 -0
  311. qanswer_sdk/models/generate_ai_cells_by_dimension_payload.py +91 -0
  312. qanswer_sdk/models/generate_ai_cells_payload.py +95 -0
  313. qanswer_sdk/models/generation_params.py +89 -0
  314. qanswer_sdk/models/get_aggregations_payload.py +104 -0
  315. qanswer_sdk/models/get_connector_by_id_response.py +91 -0
  316. qanswer_sdk/models/get_conversation_response.py +95 -0
  317. qanswer_sdk/models/global_config_dto.py +135 -0
  318. qanswer_sdk/models/google_drive_connector_config.py +110 -0
  319. qanswer_sdk/models/guardrail_endpoint.py +121 -0
  320. qanswer_sdk/models/guardrail_mode.py +38 -0
  321. qanswer_sdk/models/highlight_audio_payload_model.py +109 -0
  322. qanswer_sdk/models/http_validation_error.py +95 -0
  323. qanswer_sdk/models/iframe_strategy.py +38 -0
  324. qanswer_sdk/models/image_url_detail.py +38 -0
  325. qanswer_sdk/models/imap_add_payload.py +105 -0
  326. qanswer_sdk/models/imap_additional_fields.py +101 -0
  327. qanswer_sdk/models/imap_file_metadata.py +114 -0
  328. qanswer_sdk/models/imap_search_response.py +113 -0
  329. qanswer_sdk/models/index_config.py +89 -0
  330. qanswer_sdk/models/install_response.py +89 -0
  331. qanswer_sdk/models/interface_origin.py +48 -0
  332. qanswer_sdk/models/ip2_geo_response.py +91 -0
  333. qanswer_sdk/models/is_enabled_response.py +87 -0
  334. qanswer_sdk/models/jwt_authentication_response.py +93 -0
  335. qanswer_sdk/models/label.py +89 -0
  336. qanswer_sdk/models/labeled_node.py +89 -0
  337. qanswer_sdk/models/language.py +42 -0
  338. qanswer_sdk/models/last_updated_template_conversation_id_response.py +87 -0
  339. qanswer_sdk/models/link.py +99 -0
  340. qanswer_sdk/models/link_extraction_response.py +97 -0
  341. qanswer_sdk/models/link_result_paginated.py +97 -0
  342. qanswer_sdk/models/linked_entity_model_in_linking.py +99 -0
  343. qanswer_sdk/models/linker.py +103 -0
  344. qanswer_sdk/models/linking_result_input.py +95 -0
  345. qanswer_sdk/models/linking_result_output.py +95 -0
  346. qanswer_sdk/models/links.py +99 -0
  347. qanswer_sdk/models/list_ai_templates_response.py +101 -0
  348. qanswer_sdk/models/list_connectors_response.py +95 -0
  349. qanswer_sdk/models/list_conversation_response.py +105 -0
  350. qanswer_sdk/models/list_feedback_response.py +105 -0
  351. qanswer_sdk/models/list_files_connector_response.py +107 -0
  352. qanswer_sdk/models/list_published_assistants_payload.py +115 -0
  353. qanswer_sdk/models/list_socket_events.py +95 -0
  354. qanswer_sdk/models/list_synonyms_model.py +95 -0
  355. qanswer_sdk/models/llm_context_ranges.py +93 -0
  356. qanswer_sdk/models/llm_context_ranges_response.py +93 -0
  357. qanswer_sdk/models/llm_cost_entry.py +97 -0
  358. qanswer_sdk/models/llm_cost_filter.py +112 -0
  359. qanswer_sdk/models/llm_cost_list.py +111 -0
  360. qanswer_sdk/models/llm_create_dto.py +208 -0
  361. qanswer_sdk/models/llm_detailed_dto.py +231 -0
  362. qanswer_sdk/models/llm_details.py +123 -0
  363. qanswer_sdk/models/llm_dto.py +147 -0
  364. qanswer_sdk/models/llm_endpoint.py +212 -0
  365. qanswer_sdk/models/llm_endpoint_create.py +204 -0
  366. qanswer_sdk/models/llm_endpoint_default_prompts.py +93 -0
  367. qanswer_sdk/models/llm_endpoint_export_payload.py +87 -0
  368. qanswer_sdk/models/llm_endpoint_import_failure.py +89 -0
  369. qanswer_sdk/models/llm_endpoint_import_response.py +99 -0
  370. qanswer_sdk/models/llm_endpoint_input.py +212 -0
  371. qanswer_sdk/models/llm_endpoint_modality.py +37 -0
  372. qanswer_sdk/models/llm_endpoint_names_validation_payload.py +87 -0
  373. qanswer_sdk/models/llm_endpoint_provider.py +44 -0
  374. qanswer_sdk/models/llm_endpoint_read_input.py +212 -0
  375. qanswer_sdk/models/llm_endpoint_read_output.py +212 -0
  376. qanswer_sdk/models/llm_endpoint_update.py +204 -0
  377. qanswer_sdk/models/llm_endpoint_usage_migration_response.py +93 -0
  378. qanswer_sdk/models/llm_endpoint_validation_response.py +96 -0
  379. qanswer_sdk/models/llm_filter_dto.py +111 -0
  380. qanswer_sdk/models/llm_health_response.py +89 -0
  381. qanswer_sdk/models/llm_list_detailed_dto.py +101 -0
  382. qanswer_sdk/models/llm_list_dto.py +101 -0
  383. qanswer_sdk/models/llm_update_dto.py +208 -0
  384. qanswer_sdk/models/llm_usage_origin.py +63 -0
  385. qanswer_sdk/models/location_details.py +97 -0
  386. qanswer_sdk/models/log_request.py +125 -0
  387. qanswer_sdk/models/login_request.py +89 -0
  388. qanswer_sdk/models/logs_visibility_policy.py +38 -0
  389. qanswer_sdk/models/logs_visibility_policy_payload.py +98 -0
  390. qanswer_sdk/models/logs_visibility_policy_response.py +98 -0
  391. qanswer_sdk/models/mcp_authentication_type.py +39 -0
  392. qanswer_sdk/models/mcp_connection.py +105 -0
  393. qanswer_sdk/models/mcp_connection_create.py +98 -0
  394. qanswer_sdk/models/mcp_server.py +167 -0
  395. qanswer_sdk/models/mcp_server0.py +167 -0
  396. qanswer_sdk/models/mcp_server_create.py +133 -0
  397. qanswer_sdk/models/mcp_server_dto.py +167 -0
  398. qanswer_sdk/models/mcp_server_type.py +37 -0
  399. qanswer_sdk/models/mcp_server_update.py +131 -0
  400. qanswer_sdk/models/mcp_tool_dto.py +141 -0
  401. qanswer_sdk/models/mcp_tool_info.py +95 -0
  402. qanswer_sdk/models/mcp_tool_selection_source.py +37 -0
  403. qanswer_sdk/models/mcp_tool_update.py +91 -0
  404. qanswer_sdk/models/mcp_transport.py +37 -0
  405. qanswer_sdk/models/mcp_visibility.py +38 -0
  406. qanswer_sdk/models/mcpo_auth2_initiating_origin.py +42 -0
  407. qanswer_sdk/models/message_role.py +38 -0
  408. qanswer_sdk/models/messages_stats_per_day_response.py +99 -0
  409. qanswer_sdk/models/microsoft_connector_config.py +110 -0
  410. qanswer_sdk/models/modify_connector_request.py +107 -0
  411. qanswer_sdk/models/modify_file_display_name_request.py +97 -0
  412. qanswer_sdk/models/notification_dto.py +137 -0
  413. qanswer_sdk/models/notification_filter.py +116 -0
  414. qanswer_sdk/models/notification_list_dto.py +101 -0
  415. qanswer_sdk/models/notification_payload_add_to_org_dto.py +87 -0
  416. qanswer_sdk/models/notification_payload_add_to_team_dto.py +89 -0
  417. qanswer_sdk/models/notification_payload_ai_assistant_shared_dto.py +109 -0
  418. qanswer_sdk/models/notification_payload_conversation_shared_dto.py +105 -0
  419. qanswer_sdk/models/notification_payload_dto.py +193 -0
  420. qanswer_sdk/models/notification_payload_human_takeover_requested_dto.py +89 -0
  421. qanswer_sdk/models/notification_payload_quota_reaching_dto.py +91 -0
  422. qanswer_sdk/models/notification_read_dto.py +89 -0
  423. qanswer_sdk/models/notification_type.py +44 -0
  424. qanswer_sdk/models/o_auth_redirect_response.py +89 -0
  425. qanswer_sdk/models/o_auth_service_dto.py +89 -0
  426. qanswer_sdk/models/one_drive_download_by_ids.py +89 -0
  427. qanswer_sdk/models/one_drive_download_request.py +103 -0
  428. qanswer_sdk/models/one_note_download_by_ids.py +91 -0
  429. qanswer_sdk/models/one_note_download_request.py +103 -0
  430. qanswer_sdk/models/org_llm_detailed_dto.py +105 -0
  431. qanswer_sdk/models/organization.py +93 -0
  432. qanswer_sdk/models/organization_creation.py +91 -0
  433. qanswer_sdk/models/organization_dto.py +93 -0
  434. qanswer_sdk/models/organization_filter_dto.py +134 -0
  435. qanswer_sdk/models/organization_list_dto.py +101 -0
  436. qanswer_sdk/models/paginated_report_templates.py +101 -0
  437. qanswer_sdk/models/password.py +89 -0
  438. qanswer_sdk/models/pinecone_index_model.py +91 -0
  439. qanswer_sdk/models/plan_dto.py +132 -0
  440. qanswer_sdk/models/predicted_class.py +89 -0
  441. qanswer_sdk/models/prepare_synonyms_upload_resp.py +99 -0
  442. qanswer_sdk/models/prepared_synonym_group.py +87 -0
  443. qanswer_sdk/models/pricing_plan.py +51 -0
  444. qanswer_sdk/models/pricing_type.py +38 -0
  445. qanswer_sdk/models/prompt_type.py +51 -0
  446. qanswer_sdk/models/provider.py +87 -0
  447. qanswer_sdk/models/publication_add_payload.py +105 -0
  448. qanswer_sdk/models/publication_file_metadata.py +105 -0
  449. qanswer_sdk/models/publication_office_additional_fields.py +111 -0
  450. qanswer_sdk/models/publication_office_connector_config.py +110 -0
  451. qanswer_sdk/models/publication_search_index_search_response.py +113 -0
  452. qanswer_sdk/models/published_assistant_from_java.py +94 -0
  453. qanswer_sdk/models/put_cell_payload.py +89 -0
  454. qanswer_sdk/models/qa_context.py +129 -0
  455. qanswer_sdk/models/qa_context_display_type.py +44 -0
  456. qanswer_sdk/models/qa_contexts.py +116 -0
  457. qanswer_sdk/models/qa_table.py +100 -0
  458. qanswer_sdk/models/qn_a_pair_model.py +103 -0
  459. qanswer_sdk/models/qn_a_pair_response.py +95 -0
  460. qanswer_sdk/models/question_suggestion_response.py +87 -0
  461. qanswer_sdk/models/rag_params.py +89 -0
  462. qanswer_sdk/models/rag_payload.py +186 -0
  463. qanswer_sdk/models/rag_response.py +155 -0
  464. qanswer_sdk/models/rdf_entity_linker_response.py +99 -0
  465. qanswer_sdk/models/rdf_linked_entity.py +97 -0
  466. qanswer_sdk/models/reasoning_effort.py +39 -0
  467. qanswer_sdk/models/reference_model.py +99 -0
  468. qanswer_sdk/models/refresh_frequency.py +39 -0
  469. qanswer_sdk/models/refresh_token_request.py +87 -0
  470. qanswer_sdk/models/refresh_website_connector_payload.py +94 -0
  471. qanswer_sdk/models/register_pinecone_connector_request.py +95 -0
  472. qanswer_sdk/models/report_copilot_generation_from_slots_ack.py +91 -0
  473. qanswer_sdk/models/report_copilot_generation_from_slots_payload.py +95 -0
  474. qanswer_sdk/models/report_copilot_refinement_payload.py +106 -0
  475. qanswer_sdk/models/report_copilot_refinement_response.py +87 -0
  476. qanswer_sdk/models/report_copilot_slot_feedback_update.py +95 -0
  477. qanswer_sdk/models/report_copilot_slot_feedback_update_response.py +95 -0
  478. qanswer_sdk/models/report_copilot_slot_task_settings.py +127 -0
  479. qanswer_sdk/models/report_copilot_slot_task_settings_update.py +127 -0
  480. qanswer_sdk/models/report_copilot_task_settings.py +125 -0
  481. qanswer_sdk/models/report_copilot_task_settings_update_payload.py +95 -0
  482. qanswer_sdk/models/report_copilot_task_update.py +125 -0
  483. qanswer_sdk/models/report_template.py +139 -0
  484. qanswer_sdk/models/report_template_create_payload.py +117 -0
  485. qanswer_sdk/models/report_template_image_upload_response.py +87 -0
  486. qanswer_sdk/models/report_template_simplified.py +115 -0
  487. qanswer_sdk/models/report_template_simplified_payload.py +91 -0
  488. qanswer_sdk/models/report_template_task_settings_update_payload.py +91 -0
  489. qanswer_sdk/models/report_template_update_payload.py +121 -0
  490. qanswer_sdk/models/report_templates_search_payload.py +106 -0
  491. qanswer_sdk/models/reset_password.py +87 -0
  492. qanswer_sdk/models/response_audit_model.py +99 -0
  493. qanswer_sdk/models/response_audit_stats_response.py +101 -0
  494. qanswer_sdk/models/response_get_dummy_union_connector_config_model_backend_api_connectors_config_dummy_models_union_get.py +228 -0
  495. qanswer_sdk/models/retreive_all_synonyms_resp.py +99 -0
  496. qanswer_sdk/models/retry_params.py +89 -0
  497. qanswer_sdk/models/return_type.py +38 -0
  498. qanswer_sdk/models/role.py +99 -0
  499. qanswer_sdk/models/role_name.py +37 -0
  500. qanswer_sdk/models/scrolling_strategy.py +37 -0
  501. qanswer_sdk/models/search_conversation_messages_response.py +105 -0
  502. qanswer_sdk/models/search_document_response.py +105 -0
  503. qanswer_sdk/models/search_index_payload.py +114 -0
  504. qanswer_sdk/models/search_metadata_filter.py +94 -0
  505. qanswer_sdk/models/search_payload.py +146 -0
  506. qanswer_sdk/models/search_response.py +125 -0
  507. qanswer_sdk/models/search_synonyms_resp.py +91 -0
  508. qanswer_sdk/models/search_task_settings.py +139 -0
  509. qanswer_sdk/models/search_task_settings_update_payload.py +95 -0
  510. qanswer_sdk/models/search_task_update.py +137 -0
  511. qanswer_sdk/models/sender_type.py +38 -0
  512. qanswer_sdk/models/share_point_connector_settings.py +94 -0
  513. qanswer_sdk/models/share_point_download_by_ids.py +99 -0
  514. qanswer_sdk/models/share_point_download_request.py +103 -0
  515. qanswer_sdk/models/shared_by.py +38 -0
  516. qanswer_sdk/models/shared_entity_type.py +38 -0
  517. qanswer_sdk/models/shared_organization_access.py +125 -0
  518. qanswer_sdk/models/shared_organization_access_dto.py +125 -0
  519. qanswer_sdk/models/shared_team_access.py +125 -0
  520. qanswer_sdk/models/shared_team_access_dto.py +125 -0
  521. qanswer_sdk/models/shared_user.py +99 -0
  522. qanswer_sdk/models/sign_up_request.py +108 -0
  523. qanswer_sdk/models/signout_request.py +87 -0
  524. qanswer_sdk/models/slot.py +162 -0
  525. qanswer_sdk/models/slot_history_entry.py +127 -0
  526. qanswer_sdk/models/slot_in_prompt.py +91 -0
  527. qanswer_sdk/models/slot_info_with_latest_version.py +95 -0
  528. qanswer_sdk/models/slot_update.py +142 -0
  529. qanswer_sdk/models/socker_join_user.py +91 -0
  530. qanswer_sdk/models/socket_ai_cell_generation.py +99 -0
  531. qanswer_sdk/models/socket_conversation_message.py +280 -0
  532. qanswer_sdk/models/socket_events_q_answer.py +51 -0
  533. qanswer_sdk/models/socket_feedback_evaluation_progress.py +114 -0
  534. qanswer_sdk/models/socket_file_metadata.py +207 -0
  535. qanswer_sdk/models/socket_join_conversation.py +97 -0
  536. qanswer_sdk/models/socket_join_dataset.py +93 -0
  537. qanswer_sdk/models/socket_message_status.py +40 -0
  538. qanswer_sdk/models/socket_notification.py +127 -0
  539. qanswer_sdk/models/socket_report_continuation_response.py +106 -0
  540. qanswer_sdk/models/socket_report_copilot_generation_from_slots_response.py +122 -0
  541. qanswer_sdk/models/socket_report_copilot_generation_from_template_response.py +122 -0
  542. qanswer_sdk/models/socket_report_copilot_refinement_response.py +108 -0
  543. qanswer_sdk/models/socket_speech2_text_response.py +131 -0
  544. qanswer_sdk/models/socket_stop_conversation.py +97 -0
  545. qanswer_sdk/models/source.py +125 -0
  546. qanswer_sdk/models/source_metadata.py +109 -0
  547. qanswer_sdk/models/speech2_text_response.py +119 -0
  548. qanswer_sdk/models/stat_per_date.py +89 -0
  549. qanswer_sdk/models/status_response.py +89 -0
  550. qanswer_sdk/models/stop_template_generation_payload.py +91 -0
  551. qanswer_sdk/models/storage_active_status.py +37 -0
  552. qanswer_sdk/models/subscription_response.py +101 -0
  553. qanswer_sdk/models/subscription_status.py +39 -0
  554. qanswer_sdk/models/suggestion_list_response.py +87 -0
  555. qanswer_sdk/models/summa_server.py +101 -0
  556. qanswer_sdk/models/task_category.py +58 -0
  557. qanswer_sdk/models/task_name.py +43 -0
  558. qanswer_sdk/models/team.py +93 -0
  559. qanswer_sdk/models/team_creation.py +89 -0
  560. qanswer_sdk/models/team_creation_dto.py +89 -0
  561. qanswer_sdk/models/team_dto.py +93 -0
  562. qanswer_sdk/models/team_filter_dto.py +141 -0
  563. qanswer_sdk/models/team_list_dto.py +101 -0
  564. qanswer_sdk/models/template_clip_structure.py +114 -0
  565. qanswer_sdk/models/template_toggle_request.py +93 -0
  566. qanswer_sdk/models/terms_bucket.py +94 -0
  567. qanswer_sdk/models/test_imap_connection_payload.py +95 -0
  568. qanswer_sdk/models/text2_sparql_payload.py +188 -0
  569. qanswer_sdk/models/text2_sparql_task_settings.py +125 -0
  570. qanswer_sdk/models/text2_sparql_task_settings_update_payload.py +95 -0
  571. qanswer_sdk/models/text2_sparql_task_update.py +125 -0
  572. qanswer_sdk/models/text_classification_payload.py +99 -0
  573. qanswer_sdk/models/text_classification_response.py +87 -0
  574. qanswer_sdk/models/text_classification_v2_payload.py +99 -0
  575. qanswer_sdk/models/text_classification_v2_response.py +95 -0
  576. qanswer_sdk/models/thinking_block.py +91 -0
  577. qanswer_sdk/models/tool_selection.py +89 -0
  578. qanswer_sdk/models/total_stat.py +96 -0
  579. qanswer_sdk/models/ui_mappings.py +141 -0
  580. qanswer_sdk/models/update_cells_payload.py +93 -0
  581. qanswer_sdk/models/update_file_es_meta_data.py +116 -0
  582. qanswer_sdk/models/update_metadata_model_input.py +97 -0
  583. qanswer_sdk/models/update_metadata_model_output.py +97 -0
  584. qanswer_sdk/models/update_qn_a_pair_request.py +101 -0
  585. qanswer_sdk/models/update_qn_a_pair_response.py +89 -0
  586. qanswer_sdk/models/update_synonyms.py +95 -0
  587. qanswer_sdk/models/update_synonyms_resp.py +89 -0
  588. qanswer_sdk/models/update_template_cells_payload.py +101 -0
  589. qanswer_sdk/models/upload_metadata.py +115 -0
  590. qanswer_sdk/models/user.py +91 -0
  591. qanswer_sdk/models/user_credits_config_dto.py +99 -0
  592. qanswer_sdk/models/user_credits_dto.py +106 -0
  593. qanswer_sdk/models/user_dataset_api_key.py +120 -0
  594. qanswer_sdk/models/user_dataset_api_key_dto.py +120 -0
  595. qanswer_sdk/models/user_dataset_mcp_tool_selection_dto.py +102 -0
  596. qanswer_sdk/models/user_dto.py +91 -0
  597. qanswer_sdk/models/user_filter_dto.py +155 -0
  598. qanswer_sdk/models/user_identity_availability.py +87 -0
  599. qanswer_sdk/models/user_info_dto.py +95 -0
  600. qanswer_sdk/models/user_list_dto.py +101 -0
  601. qanswer_sdk/models/user_log.py +102 -0
  602. qanswer_sdk/models/user_log_dto.py +102 -0
  603. qanswer_sdk/models/user_logs_list_dto.py +97 -0
  604. qanswer_sdk/models/user_mcp_tool_selection_dto.py +118 -0
  605. qanswer_sdk/models/user_oauth_token.py +96 -0
  606. qanswer_sdk/models/user_oauth_token_dto.py +96 -0
  607. qanswer_sdk/models/user_profile_dto.py +200 -0
  608. qanswer_sdk/models/user_profile_list_dto.py +101 -0
  609. qanswer_sdk/models/user_stat_per_date.py +90 -0
  610. qanswer_sdk/models/validation_error.py +108 -0
  611. qanswer_sdk/models/validation_error_loc_inner.py +138 -0
  612. qanswer_sdk/models/warn_visibility.py +40 -0
  613. qanswer_sdk/models/websearch_connector_config.py +102 -0
  614. qanswer_sdk/models/websearch_scraping_site.py +91 -0
  615. qanswer_sdk/models/website_add_payload.py +102 -0
  616. qanswer_sdk/models/website_connector_config.py +102 -0
  617. qanswer_sdk/models/website_connector_settings.py +160 -0
  618. qanswer_sdk/models/widget_configs.py +109 -0
  619. qanswer_sdk/py.typed +0 -0
  620. qanswer_sdk/rest.py +258 -0
  621. qanswer_sdk-0.46.0.dev0.dist-info/METADATA +252 -0
  622. qanswer_sdk-0.46.0.dev0.dist-info/RECORD +624 -0
  623. qanswer_sdk-0.46.0.dev0.dist-info/WHEEL +5 -0
  624. qanswer_sdk-0.46.0.dev0.dist-info/top_level.txt +1 -0
@@ -0,0 +1,280 @@
1
+ # coding: utf-8
2
+
3
+ """
4
+ free-text-client
5
+
6
+ QAnswer 2.0 API
7
+
8
+ The version of the OpenAPI document: 2.0.0
9
+ Generated by OpenAPI Generator (https://openapi-generator.tech)
10
+
11
+ Do not edit the class manually.
12
+ """ # noqa: E501
13
+
14
+
15
+ from __future__ import annotations
16
+ import pprint
17
+ import re # noqa: F401
18
+ import json
19
+
20
+ from pydantic import BaseModel, ConfigDict, Field, StrictBool, StrictInt, StrictStr, field_validator
21
+ from typing import Any, ClassVar, Dict, List, Optional
22
+ from qanswer_sdk.models.aggregations_group import AggregationsGroup
23
+ from qanswer_sdk.models.content_item import ContentItem
24
+ from qanswer_sdk.models.source import Source
25
+ from qanswer_sdk.models.thinking_block import ThinkingBlock
26
+ from qanswer_sdk.models.tool_selection import ToolSelection
27
+ from qanswer_sdk.models.websearch_scraping_site import WebsearchScrapingSite
28
+ from typing import Optional, Set
29
+ from typing_extensions import Self
30
+
31
+ class SocketConversationMessage(BaseModel):
32
+ """
33
+ SocketConversationMessage
34
+ """ # noqa: E501
35
+ username: StrictStr = Field(description="Username of the user")
36
+ jwt: Optional[StrictStr] = Field(default=None, description="JTW token for authentification to join the conversation.")
37
+ api_key: Optional[StrictStr] = Field(default=None, description="Api ley for authentification to join the conversation.")
38
+ dataset: StrictStr = Field(description="Name of the dataset")
39
+ conversation_id: StrictStr = Field(description="ID of the conversation")
40
+ user: Optional[StrictStr] = Field(default=None, description="User that is joining the conversation")
41
+ role: StrictStr
42
+ contents: List[ContentItem]
43
+ message_id: StrictStr
44
+ parent_message_id: Optional[StrictStr] = None
45
+ timestamp: Optional[StrictStr] = '2026-04-14T13:50:20Z'
46
+ feedback: Optional[StrictInt] = -1
47
+ origin: Optional[StrictStr] = None
48
+ sources: Optional[List[Source]] = Field(default=None, description="All sources referenced in the response")
49
+ all_sources: Optional[List[Source]] = Field(default=None, description="All retrieved sources passed to the llm")
50
+ task_category: Optional[StrictStr] = None
51
+ interface_origin: Optional[StrictStr] = None
52
+ comment: Optional[StrictStr] = None
53
+ llm_choice: Optional[StrictStr] = None
54
+ error_key: Optional[StrictStr] = None
55
+ prompt_used: Optional[StrictStr] = None
56
+ mode: Optional[StrictStr] = None
57
+ is_input_data_cropped: Optional[StrictBool] = None
58
+ aggs: Optional[List[AggregationsGroup]] = None
59
+ expanded_question: Optional[StrictStr] = None
60
+ prompt_type: Optional[StrictStr] = None
61
+ tagged_assistant_name: Optional[StrictStr] = None
62
+ synonyms_used: Optional[List[StrictStr]] = None
63
+ tool_calls: Optional[List[Dict[str, Any]]] = None
64
+ tool_call_id: Optional[StrictStr] = None
65
+ tool_selections: Optional[List[ToolSelection]] = None
66
+ server_uids: Optional[List[StrictStr]] = None
67
+ thinking_blocks: Optional[List[ThinkingBlock]] = None
68
+ websearch_sites: Optional[List[WebsearchScrapingSite]] = None
69
+ merge_with_message_id: Optional[StrictStr] = None
70
+ capability_type: Optional[StrictStr] = None
71
+ warn_visibility: Optional[StrictStr] = 'none'
72
+ status: StrictStr
73
+ __properties: ClassVar[List[str]] = ["username", "jwt", "api_key", "dataset", "conversation_id", "user", "role", "contents", "message_id", "parent_message_id", "timestamp", "feedback", "origin", "sources", "all_sources", "task_category", "interface_origin", "comment", "llm_choice", "error_key", "prompt_used", "mode", "is_input_data_cropped", "aggs", "expanded_question", "prompt_type", "tagged_assistant_name", "synonyms_used", "tool_calls", "tool_call_id", "tool_selections", "server_uids", "thinking_blocks", "websearch_sites", "merge_with_message_id", "capability_type", "warn_visibility", "status"]
74
+
75
+ @field_validator('role')
76
+ def role_validate_enum(cls, value):
77
+ """Validates the enum"""
78
+ if value not in set(['assistant', 'user', 'tool']):
79
+ raise ValueError("must be one of enum values ('assistant', 'user', 'tool')")
80
+ return value
81
+
82
+ @field_validator('task_category')
83
+ def task_category_validate_enum(cls, value):
84
+ """Validates the enum"""
85
+ if value is None:
86
+ return value
87
+
88
+ if value not in set(['text', 'sparql', 'sql', 'sparql2text', 'sparqlvisualize', 'undefined', 'typing', 'user_joined', 'user_left', 'human_takeover_proposed', 'human_takeover_accepted', 'human_takeover_rejected', 'websearch', 'thinking', 'something_went_wrong', 'mcp_tool_calls', 'mcp_tool_choice_accept', 'mcp_tool_choice_reject', 'mcp_ask_for_connection', 'mcp_tool_choice_ask_confirmation', 'mcp_tool_call_response', 'request_initial_message', 'econsilium-request-for-new-token']):
89
+ raise ValueError("must be one of enum values ('text', 'sparql', 'sql', 'sparql2text', 'sparqlvisualize', 'undefined', 'typing', 'user_joined', 'user_left', 'human_takeover_proposed', 'human_takeover_accepted', 'human_takeover_rejected', 'websearch', 'thinking', 'something_went_wrong', 'mcp_tool_calls', 'mcp_tool_choice_accept', 'mcp_tool_choice_reject', 'mcp_ask_for_connection', 'mcp_tool_choice_ask_confirmation', 'mcp_tool_call_response', 'request_initial_message', 'econsilium-request-for-new-token')")
90
+ return value
91
+
92
+ @field_validator('error_key')
93
+ def error_key_validate_enum(cls, value):
94
+ """Validates the enum"""
95
+ if value is None:
96
+ return value
97
+
98
+ if value not in set(['authentication_error', 'permission_denied', 'context_window_exceeded', 'content_policy_violation', 'rejected_request', 'bad_request', 'not_found', 'unprocessable_entity', 'rate_limit', 'timeout', 'internal_server_error', 'bad_gateway', 'service_unavailable', 'api_connection_error', 'api_error', 'econsilium_token_error', 'unknown']):
99
+ raise ValueError("must be one of enum values ('authentication_error', 'permission_denied', 'context_window_exceeded', 'content_policy_violation', 'rejected_request', 'bad_request', 'not_found', 'unprocessable_entity', 'rate_limit', 'timeout', 'internal_server_error', 'bad_gateway', 'service_unavailable', 'api_connection_error', 'api_error', 'econsilium_token_error', 'unknown')")
100
+ return value
101
+
102
+ @field_validator('mode')
103
+ def mode_validate_enum(cls, value):
104
+ """Validates the enum"""
105
+ if value is None:
106
+ return value
107
+
108
+ if value not in set(['rag', 'full-context', 'rag-with-map-reduce', 'full_context_with_map_reduce']):
109
+ raise ValueError("must be one of enum values ('rag', 'full-context', 'rag-with-map-reduce', 'full_context_with_map_reduce')")
110
+ return value
111
+
112
+ @field_validator('capability_type')
113
+ def capability_type_validate_enum(cls, value):
114
+ """Validates the enum"""
115
+ if value is None:
116
+ return value
117
+
118
+ if value not in set(['web_search', 'retrieve_documents']):
119
+ raise ValueError("must be one of enum values ('web_search', 'retrieve_documents')")
120
+ return value
121
+
122
+ @field_validator('warn_visibility')
123
+ def warn_visibility_validate_enum(cls, value):
124
+ """Validates the enum"""
125
+ if value is None:
126
+ return value
127
+
128
+ if value not in set(['shared', 'shared_anonymized', 'incognito', 'not_shared', 'none']):
129
+ raise ValueError("must be one of enum values ('shared', 'shared_anonymized', 'incognito', 'not_shared', 'none')")
130
+ return value
131
+
132
+ @field_validator('status')
133
+ def status_validate_enum(cls, value):
134
+ """Validates the enum"""
135
+ if value not in set(['COMPLETING', 'COMPLETED', 'THINKING', 'THINKING_COMPLETED', 'SOMETHING_WENT_WRONG']):
136
+ raise ValueError("must be one of enum values ('COMPLETING', 'COMPLETED', 'THINKING', 'THINKING_COMPLETED', 'SOMETHING_WENT_WRONG')")
137
+ return value
138
+
139
+ model_config = ConfigDict(
140
+ populate_by_name=True,
141
+ validate_assignment=True,
142
+ protected_namespaces=(),
143
+ )
144
+
145
+
146
+ def to_str(self) -> str:
147
+ """Returns the string representation of the model using alias"""
148
+ return pprint.pformat(self.model_dump(by_alias=True))
149
+
150
+ def to_json(self) -> str:
151
+ """Returns the JSON representation of the model using alias"""
152
+ # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead
153
+ return json.dumps(self.to_dict())
154
+
155
+ @classmethod
156
+ def from_json(cls, json_str: str) -> Optional[Self]:
157
+ """Create an instance of SocketConversationMessage from a JSON string"""
158
+ return cls.from_dict(json.loads(json_str))
159
+
160
+ def to_dict(self) -> Dict[str, Any]:
161
+ """Return the dictionary representation of the model using alias.
162
+
163
+ This has the following differences from calling pydantic's
164
+ `self.model_dump(by_alias=True)`:
165
+
166
+ * `None` is only added to the output dict for nullable fields that
167
+ were set at model initialization. Other fields with value `None`
168
+ are ignored.
169
+ """
170
+ excluded_fields: Set[str] = set([
171
+ ])
172
+
173
+ _dict = self.model_dump(
174
+ by_alias=True,
175
+ exclude=excluded_fields,
176
+ exclude_none=True,
177
+ )
178
+ # override the default output from pydantic by calling `to_dict()` of each item in contents (list)
179
+ _items = []
180
+ if self.contents:
181
+ for _item_contents in self.contents:
182
+ if _item_contents:
183
+ _items.append(_item_contents.to_dict())
184
+ _dict['contents'] = _items
185
+ # override the default output from pydantic by calling `to_dict()` of each item in sources (list)
186
+ _items = []
187
+ if self.sources:
188
+ for _item_sources in self.sources:
189
+ if _item_sources:
190
+ _items.append(_item_sources.to_dict())
191
+ _dict['sources'] = _items
192
+ # override the default output from pydantic by calling `to_dict()` of each item in all_sources (list)
193
+ _items = []
194
+ if self.all_sources:
195
+ for _item_all_sources in self.all_sources:
196
+ if _item_all_sources:
197
+ _items.append(_item_all_sources.to_dict())
198
+ _dict['all_sources'] = _items
199
+ # override the default output from pydantic by calling `to_dict()` of each item in aggs (list)
200
+ _items = []
201
+ if self.aggs:
202
+ for _item_aggs in self.aggs:
203
+ if _item_aggs:
204
+ _items.append(_item_aggs.to_dict())
205
+ _dict['aggs'] = _items
206
+ # override the default output from pydantic by calling `to_dict()` of each item in tool_selections (list)
207
+ _items = []
208
+ if self.tool_selections:
209
+ for _item_tool_selections in self.tool_selections:
210
+ if _item_tool_selections:
211
+ _items.append(_item_tool_selections.to_dict())
212
+ _dict['tool_selections'] = _items
213
+ # override the default output from pydantic by calling `to_dict()` of each item in thinking_blocks (list)
214
+ _items = []
215
+ if self.thinking_blocks:
216
+ for _item_thinking_blocks in self.thinking_blocks:
217
+ if _item_thinking_blocks:
218
+ _items.append(_item_thinking_blocks.to_dict())
219
+ _dict['thinking_blocks'] = _items
220
+ # override the default output from pydantic by calling `to_dict()` of each item in websearch_sites (list)
221
+ _items = []
222
+ if self.websearch_sites:
223
+ for _item_websearch_sites in self.websearch_sites:
224
+ if _item_websearch_sites:
225
+ _items.append(_item_websearch_sites.to_dict())
226
+ _dict['websearch_sites'] = _items
227
+ return _dict
228
+
229
+ @classmethod
230
+ def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
231
+ """Create an instance of SocketConversationMessage from a dict"""
232
+ if obj is None:
233
+ return None
234
+
235
+ if not isinstance(obj, dict):
236
+ return cls.model_validate(obj)
237
+
238
+ _obj = cls.model_validate({
239
+ "username": obj.get("username"),
240
+ "jwt": obj.get("jwt"),
241
+ "api_key": obj.get("api_key"),
242
+ "dataset": obj.get("dataset"),
243
+ "conversation_id": obj.get("conversation_id"),
244
+ "user": obj.get("user"),
245
+ "role": obj.get("role"),
246
+ "contents": [ContentItem.from_dict(_item) for _item in obj["contents"]] if obj.get("contents") is not None else None,
247
+ "message_id": obj.get("message_id"),
248
+ "parent_message_id": obj.get("parent_message_id"),
249
+ "timestamp": obj.get("timestamp") if obj.get("timestamp") is not None else '2026-04-14T13:50:20Z',
250
+ "feedback": obj.get("feedback") if obj.get("feedback") is not None else -1,
251
+ "origin": obj.get("origin"),
252
+ "sources": [Source.from_dict(_item) for _item in obj["sources"]] if obj.get("sources") is not None else None,
253
+ "all_sources": [Source.from_dict(_item) for _item in obj["all_sources"]] if obj.get("all_sources") is not None else None,
254
+ "task_category": obj.get("task_category"),
255
+ "interface_origin": obj.get("interface_origin"),
256
+ "comment": obj.get("comment"),
257
+ "llm_choice": obj.get("llm_choice"),
258
+ "error_key": obj.get("error_key"),
259
+ "prompt_used": obj.get("prompt_used"),
260
+ "mode": obj.get("mode"),
261
+ "is_input_data_cropped": obj.get("is_input_data_cropped"),
262
+ "aggs": [AggregationsGroup.from_dict(_item) for _item in obj["aggs"]] if obj.get("aggs") is not None else None,
263
+ "expanded_question": obj.get("expanded_question"),
264
+ "prompt_type": obj.get("prompt_type"),
265
+ "tagged_assistant_name": obj.get("tagged_assistant_name"),
266
+ "synonyms_used": obj.get("synonyms_used"),
267
+ "tool_calls": obj.get("tool_calls"),
268
+ "tool_call_id": obj.get("tool_call_id"),
269
+ "tool_selections": [ToolSelection.from_dict(_item) for _item in obj["tool_selections"]] if obj.get("tool_selections") is not None else None,
270
+ "server_uids": obj.get("server_uids"),
271
+ "thinking_blocks": [ThinkingBlock.from_dict(_item) for _item in obj["thinking_blocks"]] if obj.get("thinking_blocks") is not None else None,
272
+ "websearch_sites": [WebsearchScrapingSite.from_dict(_item) for _item in obj["websearch_sites"]] if obj.get("websearch_sites") is not None else None,
273
+ "merge_with_message_id": obj.get("merge_with_message_id"),
274
+ "capability_type": obj.get("capability_type"),
275
+ "warn_visibility": obj.get("warn_visibility") if obj.get("warn_visibility") is not None else 'none',
276
+ "status": obj.get("status")
277
+ })
278
+ return _obj
279
+
280
+
@@ -0,0 +1,51 @@
1
+ # coding: utf-8
2
+
3
+ """
4
+ free-text-client
5
+
6
+ QAnswer 2.0 API
7
+
8
+ The version of the OpenAPI document: 2.0.0
9
+ Generated by OpenAPI Generator (https://openapi-generator.tech)
10
+
11
+ Do not edit the class manually.
12
+ """ # noqa: E501
13
+
14
+
15
+ from __future__ import annotations
16
+ import json
17
+ from enum import Enum
18
+ from typing_extensions import Self
19
+
20
+
21
+ class SocketEventsQAnswer(str, Enum):
22
+ """
23
+ All events that can be send over sockets
24
+ """
25
+
26
+ """
27
+ allowed enum values
28
+ """
29
+ JOIN_USER = 'join_user'
30
+ JOIN_DATASET = 'join_dataset'
31
+ JOIN_CONVERSATION = 'join_conversation'
32
+ STOP_CONVERSATION = 'stop_conversation'
33
+ CHAT = 'chat'
34
+ TRANSCRIBE = 'transcribe'
35
+ CONNECTOR_INDEXING = 'connector_indexing'
36
+ WEBSEARCH_SCRAPING = 'websearch_scraping'
37
+ DATA_EXTRACTION = 'data_extraction'
38
+ AI_CELL_GENERATION = 'ai_cell_generation'
39
+ REPORT_COPILOT_CONTINUATION = 'report_copilot_continuation'
40
+ REPORT_COPILOT_GENERATION_FROM_SLOTS = 'report_copilot_generation_from_slots'
41
+ REPORT_COPILOT_GENERATION_FROM_TEMPLATE = 'report_copilot_generation_from_template'
42
+ REPORT_COPILOT_REFINEMENT = 'report_copilot_refinement'
43
+ FEEDBACK_EVALUATION_PROGRESS = 'feedback_evaluation_progress'
44
+ NOTIFICATION = 'notification'
45
+
46
+ @classmethod
47
+ def from_json(cls, json_str: str) -> Self:
48
+ """Create an instance of SocketEventsQAnswer from a JSON string"""
49
+ return cls(json.loads(json_str))
50
+
51
+
@@ -0,0 +1,114 @@
1
+ # coding: utf-8
2
+
3
+ """
4
+ free-text-client
5
+
6
+ QAnswer 2.0 API
7
+
8
+ The version of the OpenAPI document: 2.0.0
9
+ Generated by OpenAPI Generator (https://openapi-generator.tech)
10
+
11
+ Do not edit the class manually.
12
+ """ # noqa: E501
13
+
14
+
15
+ from __future__ import annotations
16
+ import pprint
17
+ import re # noqa: F401
18
+ import json
19
+
20
+ from pydantic import BaseModel, ConfigDict, Field, StrictBool, StrictInt, StrictStr, field_validator
21
+ from typing import Any, ClassVar, Dict, List, Optional
22
+ from qanswer_sdk.models.feedback_model import FeedbackModel
23
+ from typing import Optional, Set
24
+ from typing_extensions import Self
25
+
26
+ class SocketFeedbackEvaluationProgress(BaseModel):
27
+ """
28
+ Progress event emitted after each feedback is evaluated.
29
+ """ # noqa: E501
30
+ username: StrictStr = Field(description="Username of the user")
31
+ jwt: Optional[StrictStr] = Field(default=None, description="JTW token for authentification to join the conversation.")
32
+ api_key: Optional[StrictStr] = Field(default=None, description="Api ley for authentification to join the conversation.")
33
+ dataset: Optional[StrictStr] = Field(default=None, description="Dataset of the evaluated feedback when available.")
34
+ organization_id: Optional[StrictInt] = Field(default=None, description="Organization ID of the evaluated feedback when available.")
35
+ chatbot_feedbacks: Optional[StrictBool] = Field(default=False, description="Whether the evaluated feedback are chatbot feedbacks when available.")
36
+ status: StrictStr
37
+ feedback: FeedbackModel
38
+ error_message: Optional[StrictStr] = None
39
+ __properties: ClassVar[List[str]] = ["username", "jwt", "api_key", "dataset", "organization_id", "chatbot_feedbacks", "status", "feedback", "error_message"]
40
+
41
+ @field_validator('status')
42
+ def status_validate_enum(cls, value):
43
+ """Validates the enum"""
44
+ if value not in set(['COMPLETING', 'COMPLETED', 'THINKING', 'THINKING_COMPLETED', 'SOMETHING_WENT_WRONG']):
45
+ raise ValueError("must be one of enum values ('COMPLETING', 'COMPLETED', 'THINKING', 'THINKING_COMPLETED', 'SOMETHING_WENT_WRONG')")
46
+ return value
47
+
48
+ model_config = ConfigDict(
49
+ populate_by_name=True,
50
+ validate_assignment=True,
51
+ protected_namespaces=(),
52
+ )
53
+
54
+
55
+ def to_str(self) -> str:
56
+ """Returns the string representation of the model using alias"""
57
+ return pprint.pformat(self.model_dump(by_alias=True))
58
+
59
+ def to_json(self) -> str:
60
+ """Returns the JSON representation of the model using alias"""
61
+ # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead
62
+ return json.dumps(self.to_dict())
63
+
64
+ @classmethod
65
+ def from_json(cls, json_str: str) -> Optional[Self]:
66
+ """Create an instance of SocketFeedbackEvaluationProgress from a JSON string"""
67
+ return cls.from_dict(json.loads(json_str))
68
+
69
+ def to_dict(self) -> Dict[str, Any]:
70
+ """Return the dictionary representation of the model using alias.
71
+
72
+ This has the following differences from calling pydantic's
73
+ `self.model_dump(by_alias=True)`:
74
+
75
+ * `None` is only added to the output dict for nullable fields that
76
+ were set at model initialization. Other fields with value `None`
77
+ are ignored.
78
+ """
79
+ excluded_fields: Set[str] = set([
80
+ ])
81
+
82
+ _dict = self.model_dump(
83
+ by_alias=True,
84
+ exclude=excluded_fields,
85
+ exclude_none=True,
86
+ )
87
+ # override the default output from pydantic by calling `to_dict()` of feedback
88
+ if self.feedback:
89
+ _dict['feedback'] = self.feedback.to_dict()
90
+ return _dict
91
+
92
+ @classmethod
93
+ def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
94
+ """Create an instance of SocketFeedbackEvaluationProgress from a dict"""
95
+ if obj is None:
96
+ return None
97
+
98
+ if not isinstance(obj, dict):
99
+ return cls.model_validate(obj)
100
+
101
+ _obj = cls.model_validate({
102
+ "username": obj.get("username"),
103
+ "jwt": obj.get("jwt"),
104
+ "api_key": obj.get("api_key"),
105
+ "dataset": obj.get("dataset"),
106
+ "organization_id": obj.get("organization_id"),
107
+ "chatbot_feedbacks": obj.get("chatbot_feedbacks") if obj.get("chatbot_feedbacks") is not None else False,
108
+ "status": obj.get("status"),
109
+ "feedback": FeedbackModel.from_dict(obj["feedback"]) if obj.get("feedback") is not None else None,
110
+ "error_message": obj.get("error_message")
111
+ })
112
+ return _obj
113
+
114
+
@@ -0,0 +1,207 @@
1
+ # coding: utf-8
2
+
3
+ """
4
+ free-text-client
5
+
6
+ QAnswer 2.0 API
7
+
8
+ The version of the OpenAPI document: 2.0.0
9
+ Generated by OpenAPI Generator (https://openapi-generator.tech)
10
+
11
+ Do not edit the class manually.
12
+ """ # noqa: E501
13
+
14
+
15
+ from __future__ import annotations
16
+ import pprint
17
+ import re # noqa: F401
18
+ import json
19
+
20
+ from datetime import datetime
21
+ from pydantic import BaseModel, ConfigDict, Field, StrictBool, StrictFloat, StrictInt, StrictStr, field_validator
22
+ from typing import Any, ClassVar, Dict, List, Optional, Union
23
+ from qanswer_sdk.models.source_metadata import SourceMetadata
24
+ from typing import Optional, Set
25
+ from typing_extensions import Self
26
+
27
+ class SocketFileMetadata(BaseModel):
28
+ """
29
+ SocketFileMetadata
30
+ """ # noqa: E501
31
+ file_id: StrictStr
32
+ title: Optional[StrictStr] = None
33
+ name: Optional[StrictStr] = None
34
+ file_name: StrictStr
35
+ display_name: Optional[StrictStr] = None
36
+ original_file_name: StrictStr
37
+ file_extension: StrictStr
38
+ additional_fields: Dict[str, Any]
39
+ author: Optional[StrictStr] = None
40
+ subject: Optional[StrictStr] = None
41
+ creator: Optional[StrictStr] = None
42
+ last_modified_by: Optional[StrictStr] = None
43
+ created_at: Optional[datetime] = None
44
+ modified_at: Optional[datetime] = None
45
+ category: Optional[StrictStr] = None
46
+ comments: Optional[StrictStr] = None
47
+ keywords: Optional[StrictStr] = None
48
+ source_metadata: Optional[SourceMetadata] = None
49
+ username: StrictStr = Field(description="Username of the user")
50
+ dataset: StrictStr = Field(description="Name of the dataset")
51
+ connector_id: StrictInt
52
+ connector_name: StrictStr
53
+ connector_type: StrictStr
54
+ usage: Optional[StrictInt] = 0
55
+ status: StrictStr
56
+ failure_reason: Optional[StrictStr] = None
57
+ source: StrictStr
58
+ source_type: Optional[StrictStr] = None
59
+ weight: Optional[Union[StrictFloat, StrictInt]] = 1.0
60
+ mime_type: Optional[StrictStr] = None
61
+ hashed_filename: Optional[StrictStr] = None
62
+ size: Optional[StrictInt] = None
63
+ do_ocr: Optional[StrictBool] = False
64
+ do_llm: Optional[StrictBool] = False
65
+ tabular_parse_method: Optional[StrictStr] = None
66
+ account_id: Optional[StrictStr] = None
67
+ favicon: Optional[StrictStr] = None
68
+ jwt: Optional[StrictStr] = Field(default=None, description="JTW token for authentification to join the conversation.")
69
+ api_key: Optional[StrictStr] = Field(default=None, description="Api ley for authentification to join the conversation.")
70
+ size_in_mb: Optional[Union[StrictFloat, StrictInt]] = 0.0
71
+ number_of_files: Optional[StrictInt] = 0
72
+ has_files_pending_upload: Optional[StrictBool] = False
73
+ n_files_to_index: Optional[StrictInt] = 0
74
+ all_files_to_index: Optional[StrictInt] = 0
75
+ is_assistant_indexing: Optional[StrictBool] = False
76
+ __properties: ClassVar[List[str]] = ["file_id", "title", "name", "file_name", "display_name", "original_file_name", "file_extension", "additional_fields", "author", "subject", "creator", "last_modified_by", "created_at", "modified_at", "category", "comments", "keywords", "source_metadata", "username", "dataset", "connector_id", "connector_name", "connector_type", "usage", "status", "failure_reason", "source", "source_type", "weight", "mime_type", "hashed_filename", "size", "do_ocr", "do_llm", "tabular_parse_method", "account_id", "favicon", "jwt", "api_key", "size_in_mb", "number_of_files", "has_files_pending_upload", "n_files_to_index", "all_files_to_index", "is_assistant_indexing"]
77
+
78
+ @field_validator('status')
79
+ def status_validate_enum(cls, value):
80
+ """Validates the enum"""
81
+ if value not in set(['Submitted', 'Uploaded', 'Converted', 'Indexed', 'QuotaExceeded', 'Failed', 'MalwareDetected', 'NeedsToBeUploaded']):
82
+ raise ValueError("must be one of enum values ('Submitted', 'Uploaded', 'Converted', 'Indexed', 'QuotaExceeded', 'Failed', 'MalwareDetected', 'NeedsToBeUploaded')")
83
+ return value
84
+
85
+ @field_validator('failure_reason')
86
+ def failure_reason_validate_enum(cls, value):
87
+ """Validates the enum"""
88
+ if value is None:
89
+ return value
90
+
91
+ if value not in set(['format_not_supported', 'file_empty', 'pdf_conversion_failed', 'embedding_failed', 'indexing_failed', 'quota_exceeded', 'illegal_filename', 'malware_detected', 'duplicate_filename', 'unknown_error', 'website_not_reachable', 'remote_file_rejected', 'other']):
92
+ raise ValueError("must be one of enum values ('format_not_supported', 'file_empty', 'pdf_conversion_failed', 'embedding_failed', 'indexing_failed', 'quota_exceeded', 'illegal_filename', 'malware_detected', 'duplicate_filename', 'unknown_error', 'website_not_reachable', 'remote_file_rejected', 'other')")
93
+ return value
94
+
95
+ @field_validator('source_type')
96
+ def source_type_validate_enum(cls, value):
97
+ """Validates the enum"""
98
+ if value is None:
99
+ return value
100
+
101
+ if value not in set(['document', 'website', 'qna']):
102
+ raise ValueError("must be one of enum values ('document', 'website', 'qna')")
103
+ return value
104
+
105
+ model_config = ConfigDict(
106
+ populate_by_name=True,
107
+ validate_assignment=True,
108
+ protected_namespaces=(),
109
+ )
110
+
111
+
112
+ def to_str(self) -> str:
113
+ """Returns the string representation of the model using alias"""
114
+ return pprint.pformat(self.model_dump(by_alias=True))
115
+
116
+ def to_json(self) -> str:
117
+ """Returns the JSON representation of the model using alias"""
118
+ # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead
119
+ return json.dumps(self.to_dict())
120
+
121
+ @classmethod
122
+ def from_json(cls, json_str: str) -> Optional[Self]:
123
+ """Create an instance of SocketFileMetadata from a JSON string"""
124
+ return cls.from_dict(json.loads(json_str))
125
+
126
+ def to_dict(self) -> Dict[str, Any]:
127
+ """Return the dictionary representation of the model using alias.
128
+
129
+ This has the following differences from calling pydantic's
130
+ `self.model_dump(by_alias=True)`:
131
+
132
+ * `None` is only added to the output dict for nullable fields that
133
+ were set at model initialization. Other fields with value `None`
134
+ are ignored.
135
+ """
136
+ excluded_fields: Set[str] = set([
137
+ ])
138
+
139
+ _dict = self.model_dump(
140
+ by_alias=True,
141
+ exclude=excluded_fields,
142
+ exclude_none=True,
143
+ )
144
+ # override the default output from pydantic by calling `to_dict()` of source_metadata
145
+ if self.source_metadata:
146
+ _dict['source_metadata'] = self.source_metadata.to_dict()
147
+ return _dict
148
+
149
+ @classmethod
150
+ def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
151
+ """Create an instance of SocketFileMetadata from a dict"""
152
+ if obj is None:
153
+ return None
154
+
155
+ if not isinstance(obj, dict):
156
+ return cls.model_validate(obj)
157
+
158
+ _obj = cls.model_validate({
159
+ "file_id": obj.get("file_id"),
160
+ "title": obj.get("title"),
161
+ "name": obj.get("name"),
162
+ "file_name": obj.get("file_name"),
163
+ "display_name": obj.get("display_name"),
164
+ "original_file_name": obj.get("original_file_name"),
165
+ "file_extension": obj.get("file_extension"),
166
+ "additional_fields": obj.get("additional_fields"),
167
+ "author": obj.get("author"),
168
+ "subject": obj.get("subject"),
169
+ "creator": obj.get("creator"),
170
+ "last_modified_by": obj.get("last_modified_by"),
171
+ "created_at": obj.get("created_at"),
172
+ "modified_at": obj.get("modified_at"),
173
+ "category": obj.get("category"),
174
+ "comments": obj.get("comments"),
175
+ "keywords": obj.get("keywords"),
176
+ "source_metadata": SourceMetadata.from_dict(obj["source_metadata"]) if obj.get("source_metadata") is not None else None,
177
+ "username": obj.get("username"),
178
+ "dataset": obj.get("dataset"),
179
+ "connector_id": obj.get("connector_id"),
180
+ "connector_name": obj.get("connector_name"),
181
+ "connector_type": obj.get("connector_type"),
182
+ "usage": obj.get("usage") if obj.get("usage") is not None else 0,
183
+ "status": obj.get("status"),
184
+ "failure_reason": obj.get("failure_reason"),
185
+ "source": obj.get("source"),
186
+ "source_type": obj.get("source_type"),
187
+ "weight": obj.get("weight") if obj.get("weight") is not None else 1.0,
188
+ "mime_type": obj.get("mime_type"),
189
+ "hashed_filename": obj.get("hashed_filename"),
190
+ "size": obj.get("size"),
191
+ "do_ocr": obj.get("do_ocr") if obj.get("do_ocr") is not None else False,
192
+ "do_llm": obj.get("do_llm") if obj.get("do_llm") is not None else False,
193
+ "tabular_parse_method": obj.get("tabular_parse_method"),
194
+ "account_id": obj.get("account_id"),
195
+ "favicon": obj.get("favicon"),
196
+ "jwt": obj.get("jwt"),
197
+ "api_key": obj.get("api_key"),
198
+ "size_in_mb": obj.get("size_in_mb") if obj.get("size_in_mb") is not None else 0.0,
199
+ "number_of_files": obj.get("number_of_files") if obj.get("number_of_files") is not None else 0,
200
+ "has_files_pending_upload": obj.get("has_files_pending_upload") if obj.get("has_files_pending_upload") is not None else False,
201
+ "n_files_to_index": obj.get("n_files_to_index") if obj.get("n_files_to_index") is not None else 0,
202
+ "all_files_to_index": obj.get("all_files_to_index") if obj.get("all_files_to_index") is not None else 0,
203
+ "is_assistant_indexing": obj.get("is_assistant_indexing") if obj.get("is_assistant_indexing") is not None else False
204
+ })
205
+ return _obj
206
+
207
+