Move quixos protocol to repository root

This commit is contained in:
Timothy J. Aveni
2026-07-12 12:55:03 -07:00
commit 63a3d99588
23 changed files with 3769 additions and 0 deletions
+86
View File
@@ -0,0 +1,86 @@
syntax = "proto3";
package quixos.orch;
import "camino/api.proto";
import "quixos/package.proto";
import "quixos/refs.proto";
service OrchestratorRuntime {
rpc InvokeFunction(InvokeFunctionRequest) returns (InvokeFunctionResponse);
rpc ListPackageDescriptors(ListPackageDescriptorsRequest) returns (ListPackageDescriptorsResponse);
rpc ListPackageRuntimes(ListPackageRuntimesRequest) returns (ListPackageRuntimesResponse);
rpc ListActivations(ListActivationsRequest) returns (ListActivationsResponse);
rpc CloseActivation(CloseActivationRequest) returns (CloseActivationResponse);
}
message InvokeFunctionRequest {
quixos.FunctionRef function = 1;
string object_id = 2;
map<string, camino.Value> input = 3;
}
message InvokeFunctionResponse {
string invocation_id = 1;
Activation activation = 2;
bool ok = 3;
camino.Value result = 4;
string error = 5;
}
message ListActivationsRequest {}
message ListPackageDescriptorsRequest {}
message ListPackageDescriptorsResponse {
repeated quixos.PackageDescriptor descriptors = 1;
}
message ListPackageRuntimesRequest {}
message ListPackageRuntimesResponse {
repeated PackageRuntimeStatus runtimes = 1;
}
message ListActivationsResponse {
repeated Activation activations = 1;
}
message CloseActivationRequest {
string activation_id = 1;
string reason = 2;
}
message CloseActivationResponse {
Activation activation = 1;
}
message Activation {
string activation_id = 1;
quixos.FunctionRef function = 2;
string object_id = 3;
string state = 4;
uint32 demand = 5;
string opened_at = 6;
string last_used_at = 7;
string idle_deadline_at = 8;
string closed_at = 9;
string close_reason = 10;
}
message PackageRuntimeStatus {
string runtime_key = 1;
string package_namespace = 2;
string package_name = 3;
uint32 descriptor_version = 4;
string source_repo = 5;
string server_installable = 6;
string source_path = 7;
string server_path = 8;
uint32 pid = 9;
string state = 10;
string started_at = 11;
string last_handshake_at = 12;
string runtime_protocol_version = 13;
uint32 advertised_function_count = 14;
}
+70
View File
@@ -0,0 +1,70 @@
syntax = "proto3";
package quixos;
import "camino/schema.proto";
import "quixos/refs.proto";
message PackageRef {
string package_namespace = 1;
string package_name = 2;
uint32 descriptor_version = 3;
string version_ref = 4;
}
message PackageDescriptor {
string package_namespace = 1;
string package_name = 2;
uint32 descriptor_version = 3;
uint32 interface_compatible_back_to = 4;
uint32 runner_compatible_back_to = 5;
string source_repo = 6;
string source_ref = 7;
string resolved_source_ref = 8;
string server_installable = 9;
string runtime_protocol_version = 10;
repeated ClassExport class_exports = 11;
repeated FunctionExport function_exports = 12;
repeated ComponentExport component_exports = 13;
repeated SidecarExport sidecar_exports = 14;
repeated PackageDependency dependencies = 15;
}
enum FunctionCapabilityKind {
FUNCTION_CAPABILITY_KIND_UNSPECIFIED = 0;
METHOD = 1;
FIELD_RESOLVER = 2;
MIGRATION = 3;
}
message ClassExport {
camino.SymbolRef class_id = 1;
string source_file = 2;
}
message FunctionExport {
FunctionRef function = 1;
string input_type = 2;
string output_type = 3;
uint32 interface_version = 4;
uint32 interface_compatible_back_to = 5;
FunctionCapabilityKind capability_kind = 6;
}
message ComponentExport {
string symbol = 1;
string props_type = 2;
repeated camino.SymbolRef supported_classes = 3;
}
message SidecarExport {
string symbol = 1;
string side_effect_mode = 2;
}
message PackageDependency {
PackageRef package = 1;
uint32 interface_compatible_back_to = 2;
bool refactor_required = 3;
string compatibility_note = 4;
}
+11
View File
@@ -0,0 +1,11 @@
syntax = "proto3";
package quixos;
message FunctionRef {
string package_namespace = 1;
string package_name = 2;
string symbol = 3;
string version_ref = 4;
string operation = 5;
}
+35
View File
@@ -0,0 +1,35 @@
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);
}
message HandshakeRequest {
string orch_protocol_version = 1;
}
message HandshakeResponse {
string package_namespace = 1;
string package_name = 2;
string runtime_protocol_version = 3;
repeated quixos.FunctionRef functions = 4;
}
message InvokeRequest {
string invocation_id = 1;
quixos.FunctionRef function = 2;
string object_id = 3;
map<string, camino.Value> input = 4;
}
message InvokeResponse {
bool ok = 1;
camino.Value result = 2;
string error = 3;
}