package report import ( "time" "gitea.maximumdirect.net/eric/weatherreporter/internal/module" "gitea.maximumdirect.net/eric/weatherreporter/internal/timeutil" ) const nearTermHours = 6 func nearTermDefinition() Definition { return Definition{ ID: NearTerm, Name: "Near-Term Report", PromptID: "weather.near_term_report", ComparisonStrategy: CompareRollingWindow, ArtifactGroup: "near-term", BatchOutputName: "near-term.md", Generated: true, CompatiblePriorIDs: []ID{NearTerm}, Modules: nearTermModules(), resolve: resolveNearTerm, } } func nearTermModules() []module.ConfigItem { return []module.ConfigItem{ {ID: module.Metadata}, {ID: module.CurrentConditions}, {ID: module.HourlyForecast}, {ID: module.PrecipTiming}, {ID: module.AlertDigest}, {ID: module.SPCConvectiveOutlooks}, { ID: module.AreaForecastDiscussion, Options: module.AreaForecastDiscussionOptions{ Sections: []string{"key_messages", "short_term"}, }, }, {ID: module.SPCConvectiveDiscussion}, {ID: module.WeatherStory}, } } func resolveNearTerm(req ResolveRequest) (timeutil.Period, error) { localNow := req.Now.In(req.Location) return timeutil.Period{ Start: localNow, End: localNow.Add(nearTermHours * time.Hour), }, nil }