43 lines · 1.3 KB · TypeScript
RawDownload
/** * Persistent desktop sidecar settings, edited from the renderer's Settings * page and consumed by the main process when spawning the sidecar. * * The shape lives in `src/shared/` because both main (IPC handlers) and * renderer (Settings UI + Connect-an-agent surface) need to agree on it. */ import type { ExecutorServerConnection } from "@executor-js/sdk/shared"; export interface DesktopServerSettings {  /** TCP port the sidecar listens on. Default 4789. */  readonly port: number;  /**   * Whether the sidecar enforces HTTP Basic auth on every request.   * When false, the sidecar relies on the host allowlist alone.   */  readonly requireAuth: boolean;  /**   * Basic auth password the sidecar enforces and the renderer exposes   * via `window.executor`. Persisted across launches so AI client MCP   * configs stay valid until the user regenerates.   */  readonly password: string;} export type DesktopServerConnection = ExecutorServerConnection & {  readonly kind: "desktop-sidecar";  readonly key: "desktop-sidecar";  readonly auth?: {    readonly kind: "basic";    readonly username: string;    readonly password: string;  };}; export const DEFAULT_SERVER_SETTINGS: DesktopServerSettings = {  port: 4789,  requireAuth: true,  password: "",}; export const SERVER_SETTINGS_USERNAME = "executor";