dify-oapi2 0.2.0__py3-none-any.whl → 0.4.0__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 (295) hide show
  1. dify_oapi/api/completion/v1/model/completion/completion_inputs.py +28 -4
  2. dify_oapi/api/completion/v1/model/completion/completion_types.py +19 -1
  3. dify_oapi/api/completion/v1/model/completion/input_file_object.py +58 -0
  4. dify_oapi/api/completion/v1/model/completion/send_message_request_body.py +40 -44
  5. dify_oapi/api/completion/v1/model/completion/usage.py +4 -2
  6. dify_oapi/api/completion/v1/model/info/feature_config.py +91 -0
  7. dify_oapi/api/completion/v1/model/info/parameters_info.py +16 -8
  8. dify_oapi/api/completion/v1/model/info/site_info.py +3 -3
  9. dify_oapi/api/completion/v1/model/info/user_input_form.py +131 -16
  10. dify_oapi/api/knowledge/service.py +8 -0
  11. dify_oapi/api/knowledge/v1/model/batch_info.py +86 -0
  12. dify_oapi/api/knowledge/v1/model/bind_tags_to_dataset_request.py +30 -0
  13. dify_oapi/api/knowledge/v1/model/bind_tags_to_dataset_request_body.py +26 -0
  14. dify_oapi/api/{knowledge_base/v1/model/tag/bind_response.py → knowledge/v1/model/bind_tags_to_dataset_response.py} +1 -3
  15. dify_oapi/api/knowledge/v1/model/child_chunk_content.py +34 -0
  16. dify_oapi/api/knowledge/v1/model/child_chunk_info.py +101 -0
  17. dify_oapi/api/{knowledge_base/v1/model/segment → knowledge/v1/model}/create_child_chunk_request.py +8 -2
  18. dify_oapi/api/knowledge/v1/model/create_child_chunk_request_body.py +44 -0
  19. dify_oapi/api/{knowledge_base/v1/model/segment → knowledge/v1/model}/create_child_chunk_response.py +5 -1
  20. dify_oapi/api/knowledge/v1/model/create_dataset_request.py +30 -0
  21. dify_oapi/api/knowledge/v1/model/create_dataset_request_body.py +67 -0
  22. dify_oapi/api/knowledge/v1/model/create_dataset_response.py +7 -0
  23. dify_oapi/api/knowledge/v1/model/create_document_by_file_request.py +55 -0
  24. dify_oapi/api/knowledge/v1/model/create_document_by_file_request_body.py +73 -0
  25. dify_oapi/api/{knowledge_base/v1/model/document/create_by_file_response.py → knowledge/v1/model/create_document_by_file_response.py} +1 -1
  26. dify_oapi/api/knowledge/v1/model/create_document_by_text_request.py +44 -0
  27. dify_oapi/api/knowledge/v1/model/create_document_by_text_request_body.py +73 -0
  28. dify_oapi/api/{knowledge_base/v1/model/document/create_by_text_response.py → knowledge/v1/model/create_document_by_text_response.py} +3 -3
  29. dify_oapi/api/knowledge/v1/model/create_segment_request.py +50 -0
  30. dify_oapi/api/knowledge/v1/model/create_segment_request_body.py +31 -0
  31. dify_oapi/api/{knowledge_base/v1/model/segment/create_response.py → knowledge/v1/model/create_segment_response.py} +5 -2
  32. dify_oapi/api/knowledge/v1/model/create_tag_request.py +30 -0
  33. dify_oapi/api/knowledge/v1/model/create_tag_request_body.py +28 -0
  34. dify_oapi/api/knowledge/v1/model/create_tag_response.py +7 -0
  35. dify_oapi/api/knowledge/v1/model/data_source_info.py +34 -0
  36. dify_oapi/api/knowledge/v1/model/dataset_info.py +122 -0
  37. dify_oapi/api/{knowledge_base/v1/model/segment → knowledge/v1/model}/delete_child_chunk_request.py +8 -2
  38. dify_oapi/api/knowledge/v1/model/delete_child_chunk_response.py +9 -0
  39. dify_oapi/api/knowledge/v1/model/delete_dataset_request.py +28 -0
  40. dify_oapi/api/{knowledge_base/v1/model/tag/delete_response.py → knowledge/v1/model/delete_dataset_response.py} +1 -3
  41. dify_oapi/api/knowledge/v1/model/delete_document_request.py +42 -0
  42. dify_oapi/api/knowledge/v1/model/delete_document_response.py +9 -0
  43. dify_oapi/api/knowledge/v1/model/delete_segment_request.py +48 -0
  44. dify_oapi/api/knowledge/v1/model/delete_segment_response.py +9 -0
  45. dify_oapi/api/knowledge/v1/model/delete_tag_request.py +30 -0
  46. dify_oapi/api/knowledge/v1/model/delete_tag_request_body.py +21 -0
  47. dify_oapi/api/{knowledge_base/v1/model/tag/unbind_response.py → knowledge/v1/model/delete_tag_response.py} +1 -3
  48. dify_oapi/api/knowledge/v1/model/document_info.py +132 -0
  49. dify_oapi/api/knowledge/v1/model/document_metadata.py +39 -0
  50. dify_oapi/api/knowledge/v1/model/embedding_model_parameters.py +47 -0
  51. dify_oapi/api/knowledge/v1/model/external_knowledge_info.py +34 -0
  52. dify_oapi/api/knowledge/v1/model/file_info.py +71 -0
  53. dify_oapi/api/knowledge/v1/model/get_batch_indexing_status_request.py +42 -0
  54. dify_oapi/api/knowledge/v1/model/get_batch_indexing_status_response.py +22 -0
  55. dify_oapi/api/knowledge/v1/model/get_dataset_request.py +28 -0
  56. dify_oapi/api/knowledge/v1/model/get_dataset_response.py +7 -0
  57. dify_oapi/api/knowledge/v1/model/get_dataset_tags_request.py +28 -0
  58. dify_oapi/api/knowledge/v1/model/get_dataset_tags_response.py +8 -0
  59. dify_oapi/api/knowledge/v1/model/get_document_request.py +42 -0
  60. dify_oapi/api/knowledge/v1/model/get_document_response.py +11 -0
  61. dify_oapi/api/knowledge/v1/model/get_segment_request.py +48 -0
  62. dify_oapi/api/{knowledge_base/v1/model/segment/get_response.py → knowledge/v1/model/get_segment_response.py} +5 -1
  63. dify_oapi/api/knowledge/v1/model/get_text_embedding_models_request.py +22 -0
  64. dify_oapi/api/knowledge/v1/model/get_text_embedding_models_response.py +7 -0
  65. dify_oapi/api/knowledge/v1/model/get_upload_file_info_request.py +42 -0
  66. dify_oapi/api/knowledge/v1/model/get_upload_file_info_response.py +11 -0
  67. dify_oapi/api/knowledge/v1/model/knowledge_types.py +100 -0
  68. dify_oapi/api/{knowledge_base/v1/model/segment → knowledge/v1/model}/list_child_chunks_request.py +10 -4
  69. dify_oapi/api/{knowledge_base/v1/model/segment → knowledge/v1/model}/list_child_chunks_response.py +4 -0
  70. dify_oapi/api/knowledge/v1/model/list_datasets_request.py +30 -0
  71. dify_oapi/api/{knowledge_base/v1/model/dataset/list_response.py → knowledge/v1/model/list_datasets_response.py} +1 -3
  72. dify_oapi/api/knowledge/v1/model/list_documents_request.py +48 -0
  73. dify_oapi/api/{knowledge_base/v1/model/document/list_response.py → knowledge/v1/model/list_documents_response.py} +3 -3
  74. dify_oapi/api/knowledge/v1/model/list_segments_request.py +60 -0
  75. dify_oapi/api/{knowledge_base/v1/model/segment/list_response.py → knowledge/v1/model/list_segments_response.py} +5 -2
  76. dify_oapi/api/knowledge/v1/model/list_tags_request.py +28 -0
  77. dify_oapi/api/knowledge/v1/model/list_tags_response.py +7 -0
  78. dify_oapi/api/knowledge/v1/model/model_credentials.py +34 -0
  79. dify_oapi/api/knowledge/v1/model/model_info.py +85 -0
  80. dify_oapi/api/knowledge/v1/model/model_parameters.py +34 -0
  81. dify_oapi/api/knowledge/v1/model/pagination_info.py +44 -0
  82. dify_oapi/api/knowledge/v1/model/preprocessing_rule.py +36 -0
  83. dify_oapi/api/knowledge/v1/model/process_rule.py +43 -0
  84. dify_oapi/api/knowledge/v1/model/process_rules.py +49 -0
  85. dify_oapi/api/knowledge/v1/model/query_info.py +29 -0
  86. dify_oapi/api/knowledge/v1/model/reranking_mode.py +36 -0
  87. dify_oapi/api/knowledge/v1/model/reranking_model.py +47 -0
  88. dify_oapi/api/knowledge/v1/model/retrieval_model.py +62 -0
  89. dify_oapi/api/knowledge/v1/model/retrieval_record.py +28 -0
  90. dify_oapi/api/knowledge/v1/model/retrieval_segment_info.py +41 -0
  91. dify_oapi/api/knowledge/v1/model/retrieve_from_dataset_request.py +36 -0
  92. dify_oapi/api/knowledge/v1/model/retrieve_from_dataset_request_body.py +38 -0
  93. dify_oapi/api/knowledge/v1/model/retrieve_from_dataset_response.py +9 -0
  94. dify_oapi/api/knowledge/v1/model/segment_content.py +39 -0
  95. dify_oapi/api/knowledge/v1/model/segment_document_info.py +41 -0
  96. dify_oapi/api/knowledge/v1/model/segment_info.py +131 -0
  97. dify_oapi/api/knowledge/v1/model/segmentation_rule.py +44 -0
  98. dify_oapi/api/knowledge/v1/model/subchunk_segmentation_rule.py +39 -0
  99. dify_oapi/api/knowledge/v1/model/tag_info.py +56 -0
  100. dify_oapi/api/knowledge/v1/model/unbind_tags_from_dataset_request.py +30 -0
  101. dify_oapi/api/knowledge/v1/model/unbind_tags_from_dataset_request_body.py +26 -0
  102. dify_oapi/api/{knowledge_base/v1/model/metadata/toggle_builtin_response.py → knowledge/v1/model/unbind_tags_from_dataset_response.py} +1 -3
  103. dify_oapi/api/{knowledge_base/v1/model/segment → knowledge/v1/model}/update_child_chunk_request.py +8 -2
  104. dify_oapi/api/{knowledge_base/v1/model/segment → knowledge/v1/model}/update_child_chunk_request_body.py +12 -1
  105. dify_oapi/api/{knowledge_base/v1/model/segment → knowledge/v1/model}/update_child_chunk_response.py +4 -0
  106. dify_oapi/api/knowledge/v1/model/update_dataset_request.py +36 -0
  107. dify_oapi/api/knowledge/v1/model/update_dataset_request_body.py +62 -0
  108. dify_oapi/api/knowledge/v1/model/update_dataset_response.py +7 -0
  109. dify_oapi/api/knowledge/v1/model/update_document_by_file_request.py +61 -0
  110. dify_oapi/api/knowledge/v1/model/update_document_by_file_request_body.py +68 -0
  111. dify_oapi/api/{knowledge_base/v1/model/document/update_by_file_response.py → knowledge/v1/model/update_document_by_file_response.py} +3 -3
  112. dify_oapi/api/knowledge/v1/model/update_document_by_text_request.py +50 -0
  113. dify_oapi/api/knowledge/v1/model/update_document_by_text_request_body.py +73 -0
  114. dify_oapi/api/{knowledge_base/v1/model/document/update_by_text_response.py → knowledge/v1/model/update_document_by_text_response.py} +2 -4
  115. dify_oapi/api/knowledge/v1/model/update_document_status_request.py +51 -0
  116. dify_oapi/api/knowledge/v1/model/update_document_status_request_body.py +29 -0
  117. dify_oapi/api/knowledge/v1/model/update_document_status_response.py +9 -0
  118. dify_oapi/api/knowledge/v1/model/update_segment_request.py +56 -0
  119. dify_oapi/api/knowledge/v1/model/update_segment_request_body.py +31 -0
  120. dify_oapi/api/{knowledge_base/v1/model/segment/update_response.py → knowledge/v1/model/update_segment_response.py} +5 -1
  121. dify_oapi/api/knowledge/v1/model/update_tag_request.py +30 -0
  122. dify_oapi/api/knowledge/v1/model/update_tag_request_body.py +26 -0
  123. dify_oapi/api/knowledge/v1/model/update_tag_response.py +7 -0
  124. dify_oapi/api/knowledge/v1/resource/__init__.py +8 -0
  125. dify_oapi/api/knowledge/v1/resource/chunk.py +55 -0
  126. dify_oapi/api/knowledge/v1/resource/dataset.py +69 -0
  127. dify_oapi/api/knowledge/v1/resource/document.py +135 -0
  128. dify_oapi/api/knowledge/v1/resource/model.py +25 -0
  129. dify_oapi/api/knowledge/v1/resource/segment.py +55 -0
  130. dify_oapi/api/knowledge/v1/resource/tag.py +81 -0
  131. dify_oapi/api/knowledge/v1/version.py +18 -0
  132. dify_oapi/api/workflow/v1/model/app_info.py +45 -0
  133. dify_oapi/api/workflow/v1/model/end_user_info.py +38 -0
  134. dify_oapi/api/workflow/v1/model/execution_metadata.py +33 -0
  135. dify_oapi/api/workflow/v1/model/file_upload_config.py +45 -0
  136. dify_oapi/api/workflow/v1/model/file_upload_info.py +53 -0
  137. dify_oapi/api/workflow/v1/model/get_info_request.py +24 -0
  138. dify_oapi/api/{knowledge_base/v1/model/metadata/update_document_response.py → workflow/v1/model/get_info_response.py} +4 -2
  139. dify_oapi/api/workflow/v1/model/get_parameters_request.py +24 -0
  140. dify_oapi/api/{knowledge_base/v1/model/document/delete_response.py → workflow/v1/model/get_parameters_response.py} +2 -2
  141. dify_oapi/api/workflow/v1/model/get_site_request.py +24 -0
  142. dify_oapi/api/{knowledge_base/v1/model/metadata/delete_response.py → workflow/v1/model/get_site_response.py} +4 -2
  143. dify_oapi/api/workflow/v1/model/get_workflow_logs_request.py +48 -0
  144. dify_oapi/api/workflow/v1/model/get_workflow_logs_response.py +13 -0
  145. dify_oapi/api/workflow/v1/model/get_workflow_run_detail_request.py +30 -0
  146. dify_oapi/api/workflow/v1/model/get_workflow_run_detail_response.py +39 -0
  147. dify_oapi/api/workflow/v1/model/node_info.py +88 -0
  148. dify_oapi/api/workflow/v1/model/parameters_info.py +37 -0
  149. dify_oapi/api/workflow/v1/model/run_workflow_request.py +4 -4
  150. dify_oapi/api/workflow/v1/model/run_workflow_request_body.py +22 -17
  151. dify_oapi/api/workflow/v1/model/run_workflow_response.py +3 -18
  152. dify_oapi/api/workflow/v1/model/site_info.py +75 -0
  153. dify_oapi/api/workflow/v1/model/stop_workflow_request.py +9 -9
  154. dify_oapi/api/workflow/v1/model/stop_workflow_request_body.py +3 -3
  155. dify_oapi/api/workflow/v1/model/stop_workflow_response.py +2 -0
  156. dify_oapi/api/workflow/v1/model/system_parameters.py +38 -0
  157. dify_oapi/api/workflow/v1/model/upload_file_request.py +42 -0
  158. dify_oapi/api/workflow/v1/model/upload_file_request_body.py +23 -0
  159. dify_oapi/api/{knowledge_base/v1/model/dataset/delete_response.py → workflow/v1/model/upload_file_response.py} +2 -2
  160. dify_oapi/api/workflow/v1/model/user_input_form.py +43 -0
  161. dify_oapi/api/workflow/v1/model/workflow_file_info.py +40 -0
  162. dify_oapi/api/workflow/v1/model/workflow_inputs.py +56 -0
  163. dify_oapi/api/workflow/v1/model/workflow_log_info.py +57 -0
  164. dify_oapi/api/workflow/v1/model/workflow_run_data.py +72 -0
  165. dify_oapi/api/workflow/v1/model/workflow_run_info.py +35 -0
  166. dify_oapi/api/workflow/v1/model/workflow_run_log_info.py +65 -0
  167. dify_oapi/api/workflow/v1/model/workflow_types.py +54 -0
  168. dify_oapi/api/workflow/v1/resource/__init__.py +0 -1
  169. dify_oapi/api/workflow/v1/resource/workflow.py +73 -43
  170. dify_oapi/api/workflow/v1/version.py +2 -2
  171. dify_oapi/client.py +6 -6
  172. {dify_oapi2-0.2.0.dist-info → dify_oapi2-0.4.0.dist-info}/METADATA +16 -12
  173. dify_oapi2-0.4.0.dist-info/RECORD +324 -0
  174. dify_oapi/api/knowledge_base/service.py +0 -8
  175. dify_oapi/api/knowledge_base/v1/model/dataset/__init__.py +0 -49
  176. dify_oapi/api/knowledge_base/v1/model/dataset/create_request.py +0 -32
  177. dify_oapi/api/knowledge_base/v1/model/dataset/create_request_body.py +0 -72
  178. dify_oapi/api/knowledge_base/v1/model/dataset/create_response.py +0 -11
  179. dify_oapi/api/knowledge_base/v1/model/dataset/dataset_info.py +0 -150
  180. dify_oapi/api/knowledge_base/v1/model/dataset/dataset_types.py +0 -36
  181. dify_oapi/api/knowledge_base/v1/model/dataset/delete_request.py +0 -30
  182. dify_oapi/api/knowledge_base/v1/model/dataset/external_knowledge_info.py +0 -38
  183. dify_oapi/api/knowledge_base/v1/model/dataset/filter_condition.py +0 -72
  184. dify_oapi/api/knowledge_base/v1/model/dataset/get_request.py +0 -30
  185. dify_oapi/api/knowledge_base/v1/model/dataset/get_response.py +0 -11
  186. dify_oapi/api/knowledge_base/v1/model/dataset/list_request.py +0 -45
  187. dify_oapi/api/knowledge_base/v1/model/dataset/metadata_filtering_conditions.py +0 -30
  188. dify_oapi/api/knowledge_base/v1/model/dataset/reranking_model.py +0 -28
  189. dify_oapi/api/knowledge_base/v1/model/dataset/retrieval_model.py +0 -144
  190. dify_oapi/api/knowledge_base/v1/model/dataset/retrieve_request.py +0 -38
  191. dify_oapi/api/knowledge_base/v1/model/dataset/retrieve_request_body.py +0 -38
  192. dify_oapi/api/knowledge_base/v1/model/dataset/retrieve_response.py +0 -53
  193. dify_oapi/api/knowledge_base/v1/model/dataset/update_request.py +0 -38
  194. dify_oapi/api/knowledge_base/v1/model/dataset/update_request_body.py +0 -58
  195. dify_oapi/api/knowledge_base/v1/model/dataset/update_response.py +0 -11
  196. dify_oapi/api/knowledge_base/v1/model/document/__init__.py +0 -0
  197. dify_oapi/api/knowledge_base/v1/model/document/create_by_file_request.py +0 -53
  198. dify_oapi/api/knowledge_base/v1/model/document/create_by_file_request_body.py +0 -31
  199. dify_oapi/api/knowledge_base/v1/model/document/create_by_file_request_body_data.py +0 -78
  200. dify_oapi/api/knowledge_base/v1/model/document/create_by_text_request.py +0 -38
  201. dify_oapi/api/knowledge_base/v1/model/document/create_by_text_request_body.py +0 -75
  202. dify_oapi/api/knowledge_base/v1/model/document/data_source_info.py +0 -30
  203. dify_oapi/api/knowledge_base/v1/model/document/delete_request.py +0 -38
  204. dify_oapi/api/knowledge_base/v1/model/document/document_info.py +0 -164
  205. dify_oapi/api/knowledge_base/v1/model/document/document_types.py +0 -36
  206. dify_oapi/api/knowledge_base/v1/model/document/get_request.py +0 -40
  207. dify_oapi/api/knowledge_base/v1/model/document/get_response.py +0 -9
  208. dify_oapi/api/knowledge_base/v1/model/document/get_upload_file_request.py +0 -38
  209. dify_oapi/api/knowledge_base/v1/model/document/get_upload_file_response.py +0 -11
  210. dify_oapi/api/knowledge_base/v1/model/document/indexing_status_info.py +0 -80
  211. dify_oapi/api/knowledge_base/v1/model/document/indexing_status_request.py +0 -36
  212. dify_oapi/api/knowledge_base/v1/model/document/indexing_status_response.py +0 -11
  213. dify_oapi/api/knowledge_base/v1/model/document/list_request.py +0 -42
  214. dify_oapi/api/knowledge_base/v1/model/document/pre_processing_rule.py +0 -32
  215. dify_oapi/api/knowledge_base/v1/model/document/process_rule.py +0 -34
  216. dify_oapi/api/knowledge_base/v1/model/document/retrieval_model.py +0 -54
  217. dify_oapi/api/knowledge_base/v1/model/document/rules.py +0 -31
  218. dify_oapi/api/knowledge_base/v1/model/document/segmentation.py +0 -35
  219. dify_oapi/api/knowledge_base/v1/model/document/subchunk_segmentation.py +0 -35
  220. dify_oapi/api/knowledge_base/v1/model/document/update_by_file_request.py +0 -53
  221. dify_oapi/api/knowledge_base/v1/model/document/update_by_file_request_body.py +0 -26
  222. dify_oapi/api/knowledge_base/v1/model/document/update_by_file_request_body_data.py +0 -40
  223. dify_oapi/api/knowledge_base/v1/model/document/update_by_text_request.py +0 -55
  224. dify_oapi/api/knowledge_base/v1/model/document/update_by_text_request_body.py +0 -46
  225. dify_oapi/api/knowledge_base/v1/model/document/update_status_request.py +0 -55
  226. dify_oapi/api/knowledge_base/v1/model/document/update_status_request_body.py +0 -32
  227. dify_oapi/api/knowledge_base/v1/model/document/update_status_response.py +0 -9
  228. dify_oapi/api/knowledge_base/v1/model/document/upload_file_info.py +0 -65
  229. dify_oapi/api/knowledge_base/v1/model/metadata/__init__.py +0 -35
  230. dify_oapi/api/knowledge_base/v1/model/metadata/create_request.py +0 -38
  231. dify_oapi/api/knowledge_base/v1/model/metadata/create_request_body.py +0 -31
  232. dify_oapi/api/knowledge_base/v1/model/metadata/create_response.py +0 -13
  233. dify_oapi/api/knowledge_base/v1/model/metadata/delete_request.py +0 -36
  234. dify_oapi/api/knowledge_base/v1/model/metadata/list_request.py +0 -30
  235. dify_oapi/api/knowledge_base/v1/model/metadata/list_response.py +0 -9
  236. dify_oapi/api/knowledge_base/v1/model/metadata/metadata_info.py +0 -38
  237. dify_oapi/api/knowledge_base/v1/model/metadata/metadata_types.py +0 -15
  238. dify_oapi/api/knowledge_base/v1/model/metadata/toggle_builtin_request.py +0 -36
  239. dify_oapi/api/knowledge_base/v1/model/metadata/update_document_request.py +0 -38
  240. dify_oapi/api/knowledge_base/v1/model/metadata/update_document_request_body.py +0 -79
  241. dify_oapi/api/knowledge_base/v1/model/metadata/update_request.py +0 -44
  242. dify_oapi/api/knowledge_base/v1/model/metadata/update_request_body.py +0 -24
  243. dify_oapi/api/knowledge_base/v1/model/metadata/update_response.py +0 -13
  244. dify_oapi/api/knowledge_base/v1/model/segment/__init__.py +0 -77
  245. dify_oapi/api/knowledge_base/v1/model/segment/child_chunk_info.py +0 -88
  246. dify_oapi/api/knowledge_base/v1/model/segment/create_child_chunk_request_body.py +0 -23
  247. dify_oapi/api/knowledge_base/v1/model/segment/create_request.py +0 -42
  248. dify_oapi/api/knowledge_base/v1/model/segment/create_request_body.py +0 -25
  249. dify_oapi/api/knowledge_base/v1/model/segment/delete_child_chunk_response.py +0 -5
  250. dify_oapi/api/knowledge_base/v1/model/segment/delete_request.py +0 -40
  251. dify_oapi/api/knowledge_base/v1/model/segment/delete_response.py +0 -5
  252. dify_oapi/api/knowledge_base/v1/model/segment/get_request.py +0 -40
  253. dify_oapi/api/knowledge_base/v1/model/segment/list_request.py +0 -50
  254. dify_oapi/api/knowledge_base/v1/model/segment/segment_data.py +0 -43
  255. dify_oapi/api/knowledge_base/v1/model/segment/segment_info.py +0 -123
  256. dify_oapi/api/knowledge_base/v1/model/segment/segment_types.py +0 -24
  257. dify_oapi/api/knowledge_base/v1/model/segment/update_request.py +0 -48
  258. dify_oapi/api/knowledge_base/v1/model/segment/update_request_body.py +0 -25
  259. dify_oapi/api/knowledge_base/v1/model/tag/__init__.py +0 -41
  260. dify_oapi/api/knowledge_base/v1/model/tag/bind_request.py +0 -32
  261. dify_oapi/api/knowledge_base/v1/model/tag/bind_request_body.py +0 -29
  262. dify_oapi/api/knowledge_base/v1/model/tag/create_request.py +0 -32
  263. dify_oapi/api/knowledge_base/v1/model/tag/create_request_body.py +0 -24
  264. dify_oapi/api/knowledge_base/v1/model/tag/create_response.py +0 -16
  265. dify_oapi/api/knowledge_base/v1/model/tag/delete_request.py +0 -32
  266. dify_oapi/api/knowledge_base/v1/model/tag/delete_request_body.py +0 -24
  267. dify_oapi/api/knowledge_base/v1/model/tag/list_request.py +0 -24
  268. dify_oapi/api/knowledge_base/v1/model/tag/list_response.py +0 -19
  269. dify_oapi/api/knowledge_base/v1/model/tag/query_bound_request.py +0 -30
  270. dify_oapi/api/knowledge_base/v1/model/tag/query_bound_response.py +0 -9
  271. dify_oapi/api/knowledge_base/v1/model/tag/tag_info.py +0 -38
  272. dify_oapi/api/knowledge_base/v1/model/tag/tag_types.py +0 -12
  273. dify_oapi/api/knowledge_base/v1/model/tag/unbind_request.py +0 -32
  274. dify_oapi/api/knowledge_base/v1/model/tag/unbind_request_body.py +0 -29
  275. dify_oapi/api/knowledge_base/v1/model/tag/update_request.py +0 -32
  276. dify_oapi/api/knowledge_base/v1/model/tag/update_request_body.py +0 -29
  277. dify_oapi/api/knowledge_base/v1/model/tag/update_response.py +0 -23
  278. dify_oapi/api/knowledge_base/v1/resource/__init__.py +0 -7
  279. dify_oapi/api/knowledge_base/v1/resource/dataset.py +0 -58
  280. dify_oapi/api/knowledge_base/v1/resource/document.py +0 -107
  281. dify_oapi/api/knowledge_base/v1/resource/metadata.py +0 -65
  282. dify_oapi/api/knowledge_base/v1/resource/segment.py +0 -110
  283. dify_oapi/api/knowledge_base/v1/resource/tag.py +0 -65
  284. dify_oapi/api/knowledge_base/v1/version.py +0 -12
  285. dify_oapi/api/workflow/v1/model/get_workflow_log_request.py +0 -50
  286. dify_oapi/api/workflow/v1/model/get_workflow_log_response.py +0 -42
  287. dify_oapi/api/workflow/v1/model/get_workflow_result_request.py +0 -30
  288. dify_oapi/api/workflow/v1/model/get_workflow_result_response.py +0 -17
  289. dify_oapi/api/workflow/v1/model/run_workflow_request_file.py +0 -50
  290. dify_oapi2-0.2.0.dist-info/RECORD +0 -312
  291. /dify_oapi/api/{knowledge_base → knowledge}/__init__.py +0 -0
  292. /dify_oapi/api/{knowledge_base → knowledge}/v1/__init__.py +0 -0
  293. /dify_oapi/api/{knowledge_base → knowledge}/v1/model/__init__.py +0 -0
  294. {dify_oapi2-0.2.0.dist-info → dify_oapi2-0.4.0.dist-info}/LICENSE +0 -0
  295. {dify_oapi2-0.2.0.dist-info → dify_oapi2-0.4.0.dist-info}/WHEEL +0 -0
@@ -0,0 +1,100 @@
1
+ """Knowledge Base API type definitions using Literal types for type safety."""
2
+
3
+ from typing import Literal
4
+
5
+ # Indexing technique types
6
+ IndexingTechnique = Literal["high_quality", "economy"]
7
+
8
+ # Permission types
9
+ Permission = Literal["only_me", "all_team_members", "partial_members"]
10
+
11
+ # Search method types
12
+ SearchMethod = Literal["hybrid_search", "semantic_search", "full_text_search", "keyword_search"]
13
+
14
+ # Document status types
15
+ DocumentStatus = Literal["indexing", "completed", "error", "paused"]
16
+
17
+ # Processing mode types
18
+ ProcessingMode = Literal["automatic", "custom"]
19
+
20
+ # File types
21
+ FileType = Literal["document", "image", "audio", "video", "custom"]
22
+
23
+ # Transfer method types
24
+ TransferMethod = Literal["remote_url", "local_file"]
25
+
26
+ # Tag types
27
+ TagType = Literal["knowledge", "custom"]
28
+
29
+ # Segment status types
30
+ SegmentStatus = Literal["waiting", "parsing", "cleaning", "splitting", "indexing", "completed", "error", "paused"]
31
+
32
+ # Document status action types
33
+ DocumentStatusAction = Literal["enable", "disable", "archive", "un_archive"]
34
+
35
+ # Document form types
36
+ DocumentForm = Literal["text_model", "hierarchical_model", "qa_model"]
37
+
38
+ # Model types
39
+ ModelType = Literal["text-embedding"]
40
+
41
+ # Provider types
42
+ ProviderType = Literal["vendor", "external"]
43
+
44
+ # Data source types
45
+ DataSourceType = Literal["upload_file", "notion_import", "website_crawl"]
46
+
47
+ # Dataset types
48
+ DatasetType = Literal["knowledge_base", "external_api"]
49
+
50
+ # Indexing status types
51
+ IndexingStatus = Literal["waiting", "parsing", "cleaning", "splitting", "indexing", "completed", "error", "paused"]
52
+
53
+ # Reranking model configuration types
54
+ RerankingProviderName = str # Dynamic provider names
55
+ RerankingModelName = str # Dynamic model names
56
+
57
+ # Preprocessing rule types
58
+ PreprocessingRuleId = Literal["remove_extra_spaces", "remove_urls_emails"]
59
+
60
+ # Parent mode types for hierarchical processing
61
+ ParentMode = Literal["full-doc", "paragraph"]
62
+
63
+ # Model status types
64
+ ModelStatus = Literal["active", "inactive", "deprecated"]
65
+
66
+ # Model fetch source types
67
+ ModelFetchFrom = Literal["predefined-model", "customizable-model"]
68
+
69
+ # Model feature types
70
+ ModelFeature = Literal["embedding", "reranking"]
71
+
72
+ # Tag binding target types
73
+ TagBindingTarget = Literal["dataset", "document"]
74
+
75
+ # External knowledge provider types
76
+ ExternalKnowledgeProvider = Literal["external_api", "notion", "web_crawler"]
77
+
78
+ # Document creation source types
79
+ DocumentCreatedFrom = Literal["api", "web", "upload"]
80
+
81
+ # Document display status types
82
+ DocumentDisplayStatus = Literal["available", "indexing", "error", "paused", "archived"]
83
+
84
+ # Batch processing status types
85
+ BatchProcessingStatus = Literal["processing", "completed", "failed", "cancelled"]
86
+
87
+ # File extension types (common ones)
88
+ FileExtension = Literal["pdf", "doc", "docx", "txt", "md", "html", "csv", "xlsx", "ppt", "pptx"]
89
+
90
+ # MIME type categories
91
+ MimeTypeCategory = Literal["application", "text", "image", "audio", "video"]
92
+
93
+ # Chunk processing status
94
+ ChunkStatus = Literal["waiting", "processing", "completed", "error"]
95
+
96
+ # Query content type
97
+ QueryContentType = Literal["text", "structured"]
98
+
99
+ # Retrieval record score type
100
+ RetrievalScoreType = Literal["cosine", "dot_product", "euclidean"]
@@ -1,3 +1,5 @@
1
+ """List child chunks request model."""
2
+
1
3
  from __future__ import annotations
2
4
 
3
5
  from dify_oapi.core.enum import HttpMethod
@@ -5,7 +7,9 @@ from dify_oapi.core.model.base_request import BaseRequest
5
7
 
6
8
 
7
9
  class ListChildChunksRequest(BaseRequest):
8
- def __init__(self):
10
+ """Request model for list child chunks API."""
11
+
12
+ def __init__(self) -> None:
9
13
  super().__init__()
10
14
  self.dataset_id: str | None = None
11
15
  self.document_id: str | None = None
@@ -17,7 +21,9 @@ class ListChildChunksRequest(BaseRequest):
17
21
 
18
22
 
19
23
  class ListChildChunksRequestBuilder:
20
- def __init__(self):
24
+ """Builder for ListChildChunksRequest."""
25
+
26
+ def __init__(self) -> None:
21
27
  list_child_chunks_request = ListChildChunksRequest()
22
28
  list_child_chunks_request.http_method = HttpMethod.GET
23
29
  list_child_chunks_request.uri = (
@@ -48,9 +54,9 @@ class ListChildChunksRequestBuilder:
48
54
  return self
49
55
 
50
56
  def page(self, page: int) -> ListChildChunksRequestBuilder:
51
- self._list_child_chunks_request.add_query("page", page)
57
+ self._list_child_chunks_request.add_query("page", str(page))
52
58
  return self
53
59
 
54
60
  def limit(self, limit: int) -> ListChildChunksRequestBuilder:
55
- self._list_child_chunks_request.add_query("limit", limit)
61
+ self._list_child_chunks_request.add_query("limit", str(limit))
56
62
  return self
@@ -1,9 +1,13 @@
1
+ """List child chunks response model."""
2
+
1
3
  from dify_oapi.core.model.base_response import BaseResponse
2
4
 
3
5
  from .child_chunk_info import ChildChunkInfo
4
6
 
5
7
 
6
8
  class ListChildChunksResponse(BaseResponse):
9
+ """Response model for list child chunks API."""
10
+
7
11
  data: list[ChildChunkInfo] | None = None
8
12
  total: int | None = None
9
13
  total_pages: int | None = None
@@ -0,0 +1,30 @@
1
+ from dify_oapi.core.enum import HttpMethod
2
+ from dify_oapi.core.model.base_request import BaseRequest
3
+
4
+
5
+ class ListDatasetsRequest(BaseRequest):
6
+ def __init__(self) -> None:
7
+ super().__init__()
8
+
9
+ @staticmethod
10
+ def builder() -> "ListDatasetsRequestBuilder":
11
+ return ListDatasetsRequestBuilder()
12
+
13
+
14
+ class ListDatasetsRequestBuilder:
15
+ def __init__(self) -> None:
16
+ list_datasets_request = ListDatasetsRequest()
17
+ list_datasets_request.http_method = HttpMethod.GET
18
+ list_datasets_request.uri = "/v1/datasets"
19
+ self._list_datasets_request = list_datasets_request
20
+
21
+ def build(self) -> ListDatasetsRequest:
22
+ return self._list_datasets_request
23
+
24
+ def page(self, page: int) -> "ListDatasetsRequestBuilder":
25
+ self._list_datasets_request.add_query("page", str(page))
26
+ return self
27
+
28
+ def limit(self, limit: int) -> "ListDatasetsRequestBuilder":
29
+ self._list_datasets_request.add_query("limit", str(limit))
30
+ return self
@@ -1,11 +1,9 @@
1
- from __future__ import annotations
2
-
3
1
  from dify_oapi.core.model.base_response import BaseResponse
4
2
 
5
3
  from .dataset_info import DatasetInfo
6
4
 
7
5
 
8
- class ListResponse(BaseResponse):
6
+ class ListDatasetsResponse(BaseResponse):
9
7
  data: list[DatasetInfo] | None = None
10
8
  has_more: bool | None = None
11
9
  limit: int | None = None
@@ -0,0 +1,48 @@
1
+ """List documents request model."""
2
+
3
+ from __future__ import annotations
4
+
5
+ from dify_oapi.core.enum import HttpMethod
6
+ from dify_oapi.core.model.base_request import BaseRequest
7
+
8
+
9
+ class ListDocumentsRequest(BaseRequest):
10
+ """Request model for list documents API."""
11
+
12
+ def __init__(self) -> None:
13
+ super().__init__()
14
+ self.dataset_id: str | None = None
15
+
16
+ @staticmethod
17
+ def builder() -> ListDocumentsRequestBuilder:
18
+ return ListDocumentsRequestBuilder()
19
+
20
+
21
+ class ListDocumentsRequestBuilder:
22
+ """Builder for ListDocumentsRequest."""
23
+
24
+ def __init__(self) -> None:
25
+ list_documents_request = ListDocumentsRequest()
26
+ list_documents_request.http_method = HttpMethod.GET
27
+ list_documents_request.uri = "/v1/datasets/:dataset_id/documents"
28
+ self._list_documents_request = list_documents_request
29
+
30
+ def build(self) -> ListDocumentsRequest:
31
+ return self._list_documents_request
32
+
33
+ def dataset_id(self, dataset_id: str) -> ListDocumentsRequestBuilder:
34
+ self._list_documents_request.dataset_id = dataset_id
35
+ self._list_documents_request.paths["dataset_id"] = dataset_id
36
+ return self
37
+
38
+ def keyword(self, keyword: str) -> ListDocumentsRequestBuilder:
39
+ self._list_documents_request.add_query("keyword", keyword)
40
+ return self
41
+
42
+ def page(self, page: int) -> ListDocumentsRequestBuilder:
43
+ self._list_documents_request.add_query("page", str(page))
44
+ return self
45
+
46
+ def limit(self, limit: int) -> ListDocumentsRequestBuilder:
47
+ self._list_documents_request.add_query("limit", str(limit))
48
+ return self
@@ -1,12 +1,12 @@
1
- from __future__ import annotations
1
+ """List documents response model."""
2
2
 
3
3
  from dify_oapi.core.model.base_response import BaseResponse
4
4
 
5
5
  from .document_info import DocumentInfo
6
6
 
7
7
 
8
- class ListResponse(BaseResponse):
9
- """Response model for list documents API"""
8
+ class ListDocumentsResponse(BaseResponse):
9
+ """Response model for list documents API."""
10
10
 
11
11
  data: list[DocumentInfo] | None = None
12
12
  has_more: bool | None = None
@@ -0,0 +1,60 @@
1
+ """List segments request model."""
2
+
3
+ from __future__ import annotations
4
+
5
+ from dify_oapi.core.enum import HttpMethod
6
+ from dify_oapi.core.model.base_request import BaseRequest
7
+
8
+ from .knowledge_types import SegmentStatus
9
+
10
+
11
+ class ListSegmentsRequest(BaseRequest):
12
+ """Request model for list segments API."""
13
+
14
+ def __init__(self) -> None:
15
+ super().__init__()
16
+ self.dataset_id: str | None = None
17
+ self.document_id: str | None = None
18
+
19
+ @staticmethod
20
+ def builder() -> ListSegmentsRequestBuilder:
21
+ return ListSegmentsRequestBuilder()
22
+
23
+
24
+ class ListSegmentsRequestBuilder:
25
+ """Builder for ListSegmentsRequest."""
26
+
27
+ def __init__(self) -> None:
28
+ list_segments_request = ListSegmentsRequest()
29
+ list_segments_request.http_method = HttpMethod.GET
30
+ list_segments_request.uri = "/v1/datasets/:dataset_id/documents/:document_id/segments"
31
+ self._list_segments_request = list_segments_request
32
+
33
+ def build(self) -> ListSegmentsRequest:
34
+ return self._list_segments_request
35
+
36
+ def dataset_id(self, dataset_id: str) -> ListSegmentsRequestBuilder:
37
+ self._list_segments_request.dataset_id = dataset_id
38
+ self._list_segments_request.paths["dataset_id"] = dataset_id
39
+ return self
40
+
41
+ def document_id(self, document_id: str) -> ListSegmentsRequestBuilder:
42
+ self._list_segments_request.document_id = document_id
43
+ self._list_segments_request.paths["document_id"] = document_id
44
+ return self
45
+
46
+ def keyword(self, keyword: str) -> ListSegmentsRequestBuilder:
47
+ self._list_segments_request.add_query("keyword", keyword)
48
+ return self
49
+
50
+ def status(self, status: SegmentStatus) -> ListSegmentsRequestBuilder:
51
+ self._list_segments_request.add_query("status", status)
52
+ return self
53
+
54
+ def page(self, page: int) -> ListSegmentsRequestBuilder:
55
+ self._list_segments_request.add_query("page", str(page))
56
+ return self
57
+
58
+ def limit(self, limit: int) -> ListSegmentsRequestBuilder:
59
+ self._list_segments_request.add_query("limit", str(limit))
60
+ return self
@@ -1,11 +1,14 @@
1
+ """List segments response model."""
2
+
1
3
  from dify_oapi.core.model.base_response import BaseResponse
2
4
 
3
5
  from .segment_info import SegmentInfo
4
6
 
5
7
 
6
- class ListResponse(BaseResponse):
8
+ class ListSegmentsResponse(BaseResponse):
9
+ """Response model for list segments API."""
10
+
7
11
  data: list[SegmentInfo] | None = None
8
- doc_form: str | None = None
9
12
  has_more: bool | None = None
10
13
  limit: int | None = None
11
14
  total: int | None = None
@@ -0,0 +1,28 @@
1
+ from dify_oapi.core.enum import HttpMethod
2
+ from dify_oapi.core.model.base_request import BaseRequest
3
+
4
+ from .knowledge_types import TagType
5
+
6
+
7
+ class ListTagsRequest(BaseRequest):
8
+ def __init__(self):
9
+ super().__init__()
10
+
11
+ @staticmethod
12
+ def builder() -> "ListTagsRequestBuilder":
13
+ return ListTagsRequestBuilder()
14
+
15
+
16
+ class ListTagsRequestBuilder:
17
+ def __init__(self):
18
+ list_tags_request = ListTagsRequest()
19
+ list_tags_request.http_method = HttpMethod.GET
20
+ list_tags_request.uri = "/v1/datasets/tags"
21
+ self._list_tags_request = list_tags_request
22
+
23
+ def build(self) -> ListTagsRequest:
24
+ return self._list_tags_request
25
+
26
+ def type(self, type_value: TagType) -> "ListTagsRequestBuilder":
27
+ self._list_tags_request.add_query("type", type_value)
28
+ return self
@@ -0,0 +1,7 @@
1
+ from dify_oapi.core.model.base_response import BaseResponse
2
+
3
+ from .tag_info import TagInfo
4
+
5
+
6
+ class ListTagsResponse(BaseResponse):
7
+ data: list[TagInfo] | None = None
@@ -0,0 +1,34 @@
1
+ """Model credentials for Knowledge Base API."""
2
+
3
+ from typing import Optional
4
+
5
+ from pydantic import BaseModel
6
+
7
+
8
+ class ModelCredentials(BaseModel):
9
+ """Model credentials with builder pattern."""
10
+
11
+ api_key: Optional[str] = None
12
+ api_base: Optional[str] = None
13
+
14
+ @staticmethod
15
+ def builder() -> "ModelCredentialsBuilder":
16
+ return ModelCredentialsBuilder()
17
+
18
+
19
+ class ModelCredentialsBuilder:
20
+ """Builder for ModelCredentials."""
21
+
22
+ def __init__(self):
23
+ self._model_credentials = ModelCredentials()
24
+
25
+ def build(self) -> ModelCredentials:
26
+ return self._model_credentials
27
+
28
+ def api_key(self, api_key: str) -> "ModelCredentialsBuilder":
29
+ self._model_credentials.api_key = api_key
30
+ return self
31
+
32
+ def api_base(self, api_base: str) -> "ModelCredentialsBuilder":
33
+ self._model_credentials.api_base = api_base
34
+ return self
@@ -0,0 +1,85 @@
1
+ """Model information model for Knowledge Base API."""
2
+
3
+ from typing import Optional
4
+
5
+ from pydantic import BaseModel
6
+
7
+ from .knowledge_types import ModelFeature, ModelFetchFrom, ModelStatus
8
+ from .model_parameters import ModelParameters
9
+
10
+
11
+ class ModelLabel(BaseModel):
12
+ """Model label with localization support."""
13
+
14
+ en_US: Optional[str] = None # noqa: N815
15
+ zh_Hans: Optional[str] = None # noqa: N815
16
+
17
+
18
+ class ModelIcon(BaseModel):
19
+ """Model icon with different sizes."""
20
+
21
+ en_US: Optional[str] = None # noqa: N815
22
+ zh_Hans: Optional[str] = None # noqa: N815
23
+
24
+
25
+ class EmbeddingModelDetails(BaseModel):
26
+ """Individual embedding model details."""
27
+
28
+ model: Optional[str] = None
29
+ label: Optional[ModelLabel] = None
30
+ model_type: Optional[str] = None
31
+ features: Optional[list[ModelFeature]] = None
32
+ fetch_from: Optional[ModelFetchFrom] = None
33
+ model_properties: Optional[ModelParameters] = None
34
+ deprecated: Optional[bool] = None
35
+ status: Optional[ModelStatus] = None
36
+ load_balancing_enabled: Optional[bool] = None
37
+
38
+
39
+ class ModelInfo(BaseModel):
40
+ """Model provider information with embedding models."""
41
+
42
+ provider: Optional[str] = None
43
+ label: Optional[ModelLabel] = None
44
+ icon_small: Optional[ModelIcon] = None
45
+ icon_large: Optional[ModelIcon] = None
46
+ status: Optional[ModelStatus] = None
47
+ models: Optional[list[EmbeddingModelDetails]] = None
48
+
49
+ @staticmethod
50
+ def builder() -> "ModelInfoBuilder":
51
+ return ModelInfoBuilder()
52
+
53
+
54
+ class ModelInfoBuilder:
55
+ """Builder for ModelInfo."""
56
+
57
+ def __init__(self):
58
+ self._model_info = ModelInfo()
59
+
60
+ def build(self) -> ModelInfo:
61
+ return self._model_info
62
+
63
+ def provider(self, provider: str) -> "ModelInfoBuilder":
64
+ self._model_info.provider = provider
65
+ return self
66
+
67
+ def label(self, label: ModelLabel) -> "ModelInfoBuilder":
68
+ self._model_info.label = label
69
+ return self
70
+
71
+ def icon_small(self, icon_small: ModelIcon) -> "ModelInfoBuilder":
72
+ self._model_info.icon_small = icon_small
73
+ return self
74
+
75
+ def icon_large(self, icon_large: ModelIcon) -> "ModelInfoBuilder":
76
+ self._model_info.icon_large = icon_large
77
+ return self
78
+
79
+ def status(self, status: ModelStatus) -> "ModelInfoBuilder":
80
+ self._model_info.status = status
81
+ return self
82
+
83
+ def models(self, models: list[EmbeddingModelDetails]) -> "ModelInfoBuilder":
84
+ self._model_info.models = models
85
+ return self
@@ -0,0 +1,34 @@
1
+ """Model parameters for Knowledge Base API."""
2
+
3
+ from typing import Optional
4
+
5
+ from pydantic import BaseModel
6
+
7
+
8
+ class ModelParameters(BaseModel):
9
+ """Model parameters with builder pattern."""
10
+
11
+ context_size: Optional[int] = None
12
+ max_chunks: Optional[int] = None
13
+
14
+ @staticmethod
15
+ def builder() -> "ModelParametersBuilder":
16
+ return ModelParametersBuilder()
17
+
18
+
19
+ class ModelParametersBuilder:
20
+ """Builder for ModelParameters."""
21
+
22
+ def __init__(self):
23
+ self._model_parameters = ModelParameters()
24
+
25
+ def build(self) -> ModelParameters:
26
+ return self._model_parameters
27
+
28
+ def context_size(self, context_size: int) -> "ModelParametersBuilder":
29
+ self._model_parameters.context_size = context_size
30
+ return self
31
+
32
+ def max_chunks(self, max_chunks: int) -> "ModelParametersBuilder":
33
+ self._model_parameters.max_chunks = max_chunks
34
+ return self
@@ -0,0 +1,44 @@
1
+ """Pagination information model for Knowledge Base API."""
2
+
3
+ from typing import Optional
4
+
5
+ from pydantic import BaseModel
6
+
7
+
8
+ class PaginationInfo(BaseModel):
9
+ """Pagination information model with builder pattern."""
10
+
11
+ page: Optional[int] = None
12
+ limit: Optional[int] = None
13
+ total: Optional[int] = None
14
+ has_more: Optional[bool] = None
15
+
16
+ @staticmethod
17
+ def builder() -> "PaginationInfoBuilder":
18
+ return PaginationInfoBuilder()
19
+
20
+
21
+ class PaginationInfoBuilder:
22
+ """Builder for PaginationInfo."""
23
+
24
+ def __init__(self):
25
+ self._pagination_info = PaginationInfo()
26
+
27
+ def build(self) -> PaginationInfo:
28
+ return self._pagination_info
29
+
30
+ def page(self, page: int) -> "PaginationInfoBuilder":
31
+ self._pagination_info.page = page
32
+ return self
33
+
34
+ def limit(self, limit: int) -> "PaginationInfoBuilder":
35
+ self._pagination_info.limit = limit
36
+ return self
37
+
38
+ def total(self, total: int) -> "PaginationInfoBuilder":
39
+ self._pagination_info.total = total
40
+ return self
41
+
42
+ def has_more(self, has_more: bool) -> "PaginationInfoBuilder":
43
+ self._pagination_info.has_more = has_more
44
+ return self
@@ -0,0 +1,36 @@
1
+ """Preprocessing rule model for Knowledge Base API."""
2
+
3
+ from typing import Optional
4
+
5
+ from pydantic import BaseModel
6
+
7
+ from .knowledge_types import PreprocessingRuleId
8
+
9
+
10
+ class PreprocessingRule(BaseModel):
11
+ """Preprocessing rule model with builder pattern."""
12
+
13
+ id: Optional[PreprocessingRuleId] = None
14
+ enabled: Optional[bool] = None
15
+
16
+ @staticmethod
17
+ def builder() -> "PreprocessingRuleBuilder":
18
+ return PreprocessingRuleBuilder()
19
+
20
+
21
+ class PreprocessingRuleBuilder:
22
+ """Builder for PreprocessingRule."""
23
+
24
+ def __init__(self):
25
+ self._preprocessing_rule = PreprocessingRule()
26
+
27
+ def build(self) -> PreprocessingRule:
28
+ return self._preprocessing_rule
29
+
30
+ def id(self, id: PreprocessingRuleId) -> "PreprocessingRuleBuilder":
31
+ self._preprocessing_rule.id = id
32
+ return self
33
+
34
+ def enabled(self, enabled: bool) -> "PreprocessingRuleBuilder":
35
+ self._preprocessing_rule.enabled = enabled
36
+ return self
@@ -0,0 +1,43 @@
1
+ """Process rule model for Knowledge Base API."""
2
+
3
+ from typing import Optional
4
+
5
+ from pydantic import BaseModel
6
+
7
+ from .knowledge_types import ProcessingMode
8
+ from .process_rules import ProcessRules
9
+ from .segmentation_rule import SegmentationRule
10
+
11
+
12
+ class ProcessRule(BaseModel):
13
+ """Process rule model with builder pattern."""
14
+
15
+ mode: Optional[ProcessingMode] = None
16
+ rules: Optional[ProcessRules] = None
17
+ segmentation: Optional[SegmentationRule] = None
18
+
19
+ @staticmethod
20
+ def builder() -> "ProcessRuleBuilder":
21
+ return ProcessRuleBuilder()
22
+
23
+
24
+ class ProcessRuleBuilder:
25
+ """Builder for ProcessRule."""
26
+
27
+ def __init__(self):
28
+ self._process_rule = ProcessRule()
29
+
30
+ def build(self) -> ProcessRule:
31
+ return self._process_rule
32
+
33
+ def mode(self, mode: ProcessingMode) -> "ProcessRuleBuilder":
34
+ self._process_rule.mode = mode
35
+ return self
36
+
37
+ def rules(self, rules: ProcessRules) -> "ProcessRuleBuilder":
38
+ self._process_rule.rules = rules
39
+ return self
40
+
41
+ def segmentation(self, segmentation: SegmentationRule) -> "ProcessRuleBuilder":
42
+ self._process_rule.segmentation = segmentation
43
+ return self