Skip to main content

for_each_model_provider_slot

Macro for_each_model_provider_slot 

Source
macro_rules! for_each_model_provider_slot {
    ($mac:ident) => { ... };
}
Expand description

Macro that expands to a single source of truth for the per-provider-type slot list on ModelProviders. Every helper that needs to walk every slot (first_model_provider, iter_entries, is_empty, etc.) goes through this macro so adding a new model_provider type is a one-line addition here, not a shotgun edit across multiple helpers.

Each row is (field_ident, provider_type_str, FamilyConfigType). The provider_type_str is the canonical TOML outer key, identical to the field name with hyphens forbidden (the schema uses underscores).

Exported so that downstream crates (notably zeroclaw-providers) can drive their own dispatch from the same single source of truth — adding a family is one row here and one trait impl in providers; missing the impl fails to compile when downstream macro consumers expand.