import { i18n } from './i18n' import { sdk } from './sdk' import { uiPort } from './utils' export const setInterfaces = sdk.setupInterfaces(async ({ effects }) => { const uiMulti = sdk.MultiHost.of(effects, 'ui-multi') const uiMultiOrigin = await uiMulti.bindPort(uiPort, { protocol: 'http', }) const ui = sdk.createInterface(effects, { name: i18n('Web UI'), id: 'ui', description: i18n('The Spark Control web interface'), type: 'ui', masked: false, schemeOverride: null, username: null, path: '', query: {}, }) const api = sdk.createInterface(effects, { name: i18n('OpenAI-compatible API'), id: 'api', description: i18n( 'Service-discovery JSON at /api/endpoints. Other apps on the LAN can GET this to learn the current vLLM, Parakeet, and Magpie URLs.', ), type: 'api', masked: false, schemeOverride: null, username: null, path: '/api/endpoints', query: {}, }) const receipt = await uiMultiOrigin.export([ui, api]) return [receipt] })