Skip to main content

HasComponent

Trait HasComponent 

Source
pub trait HasComponent<Name> {
    type Provider;
}
Expand description

Type-level lookup: maps a component Name to a concrete Provider type for a given implementor (the “context”).

This is the single foundational trait of the CGP substrate. All composition flows through it.

Required Associated Types§

Source

type Provider

The concrete provider type wired to Name for this context.

Dyn Compatibility§

This trait is dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety".

Implementors§

Source§

impl HasComponent<ApprovalComponent> for BenchCtx

Source§

impl HasComponent<ApprovalComponent> for CiCtx

Source§

impl HasComponent<ApprovalComponent> for InteractiveCtx

Source§

impl HasComponent<CacheComponent> for BenchCtx

Source§

impl HasComponent<CacheComponent> for CiCtx

Source§

impl HasComponent<CacheComponent> for InteractiveCtx

Source§

impl HasComponent<ExecuteComponent> for BenchCtx

Source§

impl HasComponent<ExecuteComponent> for CiCtx

Source§

impl HasComponent<ExecuteComponent> for InteractiveCtx

Source§

impl HasComponent<LoggingComponent> for BenchCtx

Source§

impl HasComponent<LoggingComponent> for CiCtx

Source§

impl HasComponent<LoggingComponent> for InteractiveCtx

Source§

impl HasComponent<MetadataComponent> for BenchCtx

Source§

impl HasComponent<MetadataComponent> for CiCtx

Source§

impl HasComponent<MetadataComponent> for InteractiveCtx

Source§

impl HasComponent<ProviderBuildComponent> for AnthropicProviderConfig

Source§

impl HasComponent<ProviderBuildComponent> for CopilotProviderConfig

Source§

impl HasComponent<ProviderBuildComponent> for DeepSeekProviderConfig

Source§

impl HasComponent<ProviderBuildComponent> for EvolinkProviderConfig

Source§

impl HasComponent<ProviderBuildComponent> for GeminiProviderConfig

Source§

impl HasComponent<ProviderBuildComponent> for HuggingFaceProviderConfig

Source§

impl HasComponent<ProviderBuildComponent> for LlamaCppProviderConfig

Source§

impl HasComponent<ProviderBuildComponent> for LmStudioProviderConfig

Source§

impl HasComponent<ProviderBuildComponent> for MiMoProviderConfig

Source§

impl HasComponent<ProviderBuildComponent> for MinimaxProviderConfig

Source§

impl HasComponent<ProviderBuildComponent> for MistralProviderConfig

Source§

impl HasComponent<ProviderBuildComponent> for MoonshotProviderConfig

Source§

impl HasComponent<ProviderBuildComponent> for OllamaProviderConfig

Source§

impl HasComponent<ProviderBuildComponent> for OpenAIProviderConfig

Source§

impl HasComponent<ProviderBuildComponent> for OpenCodeGoProviderConfig

Source§

impl HasComponent<ProviderBuildComponent> for OpenCodeZenProviderConfig

Source§

impl HasComponent<ProviderBuildComponent> for OpenResponsesProviderConfig

Source§

impl HasComponent<ProviderBuildComponent> for OpenRouterProviderConfig

Source§

impl HasComponent<ProviderBuildComponent> for PoolsideProviderConfig

Source§

impl HasComponent<ProviderBuildComponent> for QwenProviderConfig

Source§

impl HasComponent<ProviderBuildComponent> for StepFunProviderConfig

Source§

impl HasComponent<ProviderBuildComponent> for ZAIProviderConfig

Source§

impl HasComponent<ProviderMetadataComponent> for AnthropicProviderConfig

Source§

impl HasComponent<ProviderMetadataComponent> for CopilotProviderConfig

Source§

impl HasComponent<ProviderMetadataComponent> for DeepSeekProviderConfig

Source§

impl HasComponent<ProviderMetadataComponent> for EvolinkProviderConfig

Source§

impl HasComponent<ProviderMetadataComponent> for GeminiProviderConfig

Source§

impl HasComponent<ProviderMetadataComponent> for HuggingFaceProviderConfig

Source§

impl HasComponent<ProviderMetadataComponent> for LlamaCppProviderConfig

Source§

impl HasComponent<ProviderMetadataComponent> for LmStudioProviderConfig

Source§

impl HasComponent<ProviderMetadataComponent> for MiMoProviderConfig

Source§

impl HasComponent<ProviderMetadataComponent> for MinimaxProviderConfig

Source§

impl HasComponent<ProviderMetadataComponent> for MistralProviderConfig

Source§

impl HasComponent<ProviderMetadataComponent> for MoonshotProviderConfig

Source§

impl HasComponent<ProviderMetadataComponent> for OllamaProviderConfig

Source§

impl HasComponent<ProviderMetadataComponent> for OpenAIProviderConfig

Source§

impl HasComponent<ProviderMetadataComponent> for OpenCodeGoProviderConfig

Source§

impl HasComponent<ProviderMetadataComponent> for OpenCodeZenProviderConfig

Source§

impl HasComponent<ProviderMetadataComponent> for OpenResponsesProviderConfig

Source§

impl HasComponent<ProviderMetadataComponent> for OpenRouterProviderConfig

Source§

impl HasComponent<ProviderMetadataComponent> for PoolsideProviderConfig

Source§

impl HasComponent<ProviderMetadataComponent> for QwenProviderConfig

Source§

impl HasComponent<ProviderMetadataComponent> for StepFunProviderConfig

Source§

impl HasComponent<ProviderMetadataComponent> for ZAIProviderConfig

Source§

impl HasComponent<RetryComponent> for BenchCtx

Source§

impl HasComponent<RetryComponent> for CiCtx

Source§

impl HasComponent<RetryComponent> for InteractiveCtx

Source§

impl HasComponent<SandboxComponent> for BenchCtx

Source§

impl HasComponent<SandboxComponent> for CiCtx

Source§

impl HasComponent<SandboxComponent> for InteractiveCtx

Source§

impl<Name, Runtime> HasComponent<Name> for ToolBridgeCtx<Runtime>
where Runtime: HasComponent<Name>,

Source§

type Provider = <Runtime as HasComponent<Name>>::Provider

Source§

impl<Runtime, T> HasComponent<ApprovalComponent> for TypedToolCtx<Runtime, T>

Source§

impl<Runtime, T> HasComponent<CacheComponent> for TypedToolCtx<Runtime, T>
where Runtime: HasComponent<CacheComponent>,

Source§

impl<Runtime, T> HasComponent<ExecuteComponent> for TypedToolCtx<Runtime, T>
where Runtime: Send + Sync, T: Tool + Send + Sync,

Source§

impl<Runtime, T> HasComponent<LoggingComponent> for TypedToolCtx<Runtime, T>

Source§

impl<Runtime, T> HasComponent<MetadataComponent> for TypedToolCtx<Runtime, T>
where Runtime: Send + Sync, T: Tool + Send + Sync,

Source§

impl<Runtime, T> HasComponent<OutputMapComponent> for TypedToolCtx<Runtime, T>

Source§

impl<Runtime, T> HasComponent<RetryComponent> for TypedToolCtx<Runtime, T>
where Runtime: HasComponent<RetryComponent>,

Source§

impl<Runtime, T> HasComponent<SandboxComponent> for TypedToolCtx<Runtime, T>

Source§

impl<Runtime, T> HasComponent<SessionComponent> for TypedToolCtx<Runtime, T>