Following up on @fynn.merlevede comment - The rule code example should be changed to:
exports.onExecutePostLogin = async (event, api) => {
const namespace = 'https://menu-api.demo.com';
if (event.authorization) {
api.idToken.setCustomClaim(`${namespace}/roles`, event.authorization.roles);
api.accessToken.setCustomClaim(`${namespace}/roles`, event.authorization.roles);
}
}