Skip to content

Type Alias: ProviderDefinition

Makaio Framework


Makaio Framework / contracts / ProviderDefinition

ProviderDefinition = z.infer<typeof ProviderDefinitionSchema>

Defined in: ../../../packages/contracts/src/provider/definition.ts:155

Inferred output type for a fully-parsed provider definition.

Fields with .default() (e.g., availableModels) are always present here. Use this type for runtime consumers that read provider definition values.

  • ProviderDefinition
    • z.infer<typeof ProviderDefinitionSchema>
      • typeof ProviderDefinitionSchema
type ProviderDefinition = {
id: string;
name: string;
availableModels: Array<{ name: string; contextWindowSize: number; labId: string; friendlyName?: string | undefined; family?: string | undefined; supportedReasoningLevels?: { none?: string | number | undefined; low?: string | number | undefined; medium?: string | number | undefined; high?: string | number | undefined; 'extra-high'?: string | number | undefined; } | undefined; metadata?: { maxOutputTokens?: number | undefined; capabilities?: { vision?: boolean | undefined; toolCalling?: boolean | undefined; parallelToolCalls?: boolean | undefined; structuredOutput?: boolean | undefined; pdfUpload?: boolean | undefined; speechToText?: { modes: Array<'batch' | 'streaming'>; vocabularyBiasing?: boolean | undefined; } | undefined; textToSpeech?: { modes: Array<'streaming' | 'buffered'>; voiceSelection?: boolean | undefined; voiceInstructions?: boolean | undefined; outputFormats?: Array<string> | undefined; } | undefined; } | undefined; pricing?: { token?: { inputPerMillion: number; outputPerMillion: number; inputCachedPerMillion?: number | undefined; cacheWritePerMillion?: number | undefined; } | undefined; request?: { multiplier: number; } | undefined; } | undefined; includedInSubscription?: boolean | undefined; description?: string | undefined; } | undefined; }>;
description?: string | undefined;
endpoints?: { anthropic?: string | undefined; openai?: string | undefined; } | undefined;
defaultModel?: string | undefined;
fastModel?: string | undefined;
defaultModelFilterMode?: 'allowlist' | 'show-all' | undefined;
credentialEnvVars?: Record<string, string> | undefined;
};