pub trait ResourceProvider: Send + Sync {
// Required methods
fn list_resources(&self) -> Vec<ResourceDefinition>;
fn read_resource(
&self,
uri: &str,
) -> Result<Option<Vec<ResourceContent>>, KernelError>;
// Provided methods
fn list_resource_templates(&self) -> Vec<ResourceTemplateDefinition> { ... }
fn complete_resource_argument(
&self,
_uri: &str,
_argument_name: &str,
_value: &str,
_context: &Value,
) -> Result<Option<CompletionResult>, KernelError> { ... }
}Expand description
Trait representing a resource provider.
Required Methods§
Sourcefn list_resources(&self) -> Vec<ResourceDefinition>
fn list_resources(&self) -> Vec<ResourceDefinition>
List the resources this provider exposes.
Sourcefn read_resource(
&self,
uri: &str,
) -> Result<Option<Vec<ResourceContent>>, KernelError>
fn read_resource( &self, uri: &str, ) -> Result<Option<Vec<ResourceContent>>, KernelError>
Read a resource by URI. Returns Ok(None) when the provider does not own the URI.
Provided Methods§
Sourcefn list_resource_templates(&self) -> Vec<ResourceTemplateDefinition>
fn list_resource_templates(&self) -> Vec<ResourceTemplateDefinition>
List parameterized resource templates.
Sourcefn complete_resource_argument(
&self,
_uri: &str,
_argument_name: &str,
_value: &str,
_context: &Value,
) -> Result<Option<CompletionResult>, KernelError>
fn complete_resource_argument( &self, _uri: &str, _argument_name: &str, _value: &str, _context: &Value, ) -> Result<Option<CompletionResult>, KernelError>
Return completions for a resource template or URI reference.