Documentation
¶
Index ¶
Constants ¶
View Source
const ( ErrProtocolStdoutContamination = "E_PROTOCOL_STDOUT_CONTAMINATION" ErrProtocolInvalidJSON = "E_PROTOCOL_INVALID_JSON" ErrProtocolUnexpectedFrame = "E_PROTOCOL_UNEXPECTED_FRAME" ErrProtocolInvalidHandshake = "E_PROTOCOL_INVALID_HANDSHAKE" ErrUnsupported = "E_UNSUPPORTED" ErrTimeout = "E_TIMEOUT" ErrCanceled = "E_CANCELED" ErrRuntime = "E_RUNTIME" )
Variables ¶
This section is empty.
Functions ¶
func ValidateHandshake ¶
Types ¶
type Capabilities ¶
type Capabilities struct {
Ops []string `json:"ops,omitempty"`
Streams []string `json:"streams,omitempty"`
Commands []CommandSpec `json:"commands,omitempty"`
}
type CommandArg ¶
type CommandSpec ¶
type CommandSpec struct {
Name string `json:"name"`
Help string `json:"help,omitempty"`
ArgsSpec []CommandArg `json:"args_spec,omitempty"`
}
type Handshake ¶
type Handshake struct {
Type FrameType `json:"type"`
ProtocolVersion ProtocolVersion `json:"protocol_version"`
PluginName string `json:"plugin_name"`
Capabilities Capabilities `json:"capabilities"`
Declares map[string]any `json:"declares,omitempty"`
}
type ProtocolVersion ¶
type ProtocolVersion string
const ProtocolV1 ProtocolVersion = "v1"
const ProtocolV2 ProtocolVersion = "v2"
type Request ¶
type Request struct {
Type FrameType `json:"type"`
RequestID string `json:"request_id"`
Op string `json:"op"`
Ctx RequestContext `json:"ctx"`
Input json.RawMessage `json:"input,omitempty"`
}
type RequestContext ¶
Click to show internal directories.
Click to hide internal directories.