Files
quixos-protocol/proto/camino/options.proto
T
2026-07-12 17:06:32 -07:00

71 lines
1.4 KiB
Protocol Buffer

syntax = "proto3";
package camino;
import "google/protobuf/descriptor.proto";
import "camino/schema.proto";
import "quixos/refs.proto";
extend google.protobuf.FileOptions {
string schema_namespace = 51000;
string schema_version = 51001;
}
extend google.protobuf.MessageOptions {
ClassOptions class = 51010;
repeated MethodOptions method = 51011;
repeated MigrationOptions migration = 51012;
InterfaceOptions interface = 51013;
repeated ImplementsOptions implements = 51014;
ConstructorOptions constructor = 51015;
}
extend google.protobuf.FieldOptions {
ConflictStrategy conflict = 51020;
EdgeOptions edge = 51021;
FieldStorage field_storage = 51022;
FieldOps field_ops = 51023;
InterfaceFieldContract interface_field = 51024;
}
extend google.protobuf.MethodOptions {
quixos.FunctionRef impl = 51030;
}
message ClassOptions {
uint32 version = 1;
SymbolRef id = 2;
}
message InterfaceOptions {
uint32 version = 1;
SymbolRef id = 2;
}
message ImplementsOptions {
SymbolRef interface = 1;
repeated TypeBinding type_binding = 2;
}
message ConstructorOptions {
quixos.FunctionRef function = 1;
}
message EdgeOptions {
SymbolRef id = 1;
SymbolRef target = 2;
Cardinality cardinality = 3;
string inverse = 4;
}
message MethodOptions {
string name = 1;
quixos.FunctionRef function = 2;
}
message MigrationOptions {
uint32 from_version = 1;
uint32 to_version = 2;
quixos.FunctionRef function = 3;
}