seed: serve client-side modules as one bundle per hub, cached by digest