dify-oapi2 0.5.0__py3-none-any.whl → 1.0.1__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 (147) hide show
  1. dify_oapi/api/chat/v1/model/__init__.py +137 -37
  2. dify_oapi/api/chat/v1/model/chat_response.py +1 -0
  3. dify_oapi/api/chat/v1/model/configure_annotation_reply_request.py +1 -0
  4. dify_oapi/api/chat/v1/model/create_annotation_request.py +1 -0
  5. dify_oapi/api/chat/v1/model/get_conversation_list_request.py +10 -10
  6. dify_oapi/api/chat/v1/model/get_conversations_request.py +49 -0
  7. dify_oapi/api/chat/v1/model/update_annotation_request.py +1 -0
  8. dify_oapi/api/chat/v1/resource/__init__.py +1 -8
  9. dify_oapi/api/chat/v1/resource/annotation.py +37 -27
  10. dify_oapi/api/chat/v1/resource/chat.py +37 -29
  11. dify_oapi/api/chat/v1/resource/conversation.py +26 -58
  12. dify_oapi/api/chat/v1/resource/message.py +13 -15
  13. dify_oapi/api/chat/v1/version.py +18 -11
  14. dify_oapi/api/chatflow/service.py +1 -18
  15. dify_oapi/api/chatflow/v1/model/__init__.py +135 -0
  16. dify_oapi/api/chatflow/v1/model/send_chat_message_request_body.py +4 -1
  17. dify_oapi/api/chatflow/v1/resource/annotation.py +14 -49
  18. dify_oapi/api/chatflow/v1/resource/chatflow.py +6 -19
  19. dify_oapi/api/chatflow/v1/resource/conversation.py +12 -41
  20. dify_oapi/api/chatflow/v1/version.py +11 -18
  21. dify_oapi/api/completion/v1/model/__init__.py +62 -0
  22. dify_oapi/api/completion/v1/model/annotation/__init__.py +40 -0
  23. dify_oapi/api/completion/v1/model/completion/__init__.py +22 -0
  24. dify_oapi/api/completion/v1/resource/__init__.py +0 -6
  25. dify_oapi/api/completion/v1/version.py +8 -6
  26. dify_oapi/api/dify/v1/model/__init__.py +38 -0
  27. dify_oapi/api/dify/v1/model/get_feedbacks_response.py +26 -0
  28. dify_oapi/api/{completion/v1/model/info → dify/v1/model}/get_parameters_request.py +4 -0
  29. dify_oapi/api/dify/v1/model/{get_parameter_response.py → get_parameters_response.py} +6 -2
  30. dify_oapi/api/dify/v1/model/get_site_response.py +17 -0
  31. dify_oapi/api/{chat → dify}/v1/model/submit_feedback_request_body.py +3 -1
  32. dify_oapi/api/{chat → dify}/v1/model/submit_feedback_response.py +3 -1
  33. dify_oapi/api/dify/v1/resource/__init__.py +0 -6
  34. dify_oapi/api/dify/v1/resource/audio.py +12 -0
  35. dify_oapi/api/{chat → dify}/v1/resource/feedback.py +6 -6
  36. dify_oapi/api/dify/v1/resource/info.py +34 -2
  37. dify_oapi/api/dify/v1/version.py +5 -4
  38. dify_oapi/api/knowledge/service.py +3 -3
  39. dify_oapi/api/knowledge/v1/model/__init__.py +234 -0
  40. dify_oapi/api/knowledge/v1/model/create_document_by_file_request.py +1 -3
  41. dify_oapi/api/knowledge/v1/model/create_document_by_file_request_body.py +4 -46
  42. dify_oapi/api/knowledge/v1/model/create_document_by_file_request_body_data.py +73 -0
  43. dify_oapi/api/knowledge/v1/model/process_rule.py +0 -6
  44. dify_oapi/api/knowledge/v1/model/update_document_by_file_request.py +1 -3
  45. dify_oapi/api/knowledge/v1/model/update_document_by_file_request_body.py +4 -41
  46. dify_oapi/api/knowledge/v1/model/update_document_by_file_request_body_data.py +68 -0
  47. dify_oapi/api/knowledge/v1/resource/__init__.py +0 -8
  48. dify_oapi/api/workflow/v1/model/__init__.py +72 -0
  49. dify_oapi/api/workflow/v1/model/workflow_inputs.py +1 -0
  50. dify_oapi/api/workflow/v1/resource/workflow.py +0 -34
  51. dify_oapi/api/workflow/v1/version.py +9 -0
  52. dify_oapi/client.py +4 -4
  53. dify_oapi2-1.0.1.dist-info/METADATA +367 -0
  54. {dify_oapi2-0.5.0.dist-info → dify_oapi2-1.0.1.dist-info}/RECORD +62 -139
  55. {dify_oapi2-0.5.0.dist-info → dify_oapi2-1.0.1.dist-info}/WHEEL +1 -1
  56. dify_oapi/api/chat/v1/model/get_app_info_request.py +0 -24
  57. dify_oapi/api/chat/v1/model/get_app_info_response.py +0 -9
  58. dify_oapi/api/chat/v1/model/get_app_meta_request.py +0 -24
  59. dify_oapi/api/chat/v1/model/get_app_meta_response.py +0 -9
  60. dify_oapi/api/chat/v1/model/get_app_parameters_request.py +0 -28
  61. dify_oapi/api/chat/v1/model/get_app_parameters_response.py +0 -9
  62. dify_oapi/api/chat/v1/model/get_feedbacks_response.py +0 -7
  63. dify_oapi/api/chat/v1/model/get_site_settings_request.py +0 -24
  64. dify_oapi/api/chat/v1/model/get_site_settings_response.py +0 -9
  65. dify_oapi/api/chat/v1/model/text_to_audio_request.py +0 -32
  66. dify_oapi/api/chat/v1/model/text_to_audio_request_body.py +0 -33
  67. dify_oapi/api/chat/v1/model/upload_file_request.py +0 -54
  68. dify_oapi/api/chat/v1/model/upload_file_response.py +0 -10
  69. dify_oapi/api/chat/v1/resource/app.py +0 -47
  70. dify_oapi/api/chat/v1/resource/audio.py +0 -30
  71. dify_oapi/api/chat/v1/resource/file.py +0 -25
  72. dify_oapi/api/chatflow/v1/model/audio_to_text_request.py +0 -37
  73. dify_oapi/api/chatflow/v1/model/audio_to_text_response.py +0 -21
  74. dify_oapi/api/chatflow/v1/model/get_app_feedbacks_request.py +0 -30
  75. dify_oapi/api/chatflow/v1/model/get_app_feedbacks_response.py +0 -23
  76. dify_oapi/api/chatflow/v1/model/get_info_request.py +0 -22
  77. dify_oapi/api/chatflow/v1/model/get_info_response.py +0 -7
  78. dify_oapi/api/chatflow/v1/model/get_meta_request.py +0 -22
  79. dify_oapi/api/chatflow/v1/model/get_meta_response.py +0 -7
  80. dify_oapi/api/chatflow/v1/model/get_parameters_request.py +0 -22
  81. dify_oapi/api/chatflow/v1/model/get_parameters_response.py +0 -7
  82. dify_oapi/api/chatflow/v1/model/get_site_request.py +0 -22
  83. dify_oapi/api/chatflow/v1/model/get_site_response.py +0 -7
  84. dify_oapi/api/chatflow/v1/model/message_feedback_request.py +0 -36
  85. dify_oapi/api/chatflow/v1/model/message_feedback_request_body.py +0 -33
  86. dify_oapi/api/chatflow/v1/model/message_feedback_response.py +0 -21
  87. dify_oapi/api/chatflow/v1/model/text_to_audio_request.py +0 -30
  88. dify_oapi/api/chatflow/v1/model/text_to_audio_request_body.py +0 -36
  89. dify_oapi/api/chatflow/v1/model/text_to_audio_response.py +0 -19
  90. dify_oapi/api/chatflow/v1/model/upload_file_request.py +0 -41
  91. dify_oapi/api/chatflow/v1/model/upload_file_response.py +0 -11
  92. dify_oapi/api/chatflow/v1/resource/application.py +0 -76
  93. dify_oapi/api/chatflow/v1/resource/feedback.py +0 -69
  94. dify_oapi/api/chatflow/v1/resource/file.py +0 -39
  95. dify_oapi/api/chatflow/v1/resource/tts.py +0 -29
  96. dify_oapi/api/completion/v1/model/audio/audio_info.py +0 -28
  97. dify_oapi/api/completion/v1/model/audio/text_to_audio_request.py +0 -32
  98. dify_oapi/api/completion/v1/model/audio/text_to_audio_request_body.py +0 -33
  99. dify_oapi/api/completion/v1/model/audio/text_to_audio_response.py +0 -9
  100. dify_oapi/api/completion/v1/model/feedback/feedback_info.py +0 -53
  101. dify_oapi/api/completion/v1/model/feedback/get_feedbacks_request.py +0 -32
  102. dify_oapi/api/completion/v1/model/feedback/get_feedbacks_response.py +0 -9
  103. dify_oapi/api/completion/v1/model/feedback/message_feedback_request.py +0 -38
  104. dify_oapi/api/completion/v1/model/feedback/message_feedback_request_body.py +0 -35
  105. dify_oapi/api/completion/v1/model/feedback/message_feedback_response.py +0 -7
  106. dify_oapi/api/completion/v1/model/file/file_info.py +0 -53
  107. dify_oapi/api/completion/v1/model/file/upload_file_request.py +0 -42
  108. dify_oapi/api/completion/v1/model/file/upload_file_request_body.py +0 -23
  109. dify_oapi/api/completion/v1/model/file/upload_file_response.py +0 -9
  110. dify_oapi/api/completion/v1/model/info/app_info.py +0 -43
  111. dify_oapi/api/completion/v1/model/info/feature_config.py +0 -91
  112. dify_oapi/api/completion/v1/model/info/file_upload_config.py +0 -23
  113. dify_oapi/api/completion/v1/model/info/get_info_request.py +0 -24
  114. dify_oapi/api/completion/v1/model/info/get_info_response.py +0 -9
  115. dify_oapi/api/completion/v1/model/info/get_parameters_response.py +0 -9
  116. dify_oapi/api/completion/v1/model/info/get_site_response.py +0 -9
  117. dify_oapi/api/completion/v1/model/info/parameters_info.py +0 -75
  118. dify_oapi/api/completion/v1/model/info/site_info.py +0 -90
  119. dify_oapi/api/completion/v1/model/info/system_parameters.py +0 -38
  120. dify_oapi/api/completion/v1/model/info/user_input_form.py +0 -158
  121. dify_oapi/api/completion/v1/resource/audio.py +0 -19
  122. dify_oapi/api/completion/v1/resource/feedback.py +0 -33
  123. dify_oapi/api/completion/v1/resource/file.py +0 -19
  124. dify_oapi/api/completion/v1/resource/info.py +0 -39
  125. dify_oapi/api/dify/v1/model/get_parameter_request.py +0 -30
  126. dify_oapi/api/dify/v1/model/message_feedback_request.py +0 -38
  127. dify_oapi/api/dify/v1/model/message_feedback_request_body.py +0 -30
  128. dify_oapi/api/dify/v1/model/message_feedback_response.py +0 -5
  129. dify_oapi/api/dify/v1/resource/message.py +0 -21
  130. dify_oapi/api/dify/v1/resource/meta.py +0 -17
  131. dify_oapi/api/dify/v1/resource/parameter.py +0 -19
  132. dify_oapi/api/workflow/v1/model/get_info_request.py +0 -24
  133. dify_oapi/api/workflow/v1/model/get_info_response.py +0 -9
  134. dify_oapi/api/workflow/v1/model/get_parameters_request.py +0 -24
  135. dify_oapi/api/workflow/v1/model/get_parameters_response.py +0 -9
  136. dify_oapi/api/workflow/v1/model/get_site_request.py +0 -24
  137. dify_oapi/api/workflow/v1/model/get_site_response.py +0 -9
  138. dify_oapi/api/workflow/v1/model/upload_file_request.py +0 -42
  139. dify_oapi/api/workflow/v1/model/upload_file_response.py +0 -9
  140. dify_oapi2-0.5.0.dist-info/METADATA +0 -335
  141. /dify_oapi/api/{chat → dify}/v1/model/audio_to_text_request.py +0 -0
  142. /dify_oapi/api/{chat → dify}/v1/model/audio_to_text_request_body.py +0 -0
  143. /dify_oapi/api/{chat → dify}/v1/model/audio_to_text_response.py +0 -0
  144. /dify_oapi/api/{chat → dify}/v1/model/get_feedbacks_request.py +0 -0
  145. /dify_oapi/api/{completion/v1/model/info → dify/v1/model}/get_site_request.py +0 -0
  146. /dify_oapi/api/{chat → dify}/v1/model/submit_feedback_request.py +0 -0
  147. {dify_oapi2-0.5.0.dist-info → dify_oapi2-1.0.1.dist-info/licenses}/LICENSE +0 -0
@@ -1,5 +1,4 @@
1
- from dify_oapi.core.http.transport.async_transport import ATransport
2
- from dify_oapi.core.http.transport.sync_transport import Transport
1
+ from dify_oapi.core.http.transport import ATransport, Transport
3
2
  from dify_oapi.core.model.config import Config
4
3
  from dify_oapi.core.model.request_option import RequestOption
5
4
 
@@ -16,88 +15,60 @@ from ..model.rename_conversation_response import RenameConversationResponse
16
15
 
17
16
 
18
17
  class Conversation:
19
- def __init__(self, config: Config):
18
+ def __init__(self, config: Config) -> None:
20
19
  self.config = config
21
20
 
22
21
  def messages(
23
- self,
24
- request: GetConversationMessagesRequest,
25
- request_option: RequestOption,
22
+ self, request: GetConversationMessagesRequest, request_option: RequestOption
26
23
  ) -> GetConversationMessagesResponse:
27
24
  return Transport.execute(
28
25
  self.config, request, unmarshal_as=GetConversationMessagesResponse, option=request_option
29
26
  )
30
27
 
31
28
  async def amessages(
32
- self,
33
- request: GetConversationMessagesRequest,
34
- request_option: RequestOption,
29
+ self, request: GetConversationMessagesRequest, request_option: RequestOption
35
30
  ) -> GetConversationMessagesResponse:
36
31
  return await ATransport.aexecute(
37
32
  self.config, request, unmarshal_as=GetConversationMessagesResponse, option=request_option
38
33
  )
39
34
 
40
- def list(
41
- self,
42
- request: GetConversationsRequest,
43
- request_option: RequestOption,
44
- ) -> GetConversationsResponse:
35
+ def list(self, request: GetConversationsRequest, request_option: RequestOption) -> GetConversationsResponse:
45
36
  return Transport.execute(self.config, request, unmarshal_as=GetConversationsResponse, option=request_option)
46
37
 
47
- async def alist(
48
- self,
49
- request: GetConversationsRequest,
50
- request_option: RequestOption,
51
- ) -> GetConversationsResponse:
38
+ async def alist(self, request: GetConversationsRequest, request_option: RequestOption) -> GetConversationsResponse:
52
39
  return await ATransport.aexecute(
53
40
  self.config, request, unmarshal_as=GetConversationsResponse, option=request_option
54
41
  )
55
42
 
56
- def delete(
57
- self,
58
- request: DeleteConversationRequest,
59
- request_option: RequestOption,
60
- ) -> DeleteConversationResponse:
43
+ def delete(self, request: DeleteConversationRequest, request_option: RequestOption) -> DeleteConversationResponse:
61
44
  return Transport.execute(self.config, request, unmarshal_as=DeleteConversationResponse, option=request_option)
62
45
 
63
46
  async def adelete(
64
- self,
65
- request: DeleteConversationRequest,
66
- request_option: RequestOption,
47
+ self, request: DeleteConversationRequest, request_option: RequestOption
67
48
  ) -> DeleteConversationResponse:
68
49
  return await ATransport.aexecute(
69
50
  self.config, request, unmarshal_as=DeleteConversationResponse, option=request_option
70
51
  )
71
52
 
72
- def rename(
73
- self,
74
- request: RenameConversationRequest,
75
- request_option: RequestOption,
76
- ) -> RenameConversationResponse:
53
+ def rename(self, request: RenameConversationRequest, request_option: RequestOption) -> RenameConversationResponse:
77
54
  return Transport.execute(self.config, request, unmarshal_as=RenameConversationResponse, option=request_option)
78
55
 
79
56
  async def arename(
80
- self,
81
- request: RenameConversationRequest,
82
- request_option: RequestOption,
57
+ self, request: RenameConversationRequest, request_option: RequestOption
83
58
  ) -> RenameConversationResponse:
84
59
  return await ATransport.aexecute(
85
60
  self.config, request, unmarshal_as=RenameConversationResponse, option=request_option
86
61
  )
87
62
 
88
63
  def variables(
89
- self,
90
- request: GetConversationVariablesRequest,
91
- request_option: RequestOption,
64
+ self, request: GetConversationVariablesRequest, request_option: RequestOption
92
65
  ) -> GetConversationVariablesResponse:
93
66
  return Transport.execute(
94
67
  self.config, request, unmarshal_as=GetConversationVariablesResponse, option=request_option
95
68
  )
96
69
 
97
70
  async def avariables(
98
- self,
99
- request: GetConversationVariablesRequest,
100
- request_option: RequestOption,
71
+ self, request: GetConversationVariablesRequest, request_option: RequestOption
101
72
  ) -> GetConversationVariablesResponse:
102
73
  return await ATransport.aexecute(
103
74
  self.config, request, unmarshal_as=GetConversationVariablesResponse, option=request_option
@@ -1,29 +1,22 @@
1
- """Chatflow API V1 version integration."""
2
-
1
+ from dify_oapi.api.dify.v1.resource.audio import Audio
2
+ from dify_oapi.api.dify.v1.resource.feedback import Feedback
3
+ from dify_oapi.api.dify.v1.resource.file import File
4
+ from dify_oapi.api.dify.v1.resource.info import Info
3
5
  from dify_oapi.core.model.config import Config
4
6
 
5
7
  from .resource.annotation import Annotation
6
- from .resource.application import Application
7
8
  from .resource.chatflow import Chatflow
8
9
  from .resource.conversation import Conversation
9
- from .resource.feedback import Feedback
10
- from .resource.file import File
11
- from .resource.tts import TTS
12
10
 
13
11
 
14
12
  class V1:
15
- """Chatflow API V1 version class that integrates all resources."""
16
-
17
- def __init__(self, config: Config):
18
- """Initialize V1 with all chatflow resources.
19
-
20
- Args:
21
- config: Configuration object containing API settings
22
- """
13
+ def __init__(self, config: Config) -> None:
14
+ # Business-specific APIs
23
15
  self.chatflow = Chatflow(config)
24
- self.file = File(config)
25
- self.feedback = Feedback(config)
26
16
  self.conversation = Conversation(config)
27
- self.tts = TTS(config)
28
- self.application = Application(config)
29
17
  self.annotation = Annotation(config)
18
+ # System APIs - direct use of dify module
19
+ self.file = File(config)
20
+ self.tts = Audio(config)
21
+ self.application = Info(config)
22
+ self.feedback = Feedback(config)
@@ -0,0 +1,62 @@
1
+ from .annotation import AnnotationInfo as AnnotationInfo
2
+ from .annotation import AnnotationInfoBuilder as AnnotationInfoBuilder
3
+ from .annotation import AnnotationReplySettingsRequest as AnnotationReplySettingsRequest
4
+ from .annotation import (
5
+ AnnotationReplySettingsRequestBody as AnnotationReplySettingsRequestBody,
6
+ )
7
+ from .annotation import (
8
+ AnnotationReplySettingsRequestBodyBuilder as AnnotationReplySettingsRequestBodyBuilder,
9
+ )
10
+ from .annotation import (
11
+ AnnotationReplySettingsRequestBuilder as AnnotationReplySettingsRequestBuilder,
12
+ )
13
+ from .annotation import AnnotationReplySettingsResponse as AnnotationReplySettingsResponse
14
+ from .annotation import CreateAnnotationRequest as CreateAnnotationRequest
15
+ from .annotation import CreateAnnotationRequestBody as CreateAnnotationRequestBody
16
+ from .annotation import CreateAnnotationRequestBodyBuilder as CreateAnnotationRequestBodyBuilder
17
+ from .annotation import CreateAnnotationRequestBuilder as CreateAnnotationRequestBuilder
18
+ from .annotation import CreateAnnotationResponse as CreateAnnotationResponse
19
+ from .annotation import DeleteAnnotationRequest as DeleteAnnotationRequest
20
+ from .annotation import DeleteAnnotationRequestBuilder as DeleteAnnotationRequestBuilder
21
+ from .annotation import DeleteAnnotationResponse as DeleteAnnotationResponse
22
+ from .annotation import JobStatusInfo as JobStatusInfo
23
+ from .annotation import JobStatusInfoBuilder as JobStatusInfoBuilder
24
+ from .annotation import ListAnnotationsRequest as ListAnnotationsRequest
25
+ from .annotation import ListAnnotationsRequestBuilder as ListAnnotationsRequestBuilder
26
+ from .annotation import ListAnnotationsResponse as ListAnnotationsResponse
27
+ from .annotation import (
28
+ QueryAnnotationReplyStatusRequest as QueryAnnotationReplyStatusRequest,
29
+ )
30
+ from .annotation import (
31
+ QueryAnnotationReplyStatusRequestBuilder as QueryAnnotationReplyStatusRequestBuilder,
32
+ )
33
+ from .annotation import (
34
+ QueryAnnotationReplyStatusResponse as QueryAnnotationReplyStatusResponse,
35
+ )
36
+ from .annotation import UpdateAnnotationRequest as UpdateAnnotationRequest
37
+ from .annotation import UpdateAnnotationRequestBody as UpdateAnnotationRequestBody
38
+ from .annotation import UpdateAnnotationRequestBodyBuilder as UpdateAnnotationRequestBodyBuilder
39
+ from .annotation import UpdateAnnotationRequestBuilder as UpdateAnnotationRequestBuilder
40
+ from .annotation import UpdateAnnotationResponse as UpdateAnnotationResponse
41
+ from .completion import CompletionInputs as CompletionInputs
42
+ from .completion import CompletionInputsBuilder as CompletionInputsBuilder
43
+ from .completion import CompletionMessageInfo as CompletionMessageInfo
44
+ from .completion import CompletionMessageInfoBuilder as CompletionMessageInfoBuilder
45
+ from .completion import InputFileObject as InputFileObject
46
+ from .completion import InputFileObjectBuilder as InputFileObjectBuilder
47
+ from .completion import Metadata as Metadata
48
+ from .completion import MetadataBuilder as MetadataBuilder
49
+ from .completion import RetrieverResource as RetrieverResource
50
+ from .completion import RetrieverResourceBuilder as RetrieverResourceBuilder
51
+ from .completion import SendMessageRequest as SendMessageRequest
52
+ from .completion import SendMessageRequestBody as SendMessageRequestBody
53
+ from .completion import SendMessageRequestBodyBuilder as SendMessageRequestBodyBuilder
54
+ from .completion import SendMessageRequestBuilder as SendMessageRequestBuilder
55
+ from .completion import SendMessageResponse as SendMessageResponse
56
+ from .completion import StopResponseRequest as StopResponseRequest
57
+ from .completion import StopResponseRequestBody as StopResponseRequestBody
58
+ from .completion import StopResponseRequestBodyBuilder as StopResponseRequestBodyBuilder
59
+ from .completion import StopResponseRequestBuilder as StopResponseRequestBuilder
60
+ from .completion import StopResponseResponse as StopResponseResponse
61
+ from .completion import Usage as Usage
62
+ from .completion import UsageBuilder as UsageBuilder
@@ -0,0 +1,40 @@
1
+ from .annotation_info import AnnotationInfo as AnnotationInfo
2
+ from .annotation_info import AnnotationInfoBuilder as AnnotationInfoBuilder
3
+ from .annotation_reply_settings_request import AnnotationReplySettingsRequest as AnnotationReplySettingsRequest
4
+ from .annotation_reply_settings_request import (
5
+ AnnotationReplySettingsRequestBuilder as AnnotationReplySettingsRequestBuilder,
6
+ )
7
+ from .annotation_reply_settings_request_body import (
8
+ AnnotationReplySettingsRequestBody as AnnotationReplySettingsRequestBody,
9
+ )
10
+ from .annotation_reply_settings_request_body import (
11
+ AnnotationReplySettingsRequestBodyBuilder as AnnotationReplySettingsRequestBodyBuilder,
12
+ )
13
+ from .annotation_reply_settings_response import AnnotationReplySettingsResponse as AnnotationReplySettingsResponse
14
+ from .create_annotation_request import CreateAnnotationRequest as CreateAnnotationRequest
15
+ from .create_annotation_request import CreateAnnotationRequestBuilder as CreateAnnotationRequestBuilder
16
+ from .create_annotation_request_body import CreateAnnotationRequestBody as CreateAnnotationRequestBody
17
+ from .create_annotation_request_body import CreateAnnotationRequestBodyBuilder as CreateAnnotationRequestBodyBuilder
18
+ from .create_annotation_response import CreateAnnotationResponse as CreateAnnotationResponse
19
+ from .delete_annotation_request import DeleteAnnotationRequest as DeleteAnnotationRequest
20
+ from .delete_annotation_request import DeleteAnnotationRequestBuilder as DeleteAnnotationRequestBuilder
21
+ from .delete_annotation_response import DeleteAnnotationResponse as DeleteAnnotationResponse
22
+ from .job_status_info import JobStatusInfo as JobStatusInfo
23
+ from .job_status_info import JobStatusInfoBuilder as JobStatusInfoBuilder
24
+ from .list_annotations_request import ListAnnotationsRequest as ListAnnotationsRequest
25
+ from .list_annotations_request import ListAnnotationsRequestBuilder as ListAnnotationsRequestBuilder
26
+ from .list_annotations_response import ListAnnotationsResponse as ListAnnotationsResponse
27
+ from .query_annotation_reply_status_request import (
28
+ QueryAnnotationReplyStatusRequest as QueryAnnotationReplyStatusRequest,
29
+ )
30
+ from .query_annotation_reply_status_request import (
31
+ QueryAnnotationReplyStatusRequestBuilder as QueryAnnotationReplyStatusRequestBuilder,
32
+ )
33
+ from .query_annotation_reply_status_response import (
34
+ QueryAnnotationReplyStatusResponse as QueryAnnotationReplyStatusResponse,
35
+ )
36
+ from .update_annotation_request import UpdateAnnotationRequest as UpdateAnnotationRequest
37
+ from .update_annotation_request import UpdateAnnotationRequestBuilder as UpdateAnnotationRequestBuilder
38
+ from .update_annotation_request_body import UpdateAnnotationRequestBody as UpdateAnnotationRequestBody
39
+ from .update_annotation_request_body import UpdateAnnotationRequestBodyBuilder as UpdateAnnotationRequestBodyBuilder
40
+ from .update_annotation_response import UpdateAnnotationResponse as UpdateAnnotationResponse
@@ -0,0 +1,22 @@
1
+ from .completion_inputs import CompletionInputs as CompletionInputs
2
+ from .completion_inputs import CompletionInputsBuilder as CompletionInputsBuilder
3
+ from .completion_message_info import CompletionMessageInfo as CompletionMessageInfo
4
+ from .completion_message_info import CompletionMessageInfoBuilder as CompletionMessageInfoBuilder
5
+ from .input_file_object import InputFileObject as InputFileObject
6
+ from .input_file_object import InputFileObjectBuilder as InputFileObjectBuilder
7
+ from .metadata import Metadata as Metadata
8
+ from .metadata import MetadataBuilder as MetadataBuilder
9
+ from .retriever_resource import RetrieverResource as RetrieverResource
10
+ from .retriever_resource import RetrieverResourceBuilder as RetrieverResourceBuilder
11
+ from .send_message_request import SendMessageRequest as SendMessageRequest
12
+ from .send_message_request import SendMessageRequestBuilder as SendMessageRequestBuilder
13
+ from .send_message_request_body import SendMessageRequestBody as SendMessageRequestBody
14
+ from .send_message_request_body import SendMessageRequestBodyBuilder as SendMessageRequestBodyBuilder
15
+ from .send_message_response import SendMessageResponse as SendMessageResponse
16
+ from .stop_response_request import StopResponseRequest as StopResponseRequest
17
+ from .stop_response_request import StopResponseRequestBuilder as StopResponseRequestBuilder
18
+ from .stop_response_request_body import StopResponseRequestBody as StopResponseRequestBody
19
+ from .stop_response_request_body import StopResponseRequestBodyBuilder as StopResponseRequestBodyBuilder
20
+ from .stop_response_response import StopResponseResponse as StopResponseResponse
21
+ from .usage import Usage as Usage
22
+ from .usage import UsageBuilder as UsageBuilder
@@ -1,6 +0,0 @@
1
- from .annotation import * # noqa 403
2
- from .audio import * # noqa 403
3
- from .completion import * # noqa 403
4
- from .feedback import * # noqa 403
5
- from .file import * # noqa 403
6
- from .info import * # noqa 403
@@ -1,18 +1,20 @@
1
+ from dify_oapi.api.dify.v1.resource.audio import Audio
2
+ from dify_oapi.api.dify.v1.resource.feedback import Feedback
3
+ from dify_oapi.api.dify.v1.resource.file import File
4
+ from dify_oapi.api.dify.v1.resource.info import Info
1
5
  from dify_oapi.core.model.config import Config
2
6
 
3
7
  from .resource.annotation import Annotation
4
- from .resource.audio import Audio
5
8
  from .resource.completion import Completion
6
- from .resource.feedback import Feedback
7
- from .resource.file import File
8
- from .resource.info import Info
9
9
 
10
10
 
11
11
  class V1:
12
12
  def __init__(self, config: Config):
13
+ # Business-specific APIs
13
14
  self.completion: Completion = Completion(config)
15
+ self.annotation: Annotation = Annotation(config)
16
+ # System APIs - direct use of dify module
14
17
  self.file: File = File(config)
15
- self.feedback: Feedback = Feedback(config)
16
18
  self.audio: Audio = Audio(config)
17
19
  self.info: Info = Info(config)
18
- self.annotation: Annotation = Annotation(config)
20
+ self.feedback: Feedback = Feedback(config)
@@ -0,0 +1,38 @@
1
+ from .audio_to_text_request import AudioToTextRequest as AudioToTextRequest
2
+ from .audio_to_text_request import AudioToTextRequestBuilder as AudioToTextRequestBuilder
3
+ from .audio_to_text_request_body import AudioToTextRequestBody as AudioToTextRequestBody
4
+ from .audio_to_text_request_body import AudioToTextRequestBodyBuilder as AudioToTextRequestBodyBuilder
5
+ from .audio_to_text_response import AudioToTextResponse as AudioToTextResponse
6
+ from .get_feedbacks_request import GetFeedbacksRequest as GetFeedbacksRequest
7
+ from .get_feedbacks_request import GetFeedbacksRequestBuilder as GetFeedbacksRequestBuilder
8
+ from .get_feedbacks_response import FeedbackInfo as FeedbackInfo
9
+ from .get_feedbacks_response import GetFeedbacksResponse as GetFeedbacksResponse
10
+ from .get_info_request import GetInfoRequest as GetInfoRequest
11
+ from .get_info_request import GetInfoRequestBuilder as GetInfoRequestBuilder
12
+ from .get_info_response import GetInfoResponse as GetInfoResponse
13
+ from .get_meta_request import GetMetaRequest as GetMetaRequest
14
+ from .get_meta_request import GetMetaRequestBuilder as GetMetaRequestBuilder
15
+ from .get_meta_response import GetMetaResponse as GetMetaResponse
16
+ from .get_meta_response import GetMetaResponseApiTool as GetMetaResponseApiTool
17
+ from .get_meta_response import GetMetaResponseToolIcons as GetMetaResponseToolIcons
18
+ from .get_parameters_request import GetParametersRequest as GetParametersRequest
19
+ from .get_parameters_request import GetParametersRequestBuilder as GetParametersRequestBuilder
20
+ from .get_parameters_response import GetParametersResponse as GetParametersResponse
21
+ from .get_site_request import GetSiteRequest as GetSiteRequest
22
+ from .get_site_request import GetSiteRequestBuilder as GetSiteRequestBuilder
23
+ from .get_site_response import GetSiteResponse as GetSiteResponse
24
+ from .submit_feedback_request import SubmitFeedbackRequest as SubmitFeedbackRequest
25
+ from .submit_feedback_request import SubmitFeedbackRequestBuilder as SubmitFeedbackRequestBuilder
26
+ from .submit_feedback_request_body import SubmitFeedbackRequestBody as SubmitFeedbackRequestBody
27
+ from .submit_feedback_request_body import SubmitFeedbackRequestBodyBuilder as SubmitFeedbackRequestBodyBuilder
28
+ from .submit_feedback_response import SubmitFeedbackResponse as SubmitFeedbackResponse
29
+ from .text_to_audio_request import TextToAudioRequest as TextToAudioRequest
30
+ from .text_to_audio_request import TextToAudioRequestBuilder as TextToAudioRequestBuilder
31
+ from .text_to_audio_request_body import TextToAudioRequestBody as TextToAudioRequestBody
32
+ from .text_to_audio_request_body import TextToAudioRequestBodyBuilder as TextToAudioRequestBodyBuilder
33
+ from .text_to_audio_response import TextToAudioResponse as TextToAudioResponse
34
+ from .upload_file_body import UploadFileBody as UploadFileBody
35
+ from .upload_file_body import UploadFileBodyBuilder as UploadFileBodyBuilder
36
+ from .upload_file_request import UploadFileRequest as UploadFileRequest
37
+ from .upload_file_request import UploadFileRequestBuilder as UploadFileRequestBuilder
38
+ from .upload_file_response import UploadFileResponse as UploadFileResponse
@@ -0,0 +1,26 @@
1
+ from pydantic import BaseModel
2
+
3
+ from dify_oapi.core.model.base_response import BaseResponse
4
+
5
+
6
+ class FeedbackInfo(BaseModel):
7
+ """Feedback information."""
8
+
9
+ id: str | None = None
10
+ username: str | None = None
11
+ phone: str | None = None
12
+ avatar: str | None = None
13
+ display_name: str | None = None
14
+ timestamp: int | None = None
15
+ rating: str | None = None
16
+ content: str | None = None
17
+
18
+
19
+ class GetFeedbacksResponse(BaseResponse):
20
+ """Response for get feedbacks API."""
21
+
22
+ data: list[FeedbackInfo] | None = None
23
+ has_more: bool | None = None
24
+ limit: int | None = None
25
+ page: int | None = None
26
+ total: int | None = None
@@ -22,3 +22,7 @@ class GetParametersRequestBuilder:
22
22
 
23
23
  def build(self) -> GetParametersRequest:
24
24
  return self._get_parameters_request
25
+
26
+ def user(self, user: str) -> GetParametersRequestBuilder:
27
+ self._get_parameters_request.add_query("user", user)
28
+ return self
@@ -1,13 +1,17 @@
1
1
  from dify_oapi.core.model.base_response import BaseResponse
2
2
 
3
3
 
4
- class GetParameterResponse(BaseResponse):
4
+ class GetParametersResponse(BaseResponse):
5
+ """Response for get application parameters API."""
6
+
5
7
  opening_statement: str | None = None
6
8
  suggested_questions: list[str] | None = None
7
- suggested_questions_after_answer: dict | None = None
8
9
  speech_to_text: dict | None = None
10
+ text_to_speech: dict | None = None
9
11
  retriever_resource: dict | None = None
10
12
  annotation_reply: dict | None = None
13
+ more_like_this: dict | None = None
11
14
  user_input_form: list[dict] | None = None
15
+ sensitive_word_avoidance: dict | None = None
12
16
  file_upload: dict | None = None
13
17
  system_parameters: dict | None = None
@@ -0,0 +1,17 @@
1
+ from dify_oapi.core.model.base_response import BaseResponse
2
+
3
+
4
+ class GetSiteResponse(BaseResponse):
5
+ """Response for get site settings API."""
6
+
7
+ title: str | None = None
8
+ icon: str | None = None
9
+ icon_background: str | None = None
10
+ description: str | None = None
11
+ default_language: str | None = None
12
+ customize_domain: str | None = None
13
+ customize_token_strategy: str | None = None
14
+ prompt_public: bool | None = None
15
+ copyright: str | None = None
16
+ privacy_policy: str | None = None
17
+ custom_disclaimer: str | None = None
@@ -1,6 +1,8 @@
1
+ from typing import Literal
2
+
1
3
  from pydantic import BaseModel
2
4
 
3
- from .chat_types import Rating
5
+ Rating = Literal["like", "dislike"]
4
6
 
5
7
 
6
8
  class SubmitFeedbackRequestBody(BaseModel):
@@ -2,4 +2,6 @@ from dify_oapi.core.model.base_response import BaseResponse
2
2
 
3
3
 
4
4
  class SubmitFeedbackResponse(BaseResponse):
5
- result: str = "success"
5
+ """Response for submit feedback API."""
6
+
7
+ result: str | None = None
@@ -1,6 +0,0 @@
1
- from .meta import * # noqa 403
2
- from .file import * # noqa 403
3
- from .audio import * # noqa 403
4
- from .parameter import * # noqa 403
5
- from .message import * # noqa 403
6
- from .info import * # noqa 403
@@ -2,6 +2,8 @@ from dify_oapi.core.http.transport import ATransport, Transport
2
2
  from dify_oapi.core.model.config import Config
3
3
  from dify_oapi.core.model.request_option import RequestOption
4
4
 
5
+ from ..model.audio_to_text_request import AudioToTextRequest
6
+ from ..model.audio_to_text_response import AudioToTextResponse
5
7
  from ..model.text_to_audio_request import TextToAudioRequest
6
8
  from ..model.text_to_audio_response import TextToAudioResponse
7
9
 
@@ -10,8 +12,18 @@ class Audio:
10
12
  def __init__(self, config: Config) -> None:
11
13
  self.config: Config = config
12
14
 
15
+ def to_text(self, request: AudioToTextRequest, option: RequestOption | None = None) -> AudioToTextResponse:
16
+ """Convert audio to text (speech-to-text)"""
17
+ return Transport.execute(self.config, request, unmarshal_as=AudioToTextResponse, option=option)
18
+
19
+ async def ato_text(self, request: AudioToTextRequest, option: RequestOption | None = None) -> AudioToTextResponse:
20
+ """Convert audio to text (speech-to-text) - async version"""
21
+ return await ATransport.aexecute(self.config, request, unmarshal_as=AudioToTextResponse, option=option)
22
+
13
23
  def from_text(self, request: TextToAudioRequest, option: RequestOption | None = None) -> TextToAudioResponse:
24
+ """Convert text to audio (text-to-speech)"""
14
25
  return Transport.execute(self.config, request, unmarshal_as=TextToAudioResponse, option=option)
15
26
 
16
27
  async def afrom_text(self, request: TextToAudioRequest, option: RequestOption | None = None) -> TextToAudioResponse:
28
+ """Convert text to audio (text-to-speech) - async version"""
17
29
  return await ATransport.aexecute(self.config, request, unmarshal_as=TextToAudioResponse, option=option)
@@ -9,23 +9,23 @@ from ..model.submit_feedback_response import SubmitFeedbackResponse
9
9
 
10
10
 
11
11
  class Feedback:
12
- def __init__(self, config: Config):
13
- self.config = config
12
+ def __init__(self, config: Config) -> None:
13
+ self.config: Config = config
14
14
 
15
15
  def submit(self, request: SubmitFeedbackRequest, option: RequestOption | None = None) -> SubmitFeedbackResponse:
16
- """Submit feedback for a message."""
16
+ """Submit feedback for a message"""
17
17
  return Transport.execute(self.config, request, unmarshal_as=SubmitFeedbackResponse, option=option)
18
18
 
19
19
  async def asubmit(
20
20
  self, request: SubmitFeedbackRequest, option: RequestOption | None = None
21
21
  ) -> SubmitFeedbackResponse:
22
- """Submit feedback for a message asynchronously."""
22
+ """Submit feedback for a message - async version"""
23
23
  return await ATransport.aexecute(self.config, request, unmarshal_as=SubmitFeedbackResponse, option=option)
24
24
 
25
25
  def list(self, request: GetFeedbacksRequest, option: RequestOption | None = None) -> GetFeedbacksResponse:
26
- """Get application feedbacks."""
26
+ """Get list of feedbacks"""
27
27
  return Transport.execute(self.config, request, unmarshal_as=GetFeedbacksResponse, option=option)
28
28
 
29
29
  async def alist(self, request: GetFeedbacksRequest, option: RequestOption | None = None) -> GetFeedbacksResponse:
30
- """Get application feedbacks asynchronously."""
30
+ """Get list of feedbacks - async version"""
31
31
  return await ATransport.aexecute(self.config, request, unmarshal_as=GetFeedbacksResponse, option=option)
@@ -4,6 +4,12 @@ from dify_oapi.core.model.request_option import RequestOption
4
4
 
5
5
  from ..model.get_info_request import GetInfoRequest
6
6
  from ..model.get_info_response import GetInfoResponse
7
+ from ..model.get_meta_request import GetMetaRequest
8
+ from ..model.get_meta_response import GetMetaResponse
9
+ from ..model.get_parameters_request import GetParametersRequest
10
+ from ..model.get_parameters_response import GetParametersResponse
11
+ from ..model.get_site_request import GetSiteRequest
12
+ from ..model.get_site_response import GetSiteResponse
7
13
 
8
14
 
9
15
  class Info:
@@ -11,9 +17,35 @@ class Info:
11
17
  self.config: Config = config
12
18
 
13
19
  def get(self, request: GetInfoRequest, option: RequestOption | None = None) -> GetInfoResponse:
14
- # Send request
20
+ """Get application information"""
15
21
  return Transport.execute(self.config, request, unmarshal_as=GetInfoResponse, option=option)
16
22
 
17
23
  async def aget(self, request: GetInfoRequest, option: RequestOption | None = None) -> GetInfoResponse:
18
- # Send request
24
+ """Get application information - async version"""
19
25
  return await ATransport.aexecute(self.config, request, unmarshal_as=GetInfoResponse, option=option)
26
+
27
+ def parameters(self, request: GetParametersRequest, option: RequestOption | None = None) -> GetParametersResponse:
28
+ """Get application parameters"""
29
+ return Transport.execute(self.config, request, unmarshal_as=GetParametersResponse, option=option)
30
+
31
+ async def aparameters(
32
+ self, request: GetParametersRequest, option: RequestOption | None = None
33
+ ) -> GetParametersResponse:
34
+ """Get application parameters - async version"""
35
+ return await ATransport.aexecute(self.config, request, unmarshal_as=GetParametersResponse, option=option)
36
+
37
+ def meta(self, request: GetMetaRequest, option: RequestOption | None = None) -> GetMetaResponse:
38
+ """Get application metadata"""
39
+ return Transport.execute(self.config, request, unmarshal_as=GetMetaResponse, option=option)
40
+
41
+ async def ameta(self, request: GetMetaRequest, option: RequestOption | None = None) -> GetMetaResponse:
42
+ """Get application metadata - async version"""
43
+ return await ATransport.aexecute(self.config, request, unmarshal_as=GetMetaResponse, option=option)
44
+
45
+ def site(self, request: GetSiteRequest, option: RequestOption | None = None) -> GetSiteResponse:
46
+ """Get site settings"""
47
+ return Transport.execute(self.config, request, unmarshal_as=GetSiteResponse, option=option)
48
+
49
+ async def asite(self, request: GetSiteRequest, option: RequestOption | None = None) -> GetSiteResponse:
50
+ """Get site settings - async version"""
51
+ return await ATransport.aexecute(self.config, request, unmarshal_as=GetSiteResponse, option=option)
@@ -1,13 +1,14 @@
1
1
  from dify_oapi.core.model.config import Config
2
2
 
3
- from .resource import Audio, File, Info, Message, Meta, Parameter
3
+ from .resource.audio import Audio
4
+ from .resource.feedback import Feedback
5
+ from .resource.file import File
6
+ from .resource.info import Info
4
7
 
5
8
 
6
9
  class V1:
7
10
  def __init__(self, config: Config):
8
- self.meta: Meta = Meta(config)
9
11
  self.file: File = File(config)
10
12
  self.audio: Audio = Audio(config)
11
- self.parameter: Parameter = Parameter(config)
12
- self.message: Message = Message(config)
13
13
  self.info: Info = Info(config)
14
+ self.feedback: Feedback = Feedback(config)
@@ -3,6 +3,6 @@ from dify_oapi.core.model.config import Config
3
3
  from .v1.version import V1
4
4
 
5
5
 
6
- class Knowledge:
7
- def __init__(self, config: Config):
8
- self.v1 = V1(config)
6
+ class KnowledgeService:
7
+ def __init__(self, config: Config) -> None:
8
+ self.v1: V1 = V1(config)