56 lines
1.3 KiB
Protocol Buffer
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;
|
|
}
|