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-liter (default): LLM adapter using the liter-llm crate
  • mcp-rmcp (default): Tool adapter for MCP servers via rmcp
  • skills-agent (default): Skill loading and composition via bob-skills
  • store-memory (default): In-memory session storage
  • observe-tracing (default): Event sink using tracing

§Example

use bob_adapters::{
    llm_liter::LiterLlmAdapter,
    mcp_rmcp::McpToolAdapter,
    store_memory::InMemorySessionStore,
    observe::TracingEventSink,
};
use liter_llm::{ClientConfig, DefaultClient, LlmClient};
use std::sync::Arc;

// LLM adapter
let config = ClientConfig::new(std::env::var("OPENAI_API_KEY").unwrap_or_default());
let client = Arc::new(DefaultClient::new(config, None).unwrap());
let llm = LiterLlmAdapter::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-liter)

Connects to LLM providers through the liter-llm 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§

access_control
Static access control adapter based on per-channel allowlists.
approval_static
Static approval adapter for tool-call guardrails.
artifact_file
File-backed artifact store adapter.
artifact_memory
In-memory artifact store adapter.
builtin_tools
Built-in Tool Port
checkpoint_file
File-backed turn checkpoint store adapter.
checkpoint_memory
In-memory turn checkpoint store adapter.
cost_file
File-backed cost meter adapter.
cost_simple
Simple in-memory cost meter adapter.
journal_file
File-Backed Activity Journal
journal_memory
In-Memory Journal Implementations
llm_liter
Liter LLM Adapter
mcp_rmcp
MCP Tool Adapter
observe
Tracing Event Sink
openai_schema
OpenAI JSON Schema Transformer
policy_static
Static tool-policy adapter composed from runtime and request policies.
provider_router
Provider Router
skills_agent
Agent Skills
store_file
File-backed session store adapter.
store_memory
In-Memory Session Store
tape_memory
In-Memory Tape Store