Skip to main content

Module registry

Module registry 

Source
Expand description

Integration catalog — schema-driven, single-loop.

Every entry comes from a schema-side source:

  • Channels: ChannelsConfig::channels() (each multi-instance V3 channel field surfaces as one ChannelInfo entry; name and desc strings live in channels() itself, not in this file).
  • Toggle integrations: Config::integration_descriptors() (per-struct #[integration(...)] attribute on BrowserConfig / GoogleWorkspaceConfig, plus an inline descriptor for cron whose active reflects whether any job is configured — cron is now a HashMap<String, CronJobDecl> with no enable toggle struct).
  • AI providers: zeroclaw_providers::list_providers() (each ProviderInfo row carries display_name, description, and a ProviderActivation strategy).
  • Always-on built-in tools: crate::tools::BUILTIN_TOOL_INTEGRATIONS.
  • Platforms: super::platform::PLATFORMS (compile-time cfg! facts).

No string literal naming a channel, vendor, tool, or platform appears in this file’s production path. Adding a new integration of any kind is one row in the corresponding schema source — the registry picks it up automatically.

Functions§

all_integrations
Returns the integration catalog computed against config.