@codervisor/devlog-mcp
Version:
MCP server for managing development logs and working notes
84 lines • 2.65 kB
TypeScript
/**
* 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