Spaces:
Running
Running
export interface GitHubUserResponse { | |
login: string; | |
avatar_url: string; | |
html_url: string; | |
name: string; | |
bio: string; | |
public_repos: number; | |
followers: number; | |
following: number; | |
public_gists: number; | |
created_at: string; | |
updated_at: string; | |
} | |
export interface GitHubRepoInfo { | |
name: string; | |
full_name: string; | |
html_url: string; | |
description: string; | |
stargazers_count: number; | |
forks_count: number; | |
default_branch: string; | |
updated_at: string; | |
language: string; | |
languages_url: string; | |
} | |
export interface GitHubContent { | |
name: string; | |
path: string; | |
sha: string; | |
size: number; | |
url: string; | |
html_url: string; | |
git_url: string; | |
download_url: string; | |
type: string; | |
content: string; | |
encoding: string; | |
} | |
export interface GitHubBranch { | |
name: string; | |
commit: { | |
sha: string; | |
url: string; | |
}; | |
} | |
export interface GitHubBlobResponse { | |
content: string; | |
encoding: string; | |
sha: string; | |
size: number; | |
url: string; | |
} | |
export interface GitHubOrganization { | |
login: string; | |
avatar_url: string; | |
description: string; | |
html_url: string; | |
} | |
export interface GitHubEvent { | |
id: string; | |
type: string; | |
created_at: string; | |
repo: { | |
name: string; | |
url: string; | |
}; | |
payload: { | |
action?: string; | |
ref?: string; | |
ref_type?: string; | |
description?: string; | |
}; | |
} | |
export interface GitHubLanguageStats { | |
[key: string]: number; | |
} | |
export interface GitHubStats { | |
repos: GitHubRepoInfo[]; | |
totalStars: number; | |
totalForks: number; | |
organizations: GitHubOrganization[]; | |
recentActivity: GitHubEvent[]; | |
languages: GitHubLanguageStats; | |
totalGists: number; | |
} | |
export interface GitHubConnection { | |
user: GitHubUserResponse | null; | |
token: string; | |
tokenType: 'classic' | 'fine-grained'; | |
stats?: GitHubStats; | |
} | |
export interface GitHubTokenInfo { | |
token: string; | |
scope: string[]; | |
avatar_url: string; | |
name: string | null; | |
created_at: string; | |
followers: number; | |
} | |
export interface GitHubRateLimits { | |
limit: number; | |
remaining: number; | |
reset: Date; | |
used: number; | |
} | |
export interface GitHubAuthState { | |
username: string; | |
tokenInfo: GitHubTokenInfo | null; | |
isConnected: boolean; | |
isVerifying: boolean; | |
isLoadingRepos: boolean; | |
rateLimits?: GitHubRateLimits; | |
} | |
export interface RepositoryStats { | |
totalFiles: number; | |
totalSize: number; | |
languages: Record<string, number>; | |
hasPackageJson: boolean; | |
hasDependencies: boolean; | |
} | |