worker: rename pulse to heartbeat and add to web