Per questi motivi, il Tribunale federale delle assicurazioni
p r o n u n c i a :
I. Il ricorso di diritto amministrativo è accolto, il
giudizio querelato 29 gennaio 1999 essendo annullato.
II. Non si percepiscono spese giudiziarie, né si assegnano
indennità di parte.
III. La presente sentenza sarà intimata alle parti, al Tribunale
cantonale delle assicurazioni, Lugano, e all'Ufficio
federale delle assicurazioni sociali.