37 lines
1.3 KiB
Go
37 lines
1.3 KiB
Go
// Package state persists report artifacts and metadata.
|
|
package state
|
|
|
|
import (
|
|
"context"
|
|
|
|
"gitea.maximumdirect.net/eric/weatherreporter/internal/briefing"
|
|
"gitea.maximumdirect.net/eric/weatherreporter/internal/promptinput"
|
|
"gitea.maximumdirect.net/eric/weatherreporter/internal/report"
|
|
)
|
|
|
|
type Store interface {
|
|
Paths(report.Resolved) (ArtifactPaths, error)
|
|
SaveBriefing(context.Context, report.Resolved, briefing.Package) (string, error)
|
|
SaveDataPackage(context.Context, report.Resolved, promptinput.Package) (string, error)
|
|
SavePreflight(context.Context, report.Resolved, PreflightArtifact) (string, error)
|
|
PrepareRenderedReport(context.Context, report.Resolved) (string, error)
|
|
SaveMetadata(context.Context, Metadata) (string, error)
|
|
FindPriorSnapshot(context.Context, report.Resolved) (*PriorSnapshot, error)
|
|
FindPriorDailySnapshot(context.Context, report.Resolved) (*PriorSnapshot, error)
|
|
LoadBriefing(context.Context, string) (briefing.Package, error)
|
|
}
|
|
|
|
type PriorSnapshot struct {
|
|
Metadata Metadata
|
|
BriefingPath string
|
|
}
|
|
|
|
type PreflightArtifact struct {
|
|
Command []string `json:"command"`
|
|
Stdout string `json:"stdout"`
|
|
Stderr string `json:"stderr"`
|
|
StdoutTruncated bool `json:"stdoutTruncated,omitempty"`
|
|
StderrTruncated bool `json:"stderrTruncated,omitempty"`
|
|
ExitCode int `json:"exitCode"`
|
|
}
|