[client] Migrate budget store to typescript and use 'immer' instead of 'updeep'.

1 job for immer-budgets in 4 minutes and 39 seconds (queued for 2 seconds)
Status Name Job ID Coverage
  Test
passed ci #1211618

00:04:39