connect static method
Future<AcpAgent>
connect(
- AcpTransport transport, {
- AgentClientServices client = const AgentClientServices(),
- AgentInfo clientInfo = const semantic.AgentInfo(name: 'agent_harness', version: agentHarnessVersion),
Initializes an already-created transport, primarily for custom transports and deterministic integration tests.
Implementation
static Future<AcpAgent> connect(
AcpTransport transport, {
AgentClientServices client = const AgentClientServices(),
semantic.AgentInfo clientInfo = const semantic.AgentInfo(
name: 'agent_harness',
version: agentHarnessVersion,
),
}) async {
final connection = AcpV1Connection(transport, services: client);
try {
final initialized = await connection.initialize(
wire.InitializeRequest(
protocolVersion: const wire.ProtocolVersion(1),
clientCapabilities: client.v1Capabilities,
clientInfo: wire.Implementation(
name: clientInfo.name,
title: clientInfo.title,
version: clientInfo.version,
),
),
);
return AcpAgent._(
transport: transport,
connection: connection,
initialized: initialized,
adapter: AcpV1SemanticAdapter(),
);
} catch (error, stackTrace) {
await connection.close();
throwWrappedAcpConnection(error, stackTrace);
}
}