mirror of
https://github.com/dograh-hq/dograh.git
synced 2026-06-07 07:55:16 +02:00
* Add tuner integration * bump pipecat version * chore: update pipecat submodule to match upstream and use tuner-pipecat-sdk 0.2.0 Update pipecat submodule from 0.0.109.dev23 to 13e98d0d9 (the exact commit upstream dograh-hq/dograh uses after v1.30.1). This installs pipecat-ai as 1.1.0.post277 via setuptools_scm, satisfying tuner-pipecat-sdk 0.2.0's pipecat-ai>=1.0.0 requirement. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com> * wire tuner * feat: refactor integrations into self contained packages * chore: simplify ensure_public_access_token * fix: remove NodeSpec and make DTOs the source of truth * feat: send relevant signal to mcp using to_mcp_dict * fix: fix tests * cleanup: remove nango integrations * feat: add agents.md for integrations --------- Co-authored-by: Claude Sonnet 4.6 <noreply@anthropic.com> Co-authored-by: Abhishek Kumar <abhishek@a6k.me>
94 lines
3.6 KiB
Python
94 lines
3.6 KiB
Python
from fastapi import APIRouter
|
|
from loguru import logger
|
|
from pydantic import BaseModel
|
|
|
|
from api.routes.agent_stream import router as agent_stream_router
|
|
from api.routes.auth import router as auth_router
|
|
from api.routes.campaign import router as campaign_router
|
|
from api.routes.credentials import router as credentials_router
|
|
from api.routes.knowledge_base import router as knowledge_base_router
|
|
from api.routes.node_types import router as node_types_router
|
|
from api.routes.organization import router as organization_router
|
|
from api.routes.organization_usage import router as organization_usage_router
|
|
from api.routes.public_agent import router as public_agent_router
|
|
from api.routes.public_download import router as public_download_router
|
|
from api.routes.public_embed import router as public_embed_router
|
|
from api.routes.reports import router as reports_router
|
|
from api.routes.s3_signed_url import router as s3_router
|
|
from api.routes.service_keys import router as service_keys_router
|
|
from api.routes.superuser import router as superuser_router
|
|
from api.routes.telephony import router as telephony_router
|
|
from api.routes.tool import router as tool_router
|
|
from api.routes.turn_credentials import router as turn_credentials_router
|
|
from api.routes.user import router as user_router
|
|
from api.routes.webrtc_signaling import router as webrtc_signaling_router
|
|
from api.routes.workflow import router as workflow_router
|
|
from api.routes.workflow_embed import router as workflow_embed_router
|
|
from api.routes.workflow_recording import router as workflow_recording_router
|
|
from api.services.integrations import all_routers
|
|
|
|
router = APIRouter(
|
|
tags=["main"],
|
|
responses={404: {"description": "Not found"}},
|
|
)
|
|
|
|
router.include_router(telephony_router)
|
|
router.include_router(superuser_router)
|
|
router.include_router(workflow_router)
|
|
router.include_router(user_router)
|
|
router.include_router(campaign_router)
|
|
router.include_router(credentials_router)
|
|
router.include_router(tool_router)
|
|
router.include_router(organization_router)
|
|
router.include_router(s3_router)
|
|
router.include_router(service_keys_router)
|
|
router.include_router(organization_usage_router)
|
|
router.include_router(reports_router)
|
|
router.include_router(webrtc_signaling_router)
|
|
router.include_router(turn_credentials_router)
|
|
router.include_router(public_embed_router)
|
|
router.include_router(public_agent_router)
|
|
router.include_router(public_download_router)
|
|
router.include_router(workflow_embed_router)
|
|
router.include_router(knowledge_base_router)
|
|
router.include_router(workflow_recording_router)
|
|
router.include_router(auth_router)
|
|
router.include_router(node_types_router)
|
|
router.include_router(agent_stream_router)
|
|
|
|
for _integration_router in all_routers():
|
|
router.include_router(_integration_router)
|
|
|
|
|
|
class HealthResponse(BaseModel):
|
|
status: str
|
|
version: str
|
|
backend_api_endpoint: str
|
|
deployment_mode: str
|
|
auth_provider: str
|
|
turn_enabled: bool
|
|
force_turn_relay: bool
|
|
|
|
|
|
@router.get("/health", response_model=HealthResponse)
|
|
async def health() -> HealthResponse:
|
|
from api.constants import (
|
|
APP_VERSION,
|
|
AUTH_PROVIDER,
|
|
DEPLOYMENT_MODE,
|
|
FORCE_TURN_RELAY,
|
|
TURN_SECRET,
|
|
)
|
|
from api.utils.common import get_backend_endpoints
|
|
|
|
logger.debug("Health endpoint called")
|
|
backend_endpoint, _ = await get_backend_endpoints()
|
|
return HealthResponse(
|
|
status="ok",
|
|
version=APP_VERSION,
|
|
backend_api_endpoint=backend_endpoint,
|
|
deployment_mode=DEPLOYMENT_MODE,
|
|
auth_provider=AUTH_PROVIDER,
|
|
turn_enabled=bool(TURN_SECRET),
|
|
force_turn_relay=FORCE_TURN_RELAY,
|
|
)
|