24 lines · 992 B · TypeScript
RawDownload
import * as Schema from "effect/Schema"; import { PortSchema, PositiveInt, TrimmedNonEmptyString } from "./baseSchemas.ts"; export const DesktopBackendBootstrap = Schema.Struct({  mode: Schema.Literal("desktop"),  noBrowser: Schema.Boolean,  port: PortSchema,  // Omitted when the desktop launches the backend inside WSL, since the  // Windows-side baseDir maps to /mnt/c/... and the Linux side should use its  // own home directory instead.  t3Home: Schema.optional(Schema.String),  host: Schema.String,  desktopBootstrapToken: Schema.String,  tailscaleServeEnabled: Schema.Boolean,  tailscaleServePort: PortSchema,  otlpTracesUrl: Schema.optional(Schema.String),  otlpMetricsUrl: Schema.optional(Schema.String),  desktopTelemetryFd: Schema.optionalKey(PositiveInt),  desktopTelemetryControlFd: Schema.optionalKey(PositiveInt),  resourceMonitorPath: Schema.optionalKey(TrimmedNonEmptyString),}); export type DesktopBackendBootstrap = typeof DesktopBackendBootstrap.Type;