syntax = "proto3"; package buildr.rpc.v1; import "rpc/v1/spec.proto"; message Buildr { message Repo { string root = 1; } message GitHub { string api_token = 1; } Repo repo = 1; GitHub github = 2; string bin_dir = 3; string out_dir = 4; } message ModuleReference { Category module_category = 1; string module_type = 2; } message TaskReference { string id = 1; string name = 2; ModuleReference module = 3; } message StartTaskRequest { TaskReference reference = 1; Buildr buildr = 2; bytes raw_task = 3; } message TaskResult { string error = 1; string modified_files_archive_path = 2; } message TaskLog { message LogAttribute { string key = 1; string value = 2; } int64 time = 1; string message = 2; int32 level = 3; repeated LogAttribute attributes = 4; } message SetState { bytes key = 1; bytes data = 2; } message GetStateRequest { bytes key = 1; } message GetStateResponse { bytes key = 1; bytes data = 2; } message Result { bool success = 1; string error = 2; } message PluginInventory { repeated ModuleReference modules = 1; }