Moves the Prometheus HTTP query API out of the legacy query-service handler
into pkg/prometheus/promapi, served under /prometheus:
- GET|POST /prometheus/api/v1/query_range and /query: Prometheus parameter
parsing (float-unix or RFC3339 times, float-seconds or duration-string
durations), the Prometheus error envelope ({status, errorType, error}
with 400/422/503), the 11,000-point cap, documented in openapi.yml.
- Removes the legacy GET /api/v1/query_range and /api/v1/query handlers
and their now-dead plumbing (parseMetricsTime, parseMetricsDuration,
parseInstantQueryMetricsRequest, parseQueryRangeRequest,
GetInstantQueryMetricsResult, InstantQueryMetricsParams).
GetQueryRangeResult stays - legacy dashboard queriers use it.
This is the breaking slice of the stack, deliberately last: everything
before it is invisible to API consumers.
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>