colmugx/acp/client does not have a README file
type ClientTerminalWaitForExitHandler = async (TerminalWaitForExitParams) -> TerminalWaitForExitResultpub(all) suberror ClientConnectionError {
ClientConnectionUnsupportedVersion(method_name~ : String, version~ : Int)
ClientConnectionUnavailable(method_name~ : String)
ClientConnectionCancelled(method_name~ : String)
ClientConnectionBrokerFailure(method_name~ : String)
ClientConnectionReplyMismatch(method_name~ : String, expected~ : String, actual~ : String)
} derive(Eq, Debug)pub(all) enum ClientAdapterAdmission {
Immediate(ClientAdapterStep)
Invoke(state~ : ClientAdapterState, invocation~ : ClientAdapterInvocation)
}pub(all) enum ClientAdapterCommand {
CancelRequest(request_id~ : RequestId)
TraceError(method_name~ : String, error~ : JsonRpcError)
} derive(Eq, Debug)pub(all) enum ClientAdapterCompletion {
RequestPermissionCompleted(id~ : RequestId, result~ : Result[RequestPermissionResponse, HandlerError])
FsReadTextFileCompleted(id~ : RequestId, result~ : Result[ReadTextFileResult, HandlerError])
FsWriteTextFileCompleted(id~ : RequestId, result~ : Result[WriteTextFileResult, HandlerError])
TerminalCreateCompleted(id~ : RequestId, result~ : Result[TerminalCreateResult, HandlerError])
TerminalOutputCompleted(id~ : RequestId, result~ : Result[TerminalOutputResult, HandlerError])
TerminalWaitForExitCompleted(id~ : RequestId, result~ : Result[TerminalWaitForExitResult, HandlerError])
TerminalKillCompleted(id~ : RequestId, result~ : Result[TerminalKillResult, HandlerError])
TerminalReleaseCompleted(id~ : RequestId, result~ : Result[TerminalReleaseResult, HandlerError])
ElicitationCreateCompleted(id~ : RequestId, result~ : Result[ElicitationCreateResult, HandlerError])
SessionUpdateCompleted(result~ : Result[Unit, HandlerError])
ElicitationCompleteCompleted(result~ : Result[Unit, HandlerError])
} derive(Eq, Debug)pub(all) enum ClientAdapterInvocation {
RequestPermissionInvocation(id~ : RequestId, params~ : RequestPermissionRequest)
FsReadTextFileInvocation(id~ : RequestId, params~ : ReadTextFileParams)
FsWriteTextFileInvocation(id~ : RequestId, params~ : WriteTextFileParams)
TerminalCreateInvocation(id~ : RequestId, params~ : TerminalCreateParams)
TerminalOutputInvocation(id~ : RequestId, params~ : TerminalOutputParams)
TerminalWaitForExitInvocation(id~ : RequestId, params~ : TerminalWaitForExitParams)
TerminalKillInvocation(id~ : RequestId, params~ : TerminalKillParams)
TerminalReleaseInvocation(id~ : RequestId, params~ : TerminalReleaseParams)
ElicitationCreateInvocation(id~ : RequestId, params~ : ElicitationCreateParams)
SessionUpdateInvocation(params~ : SessionUpdateParams)
ElicitationCompleteInvocation(params~ : ElicitationCompleteParams)
} derive(Eq, Debug)pub(all) enum ClientAdapterOutput {
Response(JsonRpcResponse)
Command(ClientAdapterCommand)
} derive(Eq, Debug)pub(all) struct ClientAdapterStep {
state : ClientAdapterState
outputs : Array[ClientAdapterOutput]
} derive(Eq, Debug)pub struct ClientConnection {
request_broker : async (AgentRequest) -> Result[ClientReply, ClientConnectionError]
notification_broker : (AgentNotification) -> Result[Unit, ClientConnectionError]
}async fn ClientConnection::authenticate(self : ClientConnection, params : AuthenticateParams) -> AuthenticateResult raise ClientConnectionErrorfn ClientConnection::cancel(self : ClientConnection, params : CancelParams) -> Unit raise ClientConnectionErrorfn ClientConnection::cancel_request(self : ClientConnection, request_id : RequestId) -> Unit raise ClientConnectionErrorasync fn ClientConnection::close_session(self : ClientConnection, params : CloseSessionParams) -> CloseSessionResult raise ClientConnectionErrorasync fn ClientConnection::delete_session(self : ClientConnection, params : DeleteSessionParams) -> DeleteSessionResult raise ClientConnectionErrorasync fn ClientConnection::initialize(self : ClientConnection, params : InitializeParams) -> InitializeResult raise ClientConnectionErrorasync fn ClientConnection::list_sessions(self : ClientConnection, params : ListSessionsParams) -> ListSessionsResult raise ClientConnectionErrorasync fn ClientConnection::load_session(self : ClientConnection, params : LoadSessionParams) -> LoadSessionResult raise ClientConnectionErrorasync fn ClientConnection::logout(self : ClientConnection, params : LogoutParams) -> LogoutResult raise ClientConnectionErrorasync fn ClientConnection::new_session(self : ClientConnection, params : NewSessionParams) -> NewSessionResult raise ClientConnectionErrorasync fn ClientConnection::prompt(self : ClientConnection, params : PromptParams) -> PromptResult raise ClientConnectionErrorasync fn ClientConnection::resume_session(self : ClientConnection, params : ResumeSessionParams) -> ResumeSessionResult raise ClientConnectionErrorasync fn ClientConnection::set_config_option(self : ClientConnection, params : SetSessionConfigOptionParams) -> SetSessionConfigOptionResult raise ClientConnectionErrorasync fn ClientConnection::set_mode(self : ClientConnection, params : SetSessionModeParams) -> SetSessionModeResult raise ClientConnectionErrorpub struct ClientElicitationService {
form_handler : async (ElicitationFormParams) -> ElicitationCreateResult?
url_handler : async (ElicitationUrlParams) -> ElicitationCreateResult?
complete_handler : async (ElicitationCompleteParams) -> Unit?
}pub struct ClientEndpoint {
info : Implementation
session : ClientSessionService
file_system : ClientFileSystemService?
terminal : ClientTerminalService?
elicitation : ClientElicitationService?
capabilities : ClientCapabilities
}async fn ClientEndpoint::elicitation_complete(self : ClientEndpoint, params : ElicitationCompleteParams) -> Unit raise HandlerErrorasync fn ClientEndpoint::elicitation_form(self : ClientEndpoint, params : ElicitationFormParams) -> ElicitationCreateResult raise HandlerErrorasync fn ClientEndpoint::elicitation_url(self : ClientEndpoint, params : ElicitationUrlParams) -> ElicitationCreateResult raise HandlerErrorasync fn ClientEndpoint::read_text_file(self : ClientEndpoint, params : ReadTextFileParams) -> ReadTextFileResult raise HandlerErrorasync fn ClientEndpoint::request_permission(self : ClientEndpoint, request : RequestPermissionRequest) -> RequestPermissionResponse raise HandlerErrorasync fn ClientEndpoint::session_update(self : ClientEndpoint, params : SessionUpdateParams) -> Unit raise HandlerErrorasync fn ClientEndpoint::terminal_create(self : ClientEndpoint, params : TerminalCreateParams) -> TerminalCreateResult raise HandlerErrorasync fn ClientEndpoint::terminal_kill(self : ClientEndpoint, params : TerminalKillParams) -> TerminalKillResult raise HandlerErrorasync fn ClientEndpoint::terminal_output(self : ClientEndpoint, params : TerminalOutputParams) -> TerminalOutputResult raise HandlerErrorasync fn ClientEndpoint::terminal_release(self : ClientEndpoint, params : TerminalReleaseParams) -> TerminalReleaseResult raise HandlerErrorasync fn ClientEndpoint::terminal_wait_for_exit(self : ClientEndpoint, params : TerminalWaitForExitParams) -> TerminalWaitForExitResult raise HandlerErrorasync fn ClientEndpoint::write_text_file(self : ClientEndpoint, params : WriteTextFileParams) -> WriteTextFileResult raise HandlerErrorpub struct ClientFileSystemService {
read_handler : async (ReadTextFileParams) -> ReadTextFileResult?
write_handler : async (WriteTextFileParams) -> WriteTextFileResult?
}pub(all) enum ClientReply {
ClientReplyInitialize(InitializeResult)
ClientReplyAuthenticate(AuthenticateResult)
ClientReplyLogout(LogoutResult)
ClientReplyNewSession(NewSessionResult)
ClientReplyLoadSession(LoadSessionResult)
ClientReplyResumeSession(ResumeSessionResult)
ClientReplyListSessions(ListSessionsResult)
ClientReplyDeleteSession(DeleteSessionResult)
ClientReplyCloseSession(CloseSessionResult)
ClientReplySetMode(SetSessionModeResult)
ClientReplySetConfigOption(SetSessionConfigOptionResult)
ClientReplyPrompt(PromptResult)
} derive(Eq, Debug)pub struct ClientSessionService {
session_update_handler : async (SessionUpdateParams) -> Unit
request_permission_handler : async (RequestPermissionRequest) -> RequestPermissionResponse
}pub struct ClientSpec {
info : Implementation
session : ClientSessionService
file_system : ClientFileSystemService?
terminal : ClientTerminalService?
elicitation : ClientElicitationService?
}pub struct ClientTerminalService {
create_handler : async (TerminalCreateParams) -> TerminalCreateResult
output_handler : async (TerminalOutputParams) -> TerminalOutputResult
wait_for_exit_handler : async (TerminalWaitForExitParams) -> TerminalWaitForExitResult
kill_handler : async (TerminalKillParams) -> TerminalKillResult
release_handler : async (TerminalReleaseParams) -> TerminalReleaseResult
}fn client_adapter_admit(state : ClientAdapterState, endpoint : ClientEndpoint, message : JsonRpcMessage) -> ClientAdapterAdmission raise ClientAdapterErrorfn client_adapter_cancel_completion(invocation : ClientAdapterInvocation) -> ClientAdapterCompletionfn client_adapter_complete(state : ClientAdapterState, invocation : ClientAdapterInvocation, completion : ClientAdapterCompletion) -> ClientAdapterStep raise ClientAdapterErrorasync fn client_adapter_execute(invocation : ClientAdapterInvocation, endpoint : ClientEndpoint) -> ClientAdapterCompletion noraisefn client_adapter_failure_completion(invocation : ClientAdapterInvocation) -> ClientAdapterCompletionasync fn client_connect_process(endpoint_factory~ : (RuntimeOutboundChannel[ClientAdapterCompletion]) -> ClientEndpoint, initial_state~ : ClientAdapterState, handlers~ : RuntimeHandlerPort, command~ : String, args? : Array[String], extra_env? : Map[String, String], inherit_env? : Bool, spawned? : (RuntimeProcessPorts) -> Unit, options? : RuntimeOptions, trace? : (RuntimeTraceEvent) -> Unit) -> Unitfn client_connection(request_broker~ : async (AgentRequest) -> Result[ClientReply, ClientConnectionError], notification_broker~ : (AgentNotification) -> Result[Unit, ClientConnectionError]) -> ClientConnectionfn client_elicitation_service(form? : async (ElicitationFormParams) -> ElicitationCreateResult, url? : async (ElicitationUrlParams) -> ElicitationCreateResult, complete? : async (ElicitationCompleteParams) -> Unit) -> ClientElicitationService raise ClientCompositionErrorfn client_file_system_service(read? : async (ReadTextFileParams) -> ReadTextFileResult, write? : async (WriteTextFileParams) -> WriteTextFileResult) -> ClientFileSystemService raise ClientCompositionErrorfn[Env] client_program(spec_program : Reader[Env, Result[ClientSpec, ClientCompositionError]]) -> Reader[Env, Result[ClientEndpoint, ClientCompositionError]]fn[Env] client_program_from(project : (Env) -> Result[ClientSpec, ClientCompositionError]) -> Reader[Env, Result[ClientEndpoint, ClientCompositionError]]fn client_runtime_owner_port(endpoint~ : ClientEndpoint, initial_state~ : ClientAdapterState) -> RuntimeOwnerPort[ClientAdapterState, ClientAdapterInvocation, ClientAdapterCompletion, ClientAdapterCommand]async fn client_runtime_run(endpoint~ : ClientEndpoint, initial_state~ : ClientAdapterState, ports~ : RuntimePorts, options~ : RuntimeOptions) -> Unitasync fn client_runtime_run_with_outbound(endpoint_factory~ : (RuntimeOutboundChannel[ClientAdapterCompletion]) -> ClientEndpoint, initial_state~ : ClientAdapterState, ports~ : RuntimePorts, options~ : RuntimeOptions) -> Unitfn client_session_service(session_update~ : async (SessionUpdateParams) -> Unit, request_permission~ : async (RequestPermissionRequest) -> RequestPermissionResponse) -> ClientSessionServicefn client_spec(info~ : Implementation, session~ : ClientSessionService, file_system? : ClientFileSystemService, terminal? : ClientTerminalService, elicitation? : ClientElicitationService) -> Result[ClientSpec, ClientCompositionError]fn client_terminal_service(create~ : async (TerminalCreateParams) -> TerminalCreateResult, output~ : async (TerminalOutputParams) -> TerminalOutputResult, wait_for_exit~ : async (TerminalWaitForExitParams) -> TerminalWaitForExitResult, kill~ : async (TerminalKillParams) -> TerminalKillResult, release~ : async (TerminalReleaseParams) -> TerminalReleaseResult) -> ClientTerminalServiceDependencies