@theweave/api
Version:
This package contains the interfaces and contracts that a Holochain app UI needs to implement in order to run as a Tool in a Weave Frame like [Moss](theweave.social#tryit).
20 lines • 1.12 kB
JavaScript
/**
* An accountability is when an agent holds a role in a specific time period.
* A role is a set of privileges and has a fixed term/mandate duration.
* A privilege lets an agent perform a certain action.
*/
/** */
export var MossPrivilege;
(function (MossPrivilege) {
MossPrivilege[MossPrivilege["ArchiveTool"] = 0] = "ArchiveTool";
MossPrivilege[MossPrivilege["AddTool"] = 1] = "AddTool";
MossPrivilege[MossPrivilege["MakeSteward"] = 2] = "MakeSteward";
MossPrivilege[MossPrivilege["ChangeGroupProperties"] = 3] = "ChangeGroupProperties";
})(MossPrivilege || (MossPrivilege = {}));
/** MossRole is a typed Enum of GroupRoles */
export const MossRole = {
Member: { name: 'Member', mandateDuration: 0, privileges: [] },
Steward: { name: 'Steward', mandateDuration: 0, privileges: [MossPrivilege.AddTool, MossPrivilege.ChangeGroupProperties, MossPrivilege.MakeSteward] },
Progenitor: { name: 'Progenitor', mandateDuration: 0, privileges: [MossPrivilege.AddTool, MossPrivilege.ChangeGroupProperties, MossPrivilege.ArchiveTool, MossPrivilege.MakeSteward] },
};
//# sourceMappingURL=types.js.map