Adds Prometheus metrics to the Node host (the Cloudflare Worker keeps
observability off), mirroring the companion relay: a localhost-only
/metrics with pushrelay_* counters and a devices gauge.
- host/metrics.js: counters + gauge, zero-PII (counts only)
- host/server.js: serves /metrics (loopback peer, no proxy headers) and
classifies each request into register write/skip and push delivered/
bad-secret/unknown-token/apns-error counters
- host/kv.js: countPrefix("device:") feeds the devices gauge
- bin/push-relay.js: process-exception counter
The on-box relay dashboard scrapes this to show a Push relay section.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>