Extend Camino edge endpoint protocol

This commit is contained in:
Timothy J. Aveni
2026-07-14 07:55:04 -07:00
parent 464442a55c
commit 7dba68cff5
6 changed files with 269 additions and 27 deletions
+5
View File
@@ -188,6 +188,7 @@ message CaminoEdge {
string edge_type_id = 2;
string from_object_id = 3;
string to_object_id = 4;
// Legacy canonical source-side projection fields. Prefer endpoint fields.
string source_field = 5;
string cardinality = 6;
string inverse = 7;
@@ -195,6 +196,10 @@ message CaminoEdge {
optional int32 ordinal = 9;
string created_at = 10;
string updated_at = 11;
string from_projection = 12;
string to_projection = 13;
string from_cardinality = 14;
string to_cardinality = 15;
}
message CaminoOp {
+15
View File
@@ -54,9 +54,24 @@ message ConstructorOptions {
message EdgeOptions {
SymbolRef id = 1;
// Shorthand for other_endpoint.class.
SymbolRef target = 2;
// Shorthand for this_endpoint.cardinality.
Cardinality cardinality = 3;
// Shorthand for other_endpoint.projection.
string inverse = 4;
EdgeEndpointOptions this_endpoint = 5;
EdgeEndpointOptions other_endpoint = 6;
repeated SymbolRef tag = 7;
repeated SymbolRef implements = 8;
}
message EdgeEndpointOptions {
SymbolRef class = 1;
SymbolRef interface = 2;
string projection = 3;
Cardinality cardinality = 4;
bool indexed = 5;
}
message MethodOptions {
+15
View File
@@ -25,6 +25,7 @@ enum Cardinality {
MANY = 3;
MANY_UNIQUE = 4;
MANY_ORDERED = 5;
MANY_UNIQUE_ORDERED = 6;
}
enum DocRefStrength {
@@ -147,12 +148,26 @@ message FieldOps {
message EdgeSchema {
SymbolRef id = 1;
// Legacy/source-side projection fields. Prefer from_endpoint/to_endpoint.
string source_field = 2;
SymbolRef from_class = 3;
SymbolRef to_class = 4;
Cardinality cardinality = 5;
string inverse = 6;
repeated FieldSchema fields = 7;
EdgeEndpointSchema from_endpoint = 8;
EdgeEndpointSchema to_endpoint = 9;
SymbolRef declaring_class = 10;
repeated SymbolRef tags = 11;
repeated SymbolRef implements = 12;
}
message EdgeEndpointSchema {
SymbolRef class = 1;
SymbolRef interface = 2;
string projection = 3;
Cardinality cardinality = 4;
bool indexed = 5;
}
message MethodSchema {