dify-oapi2 0.1.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 (255) hide show
  1. dify_oapi/__init__.py +0 -0
  2. dify_oapi/api/__init__.py +0 -0
  3. dify_oapi/api/chat/__init__.py +0 -0
  4. dify_oapi/api/chat/service.py +8 -0
  5. dify_oapi/api/chat/v1/__init__.py +0 -0
  6. dify_oapi/api/chat/v1/model/__init__.py +0 -0
  7. dify_oapi/api/chat/v1/model/audio_to_text_request.py +40 -0
  8. dify_oapi/api/chat/v1/model/audio_to_text_request_body.py +23 -0
  9. dify_oapi/api/chat/v1/model/audio_to_text_response.py +5 -0
  10. dify_oapi/api/chat/v1/model/chat_request.py +32 -0
  11. dify_oapi/api/chat/v1/model/chat_request_body.py +57 -0
  12. dify_oapi/api/chat/v1/model/chat_request_file.py +46 -0
  13. dify_oapi/api/chat/v1/model/chat_response.py +19 -0
  14. dify_oapi/api/chat/v1/model/delete_conversation_request.py +38 -0
  15. dify_oapi/api/chat/v1/model/delete_conversation_request_body.py +23 -0
  16. dify_oapi/api/chat/v1/model/delete_conversation_response.py +5 -0
  17. dify_oapi/api/chat/v1/model/get_conversation_list_request.py +48 -0
  18. dify_oapi/api/chat/v1/model/get_conversation_list_response.py +21 -0
  19. dify_oapi/api/chat/v1/model/message_history_request.py +48 -0
  20. dify_oapi/api/chat/v1/model/message_history_response.py +49 -0
  21. dify_oapi/api/chat/v1/model/message_suggested_request.py +36 -0
  22. dify_oapi/api/chat/v1/model/message_suggested_response.py +6 -0
  23. dify_oapi/api/chat/v1/model/rename_conversation_request.py +38 -0
  24. dify_oapi/api/chat/v1/model/rename_conversation_request_body.py +33 -0
  25. dify_oapi/api/chat/v1/model/rename_conversation_response.py +11 -0
  26. dify_oapi/api/chat/v1/model/stop_chat_request.py +38 -0
  27. dify_oapi/api/chat/v1/model/stop_chat_request_body.py +23 -0
  28. dify_oapi/api/chat/v1/model/stop_chat_response.py +5 -0
  29. dify_oapi/api/chat/v1/resource/__init__.py +4 -0
  30. dify_oapi/api/chat/v1/resource/audio.py +17 -0
  31. dify_oapi/api/chat/v1/resource/chat.py +68 -0
  32. dify_oapi/api/chat/v1/resource/conversation.py +59 -0
  33. dify_oapi/api/chat/v1/resource/message.py +35 -0
  34. dify_oapi/api/chat/v1/version.py +11 -0
  35. dify_oapi/api/completion/__init__.py +0 -0
  36. dify_oapi/api/completion/service.py +8 -0
  37. dify_oapi/api/completion/v1/__init__.py +0 -0
  38. dify_oapi/api/completion/v1/model/__init__.py +0 -0
  39. dify_oapi/api/completion/v1/model/completion_request.py +34 -0
  40. dify_oapi/api/completion/v1/model/completion_request_body.py +43 -0
  41. dify_oapi/api/completion/v1/model/completion_request_body_input.py +38 -0
  42. dify_oapi/api/completion/v1/model/completion_request_file.py +49 -0
  43. dify_oapi/api/completion/v1/model/completion_response.py +18 -0
  44. dify_oapi/api/completion/v1/model/stop_completion_request.py +38 -0
  45. dify_oapi/api/completion/v1/model/stop_completion_request_body.py +23 -0
  46. dify_oapi/api/completion/v1/model/stop_completion_response.py +5 -0
  47. dify_oapi/api/completion/v1/resource/__init__.py +1 -0
  48. dify_oapi/api/completion/v1/resource/completion.py +84 -0
  49. dify_oapi/api/completion/v1/version.py +8 -0
  50. dify_oapi/api/dify/__init__.py +0 -0
  51. dify_oapi/api/dify/service.py +8 -0
  52. dify_oapi/api/dify/v1/__init__.py +0 -0
  53. dify_oapi/api/dify/v1/model/__init__.py +0 -0
  54. dify_oapi/api/dify/v1/model/get_info_request.py +30 -0
  55. dify_oapi/api/dify/v1/model/get_info_response.py +7 -0
  56. dify_oapi/api/dify/v1/model/get_meta_request.py +30 -0
  57. dify_oapi/api/dify/v1/model/get_meta_response.py +19 -0
  58. dify_oapi/api/dify/v1/model/get_parameter_request.py +30 -0
  59. dify_oapi/api/dify/v1/model/get_parameter_response.py +13 -0
  60. dify_oapi/api/dify/v1/model/message_feedback_request.py +38 -0
  61. dify_oapi/api/dify/v1/model/message_feedback_request_body.py +30 -0
  62. dify_oapi/api/dify/v1/model/message_feedback_response.py +5 -0
  63. dify_oapi/api/dify/v1/model/text_to_audio_request.py +32 -0
  64. dify_oapi/api/dify/v1/model/text_to_audio_request_body.py +33 -0
  65. dify_oapi/api/dify/v1/model/text_to_audio_response.py +4 -0
  66. dify_oapi/api/dify/v1/model/upload_file_body.py +23 -0
  67. dify_oapi/api/dify/v1/model/upload_file_request.py +42 -0
  68. dify_oapi/api/dify/v1/model/upload_file_response.py +11 -0
  69. dify_oapi/api/dify/v1/resource/__init__.py +6 -0
  70. dify_oapi/api/dify/v1/resource/audio.py +17 -0
  71. dify_oapi/api/dify/v1/resource/file.py +17 -0
  72. dify_oapi/api/dify/v1/resource/info.py +19 -0
  73. dify_oapi/api/dify/v1/resource/message.py +21 -0
  74. dify_oapi/api/dify/v1/resource/meta.py +17 -0
  75. dify_oapi/api/dify/v1/resource/parameter.py +19 -0
  76. dify_oapi/api/dify/v1/version.py +13 -0
  77. dify_oapi/api/knowledge_base/__init__.py +0 -0
  78. dify_oapi/api/knowledge_base/service.py +8 -0
  79. dify_oapi/api/knowledge_base/v1/__init__.py +0 -0
  80. dify_oapi/api/knowledge_base/v1/model/__init__.py +0 -0
  81. dify_oapi/api/knowledge_base/v1/model/dataset/__init__.py +49 -0
  82. dify_oapi/api/knowledge_base/v1/model/dataset/create_request.py +32 -0
  83. dify_oapi/api/knowledge_base/v1/model/dataset/create_request_body.py +73 -0
  84. dify_oapi/api/knowledge_base/v1/model/dataset/create_response.py +11 -0
  85. dify_oapi/api/knowledge_base/v1/model/dataset/dataset_info.py +150 -0
  86. dify_oapi/api/knowledge_base/v1/model/dataset/delete_request.py +30 -0
  87. dify_oapi/api/knowledge_base/v1/model/dataset/delete_response.py +9 -0
  88. dify_oapi/api/knowledge_base/v1/model/dataset/external_knowledge_info.py +38 -0
  89. dify_oapi/api/knowledge_base/v1/model/dataset/filter_condition.py +72 -0
  90. dify_oapi/api/knowledge_base/v1/model/dataset/get_request.py +30 -0
  91. dify_oapi/api/knowledge_base/v1/model/dataset/get_response.py +11 -0
  92. dify_oapi/api/knowledge_base/v1/model/dataset/list_request.py +45 -0
  93. dify_oapi/api/knowledge_base/v1/model/dataset/list_response.py +13 -0
  94. dify_oapi/api/knowledge_base/v1/model/dataset/metadata_filtering_conditions.py +30 -0
  95. dify_oapi/api/knowledge_base/v1/model/dataset/reranking_model.py +28 -0
  96. dify_oapi/api/knowledge_base/v1/model/dataset/retrieval_model.py +147 -0
  97. dify_oapi/api/knowledge_base/v1/model/dataset/retrieve_request.py +38 -0
  98. dify_oapi/api/knowledge_base/v1/model/dataset/retrieve_request_body.py +38 -0
  99. dify_oapi/api/knowledge_base/v1/model/dataset/retrieve_response.py +53 -0
  100. dify_oapi/api/knowledge_base/v1/model/dataset/update_request.py +38 -0
  101. dify_oapi/api/knowledge_base/v1/model/dataset/update_request_body.py +58 -0
  102. dify_oapi/api/knowledge_base/v1/model/dataset/update_response.py +11 -0
  103. dify_oapi/api/knowledge_base/v1/model/document/__init__.py +0 -0
  104. dify_oapi/api/knowledge_base/v1/model/document/create_by_file_request.py +53 -0
  105. dify_oapi/api/knowledge_base/v1/model/document/create_by_file_request_body.py +31 -0
  106. dify_oapi/api/knowledge_base/v1/model/document/create_by_file_request_body_data.py +78 -0
  107. dify_oapi/api/knowledge_base/v1/model/document/create_by_file_response.py +12 -0
  108. dify_oapi/api/knowledge_base/v1/model/document/create_by_text_request.py +38 -0
  109. dify_oapi/api/knowledge_base/v1/model/document/create_by_text_request_body.py +80 -0
  110. dify_oapi/api/knowledge_base/v1/model/document/create_by_text_response.py +12 -0
  111. dify_oapi/api/knowledge_base/v1/model/document/data_source_info.py +30 -0
  112. dify_oapi/api/knowledge_base/v1/model/document/delete_request.py +38 -0
  113. dify_oapi/api/knowledge_base/v1/model/document/delete_response.py +9 -0
  114. dify_oapi/api/knowledge_base/v1/model/document/document_info.py +164 -0
  115. dify_oapi/api/knowledge_base/v1/model/document/get_request.py +40 -0
  116. dify_oapi/api/knowledge_base/v1/model/document/get_response.py +9 -0
  117. dify_oapi/api/knowledge_base/v1/model/document/get_upload_file_request.py +38 -0
  118. dify_oapi/api/knowledge_base/v1/model/document/get_upload_file_response.py +11 -0
  119. dify_oapi/api/knowledge_base/v1/model/document/indexing_status_info.py +80 -0
  120. dify_oapi/api/knowledge_base/v1/model/document/indexing_status_request.py +36 -0
  121. dify_oapi/api/knowledge_base/v1/model/document/indexing_status_response.py +11 -0
  122. dify_oapi/api/knowledge_base/v1/model/document/list_request.py +42 -0
  123. dify_oapi/api/knowledge_base/v1/model/document/list_response.py +15 -0
  124. dify_oapi/api/knowledge_base/v1/model/document/pre_processing_rule.py +32 -0
  125. dify_oapi/api/knowledge_base/v1/model/document/process_rule.py +34 -0
  126. dify_oapi/api/knowledge_base/v1/model/document/retrieval_model.py +54 -0
  127. dify_oapi/api/knowledge_base/v1/model/document/rules.py +31 -0
  128. dify_oapi/api/knowledge_base/v1/model/document/segmentation.py +35 -0
  129. dify_oapi/api/knowledge_base/v1/model/document/subchunk_segmentation.py +35 -0
  130. dify_oapi/api/knowledge_base/v1/model/document/update_by_file_request.py +53 -0
  131. dify_oapi/api/knowledge_base/v1/model/document/update_by_file_request_body.py +26 -0
  132. dify_oapi/api/knowledge_base/v1/model/document/update_by_file_request_body_data.py +40 -0
  133. dify_oapi/api/knowledge_base/v1/model/document/update_by_file_response.py +12 -0
  134. dify_oapi/api/knowledge_base/v1/model/document/update_by_text_request.py +55 -0
  135. dify_oapi/api/knowledge_base/v1/model/document/update_by_text_request_body.py +46 -0
  136. dify_oapi/api/knowledge_base/v1/model/document/update_by_text_response.py +14 -0
  137. dify_oapi/api/knowledge_base/v1/model/document/update_status_request.py +55 -0
  138. dify_oapi/api/knowledge_base/v1/model/document/update_status_request_body.py +32 -0
  139. dify_oapi/api/knowledge_base/v1/model/document/update_status_response.py +9 -0
  140. dify_oapi/api/knowledge_base/v1/model/document/upload_file_info.py +65 -0
  141. dify_oapi/api/knowledge_base/v1/model/metadata/__init__.py +35 -0
  142. dify_oapi/api/knowledge_base/v1/model/metadata/create_request.py +38 -0
  143. dify_oapi/api/knowledge_base/v1/model/metadata/create_request_body.py +31 -0
  144. dify_oapi/api/knowledge_base/v1/model/metadata/create_response.py +13 -0
  145. dify_oapi/api/knowledge_base/v1/model/metadata/delete_request.py +36 -0
  146. dify_oapi/api/knowledge_base/v1/model/metadata/delete_response.py +7 -0
  147. dify_oapi/api/knowledge_base/v1/model/metadata/list_request.py +30 -0
  148. dify_oapi/api/knowledge_base/v1/model/metadata/list_response.py +9 -0
  149. dify_oapi/api/knowledge_base/v1/model/metadata/metadata_info.py +38 -0
  150. dify_oapi/api/knowledge_base/v1/model/metadata/toggle_builtin_request.py +36 -0
  151. dify_oapi/api/knowledge_base/v1/model/metadata/toggle_builtin_response.py +7 -0
  152. dify_oapi/api/knowledge_base/v1/model/metadata/update_document_request.py +38 -0
  153. dify_oapi/api/knowledge_base/v1/model/metadata/update_document_request_body.py +79 -0
  154. dify_oapi/api/knowledge_base/v1/model/metadata/update_document_response.py +7 -0
  155. dify_oapi/api/knowledge_base/v1/model/metadata/update_request.py +44 -0
  156. dify_oapi/api/knowledge_base/v1/model/metadata/update_request_body.py +24 -0
  157. dify_oapi/api/knowledge_base/v1/model/metadata/update_response.py +13 -0
  158. dify_oapi/api/knowledge_base/v1/model/segment/__init__.py +77 -0
  159. dify_oapi/api/knowledge_base/v1/model/segment/child_chunk_info.py +88 -0
  160. dify_oapi/api/knowledge_base/v1/model/segment/create_child_chunk_request.py +52 -0
  161. dify_oapi/api/knowledge_base/v1/model/segment/create_child_chunk_request_body.py +23 -0
  162. dify_oapi/api/knowledge_base/v1/model/segment/create_child_chunk_response.py +7 -0
  163. dify_oapi/api/knowledge_base/v1/model/segment/create_request.py +42 -0
  164. dify_oapi/api/knowledge_base/v1/model/segment/create_request_body.py +25 -0
  165. dify_oapi/api/knowledge_base/v1/model/segment/create_response.py +8 -0
  166. dify_oapi/api/knowledge_base/v1/model/segment/delete_child_chunk_request.py +50 -0
  167. dify_oapi/api/knowledge_base/v1/model/segment/delete_child_chunk_response.py +5 -0
  168. dify_oapi/api/knowledge_base/v1/model/segment/delete_request.py +40 -0
  169. dify_oapi/api/knowledge_base/v1/model/segment/delete_response.py +5 -0
  170. dify_oapi/api/knowledge_base/v1/model/segment/get_request.py +40 -0
  171. dify_oapi/api/knowledge_base/v1/model/segment/get_response.py +8 -0
  172. dify_oapi/api/knowledge_base/v1/model/segment/list_child_chunks_request.py +56 -0
  173. dify_oapi/api/knowledge_base/v1/model/segment/list_child_chunks_response.py +11 -0
  174. dify_oapi/api/knowledge_base/v1/model/segment/list_request.py +50 -0
  175. dify_oapi/api/knowledge_base/v1/model/segment/list_response.py +12 -0
  176. dify_oapi/api/knowledge_base/v1/model/segment/segment_data.py +43 -0
  177. dify_oapi/api/knowledge_base/v1/model/segment/segment_info.py +123 -0
  178. dify_oapi/api/knowledge_base/v1/model/segment/update_child_chunk_request.py +58 -0
  179. dify_oapi/api/knowledge_base/v1/model/segment/update_child_chunk_request_body.py +23 -0
  180. dify_oapi/api/knowledge_base/v1/model/segment/update_child_chunk_response.py +7 -0
  181. dify_oapi/api/knowledge_base/v1/model/segment/update_request.py +48 -0
  182. dify_oapi/api/knowledge_base/v1/model/segment/update_request_body.py +25 -0
  183. dify_oapi/api/knowledge_base/v1/model/segment/update_response.py +8 -0
  184. dify_oapi/api/knowledge_base/v1/model/tag/__init__.py +41 -0
  185. dify_oapi/api/knowledge_base/v1/model/tag/bind_request.py +32 -0
  186. dify_oapi/api/knowledge_base/v1/model/tag/bind_request_body.py +29 -0
  187. dify_oapi/api/knowledge_base/v1/model/tag/bind_response.py +7 -0
  188. dify_oapi/api/knowledge_base/v1/model/tag/create_request.py +32 -0
  189. dify_oapi/api/knowledge_base/v1/model/tag/create_request_body.py +24 -0
  190. dify_oapi/api/knowledge_base/v1/model/tag/create_response.py +16 -0
  191. dify_oapi/api/knowledge_base/v1/model/tag/delete_request.py +32 -0
  192. dify_oapi/api/knowledge_base/v1/model/tag/delete_request_body.py +24 -0
  193. dify_oapi/api/knowledge_base/v1/model/tag/delete_response.py +7 -0
  194. dify_oapi/api/knowledge_base/v1/model/tag/list_request.py +24 -0
  195. dify_oapi/api/knowledge_base/v1/model/tag/list_response.py +19 -0
  196. dify_oapi/api/knowledge_base/v1/model/tag/query_bound_request.py +30 -0
  197. dify_oapi/api/knowledge_base/v1/model/tag/query_bound_response.py +9 -0
  198. dify_oapi/api/knowledge_base/v1/model/tag/tag_info.py +38 -0
  199. dify_oapi/api/knowledge_base/v1/model/tag/unbind_request.py +32 -0
  200. dify_oapi/api/knowledge_base/v1/model/tag/unbind_request_body.py +29 -0
  201. dify_oapi/api/knowledge_base/v1/model/tag/unbind_response.py +7 -0
  202. dify_oapi/api/knowledge_base/v1/model/tag/update_request.py +32 -0
  203. dify_oapi/api/knowledge_base/v1/model/tag/update_request_body.py +29 -0
  204. dify_oapi/api/knowledge_base/v1/model/tag/update_response.py +19 -0
  205. dify_oapi/api/knowledge_base/v1/resource/__init__.py +7 -0
  206. dify_oapi/api/knowledge_base/v1/resource/dataset.py +58 -0
  207. dify_oapi/api/knowledge_base/v1/resource/document.py +107 -0
  208. dify_oapi/api/knowledge_base/v1/resource/metadata.py +65 -0
  209. dify_oapi/api/knowledge_base/v1/resource/segment.py +110 -0
  210. dify_oapi/api/knowledge_base/v1/resource/tag.py +65 -0
  211. dify_oapi/api/knowledge_base/v1/version.py +12 -0
  212. dify_oapi/api/workflow/__init__.py +0 -0
  213. dify_oapi/api/workflow/service.py +8 -0
  214. dify_oapi/api/workflow/v1/__init__.py +0 -0
  215. dify_oapi/api/workflow/v1/model/__init__.py +0 -0
  216. dify_oapi/api/workflow/v1/model/get_workflow_log_request.py +50 -0
  217. dify_oapi/api/workflow/v1/model/get_workflow_log_response.py +42 -0
  218. dify_oapi/api/workflow/v1/model/get_workflow_result_request.py +30 -0
  219. dify_oapi/api/workflow/v1/model/get_workflow_result_response.py +17 -0
  220. dify_oapi/api/workflow/v1/model/run_workflow_request.py +32 -0
  221. dify_oapi/api/workflow/v1/model/run_workflow_request_body.py +42 -0
  222. dify_oapi/api/workflow/v1/model/run_workflow_request_file.py +50 -0
  223. dify_oapi/api/workflow/v1/model/run_workflow_response.py +24 -0
  224. dify_oapi/api/workflow/v1/model/stop_workflow_request.py +38 -0
  225. dify_oapi/api/workflow/v1/model/stop_workflow_request_body.py +23 -0
  226. dify_oapi/api/workflow/v1/model/stop_workflow_response.py +5 -0
  227. dify_oapi/api/workflow/v1/resource/__init__.py +1 -0
  228. dify_oapi/api/workflow/v1/resource/workflow.py +102 -0
  229. dify_oapi/api/workflow/v1/version.py +8 -0
  230. dify_oapi/client.py +97 -0
  231. dify_oapi/core/__init__.py +0 -0
  232. dify_oapi/core/const.py +15 -0
  233. dify_oapi/core/enum.py +21 -0
  234. dify_oapi/core/http/__init__.py +0 -0
  235. dify_oapi/core/http/transport/__init__.py +4 -0
  236. dify_oapi/core/http/transport/_misc.py +145 -0
  237. dify_oapi/core/http/transport/async_transport.py +217 -0
  238. dify_oapi/core/http/transport/sync_transport.py +220 -0
  239. dify_oapi/core/json.py +61 -0
  240. dify_oapi/core/log.py +8 -0
  241. dify_oapi/core/misc.py +41 -0
  242. dify_oapi/core/model/__init__.py +0 -0
  243. dify_oapi/core/model/base_request.py +21 -0
  244. dify_oapi/core/model/base_response.py +27 -0
  245. dify_oapi/core/model/config.py +9 -0
  246. dify_oapi/core/model/raw_request.py +5 -0
  247. dify_oapi/core/model/raw_response.py +17 -0
  248. dify_oapi/core/model/request_option.py +27 -0
  249. dify_oapi/core/type.py +5 -0
  250. dify_oapi/core/utils/__init__.py +0 -0
  251. dify_oapi/core/utils/strings.py +8 -0
  252. dify_oapi2-0.1.0.dist-info/LICENSE +21 -0
  253. dify_oapi2-0.1.0.dist-info/METADATA +295 -0
  254. dify_oapi2-0.1.0.dist-info/RECORD +255 -0
  255. dify_oapi2-0.1.0.dist-info/WHEEL +4 -0
dify_oapi/__init__.py ADDED
File without changes
File without changes
File without changes
@@ -0,0 +1,8 @@
1
+ from dify_oapi.core.model.config import Config
2
+
3
+ from .v1.version import V1
4
+
5
+
6
+ class ChatService:
7
+ def __init__(self, config: Config) -> None:
8
+ self.v1: V1 = V1(config)
File without changes
File without changes
@@ -0,0 +1,40 @@
1
+ from __future__ import annotations
2
+
3
+ from io import BytesIO
4
+
5
+ from dify_oapi.core.enum import HttpMethod
6
+ from dify_oapi.core.model.base_request import BaseRequest
7
+
8
+ from .audio_to_text_request_body import AudioToTextRequestBody
9
+
10
+
11
+ class AudioToTextRequest(BaseRequest):
12
+ def __init__(self):
13
+ super().__init__()
14
+ self.file: BytesIO | None = None
15
+ self.request_body: AudioToTextRequestBody | None = None
16
+
17
+ @staticmethod
18
+ def builder() -> AudioToTextRequestBuilder:
19
+ return AudioToTextRequestBuilder()
20
+
21
+
22
+ class AudioToTextRequestBuilder:
23
+ def __init__(self):
24
+ audio_to_text_request = AudioToTextRequest()
25
+ audio_to_text_request.http_method = HttpMethod.POST
26
+ audio_to_text_request.uri = "/v1/audio-to-text"
27
+ self._audio_to_text_request = audio_to_text_request
28
+
29
+ def build(self) -> AudioToTextRequest:
30
+ return self._audio_to_text_request
31
+
32
+ def request_body(self, request_body: AudioToTextRequestBody) -> AudioToTextRequestBuilder:
33
+ self._audio_to_text_request.request_body = request_body
34
+ self._audio_to_text_request.body = request_body.model_dump(exclude_none=True, mode="json")
35
+ return self
36
+
37
+ def file(self, file: BytesIO, file_name: str) -> AudioToTextRequestBuilder:
38
+ self._audio_to_text_request.file = file
39
+ self._audio_to_text_request.files = {"file": (file_name, file)}
40
+ return self
@@ -0,0 +1,23 @@
1
+ from __future__ import annotations
2
+
3
+ from pydantic import BaseModel
4
+
5
+
6
+ class AudioToTextRequestBody(BaseModel):
7
+ user: str | None = None
8
+
9
+ @staticmethod
10
+ def builder() -> AudioToTextRequestBodyBuilder:
11
+ return AudioToTextRequestBodyBuilder()
12
+
13
+
14
+ class AudioToTextRequestBodyBuilder:
15
+ def __init__(self):
16
+ self._audio_to_text_request_body = AudioToTextRequestBody()
17
+
18
+ def build(self) -> AudioToTextRequestBody:
19
+ return self._audio_to_text_request_body
20
+
21
+ def user(self, user: str) -> AudioToTextRequestBodyBuilder:
22
+ self._audio_to_text_request_body.user = user
23
+ return self
@@ -0,0 +1,5 @@
1
+ from dify_oapi.core.model.base_response import BaseResponse
2
+
3
+
4
+ class AudioToTextResponse(BaseResponse):
5
+ text: str | None = None
@@ -0,0 +1,32 @@
1
+ from __future__ import annotations
2
+
3
+ from dify_oapi.core.enum import HttpMethod
4
+ from dify_oapi.core.model.base_request import BaseRequest
5
+
6
+ from .chat_request_body import ChatRequestBody
7
+
8
+
9
+ class ChatRequest(BaseRequest):
10
+ def __init__(self) -> None:
11
+ super().__init__()
12
+ self.request_body: ChatRequestBody | None = None
13
+
14
+ @staticmethod
15
+ def builder() -> ChatRequestBuilder:
16
+ return ChatRequestBuilder()
17
+
18
+
19
+ class ChatRequestBuilder:
20
+ def __init__(self) -> None:
21
+ chat_request = ChatRequest()
22
+ chat_request.http_method = HttpMethod.POST
23
+ chat_request.uri = "/v1/chat-messages"
24
+ self._chat_request: ChatRequest = chat_request
25
+
26
+ def request_body(self, request_body: ChatRequestBody) -> ChatRequestBuilder:
27
+ self._chat_request.request_body = request_body
28
+ self._chat_request.body = request_body.model_dump(exclude_none=True, mode="json")
29
+ return self
30
+
31
+ def build(self) -> ChatRequest:
32
+ return self._chat_request
@@ -0,0 +1,57 @@
1
+ from __future__ import annotations
2
+
3
+ from pydantic import BaseModel
4
+
5
+ from .chat_request_file import ChatRequestFile
6
+
7
+
8
+ class ChatRequestBody(BaseModel):
9
+ query: str | None = None
10
+ inputs: dict | None = None
11
+ response_mode: str | None = None
12
+ user: str | None = None
13
+ conversation_id: str | None = None
14
+ files: list[ChatRequestFile] | None = None
15
+ auto_generate_name: bool | None = None
16
+
17
+ @staticmethod
18
+ def builder() -> ChatRequestBodyBuilder:
19
+ return ChatRequestBodyBuilder()
20
+
21
+
22
+ class ChatRequestBodyBuilder:
23
+ def __init__(self):
24
+ self._chat_request_body = ChatRequestBody()
25
+
26
+ def query(self, query: str) -> ChatRequestBodyBuilder:
27
+ self._chat_request_body.query = query
28
+ return self
29
+
30
+ def inputs(self, inputs: dict) -> ChatRequestBodyBuilder:
31
+ self._chat_request_body.inputs = inputs
32
+ return self
33
+
34
+ def response_mode(self, response_mode: str) -> ChatRequestBodyBuilder:
35
+ if response_mode not in ["streaming", "blocking"]:
36
+ raise ValueError('response_mode must be either "streaming" or "blocking"')
37
+ self._chat_request_body.response_mode = response_mode
38
+ return self
39
+
40
+ def user(self, user: str) -> ChatRequestBodyBuilder:
41
+ self._chat_request_body.user = user
42
+ return self
43
+
44
+ def conversation_id(self, conversation_id: str) -> ChatRequestBodyBuilder:
45
+ self._chat_request_body.conversation_id = conversation_id
46
+ return self
47
+
48
+ def files(self, files: list[ChatRequestFile]) -> ChatRequestBodyBuilder:
49
+ self._chat_request_body.files = files
50
+ return self
51
+
52
+ def auto_generate_name(self, auto_generate_name: bool) -> ChatRequestBodyBuilder:
53
+ self._chat_request_body.auto_generate_name = auto_generate_name
54
+ return self
55
+
56
+ def build(self):
57
+ return self._chat_request_body
@@ -0,0 +1,46 @@
1
+ from __future__ import annotations
2
+
3
+ from pydantic import BaseModel, HttpUrl
4
+
5
+
6
+ class ChatRequestFile(BaseModel):
7
+ type: str | None = None
8
+ transfer_method: str | None = None
9
+ url: HttpUrl | None = None
10
+ upload_file_id: str | None = None
11
+
12
+ @staticmethod
13
+ def builder() -> ChatRequestFileBuilder:
14
+ return ChatRequestFileBuilder()
15
+
16
+
17
+ class ChatRequestFileBuilder:
18
+ def __init__(self):
19
+ self._chat_request_file = ChatRequestFile()
20
+
21
+ def type(self, type_: str):
22
+ if type_ != "image":
23
+ raise ValueError("Only 'image' is supported")
24
+ self._chat_request_file.type = type_
25
+ return self
26
+
27
+ def transfer_method(self, transfer_method: str):
28
+ if transfer_method not in ("remote_url", "local_file"):
29
+ raise ValueError("Only 'remote_url' and 'local_file' are supported")
30
+ self._chat_request_file.transfer_method = transfer_method
31
+ return self
32
+
33
+ def url(self, url: str):
34
+ self._chat_request_file.url = HttpUrl(url=url)
35
+ return self
36
+
37
+ def upload_file_id(self, upload_file_id: str):
38
+ self._chat_request_file.upload_file_id = upload_file_id
39
+ return self
40
+
41
+ def build(self) -> ChatRequestFile:
42
+ if self._chat_request_file.transfer_method == "remote_url" and self._chat_request_file.url is None:
43
+ raise ValueError("Url needs to be set when transfer_method is set as remote_url")
44
+ if self._chat_request_file.transfer_method == "local_file" and self._chat_request_file.upload_file_id is None:
45
+ raise ValueError("Upload file_id needs to be set when transfer_method is set as local_file")
46
+ return self._chat_request_file
@@ -0,0 +1,19 @@
1
+ from __future__ import annotations
2
+
3
+ from pydantic import BaseModel
4
+
5
+ from dify_oapi.core.model.base_response import BaseResponse
6
+
7
+
8
+ class ChatResponse(BaseResponse):
9
+ message_id: str | None = None
10
+ conversation_id: str | None = None
11
+ mode: str | None = None
12
+ answer: str | None = None
13
+ metadata: ChatResponseMetadata | None = None
14
+ created_at: int | None = None
15
+
16
+
17
+ class ChatResponseMetadata(BaseModel):
18
+ usage: dict | None = None
19
+ retriever_resources: list[dict] | None = None
@@ -0,0 +1,38 @@
1
+ from __future__ import annotations
2
+
3
+ from dify_oapi.core.enum import HttpMethod
4
+ from dify_oapi.core.model.base_request import BaseRequest
5
+
6
+ from .delete_conversation_request_body import DeleteConversationRequestBody
7
+
8
+
9
+ class DeleteConversationRequest(BaseRequest):
10
+ def __init__(self):
11
+ super().__init__()
12
+ self.conversation_id: str | None = None
13
+ self.request_body: DeleteConversationRequestBody | None = None
14
+
15
+ @staticmethod
16
+ def builder() -> DeleteConversationRequestBuilder:
17
+ return DeleteConversationRequestBuilder()
18
+
19
+
20
+ class DeleteConversationRequestBuilder:
21
+ def __init__(self):
22
+ delete_conversation_request = DeleteConversationRequest()
23
+ delete_conversation_request.http_method = HttpMethod.DELETE
24
+ delete_conversation_request.uri = "/v1/conversations/:conversation_id"
25
+ self._delete_conversation_request = delete_conversation_request
26
+
27
+ def request_body(self, request_body: DeleteConversationRequestBody) -> DeleteConversationRequestBuilder:
28
+ self._delete_conversation_request.request_body = request_body
29
+ self._delete_conversation_request.body = request_body.model_dump(exclude_none=True, mode="json")
30
+ return self
31
+
32
+ def conversation_id(self, conversation_id: str) -> DeleteConversationRequestBuilder:
33
+ self._delete_conversation_request.conversation_id = conversation_id
34
+ self._delete_conversation_request.paths["conversation_id"] = conversation_id
35
+ return self
36
+
37
+ def build(self) -> DeleteConversationRequest:
38
+ return self._delete_conversation_request
@@ -0,0 +1,23 @@
1
+ from __future__ import annotations
2
+
3
+ from pydantic import BaseModel
4
+
5
+
6
+ class DeleteConversationRequestBody(BaseModel):
7
+ user: str | None = None
8
+
9
+ @staticmethod
10
+ def builder() -> DeleteConversationRequestBodyBuilder:
11
+ return DeleteConversationRequestBodyBuilder()
12
+
13
+
14
+ class DeleteConversationRequestBodyBuilder:
15
+ def __init__(self):
16
+ self._delete_conversation_request_body = DeleteConversationRequestBody()
17
+
18
+ def user(self, user: str):
19
+ self._delete_conversation_request_body.user = user
20
+ return self
21
+
22
+ def build(self) -> DeleteConversationRequestBody:
23
+ return self._delete_conversation_request_body
@@ -0,0 +1,5 @@
1
+ from dify_oapi.core.model.base_response import BaseResponse
2
+
3
+
4
+ class DeleteConversationResponse(BaseResponse):
5
+ result: str | None = None
@@ -0,0 +1,48 @@
1
+ from __future__ import annotations
2
+
3
+ from dify_oapi.core.enum import HttpMethod
4
+ from dify_oapi.core.model.base_request import BaseRequest
5
+
6
+
7
+ class GetConversationListRequest(BaseRequest):
8
+ def __init__(self):
9
+ super().__init__()
10
+ self.user: str | None = None
11
+ self.last_id: str | None = None
12
+ self.limit: int | None = None
13
+ self.pinned: bool | None = None
14
+
15
+ @staticmethod
16
+ def builder() -> GetConversationListRequestBuilder:
17
+ return GetConversationListRequestBuilder()
18
+
19
+
20
+ class GetConversationListRequestBuilder:
21
+ def __init__(self):
22
+ get_conversation_list_request = GetConversationListRequest()
23
+ get_conversation_list_request.http_method = HttpMethod.GET
24
+ get_conversation_list_request.uri = "/v1/conversations"
25
+ self._get_conversation_list_request = get_conversation_list_request
26
+
27
+ def user(self, user: str) -> GetConversationListRequestBuilder:
28
+ self._get_conversation_list_request.user = user
29
+ self._get_conversation_list_request.add_query("user", user)
30
+ return self
31
+
32
+ def last_id(self, last_id: str) -> GetConversationListRequestBuilder:
33
+ self._get_conversation_list_request.last_id = last_id
34
+ self._get_conversation_list_request.add_query("last_id", last_id)
35
+ return self
36
+
37
+ def limit(self, limit: int) -> GetConversationListRequestBuilder:
38
+ self._get_conversation_list_request.limit = limit
39
+ self._get_conversation_list_request.add_query("limit", limit)
40
+ return self
41
+
42
+ def pinned(self, pinned: bool) -> GetConversationListRequestBuilder:
43
+ self._get_conversation_list_request.pinned = pinned
44
+ self._get_conversation_list_request.add_query("pinned", str(pinned).lower())
45
+ return self
46
+
47
+ def build(self) -> GetConversationListRequest:
48
+ return self._get_conversation_list_request
@@ -0,0 +1,21 @@
1
+ from __future__ import annotations
2
+
3
+ from pydantic import BaseModel
4
+
5
+ from dify_oapi.core.model.base_response import BaseResponse
6
+
7
+
8
+ class GetConversationListResponse(BaseResponse):
9
+ data: list[GetConversationListData] | None = None
10
+ has_more: bool | None = None
11
+ limit: int | None = None
12
+
13
+
14
+ class GetConversationListData(BaseModel):
15
+ id: str | None = None
16
+ name: str | None = None
17
+ inputs: dict | None = None
18
+ status: str | None = None
19
+ introduction: str | None = None
20
+ created_at: int | None = None
21
+ updated_at: int | None = None
@@ -0,0 +1,48 @@
1
+ from __future__ import annotations
2
+
3
+ from dify_oapi.core.enum import HttpMethod
4
+ from dify_oapi.core.model.base_request import BaseRequest
5
+
6
+
7
+ class MessageHistoryRequest(BaseRequest):
8
+ def __init__(self):
9
+ super().__init__()
10
+ self.conversation_id: str | None = None
11
+ self.user: str | None = None
12
+ self.first_id: str | None = None
13
+ self.limit: int | None = None
14
+
15
+ @staticmethod
16
+ def builder() -> MessageHistoryRequestBuilder:
17
+ return MessageHistoryRequestBuilder()
18
+
19
+
20
+ class MessageHistoryRequestBuilder:
21
+ def __init__(self):
22
+ message_history_request = MessageHistoryRequest()
23
+ message_history_request.http_method = HttpMethod.GET
24
+ message_history_request.uri = "/v1/messages"
25
+ self._message_history_request = message_history_request
26
+
27
+ def build(self) -> MessageHistoryRequest:
28
+ return self._message_history_request
29
+
30
+ def conversation_id(self, conversation_id: str):
31
+ self._message_history_request.conversation_id = conversation_id
32
+ self._message_history_request.add_query("conversation_id", conversation_id)
33
+ return self
34
+
35
+ def user(self, user: str):
36
+ self._message_history_request.user = user
37
+ self._message_history_request.add_query("user", user)
38
+ return self
39
+
40
+ def first_id(self, first_id: str):
41
+ self._message_history_request.first_id = first_id
42
+ self._message_history_request.add_query("first_id", first_id)
43
+ return self
44
+
45
+ def limit(self, limit: int):
46
+ self._message_history_request.limit = limit
47
+ self._message_history_request.add_query("limit", limit)
48
+ return self
@@ -0,0 +1,49 @@
1
+ from __future__ import annotations
2
+
3
+ from pydantic import BaseModel
4
+
5
+ from dify_oapi.core.model.base_response import BaseResponse
6
+
7
+
8
+ class MessageHistoryResponse(BaseResponse):
9
+ data: list[dict] | None = None
10
+ id: str | None = None
11
+ conversation_id: str | None = None
12
+ inputs: list[dict] | None = None
13
+ query: str | None = None
14
+ message_files: list[MessageHistoryResponseFile] | None = None
15
+ answer: str | None = None
16
+ created_at: int | None = None
17
+ feedback: MessageHistoryResponseFeedback | None = None
18
+ retriever_resources: list[dict] | None = None
19
+ has_more: bool | None = None
20
+ limit: int | None = None
21
+
22
+
23
+ class MessageHistoryResponseFeedback(BaseModel):
24
+ rating: str | None = None
25
+
26
+
27
+ class MessageHistoryResponseFile(BaseModel):
28
+ id: str | None = None
29
+ type: str | None = None
30
+ url: str | None = None
31
+ belongs_to: str | None = None
32
+ agent_thoughts: list[MessageHistoryResponseFileAgentThought] | None = None
33
+
34
+
35
+ class MessageHistoryResponseFileAgentThought(BaseResponse):
36
+ id: str | None = None
37
+ message_id: str | None = None
38
+ position: int | None = None
39
+ thought: str | None = None
40
+ observation: str | None = None
41
+ tool: str | None = None
42
+ tool_input: str | None = None
43
+ created_at: int | None = None
44
+ message_files: list[MessageHistoryResponseFileAgentThoughtFile] | None = None
45
+ conversation_id: str | None = None
46
+
47
+
48
+ class MessageHistoryResponseFileAgentThoughtFile(BaseModel):
49
+ file_id: str | None = None
@@ -0,0 +1,36 @@
1
+ from __future__ import annotations
2
+
3
+ from dify_oapi.core.enum import HttpMethod
4
+ from dify_oapi.core.model.base_request import BaseRequest
5
+
6
+
7
+ class MessageSuggestedRequest(BaseRequest):
8
+ def __init__(self):
9
+ super().__init__()
10
+ self.message_id: str | None = None
11
+ self.user: str | None = None
12
+
13
+ @staticmethod
14
+ def builder() -> MessageSuggestedRequestBuilder:
15
+ return MessageSuggestedRequestBuilder()
16
+
17
+
18
+ class MessageSuggestedRequestBuilder:
19
+ def __init__(self):
20
+ message_suggested_request = MessageSuggestedRequest()
21
+ message_suggested_request.http_method = HttpMethod.GET
22
+ message_suggested_request.uri = "/v1/messages/:message_id/suggested"
23
+ self._message_suggested_request = message_suggested_request
24
+
25
+ def build(self) -> MessageSuggestedRequest:
26
+ return self._message_suggested_request
27
+
28
+ def message_id(self, message_id: str):
29
+ self._message_suggested_request.message_id = message_id
30
+ self._message_suggested_request.paths["message_id"] = message_id
31
+ return self
32
+
33
+ def user(self, user: str):
34
+ self._message_suggested_request.user = user
35
+ self._message_suggested_request.add_query("user", user)
36
+ return self
@@ -0,0 +1,6 @@
1
+ from dify_oapi.core.model.base_response import BaseResponse
2
+
3
+
4
+ class MessageSuggestedResponse(BaseResponse):
5
+ result: str | None = None
6
+ data: list[str] | None = None
@@ -0,0 +1,38 @@
1
+ from __future__ import annotations
2
+
3
+ from dify_oapi.core.enum import HttpMethod
4
+ from dify_oapi.core.model.base_request import BaseRequest
5
+
6
+ from .rename_conversation_request_body import RenameConversationRequestBody
7
+
8
+
9
+ class RenameConversationRequest(BaseRequest):
10
+ def __init__(self):
11
+ super().__init__()
12
+ self.conversation_id: str | None = None
13
+ self.request_body: RenameConversationRequestBody | None = None
14
+
15
+ @staticmethod
16
+ def builder() -> RenameConversationRequestBuilder:
17
+ return RenameConversationRequestBuilder()
18
+
19
+
20
+ class RenameConversationRequestBuilder:
21
+ def __init__(self):
22
+ rename_conversation_request = RenameConversationRequest()
23
+ rename_conversation_request.http_method = HttpMethod.POST
24
+ rename_conversation_request.uri = "/v1/conversations/:conversation_id/name"
25
+ self._rename_conversation_request = rename_conversation_request
26
+
27
+ def build(self) -> RenameConversationRequest:
28
+ return self._rename_conversation_request
29
+
30
+ def request_body(self, request_body: RenameConversationRequestBody) -> RenameConversationRequestBuilder:
31
+ self._rename_conversation_request.request_body = request_body
32
+ self._rename_conversation_request.body = request_body.model_dump(exclude_none=True, mode="json")
33
+ return self
34
+
35
+ def conversation_id(self, conversation_id: str) -> RenameConversationRequestBuilder:
36
+ self._rename_conversation_request.conversation_id = conversation_id
37
+ self._rename_conversation_request.paths["conversation_id"] = conversation_id
38
+ return self
@@ -0,0 +1,33 @@
1
+ from __future__ import annotations
2
+
3
+ from pydantic import BaseModel
4
+
5
+
6
+ class RenameConversationRequestBody(BaseModel):
7
+ name: str | None = None
8
+ auto_generate: bool | None = None
9
+ user: str | None = None
10
+
11
+ @staticmethod
12
+ def builder() -> RenameConversationRequestBodyBuilder:
13
+ return RenameConversationRequestBodyBuilder()
14
+
15
+
16
+ class RenameConversationRequestBodyBuilder:
17
+ def __init__(self):
18
+ self._rename_conversation_request_body = RenameConversationRequestBody()
19
+
20
+ def builder(self) -> RenameConversationRequestBody:
21
+ return self._rename_conversation_request_body
22
+
23
+ def name(self, name: str) -> RenameConversationRequestBodyBuilder:
24
+ self._rename_conversation_request_body.name = name
25
+ return self
26
+
27
+ def auto_generate(self, auto_generate: bool) -> RenameConversationRequestBodyBuilder:
28
+ self._rename_conversation_request_body.auto_generate = auto_generate
29
+ return self
30
+
31
+ def user(self, user: str) -> RenameConversationRequestBodyBuilder:
32
+ self._rename_conversation_request_body.user = user
33
+ return self
@@ -0,0 +1,11 @@
1
+ from dify_oapi.core.model.base_response import BaseResponse
2
+
3
+
4
+ class RenameConversationResponse(BaseResponse):
5
+ id: str | None = None
6
+ result: str | None = None
7
+ inputs: dict | None = None
8
+ status: str | None = None
9
+ introduction: str | None = None
10
+ created_at: int | None = None
11
+ updated_at: int | None = None
@@ -0,0 +1,38 @@
1
+ from __future__ import annotations
2
+
3
+ from dify_oapi.core.enum import HttpMethod
4
+ from dify_oapi.core.model.base_request import BaseRequest
5
+
6
+ from .stop_chat_request_body import StopChatRequestBody
7
+
8
+
9
+ class StopChatRequest(BaseRequest):
10
+ def __init__(self) -> None:
11
+ super().__init__()
12
+ self.task_id: str | None = None
13
+ self.request_body: StopChatRequestBody | None = None
14
+
15
+ @staticmethod
16
+ def builder() -> StopChatRequestBuilder:
17
+ return StopChatRequestBuilder()
18
+
19
+
20
+ class StopChatRequestBuilder:
21
+ def __init__(self) -> None:
22
+ stop_chat_request = StopChatRequest()
23
+ stop_chat_request.http_method = HttpMethod.POST
24
+ stop_chat_request.uri = "/v1/chat-messages/:task_id/stop"
25
+ self._stop_chat_request: StopChatRequest = stop_chat_request
26
+
27
+ def task_id(self, task_id: str) -> StopChatRequestBuilder:
28
+ self._stop_chat_request.task_id = task_id
29
+ self._stop_chat_request.paths["task_id"] = str(task_id)
30
+ return self
31
+
32
+ def request_body(self, request_body: StopChatRequestBody) -> StopChatRequestBuilder:
33
+ self._stop_chat_request.request_body = request_body
34
+ self._stop_chat_request.body = request_body.model_dump(exclude_none=True, mode="json")
35
+ return self
36
+
37
+ def build(self) -> StopChatRequest:
38
+ return self._stop_chat_request