import { z } from "zod"; // Air quality + pollen for a location (Open-Meteo air-quality API, keyless). // Location resolves from config → app settings → env, same as weather. export const AqiConfig = z.object({ lat: z.number().optional(), lon: z.number().optional(), label: z.string().optional(), }); export type AqiConfig = z.infer; export const AqiPollen = z.object({ label: z.string(), value: z.number(), // grains/m³ level: z.string(), // Low / Moderate / High / Very High }); export const AqiPayload = z.object({ location: z.string(), aqi: z.number().nullable(), // US AQI category: z.string(), // Good / Moderate / Unhealthy … pm25: z.number().nullable(), pm10: z.number().nullable(), ozone: z.number().nullable(), pollen: z.array(AqiPollen).default([]), }); export type AqiPayload = z.infer;