Summary
Add Cloudflare as a supported GraphQL provider. Cloudflare exposes a GraphQL Analytics API at a fixed endpoint, authenticated via API Token (Bearer). This is the simplest auth model so far — no token exchange, no per-account URL — making it a clean addition once multi-provider support (#5) is in place.
Acceptance criteria
Testing guidance
- Unit tests for config validation (missing env var throws, present env var constructs provider)
- Unit tests for endpoint and headers output
- Unit tests for
detectProvider recognizing Cloudflare alongside existing providers
- Follow the existing
LinearProvider tests as a model — the auth model is similarly simple
Dependencies
Out of scope
- API Key + Email (legacy auth) — only API Token is supported
- Cloudflare-specific query helpers or analytics shortcuts
- Multiple Cloudflare accounts in one session
Summary
Add Cloudflare as a supported GraphQL provider. Cloudflare exposes a GraphQL Analytics API at a fixed endpoint, authenticated via API Token (Bearer). This is the simplest auth model so far — no token exchange, no per-account URL — making it a clean addition once multi-provider support (#5) is in place.
Acceptance criteria
CloudflareProviderimplements theGqlProviderinterfaceCLOUDFLARE_API_TOKENis sethttps://api.cloudflare.com/client/v4/graphqlAuthorization: Bearer <token>CLOUDFLARE_API_TOKENis missing, the provider is not detected — it does not block other providersreset()is a no-op (no cached state beyond the static token)Testing guidance
detectProviderrecognizing Cloudflare alongside existing providersLinearProvidertests as a model — the auth model is similarly simpleDependencies
Out of scope