from flask import Blueprint from flask_restx import Namespace from libs.external_api import ExternalApi from .app.app_import import AppImportApi, AppImportCheckDependenciesApi, AppImportConfirmApi from .explore.audio import ChatAudioApi, ChatTextApi from .explore.completion import ChatApi, ChatStopApi, CompletionApi, CompletionStopApi from .explore.conversation import ( ConversationApi, ConversationListApi, ConversationPinApi, ConversationRenameApi, ConversationUnPinApi, ) from .explore.message import ( MessageFeedbackApi, MessageListApi, MessageMoreLikeThisApi, MessageSuggestedQuestionApi, ) from .explore.workflow import ( InstalledAppWorkflowRunApi, InstalledAppWorkflowTaskStopApi, ) from .files import FileApi, FilePreviewApi, FileSupportTypeApi from .remote_files import RemoteFileInfoApi, RemoteFileUploadApi bp = Blueprint("console", __name__, url_prefix="/console/api") api = ExternalApi( bp, version="1.0", title="Console API", description="Console management APIs for app configuration, monitoring, and administration", ) # Create namespace console_ns = Namespace("console", description="Console management API operations", path="/") # File api.add_resource(FileApi, "/files/upload") api.add_resource(FilePreviewApi, "/files//preview") api.add_resource(FileSupportTypeApi, "/files/support-type") # Remote files api.add_resource(RemoteFileInfoApi, "/remote-files/") api.add_resource(RemoteFileUploadApi, "/remote-files/upload") # Import App api.add_resource(AppImportApi, "/apps/imports") api.add_resource(AppImportConfirmApi, "/apps/imports//confirm") api.add_resource(AppImportCheckDependenciesApi, "/apps/imports//check-dependencies") # Import other controllers from . import ( admin, # pyright: ignore[reportUnusedImport] apikey, # pyright: ignore[reportUnusedImport] extension, # pyright: ignore[reportUnusedImport] feature, # pyright: ignore[reportUnusedImport] init_validate, # pyright: ignore[reportUnusedImport] ping, # pyright: ignore[reportUnusedImport] setup, # pyright: ignore[reportUnusedImport] version, # pyright: ignore[reportUnusedImport] ) # Import app controllers from .app import ( advanced_prompt_template, # pyright: ignore[reportUnusedImport] agent, # pyright: ignore[reportUnusedImport] annotation, # pyright: ignore[reportUnusedImport] app, # pyright: ignore[reportUnusedImport] audio, # pyright: ignore[reportUnusedImport] completion, # pyright: ignore[reportUnusedImport] conversation, # pyright: ignore[reportUnusedImport] conversation_variables, # pyright: ignore[reportUnusedImport] generator, # pyright: ignore[reportUnusedImport] mcp_server, # pyright: ignore[reportUnusedImport] message, # pyright: ignore[reportUnusedImport] model_config, # pyright: ignore[reportUnusedImport] ops_trace, # pyright: ignore[reportUnusedImport] site, # pyright: ignore[reportUnusedImport] statistic, # pyright: ignore[reportUnusedImport] workflow, # pyright: ignore[reportUnusedImport] workflow_app_log, # pyright: ignore[reportUnusedImport] workflow_draft_variable, # pyright: ignore[reportUnusedImport] workflow_run, # pyright: ignore[reportUnusedImport] workflow_statistic, # pyright: ignore[reportUnusedImport] ) # Import auth controllers from .auth import ( activate, # pyright: ignore[reportUnusedImport] data_source_bearer_auth, # pyright: ignore[reportUnusedImport] data_source_oauth, # pyright: ignore[reportUnusedImport] forgot_password, # pyright: ignore[reportUnusedImport] login, # pyright: ignore[reportUnusedImport] oauth, # pyright: ignore[reportUnusedImport] oauth_server, # pyright: ignore[reportUnusedImport] ) # Import billing controllers from .billing import billing, compliance # pyright: ignore[reportUnusedImport] # Import datasets controllers from .datasets import ( data_source, # pyright: ignore[reportUnusedImport] datasets, # pyright: ignore[reportUnusedImport] datasets_document, # pyright: ignore[reportUnusedImport] datasets_segments, # pyright: ignore[reportUnusedImport] external, # pyright: ignore[reportUnusedImport] hit_testing, # pyright: ignore[reportUnusedImport] metadata, # pyright: ignore[reportUnusedImport] website, # pyright: ignore[reportUnusedImport] ) # Import explore controllers from .explore import ( installed_app, # pyright: ignore[reportUnusedImport] parameter, # pyright: ignore[reportUnusedImport] recommended_app, # pyright: ignore[reportUnusedImport] saved_message, # pyright: ignore[reportUnusedImport] ) # Import tag controllers from .tag import tags # pyright: ignore[reportUnusedImport] # Import workspace controllers from .workspace import ( account, # pyright: ignore[reportUnusedImport] agent_providers, # pyright: ignore[reportUnusedImport] endpoint, # pyright: ignore[reportUnusedImport] load_balancing_config, # pyright: ignore[reportUnusedImport] members, # pyright: ignore[reportUnusedImport] model_providers, # pyright: ignore[reportUnusedImport] models, # pyright: ignore[reportUnusedImport] plugin, # pyright: ignore[reportUnusedImport] tool_providers, # pyright: ignore[reportUnusedImport] workspace, # pyright: ignore[reportUnusedImport] ) # Explore Audio api.add_resource(ChatAudioApi, "/installed-apps//audio-to-text", endpoint="installed_app_audio") api.add_resource(ChatTextApi, "/installed-apps//text-to-audio", endpoint="installed_app_text") # Explore Completion api.add_resource( CompletionApi, "/installed-apps//completion-messages", endpoint="installed_app_completion" ) api.add_resource( CompletionStopApi, "/installed-apps//completion-messages//stop", endpoint="installed_app_stop_completion", ) api.add_resource( ChatApi, "/installed-apps//chat-messages", endpoint="installed_app_chat_completion" ) api.add_resource( ChatStopApi, "/installed-apps//chat-messages//stop", endpoint="installed_app_stop_chat_completion", ) # Explore Conversation api.add_resource( ConversationRenameApi, "/installed-apps//conversations//name", endpoint="installed_app_conversation_rename", ) api.add_resource( ConversationListApi, "/installed-apps//conversations", endpoint="installed_app_conversations" ) api.add_resource( ConversationApi, "/installed-apps//conversations/", endpoint="installed_app_conversation", ) api.add_resource( ConversationPinApi, "/installed-apps//conversations//pin", endpoint="installed_app_conversation_pin", ) api.add_resource( ConversationUnPinApi, "/installed-apps//conversations//unpin", endpoint="installed_app_conversation_unpin", ) # Explore Message api.add_resource(MessageListApi, "/installed-apps//messages", endpoint="installed_app_messages") api.add_resource( MessageFeedbackApi, "/installed-apps//messages//feedbacks", endpoint="installed_app_message_feedback", ) api.add_resource( MessageMoreLikeThisApi, "/installed-apps//messages//more-like-this", endpoint="installed_app_more_like_this", ) api.add_resource( MessageSuggestedQuestionApi, "/installed-apps//messages//suggested-questions", endpoint="installed_app_suggested_question", ) # Explore Workflow api.add_resource(InstalledAppWorkflowRunApi, "/installed-apps//workflows/run") api.add_resource( InstalledAppWorkflowTaskStopApi, "/installed-apps//workflows/tasks//stop" ) api.add_namespace(console_ns)