syntax = "proto3"; package quixos; message CapabilityRef { string interface_revision_id = 1; string operation_id = 2; // Optional fence for a view acquired through TryConform. Not an authority grant. ConformanceWitness conformance = 3; } // Resolved native editing semantics. A source snapshot alone grants no writer. message FieldEditing { string getter_operation_id = 1; string setter_operation_id = 2; string document_type = 3; string binding_digest = 4; enum Mode { UNSPECIFIED = 0; REGISTER = 1; CRDT = 2; } Mode mode = 5; } message ConformanceWitness { string object_id = 1; string interface_revision_id = 2; string conformance_id = 3; string workspace_revision_id = 4; string workspace_epoch = 5; } message PackageExportRef { string package_revision_id = 1; string export_id = 2; } message InjectedDependency { string port_id = 1; oneof binding { string state_slot_id = 2; EdgeDependency edge = 3; string interface_revision_id = 4; string constructor_atom_id = 5; string query_id = 7; WorkspaceQueryDependency workspace_query = 8; ReflectionDependency reflection = 9; } // Defaults to the invocation receiver. A checked dependency traversal can // select a related object explicitly before the package runtime starts. string object_id = 6; } message ReflectionDependency { string workspace_id = 1; string workspace_epoch = 2; repeated string selectors = 3; } // Scope evidence is not authority by itself. The caller must also hold the // matching workspace-query grant (or the authenticated workspace user grant). message WorkspaceQueryScope { string workspace_id = 1; string workspace_revision_id = 2; string workspace_epoch = 3; string interface_revision_id = 4; string binding_digest = 5; } message WorkspaceQueryDependency { string query_id = 1; WorkspaceQueryScope scope = 2; } message EdgeDependency { string edge_type_id = 1; string projection_id = 2; }