import { defaultSourceRoot } from './common/source-root.js'; import { handleHudSummary } from './openai/hud-summary.js'; import { createDebugLogHandler } from './openai/debug-log.js'; import { createRealtimeTokenHandler } from './openai/realtime.js'; /** * Vite plugin: OpenAI Realtime ephemeral client secret. * * Keeps OPENAI_API_KEY server-side while the browser connects to the * Realtime API over WebRTC with a short-lived secret. */ function openAiRealtimeProxy({ sourceRoot = defaultSourceRoot, annotationGuidance } = {}) { function install(middlewares) { middlewares.use('/api/openai/hud-summary', handleHudSummary); middlewares.use('/api/realtime/debug-log', createDebugLogHandler({ sourceRoot })); middlewares.use('/api/realtime/token', createRealtimeTokenHandler({ annotationGuidance })); } return { name: 'openai-realtime-proxy', configureServer(server) { install(server.middlewares); }, configurePreviewServer(server) { install(server.middlewares); }, }; } export { openAiRealtimeProxy };