0.1.0:4 - expose /api/endpoints as separate StartOS service interface
Adds a second sdk.createInterface with type='api' and path='/api/endpoints' on the same uiPort (9999). StartOS dashboard now shows two service interfaces: Web UI and OpenAI-compatible API. The API URL is discoverable to other services without users needing to remember the /api/endpoints suffix.
This commit is contained in:
@@ -14,6 +14,10 @@ const dict = {
|
|||||||
// actions
|
// actions
|
||||||
'Show Public Key': 6,
|
'Show Public Key': 6,
|
||||||
'Configure Sparks': 7,
|
'Configure Sparks': 7,
|
||||||
|
|
||||||
|
// interfaces.ts (api)
|
||||||
|
'OpenAI-compatible API': 8,
|
||||||
|
'Service-discovery JSON at /api/endpoints. Other apps on the LAN can GET this to learn the current vLLM, Parakeet, and Magpie URLs.': 9,
|
||||||
} as const
|
} as const
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|||||||
@@ -18,8 +18,21 @@ export const setInterfaces = sdk.setupInterfaces(async ({ effects }) => {
|
|||||||
path: '',
|
path: '',
|
||||||
query: {},
|
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 uiReceipt = await uiMultiOrigin.export([ui])
|
const receipt = await uiMultiOrigin.export([ui, api])
|
||||||
|
|
||||||
return [uiReceipt]
|
return [receipt]
|
||||||
})
|
})
|
||||||
|
|||||||
@@ -1,10 +1,10 @@
|
|||||||
import { VersionInfo, IMPOSSIBLE } from '@start9labs/start-sdk'
|
import { VersionInfo, IMPOSSIBLE } from '@start9labs/start-sdk'
|
||||||
|
|
||||||
export const v0_1_0 = VersionInfo.of({
|
export const v0_1_0 = VersionInfo.of({
|
||||||
version: '0.1.0:3',
|
version: '0.1.0:4',
|
||||||
releaseNotes: {
|
releaseNotes: {
|
||||||
en_US:
|
en_US:
|
||||||
'Show Public Key: install command moved to its own copy box (cleaner than mixing it into the description). New /api/endpoints route for service discovery — other services on your LAN can GET it to learn vLLM/Parakeet/Magpie base URLs and current model without hardcoding Spark IPs.',
|
'Expose /api/endpoints as a separate StartOS service interface (type: api) so it appears alongside Web UI in the dashboard and gets its own discoverable URL.',
|
||||||
},
|
},
|
||||||
migrations: {
|
migrations: {
|
||||||
up: async ({ effects }) => {},
|
up: async ({ effects }) => {},
|
||||||
|
|||||||
Reference in New Issue
Block a user