Expand description
Provider dispatch registry: the ProviderRegistry resolves actions to
providers, builds catalog snapshots, and indexes resources and prompts.
Structs§
- Dynamic
Resource Template - A dynamic resource template a provider can serve, beyond the exact
uri_templatestrings already listed incatalog().resources(which cover only static, parameter-free resources). Populated by file-based dynamic resource readers underproviders/resources/— seeproviders::resource_files. - Provider
Call - A fully-resolved provider action invocation, carrying auth, scope, surface, and limit context alongside the action and its parameters.
- Provider
Execution Envelope - The serializable record of a provider action invocation, emitted for downstream execution/audit consumers.
- Provider
Output - Provider
Principal - The authenticated caller: its subject identity and granted scopes.
- Provider
Registry - Thread-safe registry of loaded providers backing every Soma surface, holding the active snapshot and supporting hot-reload from a file source.
- Provider
Request Limits - Byte-size ceilings enforced on a provider call’s input and response.
- Registry
Snapshot - An immutable, fingerprinted view of the loaded providers: their catalogs, routing/resource indexes, and cached derived artifacts.
- Shared
Adapter - Wraps a product-neutral
soma_provider_core::Provider(as implemented by every adapter insoma-provider-adapters) so it satisfies this crate’s ownProvidertrait, which carries additional auth/scope fields (principal,auth_mode,destructive_confirmed,limits) that no shared adapter reads — seeProviderCall::provider_invocation(), which this reuses to build the generic call. This is the mirror image ofCoreProviderAdapterbelow, which wraps the other direction.
Enums§
- Provider
Auth Mode - How the caller authenticated, governing whether scope checks apply.
- Provider
Surface - The Soma-facing surface a provider call arrives on.
- Resource
Read Output - Content resolved for a matched resource, ready to become an MCP
ResourceContents::text/::blob.
Traits§
- Core
Provider - Provider
- A loaded provider: exposes a catalog and dispatches action calls, with optional MCP resource-read support layered on top.
Type Aliases§
- Provider
Invocation - Product-neutral provider call shape (
soma_provider_core::ProviderCall), as handed to the shared core registry once auth/scope fields are stripped.