Module: SimpleAcp

Defined in:
lib/simple_acp.rb,
lib/simple_acp/version.rb,
lib/simple_acp/client/sse.rb,
lib/simple_acp/models/run.rb,
lib/simple_acp/server/app.rb,
lib/simple_acp/client/base.rb,
lib/simple_acp/models/base.rb,
lib/simple_acp/server/base.rb,
lib/simple_acp/models/await.rb,
lib/simple_acp/models/types.rb,
lib/simple_acp/server/agent.rb,
lib/simple_acp/storage/base.rb,
lib/simple_acp/models/errors.rb,
lib/simple_acp/models/events.rb,
lib/simple_acp/storage/redis.rb,
lib/simple_acp/models/message.rb,
lib/simple_acp/models/session.rb,
lib/simple_acp/server/context.rb,
lib/simple_acp/storage/memory.rb,
lib/simple_acp/models/metadata.rb,
lib/simple_acp/storage/postgresql.rb,
lib/simple_acp/models/message_part.rb,
lib/simple_acp/server/falcon_runner.rb,
lib/simple_acp/models/agent_manifest.rb

Overview

Ruby implementation of the Agent Communication Protocol (ACP). Provides server and client implementations for AI agent communication with support for synchronous, asynchronous, and streaming execution modes.

Examples:

Creating a server

server = SimpleAcp::Server::Base.new
server.agent("echo", description: "Echoes input") do |context|
  SimpleAcp::Models::Message.agent(context.input.first.text_content)
end
server.run(port: 8000)

Using the client

client = SimpleAcp::Client::Base.new(base_url: "http://localhost:8000")
run = client.run_sync(agent: "echo", input: "Hello!")
puts run.output.first.text_content

See Also:

Defined Under Namespace

Modules: Client, Models, Server, Storage Classes: ConfigurationError, Error, NotFoundError, RunError, ValidationError

Constant Summary collapse

VERSION =
"0.0.1"

Class Attribute Summary collapse

Class Method Summary collapse

Class Attribute Details

.logger ⇒ Logger?

Returns optional logger for debugging.

Returns:

  • (Logger, nil) —

    optional logger for debugging



72
73
74
# File 'lib/simple_acp.rb', line 72

def logger
  @logger
end

Class Method Details

.configure {|self| ... } ⇒ void

This method returns an undefined value.

Configure the SimpleAcp module

Examples:

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

Yields:

  • (self) —

    yields self for configuration



83
84
85
# File 'lib/simple_acp.rb', line 83

def configure
  yield self if block_given?
end