Type Alias: ProviderDefinitionInput
Makaio Framework / contracts / ProviderDefinitionInput
Type Alias: ProviderDefinitionInput
Section titled “Type Alias: ProviderDefinitionInput”ProviderDefinitionInput =
z.input<typeofProviderDefinitionSchema>
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 Composition
Section titled “Type Composition”ProviderDefinitionInputz.input<typeof ProviderDefinitionSchema>typeof ProviderDefinitionSchema
Resolved Shape
Section titled “Resolved Shape”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;};