Function: createTestProviderContext()
Makaio Framework / ai-adapters-core / createTestProviderContext
Function: createTestProviderContext()
Section titled “Function: createTestProviderContext()”createTestProviderContext(
definition?,ambientCredentialDefinitions?):object
Defined in: ../../../adapters/core/src/utils/resolveTestConfig.ts:60
Build an unresolved provider context for conformance tests.
When a provider definition is supplied, builds credential refs in env:VAR_NAME
format from credentialEnvVars. Connectors resolve these refs locally via
resolveConnectorCredentials(). Otherwise returns a minimal sentinel.
Parameters
Section titled “Parameters”definition?
Section titled “definition?”Optional provider definition to build credential refs from
availableModels?
Section titled “availableModels?”object[] = ...
Runtime-populated model catalog for this provider.
At boot the registry service merges lab definitions with provider-specific
overrides and injects the result here. Static provider packages and fixtures
should omit this field from ProviderDefinitionInput; the registry
service owns the content. Defaults to [] on parsed definitions so runtime
callers never need to handle undefined.
credentialEnvVars?
Section titled “credentialEnvVars?”Record<string, string> = ...
Environment variable names for credential fields.
Maps credential field names (matching the adapter’s credentialSchema keys)
to environment variable names. Used as last-resort fallback when credentials
are not provided via saved config or runtime input.
Example
`{ apiKey: 'ANTHROPIC_API_KEY' }` or `{ token: 'COPILOT_TOKEN' }`defaultModel?
Section titled “defaultModel?”string = ...
Default model identifier for general-purpose tasks (e.g., 'claude-sonnet-4-5').
Optional — providers with fully dynamic model discovery may omit this.
defaultModelFilterMode?
Section titled “defaultModelFilterMode?”"allowlist" | "show-all" = ...
Recommended default filter mode applied when a provider record is first created.
'show-all'— all models visible by default (curated providers like Anthropic).'allowlist'— all models hidden by default (firehose providers like OpenRouter).
Defaults to 'show-all' in the sync service when omitted.
description?
Section titled “description?”string = ...
Short human-readable description of the provider.
endpoints?
Section titled “endpoints?”{ anthropic?: string; openai?: string; } = ...
Wire protocol endpoints for this provider.
Maps each supported protocol to a base URL. Omit for SDK-only providers (e.g., GitHub Copilot) that communicate through a proprietary transport.
endpoints.anthropic?
Section titled “endpoints.anthropic?”string = ...
endpoints.openai?
Section titled “endpoints.openai?”string = ...
fastModel?
Section titled “fastModel?”string = ...
Fast/cheap model for cost-sensitive operations (e.g., 'claude-haiku-4-5').
Used for subagent exploration and background processing.
Falls back to defaultModel when omitted.
string = ...
Stable provider identifier used for persistence and matching (e.g., 'anthropic', 'z-ai').
Acts as the primary key across all provider-related storage and bus messages. Must be unique across all registered provider packages.
string = ...
Display name shown in the UI (e.g., 'Anthropic', 'Z.AI').
primaryTestModel?
Section titled “primaryTestModel?”string = ...
Primary model used by conformance tests.
Falls back to fastModel ?? defaultModel when omitted.
secondaryTestModel?
Section titled “secondaryTestModel?”string = ...
Secondary model used by lifecycle mutation conformance tests.
Falls back to defaultModel when omitted.
ambientCredentialDefinitions?
Section titled “ambientCredentialDefinitions?”readonly object[] = ...
Provider definitions whose credential env vars should be stripped from ambient subprocess environments
Returns
Section titled “Returns”Fresh unresolved provider context per call to prevent cross-test mutation leaks
ambientCredentialEnvVars?
Section titled “ambientCredentialEnvVars?”
optionalambientCredentialEnvVars?:string[]
Provider credential environment variables known to the host.
Subprocess adapters remove these from ambient process.env before spawning
clients, then add back only credentials explicitly resolved from
credentialRefs.
credentialEnvVars?
Section titled “credentialEnvVars?”
optionalcredentialEnvVars?:Record<string,string>
Maps credential keys to environment variable names for subprocess adapters.
E.g., { apiKey: 'ANTHROPIC_API_KEY' }.
credentialRefs
Section titled “credentialRefs”credentialRefs:
Record<string,string&$brand<"CredentialRef">>
Credential references resolved at the connector layer, not on the bus.
definitionId
Section titled “definitionId”definitionId:
string
Provider definition ID (e.g., 'anthropic', 'alibaba').
endpointOverrides?
Section titled “endpointOverrides?”
optionalendpointOverrides?:object
Endpoint URL overrides keyed by protocol.
endpointOverrides.anthropic?
Section titled “endpointOverrides.anthropic?”
optionalanthropic?:string
endpointOverrides.openai?
Section titled “endpointOverrides.openai?”
optionalopenai?:string
providerConfigId
Section titled “providerConfigId”providerConfigId:
string
Provider config UUID. Links back to the ProviderConfig that produced this context.