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

56 lines
1.3 KiB
Protocol Buffer
Raw Normal View History

2026-07-12 12:55:03 -07:00
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);
2026-07-12 14:00:39 -07:00
rpc Watch(WatchRequest) returns (stream WatchEvent);
2026-07-12 12:55:03 -07:00
}
message HandshakeRequest { string orch_protocol_version = 1; }
2026-07-12 12:55:03 -07:00
message HandshakeResponse {
string package_revision_id = 1;
string runtime_protocol_version = 2;
repeated string export_ids = 3;
2026-07-12 12:55:03 -07:00
}
message InvokeRequest {
string invocation_id = 1;
quixos.PackageExportRef export = 2;
2026-07-12 12:55:03 -07:00
string object_id = 3;
map<string, camino.Value> input = 4;
repeated quixos.InjectedDependency dependencies = 5;
2026-07-12 12:55:03 -07:00
}
message InvokeResponse {
bool ok = 1;
camino.Value result = 2;
string error = 3;
}
2026-07-12 14:00:39 -07:00
message WatchRequest {
string invocation_id = 1;
quixos.PackageExportRef export = 2;
2026-07-12 14:00:39 -07:00
string object_id = 3;
map<string, camino.Value> input = 4;
repeated quixos.InjectedDependency dependencies = 5;
2026-07-12 14:00:39 -07:00
}
message DerivedDependency {
string kind = 1;
string object_id = 2;
string attachment_id = 3;
string projection_id = 4;
2026-07-12 14:00:39 -07:00
}
message WatchEvent {
string watch_id = 1;
camino.Value value = 2;
repeated DerivedDependency dependencies = 3;
string error = 4;
bool initial = 5;
}