ExecutionCommandPermission.Relations: type of bendvy-ecs-core@0.1.0.3 Import: import bendvy-ecs-core@0.1.0.3/execution_command_permission.bend as ExecutionCommandPermission Lines 18-23 of bendvy-ecs-core@0.1.0.3/execution_command_permission.bend: https://jend.leeeet.dev/read.txt?path=bendvy-ecs-core@0.1.0.3/execution_command_permission.bend&start_line=18&end_line=23 import Base import bendvy-ecs-core@0.1.0.3/execution_composer_layout.bend as Layout import bendvy-ecs-core@0.1.0.3/execution_resource_policy.bend as Policy import bendvy-ecs-core@0.1.0.3/execution_relation_store.bend as RelationStore import bendvy-ecs-core@0.1.0.3/relation_types.bend as Relation import bendvy-ecs-core@0.1.0.3/execution_lifetime_scope_store.bend as ScopeStore # This closed algebra retains schema evidence supplied by the same declaration. # A route selects a grant; it never creates any of these type equalities. type Relations<-S:Data,-resources:Layout.Layout> is Data: NoRelations{} RelationAllowed{route:Layout.Route,valid:{Layout.grant_valid(~resources,~route) == True{} : Bool},descriptor:Relation.Descriptor,payload:{Layout.payload(resources,route) == RelationStore.Store : Type},view:{Layout.view(resources,route) == RelationStore.View : Data},protected:{Layout.policy(resources,route) == Policy.ProtectedRelation{S,descriptor} : Policy.Policy},rest:Relations} ScopeAllowed{route:Layout.Route,valid:{Layout.grant_valid(~resources,~route) == True{} : Bool},payload:{Layout.payload(resources,route) == ScopeStore.Store : Type},view:{Layout.view(resources,route) == ScopeStore.View : Data},protected:{Layout.policy(resources,route) == Policy.ProtectedLifetimeScope{S} : Policy.Policy},rest:Relations} Uses (13): https://jend.leeeet.dev/definition.txt?path=Base/base.bend&name=Bool https://jend.leeeet.dev/definition.txt?path=bendvy-ecs-core@0.1.0.3/execution_composer_layout.bend&name=Layout https://jend.leeeet.dev/definition.txt?path=bendvy-ecs-core@0.1.0.3/execution_composer_layout.bend&name=Route https://jend.leeeet.dev/definition.txt?path=bendvy-ecs-core@0.1.0.3/execution_composer_layout.bend&name=grant_valid https://jend.leeeet.dev/definition.txt?path=bendvy-ecs-core@0.1.0.3/execution_composer_layout.bend&name=payload https://jend.leeeet.dev/definition.txt?path=bendvy-ecs-core@0.1.0.3/execution_composer_layout.bend&name=policy https://jend.leeeet.dev/definition.txt?path=bendvy-ecs-core@0.1.0.3/execution_composer_layout.bend&name=view https://jend.leeeet.dev/definition.txt?path=bendvy-ecs-core@0.1.0.3/execution_lifetime_scope_store.bend&name=Store https://jend.leeeet.dev/definition.txt?path=bendvy-ecs-core@0.1.0.3/execution_lifetime_scope_store.bend&name=View https://jend.leeeet.dev/definition.txt?path=bendvy-ecs-core@0.1.0.3/execution_relation_store.bend&name=Store https://jend.leeeet.dev/definition.txt?path=bendvy-ecs-core@0.1.0.3/execution_relation_store.bend&name=View https://jend.leeeet.dev/definition.txt?path=bendvy-ecs-core@0.1.0.3/execution_resource_policy.bend&name=Policy https://jend.leeeet.dev/definition.txt?path=bendvy-ecs-core@0.1.0.3/relation_types.bend&name=Descriptor