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;
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;