8d839e3714
- Add redaction gateway (redaction_gateway.py, redaction/ scrub + tests) - Add embeddings proxy and spark_embed service (Dockerfile + main.py) - Expand audio_proxy with speaker-aware handling; deep_health/health/server updates - Package: configureSparks action + sparkConfig model updates, manifest/main wiring - Docs: AUDIO_API, EMBEDDINGS, REDACTION_GATEWAY; HANDOFF and runbook/known-issues refresh
37 lines
1.3 KiB
TypeScript
37 lines
1.3 KiB
TypeScript
import { FileHelper } from '@start9labs/start-sdk'
|
|
import { z } from 'zod'
|
|
import { sdk } from '../sdk'
|
|
|
|
export const sparkConfigSchema = z.object({
|
|
spark1_host: z.string().catch(''),
|
|
spark1_user: z.string().catch(''),
|
|
spark2_host: z.string().catch(''),
|
|
spark2_user: z.string().catch(''),
|
|
// Optional per-service overrides. Blank => use spark2_host / spark2_user.
|
|
parakeet_host: z.string().catch(''),
|
|
parakeet_user: z.string().catch(''),
|
|
parakeet_container: z.string().catch(''),
|
|
kokoro_host: z.string().catch(''),
|
|
kokoro_user: z.string().catch(''),
|
|
kokoro_container: z.string().catch(''),
|
|
// Optional overrides for the embedding server (spark-embed) + Qdrant.
|
|
embed_host: z.string().catch(''),
|
|
embed_user: z.string().catch(''),
|
|
embed_container: z.string().catch(''),
|
|
qdrant_host: z.string().catch(''),
|
|
qdrant_user: z.string().catch(''),
|
|
qdrant_container: z.string().catch(''),
|
|
qdrant_collection: z.string().catch(''),
|
|
// Optional Open WebUI deep-link
|
|
open_webui_url: z.string().catch(''),
|
|
// Optional NGC API key for pulling NIM containers from nvcr.io/nim/...
|
|
ngc_api_key: z.string().catch(''),
|
|
})
|
|
|
|
export type SparkConfig = z.infer<typeof sparkConfigSchema>
|
|
|
|
export const sparkConfigYaml = FileHelper.yaml(
|
|
{ base: sdk.volumes.main, subpath: 'config.yaml' },
|
|
sparkConfigSchema,
|
|
)
|