teff.provider.resolve¶
teff.provider.resolve
¶
Provider resolution helpers shared by the harness and graph layers.
Functions:
| Name | Description |
|---|---|
resolve_provider |
Resolve a provider key from an explicit value or a default name. |
resolve_provider_entry |
Resolve the effective :class: |
to_provider_registry |
Normalize providers into a :class: |
validate_provider_refs |
Enforce that every provider reference is declared in providers. |
resolve_provider
¶
resolve_provider(provider=None, default_provider=None)
Resolve a provider key from an explicit value or a default name.
The explicit provider (node-level) wins; otherwise default_provider (the graph-level default) is used. Model-name auto-detection was removed — a provider must be stated explicitly.
Raises:
| Type | Description |
|---|---|
ConfigError
|
When neither a provider nor a default is configured. |
Source code in teff/provider/resolve.py
87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 | |
resolve_provider_entry
¶
resolve_provider_entry(provider_key, providers=None)
Resolve the effective :class:Provider for provider_key.
When providers is a :class:ProviderRegistry or dict it is
authoritative — provider_key must be declared in it. With None
(a bare, standalone Harness) a built-in preset is used. Unknown
names raise a :class:ConfigError — there is no silent fallback to the
OpenAI shape, so typos surface early instead of silently routing to the
wrong wire protocol.
Raises:
| Type | Description |
|---|---|
ConfigError
|
When provider_key is neither declared in providers
nor (with |
Source code in teff/provider/resolve.py
55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 | |
to_provider_registry
¶
to_provider_registry(providers)
Normalize providers into a :class:ProviderRegistry.
Accepts an existing :class:ProviderRegistry, a {name: Provider}
dict, or None (empty registry). There is no string shorthand —
every provider must be an explicit instance, so graph.providers
truthfully reflects what is configured.
Source code in teff/provider/resolve.py
11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 | |
validate_provider_refs
¶
validate_provider_refs(providers, default_provider=None, nodes=None)
Enforce that every provider reference is declared in providers.
default_provider and each node's config.provider must name a
provider registered in providers — there is no implicit built-in
fallback. Raises :class:ConfigError on the first undeclared name.
Source code in teff/provider/resolve.py
28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 | |