Skip to content

Type Alias: ProviderDefinitionInput

Makaio Framework


Makaio Framework / contracts / ProviderDefinitionInput

ProviderDefinitionInput = z.input<typeof ProviderDefinitionSchema>

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

Input type for provider definition declarations.

Fields with .default() (e.g., availableModels) are optional here — the registry service populates them from YAML at boot time. Use this type when declaring a static providerDefinition constant in a provider package so that availableModels may be omitted.

type ProviderDefinitionInput = {
id: string;
name: string;
description?: string | undefined;
endpoints?: { anthropic?: string | undefined; openai?: string | undefined; } | undefined;
defaultModel?: string | undefined;
fastModel?: string | undefined;
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; }> | undefined;
defaultModelFilterMode?: 'allowlist' | 'show-all' | undefined;
credentialEnvVars?: Record<string, string> | undefined;
};