mirror of
https://github.com/bilawalsidhu/gods-eye-view.git
synced 2026-11-04 10:24:02 +00:00
42 lines
1.1 KiB
JavaScript
42 lines
1.1 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 };
|