/- *resource |% ++ serial @uvH :: +$ invite $: =ship :: ship to subscribe to upon accepting invite app=@tas :: app to subscribe to upon accepting invite =resource :: resource to subscribe to upon accepting invite recipient=ship :: recipient to receive invite text=cord :: text to describe the invite == :: +$ multi-invite $: =ship :: ship to subscribe to upon accepting invite app=@tas :: app to subscribe to upon accepting invite =resource :: resource to subscribe to upon accepting invite recipients=(set ship) :: recipient to receive invite text=cord :: text to describe the invite == :: :: +invites: each application using invites creates its own resource that :: contains a map of serial to invite. this allows it to only receive :: invites that it is concerned with :: +$ invites (map term invitatory) :: main data structure :: +$ invitatory (map serial invite) :: containing or conveying an invitation :: +$ invite-base $% [%create =term] :: create a resource [%delete =term] :: delete a resource [%invite =term uid=serial =invite] :: receive an invite at term/uid [%decline =term uid=serial] :: decline an invite at term/uid == :: +$ action $% invite-base [%accept =term uid=serial] :: accept an invite at term/uid [%invites =term uid=serial invites=multi-invite] == :: +$ update $% invite-base [%initial =invites] [%invitatory =invitatory] :: receive invitatory [%accepted =term uid=serial =invite] :: an invite has been accepted == --