Есть ли возможность избежать ошибки Cannot read property of undefined?
widget?.algorithmы?.ruleset?.rules
If что то там не равно ундефинед ваше действие.  В общем то могу рекомендовать typescript он сам ругается когда что то может быть равно нулю. Да и в общем то вложенные свойства зло, особенно если это 2,3 и так далее уровни