Skip to content

Variable: ClientDefinitionSchema

Makaio Framework


Makaio Framework / contracts / ClientDefinitionSchema

const ClientDefinitionSchema: ZodObject<{ binaryName: ZodOptional<ZodString>; configIsolation: ZodOptional<ZodObject<{ defaultPath: ZodString; envVar: ZodString; pathKind: ZodDefault<ZodEnum<{ directory: "directory"; file: "file"; }>>; }, $strip>>; defaultApprovalPolicy: ZodEnum<{ always-ask: "always-ask"; full-access: "full-access"; reject: "reject"; }>; defaultProviderId: ZodOptional<ZodString>; description: ZodOptional<ZodString>; id: ZodString; logSources: ZodOptional<ZodArray<ZodObject<{ description: ZodOptional<ZodString>; glob: ZodOptional<ZodString>; id: ZodString; name: ZodString; }, $strip>>>; managedInstall: ZodOptional<ZodDiscriminatedUnion<[ZodObject<{ config: ZodObject<{ archiveFormat: ZodOptional<ZodEnum<…>>; baseUrl: ZodString; binaryPath: ZodString; manifestChecksumField: ZodString; manifestPath: ZodString; versionIndex: ZodObject<{ latest: …; }, $strip>; }, $strip>; type: ZodLiteral<"manifest-bucket">; }, $strip>, ZodObject<{ package: ZodString; type: ZodLiteral<"npm">; }, $strip>, ZodObject<{ archiveFormat: ZodEnum<{ tar.gz: "tar.gz"; zip: "zip"; }>; assetPattern: ZodRecord<ZodString, ZodString>; repo: ZodString; type: ZodLiteral<"github-release">; }, $strip>], "type">>; minimumVersion: ZodOptional<ZodString>; name: ZodString; nativeTools: ZodDefault<ZodArray<ZodObject<{ capabilities: ZodDefault<ZodArray<ZodObject<{ description: ZodOptional<…>; tag: ZodString; }, $strip>>>; category: ZodOptional<ZodString>; description: ZodOptional<ZodString>; friendlyName: ZodString; name: ZodString; }, $strip>>>; postInstall: ZodOptional<ZodObject<{ kind: ZodString; payload: ZodOptional<ZodRecord<ZodString, ZodUnknown>>; }, $strip>>; runtimeCapabilities: ZodPipe<ZodOptional<ZodObject<{ hookEvents: ZodDefault<ZodArray<ZodObject<{ frameworkSubject: ZodOptional<…>; name: ZodString; }, $strip>>>; supportsHooks: ZodDefault<ZodBoolean>; supportsManagedBinary: ZodDefault<ZodBoolean>; supportsStatusline: ZodDefault<ZodBoolean>; supportsSupervisorLaunch: ZodDefault<ZodBoolean>; }, $strip>>, ZodTransform<{ hookEvents: object[]; supportsHooks: boolean; supportsManagedBinary: boolean; supportsStatusline: boolean; supportsSupervisorLaunch: boolean; }, { hookEvents: object[]; supportsHooks: boolean; supportsManagedBinary: boolean; supportsStatusline: boolean; supportsSupervisorLaunch: boolean; } | undefined>>; versionCommand: ZodOptional<ZodArray<ZodString>>; }, $strip>

Defined in: ../../../packages/contracts/src/client/definition.ts:357

Static definition for a Makaio client package.

Each client package (e.g. @makaio/client-claude-code) exports exactly one ClientDefinition object. The bootstrap service discovers and seeds these definitions into the clients storage table on startup.

Key fields:

  • runtimeCapabilities — capability flags (hooks, managed binary, etc.)
  • managedInstall — install descriptor when Makaio manages the binary.
  • configIsolation — env var and default path for config isolation. Used by both managed and global binaries; see ConfigIsolationSchema.