Files
gods-eye-view/server/providers/openai.js
T

33 lines
1.0 KiB
JavaScript

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 };