Files
quixos-protocol/proto/quixos/runtime.proto
T

56 lines
1.3 KiB
Protocol Buffer

syntax = "proto3";
package quixos.runtime;
import "camino/api.proto";
import "quixos/refs.proto";
service PackageRuntime {
rpc Handshake(HandshakeRequest) returns (HandshakeResponse);
rpc Invoke(InvokeRequest) returns (InvokeResponse);
rpc Watch(WatchRequest) returns (stream WatchEvent);
}
message HandshakeRequest { string orch_protocol_version = 1; }
message HandshakeResponse {
string package_revision_id = 1;
string runtime_protocol_version = 2;
repeated string export_ids = 3;
}
message InvokeRequest {
string invocation_id = 1;
quixos.PackageExportRef export = 2;
string object_id = 3;
map<string, camino.Value> input = 4;
repeated quixos.InjectedDependency dependencies = 5;
}
message InvokeResponse {
bool ok = 1;
camino.Value result = 2;
string error = 3;
}
message WatchRequest {
string invocation_id = 1;
quixos.PackageExportRef export = 2;
string object_id = 3;
map<string, camino.Value> input = 4;
repeated quixos.InjectedDependency dependencies = 5;
}
message DerivedDependency {
string kind = 1;
string object_id = 2;
string attachment_id = 3;
string projection_id = 4;
}
message WatchEvent {
string watch_id = 1;
camino.Value value = 2;
repeated DerivedDependency dependencies = 3;
string error = 4;
bool initial = 5;
}