vibe.llm_providers.tools

Central tool definitions for VIBE LLM providers.

All tool definitions live here. Tools are automatically filtered based on provider capabilities and configured with runtime state (predefined questions).

get_tools

get_tools(provider: LLMProvider, unanswered_questions: list[dict[str, Any]] | None = None) -> list[Tool]

Get configured tool set for a provider instance.

Automatically: - Selects streaming vs non-streaming tools based on capabilities - Injects predefined questions into ask_question tool description

Parameters:
  • provider (LLMProvider) –

    LLMProvider instance

  • unanswered_questions (list[dict[str, Any]] | None, default: None ) –

    List of {id, label, type} dicts for predefined questions

Returns:
  • list[Tool]

    List of Tool objects ready for the provider to use

convert_tool_parameter_to_json_schema

convert_tool_parameter_to_json_schema(param: object) -> dict[str, Any]

Convert ToolParameter object to JSON Schema format recursively.

This is the single shared implementation used by all providers when converting Tool objects to provider-specific formats.