選択できるのは25トピックまでです。 トピックは、先頭が英数字で、英数字とダッシュ('-')を使用した35文字以内のものにしてください。

__init__.py 8.1KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214
  1. from flask import Blueprint
  2. from flask_restx import Namespace
  3. from libs.external_api import ExternalApi
  4. from .app.app_import import AppImportApi, AppImportCheckDependenciesApi, AppImportConfirmApi
  5. from .explore.audio import ChatAudioApi, ChatTextApi
  6. from .explore.completion import ChatApi, ChatStopApi, CompletionApi, CompletionStopApi
  7. from .explore.conversation import (
  8. ConversationApi,
  9. ConversationListApi,
  10. ConversationPinApi,
  11. ConversationRenameApi,
  12. ConversationUnPinApi,
  13. )
  14. from .explore.message import (
  15. MessageFeedbackApi,
  16. MessageListApi,
  17. MessageMoreLikeThisApi,
  18. MessageSuggestedQuestionApi,
  19. )
  20. from .explore.workflow import (
  21. InstalledAppWorkflowRunApi,
  22. InstalledAppWorkflowTaskStopApi,
  23. )
  24. from .files import FileApi, FilePreviewApi, FileSupportTypeApi
  25. from .remote_files import RemoteFileInfoApi, RemoteFileUploadApi
  26. bp = Blueprint("console", __name__, url_prefix="/console/api")
  27. api = ExternalApi(
  28. bp,
  29. version="1.0",
  30. title="Console API",
  31. description="Console management APIs for app configuration, monitoring, and administration",
  32. )
  33. # Create namespace
  34. console_ns = Namespace("console", description="Console management API operations", path="/")
  35. # File
  36. api.add_resource(FileApi, "/files/upload")
  37. api.add_resource(FilePreviewApi, "/files/<uuid:file_id>/preview")
  38. api.add_resource(FileSupportTypeApi, "/files/support-type")
  39. # Remote files
  40. api.add_resource(RemoteFileInfoApi, "/remote-files/<path:url>")
  41. api.add_resource(RemoteFileUploadApi, "/remote-files/upload")
  42. # Import App
  43. api.add_resource(AppImportApi, "/apps/imports")
  44. api.add_resource(AppImportConfirmApi, "/apps/imports/<string:import_id>/confirm")
  45. api.add_resource(AppImportCheckDependenciesApi, "/apps/imports/<string:app_id>/check-dependencies")
  46. # Import other controllers
  47. from . import (
  48. admin, # pyright: ignore[reportUnusedImport]
  49. apikey, # pyright: ignore[reportUnusedImport]
  50. extension, # pyright: ignore[reportUnusedImport]
  51. feature, # pyright: ignore[reportUnusedImport]
  52. init_validate, # pyright: ignore[reportUnusedImport]
  53. ping, # pyright: ignore[reportUnusedImport]
  54. setup, # pyright: ignore[reportUnusedImport]
  55. version, # pyright: ignore[reportUnusedImport]
  56. )
  57. # Import app controllers
  58. from .app import (
  59. advanced_prompt_template, # pyright: ignore[reportUnusedImport]
  60. agent, # pyright: ignore[reportUnusedImport]
  61. annotation, # pyright: ignore[reportUnusedImport]
  62. app, # pyright: ignore[reportUnusedImport]
  63. audio, # pyright: ignore[reportUnusedImport]
  64. completion, # pyright: ignore[reportUnusedImport]
  65. conversation, # pyright: ignore[reportUnusedImport]
  66. conversation_variables, # pyright: ignore[reportUnusedImport]
  67. generator, # pyright: ignore[reportUnusedImport]
  68. mcp_server, # pyright: ignore[reportUnusedImport]
  69. message, # pyright: ignore[reportUnusedImport]
  70. model_config, # pyright: ignore[reportUnusedImport]
  71. ops_trace, # pyright: ignore[reportUnusedImport]
  72. site, # pyright: ignore[reportUnusedImport]
  73. statistic, # pyright: ignore[reportUnusedImport]
  74. workflow, # pyright: ignore[reportUnusedImport]
  75. workflow_app_log, # pyright: ignore[reportUnusedImport]
  76. workflow_draft_variable, # pyright: ignore[reportUnusedImport]
  77. workflow_run, # pyright: ignore[reportUnusedImport]
  78. workflow_statistic, # pyright: ignore[reportUnusedImport]
  79. )
  80. # Import auth controllers
  81. from .auth import (
  82. activate, # pyright: ignore[reportUnusedImport]
  83. data_source_bearer_auth, # pyright: ignore[reportUnusedImport]
  84. data_source_oauth, # pyright: ignore[reportUnusedImport]
  85. email_register, # pyright: ignore[reportUnusedImport]
  86. forgot_password, # pyright: ignore[reportUnusedImport]
  87. login, # pyright: ignore[reportUnusedImport]
  88. oauth, # pyright: ignore[reportUnusedImport]
  89. oauth_server, # pyright: ignore[reportUnusedImport]
  90. )
  91. # Import billing controllers
  92. from .billing import billing, compliance # pyright: ignore[reportUnusedImport]
  93. # Import datasets controllers
  94. from .datasets import (
  95. data_source, # pyright: ignore[reportUnusedImport]
  96. datasets, # pyright: ignore[reportUnusedImport]
  97. datasets_document, # pyright: ignore[reportUnusedImport]
  98. datasets_segments, # pyright: ignore[reportUnusedImport]
  99. external, # pyright: ignore[reportUnusedImport]
  100. hit_testing, # pyright: ignore[reportUnusedImport]
  101. metadata, # pyright: ignore[reportUnusedImport]
  102. website, # pyright: ignore[reportUnusedImport]
  103. )
  104. # Import explore controllers
  105. from .explore import (
  106. installed_app, # pyright: ignore[reportUnusedImport]
  107. parameter, # pyright: ignore[reportUnusedImport]
  108. recommended_app, # pyright: ignore[reportUnusedImport]
  109. saved_message, # pyright: ignore[reportUnusedImport]
  110. )
  111. # Import tag controllers
  112. from .tag import tags # pyright: ignore[reportUnusedImport]
  113. # Import workspace controllers
  114. from .workspace import (
  115. account, # pyright: ignore[reportUnusedImport]
  116. agent_providers, # pyright: ignore[reportUnusedImport]
  117. endpoint, # pyright: ignore[reportUnusedImport]
  118. load_balancing_config, # pyright: ignore[reportUnusedImport]
  119. members, # pyright: ignore[reportUnusedImport]
  120. model_providers, # pyright: ignore[reportUnusedImport]
  121. models, # pyright: ignore[reportUnusedImport]
  122. plugin, # pyright: ignore[reportUnusedImport]
  123. tool_providers, # pyright: ignore[reportUnusedImport]
  124. workspace, # pyright: ignore[reportUnusedImport]
  125. )
  126. # Explore Audio
  127. api.add_resource(ChatAudioApi, "/installed-apps/<uuid:installed_app_id>/audio-to-text", endpoint="installed_app_audio")
  128. api.add_resource(ChatTextApi, "/installed-apps/<uuid:installed_app_id>/text-to-audio", endpoint="installed_app_text")
  129. # Explore Completion
  130. api.add_resource(
  131. CompletionApi, "/installed-apps/<uuid:installed_app_id>/completion-messages", endpoint="installed_app_completion"
  132. )
  133. api.add_resource(
  134. CompletionStopApi,
  135. "/installed-apps/<uuid:installed_app_id>/completion-messages/<string:task_id>/stop",
  136. endpoint="installed_app_stop_completion",
  137. )
  138. api.add_resource(
  139. ChatApi, "/installed-apps/<uuid:installed_app_id>/chat-messages", endpoint="installed_app_chat_completion"
  140. )
  141. api.add_resource(
  142. ChatStopApi,
  143. "/installed-apps/<uuid:installed_app_id>/chat-messages/<string:task_id>/stop",
  144. endpoint="installed_app_stop_chat_completion",
  145. )
  146. # Explore Conversation
  147. api.add_resource(
  148. ConversationRenameApi,
  149. "/installed-apps/<uuid:installed_app_id>/conversations/<uuid:c_id>/name",
  150. endpoint="installed_app_conversation_rename",
  151. )
  152. api.add_resource(
  153. ConversationListApi, "/installed-apps/<uuid:installed_app_id>/conversations", endpoint="installed_app_conversations"
  154. )
  155. api.add_resource(
  156. ConversationApi,
  157. "/installed-apps/<uuid:installed_app_id>/conversations/<uuid:c_id>",
  158. endpoint="installed_app_conversation",
  159. )
  160. api.add_resource(
  161. ConversationPinApi,
  162. "/installed-apps/<uuid:installed_app_id>/conversations/<uuid:c_id>/pin",
  163. endpoint="installed_app_conversation_pin",
  164. )
  165. api.add_resource(
  166. ConversationUnPinApi,
  167. "/installed-apps/<uuid:installed_app_id>/conversations/<uuid:c_id>/unpin",
  168. endpoint="installed_app_conversation_unpin",
  169. )
  170. # Explore Message
  171. api.add_resource(MessageListApi, "/installed-apps/<uuid:installed_app_id>/messages", endpoint="installed_app_messages")
  172. api.add_resource(
  173. MessageFeedbackApi,
  174. "/installed-apps/<uuid:installed_app_id>/messages/<uuid:message_id>/feedbacks",
  175. endpoint="installed_app_message_feedback",
  176. )
  177. api.add_resource(
  178. MessageMoreLikeThisApi,
  179. "/installed-apps/<uuid:installed_app_id>/messages/<uuid:message_id>/more-like-this",
  180. endpoint="installed_app_more_like_this",
  181. )
  182. api.add_resource(
  183. MessageSuggestedQuestionApi,
  184. "/installed-apps/<uuid:installed_app_id>/messages/<uuid:message_id>/suggested-questions",
  185. endpoint="installed_app_suggested_question",
  186. )
  187. # Explore Workflow
  188. api.add_resource(InstalledAppWorkflowRunApi, "/installed-apps/<uuid:installed_app_id>/workflows/run")
  189. api.add_resource(
  190. InstalledAppWorkflowTaskStopApi, "/installed-apps/<uuid:installed_app_id>/workflows/tasks/<string:task_id>/stop"
  191. )
  192. api.add_namespace(console_ns)