UNPKG

@codervisor/devlog-mcp

Version:

MCP server for managing development logs and working notes

84 lines 2.65 kB
/** * HTTP API client for devlog operations * Provides project-aware interface to @codervisor/devlog-web API endpoints */ import type { DevlogEntry, DevlogFilter, CreateDevlogRequest, UpdateDevlogRequest, PaginatedResult } from '@codervisor/devlog-core'; export interface DevlogApiClientConfig { /** Base URL for the web API */ baseUrl: string; /** Request timeout in milliseconds */ timeout?: number; /** Number of retry attempts for failed requests */ retries?: number; } /** * Custom error class for API client errors */ export declare class DevlogApiClientError extends Error { statusCode?: number | undefined; response?: any | undefined; constructor(message: string, statusCode?: number | undefined, response?: any | undefined); } /** * HTTP API client for devlog operations */ export declare class DevlogApiClient { private baseUrl; private timeout; private retries; private currentProjectId; constructor(config: DevlogApiClientConfig); /** * Set the current project ID for all subsequent requests */ setCurrentProject(projectId: number): void; /** * Get the current project ID */ getCurrentProjectId(): number | null; /** * Make HTTP request with retry logic */ private makeRequest; /** * Unwrap standardized API response */ private unwrapApiResponse; /** * GET request helper */ private get; /** * POST request helper */ private post; /** * PUT request helper */ private put; /** * DELETE request helper */ private delete; /** * Get the project-aware endpoint prefix */ private getProjectEndpoint; listProjects(): Promise<any[]>; getProject(projectId?: number): Promise<any>; createProject(data: any): Promise<any>; createDevlog(data: CreateDevlogRequest): Promise<DevlogEntry>; getDevlog(id: number): Promise<DevlogEntry>; updateDevlog(id: number, data: UpdateDevlogRequest): Promise<DevlogEntry>; deleteDevlog(id: number): Promise<void>; listDevlogs(filter?: DevlogFilter): Promise<PaginatedResult<DevlogEntry>>; searchDevlogs(query: string, filter?: DevlogFilter): Promise<PaginatedResult<DevlogEntry>>; addDevlogNote(devlogId: number, note: string, category?: string, files?: string[], codeChanges?: string): Promise<DevlogEntry>; archiveDevlog(id: number): Promise<DevlogEntry>; unarchiveDevlog(id: number): Promise<DevlogEntry>; healthCheck(): Promise<{ status: string; timestamp: string; }>; } //# sourceMappingURL=devlog-api-client.d.ts.map