state

package
v0.0.4 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Sep 16, 2026 License: MIT Imports: 8 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type Apply

type Apply struct {
	ID         int64
	VersionID  int64
	Agent      string
	StartedAt  time.Time
	FinishedAt *time.Time
	ExitCode   *int
	LogPath    string
}

Apply is one agent run against a committed version. FinishedAt and ExitCode are nil until the run completes; nil forever means interrupted.

type DB

type DB struct {
	// contains filtered or unexported fields
}

DB wraps the SQLite handle and owns migrations.

func Open

func Open(path string) (*DB, error)

Open opens (creating if needed) the state database and applies pending migrations.

func (*DB) Close

func (s *DB) Close() error

func (*DB) FinishApply

func (s *DB) FinishApply(id int64, exitCode int, now time.Time) error

FinishApply stamps the outcome of an apply run.

func (*DB) GetVersion

func (s *DB) GetVersion(id int64) (*SpecVersion, error)

GetVersion loads one stored snapshot by id.

func (*DB) HasUnfinishedApply

func (s *DB) HasUnfinishedApply() (bool, error)

HasUnfinishedApply reports whether any apply row lacks an outcome.

func (*DB) InsertApply

func (s *DB) InsertApply(versionID int64, agent string, now time.Time) (int64, error)

InsertApply records the start of an apply run; log_path starts empty and is filled by SetApplyLogPath once the row id has named the file.

func (*DB) InsertVersion

func (s *DB) InsertVersion(hash string, content []byte, message string, now time.Time) (int64, error)

InsertVersion stores a full spec snapshot and returns its id (displayed as vN).

func (*DB) IsApplied

func (s *DB) IsApplied(versionID int64) (bool, error)

IsApplied reports whether versionID has an apply row with exit_code = 0.

func (*DB) LatestVersion

func (s *DB) LatestVersion() (*SpecVersion, error)

LatestVersion returns the newest committed version, or nil when none exist.

func (*DB) ListApplies

func (s *DB) ListApplies() ([]Apply, error)

ListApplies returns all apply rows, newest first.

func (*DB) ListVersions

func (s *DB) ListVersions() ([]SpecVersion, error)

ListVersions returns all versions, newest first.

func (*DB) SchemaVersion

func (s *DB) SchemaVersion() (int, error)

SchemaVersion returns the current schema version.

func (*DB) SetApplyLogPath

func (s *DB) SetApplyLogPath(id int64, logPath string) error

SetApplyLogPath records the (repo-relative) log path for an apply row.

type SpecVersion

type SpecVersion struct {
	ID          int64
	Hash        string
	Content     []byte
	CommittedAt time.Time
	Message     string
}

SpecVersion is one committed snapshot of the spec file.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL