dify-oapi2 1.0.1__tar.gz → 1.0.4__tar.gz

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 (404) hide show
  1. dify_oapi2-1.0.4/PKG-INFO +395 -0
  2. dify_oapi2-1.0.4/README.md +371 -0
  3. {dify_oapi2-1.0.1 → dify_oapi2-1.0.4}/pyproject.toml +4 -1
  4. dify_oapi2-1.0.1/PKG-INFO +0 -367
  5. dify_oapi2-1.0.1/README.md +0 -343
  6. {dify_oapi2-1.0.1 → dify_oapi2-1.0.4}/LICENSE +0 -0
  7. {dify_oapi2-1.0.1 → dify_oapi2-1.0.4}/dify_oapi/__init__.py +0 -0
  8. {dify_oapi2-1.0.1 → dify_oapi2-1.0.4}/dify_oapi/api/__init__.py +0 -0
  9. {dify_oapi2-1.0.1 → dify_oapi2-1.0.4}/dify_oapi/api/chat/__init__.py +0 -0
  10. {dify_oapi2-1.0.1 → dify_oapi2-1.0.4}/dify_oapi/api/chat/service.py +0 -0
  11. {dify_oapi2-1.0.1 → dify_oapi2-1.0.4}/dify_oapi/api/chat/v1/__init__.py +0 -0
  12. {dify_oapi2-1.0.1 → dify_oapi2-1.0.4}/dify_oapi/api/chat/v1/model/__init__.py +0 -0
  13. {dify_oapi2-1.0.1 → dify_oapi2-1.0.4}/dify_oapi/api/chat/v1/model/agent_thought.py +0 -0
  14. {dify_oapi2-1.0.1 → dify_oapi2-1.0.4}/dify_oapi/api/chat/v1/model/annotation_info.py +0 -0
  15. {dify_oapi2-1.0.1 → dify_oapi2-1.0.4}/dify_oapi/api/chat/v1/model/app_info.py +0 -0
  16. {dify_oapi2-1.0.1 → dify_oapi2-1.0.4}/dify_oapi/api/chat/v1/model/app_parameters.py +0 -0
  17. {dify_oapi2-1.0.1 → dify_oapi2-1.0.4}/dify_oapi/api/chat/v1/model/chat_file.py +0 -0
  18. {dify_oapi2-1.0.1 → dify_oapi2-1.0.4}/dify_oapi/api/chat/v1/model/chat_request.py +0 -0
  19. {dify_oapi2-1.0.1 → dify_oapi2-1.0.4}/dify_oapi/api/chat/v1/model/chat_request_body.py +0 -0
  20. {dify_oapi2-1.0.1 → dify_oapi2-1.0.4}/dify_oapi/api/chat/v1/model/chat_response.py +0 -0
  21. {dify_oapi2-1.0.1 → dify_oapi2-1.0.4}/dify_oapi/api/chat/v1/model/chat_types.py +0 -0
  22. {dify_oapi2-1.0.1 → dify_oapi2-1.0.4}/dify_oapi/api/chat/v1/model/configure_annotation_reply_request.py +0 -0
  23. {dify_oapi2-1.0.1 → dify_oapi2-1.0.4}/dify_oapi/api/chat/v1/model/configure_annotation_reply_request_body.py +0 -0
  24. {dify_oapi2-1.0.1 → dify_oapi2-1.0.4}/dify_oapi/api/chat/v1/model/configure_annotation_reply_response.py +0 -0
  25. {dify_oapi2-1.0.1 → dify_oapi2-1.0.4}/dify_oapi/api/chat/v1/model/conversation_info.py +0 -0
  26. {dify_oapi2-1.0.1 → dify_oapi2-1.0.4}/dify_oapi/api/chat/v1/model/conversation_variable.py +0 -0
  27. {dify_oapi2-1.0.1 → dify_oapi2-1.0.4}/dify_oapi/api/chat/v1/model/create_annotation_request.py +0 -0
  28. {dify_oapi2-1.0.1 → dify_oapi2-1.0.4}/dify_oapi/api/chat/v1/model/create_annotation_request_body.py +0 -0
  29. {dify_oapi2-1.0.1 → dify_oapi2-1.0.4}/dify_oapi/api/chat/v1/model/create_annotation_response.py +0 -0
  30. {dify_oapi2-1.0.1 → dify_oapi2-1.0.4}/dify_oapi/api/chat/v1/model/delete_annotation_request.py +0 -0
  31. {dify_oapi2-1.0.1 → dify_oapi2-1.0.4}/dify_oapi/api/chat/v1/model/delete_annotation_response.py +0 -0
  32. {dify_oapi2-1.0.1 → dify_oapi2-1.0.4}/dify_oapi/api/chat/v1/model/delete_conversation_request.py +0 -0
  33. {dify_oapi2-1.0.1 → dify_oapi2-1.0.4}/dify_oapi/api/chat/v1/model/delete_conversation_request_body.py +0 -0
  34. {dify_oapi2-1.0.1 → dify_oapi2-1.0.4}/dify_oapi/api/chat/v1/model/delete_conversation_response.py +0 -0
  35. {dify_oapi2-1.0.1 → dify_oapi2-1.0.4}/dify_oapi/api/chat/v1/model/feedback_info.py +0 -0
  36. {dify_oapi2-1.0.1 → dify_oapi2-1.0.4}/dify_oapi/api/chat/v1/model/file_info.py +0 -0
  37. {dify_oapi2-1.0.1 → dify_oapi2-1.0.4}/dify_oapi/api/chat/v1/model/get_annotation_reply_status_request.py +0 -0
  38. {dify_oapi2-1.0.1 → dify_oapi2-1.0.4}/dify_oapi/api/chat/v1/model/get_annotation_reply_status_response.py +0 -0
  39. {dify_oapi2-1.0.1 → dify_oapi2-1.0.4}/dify_oapi/api/chat/v1/model/get_conversation_list_request.py +0 -0
  40. {dify_oapi2-1.0.1 → dify_oapi2-1.0.4}/dify_oapi/api/chat/v1/model/get_conversation_list_response.py +0 -0
  41. {dify_oapi2-1.0.1 → dify_oapi2-1.0.4}/dify_oapi/api/chat/v1/model/get_conversation_variables_request.py +0 -0
  42. {dify_oapi2-1.0.1 → dify_oapi2-1.0.4}/dify_oapi/api/chat/v1/model/get_conversation_variables_response.py +0 -0
  43. {dify_oapi2-1.0.1 → dify_oapi2-1.0.4}/dify_oapi/api/chat/v1/model/get_conversations_request.py +0 -0
  44. {dify_oapi2-1.0.1 → dify_oapi2-1.0.4}/dify_oapi/api/chat/v1/model/get_suggested_questions_request.py +0 -0
  45. {dify_oapi2-1.0.1 → dify_oapi2-1.0.4}/dify_oapi/api/chat/v1/model/get_suggested_questions_response.py +0 -0
  46. {dify_oapi2-1.0.1 → dify_oapi2-1.0.4}/dify_oapi/api/chat/v1/model/list_annotations_request.py +0 -0
  47. {dify_oapi2-1.0.1 → dify_oapi2-1.0.4}/dify_oapi/api/chat/v1/model/list_annotations_response.py +0 -0
  48. {dify_oapi2-1.0.1 → dify_oapi2-1.0.4}/dify_oapi/api/chat/v1/model/message_file.py +0 -0
  49. {dify_oapi2-1.0.1 → dify_oapi2-1.0.4}/dify_oapi/api/chat/v1/model/message_history_request.py +0 -0
  50. {dify_oapi2-1.0.1 → dify_oapi2-1.0.4}/dify_oapi/api/chat/v1/model/message_history_response.py +0 -0
  51. {dify_oapi2-1.0.1 → dify_oapi2-1.0.4}/dify_oapi/api/chat/v1/model/message_info.py +0 -0
  52. {dify_oapi2-1.0.1 → dify_oapi2-1.0.4}/dify_oapi/api/chat/v1/model/pagination_info.py +0 -0
  53. {dify_oapi2-1.0.1 → dify_oapi2-1.0.4}/dify_oapi/api/chat/v1/model/rename_conversation_request.py +0 -0
  54. {dify_oapi2-1.0.1 → dify_oapi2-1.0.4}/dify_oapi/api/chat/v1/model/rename_conversation_request_body.py +0 -0
  55. {dify_oapi2-1.0.1 → dify_oapi2-1.0.4}/dify_oapi/api/chat/v1/model/rename_conversation_response.py +0 -0
  56. {dify_oapi2-1.0.1 → dify_oapi2-1.0.4}/dify_oapi/api/chat/v1/model/retriever_resource.py +0 -0
  57. {dify_oapi2-1.0.1 → dify_oapi2-1.0.4}/dify_oapi/api/chat/v1/model/site_settings.py +0 -0
  58. {dify_oapi2-1.0.1 → dify_oapi2-1.0.4}/dify_oapi/api/chat/v1/model/stop_chat_request.py +0 -0
  59. {dify_oapi2-1.0.1 → dify_oapi2-1.0.4}/dify_oapi/api/chat/v1/model/stop_chat_request_body.py +0 -0
  60. {dify_oapi2-1.0.1 → dify_oapi2-1.0.4}/dify_oapi/api/chat/v1/model/stop_chat_response.py +0 -0
  61. {dify_oapi2-1.0.1 → dify_oapi2-1.0.4}/dify_oapi/api/chat/v1/model/text_to_audio_response.py +0 -0
  62. {dify_oapi2-1.0.1 → dify_oapi2-1.0.4}/dify_oapi/api/chat/v1/model/tool_icon.py +0 -0
  63. {dify_oapi2-1.0.1 → dify_oapi2-1.0.4}/dify_oapi/api/chat/v1/model/update_annotation_request.py +0 -0
  64. {dify_oapi2-1.0.1 → dify_oapi2-1.0.4}/dify_oapi/api/chat/v1/model/update_annotation_request_body.py +0 -0
  65. {dify_oapi2-1.0.1 → dify_oapi2-1.0.4}/dify_oapi/api/chat/v1/model/update_annotation_response.py +0 -0
  66. {dify_oapi2-1.0.1 → dify_oapi2-1.0.4}/dify_oapi/api/chat/v1/model/upload_file_request_body.py +0 -0
  67. {dify_oapi2-1.0.1 → dify_oapi2-1.0.4}/dify_oapi/api/chat/v1/model/usage_info.py +0 -0
  68. {dify_oapi2-1.0.1 → dify_oapi2-1.0.4}/dify_oapi/api/chat/v1/resource/__init__.py +0 -0
  69. {dify_oapi2-1.0.1 → dify_oapi2-1.0.4}/dify_oapi/api/chat/v1/resource/annotation.py +0 -0
  70. {dify_oapi2-1.0.1 → dify_oapi2-1.0.4}/dify_oapi/api/chat/v1/resource/chat.py +0 -0
  71. {dify_oapi2-1.0.1 → dify_oapi2-1.0.4}/dify_oapi/api/chat/v1/resource/conversation.py +0 -0
  72. {dify_oapi2-1.0.1 → dify_oapi2-1.0.4}/dify_oapi/api/chat/v1/resource/message.py +0 -0
  73. {dify_oapi2-1.0.1 → dify_oapi2-1.0.4}/dify_oapi/api/chat/v1/version.py +0 -0
  74. {dify_oapi2-1.0.1 → dify_oapi2-1.0.4}/dify_oapi/api/chatflow/__init__.py +0 -0
  75. {dify_oapi2-1.0.1 → dify_oapi2-1.0.4}/dify_oapi/api/chatflow/service.py +0 -0
  76. {dify_oapi2-1.0.1 → dify_oapi2-1.0.4}/dify_oapi/api/chatflow/v1/__init__.py +0 -0
  77. {dify_oapi2-1.0.1 → dify_oapi2-1.0.4}/dify_oapi/api/chatflow/v1/model/__init__.py +0 -0
  78. {dify_oapi2-1.0.1 → dify_oapi2-1.0.4}/dify_oapi/api/chatflow/v1/model/annotation_info.py +0 -0
  79. {dify_oapi2-1.0.1 → dify_oapi2-1.0.4}/dify_oapi/api/chatflow/v1/model/annotation_reply_settings_request.py +0 -0
  80. {dify_oapi2-1.0.1 → dify_oapi2-1.0.4}/dify_oapi/api/chatflow/v1/model/annotation_reply_settings_request_body.py +0 -0
  81. {dify_oapi2-1.0.1 → dify_oapi2-1.0.4}/dify_oapi/api/chatflow/v1/model/annotation_reply_settings_response.py +0 -0
  82. {dify_oapi2-1.0.1 → dify_oapi2-1.0.4}/dify_oapi/api/chatflow/v1/model/annotation_reply_status_request.py +0 -0
  83. {dify_oapi2-1.0.1 → dify_oapi2-1.0.4}/dify_oapi/api/chatflow/v1/model/annotation_reply_status_response.py +0 -0
  84. {dify_oapi2-1.0.1 → dify_oapi2-1.0.4}/dify_oapi/api/chatflow/v1/model/app_info.py +0 -0
  85. {dify_oapi2-1.0.1 → dify_oapi2-1.0.4}/dify_oapi/api/chatflow/v1/model/app_parameters.py +0 -0
  86. {dify_oapi2-1.0.1 → dify_oapi2-1.0.4}/dify_oapi/api/chatflow/v1/model/chat_file.py +0 -0
  87. {dify_oapi2-1.0.1 → dify_oapi2-1.0.4}/dify_oapi/api/chatflow/v1/model/chat_message.py +0 -0
  88. {dify_oapi2-1.0.1 → dify_oapi2-1.0.4}/dify_oapi/api/chatflow/v1/model/chatflow_types.py +0 -0
  89. {dify_oapi2-1.0.1 → dify_oapi2-1.0.4}/dify_oapi/api/chatflow/v1/model/conversation_info.py +0 -0
  90. {dify_oapi2-1.0.1 → dify_oapi2-1.0.4}/dify_oapi/api/chatflow/v1/model/conversation_variable.py +0 -0
  91. {dify_oapi2-1.0.1 → dify_oapi2-1.0.4}/dify_oapi/api/chatflow/v1/model/create_annotation_request.py +0 -0
  92. {dify_oapi2-1.0.1 → dify_oapi2-1.0.4}/dify_oapi/api/chatflow/v1/model/create_annotation_request_body.py +0 -0
  93. {dify_oapi2-1.0.1 → dify_oapi2-1.0.4}/dify_oapi/api/chatflow/v1/model/create_annotation_response.py +0 -0
  94. {dify_oapi2-1.0.1 → dify_oapi2-1.0.4}/dify_oapi/api/chatflow/v1/model/delete_annotation_request.py +0 -0
  95. {dify_oapi2-1.0.1 → dify_oapi2-1.0.4}/dify_oapi/api/chatflow/v1/model/delete_annotation_response.py +0 -0
  96. {dify_oapi2-1.0.1 → dify_oapi2-1.0.4}/dify_oapi/api/chatflow/v1/model/delete_conversation_request.py +0 -0
  97. {dify_oapi2-1.0.1 → dify_oapi2-1.0.4}/dify_oapi/api/chatflow/v1/model/delete_conversation_request_body.py +0 -0
  98. {dify_oapi2-1.0.1 → dify_oapi2-1.0.4}/dify_oapi/api/chatflow/v1/model/delete_conversation_response.py +0 -0
  99. {dify_oapi2-1.0.1 → dify_oapi2-1.0.4}/dify_oapi/api/chatflow/v1/model/feedback_info.py +0 -0
  100. {dify_oapi2-1.0.1 → dify_oapi2-1.0.4}/dify_oapi/api/chatflow/v1/model/file_info.py +0 -0
  101. {dify_oapi2-1.0.1 → dify_oapi2-1.0.4}/dify_oapi/api/chatflow/v1/model/get_annotations_request.py +0 -0
  102. {dify_oapi2-1.0.1 → dify_oapi2-1.0.4}/dify_oapi/api/chatflow/v1/model/get_annotations_response.py +0 -0
  103. {dify_oapi2-1.0.1 → dify_oapi2-1.0.4}/dify_oapi/api/chatflow/v1/model/get_conversation_messages_request.py +0 -0
  104. {dify_oapi2-1.0.1 → dify_oapi2-1.0.4}/dify_oapi/api/chatflow/v1/model/get_conversation_messages_response.py +0 -0
  105. {dify_oapi2-1.0.1 → dify_oapi2-1.0.4}/dify_oapi/api/chatflow/v1/model/get_conversation_variables_request.py +0 -0
  106. {dify_oapi2-1.0.1 → dify_oapi2-1.0.4}/dify_oapi/api/chatflow/v1/model/get_conversation_variables_response.py +0 -0
  107. {dify_oapi2-1.0.1 → dify_oapi2-1.0.4}/dify_oapi/api/chatflow/v1/model/get_conversations_request.py +0 -0
  108. {dify_oapi2-1.0.1 → dify_oapi2-1.0.4}/dify_oapi/api/chatflow/v1/model/get_conversations_response.py +0 -0
  109. {dify_oapi2-1.0.1 → dify_oapi2-1.0.4}/dify_oapi/api/chatflow/v1/model/get_suggested_questions_request.py +0 -0
  110. {dify_oapi2-1.0.1 → dify_oapi2-1.0.4}/dify_oapi/api/chatflow/v1/model/get_suggested_questions_response.py +0 -0
  111. {dify_oapi2-1.0.1 → dify_oapi2-1.0.4}/dify_oapi/api/chatflow/v1/model/rename_conversation_request.py +0 -0
  112. {dify_oapi2-1.0.1 → dify_oapi2-1.0.4}/dify_oapi/api/chatflow/v1/model/rename_conversation_request_body.py +0 -0
  113. {dify_oapi2-1.0.1 → dify_oapi2-1.0.4}/dify_oapi/api/chatflow/v1/model/rename_conversation_response.py +0 -0
  114. {dify_oapi2-1.0.1 → dify_oapi2-1.0.4}/dify_oapi/api/chatflow/v1/model/retriever_resource.py +0 -0
  115. {dify_oapi2-1.0.1 → dify_oapi2-1.0.4}/dify_oapi/api/chatflow/v1/model/send_chat_message_request.py +0 -0
  116. {dify_oapi2-1.0.1 → dify_oapi2-1.0.4}/dify_oapi/api/chatflow/v1/model/send_chat_message_request_body.py +0 -0
  117. {dify_oapi2-1.0.1 → dify_oapi2-1.0.4}/dify_oapi/api/chatflow/v1/model/send_chat_message_response.py +0 -0
  118. {dify_oapi2-1.0.1 → dify_oapi2-1.0.4}/dify_oapi/api/chatflow/v1/model/stop_chat_message_request.py +0 -0
  119. {dify_oapi2-1.0.1 → dify_oapi2-1.0.4}/dify_oapi/api/chatflow/v1/model/stop_chat_message_request_body.py +0 -0
  120. {dify_oapi2-1.0.1 → dify_oapi2-1.0.4}/dify_oapi/api/chatflow/v1/model/stop_chat_message_response.py +0 -0
  121. {dify_oapi2-1.0.1 → dify_oapi2-1.0.4}/dify_oapi/api/chatflow/v1/model/tool_icon.py +0 -0
  122. {dify_oapi2-1.0.1 → dify_oapi2-1.0.4}/dify_oapi/api/chatflow/v1/model/update_annotation_request.py +0 -0
  123. {dify_oapi2-1.0.1 → dify_oapi2-1.0.4}/dify_oapi/api/chatflow/v1/model/update_annotation_request_body.py +0 -0
  124. {dify_oapi2-1.0.1 → dify_oapi2-1.0.4}/dify_oapi/api/chatflow/v1/model/update_annotation_response.py +0 -0
  125. {dify_oapi2-1.0.1 → dify_oapi2-1.0.4}/dify_oapi/api/chatflow/v1/model/usage_info.py +0 -0
  126. {dify_oapi2-1.0.1 → dify_oapi2-1.0.4}/dify_oapi/api/chatflow/v1/model/user_input_form.py +0 -0
  127. {dify_oapi2-1.0.1 → dify_oapi2-1.0.4}/dify_oapi/api/chatflow/v1/model/webapp_settings.py +0 -0
  128. {dify_oapi2-1.0.1 → dify_oapi2-1.0.4}/dify_oapi/api/chatflow/v1/resource/__init__.py +0 -0
  129. {dify_oapi2-1.0.1 → dify_oapi2-1.0.4}/dify_oapi/api/chatflow/v1/resource/annotation.py +0 -0
  130. {dify_oapi2-1.0.1 → dify_oapi2-1.0.4}/dify_oapi/api/chatflow/v1/resource/chatflow.py +0 -0
  131. {dify_oapi2-1.0.1 → dify_oapi2-1.0.4}/dify_oapi/api/chatflow/v1/resource/conversation.py +0 -0
  132. {dify_oapi2-1.0.1 → dify_oapi2-1.0.4}/dify_oapi/api/chatflow/v1/version.py +0 -0
  133. {dify_oapi2-1.0.1 → dify_oapi2-1.0.4}/dify_oapi/api/completion/__init__.py +0 -0
  134. {dify_oapi2-1.0.1 → dify_oapi2-1.0.4}/dify_oapi/api/completion/service.py +0 -0
  135. {dify_oapi2-1.0.1 → dify_oapi2-1.0.4}/dify_oapi/api/completion/v1/__init__.py +0 -0
  136. {dify_oapi2-1.0.1 → dify_oapi2-1.0.4}/dify_oapi/api/completion/v1/model/__init__.py +0 -0
  137. {dify_oapi2-1.0.1 → dify_oapi2-1.0.4}/dify_oapi/api/completion/v1/model/annotation/__init__.py +0 -0
  138. {dify_oapi2-1.0.1 → dify_oapi2-1.0.4}/dify_oapi/api/completion/v1/model/annotation/annotation_info.py +0 -0
  139. {dify_oapi2-1.0.1 → dify_oapi2-1.0.4}/dify_oapi/api/completion/v1/model/annotation/annotation_reply_settings_request.py +0 -0
  140. {dify_oapi2-1.0.1 → dify_oapi2-1.0.4}/dify_oapi/api/completion/v1/model/annotation/annotation_reply_settings_request_body.py +0 -0
  141. {dify_oapi2-1.0.1 → dify_oapi2-1.0.4}/dify_oapi/api/completion/v1/model/annotation/annotation_reply_settings_response.py +0 -0
  142. {dify_oapi2-1.0.1 → dify_oapi2-1.0.4}/dify_oapi/api/completion/v1/model/annotation/create_annotation_request.py +0 -0
  143. {dify_oapi2-1.0.1 → dify_oapi2-1.0.4}/dify_oapi/api/completion/v1/model/annotation/create_annotation_request_body.py +0 -0
  144. {dify_oapi2-1.0.1 → dify_oapi2-1.0.4}/dify_oapi/api/completion/v1/model/annotation/create_annotation_response.py +0 -0
  145. {dify_oapi2-1.0.1 → dify_oapi2-1.0.4}/dify_oapi/api/completion/v1/model/annotation/delete_annotation_request.py +0 -0
  146. {dify_oapi2-1.0.1 → dify_oapi2-1.0.4}/dify_oapi/api/completion/v1/model/annotation/delete_annotation_response.py +0 -0
  147. {dify_oapi2-1.0.1 → dify_oapi2-1.0.4}/dify_oapi/api/completion/v1/model/annotation/job_status_info.py +0 -0
  148. {dify_oapi2-1.0.1 → dify_oapi2-1.0.4}/dify_oapi/api/completion/v1/model/annotation/list_annotations_request.py +0 -0
  149. {dify_oapi2-1.0.1 → dify_oapi2-1.0.4}/dify_oapi/api/completion/v1/model/annotation/list_annotations_response.py +0 -0
  150. {dify_oapi2-1.0.1 → dify_oapi2-1.0.4}/dify_oapi/api/completion/v1/model/annotation/query_annotation_reply_status_request.py +0 -0
  151. {dify_oapi2-1.0.1 → dify_oapi2-1.0.4}/dify_oapi/api/completion/v1/model/annotation/query_annotation_reply_status_response.py +0 -0
  152. {dify_oapi2-1.0.1 → dify_oapi2-1.0.4}/dify_oapi/api/completion/v1/model/annotation/update_annotation_request.py +0 -0
  153. {dify_oapi2-1.0.1 → dify_oapi2-1.0.4}/dify_oapi/api/completion/v1/model/annotation/update_annotation_request_body.py +0 -0
  154. {dify_oapi2-1.0.1 → dify_oapi2-1.0.4}/dify_oapi/api/completion/v1/model/annotation/update_annotation_response.py +0 -0
  155. {dify_oapi2-1.0.1 → dify_oapi2-1.0.4}/dify_oapi/api/completion/v1/model/completion/__init__.py +0 -0
  156. {dify_oapi2-1.0.1 → dify_oapi2-1.0.4}/dify_oapi/api/completion/v1/model/completion/completion_inputs.py +0 -0
  157. {dify_oapi2-1.0.1 → dify_oapi2-1.0.4}/dify_oapi/api/completion/v1/model/completion/completion_message_info.py +0 -0
  158. {dify_oapi2-1.0.1 → dify_oapi2-1.0.4}/dify_oapi/api/completion/v1/model/completion/completion_types.py +0 -0
  159. {dify_oapi2-1.0.1 → dify_oapi2-1.0.4}/dify_oapi/api/completion/v1/model/completion/input_file_object.py +0 -0
  160. {dify_oapi2-1.0.1 → dify_oapi2-1.0.4}/dify_oapi/api/completion/v1/model/completion/metadata.py +0 -0
  161. {dify_oapi2-1.0.1 → dify_oapi2-1.0.4}/dify_oapi/api/completion/v1/model/completion/retriever_resource.py +0 -0
  162. {dify_oapi2-1.0.1 → dify_oapi2-1.0.4}/dify_oapi/api/completion/v1/model/completion/send_message_request.py +0 -0
  163. {dify_oapi2-1.0.1 → dify_oapi2-1.0.4}/dify_oapi/api/completion/v1/model/completion/send_message_request_body.py +0 -0
  164. {dify_oapi2-1.0.1 → dify_oapi2-1.0.4}/dify_oapi/api/completion/v1/model/completion/send_message_response.py +0 -0
  165. {dify_oapi2-1.0.1 → dify_oapi2-1.0.4}/dify_oapi/api/completion/v1/model/completion/stop_response_request.py +0 -0
  166. {dify_oapi2-1.0.1 → dify_oapi2-1.0.4}/dify_oapi/api/completion/v1/model/completion/stop_response_request_body.py +0 -0
  167. {dify_oapi2-1.0.1 → dify_oapi2-1.0.4}/dify_oapi/api/completion/v1/model/completion/stop_response_response.py +0 -0
  168. {dify_oapi2-1.0.1 → dify_oapi2-1.0.4}/dify_oapi/api/completion/v1/model/completion/usage.py +0 -0
  169. {dify_oapi2-1.0.1 → dify_oapi2-1.0.4}/dify_oapi/api/completion/v1/resource/__init__.py +0 -0
  170. {dify_oapi2-1.0.1 → dify_oapi2-1.0.4}/dify_oapi/api/completion/v1/resource/annotation.py +0 -0
  171. {dify_oapi2-1.0.1 → dify_oapi2-1.0.4}/dify_oapi/api/completion/v1/resource/completion.py +0 -0
  172. {dify_oapi2-1.0.1 → dify_oapi2-1.0.4}/dify_oapi/api/completion/v1/version.py +0 -0
  173. {dify_oapi2-1.0.1 → dify_oapi2-1.0.4}/dify_oapi/api/dify/__init__.py +0 -0
  174. {dify_oapi2-1.0.1 → dify_oapi2-1.0.4}/dify_oapi/api/dify/service.py +0 -0
  175. {dify_oapi2-1.0.1 → dify_oapi2-1.0.4}/dify_oapi/api/dify/v1/__init__.py +0 -0
  176. {dify_oapi2-1.0.1 → dify_oapi2-1.0.4}/dify_oapi/api/dify/v1/model/__init__.py +0 -0
  177. {dify_oapi2-1.0.1 → dify_oapi2-1.0.4}/dify_oapi/api/dify/v1/model/audio_to_text_request.py +0 -0
  178. {dify_oapi2-1.0.1 → dify_oapi2-1.0.4}/dify_oapi/api/dify/v1/model/audio_to_text_request_body.py +0 -0
  179. {dify_oapi2-1.0.1 → dify_oapi2-1.0.4}/dify_oapi/api/dify/v1/model/audio_to_text_response.py +0 -0
  180. {dify_oapi2-1.0.1 → dify_oapi2-1.0.4}/dify_oapi/api/dify/v1/model/get_feedbacks_request.py +0 -0
  181. {dify_oapi2-1.0.1 → dify_oapi2-1.0.4}/dify_oapi/api/dify/v1/model/get_feedbacks_response.py +0 -0
  182. {dify_oapi2-1.0.1 → dify_oapi2-1.0.4}/dify_oapi/api/dify/v1/model/get_info_request.py +0 -0
  183. {dify_oapi2-1.0.1 → dify_oapi2-1.0.4}/dify_oapi/api/dify/v1/model/get_info_response.py +0 -0
  184. {dify_oapi2-1.0.1 → dify_oapi2-1.0.4}/dify_oapi/api/dify/v1/model/get_meta_request.py +0 -0
  185. {dify_oapi2-1.0.1 → dify_oapi2-1.0.4}/dify_oapi/api/dify/v1/model/get_meta_response.py +0 -0
  186. {dify_oapi2-1.0.1 → dify_oapi2-1.0.4}/dify_oapi/api/dify/v1/model/get_parameters_request.py +0 -0
  187. {dify_oapi2-1.0.1 → dify_oapi2-1.0.4}/dify_oapi/api/dify/v1/model/get_parameters_response.py +0 -0
  188. {dify_oapi2-1.0.1 → dify_oapi2-1.0.4}/dify_oapi/api/dify/v1/model/get_site_request.py +0 -0
  189. {dify_oapi2-1.0.1 → dify_oapi2-1.0.4}/dify_oapi/api/dify/v1/model/get_site_response.py +0 -0
  190. {dify_oapi2-1.0.1 → dify_oapi2-1.0.4}/dify_oapi/api/dify/v1/model/submit_feedback_request.py +0 -0
  191. {dify_oapi2-1.0.1 → dify_oapi2-1.0.4}/dify_oapi/api/dify/v1/model/submit_feedback_request_body.py +0 -0
  192. {dify_oapi2-1.0.1 → dify_oapi2-1.0.4}/dify_oapi/api/dify/v1/model/submit_feedback_response.py +0 -0
  193. {dify_oapi2-1.0.1 → dify_oapi2-1.0.4}/dify_oapi/api/dify/v1/model/text_to_audio_request.py +0 -0
  194. {dify_oapi2-1.0.1 → dify_oapi2-1.0.4}/dify_oapi/api/dify/v1/model/text_to_audio_request_body.py +0 -0
  195. {dify_oapi2-1.0.1 → dify_oapi2-1.0.4}/dify_oapi/api/dify/v1/model/text_to_audio_response.py +0 -0
  196. {dify_oapi2-1.0.1 → dify_oapi2-1.0.4}/dify_oapi/api/dify/v1/model/upload_file_body.py +0 -0
  197. {dify_oapi2-1.0.1 → dify_oapi2-1.0.4}/dify_oapi/api/dify/v1/model/upload_file_request.py +0 -0
  198. {dify_oapi2-1.0.1 → dify_oapi2-1.0.4}/dify_oapi/api/dify/v1/model/upload_file_response.py +0 -0
  199. {dify_oapi2-1.0.1 → dify_oapi2-1.0.4}/dify_oapi/api/dify/v1/resource/__init__.py +0 -0
  200. {dify_oapi2-1.0.1 → dify_oapi2-1.0.4}/dify_oapi/api/dify/v1/resource/audio.py +0 -0
  201. {dify_oapi2-1.0.1 → dify_oapi2-1.0.4}/dify_oapi/api/dify/v1/resource/feedback.py +0 -0
  202. {dify_oapi2-1.0.1 → dify_oapi2-1.0.4}/dify_oapi/api/dify/v1/resource/file.py +0 -0
  203. {dify_oapi2-1.0.1 → dify_oapi2-1.0.4}/dify_oapi/api/dify/v1/resource/info.py +0 -0
  204. {dify_oapi2-1.0.1 → dify_oapi2-1.0.4}/dify_oapi/api/dify/v1/version.py +0 -0
  205. {dify_oapi2-1.0.1 → dify_oapi2-1.0.4}/dify_oapi/api/knowledge/__init__.py +0 -0
  206. {dify_oapi2-1.0.1 → dify_oapi2-1.0.4}/dify_oapi/api/knowledge/service.py +0 -0
  207. {dify_oapi2-1.0.1 → dify_oapi2-1.0.4}/dify_oapi/api/knowledge/v1/__init__.py +0 -0
  208. {dify_oapi2-1.0.1 → dify_oapi2-1.0.4}/dify_oapi/api/knowledge/v1/model/__init__.py +0 -0
  209. {dify_oapi2-1.0.1 → dify_oapi2-1.0.4}/dify_oapi/api/knowledge/v1/model/batch_info.py +0 -0
  210. {dify_oapi2-1.0.1 → dify_oapi2-1.0.4}/dify_oapi/api/knowledge/v1/model/bind_tags_to_dataset_request.py +0 -0
  211. {dify_oapi2-1.0.1 → dify_oapi2-1.0.4}/dify_oapi/api/knowledge/v1/model/bind_tags_to_dataset_request_body.py +0 -0
  212. {dify_oapi2-1.0.1 → dify_oapi2-1.0.4}/dify_oapi/api/knowledge/v1/model/bind_tags_to_dataset_response.py +0 -0
  213. {dify_oapi2-1.0.1 → dify_oapi2-1.0.4}/dify_oapi/api/knowledge/v1/model/child_chunk_content.py +0 -0
  214. {dify_oapi2-1.0.1 → dify_oapi2-1.0.4}/dify_oapi/api/knowledge/v1/model/child_chunk_info.py +0 -0
  215. {dify_oapi2-1.0.1 → dify_oapi2-1.0.4}/dify_oapi/api/knowledge/v1/model/create_child_chunk_request.py +0 -0
  216. {dify_oapi2-1.0.1 → dify_oapi2-1.0.4}/dify_oapi/api/knowledge/v1/model/create_child_chunk_request_body.py +0 -0
  217. {dify_oapi2-1.0.1 → dify_oapi2-1.0.4}/dify_oapi/api/knowledge/v1/model/create_child_chunk_response.py +0 -0
  218. {dify_oapi2-1.0.1 → dify_oapi2-1.0.4}/dify_oapi/api/knowledge/v1/model/create_dataset_request.py +0 -0
  219. {dify_oapi2-1.0.1 → dify_oapi2-1.0.4}/dify_oapi/api/knowledge/v1/model/create_dataset_request_body.py +0 -0
  220. {dify_oapi2-1.0.1 → dify_oapi2-1.0.4}/dify_oapi/api/knowledge/v1/model/create_dataset_response.py +0 -0
  221. {dify_oapi2-1.0.1 → dify_oapi2-1.0.4}/dify_oapi/api/knowledge/v1/model/create_document_by_file_request.py +0 -0
  222. {dify_oapi2-1.0.1 → dify_oapi2-1.0.4}/dify_oapi/api/knowledge/v1/model/create_document_by_file_request_body.py +0 -0
  223. {dify_oapi2-1.0.1 → dify_oapi2-1.0.4}/dify_oapi/api/knowledge/v1/model/create_document_by_file_request_body_data.py +0 -0
  224. {dify_oapi2-1.0.1 → dify_oapi2-1.0.4}/dify_oapi/api/knowledge/v1/model/create_document_by_file_response.py +0 -0
  225. {dify_oapi2-1.0.1 → dify_oapi2-1.0.4}/dify_oapi/api/knowledge/v1/model/create_document_by_text_request.py +0 -0
  226. {dify_oapi2-1.0.1 → dify_oapi2-1.0.4}/dify_oapi/api/knowledge/v1/model/create_document_by_text_request_body.py +0 -0
  227. {dify_oapi2-1.0.1 → dify_oapi2-1.0.4}/dify_oapi/api/knowledge/v1/model/create_document_by_text_response.py +0 -0
  228. {dify_oapi2-1.0.1 → dify_oapi2-1.0.4}/dify_oapi/api/knowledge/v1/model/create_segment_request.py +0 -0
  229. {dify_oapi2-1.0.1 → dify_oapi2-1.0.4}/dify_oapi/api/knowledge/v1/model/create_segment_request_body.py +0 -0
  230. {dify_oapi2-1.0.1 → dify_oapi2-1.0.4}/dify_oapi/api/knowledge/v1/model/create_segment_response.py +0 -0
  231. {dify_oapi2-1.0.1 → dify_oapi2-1.0.4}/dify_oapi/api/knowledge/v1/model/create_tag_request.py +0 -0
  232. {dify_oapi2-1.0.1 → dify_oapi2-1.0.4}/dify_oapi/api/knowledge/v1/model/create_tag_request_body.py +0 -0
  233. {dify_oapi2-1.0.1 → dify_oapi2-1.0.4}/dify_oapi/api/knowledge/v1/model/create_tag_response.py +0 -0
  234. {dify_oapi2-1.0.1 → dify_oapi2-1.0.4}/dify_oapi/api/knowledge/v1/model/data_source_detail.py +0 -0
  235. {dify_oapi2-1.0.1 → dify_oapi2-1.0.4}/dify_oapi/api/knowledge/v1/model/data_source_info.py +0 -0
  236. {dify_oapi2-1.0.1 → dify_oapi2-1.0.4}/dify_oapi/api/knowledge/v1/model/dataset_info.py +0 -0
  237. {dify_oapi2-1.0.1 → dify_oapi2-1.0.4}/dify_oapi/api/knowledge/v1/model/dataset_metadata.py +0 -0
  238. {dify_oapi2-1.0.1 → dify_oapi2-1.0.4}/dify_oapi/api/knowledge/v1/model/delete_child_chunk_request.py +0 -0
  239. {dify_oapi2-1.0.1 → dify_oapi2-1.0.4}/dify_oapi/api/knowledge/v1/model/delete_child_chunk_response.py +0 -0
  240. {dify_oapi2-1.0.1 → dify_oapi2-1.0.4}/dify_oapi/api/knowledge/v1/model/delete_dataset_request.py +0 -0
  241. {dify_oapi2-1.0.1 → dify_oapi2-1.0.4}/dify_oapi/api/knowledge/v1/model/delete_dataset_response.py +0 -0
  242. {dify_oapi2-1.0.1 → dify_oapi2-1.0.4}/dify_oapi/api/knowledge/v1/model/delete_document_request.py +0 -0
  243. {dify_oapi2-1.0.1 → dify_oapi2-1.0.4}/dify_oapi/api/knowledge/v1/model/delete_document_response.py +0 -0
  244. {dify_oapi2-1.0.1 → dify_oapi2-1.0.4}/dify_oapi/api/knowledge/v1/model/delete_segment_request.py +0 -0
  245. {dify_oapi2-1.0.1 → dify_oapi2-1.0.4}/dify_oapi/api/knowledge/v1/model/delete_segment_response.py +0 -0
  246. {dify_oapi2-1.0.1 → dify_oapi2-1.0.4}/dify_oapi/api/knowledge/v1/model/delete_tag_request.py +0 -0
  247. {dify_oapi2-1.0.1 → dify_oapi2-1.0.4}/dify_oapi/api/knowledge/v1/model/delete_tag_request_body.py +0 -0
  248. {dify_oapi2-1.0.1 → dify_oapi2-1.0.4}/dify_oapi/api/knowledge/v1/model/delete_tag_response.py +0 -0
  249. {dify_oapi2-1.0.1 → dify_oapi2-1.0.4}/dify_oapi/api/knowledge/v1/model/document_info.py +0 -0
  250. {dify_oapi2-1.0.1 → dify_oapi2-1.0.4}/dify_oapi/api/knowledge/v1/model/document_metadata.py +0 -0
  251. {dify_oapi2-1.0.1 → dify_oapi2-1.0.4}/dify_oapi/api/knowledge/v1/model/embedding_model_parameters.py +0 -0
  252. {dify_oapi2-1.0.1 → dify_oapi2-1.0.4}/dify_oapi/api/knowledge/v1/model/external_knowledge_info.py +0 -0
  253. {dify_oapi2-1.0.1 → dify_oapi2-1.0.4}/dify_oapi/api/knowledge/v1/model/external_retrieval_model.py +0 -0
  254. {dify_oapi2-1.0.1 → dify_oapi2-1.0.4}/dify_oapi/api/knowledge/v1/model/file_info.py +0 -0
  255. {dify_oapi2-1.0.1 → dify_oapi2-1.0.4}/dify_oapi/api/knowledge/v1/model/get_batch_indexing_status_request.py +0 -0
  256. {dify_oapi2-1.0.1 → dify_oapi2-1.0.4}/dify_oapi/api/knowledge/v1/model/get_batch_indexing_status_response.py +0 -0
  257. {dify_oapi2-1.0.1 → dify_oapi2-1.0.4}/dify_oapi/api/knowledge/v1/model/get_dataset_request.py +0 -0
  258. {dify_oapi2-1.0.1 → dify_oapi2-1.0.4}/dify_oapi/api/knowledge/v1/model/get_dataset_response.py +0 -0
  259. {dify_oapi2-1.0.1 → dify_oapi2-1.0.4}/dify_oapi/api/knowledge/v1/model/get_dataset_tags_request.py +0 -0
  260. {dify_oapi2-1.0.1 → dify_oapi2-1.0.4}/dify_oapi/api/knowledge/v1/model/get_dataset_tags_response.py +0 -0
  261. {dify_oapi2-1.0.1 → dify_oapi2-1.0.4}/dify_oapi/api/knowledge/v1/model/get_document_request.py +0 -0
  262. {dify_oapi2-1.0.1 → dify_oapi2-1.0.4}/dify_oapi/api/knowledge/v1/model/get_document_response.py +0 -0
  263. {dify_oapi2-1.0.1 → dify_oapi2-1.0.4}/dify_oapi/api/knowledge/v1/model/get_segment_request.py +0 -0
  264. {dify_oapi2-1.0.1 → dify_oapi2-1.0.4}/dify_oapi/api/knowledge/v1/model/get_segment_response.py +0 -0
  265. {dify_oapi2-1.0.1 → dify_oapi2-1.0.4}/dify_oapi/api/knowledge/v1/model/get_text_embedding_models_request.py +0 -0
  266. {dify_oapi2-1.0.1 → dify_oapi2-1.0.4}/dify_oapi/api/knowledge/v1/model/get_text_embedding_models_response.py +0 -0
  267. {dify_oapi2-1.0.1 → dify_oapi2-1.0.4}/dify_oapi/api/knowledge/v1/model/get_upload_file_info_request.py +0 -0
  268. {dify_oapi2-1.0.1 → dify_oapi2-1.0.4}/dify_oapi/api/knowledge/v1/model/get_upload_file_info_response.py +0 -0
  269. {dify_oapi2-1.0.1 → dify_oapi2-1.0.4}/dify_oapi/api/knowledge/v1/model/knowledge_types.py +0 -0
  270. {dify_oapi2-1.0.1 → dify_oapi2-1.0.4}/dify_oapi/api/knowledge/v1/model/list_child_chunks_request.py +0 -0
  271. {dify_oapi2-1.0.1 → dify_oapi2-1.0.4}/dify_oapi/api/knowledge/v1/model/list_child_chunks_response.py +0 -0
  272. {dify_oapi2-1.0.1 → dify_oapi2-1.0.4}/dify_oapi/api/knowledge/v1/model/list_datasets_request.py +0 -0
  273. {dify_oapi2-1.0.1 → dify_oapi2-1.0.4}/dify_oapi/api/knowledge/v1/model/list_datasets_response.py +0 -0
  274. {dify_oapi2-1.0.1 → dify_oapi2-1.0.4}/dify_oapi/api/knowledge/v1/model/list_documents_request.py +0 -0
  275. {dify_oapi2-1.0.1 → dify_oapi2-1.0.4}/dify_oapi/api/knowledge/v1/model/list_documents_response.py +0 -0
  276. {dify_oapi2-1.0.1 → dify_oapi2-1.0.4}/dify_oapi/api/knowledge/v1/model/list_segments_request.py +0 -0
  277. {dify_oapi2-1.0.1 → dify_oapi2-1.0.4}/dify_oapi/api/knowledge/v1/model/list_segments_response.py +0 -0
  278. {dify_oapi2-1.0.1 → dify_oapi2-1.0.4}/dify_oapi/api/knowledge/v1/model/list_tags_request.py +0 -0
  279. {dify_oapi2-1.0.1 → dify_oapi2-1.0.4}/dify_oapi/api/knowledge/v1/model/list_tags_response.py +0 -0
  280. {dify_oapi2-1.0.1 → dify_oapi2-1.0.4}/dify_oapi/api/knowledge/v1/model/model_credentials.py +0 -0
  281. {dify_oapi2-1.0.1 → dify_oapi2-1.0.4}/dify_oapi/api/knowledge/v1/model/model_info.py +0 -0
  282. {dify_oapi2-1.0.1 → dify_oapi2-1.0.4}/dify_oapi/api/knowledge/v1/model/model_parameters.py +0 -0
  283. {dify_oapi2-1.0.1 → dify_oapi2-1.0.4}/dify_oapi/api/knowledge/v1/model/pagination_info.py +0 -0
  284. {dify_oapi2-1.0.1 → dify_oapi2-1.0.4}/dify_oapi/api/knowledge/v1/model/preprocessing_rule.py +0 -0
  285. {dify_oapi2-1.0.1 → dify_oapi2-1.0.4}/dify_oapi/api/knowledge/v1/model/process_rule.py +0 -0
  286. {dify_oapi2-1.0.1 → dify_oapi2-1.0.4}/dify_oapi/api/knowledge/v1/model/process_rules.py +0 -0
  287. {dify_oapi2-1.0.1 → dify_oapi2-1.0.4}/dify_oapi/api/knowledge/v1/model/query_info.py +0 -0
  288. {dify_oapi2-1.0.1 → dify_oapi2-1.0.4}/dify_oapi/api/knowledge/v1/model/reranking_mode.py +0 -0
  289. {dify_oapi2-1.0.1 → dify_oapi2-1.0.4}/dify_oapi/api/knowledge/v1/model/reranking_model.py +0 -0
  290. {dify_oapi2-1.0.1 → dify_oapi2-1.0.4}/dify_oapi/api/knowledge/v1/model/retrieval_model.py +0 -0
  291. {dify_oapi2-1.0.1 → dify_oapi2-1.0.4}/dify_oapi/api/knowledge/v1/model/retrieval_record.py +0 -0
  292. {dify_oapi2-1.0.1 → dify_oapi2-1.0.4}/dify_oapi/api/knowledge/v1/model/retrieval_segment_info.py +0 -0
  293. {dify_oapi2-1.0.1 → dify_oapi2-1.0.4}/dify_oapi/api/knowledge/v1/model/retrieve_from_dataset_request.py +0 -0
  294. {dify_oapi2-1.0.1 → dify_oapi2-1.0.4}/dify_oapi/api/knowledge/v1/model/retrieve_from_dataset_request_body.py +0 -0
  295. {dify_oapi2-1.0.1 → dify_oapi2-1.0.4}/dify_oapi/api/knowledge/v1/model/retrieve_from_dataset_response.py +0 -0
  296. {dify_oapi2-1.0.1 → dify_oapi2-1.0.4}/dify_oapi/api/knowledge/v1/model/segment_content.py +0 -0
  297. {dify_oapi2-1.0.1 → dify_oapi2-1.0.4}/dify_oapi/api/knowledge/v1/model/segment_document_info.py +0 -0
  298. {dify_oapi2-1.0.1 → dify_oapi2-1.0.4}/dify_oapi/api/knowledge/v1/model/segment_info.py +0 -0
  299. {dify_oapi2-1.0.1 → dify_oapi2-1.0.4}/dify_oapi/api/knowledge/v1/model/segmentation_rule.py +0 -0
  300. {dify_oapi2-1.0.1 → dify_oapi2-1.0.4}/dify_oapi/api/knowledge/v1/model/subchunk_segmentation_rule.py +0 -0
  301. {dify_oapi2-1.0.1 → dify_oapi2-1.0.4}/dify_oapi/api/knowledge/v1/model/tag_info.py +0 -0
  302. {dify_oapi2-1.0.1 → dify_oapi2-1.0.4}/dify_oapi/api/knowledge/v1/model/unbind_tags_from_dataset_request.py +0 -0
  303. {dify_oapi2-1.0.1 → dify_oapi2-1.0.4}/dify_oapi/api/knowledge/v1/model/unbind_tags_from_dataset_request_body.py +0 -0
  304. {dify_oapi2-1.0.1 → dify_oapi2-1.0.4}/dify_oapi/api/knowledge/v1/model/unbind_tags_from_dataset_response.py +0 -0
  305. {dify_oapi2-1.0.1 → dify_oapi2-1.0.4}/dify_oapi/api/knowledge/v1/model/update_child_chunk_request.py +0 -0
  306. {dify_oapi2-1.0.1 → dify_oapi2-1.0.4}/dify_oapi/api/knowledge/v1/model/update_child_chunk_request_body.py +0 -0
  307. {dify_oapi2-1.0.1 → dify_oapi2-1.0.4}/dify_oapi/api/knowledge/v1/model/update_child_chunk_response.py +0 -0
  308. {dify_oapi2-1.0.1 → dify_oapi2-1.0.4}/dify_oapi/api/knowledge/v1/model/update_dataset_request.py +0 -0
  309. {dify_oapi2-1.0.1 → dify_oapi2-1.0.4}/dify_oapi/api/knowledge/v1/model/update_dataset_request_body.py +0 -0
  310. {dify_oapi2-1.0.1 → dify_oapi2-1.0.4}/dify_oapi/api/knowledge/v1/model/update_dataset_response.py +0 -0
  311. {dify_oapi2-1.0.1 → dify_oapi2-1.0.4}/dify_oapi/api/knowledge/v1/model/update_document_by_file_request.py +0 -0
  312. {dify_oapi2-1.0.1 → dify_oapi2-1.0.4}/dify_oapi/api/knowledge/v1/model/update_document_by_file_request_body.py +0 -0
  313. {dify_oapi2-1.0.1 → dify_oapi2-1.0.4}/dify_oapi/api/knowledge/v1/model/update_document_by_file_request_body_data.py +0 -0
  314. {dify_oapi2-1.0.1 → dify_oapi2-1.0.4}/dify_oapi/api/knowledge/v1/model/update_document_by_file_response.py +0 -0
  315. {dify_oapi2-1.0.1 → dify_oapi2-1.0.4}/dify_oapi/api/knowledge/v1/model/update_document_by_text_request.py +0 -0
  316. {dify_oapi2-1.0.1 → dify_oapi2-1.0.4}/dify_oapi/api/knowledge/v1/model/update_document_by_text_request_body.py +0 -0
  317. {dify_oapi2-1.0.1 → dify_oapi2-1.0.4}/dify_oapi/api/knowledge/v1/model/update_document_by_text_response.py +0 -0
  318. {dify_oapi2-1.0.1 → dify_oapi2-1.0.4}/dify_oapi/api/knowledge/v1/model/update_document_status_request.py +0 -0
  319. {dify_oapi2-1.0.1 → dify_oapi2-1.0.4}/dify_oapi/api/knowledge/v1/model/update_document_status_request_body.py +0 -0
  320. {dify_oapi2-1.0.1 → dify_oapi2-1.0.4}/dify_oapi/api/knowledge/v1/model/update_document_status_response.py +0 -0
  321. {dify_oapi2-1.0.1 → dify_oapi2-1.0.4}/dify_oapi/api/knowledge/v1/model/update_segment_request.py +0 -0
  322. {dify_oapi2-1.0.1 → dify_oapi2-1.0.4}/dify_oapi/api/knowledge/v1/model/update_segment_request_body.py +0 -0
  323. {dify_oapi2-1.0.1 → dify_oapi2-1.0.4}/dify_oapi/api/knowledge/v1/model/update_segment_response.py +0 -0
  324. {dify_oapi2-1.0.1 → dify_oapi2-1.0.4}/dify_oapi/api/knowledge/v1/model/update_tag_request.py +0 -0
  325. {dify_oapi2-1.0.1 → dify_oapi2-1.0.4}/dify_oapi/api/knowledge/v1/model/update_tag_request_body.py +0 -0
  326. {dify_oapi2-1.0.1 → dify_oapi2-1.0.4}/dify_oapi/api/knowledge/v1/model/update_tag_response.py +0 -0
  327. {dify_oapi2-1.0.1 → dify_oapi2-1.0.4}/dify_oapi/api/knowledge/v1/model/weights.py +0 -0
  328. {dify_oapi2-1.0.1 → dify_oapi2-1.0.4}/dify_oapi/api/knowledge/v1/resource/__init__.py +0 -0
  329. {dify_oapi2-1.0.1 → dify_oapi2-1.0.4}/dify_oapi/api/knowledge/v1/resource/chunk.py +0 -0
  330. {dify_oapi2-1.0.1 → dify_oapi2-1.0.4}/dify_oapi/api/knowledge/v1/resource/dataset.py +0 -0
  331. {dify_oapi2-1.0.1 → dify_oapi2-1.0.4}/dify_oapi/api/knowledge/v1/resource/document.py +0 -0
  332. {dify_oapi2-1.0.1 → dify_oapi2-1.0.4}/dify_oapi/api/knowledge/v1/resource/model.py +0 -0
  333. {dify_oapi2-1.0.1 → dify_oapi2-1.0.4}/dify_oapi/api/knowledge/v1/resource/segment.py +0 -0
  334. {dify_oapi2-1.0.1 → dify_oapi2-1.0.4}/dify_oapi/api/knowledge/v1/resource/tag.py +0 -0
  335. {dify_oapi2-1.0.1 → dify_oapi2-1.0.4}/dify_oapi/api/knowledge/v1/version.py +0 -0
  336. {dify_oapi2-1.0.1 → dify_oapi2-1.0.4}/dify_oapi/api/workflow/__init__.py +0 -0
  337. {dify_oapi2-1.0.1 → dify_oapi2-1.0.4}/dify_oapi/api/workflow/service.py +0 -0
  338. {dify_oapi2-1.0.1 → dify_oapi2-1.0.4}/dify_oapi/api/workflow/v1/__init__.py +0 -0
  339. {dify_oapi2-1.0.1 → dify_oapi2-1.0.4}/dify_oapi/api/workflow/v1/model/__init__.py +0 -0
  340. {dify_oapi2-1.0.1 → dify_oapi2-1.0.4}/dify_oapi/api/workflow/v1/model/app_info.py +0 -0
  341. {dify_oapi2-1.0.1 → dify_oapi2-1.0.4}/dify_oapi/api/workflow/v1/model/chunk_workflow_event.py +0 -0
  342. {dify_oapi2-1.0.1 → dify_oapi2-1.0.4}/dify_oapi/api/workflow/v1/model/end_user_info.py +0 -0
  343. {dify_oapi2-1.0.1 → dify_oapi2-1.0.4}/dify_oapi/api/workflow/v1/model/execution_metadata.py +0 -0
  344. {dify_oapi2-1.0.1 → dify_oapi2-1.0.4}/dify_oapi/api/workflow/v1/model/file_upload_config.py +0 -0
  345. {dify_oapi2-1.0.1 → dify_oapi2-1.0.4}/dify_oapi/api/workflow/v1/model/file_upload_info.py +0 -0
  346. {dify_oapi2-1.0.1 → dify_oapi2-1.0.4}/dify_oapi/api/workflow/v1/model/get_workflow_logs_request.py +0 -0
  347. {dify_oapi2-1.0.1 → dify_oapi2-1.0.4}/dify_oapi/api/workflow/v1/model/get_workflow_logs_response.py +0 -0
  348. {dify_oapi2-1.0.1 → dify_oapi2-1.0.4}/dify_oapi/api/workflow/v1/model/get_workflow_run_detail_request.py +0 -0
  349. {dify_oapi2-1.0.1 → dify_oapi2-1.0.4}/dify_oapi/api/workflow/v1/model/get_workflow_run_detail_response.py +0 -0
  350. {dify_oapi2-1.0.1 → dify_oapi2-1.0.4}/dify_oapi/api/workflow/v1/model/input_file_object_workflow.py +0 -0
  351. {dify_oapi2-1.0.1 → dify_oapi2-1.0.4}/dify_oapi/api/workflow/v1/model/node_finished_data.py +0 -0
  352. {dify_oapi2-1.0.1 → dify_oapi2-1.0.4}/dify_oapi/api/workflow/v1/model/node_info.py +0 -0
  353. {dify_oapi2-1.0.1 → dify_oapi2-1.0.4}/dify_oapi/api/workflow/v1/model/node_started_data.py +0 -0
  354. {dify_oapi2-1.0.1 → dify_oapi2-1.0.4}/dify_oapi/api/workflow/v1/model/parameters_info.py +0 -0
  355. {dify_oapi2-1.0.1 → dify_oapi2-1.0.4}/dify_oapi/api/workflow/v1/model/ping_data.py +0 -0
  356. {dify_oapi2-1.0.1 → dify_oapi2-1.0.4}/dify_oapi/api/workflow/v1/model/run_workflow_request.py +0 -0
  357. {dify_oapi2-1.0.1 → dify_oapi2-1.0.4}/dify_oapi/api/workflow/v1/model/run_workflow_request_body.py +0 -0
  358. {dify_oapi2-1.0.1 → dify_oapi2-1.0.4}/dify_oapi/api/workflow/v1/model/run_workflow_response.py +0 -0
  359. {dify_oapi2-1.0.1 → dify_oapi2-1.0.4}/dify_oapi/api/workflow/v1/model/site_info.py +0 -0
  360. {dify_oapi2-1.0.1 → dify_oapi2-1.0.4}/dify_oapi/api/workflow/v1/model/stop_workflow_request.py +0 -0
  361. {dify_oapi2-1.0.1 → dify_oapi2-1.0.4}/dify_oapi/api/workflow/v1/model/stop_workflow_request_body.py +0 -0
  362. {dify_oapi2-1.0.1 → dify_oapi2-1.0.4}/dify_oapi/api/workflow/v1/model/stop_workflow_response.py +0 -0
  363. {dify_oapi2-1.0.1 → dify_oapi2-1.0.4}/dify_oapi/api/workflow/v1/model/system_parameters.py +0 -0
  364. {dify_oapi2-1.0.1 → dify_oapi2-1.0.4}/dify_oapi/api/workflow/v1/model/text_chunk_data.py +0 -0
  365. {dify_oapi2-1.0.1 → dify_oapi2-1.0.4}/dify_oapi/api/workflow/v1/model/tts_message_data.py +0 -0
  366. {dify_oapi2-1.0.1 → dify_oapi2-1.0.4}/dify_oapi/api/workflow/v1/model/tts_message_end_data.py +0 -0
  367. {dify_oapi2-1.0.1 → dify_oapi2-1.0.4}/dify_oapi/api/workflow/v1/model/upload_file_request_body.py +0 -0
  368. {dify_oapi2-1.0.1 → dify_oapi2-1.0.4}/dify_oapi/api/workflow/v1/model/user_input_form.py +0 -0
  369. {dify_oapi2-1.0.1 → dify_oapi2-1.0.4}/dify_oapi/api/workflow/v1/model/workflow_completion_response.py +0 -0
  370. {dify_oapi2-1.0.1 → dify_oapi2-1.0.4}/dify_oapi/api/workflow/v1/model/workflow_file_info.py +0 -0
  371. {dify_oapi2-1.0.1 → dify_oapi2-1.0.4}/dify_oapi/api/workflow/v1/model/workflow_finished_data.py +0 -0
  372. {dify_oapi2-1.0.1 → dify_oapi2-1.0.4}/dify_oapi/api/workflow/v1/model/workflow_inputs.py +0 -0
  373. {dify_oapi2-1.0.1 → dify_oapi2-1.0.4}/dify_oapi/api/workflow/v1/model/workflow_log_info.py +0 -0
  374. {dify_oapi2-1.0.1 → dify_oapi2-1.0.4}/dify_oapi/api/workflow/v1/model/workflow_run_data.py +0 -0
  375. {dify_oapi2-1.0.1 → dify_oapi2-1.0.4}/dify_oapi/api/workflow/v1/model/workflow_run_info.py +0 -0
  376. {dify_oapi2-1.0.1 → dify_oapi2-1.0.4}/dify_oapi/api/workflow/v1/model/workflow_run_log_info.py +0 -0
  377. {dify_oapi2-1.0.1 → dify_oapi2-1.0.4}/dify_oapi/api/workflow/v1/model/workflow_started_data.py +0 -0
  378. {dify_oapi2-1.0.1 → dify_oapi2-1.0.4}/dify_oapi/api/workflow/v1/model/workflow_types.py +0 -0
  379. {dify_oapi2-1.0.1 → dify_oapi2-1.0.4}/dify_oapi/api/workflow/v1/resource/__init__.py +0 -0
  380. {dify_oapi2-1.0.1 → dify_oapi2-1.0.4}/dify_oapi/api/workflow/v1/resource/workflow.py +0 -0
  381. {dify_oapi2-1.0.1 → dify_oapi2-1.0.4}/dify_oapi/api/workflow/v1/version.py +0 -0
  382. {dify_oapi2-1.0.1 → dify_oapi2-1.0.4}/dify_oapi/client.py +0 -0
  383. {dify_oapi2-1.0.1 → dify_oapi2-1.0.4}/dify_oapi/core/__init__.py +0 -0
  384. {dify_oapi2-1.0.1 → dify_oapi2-1.0.4}/dify_oapi/core/const.py +0 -0
  385. {dify_oapi2-1.0.1 → dify_oapi2-1.0.4}/dify_oapi/core/enum.py +0 -0
  386. {dify_oapi2-1.0.1 → dify_oapi2-1.0.4}/dify_oapi/core/http/__init__.py +0 -0
  387. {dify_oapi2-1.0.1 → dify_oapi2-1.0.4}/dify_oapi/core/http/transport/__init__.py +0 -0
  388. {dify_oapi2-1.0.1 → dify_oapi2-1.0.4}/dify_oapi/core/http/transport/_misc.py +0 -0
  389. {dify_oapi2-1.0.1 → dify_oapi2-1.0.4}/dify_oapi/core/http/transport/async_transport.py +0 -0
  390. {dify_oapi2-1.0.1 → dify_oapi2-1.0.4}/dify_oapi/core/http/transport/connection_pool.py +0 -0
  391. {dify_oapi2-1.0.1 → dify_oapi2-1.0.4}/dify_oapi/core/http/transport/sync_transport.py +0 -0
  392. {dify_oapi2-1.0.1 → dify_oapi2-1.0.4}/dify_oapi/core/json.py +0 -0
  393. {dify_oapi2-1.0.1 → dify_oapi2-1.0.4}/dify_oapi/core/log.py +0 -0
  394. {dify_oapi2-1.0.1 → dify_oapi2-1.0.4}/dify_oapi/core/misc.py +0 -0
  395. {dify_oapi2-1.0.1 → dify_oapi2-1.0.4}/dify_oapi/core/model/__init__.py +0 -0
  396. {dify_oapi2-1.0.1 → dify_oapi2-1.0.4}/dify_oapi/core/model/base_request.py +0 -0
  397. {dify_oapi2-1.0.1 → dify_oapi2-1.0.4}/dify_oapi/core/model/base_response.py +0 -0
  398. {dify_oapi2-1.0.1 → dify_oapi2-1.0.4}/dify_oapi/core/model/config.py +0 -0
  399. {dify_oapi2-1.0.1 → dify_oapi2-1.0.4}/dify_oapi/core/model/raw_request.py +0 -0
  400. {dify_oapi2-1.0.1 → dify_oapi2-1.0.4}/dify_oapi/core/model/raw_response.py +0 -0
  401. {dify_oapi2-1.0.1 → dify_oapi2-1.0.4}/dify_oapi/core/model/request_option.py +0 -0
  402. {dify_oapi2-1.0.1 → dify_oapi2-1.0.4}/dify_oapi/core/type.py +0 -0
  403. {dify_oapi2-1.0.1 → dify_oapi2-1.0.4}/dify_oapi/core/utils/__init__.py +0 -0
  404. {dify_oapi2-1.0.1 → dify_oapi2-1.0.4}/dify_oapi/core/utils/strings.py +0 -0
@@ -0,0 +1,395 @@
1
+ Metadata-Version: 2.4
2
+ Name: dify-oapi2
3
+ Version: 1.0.4
4
+ Summary: A package for interacting with the Dify Service-API
5
+ License: MIT
6
+ License-File: LICENSE
7
+ Keywords: dify,nlp,ai,language-processing
8
+ Author: Oscaner Miao
9
+ Author-email: oscaner1997@gmail.com
10
+ Requires-Python: >=3.10
11
+ Classifier: License :: OSI Approved :: MIT License
12
+ Classifier: Programming Language :: Python :: 3
13
+ Classifier: Programming Language :: Python :: 3.10
14
+ Classifier: Programming Language :: Python :: 3.11
15
+ Classifier: Programming Language :: Python :: 3.12
16
+ Classifier: Programming Language :: Python :: 3.13
17
+ Classifier: Programming Language :: Python :: 3.14
18
+ Requires-Dist: httpx (>=0,<1)
19
+ Requires-Dist: pydantic (>=2,<3)
20
+ Project-URL: Homepage, https://github.com/nodite/dify-oapi2
21
+ Project-URL: Source, https://github.com/nodite/dify-oapi2
22
+ Description-Content-Type: text/markdown
23
+
24
+ # Dify-OAPI
25
+
26
+ [![PyPI version](https://badge.fury.io/py/dify-oapi2.svg)](https://badge.fury.io/py/dify-oapi2)
27
+ [![Python 3.10+](https://img.shields.io/badge/python-3.10+-blue.svg)](https://www.python.org/downloads/)
28
+ [![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)
29
+
30
+ A modern Python SDK for interacting with the Dify Service-API. This library provides a fluent, type-safe interface for building AI-powered applications using Dify's comprehensive API services including chat, completion, knowledge base, workflow, and chatflow features.
31
+
32
+ > This project is based on https://github.com/QiMington/dify-oapi, completely refactored with modern Python practices and full support for the latest Dify API.
33
+
34
+ ## ✨ Features
35
+
36
+ - **Complete API Coverage**: Chat (18 APIs), Chatflow (15 APIs), Completion (10 APIs), Knowledge Base (33 APIs), Workflow (4 APIs), and Core Dify (9 APIs)
37
+ - **Builder Pattern**: Fluent, chainable interface for constructing requests
38
+ - **Sync & Async Support**: Both synchronous and asynchronous operations
39
+ - **Streaming Responses**: Real-time streaming for chat and completion
40
+ - **Type Safety**: Comprehensive type hints with Pydantic 2.x validation
41
+ - **File Upload**: Support for images and documents
42
+ - **Modern HTTP Client**: Built on httpx for reliable API communication
43
+ - **Connection Pool Optimization**: Efficient TCP connection reuse to reduce resource overhead
44
+
45
+ ## 📦 Installation
46
+
47
+ ```bash
48
+ pip install dify-oapi2
49
+ ```
50
+
51
+ **Requirements**: Python 3.10+
52
+
53
+ **Core Dependencies**:
54
+
55
+ - `pydantic` (^2) - Data validation and settings management with type safety
56
+ - `httpx` (^0) - Modern async HTTP client
57
+
58
+ **Development Dependencies**:
59
+
60
+ - `ruff` (^0) - Fast Python linter and formatter
61
+ - `mypy` (^1) - Static type checking
62
+ - `pytest` (^8) - Testing framework
63
+ - `pre-commit` (^4) - Git hooks for code quality
64
+ - `commitizen` (^4) - Semantic versioning and changelog generation
65
+ - `poetry` - Dependency management and packaging
66
+
67
+ ## 🛠️ Technology Stack
68
+
69
+ - **Language**: Python 3.10+
70
+ - **HTTP Client**: httpx with connection pooling optimization
71
+ - **Type System**: Pydantic 2.x with comprehensive type validation
72
+ - **Architecture**: Builder pattern with fluent API design + Service layer pattern
73
+ - **Async Support**: Full async/await support with AsyncGenerator streaming
74
+ - **Code Quality**: Ruff (linting + formatting) + MyPy (type checking)
75
+ - **Testing**: pytest with async support and comprehensive coverage
76
+ - **Packaging**: Poetry with modern Python packaging standards
77
+ - **Total Coverage**: 89 API methods across 6 services with complete examples
78
+
79
+ ## 🚀 Quick Start
80
+
81
+ ### Basic Usage
82
+
83
+ ```python
84
+ from dify_oapi.client import Client
85
+ from dify_oapi.core.model.request_option import RequestOption
86
+ from dify_oapi.api.chat.v1.model.chat_request import ChatRequest
87
+
88
+ # Initialize client with builder pattern
89
+ client = (
90
+ Client.builder()
91
+ .domain("https://api.dify.ai")
92
+ .max_connections(100)
93
+ .keepalive_expiry(30.0)
94
+ .build()
95
+ )
96
+
97
+ # Create request options
98
+ req_option = RequestOption.builder().api_key("your-api-key").build()
99
+
100
+ # Use the chat API
101
+ response = client.chat.chat(
102
+ request=ChatRequest.builder()
103
+ .query("Hello, how are you?")
104
+ .user("user-123")
105
+ .build(),
106
+ request_option=req_option
107
+ )
108
+
109
+ print(response.answer)
110
+ ```
111
+
112
+ ### Comprehensive Examples
113
+
114
+ Ready to build AI-powered applications? Check out our comprehensive examples:
115
+
116
+ - **[Chat Examples](./examples/chat/)** - Interactive conversations and streaming responses
117
+ - **[Chatflow Examples](./examples/chatflow/)** - Enhanced chat with workflow events
118
+ - **[Knowledge Base Examples](./examples/knowledge/)** - Build and query knowledge bases
119
+ - **[Workflow Examples](./examples/workflow/)** - Automate complex AI workflows
120
+ - **[Complete Examples Collection](./examples/)** - All API services with detailed usage patterns
121
+
122
+ Each example includes complete, runnable code with detailed explanations.
123
+
124
+ ## 🔧 API Services
125
+
126
+ ### Chat API (18 APIs)
127
+
128
+ **Resources**: annotation (6), chat (3), conversation (6), message (3)
129
+
130
+ - **Interactive Chat**: Send messages with blocking/streaming responses
131
+ - **Conversation Management**: Complete conversation lifecycle operations
132
+ - **Annotation System**: Create, update, delete annotations with reply settings
133
+ - **Message Operations**: Basic message handling and history retrieval
134
+ - **Streaming Support**: Real-time streaming for chat responses
135
+ - **Type Safety**: Comprehensive type hints with strict Literal types
136
+
137
+ ### Chatflow API (15 APIs)
138
+
139
+ **Resources**: annotation (6), chatflow (3), conversation (6)
140
+
141
+ - **Enhanced Chat**: Advanced chat functionality with workflow events
142
+ - **Conversation Management**: Complete conversation operations with variables
143
+ - **Annotation System**: Full annotation management and reply configuration
144
+ - **Workflow Integration**: Seamless integration with workflow events
145
+ - **Event Streaming**: Real-time streaming with comprehensive event handling
146
+ - **Type Safety**: Strict Literal types for all predefined values
147
+
148
+ ### Completion API (10 APIs)
149
+
150
+ **Resources**: annotation (6), completion (4)
151
+
152
+ - **Text Generation**: Advanced text completion and generation
153
+ - **Message Processing**: Send messages and control text generation
154
+ - **Annotation Management**: Create, update, and manage annotations
155
+ - **Generation Control**: Stop ongoing text generation processes
156
+ - **Streaming Support**: Real-time text generation with streaming responses
157
+ - **Type Safety**: Full type validation with Pydantic models
158
+
159
+ ### Knowledge Base API (33 APIs)
160
+
161
+ **Resources**: chunk (4), dataset (6), document (10), model (1), segment (5), tag (7)
162
+
163
+ - **Dataset Management**: Complete dataset CRUD operations and content retrieval
164
+ - **Document Processing**: File upload, text processing, and batch management
165
+ - **Content Organization**: Fine-grained segmentation and chunk management
166
+ - **Tag System**: Flexible tagging and categorization system
167
+ - **Model Integration**: Embedding model information and configuration
168
+ - **Search & Retrieval**: Advanced search with multiple retrieval strategies
169
+
170
+ ### Workflow API (4 APIs)
171
+
172
+ **Resources**: workflow (4)
173
+
174
+ - **Workflow Execution**: Run workflows with blocking or streaming responses
175
+ - **Execution Control**: Stop running workflows and monitor progress
176
+ - **Log Management**: Retrieve detailed execution logs and run details
177
+ - **Parameter Support**: Flexible workflow parameter configuration
178
+
179
+ ### Dify Core API (9 APIs)
180
+
181
+ **Resources**: audio (2), feedback (2), file (1), info (4)
182
+
183
+ - **Audio Processing**: Speech-to-text and text-to-speech conversion
184
+ - **Feedback System**: Submit and retrieve user feedback
185
+ - **File Management**: Unified file upload and processing
186
+ - **Application Info**: App configuration, parameters, and metadata access
187
+
188
+ ## 💡 Examples
189
+
190
+ Explore comprehensive examples in the [examples directory](./examples):
191
+
192
+ ### Chat Examples
193
+
194
+ - [**Chat Messages**](./examples/chat/chat/) - Send messages, stop generation, get suggestions
195
+ - [**Conversation Management**](./examples/chat/conversation/) - Complete conversation operations
196
+ - [**Message Operations**](./examples/chat/message/) - Basic message operations
197
+ - [**Annotation Management**](./examples/chat/annotation/) - Annotation CRUD and reply settings
198
+
199
+ _Note: File upload and feedback examples are available in [Dify Core API](./examples/dify/) as shared services._
200
+
201
+ ### Completion Examples
202
+
203
+ - [**Completion Operations**](./examples/completion/completion/) - Text generation and completion
204
+ - [**Annotation Management**](./examples/completion/annotation/) - Annotation operations
205
+
206
+ ### Knowledge Base Examples
207
+
208
+ - [**Dataset Management**](./examples/knowledge/dataset/) - Complete dataset operations
209
+ - [**Document Processing**](./examples/knowledge/document/) - File upload and text processing
210
+ - [**Content Organization**](./examples/knowledge/segment/) - Segment and chunk management
211
+ - [**Tag Management**](./examples/knowledge/tag/) - Metadata and tagging system
212
+
213
+ ### Chatflow Examples
214
+
215
+ - [**Advanced Chat**](./examples/chatflow/chatflow/) - Enhanced chat with streaming and workflow events
216
+ - [**Conversation Management**](./examples/chatflow/conversation/) - Complete conversation operations
217
+ - [**Annotation Management**](./examples/chatflow/annotation/) - Annotation CRUD and reply settings
218
+
219
+ ### Dify Core Examples
220
+
221
+ - [**Audio Processing**](./examples/dify/audio/) - Speech-to-text and text-to-speech
222
+ - [**Feedback Management**](./examples/dify/feedback/) - User feedback collection
223
+ - [**File Management**](./examples/dify/file/) - File upload and processing
224
+ - [**Application Info**](./examples/dify/info/) - App configuration and metadata
225
+
226
+ ### Workflow Examples
227
+
228
+ - [**Workflow Operations**](./examples/workflow/workflow/) - Workflow execution and management
229
+ - [**File Upload**](./examples/workflow/file/) - File upload for workflows
230
+
231
+ For detailed examples and usage patterns, see the [examples README](./examples/README.md).
232
+
233
+ ## 🛠️ Development
234
+
235
+ ### Prerequisites
236
+
237
+ - Python 3.10+
238
+ - Poetry (for dependency management)
239
+ - Git (for version control)
240
+
241
+ ### Setup
242
+
243
+ ```bash
244
+ # Clone repository
245
+ git clone https://github.com/nodite/dify-oapi2.git
246
+ cd dify-oapi2
247
+
248
+ # Setup development environment (installs dependencies and pre-commit hooks)
249
+ make dev-setup
250
+ ```
251
+
252
+ ### Code Quality Tools
253
+
254
+ This project uses modern Python tooling for code quality:
255
+
256
+ - **Ruff**: Fast Python linter and formatter (replaces Black + isort + flake8)
257
+ - **MyPy**: Static type checking for type safety
258
+ - **Pre-commit**: Git hooks for automated code quality checks
259
+ - **Poetry**: Modern dependency management and packaging
260
+
261
+ ```bash
262
+ # Format code
263
+ make format
264
+
265
+ # Lint code
266
+ make lint
267
+
268
+ # Fix linting issues
269
+ make fix
270
+
271
+ # Run all checks (lint + type check)
272
+ make check
273
+
274
+ # Install pre-commit hooks
275
+ make install-hooks
276
+
277
+ # Run pre-commit hooks manually
278
+ make pre-commit
279
+ ```
280
+
281
+ ### Testing
282
+
283
+ ```bash
284
+ # Set environment variables for integration tests
285
+ export DOMAIN="https://api.dify.ai"
286
+ export CHAT_KEY="your-chat-api-key"
287
+ export CHATFLOW_KEY="your-chatflow-api-key"
288
+ export COMPLETION_KEY="your-completion-api-key"
289
+ export DIFY_KEY="your-dify-api-key"
290
+ export WORKFLOW_KEY="your-workflow-api-key"
291
+ export KNOWLEDGE_KEY="your-knowledge-api-key"
292
+
293
+ # Run tests
294
+ make test
295
+
296
+ # Run tests with coverage
297
+ make test-cov
298
+
299
+ # Run specific test module
300
+ poetry run pytest tests/knowledge/ -v
301
+ ```
302
+
303
+ ### Build & Publish
304
+
305
+ ```bash
306
+ # Configure PyPI tokens (one-time setup)
307
+ poetry config http-basic.testpypi __token__ <your-testpypi-token>
308
+ poetry config http-basic.pypi __token__ <your-pypi-token>
309
+
310
+ # Build package
311
+ make build
312
+
313
+ # Publish to TestPyPI (for testing)
314
+ make publish-test
315
+
316
+ # Publish to PyPI (maintainers only)
317
+ make publish
318
+ ```
319
+
320
+ ### Project Structure
321
+
322
+ ```
323
+ dify-oapi2/
324
+ ├── dify_oapi/ # Main SDK package
325
+ │ ├── api/ # API service modules
326
+ │ │ ├── chat/ # Chat API (18 APIs)
327
+ │ │ │ └── v1/ # Version 1 implementation
328
+ │ │ ├── chatflow/ # Chatflow API (15 APIs)
329
+ │ │ │ └── v1/ # Version 1 implementation
330
+ │ │ ├── completion/ # Completion API (10 APIs)
331
+ │ │ │ └── v1/ # Version 1 implementation
332
+ │ │ ├── dify/ # Core Dify API (9 APIs)
333
+ │ │ │ └── v1/ # Version 1 implementation
334
+ │ │ ├── knowledge/ # Knowledge Base API (33 APIs)
335
+ │ │ │ └── v1/ # Version 1 implementation
336
+ │ │ └── workflow/ # Workflow API (6 APIs)
337
+ │ │ └── v1/ # Version 1 implementation
338
+ │ ├── core/ # Core functionality
339
+ │ │ ├── http/ # HTTP transport layer with connection pooling
340
+ │ │ ├── model/ # Base models and configurations
341
+ │ │ └── utils/ # Utility functions
342
+ │ └── client.py # Main client interface with builder pattern
343
+ ├── docs/ # Comprehensive documentation
344
+ ├── examples/ # Complete usage examples for all APIs
345
+ ├── tests/ # Comprehensive test suite
346
+ ├── pyproject.toml # Project configuration (Poetry + tools)
347
+ ├── Makefile # Development automation
348
+ └── DEVELOPMENT.md # Development guide
349
+ ```
350
+
351
+ ## 📖 Documentation
352
+
353
+ - [**Development Guide**](./DEVELOPMENT.md) - Setup, workflow, and contribution guidelines
354
+ - [**Project Overview**](./docs/overview.md) - Architecture and technical details
355
+ - [**API Documentation**](./docs/) - Complete API documentation by service
356
+ - [**Examples**](./examples/README.md) - Comprehensive usage examples and patterns
357
+
358
+ ## 🤝 Contributing
359
+
360
+ Contributions are welcome! Please follow our development workflow:
361
+
362
+ 1. Fork the repository
363
+ 2. Clone and checkout the `main` branch (`git checkout main`)
364
+ 3. Create a feature branch from `main` (`git checkout -b feature/amazing-feature`)
365
+ 4. Make your changes with comprehensive tests
366
+ 5. Ensure code quality passes (`make check`)
367
+ 6. Run the full test suite (`make test`)
368
+ 7. Commit your changes (`git commit -m 'Add amazing feature'`)
369
+ 8. Push to the branch (`git push origin feature/amazing-feature`)
370
+ 9. Submit a pull request to the `main` branch
371
+
372
+ ### Branch Strategy
373
+
374
+ - `main` - Main development branch, **all development and PRs are based on this branch**
375
+ - `feature/*` - Feature branches, created from and merged back to `main`
376
+ - `bugfix/*` - Bug fix branches, created from and merged back to `main`
377
+ - `hotfix/*` - Urgent fixes, created from and merged back to `main`
378
+
379
+ See [DEVELOPMENT.md](./DEVELOPMENT.md) for detailed development guidelines.
380
+
381
+ ## 📄 License
382
+
383
+ This project is licensed under the MIT License - see the [LICENSE](./LICENSE) file for details.
384
+
385
+ ## 🔗 Links
386
+
387
+ - **PyPI Package**: https://pypi.org/project/dify-oapi2/
388
+ - **Source Code**: https://github.com/nodite/dify-oapi2
389
+ - **Dify Platform**: https://dify.ai/
390
+ - **Dify API Docs**: https://docs.dify.ai/
391
+
392
+ ---
393
+
394
+ **Keywords**: dify, ai, nlp, language-processing, python-sdk, async, type-safe, api-client
395
+