git-aiflow
Version:
🚀 An AI-powered workflow automation tool for effortless Git-based development, combining smart GitLab/GitHub merge & pull request creation with Conan package management.
84 lines • 2.82 kB
TypeScript
import { HttpClient } from '../http/http-client.js';
/**
* Conan package version query service using Conan v2 REST API
*/
export declare class ConanService {
private readonly baseUrl;
private readonly http;
constructor(baseUrl: string, http?: HttpClient);
/**
* Query all versions of a specific package from a remote repository
* @param remote Remote repository name (e.g., "repo")
* @param packageName Package name (e.g., "zterm" or "xxx/winusb")
* @returns Array of version information
*/
getPackageVersions(remote: string, packageName: string): Promise<ConanPackageVersion[]>;
/**
* Get latest version of a package
*/
getLatestVersion(remote: string, packageName: string): Promise<ConanPackageVersion | null>;
/**
* Get package revision information using Conan v2 API
* @param remote Remote repository name
* @param packageName Package name (e.g., "zterm" )
* @param version Package version (e.g., "1.0.0.25")
* @param reference Optional full reference (e.g., "zterm/1.0.0.25@_/_") to avoid search API call
* @returns Package revision information
*/
getPackageRevision(remote: string, packageName: string, version: string, reference?: string): Promise<ConanPackageRevision | null>;
/**
* Convert Conan time format to timestamp
* @param timeStr Time string like "2025-09-06T00:34:38.826+0800"
* @returns Timestamp string like "1757090078.826"
*/
private convertTimeToTimestamp;
/**
* Get complete package information including revision
* @param remote Remote repository name
* @param packageName Package name
* @param version Package version (optional, gets latest if not provided)
* @returns Complete package information with revision
*/
getCompletePackageInfo(remote: string, packageName: string, version?: string): Promise<ConanCompletePackageInfo | null>;
/**
* Compare semantic versions for sorting
*/
private compareVersions;
}
/**
* Conan package version information
*/
export interface ConanPackageVersion {
version: string;
packageName: string;
remote: string;
url: string;
reference: string;
lastModified?: string;
}
/**
* Conan package revision information
*/
export interface ConanPackageRevision {
packageName: string;
version: string;
reference: string;
revision: string;
time: string;
timestamp: string;
lockEntry: string;
}
/**
* Complete Conan package information including revision
*/
export interface ConanCompletePackageInfo {
packageName: string;
version: string;
remote: string;
revision: string;
timestamp: string;
lockEntry: string;
reference: string;
time: string;
}
//# sourceMappingURL=conan-service.d.ts.map