sbt/protocol/src/main/contraband/server.contra

152 lines
3.0 KiB
Plaintext

package sbt.protocol
@target(Scala)
@codecPackage("sbt.protocol.codec")
@fullCodec("JsonProtocol")
## Message to invoke command.
interface CommandMessage {
}
type InitCommand implements CommandMessage {
token: String
execId: String
skipAnalysis: Boolean @since("1.4.0")
}
## Command to execute sbt command.
type ExecCommand implements CommandMessage {
commandLine: String!
execId: String @since("0.0.1")
}
type SettingQuery implements CommandMessage {
setting: String!
}
type Attach implements CommandMessage {
interactive: Boolean!
}
type CompletionParams {
query: String!
level: Int @since("1.4.0")
}
## Message for events.
interface EventMessage {
}
type ChannelAcceptedEvent implements EventMessage {
channelName: String!
}
## Log event.
type LogEvent implements EventMessage {
level: String!
message: String!
}
## Status event.
type ExecStatusEvent implements EventMessage {
status: String!
channelName: String
execId: String
commandQueue: [String]
exitCode: Long @since("1.1.2")
message: String @since("1.4.0")
}
interface SettingQueryResponse implements EventMessage {}
type SettingQuerySuccess implements SettingQueryResponse {
value: sjsonnew.shaded.scalajson.ast.unsafe.JValue!
contentType: String!
}
type SettingQueryFailure implements SettingQueryResponse {
message: String!
}
type CompletionResponse {
items: [String]
cachedMainClassNames: Boolean @since("1.4.0")
cachedTestNames: Boolean @since("1.4.0")
}
# enum Status {
# Ready
# Processing
# }
## Execution event.
type ExecutionEvent {
success: String!
commandLine: String!
}
type TerminalPropertiesResponse implements EventMessage {
width: Int!
height: Int!
isAnsiSupported: Boolean!
isColorEnabled: Boolean!
isSupershellEnabled: Boolean!
isEchoEnabled: Boolean!
}
type TerminalCapabilitiesQuery implements CommandMessage {
boolean: String
numeric: String
string: String
}
type TerminalCapabilitiesResponse implements EventMessage {
boolean: Boolean
numeric: Int
string: String
}
type TerminalSetAttributesCommand implements CommandMessage {
iflag: String!,
oflag: String!,
cflag: String!,
lflag: String!,
cchars: String!,
}
type TerminalSetAttributesResponse implements EventMessage {}
type TerminalAttributesQuery implements CommandMessage {}
type TerminalAttributesResponse implements EventMessage {
iflag: String!,
oflag: String!,
cflag: String!,
lflag: String!,
cchars: String!,
}
type TerminalGetSizeQuery implements CommandMessage {}
type TerminalGetSizeResponse implements EventMessage {
width: Int!
height: Int!
}
type TerminalSetSizeCommand implements CommandMessage {
width: Int!
height: Int!
}
type TerminalSetSizeResponse implements EventMessage {}
type TerminalSetEchoCommand implements CommandMessage {
toggle: Boolean!
}
type TerminalSetEchoResponse implements EventMessage {}
type TerminalSetRawModeCommand implements CommandMessage {
toggle: Boolean!
}
type TerminalSetRawModeResponse implements EventMessage {}