Restructure into asr/tts packages and add TTS tab skeleton

Split the single ASR gateway into app/main.py (entrypoint) + app/core
(shared env helpers) + app/asr (all existing ASR logic, unchanged
behavior) + app/tts (placeholder router/config, no engine yet), so a
real TTS backend can be dropped in later without reshuffling ASR code.
API moved under /asr/* and /tts/* prefixes; UI gained a top-level
ASR/TTS tab switcher built on a reusable nested .tab-group mechanism,
with JS split into common.js/asr.js/tts.js.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
du5t
2026-06-18 11:28:43 +09:00
parent ab6df14044
commit cabbdac39b
18 changed files with 592 additions and 463 deletions

29
app/tts/router.py Normal file
View File

@@ -0,0 +1,29 @@
from __future__ import annotations
from typing import Any, Dict, List
from fastapi import APIRouter, HTTPException
from tts.config import DEFAULT_TTS_BACKEND
router = APIRouter()
@router.get("/config")
def config() -> Dict[str, Any]:
return {
"status": "not_implemented",
"default_backend": DEFAULT_TTS_BACKEND,
"backends": {},
"message": "TTS 백엔드가 아직 연동되지 않았습니다.",
}
@router.get("/history")
def list_history() -> List[Dict[str, Any]]:
return []
@router.post("/synthesize")
def synthesize() -> None:
raise HTTPException(status_code=501, detail="TTS 합성 기능은 아직 구현되지 않았습니다.")