update

package
v0.8.1 Latest Latest
Warning

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

Go to latest
Published: Dec 28, 2025 License: MIT Imports: 11 Imported by: 0

Documentation

Overview

Package update provides version checking and self-update functionality.

Index

Constants

View Source
const (
	// GitHubRepo is the repository to check for updates
	GitHubRepo = "asheshgoplani/agent-deck"

	// CacheFileName stores the last update check result
	CacheFileName = "update-cache.json"

	// CheckInterval is how often to check for updates (24 hours)
	CheckInterval = 24 * time.Hour
)

Variables

This section is empty.

Functions

func CheckForUpdateAsync

func CheckForUpdateAsync(currentVersion string) <-chan *UpdateInfo

CheckForUpdateAsync checks for updates in the background Returns a channel that will receive the result

func CompareVersions

func CompareVersions(v1, v2 string) int

CompareVersions compares two semantic versions Returns: -1 if v1 < v2, 0 if v1 == v2, 1 if v1 > v2

func PerformUpdate

func PerformUpdate(downloadURL string) error

PerformUpdate downloads and installs the latest version

Types

type Asset

type Asset struct {
	Name               string `json:"name"`
	BrowserDownloadURL string `json:"browser_download_url"`
	Size               int64  `json:"size"`
}

Asset represents a release asset (binary download)

type Release

type Release struct {
	TagName     string    `json:"tag_name"`
	Name        string    `json:"name"`
	PublishedAt time.Time `json:"published_at"`
	HTMLURL     string    `json:"html_url"`
	Assets      []Asset   `json:"assets"`
}

Release represents a GitHub release

type UpdateCache

type UpdateCache struct {
	CheckedAt      time.Time `json:"checked_at"`
	LatestVersion  string    `json:"latest_version"`
	CurrentVersion string    `json:"current_version"`
	DownloadURL    string    `json:"download_url"`
	ReleaseURL     string    `json:"release_url"`
}

UpdateCache stores the last check result

type UpdateInfo

type UpdateInfo struct {
	Available      bool
	CurrentVersion string
	LatestVersion  string
	DownloadURL    string
	ReleaseURL     string
}

UpdateInfo contains information about an available update

func CheckForUpdate

func CheckForUpdate(currentVersion string, forceCheck bool) (*UpdateInfo, error)

CheckForUpdate checks if a new version is available Uses cache to avoid hitting GitHub API too frequently

Jump to

Keyboard shortcuts

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