UNPKG

nimbus-weather-cli

Version:

Get instant weather forecasts and AI-powered insights from your terminal using natural language queries.

198 lines 4.72 kB
import { z } from "zod"; export declare const WeatherIntentSchema: z.ZodObject<{ cities: z.ZodArray<z.ZodString, "many">; date: z.ZodObject<{ kind: z.ZodEnum<["today", "tomorrow", "range"]>; days: z.ZodOptional<z.ZodNumber>; weekend: z.ZodOptional<z.ZodBoolean>; }, "strip", z.ZodTypeAny, { kind: "today" | "tomorrow" | "range"; days?: number | undefined; weekend?: boolean | undefined; }, { kind: "today" | "tomorrow" | "range"; days?: number | undefined; weekend?: boolean | undefined; }>; units: z.ZodDefault<z.ZodEnum<["metric", "imperial"]>>; extras: z.ZodOptional<z.ZodArray<z.ZodString, "many">>; useIpLocation: z.ZodDefault<z.ZodBoolean>; compare: z.ZodDefault<z.ZodBoolean>; }, "strip", z.ZodTypeAny, { units: "imperial" | "metric"; cities: string[]; date: { kind: "today" | "tomorrow" | "range"; days?: number | undefined; weekend?: boolean | undefined; }; useIpLocation: boolean; compare: boolean; extras?: string[] | undefined; }, { cities: string[]; date: { kind: "today" | "tomorrow" | "range"; days?: number | undefined; weekend?: boolean | undefined; }; units?: "imperial" | "metric" | undefined; extras?: string[] | undefined; useIpLocation?: boolean | undefined; compare?: boolean | undefined; }>; export type WeatherIntent = z.infer<typeof WeatherIntentSchema>; export interface OpenWeatherCurrent { coord: { lon: number; lat: number; }; weather: Array<{ id: number; main: string; description: string; icon: string; }>; base: string; main: { temp: number; feels_like: number; temp_min: number; temp_max: number; pressure: number; humidity: number; }; visibility: number; wind: { speed: number; deg: number; }; clouds: { all: number; }; dt: number; sys: { type: number; id: number; country: string; sunrise: number; sunset: number; }; timezone: number; id: number; name: string; cod: number; } export interface OpenWeatherForecast { cod: string; message: number; cnt: number; list: Array<{ dt: number; main: { temp: number; feels_like: number; temp_min: number; temp_max: number; pressure: number; sea_level: number; grnd_level: number; humidity: number; temp_kf: number; }; weather: Array<{ id: number; main: string; description: string; icon: string; }>; clouds: { all: number; }; wind: { speed: number; deg: number; gust: number; }; visibility: number; pop: number; rain?: { "3h": number; }; snow?: { "3h": number; }; sys: { pod: string; }; dt_txt: string; }>; city: { id: number; name: string; coord: { lat: number; lon: number; }; country: string; population: number; timezone: number; sunrise: number; sunset: number; }; } export interface WeatherData { city: string; country: string; current?: { temperature: number; feelsLike: number; humidity: number; pressure: number; visibility: number; windSpeed: number; windDirection: number; description: string; icon: string; main: string; timestamp: Date; }; forecast?: Array<{ date: Date; temperature: { min: number; max: number; }; description: string; icon: string; main: string; humidity: number; windSpeed: number; precipitationProbability: number; }>; } export interface GeoLocation { city: string; country: string; region: string; lat: number; lon: number; timezone: string; } export interface Config { openaiApiKey: string; openweatherApiKey: string; debug: boolean; timeout: number; retries: number; } export interface WeatherSummary { briefing: string; tips: string[]; } export interface CliOptions { debug?: boolean; units?: "metric" | "imperial"; format?: "detailed" | "simple"; } //# sourceMappingURL=index.d.ts.map