module ACP
Defined in:
acp.cracp/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
-
.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.
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.