@utaba/ucm-mcp-server
Version:
Universal Context Manager MCP Server - AI-native artifact management
75 lines • 3.21 kB
TypeScript
import { ArtifactData, AuthorData } from '../types/UcmApiTypes.js';
export declare class UcmApiClient {
private baseUrl;
private authToken?;
private authorId?;
private client;
constructor(baseUrl: string, authToken?: string | undefined, timeout?: number, authorId?: string | undefined);
private setupInterceptors;
private ensureClient;
getAuthors(): Promise<AuthorData[]>;
getAuthor(authorId: string): Promise<AuthorData | null>;
private buildApiPath;
getArtifact(author?: string, repository?: string, category?: string, subcategory?: string, filename?: string, version?: string): Promise<ArtifactData>;
getLatestArtifact(author?: string, repository?: string, category?: string, subcategory?: string, filename?: string): Promise<ArtifactData>;
listArtifacts(author?: string, repository?: string, category?: string, subcategory?: string, offset?: number, limit?: number): Promise<{
data: any[];
pagination: {
offset: number;
limit: number;
total: number;
};
_links?: any;
}>;
searchArtifacts(filters?: {
repository?: string;
category?: string;
technology?: string;
subcategory?: string;
offset?: number;
limit?: number;
}): Promise<ArtifactData[]>;
publishArtifact(author: string, repository: string, category: string, subcategory: string, data: any): Promise<ArtifactData>;
updateArtifact(author: string, repository: string, category: string, subcategory: string, filename: string, version: string, data: any): Promise<ArtifactData>;
deleteArtifact(author: string, repository: string, category: string, subcategory: string, filename: string, version?: string): Promise<any>;
getArtifactVersions(author: string, repository: string, category: string, subcategory: string, filename: string): Promise<any>;
getCategories(): Promise<string[]>;
healthCheck(): Promise<{
status: string;
timestamp: string;
}>;
getQuickstart(): Promise<string>;
getAuthorIndex(author: string, repository?: string): Promise<string>;
/**
* Cleanup method to properly dispose of HTTP client resources
* This helps prevent memory leaks from accumulated AbortSignal listeners
*/
cleanup(): void;
/**
* Check if the client is still available for use
*/
isAvailable(): boolean;
createRepository(author: string, data: {
repositoryName: string;
displayName?: string;
description?: string;
isPublic?: boolean;
}): Promise<any>;
getRepository(author: string, repository: string): Promise<any>;
updateRepository(author: string, repository: string, data: {
displayName?: string;
description?: string;
isPublic?: boolean;
}): Promise<any>;
deleteRepository(author: string, repository: string): Promise<any>;
listRepositories(author: string, offset?: number, limit?: number): Promise<{
data: any[];
pagination: {
offset: number;
limit: number;
total: number;
};
_links?: any;
}>;
}
//# sourceMappingURL=UcmApiClient.d.ts.map