f4987093f6
- define and validate the capability and resource-lock languages - provision workspace source repositories through Central Gitea - build package runtimes from pinned standalone sources - replace legacy schema compilation with workspace persistence plans - add stable optimistic registers and Automerge CRDT documents - modernize TypeScript/Nix package builds and runtime activation readiness
64 lines
1.3 KiB
Protocol Buffer
64 lines
1.3 KiB
Protocol Buffer
syntax = "proto3";
|
|
|
|
package camino;
|
|
|
|
enum Cardinality {
|
|
CARDINALITY_UNSPECIFIED = 0;
|
|
OPTIONAL_ONE = 1;
|
|
EXACTLY_ONE = 2;
|
|
MANY = 3;
|
|
MANY_UNIQUE = 4;
|
|
}
|
|
|
|
message AtomDefinition {
|
|
string atom_id = 1;
|
|
string display_name = 2;
|
|
}
|
|
|
|
message AtomConformance {
|
|
string atom_id = 1;
|
|
string interface_revision_id = 2;
|
|
}
|
|
|
|
message StateAttachment {
|
|
string slot_id = 1;
|
|
string attached_atom_id = 2;
|
|
string display_name = 3;
|
|
string value_type_json = 4;
|
|
string storage_policy_json = 5;
|
|
string default_value_json = 6;
|
|
}
|
|
|
|
message EndpointConstraint {
|
|
oneof kind {
|
|
string atom_id = 1;
|
|
string interface_revision_id = 2;
|
|
}
|
|
}
|
|
|
|
message EdgeEndpoint {
|
|
string projection_id = 1;
|
|
string display_name = 2;
|
|
EndpointConstraint constraint = 3;
|
|
Cardinality cardinality = 4;
|
|
bool ordered = 5;
|
|
}
|
|
|
|
message EdgeAttachment {
|
|
string edge_type_id = 1;
|
|
string display_name = 2;
|
|
EdgeEndpoint first = 3;
|
|
EdgeEndpoint second = 4;
|
|
}
|
|
|
|
// Camino consumes this persistence-only projection of a checked workspace.
|
|
// Interfaces, operation bindings, packages, and constructors stay in orch.
|
|
message PersistencePlan {
|
|
string workspace_id = 1;
|
|
string workspace_revision_id = 2;
|
|
repeated AtomDefinition atoms = 3;
|
|
repeated AtomConformance conformances = 4;
|
|
repeated StateAttachment states = 5;
|
|
repeated EdgeAttachment edges = 6;
|
|
}
|