scai
Version:
> **A local-first AI CLI for understanding, querying, and iterating on large codebases.** > **100% local • No token costs • No cloud • No prompt injection • Private by design**
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}`;
}