Files
agent-ui/server/routes/session-state-proxy.ts
josedario87 65303df96a feat: Samsung lock screen face widget, voice assistant services, PiP mode and gitignore installers
Add Samsung proprietary Face Widget (lock screen/AOD) with terminal status display.
Add voice interaction services (AgentVoiceInteractionService, RecognitionService) for
digital assistant registration. Add PiP mode with voice/expand actions. Add session-state
proxy, voice transcript routes, window controls component. Ignore installers/ directory.
2026-02-23 20:52:11 -06:00

27 lines
956 B
TypeScript

import { jsonResponse, errorResponse } from '../utils/cors'
import { PORT_TERMINAL } from '../config'
/**
* Proxy GET /api/session-state → terminal server.
* Returns session-state + terminal-registry combined,
* so external clients (Android widget) get everything in one call.
*/
export async function handleSessionStateProxy(url: URL): Promise<Response> {
try {
const [stateResp, registryResp] = await Promise.all([
fetch(`http://localhost:${PORT_TERMINAL}/session-state`),
fetch(`http://localhost:${PORT_TERMINAL}/terminal-registry`)
])
const stateData = stateResp.ok ? await stateResp.json() : { agents: {} }
const registryData = registryResp.ok ? await registryResp.json() : { registry: [] }
return jsonResponse({
agents: stateData.agents ?? {},
registry: registryData.registry ?? []
})
} catch (e: any) {
return errorResponse(`Failed to reach terminal server: ${e.message}`, 502)
}
}