package report import ( "gitea.maximumdirect.net/eric/weatherreporter/internal/module" "gitea.maximumdirect.net/eric/weatherreporter/internal/timeutil" ) func todayDefinition() Definition { return Definition{ ID: Today, Name: "Today Report", PromptID: "weather.today_generated_text", GenerationMode: GenerationModeGeneratedTextTemplate, TemplateID: "today", GeneratedTextSchemaID: "today", ComparisonStrategy: CompareSameValidDate, ArtifactGroup: "today", BatchOutputName: "today.md", DistributorPathTemplates: []string{ "daily/{valid_start_date}/{run_id}.md", "daily/{valid_start_date}/index.md", "today/index.md", }, Generated: true, CompatiblePriorIDs: []ID{Today}, Modules: todayModules(), Morning: true, resolve: resolveToday, } } func todayModules() []module.ConfigItem { return moduleItems( module.Metadata, module.CurrentConditions, module.NarrativeForecast, module.DerivedDailySummary, module.DerivedDaypartSummaries, module.PrecipTiming, module.AlertDigest, module.SPCConvectiveOutlooks, module.AreaForecastDiscussion, module.SPCConvectiveDiscussion, module.WeatherStory, module.OutdoorWindows, module.HourlyForecast, module.TodayPlanning, ) } func resolveToday(req ResolveRequest) (timeutil.Period, error) { if !req.Date.IsZero() { return timeutil.CivilDay(req.Date, req.Location), nil } return timeutil.CivilDay(req.Now, req.Location), nil }