Skip to main content

Crate bob_adapters

Crate bob_adapters 

Source
Expand description

§Bob Adapters

Adapter implementations for the Bob Agent Framework ports.

§Overview

This crate provides concrete implementations of the port traits defined in bob_core:

  • LLM Adapters: Connect to language models via various providers
  • Tool Adapters: Integrate with external tools and MCP servers
  • Storage Adapters: Persist session state
  • Observability Adapters: Log and monitor agent events

§Features

All adapters are feature-gated to minimize dependencies:

  • llm-genai (default): LLM adapter using the genai crate
  • mcp-rmcp (default): Tool adapter for MCP servers via rmcp
  • skills-agent (default): Skill loading and composition via agent-skills
  • store-memory (default): In-memory session storage
  • observe-tracing (default): Event sink using tracing

§Example

use bob_adapters::{
    llm_genai::GenAiLlmAdapter,
    mcp_rmcp::McpToolAdapter,
    store_memory::InMemorySessionStore,
    observe::TracingEventSink,
};
use genai::Client;

// LLM adapter
let client = Client::default();
let llm = GenAiLlmAdapter::new(client);

// Tool adapter (MCP server)
let tools = McpToolAdapter::connect_stdio(
    "filesystem",
    "npx",
    &["-y", "@modelcontextprotocol/server-filesystem", "/tmp"],
    &[],
).await?;

// Session store
let store = InMemorySessionStore::new();

// Event sink
let events = TracingEventSink::new();

§Adapters

§LLM Adapters (llm-genai)

Connects to LLM providers through the genai crate, supporting:

  • OpenAI (GPT-4, GPT-4o-mini, etc.)
  • Anthropic (Claude)
  • Google (Gemini)
  • Groq
  • And more…

§Tool Adapters (mcp-rmcp)

Connects to MCP (Model Context Protocol) servers:

  • Filesystem operations
  • Shell commands
  • Database queries
  • Custom tools

§Storage Adapters (store-memory)

In-memory session storage for development and testing:

  • Fast in-process storage
  • No external dependencies
  • Suitable for single-instance deployments

§Observability (observe-tracing)

Event sink using the tracing ecosystem:

  • Structured logging
  • Integration with observability tools
  • Configurable log levels

Re-exports§

pub use bob_core as core;

Modules§

approval_static
Static approval adapter for tool-call guardrails.
artifact_memory
In-memory artifact store adapter.
builtin_tools
Built-in Tool Port
checkpoint_memory
In-memory turn checkpoint store adapter.
cost_simple
Simple in-memory cost meter adapter.
llm_genai
GenAi LLM Adapter
mcp_rmcp
MCP Tool Adapter
observe
Tracing Event Sink
policy_static
Static tool-policy adapter composed from runtime and request policies.
skills_agent
Agent Skills
store_memory
In-Memory Session Store
tape_memory
In-Memory Tape Store