Package-level declarations

Types

Link copied to clipboard
@Serializable
@SerialName(value = "connection_ack")
data object AckConnectionMessage : ServerMessage
Link copied to clipboard
@Serializable
data class AgentPayloadMessage(val content: String)
Link copied to clipboard
@Serializable
data class AgentRequestVariables(val request: AgentRequest, val agentName: String?)
Link copied to clipboard
@Serializable
sealed interface ClientMessage

Client messages

Link copied to clipboard
@Serializable
data class ClientPayload(val query: String, val variables: AgentRequestVariables)
Link copied to clipboard
@Serializable
@SerialName(value = "complete")
data class CompleteMessage(val id: String) : ServerMessage
Link copied to clipboard
@Serializable
data class DataPayload(val agent: AgentResult)
Link copied to clipboard
@Serializable
@SerialName(value = "error")
data class ErrorMessage(val id: String, val payload: List<ErrorPayloadMessage>) : ServerMessage
Link copied to clipboard
@Serializable
data class ErrorPayloadMessage(val message: String)
Link copied to clipboard
class GraphQlAgentClient(defaultUrl: String? = null) : AgentClient, Closeable

Implementation of AgentClient that uses GraphQL over WebSockets to communicate with the agents. See https://github.com/enisdenjo/graphql-ws/blob/master/PROTOCOL.md

Link copied to clipboard
@Serializable
@SerialName(value = "connection_init")
data object InitConnectionMessage : ClientMessage
Link copied to clipboard
@Serializable
@SerialName(value = "next")
data class NextMessage(val id: String, val payload: ServerPayload) : ServerMessage
Link copied to clipboard
@Serializable
sealed interface ServerMessage

Server messages

Link copied to clipboard
@Serializable
data class ServerPayload(val data: DataPayload)
Link copied to clipboard
@Serializable
@SerialName(value = "subscribe")
data class SubscribeMessage(val id: String, val payload: ClientPayload) : ClientMessage