services/call-mediator 신설 — 전화 사업자·STT 키 없는 개발용 테스트 콜

무엇을

services/call-mediator(Node.js/Express/ws)를 새로 만들었다 — hubClient.js가 POST /hub/calls·POST /hub/transcripts를 호출해 마스킹을 거치고, dashboardHub.js가 그 결과를 apps/dashboard용 WebSocket(/dashboard)으로 중계한다.

전화 사업자(Twilio 등) 연동은 만들지 않았다. 대신 GET /dev 페이지가 브라우저 내장 Web Speech API로 그 자리에서 텍스트로 바꿔 보낸다 — 오디오가 서버로 안 오므로 Google STT 호출도, GCP 자격증명도 필요 없다.

apps/dashboard/src/lib/ws/types.ts의 callMediatorUrl()에 ?call_mediator=<wss URL> 쿼리 기반 런타임 오버라이드를 추가했다 — Vercel 빌드타임 환경변수 없이도 배포된 대시보드를 라이브 모드로 전환할 수 있다.

왜

담당 경계상 services/call-mediator는 정성윤 몫이다(_project/decisions/012). 포트폴리오 드래프트 단계에서 실제 폰으로 통화 테스트를 하며 개발을 진행하고 싶은데, 서버 운영자·백엔드 협조를 바로 받기 어려운 상황이라 decisions/023에 따라 직접 진행했다. 처음엔 Twilio + 서버 쪽 Google STT로 만들었다가, 전화 사업자 계정을 만들 단계가 아니고 STT 자격증명은 원래 류준·장민석 몫이라는 지적이 맞아 그 경로를 전부 지우고 지금 방식으로 바꿨다. 자세한 맥락·선택지·되돌리는 법은 _project/decisions/402-services-gateway-실시간-배선과-dev-테스트-경로.md에 남겼다.

완료 조건

⚠ 범위 밖