Files
BrowserOS/apps/agent/lib/env.ts
Felarof 609341a445 feat: add Kimi/Moonshot partnership branding with feature flag
## Summary
- Add `VITE_PUBLIC_KIMI_LAUNCH` feature flag controlling Kimi partnership branding
- BrowserOS provider card shows "Powered by Kimi K2.5 from Moonshot AI" badge and "Extended usage limits for the next 2 weeks!" when flag is on
- Moonshot/Kimi highlighted as "Recommended" in provider templates
- LLM Hub defaults to Kimi, ChatGPT, Claude, Gemini (with legacy defaults migration)
- Kimi hub row shows "Powered by Moonshot AI" flare
- Model selector locked to kimi-k2.5
- "How to get a Kimi API key" link in provider dialog
- Moonshot provider fully integrated across frontend and backend
2026-03-04 17:55:40 -08:00

34 lines
900 B
TypeScript

import { ZodError, z } from 'zod'
const EnvSchema = z.object({
VITE_BROWSEROS_SERVER_PORT: z.coerce.number().optional(),
VITE_PUBLIC_POSTHOG_KEY: z.string().optional(),
VITE_PUBLIC_POSTHOG_HOST: z.string().optional(),
VITE_PUBLIC_SENTRY_DSN: z.string().optional(),
VITE_PUBLIC_BROWSEROS_API: z.string().optional(),
VITE_PUBLIC_KIMI_LAUNCH: z.string().optional(),
PROD: z.boolean(),
})
try {
EnvSchema.parse(import.meta.env)
} catch (error) {
if (error instanceof ZodError) {
let message = 'Missing required values in .env:\n'
for (const issue of error.issues) {
message += `${issue.path.join('.')}\n`
}
const e = new Error(message)
e.stack = ''
throw e
}
// biome-ignore lint/suspicious/noConsole: allowed to display error information
console.error(error)
throw error
}
/**
* @public
*/
export const env = EnvSchema.parse(import.meta.env)