Documentation
¶
Index ¶
Constants ¶
const ( // DefaultGitHubRepo is the default repository for agnt DefaultGitHubRepo = "standardbeagle/agnt" // GitHubAPIURL is the base URL for GitHub API GitHubAPIURL = "https://api.github.com" )
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type Config ¶
type Config struct {
CurrentVersion string
CheckInterval time.Duration
GitHubRepo string
Enabled bool
}
Config holds configuration for the update checker
func DefaultConfig ¶
func DefaultConfig() Config
DefaultConfig returns default update checker configuration
type GitHubChecker ¶
type GitHubChecker struct {
// contains filtered or unexported fields
}
GitHubChecker checks for updates from GitHub releases
func NewGitHubChecker ¶
func NewGitHubChecker(repo string) *GitHubChecker
NewGitHubChecker creates a new GitHub release checker
func (*GitHubChecker) CheckLatestRelease ¶
func (g *GitHubChecker) CheckLatestRelease() (*GitHubRelease, error)
CheckLatestRelease fetches the latest release from GitHub
type GitHubRelease ¶
type GitHubRelease struct {
TagName string `json:"tag_name"`
Name string `json:"name"`
Draft bool `json:"draft"`
Prerelease bool `json:"prerelease"`
PublishedAt time.Time `json:"published_at"`
HTMLURL string `json:"html_url"`
Body string `json:"body"`
}
GitHubRelease represents a GitHub release
func (*GitHubRelease) GetVersion ¶
func (g *GitHubRelease) GetVersion() string
GetVersion extracts version from release tag Handles tags like "v0.6.5", "V0.6.5", or "0.6.5"
type UpdateChecker ¶
type UpdateChecker struct {
// contains filtered or unexported fields
}
UpdateChecker periodically checks for updates
func NewUpdateChecker ¶
func NewUpdateChecker(config Config) *UpdateChecker
NewUpdateChecker creates a new update checker
func (*UpdateChecker) CheckNow ¶
func (uc *UpdateChecker) CheckNow()
CheckNow triggers an immediate update check
func (*UpdateChecker) GetUpdateInfo ¶
func (uc *UpdateChecker) GetUpdateInfo() UpdateInfo
GetUpdateInfo returns the current update information
func (*UpdateChecker) Start ¶
func (uc *UpdateChecker) Start()
Start begins periodic update checking
type UpdateInfo ¶
type UpdateInfo struct {
Available bool `json:"available"`
LatestVersion string `json:"latest_version,omitempty"`
CurrentVersion string `json:"current_version"`
ReleaseURL string `json:"release_url,omitempty"`
ReleaseNotes string `json:"release_notes,omitempty"`
LastChecked time.Time `json:"last_checked"`
CheckError string `json:"check_error,omitempty"`
}
UpdateInfo holds information about available updates