public interface AcpAsyncAgent
The agent is the server-side component in the ACP protocol, responsible for:
AcpAgent,
AcpSyncAgent| 限定符和类型 | 方法和说明 |
|---|---|
reactor.core.publisher.Mono<java.lang.Void> |
awaitTermination()
Returns a Mono that completes when the agent terminates.
|
void |
close()
Closes the agent immediately.
|
reactor.core.publisher.Mono<java.lang.Void> |
closeGracefully()
Closes the agent gracefully, allowing pending operations to complete.
|
reactor.core.publisher.Mono<AcpSchema.CreateTerminalResponse> |
createTerminal(AcpSchema.CreateTerminalRequest request)
Requests the client to create a terminal.
|
NegotiatedCapabilities |
getClientCapabilities()
Returns the capabilities negotiated with the client during initialization.
|
reactor.core.publisher.Mono<AcpSchema.TerminalOutputResponse> |
getTerminalOutput(AcpSchema.TerminalOutputRequest request)
Requests terminal output from the client.
|
reactor.core.publisher.Mono<AcpSchema.KillTerminalCommandResponse> |
killTerminal(AcpSchema.KillTerminalCommandRequest request)
Requests the client to kill a terminal.
|
reactor.core.publisher.Mono<AcpSchema.ReadTextFileResponse> |
readTextFile(AcpSchema.ReadTextFileRequest request)
Requests the client to read a text file.
|
reactor.core.publisher.Mono<AcpSchema.ReleaseTerminalResponse> |
releaseTerminal(AcpSchema.ReleaseTerminalRequest request)
Requests the client to release a terminal.
|
reactor.core.publisher.Mono<AcpSchema.RequestPermissionResponse> |
requestPermission(AcpSchema.RequestPermissionRequest request)
Requests permission from the client for a sensitive operation.
|
reactor.core.publisher.Mono<java.lang.Void> |
sendSessionUpdate(java.lang.String sessionId,
AcpSchema.SessionUpdate update)
Sends a session update notification to the client.
|
reactor.core.publisher.Mono<java.lang.Void> |
start()
Starts the agent, beginning to accept client connections.
|
reactor.core.publisher.Mono<AcpSchema.WaitForTerminalExitResponse> |
waitForTerminalExit(AcpSchema.WaitForTerminalExitRequest request)
Waits for a terminal to exit.
|
reactor.core.publisher.Mono<AcpSchema.WriteTextFileResponse> |
writeTextFile(AcpSchema.WriteTextFileRequest request)
Requests the client to write a text file.
|
reactor.core.publisher.Mono<java.lang.Void> start()
reactor.core.publisher.Mono<java.lang.Void> awaitTermination()
Example usage:
agent.start().block();
agent.awaitTermination().block(); // Block until transport closes
NegotiatedCapabilities getClientCapabilities()
This method returns null if initialization has not been completed yet.
Use this to check what features the client supports before calling
methods like readTextFile(com.agentclientprotocol.sdk.spec.AcpSchema.ReadTextFileRequest) or createTerminal(com.agentclientprotocol.sdk.spec.AcpSchema.CreateTerminalRequest).
reactor.core.publisher.Mono<java.lang.Void> sendSessionUpdate(java.lang.String sessionId,
AcpSchema.SessionUpdate update)
sessionId - The session IDupdate - The session update to sendreactor.core.publisher.Mono<AcpSchema.RequestPermissionResponse> requestPermission(AcpSchema.RequestPermissionRequest request)
request - The permission requestreactor.core.publisher.Mono<AcpSchema.ReadTextFileResponse> readTextFile(AcpSchema.ReadTextFileRequest request)
request - The read file requestreactor.core.publisher.Mono<AcpSchema.WriteTextFileResponse> writeTextFile(AcpSchema.WriteTextFileRequest request)
request - The write file requestreactor.core.publisher.Mono<AcpSchema.CreateTerminalResponse> createTerminal(AcpSchema.CreateTerminalRequest request)
request - The create terminal requestreactor.core.publisher.Mono<AcpSchema.TerminalOutputResponse> getTerminalOutput(AcpSchema.TerminalOutputRequest request)
request - The terminal output requestreactor.core.publisher.Mono<AcpSchema.ReleaseTerminalResponse> releaseTerminal(AcpSchema.ReleaseTerminalRequest request)
request - The release terminal requestreactor.core.publisher.Mono<AcpSchema.WaitForTerminalExitResponse> waitForTerminalExit(AcpSchema.WaitForTerminalExitRequest request)
request - The wait for exit requestreactor.core.publisher.Mono<AcpSchema.KillTerminalCommandResponse> killTerminal(AcpSchema.KillTerminalCommandRequest request)
request - The kill terminal requestreactor.core.publisher.Mono<java.lang.Void> closeGracefully()
void close()