1
1
mirror of https://github.com/github/semantic.git synced 2024-12-29 18:06:14 +03:00
semantic/semantic.proto
2018-05-29 16:30:56 -04:00

75 lines
1.2 KiB
Protocol Buffer

syntax = "proto3";
import "semantic-types.proto";
package semantic;
message HealthCheckRequest {
string service = 1;
}
message HealthCheckResponse {
enum ServingStatus {
UNKNOWN = 0;
SERVING = 1;
NOT_SERVING = 2;
}
ServingStatus status = 1;
}
service SemanticAPI {
rpc HealthCheck(HealthCheckRequest) returns (HealthCheckResponse);
rpc FetchSummaries (SummariesRequest) returns (SummariesResponse) {}
rpc ParseBlobs (ParseRequest) returns (ParseResponse) {}
}
message SummariesRequest {
repeated BlobPair blobPairs = 1;
}
message ParseRequest {
repeated Blob source = 1;
}
message BlobPair {
Blob before = 1;
Blob after = 2;
}
message Blob {
string source = 1;
string path = 2;
string language = 3;
}
message SummariesResponse {
repeated Summary changes = 1;
repeated Error errors = 2;
}
message ParseResponse {
bytes json_tree = 1;
repeated Error errors = 2;
}
message Summary {
string categoryName = 1;
string termName = 2;
Span span = 3;
string changeType = 4;
}
message Error {
string error = 1;
Span span = 2;
string language = 3;
}
message Span {
Pos start = 1;
Pos end = 2;
}
message Pos {
int32 line = 1;
int32 column = 2;
}