agent-skills-cli 1.1.0 → 1.1.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +85 -13
- package/dist/__tests__/git-auth.test.d.ts +11 -0
- package/dist/__tests__/git-auth.test.d.ts.map +1 -0
- package/dist/__tests__/git-auth.test.js +160 -0
- package/dist/__tests__/git-auth.test.js.map +1 -0
- package/dist/__tests__/skill-lock.test.d.ts +8 -0
- package/dist/__tests__/skill-lock.test.d.ts.map +1 -0
- package/dist/__tests__/skill-lock.test.js +104 -0
- package/dist/__tests__/skill-lock.test.js.map +1 -0
- package/dist/__tests__/skillsrc.test.d.ts +11 -0
- package/dist/__tests__/skillsrc.test.d.ts.map +1 -0
- package/dist/__tests__/skillsrc.test.js +185 -0
- package/dist/__tests__/skillsrc.test.js.map +1 -0
- package/dist/__tests__/source-parser.test.d.ts +16 -0
- package/dist/__tests__/source-parser.test.d.ts.map +1 -0
- package/dist/__tests__/source-parser.test.js +231 -0
- package/dist/__tests__/source-parser.test.js.map +1 -0
- package/dist/cli/commands/install.d.ts +8 -0
- package/dist/cli/commands/install.d.ts.map +1 -1
- package/dist/cli/commands/install.js +203 -90
- package/dist/cli/commands/install.js.map +1 -1
- package/dist/core/git-auth.d.ts +74 -0
- package/dist/core/git-auth.d.ts.map +1 -0
- package/dist/core/git-auth.js +299 -0
- package/dist/core/git-auth.js.map +1 -0
- package/dist/core/index.d.ts +4 -0
- package/dist/core/index.d.ts.map +1 -1
- package/dist/core/index.js +5 -1
- package/dist/core/index.js.map +1 -1
- package/dist/core/skill-lock.d.ts +1 -1
- package/dist/core/skill-lock.d.ts.map +1 -1
- package/dist/core/skillsrc.d.ts +65 -0
- package/dist/core/skillsrc.d.ts.map +1 -0
- package/dist/core/skillsrc.js +161 -0
- package/dist/core/skillsrc.js.map +1 -0
- package/dist/core/source-parser.d.ts +9 -1
- package/dist/core/source-parser.d.ts.map +1 -1
- package/dist/core/source-parser.js +85 -6
- package/dist/core/source-parser.js.map +1 -1
- package/package.json +9 -3
|
@@ -3,7 +3,7 @@ import ora from 'ora';
|
|
|
3
3
|
import inquirer from 'inquirer';
|
|
4
4
|
import * as p from '@clack/prompts';
|
|
5
5
|
import { AGENTS } from '../agents.js';
|
|
6
|
-
import { addSkillToLock, createLockEntry, installFromGitHubUrl, getSkillByScoped, fetchSkillsForCLI, } from '../../core/index.js';
|
|
6
|
+
import { addSkillToLock, createLockEntry, installFromGitHubUrl, getSkillByScoped, fetchSkillsForCLI, parseSource, cloneWithAuth, sanitizeUrl, } from '../../core/index.js';
|
|
7
7
|
import { trackCommand } from '../../core/telemetry.js';
|
|
8
8
|
/** Install a skill from its database record into a target directory */
|
|
9
9
|
async function installSkillFromDatabase(skill, targetDir) {
|
|
@@ -25,6 +25,8 @@ export function registerInstallCommand(program) {
|
|
|
25
25
|
.option('-a, --agent <agents...>', 'Specify agents to install to')
|
|
26
26
|
.option('--all', 'Install to all agents')
|
|
27
27
|
.option('-y, --yes', 'Skip confirmation prompts')
|
|
28
|
+
.option('--token <token>', 'Authentication token for private Git repos')
|
|
29
|
+
.option('--registry <url>', 'npm registry URL (for npm: sources)')
|
|
28
30
|
.action(async (source, options) => {
|
|
29
31
|
try {
|
|
30
32
|
const { mkdir, cp, rm, readdir, readFile } = await import('fs/promises');
|
|
@@ -200,9 +202,9 @@ export function registerInstallCommand(program) {
|
|
|
200
202
|
console.log(chalk.bold.green(`\n✨ Installed ${skillName}\n`));
|
|
201
203
|
return;
|
|
202
204
|
}
|
|
203
|
-
//
|
|
204
|
-
|
|
205
|
-
// Handle @scoped/name
|
|
205
|
+
// ── Parse source with the unified source parser ──
|
|
206
|
+
const parsed = parseSource(source);
|
|
207
|
+
// ── Handle @scoped/name — try marketplace first ──
|
|
206
208
|
if (source.startsWith('@')) {
|
|
207
209
|
const spinner = ora(`Looking up "${source}" in marketplace...`).start();
|
|
208
210
|
try {
|
|
@@ -239,116 +241,227 @@ export function registerInstallCommand(program) {
|
|
|
239
241
|
return;
|
|
240
242
|
}
|
|
241
243
|
}
|
|
242
|
-
//
|
|
243
|
-
if (
|
|
244
|
-
|
|
245
|
-
|
|
246
|
-
|
|
247
|
-
|
|
248
|
-
|
|
249
|
-
const
|
|
244
|
+
// ── npm package: npm:@scope/package ──
|
|
245
|
+
if (parsed.type === 'npm') {
|
|
246
|
+
const spec = parsed.url; // e.g. "@company/skills"
|
|
247
|
+
const registry = options.registry;
|
|
248
|
+
console.log(chalk.bold(`\n📦 Installing from npm: ${spec}\n`));
|
|
249
|
+
const tempDir = join(tmpdir(), `skill-npm-${Date.now()}`);
|
|
250
|
+
await mkdir(tempDir, { recursive: true });
|
|
251
|
+
const packSpinner = ora('Downloading npm package...').start();
|
|
250
252
|
try {
|
|
251
|
-
|
|
252
|
-
|
|
253
|
-
|
|
254
|
-
|
|
255
|
-
|
|
253
|
+
const packCmd = registry
|
|
254
|
+
? `npm pack ${spec} --pack-destination ${tempDir} --registry ${registry}`
|
|
255
|
+
: `npm pack ${spec} --pack-destination ${tempDir}`;
|
|
256
|
+
const { stdout: packOutput } = await execAsync(packCmd, { timeout: 60000 });
|
|
257
|
+
// npm pack outputs the tarball filename
|
|
258
|
+
const tarballName = packOutput.trim().split('\n').pop();
|
|
259
|
+
const tarballPath = join(tempDir, tarballName);
|
|
260
|
+
// Extract tarball
|
|
261
|
+
await execAsync(`tar xzf "${tarballPath}" -C "${tempDir}"`, { timeout: 30000 });
|
|
262
|
+
packSpinner.succeed('Downloaded');
|
|
263
|
+
// npm pack extracts to a "package" directory
|
|
264
|
+
const extractedDir = join(tempDir, 'package');
|
|
265
|
+
// Detect skills in extracted package
|
|
266
|
+
const skillDirs = [];
|
|
267
|
+
if (existsSync(join(extractedDir, 'SKILL.md'))) {
|
|
268
|
+
skillDirs.push(extractedDir);
|
|
269
|
+
}
|
|
270
|
+
// Check subdirectories
|
|
271
|
+
const entries = await readdir(extractedDir, { withFileTypes: true });
|
|
272
|
+
for (const entry of entries) {
|
|
273
|
+
if (entry.isDirectory() && !entry.name.startsWith('.') && entry.name !== 'node_modules') {
|
|
274
|
+
if (existsSync(join(extractedDir, entry.name, 'SKILL.md'))) {
|
|
275
|
+
skillDirs.push(join(extractedDir, entry.name));
|
|
276
|
+
}
|
|
256
277
|
}
|
|
257
278
|
}
|
|
258
|
-
if (
|
|
259
|
-
|
|
279
|
+
if (skillDirs.length === 0) {
|
|
280
|
+
// Treat entire package as a skill
|
|
281
|
+
skillDirs.push(extractedDir);
|
|
282
|
+
}
|
|
283
|
+
const pkgName = spec.replace(/^@/, '').replace('/', '-');
|
|
284
|
+
for (const skillSourceDir of skillDirs) {
|
|
285
|
+
const skillName = skillSourceDir === extractedDir
|
|
286
|
+
? pkgName
|
|
287
|
+
: basename(skillSourceDir);
|
|
260
288
|
for (const agent of agents) {
|
|
261
289
|
const config = AGENTS[agent];
|
|
262
290
|
const targetDir = isGlobal ? config.globalDir : config.projectDir;
|
|
263
|
-
|
|
291
|
+
const skillDir = join(targetDir, skillName);
|
|
292
|
+
const installSpinner = ora(`Installing ${skillName} to ${config.displayName}...`).start();
|
|
293
|
+
await mkdir(skillDir, { recursive: true });
|
|
294
|
+
await cp(skillSourceDir, skillDir, { recursive: true });
|
|
295
|
+
installSpinner.succeed(`${config.displayName}: ${skillDir}`);
|
|
264
296
|
}
|
|
297
|
+
// Get version from package.json
|
|
298
|
+
let version;
|
|
299
|
+
try {
|
|
300
|
+
const pkgJson = JSON.parse(await readFile(join(extractedDir, 'package.json'), 'utf-8'));
|
|
301
|
+
version = pkgJson.version;
|
|
302
|
+
}
|
|
303
|
+
catch { }
|
|
265
304
|
const lockEntry = createLockEntry({
|
|
266
|
-
name:
|
|
267
|
-
scopedName:
|
|
268
|
-
source:
|
|
269
|
-
sourceType:
|
|
270
|
-
version
|
|
305
|
+
name: skillName,
|
|
306
|
+
scopedName: `npm:${spec}/${skillName}`,
|
|
307
|
+
source: `npm:${spec}`,
|
|
308
|
+
sourceType: 'npm',
|
|
309
|
+
version,
|
|
271
310
|
agents,
|
|
272
311
|
canonicalPath: isGlobal ? AGENTS[agents[0]].globalDir : AGENTS[agents[0]].projectDir,
|
|
273
312
|
isGlobal,
|
|
274
313
|
});
|
|
275
314
|
await addSkillToLock(lockEntry);
|
|
276
|
-
spinner.succeed(`Installed ${skill.scoped_name || skill.name}`);
|
|
277
|
-
console.log('');
|
|
278
|
-
return;
|
|
279
315
|
}
|
|
280
|
-
|
|
281
|
-
|
|
282
|
-
|
|
316
|
+
// Cleanup
|
|
317
|
+
await rm(tempDir, { recursive: true, force: true }).catch(() => { });
|
|
318
|
+
console.log(chalk.bold.green(`\n✨ Installed ${skillDirs.length} skill(s) from npm:${spec}\n`));
|
|
319
|
+
trackCommand('install', `source=npm:${spec} count=${skillDirs.length}`);
|
|
320
|
+
}
|
|
321
|
+
catch (err) {
|
|
322
|
+
packSpinner.fail(`npm error: ${err.message}`);
|
|
323
|
+
await rm(tempDir, { recursive: true, force: true }).catch(() => { });
|
|
324
|
+
}
|
|
325
|
+
return;
|
|
326
|
+
}
|
|
327
|
+
// ── Git-based install (GitHub, GitLab, Bitbucket, Private Git, SSH) ──
|
|
328
|
+
if (parsed.type === 'github' ||
|
|
329
|
+
parsed.type === 'gitlab' ||
|
|
330
|
+
parsed.type === 'bitbucket' ||
|
|
331
|
+
parsed.type === 'private-git') {
|
|
332
|
+
// For owner/repo shorthand or full GitHub URLs, also try marketplace lookup
|
|
333
|
+
if (parsed.type === 'github' && !source.includes('://') && !source.startsWith('git@')) {
|
|
334
|
+
// owner/repo shorthand — try marketplace first
|
|
335
|
+
const spinner = ora(`Looking up "${source}" in marketplace...`).start();
|
|
336
|
+
try {
|
|
337
|
+
let skill = await getSkillByScoped(source);
|
|
338
|
+
if (!skill) {
|
|
339
|
+
const result = await fetchSkillsForCLI({ search: source, limit: 1, sortBy: 'stars' });
|
|
340
|
+
if (result.skills.length > 0) {
|
|
341
|
+
skill = result.skills[0];
|
|
342
|
+
}
|
|
343
|
+
}
|
|
344
|
+
if (skill) {
|
|
345
|
+
spinner.text = `Installing ${skill.scoped_name || skill.name}...`;
|
|
346
|
+
for (const agent of agents) {
|
|
347
|
+
const config = AGENTS[agent];
|
|
348
|
+
const targetDir = isGlobal ? config.globalDir : config.projectDir;
|
|
349
|
+
await installSkillFromDatabase(skill, targetDir);
|
|
350
|
+
}
|
|
351
|
+
const lockEntry = createLockEntry({
|
|
352
|
+
name: skill.name,
|
|
353
|
+
scopedName: skill.scoped_name || skill.name,
|
|
354
|
+
source: skill.github_url || `database:${skill.name}`,
|
|
355
|
+
sourceType: skill.github_url ? 'github' : 'database',
|
|
356
|
+
version: skill.version,
|
|
357
|
+
agents,
|
|
358
|
+
canonicalPath: isGlobal ? AGENTS[agents[0]].globalDir : AGENTS[agents[0]].projectDir,
|
|
359
|
+
isGlobal,
|
|
360
|
+
});
|
|
361
|
+
await addSkillToLock(lockEntry);
|
|
362
|
+
spinner.succeed(`Installed ${skill.scoped_name || skill.name}`);
|
|
363
|
+
console.log('');
|
|
364
|
+
return;
|
|
365
|
+
}
|
|
366
|
+
// Not found in marketplace — fall through to git clone
|
|
367
|
+
spinner.info('Not found in marketplace, cloning repository...');
|
|
283
368
|
}
|
|
369
|
+
catch {
|
|
370
|
+
// Marketplace unavailable — fall through
|
|
371
|
+
spinner.info('Marketplace unavailable, cloning repository...');
|
|
372
|
+
}
|
|
373
|
+
}
|
|
374
|
+
// Git clone install with authentication
|
|
375
|
+
const displayUrl = sanitizeUrl(parsed.url);
|
|
376
|
+
console.log(chalk.bold(`\n📦 Installing from ${displayUrl}\n`));
|
|
377
|
+
const tempDir = join(tmpdir(), `skill-install-${Date.now()}`);
|
|
378
|
+
await mkdir(tempDir, { recursive: true });
|
|
379
|
+
const cloneSpinner = ora('Cloning repository...').start();
|
|
380
|
+
try {
|
|
381
|
+
await cloneWithAuth(parsed.url, tempDir, {
|
|
382
|
+
ref: parsed.ref,
|
|
383
|
+
depth: 1,
|
|
384
|
+
token: options.token,
|
|
385
|
+
});
|
|
386
|
+
cloneSpinner.succeed('Cloned');
|
|
284
387
|
}
|
|
285
388
|
catch (err) {
|
|
286
|
-
|
|
389
|
+
cloneSpinner.fail(`Clone failed: ${err.message}`);
|
|
390
|
+
await rm(tempDir, { recursive: true, force: true }).catch(() => { });
|
|
287
391
|
return;
|
|
288
392
|
}
|
|
289
|
-
|
|
290
|
-
|
|
291
|
-
|
|
292
|
-
|
|
293
|
-
|
|
294
|
-
|
|
295
|
-
|
|
296
|
-
|
|
297
|
-
|
|
298
|
-
|
|
299
|
-
|
|
300
|
-
|
|
301
|
-
|
|
302
|
-
skillDirs.push(tempDir);
|
|
303
|
-
}
|
|
304
|
-
// Check subdirectories
|
|
305
|
-
for (const entry of entries) {
|
|
306
|
-
if (entry.isDirectory() && !entry.name.startsWith('.')) {
|
|
307
|
-
if (existsSync(join(tempDir, entry.name, 'SKILL.md'))) {
|
|
308
|
-
skillDirs.push(join(tempDir, entry.name));
|
|
393
|
+
// Detect skills in repo
|
|
394
|
+
const entries = await readdir(tempDir, { withFileTypes: true });
|
|
395
|
+
let skillDirs = [];
|
|
396
|
+
// Check if root is a skill
|
|
397
|
+
if (existsSync(join(tempDir, 'SKILL.md'))) {
|
|
398
|
+
skillDirs.push(tempDir);
|
|
399
|
+
}
|
|
400
|
+
// Check subdirectories
|
|
401
|
+
for (const entry of entries) {
|
|
402
|
+
if (entry.isDirectory() && !entry.name.startsWith('.')) {
|
|
403
|
+
if (existsSync(join(tempDir, entry.name, 'SKILL.md'))) {
|
|
404
|
+
skillDirs.push(join(tempDir, entry.name));
|
|
405
|
+
}
|
|
309
406
|
}
|
|
310
407
|
}
|
|
311
|
-
|
|
312
|
-
|
|
313
|
-
|
|
314
|
-
skillDirs.push(tempDir);
|
|
315
|
-
}
|
|
316
|
-
const repoName = githubUrl.split('/').pop()?.replace('.git', '') || 'skill';
|
|
317
|
-
for (const skillSourceDir of skillDirs) {
|
|
318
|
-
const skillName = skillSourceDir === tempDir ? repoName : basename(skillSourceDir);
|
|
319
|
-
for (const agent of agents) {
|
|
320
|
-
const config = AGENTS[agent];
|
|
321
|
-
const targetDir = isGlobal ? config.globalDir : config.projectDir;
|
|
322
|
-
const skillDir = join(targetDir, skillName);
|
|
323
|
-
const spinner = ora(`Installing ${skillName} to ${config.displayName}...`).start();
|
|
324
|
-
await mkdir(skillDir, { recursive: true });
|
|
325
|
-
await cp(skillSourceDir, skillDir, { recursive: true });
|
|
326
|
-
spinner.succeed(`${config.displayName}: ${skillDir}`);
|
|
408
|
+
if (skillDirs.length === 0) {
|
|
409
|
+
// Treat entire repo as a skill
|
|
410
|
+
skillDirs.push(tempDir);
|
|
327
411
|
}
|
|
328
|
-
|
|
329
|
-
|
|
330
|
-
|
|
331
|
-
const
|
|
332
|
-
|
|
412
|
+
const repoName = parsed.url.split('/').pop()?.replace('.git', '') || 'skill';
|
|
413
|
+
for (const skillSourceDir of skillDirs) {
|
|
414
|
+
const skillName = skillSourceDir === tempDir ? repoName : basename(skillSourceDir);
|
|
415
|
+
for (const agent of agents) {
|
|
416
|
+
const config = AGENTS[agent];
|
|
417
|
+
const targetDir = isGlobal ? config.globalDir : config.projectDir;
|
|
418
|
+
const skillDir = join(targetDir, skillName);
|
|
419
|
+
const spinner = ora(`Installing ${skillName} to ${config.displayName}...`).start();
|
|
420
|
+
await mkdir(skillDir, { recursive: true });
|
|
421
|
+
await cp(skillSourceDir, skillDir, { recursive: true });
|
|
422
|
+
spinner.succeed(`${config.displayName}: ${skillDir}`);
|
|
423
|
+
}
|
|
424
|
+
// Get version
|
|
425
|
+
let version;
|
|
426
|
+
try {
|
|
427
|
+
const { stdout } = await execAsync('git rev-parse HEAD', { cwd: tempDir });
|
|
428
|
+
version = stdout.trim();
|
|
429
|
+
}
|
|
430
|
+
catch { }
|
|
431
|
+
// Determine source type for lock
|
|
432
|
+
let sourceType = parsed.type;
|
|
433
|
+
if (sourceType === 'private-git')
|
|
434
|
+
sourceType = 'private-git';
|
|
435
|
+
// Add to lock
|
|
436
|
+
const lockEntry = createLockEntry({
|
|
437
|
+
name: skillName,
|
|
438
|
+
scopedName: `${parsed.url.split('/').slice(-2).join('/')}/${skillName}`,
|
|
439
|
+
source: sanitizeUrl(parsed.url),
|
|
440
|
+
sourceType: sourceType,
|
|
441
|
+
version,
|
|
442
|
+
agents,
|
|
443
|
+
canonicalPath: isGlobal ? AGENTS[agents[0]].globalDir : AGENTS[agents[0]].projectDir,
|
|
444
|
+
isGlobal,
|
|
445
|
+
});
|
|
446
|
+
await addSkillToLock(lockEntry);
|
|
333
447
|
}
|
|
334
|
-
|
|
335
|
-
|
|
336
|
-
|
|
337
|
-
|
|
338
|
-
|
|
339
|
-
source: githubUrl,
|
|
340
|
-
sourceType: githubUrl.includes('gitlab') ? 'gitlab' : 'github',
|
|
341
|
-
version,
|
|
342
|
-
agents,
|
|
343
|
-
canonicalPath: isGlobal ? AGENTS[agents[0]].globalDir : AGENTS[agents[0]].projectDir,
|
|
344
|
-
isGlobal,
|
|
345
|
-
});
|
|
346
|
-
await addSkillToLock(lockEntry);
|
|
448
|
+
// Cleanup
|
|
449
|
+
await rm(tempDir, { recursive: true, force: true }).catch(() => { });
|
|
450
|
+
console.log(chalk.bold.green(`\n✨ Installed ${skillDirs.length} skill(s)\n`));
|
|
451
|
+
trackCommand('install', `source=${sanitizeUrl(parsed.url)} count=${skillDirs.length}`);
|
|
452
|
+
return;
|
|
347
453
|
}
|
|
348
|
-
//
|
|
349
|
-
|
|
350
|
-
console.log(chalk.
|
|
351
|
-
|
|
454
|
+
// ── Fallback: well-known URL or unrecognized source ──
|
|
455
|
+
console.error(chalk.red(`Unrecognized source: ${source}`));
|
|
456
|
+
console.log(chalk.gray(' Supported formats:'));
|
|
457
|
+
console.log(chalk.gray(' skills install owner/repo'));
|
|
458
|
+
console.log(chalk.gray(' skills install https://github.com/owner/repo'));
|
|
459
|
+
console.log(chalk.gray(' skills install git@github.com:owner/repo.git'));
|
|
460
|
+
console.log(chalk.gray(' skills install https://gitlab.com/owner/repo'));
|
|
461
|
+
console.log(chalk.gray(' skills install https://bitbucket.org/owner/repo'));
|
|
462
|
+
console.log(chalk.gray(' skills install npm:@scope/package'));
|
|
463
|
+
console.log(chalk.gray(' skills install ./local/path'));
|
|
464
|
+
console.log(chalk.gray(' skills install -s skill-name'));
|
|
352
465
|
}
|
|
353
466
|
catch (error) {
|
|
354
467
|
console.error(chalk.red('Error installing skill:'), error.message || error);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"install.js","sourceRoot":"","sources":["../../../src/cli/commands/install.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"install.js","sourceRoot":"","sources":["../../../src/cli/commands/install.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,74 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Git Authentication Module
|
|
3
|
+
* Resolves credentials for private Git repositories across platforms
|
|
4
|
+
*
|
|
5
|
+
* Supports:
|
|
6
|
+
* - Environment variables (GIT_TOKEN, GITLAB_TOKEN, BITBUCKET_TOKEN, GH_TOKEN)
|
|
7
|
+
* - SSH key detection
|
|
8
|
+
* - Git credential helper
|
|
9
|
+
* - Interactive token prompt (fallback)
|
|
10
|
+
*/
|
|
11
|
+
export type GitHost = 'github' | 'gitlab' | 'bitbucket' | 'custom';
|
|
12
|
+
export interface GitAuthResult {
|
|
13
|
+
/** The authentication method that was resolved */
|
|
14
|
+
method: 'token' | 'ssh' | 'credential-helper' | 'netrc' | 'none';
|
|
15
|
+
/** Token value if method is 'token' */
|
|
16
|
+
token?: string;
|
|
17
|
+
/** Whether SSH keys are available */
|
|
18
|
+
sshAvailable?: boolean;
|
|
19
|
+
/** Detected host type */
|
|
20
|
+
host: GitHost;
|
|
21
|
+
}
|
|
22
|
+
export interface CloneOptions {
|
|
23
|
+
/** Branch or tag to checkout */
|
|
24
|
+
ref?: string;
|
|
25
|
+
/** Clone depth (default: 1 for shallow) */
|
|
26
|
+
depth?: number;
|
|
27
|
+
/** Subpath within the repo to sparse-checkout */
|
|
28
|
+
subpath?: string;
|
|
29
|
+
/** Explicit auth token to use (overrides auto-detection) */
|
|
30
|
+
token?: string;
|
|
31
|
+
}
|
|
32
|
+
/**
|
|
33
|
+
* Detect the Git hosting provider from a URL
|
|
34
|
+
*/
|
|
35
|
+
export declare function detectGitHost(url: string): GitHost;
|
|
36
|
+
/**
|
|
37
|
+
* Resolve Git authentication for a given URL
|
|
38
|
+
*
|
|
39
|
+
* Resolution priority:
|
|
40
|
+
* 1. Environment variables (host-specific)
|
|
41
|
+
* 2. SSH key availability (for SSH URLs)
|
|
42
|
+
* 3. Git credential helper
|
|
43
|
+
* 4. .netrc file
|
|
44
|
+
* 5. None (public repo or will fail)
|
|
45
|
+
*/
|
|
46
|
+
export declare function resolveGitAuth(url: string, explicitToken?: string): Promise<GitAuthResult>;
|
|
47
|
+
/**
|
|
48
|
+
* Build an authenticated HTTPS URL by injecting a token
|
|
49
|
+
*
|
|
50
|
+
* Input: https://gitlab.com/team/repo.git + token "abc123"
|
|
51
|
+
* Output: https://oauth2:abc123@gitlab.com/team/repo.git
|
|
52
|
+
*/
|
|
53
|
+
export declare function buildAuthenticatedUrl(url: string, token: string): string;
|
|
54
|
+
/**
|
|
55
|
+
* Convert an SSH URL to HTTPS URL for token-based auth
|
|
56
|
+
* git@github.com:owner/repo.git → https://github.com/owner/repo.git
|
|
57
|
+
*/
|
|
58
|
+
export declare function sshToHttps(url: string): string;
|
|
59
|
+
/**
|
|
60
|
+
* Normalize a Git URL for cloning
|
|
61
|
+
* Ensures URL has .git suffix and proper protocol
|
|
62
|
+
*/
|
|
63
|
+
export declare function normalizeGitUrl(url: string): string;
|
|
64
|
+
/**
|
|
65
|
+
* Clone a Git repository with automatic authentication
|
|
66
|
+
*
|
|
67
|
+
* Handles SSH, HTTPS+token, and public repos transparently.
|
|
68
|
+
*/
|
|
69
|
+
export declare function cloneWithAuth(url: string, destDir: string, options?: CloneOptions): Promise<void>;
|
|
70
|
+
/**
|
|
71
|
+
* Get the display-safe version of a URL (strips tokens)
|
|
72
|
+
*/
|
|
73
|
+
export declare function sanitizeUrl(url: string): string;
|
|
74
|
+
//# sourceMappingURL=git-auth.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"git-auth.d.ts","sourceRoot":"","sources":["../../src/core/git-auth.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAaH,MAAM,MAAM,OAAO,GAAG,QAAQ,GAAG,QAAQ,GAAG,WAAW,GAAG,QAAQ,CAAC;AAEnE,MAAM,WAAW,aAAa;IAC1B,kDAAkD;IAClD,MAAM,EAAE,OAAO,GAAG,KAAK,GAAG,mBAAmB,GAAG,OAAO,GAAG,MAAM,CAAC;IACjE,uCAAuC;IACvC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,qCAAqC;IACrC,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,yBAAyB;IACzB,IAAI,EAAE,OAAO,CAAC;CACjB;AAED,MAAM,WAAW,YAAY;IACzB,gCAAgC;IAChC,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,2CAA2C;IAC3C,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,iDAAiD;IACjD,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,4DAA4D;IAC5D,KAAK,CAAC,EAAE,MAAM,CAAC;CAClB;AAID;;GAEG;AACH,wBAAgB,aAAa,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAMlD;AA2HD;;;;;;;;;GASG;AACH,wBAAsB,cAAc,CAAC,GAAG,EAAE,MAAM,EAAE,aAAa,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,aAAa,CAAC,CAsChG;AAID;;;;;GAKG;AACH,wBAAgB,qBAAqB,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM,CAUxE;AAED;;;GAGG;AACH,wBAAgB,UAAU,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAM9C;AAED;;;GAGG;AACH,wBAAgB,eAAe,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAiBnD;AAID;;;;GAIG;AACH,wBAAsB,aAAa,CAC/B,GAAG,EAAE,MAAM,EACX,OAAO,EAAE,MAAM,EACf,OAAO,CAAC,EAAE,YAAY,GACvB,OAAO,CAAC,IAAI,CAAC,CAuDf;AAED;;GAEG;AACH,wBAAgB,WAAW,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAI/C"}
|