/** * Git Adapter * * Base adapter for fetching packages from any Git URL. * Handles clone to cache, pull for refresh, and version tag checkout. * * Cache layout: * ~/.cache/aiwg/packages//@/ * * @implements #557 */ import type { PackageRef, PackageSource, PackageRegistryAdapter, FetchOptions, PackageInfo } from '../types.js'; /** * Build cache path for a package at a specific version */ export declare function buildCachePath(owner: string, name: string, version: string): string; /** * Detect the manifest type from a cloned package directory */ declare function detectManifestType(cachePath: string): Promise<'framework' | 'addon' | 'extension' | 'unknown'>; /** * GitAdapter * * Handles any https:// or git@... URL directly. * Also serves as the base class for Gitea/GitHub shorthand adapters. */ export declare class GitAdapter implements PackageRegistryAdapter { readonly id: string; readonly name: string; /** * Returns true for https:// or git@/ssh:// URLs, or git+https:// URLs */ canResolve(ref: string): boolean; resolve(ref: PackageRef): Promise; fetch(source: PackageSource, options?: FetchOptions): Promise; /** GitAdapter does not list packages */ list(): Promise; } export { detectManifestType }; //# sourceMappingURL=git.d.ts.map