Skip to content

Variable: ConfigSchemas

Makaio Framework


Makaio Framework / contracts / ConfigSchemas

const ConfigSchemas: object

Defined in: ../../../packages/contracts/src/config/config-subjects.ts:23

Config domain schemas.

Subjects for config-related bus communication. Each key becomes a subject identifier as: config.{key}

Bus subjects:

  • config.get - Request to get current config
  • config.update - Request to update config

get: object

Get current config request. Empty request payload, returns full config.

request: ZodObject<{ }, $strip>

response: ZodObject<{ config: ZodObject<{ $schema: ZodDefault<ZodLiteral<"makaio/config/v1">>; bus: ZodOptional<ZodObject<{ remote: ZodOptional<ZodObject<…, …>>; }, $strip>>; features: ZodOptional<ZodObject<{ voiceBridge: ZodDefault<ZodBoolean>; }, $strip>>; fileWatcher: ZodOptional<ZodObject<{ backend: ZodDefault<ZodEnum<…>>; }, $strip>>; mode: ZodDefault<ZodEnum<{ hybrid: "hybrid"; local: "local"; remote: "remote"; }>>; relay: ZodOptional<ZodObject<{ autoReconnect: ZodDefault<ZodOptional<…>>; heartbeatInterval: ZodDefault<ZodOptional<…>>; maxReconnectAttempts: ZodDefault<ZodOptional<…>>; token: ZodOptional<ZodString>; url: ZodOptional<ZodString>; }, $strip>>; role: ZodDefault<ZodEnum<{ main-dev-machine: "main-dev-machine"; server: "server"; }>>; }, $strip>; }, $strip>

update: object

Update config request. Accepts full config object, validates and saves it.

request: ZodObject<{ config: ZodObject<{ $schema: ZodDefault<ZodLiteral<"makaio/config/v1">>; bus: ZodOptional<ZodObject<{ remote: ZodOptional<ZodObject<…, …>>; }, $strip>>; features: ZodOptional<ZodObject<{ voiceBridge: ZodDefault<ZodBoolean>; }, $strip>>; fileWatcher: ZodOptional<ZodObject<{ backend: ZodDefault<ZodEnum<…>>; }, $strip>>; mode: ZodDefault<ZodEnum<{ hybrid: "hybrid"; local: "local"; remote: "remote"; }>>; relay: ZodOptional<ZodObject<{ autoReconnect: ZodDefault<ZodOptional<…>>; heartbeatInterval: ZodDefault<ZodOptional<…>>; maxReconnectAttempts: ZodDefault<ZodOptional<…>>; token: ZodOptional<ZodString>; url: ZodOptional<ZodString>; }, $strip>>; role: ZodDefault<ZodEnum<{ main-dev-machine: "main-dev-machine"; server: "server"; }>>; }, $strip>; }, $strip>

response: ZodObject<{ success: ZodBoolean; }, $strip>

// Get current config
const config = await bus.request(ConfigSubjects.get, {});
// Update config
await bus.request(ConfigSubjects.update, { config: newConfig });