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.