Skip to content

API Reference

Complete API documentation for SimpleAcp classes and modules.

Overview

SimpleAcp is organized into these main namespaces:

SimpleAcp
├── Server
│   ├── Base          # Main server class
│   ├── App           # Roda HTTP application
│   ├── Context       # Execution context
│   └── Agent         # Agent wrapper
├── Client
│   ├── Base          # HTTP client
│   └── SSE           # SSE parsing
├── Models
│   ├── Message       # Messages
│   ├── MessagePart   # Message content
│   ├── Run           # Run execution
│   ├── Session       # Sessions
│   ├── Events        # Event types
│   └── ...           # Other models
└── Storage
    ├── Base          # Abstract interface
    ├── Memory        # In-memory storage
    ├── Redis         # Redis storage
    └── PostgreSQL    # PostgreSQL storage
  • Server::Base


    Main server class for hosting agents

    Server::Base

  • Client::Base


    HTTP client for ACP servers

    Client::Base

  • Models


    Data models for messages, runs, sessions

    Models

  • Storage


    Storage backend interface

    Storage

Configuration

Global Configuration

SimpleAcp.configure do |config|
  config.logger = Logger.new(STDOUT)
end

Exception Classes

SimpleAcp::Error           # Base exception class
SimpleAcp::ConfigError     # Configuration errors
SimpleAcp::ValidationError # Input validation errors

Constants

SimpleAcp::VERSION  # Gem version string

Module Methods

SimpleAcp.configure

Configure global settings.

SimpleAcp.configure do |config|
  # Configuration options
end

Architecture

classDiagram
    class Server {
        +agents
        +storage
        +agent()
        +register()
        +run_sync()
        +run_async()
        +run_stream()
    }

    class Client {
        +base_url
        +ping()
        +agents()
        +run_sync()
        +run_stream()
    }

    class Storage {
        +get_run()
        +save_run()
        +get_session()
        +save_session()
    }

    class Run {
        +run_id
        +status
        +output
    }

    class Session {
        +id
        +history
        +state
    }

    Server --> Storage
    Server --> Run
    Server --> Session
    Client --> Run

Detailed Documentation