module

Autobot::CLI::SetupHelper

Shared setup logic for tools, plugins, and startup validation

Constants

BUILTIN_PLUGINS = {"sqlite" => -> do Plugins::Builtin::SQLitePlugin.new.as(Plugins::Plugin) end, "github" => -> do Plugins::Builtin::GithubPlugin.new.as(Plugins::Plugin) end, "weather" => -> do Plugins::Builtin::WeatherPlugin.new.as(Plugins::Plugin) end, "system_info" => -> do Plugins::SystemInfoPlugin.new.as(Plugins::Plugin) end, "text_to_speech" => -> do Plugins::TextToSpeechPlugin.new.as(Plugins::Plugin) end, "chat_log" => -> do Plugins::ChatLogPlugin.new.as(Plugins::Plugin) end}
IMAGE_CAPABLE_PROVIDERS = {"openai", "gemini"}

Class methods

create_provider(config : Config::Config) : Providers::Provider

Creates the appropriate provider based on configuration.

Source
load_exec_patterns(config : Config::Config) : Tuple(Array(Regex), Array(Regex))

Load exec tool patterns from configuration. User deny_patterns are merged with defaults (appended, not replaced). Returns {deny_patterns, allow_patterns}.

Source
load_plugins(config : Config::Config, tool_registry : Tools::Registry) : Plugins::Registry

Load and start plugins. Call after gateway is ready to avoid blocking startup with plugin setup (binary checks, migrations, etc.).

Source
register_builtin_plugins(config : Config::Config) : Nil

Register builtin plugins that are enabled in config (all enabled by default).

Source
register_image_tool(config : Config::Config, registry : Tools::Registry) : Nil

Register the image generation tool if a suitable provider is available.

Source
setup_tools(config : Config::Config)

Sets up tool registry with built-in tools and MCP servers. Returns {tool_registry, mcp_clients, rate_limiter}. Plugins are loaded separately via load_plugins to avoid blocking startup.

Source
validate_provider(config : Config::Config) : Nil

Validate that a provider is configured, exit if not.

Source
validate_startup(config : Config::Config, config_path : String | Nil) : Nil

Validate configuration and fail on errors. Called by both gateway and agent to ensure consistent startup checks.

Source