UNPKG

@rashidazarang/aptly-mcp

Version:

Model Context Protocol server for Aptly package repository management - enables AI assistants to manage Debian repositories

73 lines (72 loc) 2.52 kB
export interface AptlyConfig { baseURL: string; timeout?: number; authToken?: string; } export interface Repository { Name: string; Comment?: string; DefaultDistribution?: string; DefaultComponent?: string; } export interface Package { Key: string; ShortKey?: string; Architecture?: string; Description?: string; Package?: string; Version?: string; Section?: string; Maintainer?: string; Homepage?: string; Size?: number; InstalledSize?: number; } export interface Mirror { Name: string; ArchiveRoot: string; Distribution: string; Components: string[]; Architectures: string[]; LastDownloadDate?: string; } export interface Snapshot { Name: string; CreatedAt: string; Description: string; } export interface PublishedRepository { Prefix: string; Distribution: string; Architectures: string[]; Sources: Array<{ Component: string; Name: string; }>; SourceKind: 'local' | 'snapshot'; } export declare class AptlyClient { private client; constructor(config: AptlyConfig); ping(): Promise<boolean>; listRepositories(): Promise<Repository[]>; getRepository(name: string): Promise<Repository>; createRepository(name: string, comment?: string, defaultDistribution?: string, defaultComponent?: string): Promise<Repository>; deleteRepository(name: string, force?: boolean): Promise<void>; listPackages(repoName: string, query?: string): Promise<Package[]>; addPackages(repoName: string, directory: string, files?: string[]): Promise<void>; listMirrors(): Promise<Mirror[]>; createMirror(name: string, archiveURL: string, distribution: string, components?: string[], architectures?: string[]): Promise<Mirror>; getMirror(name: string): Promise<Mirror>; updateMirror(name: string): Promise<void>; listSnapshots(): Promise<Snapshot[]>; createSnapshot(name: string, repoName: string, description?: string): Promise<Snapshot>; listPublishedRepositories(): Promise<PublishedRepository[]>; publishRepository(repoName: string, distribution: string, prefix?: string): Promise<PublishedRepository>; publishSnapshot(snapshotName: string, distribution: string, prefix?: string): Promise<PublishedRepository>; listUploadedFiles(directory?: string): Promise<Record<string, Array<{ filename: string; size: number; }>>>; deleteUploadedFiles(directory: string, filename?: string): Promise<void>; }