UNPKG

@utaba/ucm-mcp-server

Version:

Universal Context Manager MCP Server - AI Productivity Platform

165 lines 6.33 kB
import { ArtifactData, AuthorData } from '../types/UcmApiTypes.js'; export declare class UcmLocalApiClient { private baseUrl; private authToken?; private authorId?; private organizationId?; private client; constructor(baseUrl: string, authToken?: string | undefined, timeout?: number, authorId?: string | undefined, organizationId?: 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[]>; searchArtifactsByText(searchParams: { searchText?: string; namespace?: string; author?: string; repository?: string; category?: string; subcategory?: string; filename?: string; tags?: string; offset?: number; limit?: number; }): Promise<{ data: any[]; pagination: { offset: number; limit: number; total: number; hasMore: boolean; }; _links?: any; }>; 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>; getAuthorRecents(author: 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; }): Promise<any>; getRepository(author: string, repository: string): Promise<any>; updateRepository(author: string, repository: string, data: { displayName?: string; description?: string; }): 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; }>; submitFeedback(data: { title: string; body: string; reportType: 'issue' | 'feedback'; tags?: string; }): Promise<any>; editArtifactMetadata(author: string, repository: string, category: string, subcategory: string, filename: string, data: { updateDescription?: string; updateNamespace?: string; updateFilename?: string; updateMimeType?: string; updateTechnology?: string; updateTags?: string; }): Promise<any>; /** * List External Connections including SharePoint * Returns markdown with a table of connections available */ listExternalConnections(params?: { limit?: number; offset?: number; }): Promise<string>; /** * Search SharePoint documents using Microsoft Search API * Uses V1 API - organizationId is auto-detected from auth token */ sharePointSearch(connectionId: string, params: { query: string; limit?: number; offset?: number; fileType?: string; }): Promise<any>; /** * List folders and files in SharePoint with pagination * Uses V1 API - organizationId is auto-detected from auth token */ sharePointListFolders(connectionId: string, params: { folderPath?: string; limit?: number; offset?: number; }): Promise<any>; /** * Read SharePoint file content with support for both fileUrl and legacy fileId * Uses V1 API - organizationId is auto-detected from auth token */ sharePointReadFile(connectionId: string, params: { fileUrl: string; extractMetadata?: boolean; offset?: number; limit?: number; }): Promise<any>; /** * Read SharePoint related file (image/embedded file extracted from document) * Uses V1 API - organizationId is auto-detected from auth token * Accepts full URI from markdown (with or without protocol prefix) * Returns complete file content (no pagination support) */ sharePointReadRelatedFile(uri: string): Promise<any>; /** * Extract fileName from SharePoint related file URI * Helper method for metadata purposes */ private extractFileNameFromUri; /** * Revoke SharePoint OnBehalfOf authorization for a connection * Deletes user's access tokens from Key Vault and database * Uses V1 API - organizationId is auto-detected from auth token */ sharePointSignOut(connectionId: string): Promise<any>; } //# sourceMappingURL=UcmLocalApiClient.d.ts.map