codetether-agent 4.7.0-a-002.3

A2A-native AI coding agent for the CodeTether ecosystem
Documentation
use crate::provider::ToolDefinition;
use crate::session::helper::bootstrap::list_tools_bootstrap_definition;
use crate::session::helper::runtime::is_interactive_tool;
use crate::tool::ToolRegistry;

pub(super) fn active_tool_definitions(registry: &ToolRegistry) -> Vec<ToolDefinition> {
    registry
        .definitions()
        .into_iter()
        .filter(|tool| !is_interactive_tool(&tool.name))
        .collect()
}

pub(super) fn advertised_tools(
    model_supports_tools: bool,
    tools: &[ToolDefinition],
) -> Vec<ToolDefinition> {
    if model_supports_tools {
        tools.to_vec()
    } else {
        vec![list_tools_bootstrap_definition()]
    }
}