Expose bounded snapshot-bound definition reads and latest-only watches from the serving checked bundle. Add checked reflection dependency ports, generated SDK bindings and selector-scoped invocation authority. Move Studio factory, contract and query discovery to public reflection inventories. Share an active-definition watch across canvas and standalone routes and invalidate/reload on epoch changes instead of polling GetWorkspace. Document the API and deferred scope; cover compiler/codegen, SDK injection, transport authorization, activation publication, pagination and reconnect behavior. Keep all work local; no deployment or publication.
79 lines
1.9 KiB
Protocol Buffer
79 lines
1.9 KiB
Protocol Buffer
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;
|
|
}
|