Обе конструкции ('be going to' и 'will') могут выражать будущее время, но 'will' часто используется для обещаний или спонтанных решений.
a) am not going to – используется для планов или намерений, основанных на текущих доказательствах.
b) will not (won't) – используется для обещаний, предсказаний, спонтанных решений.
Поскольку в предложении есть 'I promise' (Я обещаю), используется 'will not'.
Ответ: b) will not