docs: def actions(self, context=None):
          """Return a mapping of category => actions list.
  
          Actions are filtered according to :meth:`.Action.available`.
  
          if `context` is None, then current action context is used
          (:attr:`context`).
          """
          assert self.installed(), "Actions not enabled on this application"
          result = {}
          if context is None:
              context = self.context
  
          for cat, actions in self._state["categories"].items():
              result[cat] = [a for a in actions if a.available(context)]
          return result