dify-oapi2 0.4.0__py3-none-any.whl → 0.5.0__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- dify_oapi/api/chat/v1/model/__init__.py +37 -0
- dify_oapi/api/chat/v1/model/agent_thought.py +69 -0
- dify_oapi/api/chat/v1/model/annotation_info.py +43 -0
- dify_oapi/api/chat/v1/model/app_info.py +35 -0
- dify_oapi/api/chat/v1/model/app_parameters.py +494 -0
- dify_oapi/api/chat/v1/model/audio_to_text_request_body.py +2 -2
- dify_oapi/api/chat/v1/model/chat_file.py +53 -0
- dify_oapi/api/chat/v1/model/chat_request_body.py +26 -13
- dify_oapi/api/chat/v1/model/chat_response.py +12 -2
- dify_oapi/api/chat/v1/model/chat_types.py +65 -0
- dify_oapi/api/chat/v1/model/configure_annotation_reply_request.py +36 -0
- dify_oapi/api/chat/v1/model/configure_annotation_reply_request_body.py +39 -0
- dify_oapi/api/chat/v1/model/configure_annotation_reply_response.py +10 -0
- dify_oapi/api/chat/v1/model/conversation_info.py +57 -0
- dify_oapi/api/chat/v1/model/conversation_variable.py +55 -0
- dify_oapi/api/chat/v1/model/create_annotation_request.py +29 -0
- dify_oapi/api/chat/v1/model/create_annotation_request_body.py +32 -0
- dify_oapi/api/chat/v1/model/create_annotation_response.py +9 -0
- dify_oapi/api/chat/v1/model/delete_annotation_request.py +26 -0
- dify_oapi/api/chat/v1/model/delete_annotation_response.py +7 -0
- dify_oapi/api/chat/v1/model/feedback_info.py +75 -0
- dify_oapi/api/chat/v1/model/file_info.py +59 -0
- dify_oapi/api/chat/v1/model/get_annotation_reply_status_request.py +32 -0
- dify_oapi/api/chat/v1/model/get_annotation_reply_status_response.py +11 -0
- dify_oapi/api/chat/v1/model/get_app_info_request.py +24 -0
- dify_oapi/api/chat/v1/model/get_app_info_response.py +9 -0
- dify_oapi/api/chat/v1/model/get_app_meta_request.py +24 -0
- dify_oapi/api/chat/v1/model/get_app_meta_response.py +9 -0
- dify_oapi/api/chat/v1/model/get_app_parameters_request.py +28 -0
- dify_oapi/api/chat/v1/model/get_app_parameters_response.py +9 -0
- dify_oapi/api/chat/v1/model/get_conversation_list_request.py +25 -24
- dify_oapi/api/chat/v1/model/get_conversation_list_response.py +4 -15
- dify_oapi/api/chat/v1/model/get_conversation_variables_request.py +54 -0
- dify_oapi/api/chat/v1/model/get_conversation_variables_response.py +10 -0
- dify_oapi/api/chat/v1/model/get_feedbacks_request.py +32 -0
- dify_oapi/api/chat/v1/model/get_feedbacks_response.py +7 -0
- dify_oapi/api/chat/v1/model/get_site_settings_request.py +24 -0
- dify_oapi/api/chat/v1/model/get_site_settings_response.py +9 -0
- dify_oapi/api/chat/v1/model/get_suggested_questions_request.py +36 -0
- dify_oapi/api/chat/v1/model/{message_suggested_response.py → get_suggested_questions_response.py} +1 -1
- dify_oapi/api/chat/v1/model/list_annotations_request.py +32 -0
- dify_oapi/api/chat/v1/model/list_annotations_response.py +11 -0
- dify_oapi/api/chat/v1/model/message_file.py +46 -0
- dify_oapi/api/chat/v1/model/message_history_request.py +24 -24
- dify_oapi/api/chat/v1/model/message_history_response.py +4 -43
- dify_oapi/api/chat/v1/model/message_info.py +73 -0
- dify_oapi/api/chat/v1/model/pagination_info.py +44 -0
- dify_oapi/api/chat/v1/model/rename_conversation_request_body.py +1 -1
- dify_oapi/api/chat/v1/model/retriever_resource.py +64 -0
- dify_oapi/api/chat/v1/model/site_settings.py +92 -0
- dify_oapi/api/chat/v1/model/submit_feedback_request.py +34 -0
- dify_oapi/api/chat/v1/model/submit_feedback_request_body.py +33 -0
- dify_oapi/api/chat/v1/model/submit_feedback_response.py +5 -0
- dify_oapi/api/chat/v1/model/text_to_audio_request.py +32 -0
- dify_oapi/api/chat/v1/model/text_to_audio_request_body.py +33 -0
- dify_oapi/api/chat/v1/model/text_to_audio_response.py +7 -0
- dify_oapi/api/chat/v1/model/tool_icon.py +52 -0
- dify_oapi/api/chat/v1/model/update_annotation_request.py +33 -0
- dify_oapi/api/chat/v1/model/update_annotation_request_body.py +32 -0
- dify_oapi/api/chat/v1/model/update_annotation_response.py +9 -0
- dify_oapi/api/chat/v1/model/upload_file_request.py +54 -0
- dify_oapi/api/chat/v1/model/upload_file_request_body.py +29 -0
- dify_oapi/api/chat/v1/model/upload_file_response.py +10 -0
- dify_oapi/api/chat/v1/model/usage_info.py +84 -0
- dify_oapi/api/chat/v1/resource/__init__.py +7 -3
- dify_oapi/api/chat/v1/resource/annotation.py +77 -0
- dify_oapi/api/chat/v1/resource/app.py +47 -0
- dify_oapi/api/chat/v1/resource/audio.py +13 -0
- dify_oapi/api/chat/v1/resource/chat.py +14 -0
- dify_oapi/api/chat/v1/resource/conversation.py +55 -9
- dify_oapi/api/chat/v1/resource/feedback.py +31 -0
- dify_oapi/api/chat/v1/resource/file.py +25 -0
- dify_oapi/api/chat/v1/resource/message.py +19 -15
- dify_oapi/api/chat/v1/version.py +8 -2
- dify_oapi/api/chatflow/__init__.py +0 -0
- dify_oapi/api/chatflow/service.py +25 -0
- dify_oapi/api/chatflow/v1/__init__.py +0 -0
- dify_oapi/api/chatflow/v1/model/__init__.py +0 -0
- dify_oapi/api/chatflow/v1/model/annotation_info.py +43 -0
- dify_oapi/api/chatflow/v1/model/annotation_reply_settings_request.py +37 -0
- dify_oapi/api/chatflow/v1/model/annotation_reply_settings_request_body.py +33 -0
- dify_oapi/api/chatflow/v1/model/annotation_reply_settings_response.py +10 -0
- dify_oapi/api/chatflow/v1/model/annotation_reply_status_request.py +36 -0
- dify_oapi/api/chatflow/v1/model/annotation_reply_status_response.py +11 -0
- dify_oapi/api/chatflow/v1/model/app_info.py +33 -0
- dify_oapi/api/chatflow/v1/model/app_parameters.py +276 -0
- dify_oapi/api/chatflow/v1/model/audio_to_text_request.py +37 -0
- dify_oapi/api/chatflow/v1/model/audio_to_text_response.py +21 -0
- dify_oapi/api/chatflow/v1/model/chat_file.py +40 -0
- dify_oapi/api/chatflow/v1/model/chat_message.py +88 -0
- dify_oapi/api/chatflow/v1/model/chatflow_types.py +210 -0
- dify_oapi/api/chatflow/v1/model/conversation_info.py +53 -0
- dify_oapi/api/chatflow/v1/model/conversation_variable.py +55 -0
- dify_oapi/api/chatflow/v1/model/create_annotation_request.py +30 -0
- dify_oapi/api/chatflow/v1/model/create_annotation_request_body.py +28 -0
- dify_oapi/api/chatflow/v1/model/create_annotation_response.py +9 -0
- dify_oapi/api/chatflow/v1/model/delete_annotation_request.py +28 -0
- dify_oapi/api/chatflow/v1/model/delete_annotation_response.py +7 -0
- dify_oapi/api/chatflow/v1/model/delete_conversation_request.py +36 -0
- dify_oapi/api/chatflow/v1/model/delete_conversation_request_body.py +21 -0
- dify_oapi/api/chatflow/v1/model/delete_conversation_response.py +17 -0
- dify_oapi/api/chatflow/v1/model/feedback_info.py +75 -0
- dify_oapi/api/chatflow/v1/model/file_info.py +53 -0
- dify_oapi/api/chatflow/v1/model/get_annotations_request.py +30 -0
- dify_oapi/api/chatflow/v1/model/get_annotations_response.py +13 -0
- dify_oapi/api/chatflow/v1/model/get_app_feedbacks_request.py +30 -0
- dify_oapi/api/chatflow/v1/model/get_app_feedbacks_response.py +23 -0
- dify_oapi/api/chatflow/v1/model/get_conversation_messages_request.py +38 -0
- dify_oapi/api/chatflow/v1/model/get_conversation_messages_response.py +33 -0
- dify_oapi/api/chatflow/v1/model/get_conversation_variables_request.py +44 -0
- dify_oapi/api/chatflow/v1/model/get_conversation_variables_response.py +33 -0
- dify_oapi/api/chatflow/v1/model/get_conversations_request.py +40 -0
- dify_oapi/api/chatflow/v1/model/get_conversations_response.py +33 -0
- dify_oapi/api/chatflow/v1/model/get_info_request.py +22 -0
- dify_oapi/api/chatflow/v1/model/get_info_response.py +7 -0
- dify_oapi/api/chatflow/v1/model/get_meta_request.py +22 -0
- dify_oapi/api/chatflow/v1/model/get_meta_response.py +7 -0
- dify_oapi/api/chatflow/v1/model/get_parameters_request.py +22 -0
- dify_oapi/api/chatflow/v1/model/get_parameters_response.py +7 -0
- dify_oapi/api/chatflow/v1/model/get_site_request.py +22 -0
- dify_oapi/api/chatflow/v1/model/get_site_response.py +7 -0
- dify_oapi/api/chatflow/v1/model/get_suggested_questions_request.py +32 -0
- dify_oapi/api/chatflow/v1/model/get_suggested_questions_response.py +6 -0
- dify_oapi/api/chatflow/v1/model/message_feedback_request.py +36 -0
- dify_oapi/api/chatflow/v1/model/message_feedback_request_body.py +33 -0
- dify_oapi/api/chatflow/v1/model/message_feedback_response.py +21 -0
- dify_oapi/api/chatflow/v1/model/rename_conversation_request.py +36 -0
- dify_oapi/api/chatflow/v1/model/rename_conversation_request_body.py +31 -0
- dify_oapi/api/chatflow/v1/model/rename_conversation_response.py +53 -0
- dify_oapi/api/chatflow/v1/model/retriever_resource.py +58 -0
- dify_oapi/api/chatflow/v1/model/send_chat_message_request.py +30 -0
- dify_oapi/api/chatflow/v1/model/send_chat_message_request_body.py +54 -0
- dify_oapi/api/chatflow/v1/model/send_chat_message_response.py +7 -0
- dify_oapi/api/chatflow/v1/model/stop_chat_message_request.py +36 -0
- dify_oapi/api/chatflow/v1/model/stop_chat_message_request_body.py +21 -0
- dify_oapi/api/chatflow/v1/model/stop_chat_message_response.py +5 -0
- dify_oapi/api/chatflow/v1/model/text_to_audio_request.py +30 -0
- dify_oapi/api/chatflow/v1/model/text_to_audio_request_body.py +36 -0
- dify_oapi/api/chatflow/v1/model/text_to_audio_response.py +19 -0
- dify_oapi/api/chatflow/v1/model/tool_icon.py +48 -0
- dify_oapi/api/chatflow/v1/model/update_annotation_request.py +36 -0
- dify_oapi/api/chatflow/v1/model/update_annotation_request_body.py +28 -0
- dify_oapi/api/chatflow/v1/model/update_annotation_response.py +9 -0
- dify_oapi/api/chatflow/v1/model/upload_file_request.py +41 -0
- dify_oapi/api/chatflow/v1/model/upload_file_response.py +11 -0
- dify_oapi/api/chatflow/v1/model/usage_info.py +78 -0
- dify_oapi/api/chatflow/v1/model/user_input_form.py +141 -0
- dify_oapi/api/chatflow/v1/model/webapp_settings.py +88 -0
- dify_oapi/api/chatflow/v1/resource/__init__.py +0 -0
- dify_oapi/api/chatflow/v1/resource/annotation.py +122 -0
- dify_oapi/api/chatflow/v1/resource/application.py +76 -0
- dify_oapi/api/chatflow/v1/resource/chatflow.py +91 -0
- dify_oapi/api/chatflow/v1/resource/conversation.py +104 -0
- dify_oapi/api/chatflow/v1/resource/feedback.py +69 -0
- dify_oapi/api/chatflow/v1/resource/file.py +39 -0
- dify_oapi/api/chatflow/v1/resource/tts.py +29 -0
- dify_oapi/api/chatflow/v1/version.py +29 -0
- dify_oapi/api/knowledge/v1/model/data_source_detail.py +23 -0
- dify_oapi/api/knowledge/v1/model/dataset_info.py +10 -9
- dify_oapi/api/knowledge/v1/model/dataset_metadata.py +14 -0
- dify_oapi/api/knowledge/v1/model/document_info.py +18 -6
- dify_oapi/api/knowledge/v1/model/external_knowledge_info.py +11 -1
- dify_oapi/api/knowledge/v1/model/external_retrieval_model.py +13 -0
- dify_oapi/api/knowledge/v1/model/knowledge_types.py +2 -2
- dify_oapi/api/knowledge/v1/model/retrieval_model.py +10 -4
- dify_oapi/api/knowledge/v1/model/weights.py +27 -0
- dify_oapi/api/workflow/v1/model/chunk_workflow_event.py +74 -0
- dify_oapi/api/workflow/v1/model/input_file_object_workflow.py +76 -0
- dify_oapi/api/workflow/v1/model/node_finished_data.py +118 -0
- dify_oapi/api/workflow/v1/model/node_started_data.py +81 -0
- dify_oapi/api/workflow/v1/model/ping_data.py +28 -0
- dify_oapi/api/workflow/v1/model/run_workflow_request_body.py +1 -1
- dify_oapi/api/workflow/v1/model/text_chunk_data.py +39 -0
- dify_oapi/api/workflow/v1/model/tts_message_data.py +45 -0
- dify_oapi/api/workflow/v1/model/tts_message_end_data.py +45 -0
- dify_oapi/api/workflow/v1/model/workflow_completion_response.py +50 -0
- dify_oapi/api/workflow/v1/model/workflow_finished_data.py +93 -0
- dify_oapi/api/workflow/v1/model/workflow_started_data.py +51 -0
- dify_oapi/api/workflow/v1/model/workflow_types.py +27 -12
- dify_oapi/client.py +45 -0
- dify_oapi/core/http/transport/__init__.py +2 -1
- dify_oapi/core/http/transport/async_transport.py +73 -50
- dify_oapi/core/http/transport/connection_pool.py +131 -0
- dify_oapi/core/http/transport/sync_transport.py +73 -50
- dify_oapi/core/model/config.py +10 -0
- {dify_oapi2-0.4.0.dist-info → dify_oapi2-0.5.0.dist-info}/METADATA +44 -12
- {dify_oapi2-0.4.0.dist-info → dify_oapi2-0.5.0.dist-info}/RECORD +189 -34
- dify_oapi/api/chat/v1/model/chat_request_file.py +0 -46
- dify_oapi/api/chat/v1/model/message_suggested_request.py +0 -36
- {dify_oapi2-0.4.0.dist-info → dify_oapi2-0.5.0.dist-info}/LICENSE +0 -0
- {dify_oapi2-0.4.0.dist-info → dify_oapi2-0.5.0.dist-info}/WHEEL +0 -0
@@ -0,0 +1,73 @@
|
|
1
|
+
from typing import Any
|
2
|
+
|
3
|
+
from pydantic import BaseModel
|
4
|
+
|
5
|
+
from .agent_thought import AgentThought
|
6
|
+
from .feedback_info import FeedbackInfo
|
7
|
+
from .message_file import MessageFile
|
8
|
+
from .retriever_resource import RetrieverResource
|
9
|
+
|
10
|
+
|
11
|
+
class MessageInfo(BaseModel):
|
12
|
+
id: str | None = None
|
13
|
+
conversation_id: str | None = None
|
14
|
+
inputs: dict[str, Any] | None = None
|
15
|
+
query: str | None = None
|
16
|
+
answer: str | None = None
|
17
|
+
message_files: list[MessageFile] | None = None
|
18
|
+
feedback: FeedbackInfo | None = None
|
19
|
+
retriever_resources: list[RetrieverResource] | None = None
|
20
|
+
agent_thoughts: list[AgentThought] | None = None
|
21
|
+
created_at: int | None = None
|
22
|
+
|
23
|
+
@staticmethod
|
24
|
+
def builder() -> "MessageInfoBuilder":
|
25
|
+
return MessageInfoBuilder()
|
26
|
+
|
27
|
+
|
28
|
+
class MessageInfoBuilder:
|
29
|
+
def __init__(self):
|
30
|
+
self._message_info = MessageInfo()
|
31
|
+
|
32
|
+
def id(self, id: str) -> "MessageInfoBuilder":
|
33
|
+
self._message_info.id = id
|
34
|
+
return self
|
35
|
+
|
36
|
+
def conversation_id(self, conversation_id: str) -> "MessageInfoBuilder":
|
37
|
+
self._message_info.conversation_id = conversation_id
|
38
|
+
return self
|
39
|
+
|
40
|
+
def inputs(self, inputs: dict[str, Any]) -> "MessageInfoBuilder":
|
41
|
+
self._message_info.inputs = inputs
|
42
|
+
return self
|
43
|
+
|
44
|
+
def query(self, query: str) -> "MessageInfoBuilder":
|
45
|
+
self._message_info.query = query
|
46
|
+
return self
|
47
|
+
|
48
|
+
def answer(self, answer: str) -> "MessageInfoBuilder":
|
49
|
+
self._message_info.answer = answer
|
50
|
+
return self
|
51
|
+
|
52
|
+
def message_files(self, message_files: list[MessageFile]) -> "MessageInfoBuilder":
|
53
|
+
self._message_info.message_files = message_files
|
54
|
+
return self
|
55
|
+
|
56
|
+
def feedback(self, feedback: FeedbackInfo) -> "MessageInfoBuilder":
|
57
|
+
self._message_info.feedback = feedback
|
58
|
+
return self
|
59
|
+
|
60
|
+
def retriever_resources(self, retriever_resources: list[RetrieverResource]) -> "MessageInfoBuilder":
|
61
|
+
self._message_info.retriever_resources = retriever_resources
|
62
|
+
return self
|
63
|
+
|
64
|
+
def agent_thoughts(self, agent_thoughts: list[AgentThought]) -> "MessageInfoBuilder":
|
65
|
+
self._message_info.agent_thoughts = agent_thoughts
|
66
|
+
return self
|
67
|
+
|
68
|
+
def created_at(self, created_at: int) -> "MessageInfoBuilder":
|
69
|
+
self._message_info.created_at = created_at
|
70
|
+
return self
|
71
|
+
|
72
|
+
def build(self) -> MessageInfo:
|
73
|
+
return self._message_info
|
@@ -0,0 +1,44 @@
|
|
1
|
+
"""Pagination information model for Chat API."""
|
2
|
+
|
3
|
+
from __future__ import annotations
|
4
|
+
|
5
|
+
from pydantic import BaseModel
|
6
|
+
|
7
|
+
|
8
|
+
class PaginationInfo(BaseModel):
|
9
|
+
"""Pagination information model."""
|
10
|
+
|
11
|
+
limit: int | None = None
|
12
|
+
has_more: bool | None = None
|
13
|
+
total: int | None = None
|
14
|
+
page: int | None = None
|
15
|
+
|
16
|
+
@staticmethod
|
17
|
+
def builder() -> PaginationInfoBuilder:
|
18
|
+
return PaginationInfoBuilder()
|
19
|
+
|
20
|
+
|
21
|
+
class PaginationInfoBuilder:
|
22
|
+
"""Builder for PaginationInfo."""
|
23
|
+
|
24
|
+
def __init__(self):
|
25
|
+
self._pagination_info = PaginationInfo()
|
26
|
+
|
27
|
+
def build(self) -> PaginationInfo:
|
28
|
+
return self._pagination_info
|
29
|
+
|
30
|
+
def limit(self, limit: int) -> PaginationInfoBuilder:
|
31
|
+
self._pagination_info.limit = limit
|
32
|
+
return self
|
33
|
+
|
34
|
+
def has_more(self, has_more: bool) -> PaginationInfoBuilder:
|
35
|
+
self._pagination_info.has_more = has_more
|
36
|
+
return self
|
37
|
+
|
38
|
+
def total(self, total: int) -> PaginationInfoBuilder:
|
39
|
+
self._pagination_info.total = total
|
40
|
+
return self
|
41
|
+
|
42
|
+
def page(self, page: int) -> PaginationInfoBuilder:
|
43
|
+
self._pagination_info.page = page
|
44
|
+
return self
|
@@ -17,7 +17,7 @@ class RenameConversationRequestBodyBuilder:
|
|
17
17
|
def __init__(self):
|
18
18
|
self._rename_conversation_request_body = RenameConversationRequestBody()
|
19
19
|
|
20
|
-
def
|
20
|
+
def build(self) -> RenameConversationRequestBody:
|
21
21
|
return self._rename_conversation_request_body
|
22
22
|
|
23
23
|
def name(self, name: str) -> RenameConversationRequestBodyBuilder:
|
@@ -0,0 +1,64 @@
|
|
1
|
+
"""Retriever resource model for Chat API."""
|
2
|
+
|
3
|
+
from __future__ import annotations
|
4
|
+
|
5
|
+
from pydantic import BaseModel
|
6
|
+
|
7
|
+
|
8
|
+
class RetrieverResource(BaseModel):
|
9
|
+
"""Retriever resource model."""
|
10
|
+
|
11
|
+
position: int | None = None
|
12
|
+
dataset_id: str | None = None
|
13
|
+
dataset_name: str | None = None
|
14
|
+
document_id: str | None = None
|
15
|
+
document_name: str | None = None
|
16
|
+
segment_id: str | None = None
|
17
|
+
score: float | None = None
|
18
|
+
content: str | None = None
|
19
|
+
|
20
|
+
@staticmethod
|
21
|
+
def builder() -> RetrieverResourceBuilder:
|
22
|
+
return RetrieverResourceBuilder()
|
23
|
+
|
24
|
+
|
25
|
+
class RetrieverResourceBuilder:
|
26
|
+
"""Builder for RetrieverResource."""
|
27
|
+
|
28
|
+
def __init__(self):
|
29
|
+
self._retriever_resource = RetrieverResource()
|
30
|
+
|
31
|
+
def build(self) -> RetrieverResource:
|
32
|
+
return self._retriever_resource
|
33
|
+
|
34
|
+
def position(self, position: int) -> RetrieverResourceBuilder:
|
35
|
+
self._retriever_resource.position = position
|
36
|
+
return self
|
37
|
+
|
38
|
+
def dataset_id(self, dataset_id: str) -> RetrieverResourceBuilder:
|
39
|
+
self._retriever_resource.dataset_id = dataset_id
|
40
|
+
return self
|
41
|
+
|
42
|
+
def dataset_name(self, dataset_name: str) -> RetrieverResourceBuilder:
|
43
|
+
self._retriever_resource.dataset_name = dataset_name
|
44
|
+
return self
|
45
|
+
|
46
|
+
def document_id(self, document_id: str) -> RetrieverResourceBuilder:
|
47
|
+
self._retriever_resource.document_id = document_id
|
48
|
+
return self
|
49
|
+
|
50
|
+
def document_name(self, document_name: str) -> RetrieverResourceBuilder:
|
51
|
+
self._retriever_resource.document_name = document_name
|
52
|
+
return self
|
53
|
+
|
54
|
+
def segment_id(self, segment_id: str) -> RetrieverResourceBuilder:
|
55
|
+
self._retriever_resource.segment_id = segment_id
|
56
|
+
return self
|
57
|
+
|
58
|
+
def score(self, score: float) -> RetrieverResourceBuilder:
|
59
|
+
self._retriever_resource.score = score
|
60
|
+
return self
|
61
|
+
|
62
|
+
def content(self, content: str) -> RetrieverResourceBuilder:
|
63
|
+
self._retriever_resource.content = content
|
64
|
+
return self
|
@@ -0,0 +1,92 @@
|
|
1
|
+
from __future__ import annotations
|
2
|
+
|
3
|
+
from pydantic import BaseModel
|
4
|
+
|
5
|
+
from .chat_types import IconType
|
6
|
+
|
7
|
+
|
8
|
+
class SiteSettings(BaseModel):
|
9
|
+
"""Site settings configuration."""
|
10
|
+
|
11
|
+
title: str | None = None
|
12
|
+
chat_color_theme: str | None = None
|
13
|
+
chat_color_theme_inverted: bool | None = None
|
14
|
+
icon_type: IconType | None = None
|
15
|
+
icon: str | None = None
|
16
|
+
icon_background: str | None = None
|
17
|
+
icon_url: str | None = None
|
18
|
+
description: str | None = None
|
19
|
+
copyright: str | None = None
|
20
|
+
privacy_policy: str | None = None
|
21
|
+
custom_disclaimer: str | None = None
|
22
|
+
default_language: str | None = None
|
23
|
+
show_workflow_steps: bool | None = None
|
24
|
+
use_icon_as_answer_icon: bool | None = None
|
25
|
+
|
26
|
+
@staticmethod
|
27
|
+
def builder() -> SiteSettingsBuilder:
|
28
|
+
return SiteSettingsBuilder()
|
29
|
+
|
30
|
+
|
31
|
+
class SiteSettingsBuilder:
|
32
|
+
def __init__(self):
|
33
|
+
self._site_settings = SiteSettings()
|
34
|
+
|
35
|
+
def build(self) -> SiteSettings:
|
36
|
+
return self._site_settings
|
37
|
+
|
38
|
+
def title(self, title: str) -> SiteSettingsBuilder:
|
39
|
+
self._site_settings.title = title
|
40
|
+
return self
|
41
|
+
|
42
|
+
def chat_color_theme(self, chat_color_theme: str) -> SiteSettingsBuilder:
|
43
|
+
self._site_settings.chat_color_theme = chat_color_theme
|
44
|
+
return self
|
45
|
+
|
46
|
+
def chat_color_theme_inverted(self, chat_color_theme_inverted: bool) -> SiteSettingsBuilder:
|
47
|
+
self._site_settings.chat_color_theme_inverted = chat_color_theme_inverted
|
48
|
+
return self
|
49
|
+
|
50
|
+
def icon_type(self, icon_type: IconType) -> SiteSettingsBuilder:
|
51
|
+
self._site_settings.icon_type = icon_type
|
52
|
+
return self
|
53
|
+
|
54
|
+
def icon(self, icon: str) -> SiteSettingsBuilder:
|
55
|
+
self._site_settings.icon = icon
|
56
|
+
return self
|
57
|
+
|
58
|
+
def icon_background(self, icon_background: str) -> SiteSettingsBuilder:
|
59
|
+
self._site_settings.icon_background = icon_background
|
60
|
+
return self
|
61
|
+
|
62
|
+
def icon_url(self, icon_url: str) -> SiteSettingsBuilder:
|
63
|
+
self._site_settings.icon_url = icon_url
|
64
|
+
return self
|
65
|
+
|
66
|
+
def description(self, description: str) -> SiteSettingsBuilder:
|
67
|
+
self._site_settings.description = description
|
68
|
+
return self
|
69
|
+
|
70
|
+
def copyright(self, copyright: str) -> SiteSettingsBuilder:
|
71
|
+
self._site_settings.copyright = copyright
|
72
|
+
return self
|
73
|
+
|
74
|
+
def privacy_policy(self, privacy_policy: str) -> SiteSettingsBuilder:
|
75
|
+
self._site_settings.privacy_policy = privacy_policy
|
76
|
+
return self
|
77
|
+
|
78
|
+
def custom_disclaimer(self, custom_disclaimer: str) -> SiteSettingsBuilder:
|
79
|
+
self._site_settings.custom_disclaimer = custom_disclaimer
|
80
|
+
return self
|
81
|
+
|
82
|
+
def default_language(self, default_language: str) -> SiteSettingsBuilder:
|
83
|
+
self._site_settings.default_language = default_language
|
84
|
+
return self
|
85
|
+
|
86
|
+
def show_workflow_steps(self, show_workflow_steps: bool) -> SiteSettingsBuilder:
|
87
|
+
self._site_settings.show_workflow_steps = show_workflow_steps
|
88
|
+
return self
|
89
|
+
|
90
|
+
def use_icon_as_answer_icon(self, use_icon_as_answer_icon: bool) -> SiteSettingsBuilder:
|
91
|
+
self._site_settings.use_icon_as_answer_icon = use_icon_as_answer_icon
|
92
|
+
return self
|
@@ -0,0 +1,34 @@
|
|
1
|
+
from dify_oapi.core.enum import HttpMethod
|
2
|
+
from dify_oapi.core.model.base_request import BaseRequest
|
3
|
+
|
4
|
+
from .submit_feedback_request_body import SubmitFeedbackRequestBody
|
5
|
+
|
6
|
+
|
7
|
+
class SubmitFeedbackRequest(BaseRequest):
|
8
|
+
def __init__(self) -> None:
|
9
|
+
super().__init__()
|
10
|
+
self.request_body: SubmitFeedbackRequestBody | None = None
|
11
|
+
|
12
|
+
@staticmethod
|
13
|
+
def builder() -> "SubmitFeedbackRequestBuilder":
|
14
|
+
return SubmitFeedbackRequestBuilder()
|
15
|
+
|
16
|
+
|
17
|
+
class SubmitFeedbackRequestBuilder:
|
18
|
+
def __init__(self) -> None:
|
19
|
+
submit_feedback_request = SubmitFeedbackRequest()
|
20
|
+
submit_feedback_request.http_method = HttpMethod.POST
|
21
|
+
submit_feedback_request.uri = "/v1/messages/:message_id/feedbacks"
|
22
|
+
self._submit_feedback_request = submit_feedback_request
|
23
|
+
|
24
|
+
def message_id(self, message_id: str) -> "SubmitFeedbackRequestBuilder":
|
25
|
+
self._submit_feedback_request.paths["message_id"] = message_id
|
26
|
+
return self
|
27
|
+
|
28
|
+
def request_body(self, request_body: SubmitFeedbackRequestBody) -> "SubmitFeedbackRequestBuilder":
|
29
|
+
self._submit_feedback_request.request_body = request_body
|
30
|
+
self._submit_feedback_request.body = request_body.model_dump(exclude_none=True, mode="json")
|
31
|
+
return self
|
32
|
+
|
33
|
+
def build(self) -> SubmitFeedbackRequest:
|
34
|
+
return self._submit_feedback_request
|
@@ -0,0 +1,33 @@
|
|
1
|
+
from pydantic import BaseModel
|
2
|
+
|
3
|
+
from .chat_types import Rating
|
4
|
+
|
5
|
+
|
6
|
+
class SubmitFeedbackRequestBody(BaseModel):
|
7
|
+
rating: Rating | None = None
|
8
|
+
user: str
|
9
|
+
content: str | None = None
|
10
|
+
|
11
|
+
@staticmethod
|
12
|
+
def builder() -> "SubmitFeedbackRequestBodyBuilder":
|
13
|
+
return SubmitFeedbackRequestBodyBuilder()
|
14
|
+
|
15
|
+
|
16
|
+
class SubmitFeedbackRequestBodyBuilder:
|
17
|
+
def __init__(self) -> None:
|
18
|
+
self._submit_feedback_request_body = SubmitFeedbackRequestBody(user="")
|
19
|
+
|
20
|
+
def rating(self, rating: Rating | None) -> "SubmitFeedbackRequestBodyBuilder":
|
21
|
+
self._submit_feedback_request_body.rating = rating
|
22
|
+
return self
|
23
|
+
|
24
|
+
def user(self, user: str) -> "SubmitFeedbackRequestBodyBuilder":
|
25
|
+
self._submit_feedback_request_body.user = user
|
26
|
+
return self
|
27
|
+
|
28
|
+
def content(self, content: str | None) -> "SubmitFeedbackRequestBodyBuilder":
|
29
|
+
self._submit_feedback_request_body.content = content
|
30
|
+
return self
|
31
|
+
|
32
|
+
def build(self) -> SubmitFeedbackRequestBody:
|
33
|
+
return self._submit_feedback_request_body
|
@@ -0,0 +1,32 @@
|
|
1
|
+
from __future__ import annotations
|
2
|
+
|
3
|
+
from dify_oapi.core.enum import HttpMethod
|
4
|
+
from dify_oapi.core.model.base_request import BaseRequest
|
5
|
+
|
6
|
+
from .text_to_audio_request_body import TextToAudioRequestBody
|
7
|
+
|
8
|
+
|
9
|
+
class TextToAudioRequest(BaseRequest):
|
10
|
+
def __init__(self):
|
11
|
+
super().__init__()
|
12
|
+
self.request_body: TextToAudioRequestBody | None = None
|
13
|
+
|
14
|
+
@staticmethod
|
15
|
+
def builder() -> TextToAudioRequestBuilder:
|
16
|
+
return TextToAudioRequestBuilder()
|
17
|
+
|
18
|
+
|
19
|
+
class TextToAudioRequestBuilder:
|
20
|
+
def __init__(self):
|
21
|
+
text_to_audio_request = TextToAudioRequest()
|
22
|
+
text_to_audio_request.http_method = HttpMethod.POST
|
23
|
+
text_to_audio_request.uri = "/v1/text-to-audio"
|
24
|
+
self._text_to_audio_request = text_to_audio_request
|
25
|
+
|
26
|
+
def build(self) -> TextToAudioRequest:
|
27
|
+
return self._text_to_audio_request
|
28
|
+
|
29
|
+
def request_body(self, request_body: TextToAudioRequestBody) -> TextToAudioRequestBuilder:
|
30
|
+
self._text_to_audio_request.request_body = request_body
|
31
|
+
self._text_to_audio_request.body = request_body.model_dump(exclude_none=True, mode="json")
|
32
|
+
return self
|
@@ -0,0 +1,33 @@
|
|
1
|
+
from __future__ import annotations
|
2
|
+
|
3
|
+
from pydantic import BaseModel
|
4
|
+
|
5
|
+
|
6
|
+
class TextToAudioRequestBody(BaseModel):
|
7
|
+
message_id: str | None = None
|
8
|
+
text: str | None = None
|
9
|
+
user: str
|
10
|
+
|
11
|
+
@staticmethod
|
12
|
+
def builder() -> TextToAudioRequestBodyBuilder:
|
13
|
+
return TextToAudioRequestBodyBuilder()
|
14
|
+
|
15
|
+
|
16
|
+
class TextToAudioRequestBodyBuilder:
|
17
|
+
def __init__(self):
|
18
|
+
self._text_to_audio_request_body = TextToAudioRequestBody(user="")
|
19
|
+
|
20
|
+
def build(self) -> TextToAudioRequestBody:
|
21
|
+
return self._text_to_audio_request_body
|
22
|
+
|
23
|
+
def message_id(self, message_id: str) -> TextToAudioRequestBodyBuilder:
|
24
|
+
self._text_to_audio_request_body.message_id = message_id
|
25
|
+
return self
|
26
|
+
|
27
|
+
def text(self, text: str) -> TextToAudioRequestBodyBuilder:
|
28
|
+
self._text_to_audio_request_body.text = text
|
29
|
+
return self
|
30
|
+
|
31
|
+
def user(self, user: str) -> TextToAudioRequestBodyBuilder:
|
32
|
+
self._text_to_audio_request_body.user = user
|
33
|
+
return self
|
@@ -0,0 +1,52 @@
|
|
1
|
+
from __future__ import annotations
|
2
|
+
|
3
|
+
from pydantic import BaseModel
|
4
|
+
|
5
|
+
|
6
|
+
class ToolIconDetail(BaseModel):
|
7
|
+
"""Tool icon detail configuration."""
|
8
|
+
|
9
|
+
background: str
|
10
|
+
content: str
|
11
|
+
|
12
|
+
@staticmethod
|
13
|
+
def builder() -> ToolIconDetailBuilder:
|
14
|
+
return ToolIconDetailBuilder()
|
15
|
+
|
16
|
+
|
17
|
+
class ToolIconDetailBuilder:
|
18
|
+
def __init__(self):
|
19
|
+
self._tool_icon_detail = ToolIconDetail(background="", content="")
|
20
|
+
|
21
|
+
def build(self) -> ToolIconDetail:
|
22
|
+
return self._tool_icon_detail
|
23
|
+
|
24
|
+
def background(self, background: str) -> ToolIconDetailBuilder:
|
25
|
+
self._tool_icon_detail.background = background
|
26
|
+
return self
|
27
|
+
|
28
|
+
def content(self, content: str) -> ToolIconDetailBuilder:
|
29
|
+
self._tool_icon_detail.content = content
|
30
|
+
return self
|
31
|
+
|
32
|
+
|
33
|
+
class ToolIcon(BaseModel):
|
34
|
+
"""Tool icon configuration."""
|
35
|
+
|
36
|
+
tool_icons: dict[str, str | ToolIconDetail] | None = None
|
37
|
+
|
38
|
+
@staticmethod
|
39
|
+
def builder() -> ToolIconBuilder:
|
40
|
+
return ToolIconBuilder()
|
41
|
+
|
42
|
+
|
43
|
+
class ToolIconBuilder:
|
44
|
+
def __init__(self):
|
45
|
+
self._tool_icon = ToolIcon()
|
46
|
+
|
47
|
+
def build(self) -> ToolIcon:
|
48
|
+
return self._tool_icon
|
49
|
+
|
50
|
+
def tool_icons(self, tool_icons: dict[str, str | ToolIconDetail]) -> ToolIconBuilder:
|
51
|
+
self._tool_icon.tool_icons = tool_icons
|
52
|
+
return self
|
@@ -0,0 +1,33 @@
|
|
1
|
+
from dify_oapi.core.enum import HttpMethod
|
2
|
+
from dify_oapi.core.model.base_request import BaseRequest
|
3
|
+
|
4
|
+
from .update_annotation_request_body import UpdateAnnotationRequestBody
|
5
|
+
|
6
|
+
|
7
|
+
class UpdateAnnotationRequest(BaseRequest):
|
8
|
+
def __init__(self) -> None:
|
9
|
+
super().__init__()
|
10
|
+
self.request_body: UpdateAnnotationRequestBody | None = None
|
11
|
+
|
12
|
+
@staticmethod
|
13
|
+
def builder() -> "UpdateAnnotationRequestBuilder":
|
14
|
+
return UpdateAnnotationRequestBuilder()
|
15
|
+
|
16
|
+
|
17
|
+
class UpdateAnnotationRequestBuilder:
|
18
|
+
def __init__(self) -> None:
|
19
|
+
update_annotation_request = UpdateAnnotationRequest()
|
20
|
+
update_annotation_request.http_method = HttpMethod.PUT
|
21
|
+
update_annotation_request.uri = "/v1/apps/annotations/:annotation_id"
|
22
|
+
self._update_annotation_request = update_annotation_request
|
23
|
+
|
24
|
+
def annotation_id(self, annotation_id: str) -> "UpdateAnnotationRequestBuilder":
|
25
|
+
self._update_annotation_request.paths["annotation_id"] = annotation_id
|
26
|
+
return self
|
27
|
+
|
28
|
+
def request_body(self, request_body: UpdateAnnotationRequestBody) -> "UpdateAnnotationRequestBuilder":
|
29
|
+
self._update_annotation_request.request_body = request_body
|
30
|
+
return self
|
31
|
+
|
32
|
+
def build(self) -> UpdateAnnotationRequest:
|
33
|
+
return self._update_annotation_request
|
@@ -0,0 +1,32 @@
|
|
1
|
+
from __future__ import annotations
|
2
|
+
|
3
|
+
from pydantic import BaseModel
|
4
|
+
|
5
|
+
|
6
|
+
class UpdateAnnotationRequestBody(BaseModel):
|
7
|
+
"""Request body for updating annotation."""
|
8
|
+
|
9
|
+
question: str = ""
|
10
|
+
answer: str = ""
|
11
|
+
|
12
|
+
@staticmethod
|
13
|
+
def builder() -> UpdateAnnotationRequestBodyBuilder:
|
14
|
+
return UpdateAnnotationRequestBodyBuilder()
|
15
|
+
|
16
|
+
|
17
|
+
class UpdateAnnotationRequestBodyBuilder:
|
18
|
+
"""Builder for UpdateAnnotationRequestBody."""
|
19
|
+
|
20
|
+
def __init__(self):
|
21
|
+
self._update_annotation_request_body = UpdateAnnotationRequestBody()
|
22
|
+
|
23
|
+
def build(self) -> UpdateAnnotationRequestBody:
|
24
|
+
return self._update_annotation_request_body
|
25
|
+
|
26
|
+
def question(self, question: str) -> UpdateAnnotationRequestBodyBuilder:
|
27
|
+
self._update_annotation_request_body.question = question
|
28
|
+
return self
|
29
|
+
|
30
|
+
def answer(self, answer: str) -> UpdateAnnotationRequestBodyBuilder:
|
31
|
+
self._update_annotation_request_body.answer = answer
|
32
|
+
return self
|
@@ -0,0 +1,54 @@
|
|
1
|
+
"""Upload file request model."""
|
2
|
+
|
3
|
+
from __future__ import annotations
|
4
|
+
|
5
|
+
from io import BytesIO
|
6
|
+
|
7
|
+
from dify_oapi.core.enum import HttpMethod
|
8
|
+
from dify_oapi.core.model.base_request import BaseRequest
|
9
|
+
|
10
|
+
from .upload_file_request_body import UploadFileRequestBody
|
11
|
+
|
12
|
+
|
13
|
+
class UploadFileRequest(BaseRequest):
|
14
|
+
"""Request model for upload file API."""
|
15
|
+
|
16
|
+
def __init__(self) -> None:
|
17
|
+
super().__init__()
|
18
|
+
self.request_body: UploadFileRequestBody | None = None
|
19
|
+
self.file: BytesIO | None = None
|
20
|
+
|
21
|
+
@staticmethod
|
22
|
+
def builder() -> UploadFileRequestBuilder:
|
23
|
+
return UploadFileRequestBuilder()
|
24
|
+
|
25
|
+
|
26
|
+
class UploadFileRequestBuilder:
|
27
|
+
"""Builder for UploadFileRequest."""
|
28
|
+
|
29
|
+
def __init__(self) -> None:
|
30
|
+
upload_file_request = UploadFileRequest()
|
31
|
+
upload_file_request.http_method = HttpMethod.POST
|
32
|
+
upload_file_request.uri = "/v1/files/upload"
|
33
|
+
self._upload_file_request = upload_file_request
|
34
|
+
|
35
|
+
def build(self) -> UploadFileRequest:
|
36
|
+
return self._upload_file_request
|
37
|
+
|
38
|
+
def file(self, file: BytesIO, file_name: str | None = None) -> UploadFileRequestBuilder:
|
39
|
+
"""Set the file to upload."""
|
40
|
+
self._upload_file_request.file = file
|
41
|
+
file_name = file_name or "upload"
|
42
|
+
self._upload_file_request.files = {"file": (file_name, file)}
|
43
|
+
return self
|
44
|
+
|
45
|
+
def request_body(self, request_body: UploadFileRequestBody) -> UploadFileRequestBuilder:
|
46
|
+
"""Set the request body."""
|
47
|
+
self._upload_file_request.request_body = request_body
|
48
|
+
if request_body.user:
|
49
|
+
self._upload_file_request.body = {"user": request_body.user}
|
50
|
+
return self
|
51
|
+
|
52
|
+
@staticmethod
|
53
|
+
def builder() -> UploadFileRequestBuilder:
|
54
|
+
return UploadFileRequestBuilder()
|
@@ -0,0 +1,29 @@
|
|
1
|
+
"""Upload file request body model."""
|
2
|
+
|
3
|
+
from __future__ import annotations
|
4
|
+
|
5
|
+
from pydantic import BaseModel
|
6
|
+
|
7
|
+
|
8
|
+
class UploadFileRequestBody(BaseModel):
|
9
|
+
"""Request body for upload file API."""
|
10
|
+
|
11
|
+
user: str
|
12
|
+
|
13
|
+
@staticmethod
|
14
|
+
def builder() -> UploadFileRequestBodyBuilder:
|
15
|
+
return UploadFileRequestBodyBuilder()
|
16
|
+
|
17
|
+
|
18
|
+
class UploadFileRequestBodyBuilder:
|
19
|
+
"""Builder for UploadFileRequestBody."""
|
20
|
+
|
21
|
+
def __init__(self) -> None:
|
22
|
+
self._upload_file_request_body = UploadFileRequestBody(user="")
|
23
|
+
|
24
|
+
def build(self) -> UploadFileRequestBody:
|
25
|
+
return self._upload_file_request_body
|
26
|
+
|
27
|
+
def user(self, user: str) -> UploadFileRequestBodyBuilder:
|
28
|
+
self._upload_file_request_body.user = user
|
29
|
+
return self
|
@@ -0,0 +1,10 @@
|
|
1
|
+
"""Upload file response model."""
|
2
|
+
|
3
|
+
from dify_oapi.api.chat.v1.model.file_info import FileInfo
|
4
|
+
from dify_oapi.core.model.base_response import BaseResponse
|
5
|
+
|
6
|
+
|
7
|
+
class UploadFileResponse(FileInfo, BaseResponse):
|
8
|
+
"""Response model for upload file API."""
|
9
|
+
|
10
|
+
pass
|