module ACP

Defined in:

acp.cr
acp/client.cr
acp/errors.cr
acp/protocol/capabilities.cr
acp/protocol/client_methods.cr
acp/protocol/content_block.cr
acp/protocol/enums.cr
acp/protocol/tool_call_content.cr
acp/protocol/types.cr
acp/protocol/updates.cr
acp/session.cr
acp/transport.cr
acp/version.cr

Constant Summary

ClientLog = ::Log.for("acp.client")

Logger for client-level diagnostics.

Log = ::Log.for("acp.transport")

Logger for transport-level diagnostics.

PROTOCOL_VERSION = 1_u16

The ACP protocol version this client implements. This is sent during the initialize handshake.

VERSION = "0.1.0"

Class Method Summary

Class Method Detail

def self.connect(command : String, args : Array(String) = [] of String, client_name : String = "acp-crystal", client_version : String = VERSION, capabilities : Protocol::ClientCapabilities = Protocol::ClientCapabilities.new, env : Process::Env = nil, chdir : String | Nil = nil) : Client #

Shortcut to create a client connected to a local agent process via stdio.

  • command — the agent executable path or name.
  • args — command-line arguments for the agent.
  • client_name — name to identify this client during initialization.
  • client_version — version string for the client.
  • capabilities — client capabilities to advertise.
  • env — optional environment variables for the agent process.
  • chdir — optional working directory for the agent process.

Returns an initialized ACP::Client connected to the spawned agent. The caller is responsible for calling client.close when done.


[View source]