Skip to main content

Module provider_registry

Module provider_registry 

Source
Expand description

Provider dispatch registry: the ProviderRegistry resolves actions to providers, builds catalog snapshots, and indexes resources and prompts.

Structs§

DynamicResourceTemplate
A dynamic resource template a provider can serve, beyond the exact uri_template strings already listed in catalog().resources (which cover only static, parameter-free resources). Populated by file-based dynamic resource readers under providers/resources/ — see providers::resource_files.
ProviderCall
A fully-resolved provider action invocation, carrying auth, scope, surface, and limit context alongside the action and its parameters.
ProviderExecutionEnvelope
The serializable record of a provider action invocation, emitted for downstream execution/audit consumers.
ProviderOutput
ProviderPrincipal
The authenticated caller: its subject identity and granted scopes.
ProviderRegistry
Thread-safe registry of loaded providers backing every Soma surface, holding the active snapshot and supporting hot-reload from a file source.
ProviderRequestLimits
Byte-size ceilings enforced on a provider call’s input and response.
RegistrySnapshot
An immutable, fingerprinted view of the loaded providers: their catalogs, routing/resource indexes, and cached derived artifacts.
SharedAdapter
Wraps a product-neutral soma_provider_core::Provider (as implemented by every adapter in soma-provider-adapters) so it satisfies this crate’s own Provider trait, which carries additional auth/scope fields (principal, auth_mode, destructive_confirmed, limits) that no shared adapter reads — see ProviderCall::provider_invocation(), which this reuses to build the generic call. This is the mirror image of CoreProviderAdapter below, which wraps the other direction.

Enums§

ProviderAuthMode
How the caller authenticated, governing whether scope checks apply.
ProviderSurface
The Soma-facing surface a provider call arrives on.
ResourceReadOutput
Content resolved for a matched resource, ready to become an MCP ResourceContents::text/::blob.

Traits§

CoreProvider
Provider
A loaded provider: exposes a catalog and dispatches action calls, with optional MCP resource-read support layered on top.

Type Aliases§

ProviderInvocation
Product-neutral provider call shape (soma_provider_core::ProviderCall), as handed to the shared core registry once auth/scope fields are stripped.