Versions in this module Expand all Collapse all v0 v0.1.2 Jul 27, 2026 v0.1.1 Jul 27, 2026 Changes in this version + const EventManifestApproved + const EventManifestPending + const EventManifestRejected + type OutboxRow struct + Attempts int + CreatedAt time.Time + DeliveredAt *time.Time + EventType string + ID int64 + LastError string + ManifestID int64 + NextAttemptAt time.Time type SQLiteStore + func (q SQLiteStore) DueNotifications(ctx context.Context, now time.Time, maxAttempts, limit int) ([]OutboxRow, error) + func (q SQLiteStore) EnqueueNotification(ctx context.Context, eventType string, manifestID int64) (int64, error) + func (q SQLiteStore) ListUndeliveredNotifications(ctx context.Context, minAttempts int) ([]OutboxRow, error) + func (q SQLiteStore) MarkNotificationDelivered(ctx context.Context, id int64, now time.Time) error + func (q SQLiteStore) MarkNotificationFailed(ctx context.Context, id int64, nextAttempt time.Time, lastError string) error type Store + DueNotifications func(ctx context.Context, now time.Time, maxAttempts, limit int) ([]OutboxRow, error) + EnqueueNotification func(ctx context.Context, eventType string, manifestID int64) (int64, error) + ListUndeliveredNotifications func(ctx context.Context, minAttempts int) ([]OutboxRow, error) + MarkNotificationDelivered func(ctx context.Context, id int64, now time.Time) error + MarkNotificationFailed func(ctx context.Context, id int64, nextAttempt time.Time, lastError string) error v0.1.0 Jul 26, 2026 Changes in this version + const DecisionApproved + const DecisionRejected + const StateApproved + const StatePending + const StateRejected + const StateSuperseded + var ErrNotFound = errors.New("database: not found") + type Approval struct + CreatedAt time.Time + Decision string + ID int64 + ManifestID int64 + Reason string + Username string + type ManifestRecord struct + CanonicalJSON string + CreatedAt time.Time + DiffJSON string + Hash string + ID int64 + ServerID int64 + State string + type SQLiteStore struct + func Open(path string) (*SQLiteStore, error) + func (q SQLiteStore) CreateServer(ctx context.Context, name, endpoint string) (*Server, error) + func (q SQLiteStore) GetApprovedManifest(ctx context.Context, serverID int64) (*ManifestRecord, error) + func (q SQLiteStore) GetManifestByHash(ctx context.Context, serverID int64, hash string) (*ManifestRecord, error) + func (q SQLiteStore) GetManifestByID(ctx context.Context, id int64) (*ManifestRecord, error) + func (q SQLiteStore) GetServerByID(ctx context.Context, id int64) (*Server, error) + func (q SQLiteStore) GetServerByName(ctx context.Context, name string) (*Server, error) + func (q SQLiteStore) InsertApproval(ctx context.Context, a *Approval) (int64, error) + func (q SQLiteStore) InsertManifest(ctx context.Context, m *ManifestRecord) (int64, error) + func (q SQLiteStore) ListApprovalsForManifest(ctx context.Context, manifestID int64) ([]Approval, error) + func (q SQLiteStore) ListPendingManifests(ctx context.Context) ([]ManifestRecord, error) + func (q SQLiteStore) ListServers(ctx context.Context) ([]Server, error) + func (q SQLiteStore) UpdateManifestState(ctx context.Context, id int64, newState string) error + func (s *SQLiteStore) Close() error + func (s *SQLiteStore) WithTx(ctx context.Context, fn func(Store) error) error + type Server struct + CreatedAt time.Time + Endpoint string + ID int64 + Name string + type Store interface + CreateServer func(ctx context.Context, name, endpoint string) (*Server, error) + GetApprovedManifest func(ctx context.Context, serverID int64) (*ManifestRecord, error) + GetManifestByHash func(ctx context.Context, serverID int64, hash string) (*ManifestRecord, error) + GetManifestByID func(ctx context.Context, id int64) (*ManifestRecord, error) + GetServerByID func(ctx context.Context, id int64) (*Server, error) + GetServerByName func(ctx context.Context, name string) (*Server, error) + InsertApproval func(ctx context.Context, a *Approval) (int64, error) + InsertManifest func(ctx context.Context, m *ManifestRecord) (int64, error) + ListApprovalsForManifest func(ctx context.Context, manifestID int64) ([]Approval, error) + ListPendingManifests func(ctx context.Context) ([]ManifestRecord, error) + ListServers func(ctx context.Context) ([]Server, error) + UpdateManifestState func(ctx context.Context, id int64, newState string) error + WithTx func(ctx context.Context, fn func(Store) error) error