scai
Version:
> **AI-powered CLI for local code analysis, commit message suggestions, and natural-language queries.** 100% local, private, GDPR-friendly, made in Denmark/EU with ❤️.
18 lines (17 loc) • 793 B
JavaScript
import { ensureGitHubAuth } from './auth.js';
import { getRepoDetails } from './repo.js';
export async function validateGitHubTokenAgainstRepo() {
const token = await ensureGitHubAuth();
const { owner, repo } = await getRepoDetails();
const response = await fetch(`https://api.github.com/repos/${owner}/${repo}`, {
headers: {
Authorization: `Bearer ${token}`,
'User-Agent': 'scai-cli',
},
});
if (!response.ok) {
const error = await response.json().catch(() => ({}));
throw new Error(`❌ Token is invalid or lacks access to ${owner}/${repo}. GitHub says: ${response.status} ${response.statusText}${error.message ? ` – ${error.message}` : ''}`);
}
return `✅ GitHub token is valid for ${owner}/${repo}`;
}