UNPKG

@the_cfdude/productboard-mcp

Version:

Model Context Protocol server for Productboard REST API with dynamic tool loading

38 lines (37 loc) 1.35 kB
/** * ProductBoard API Pagination Handler * * Handles the correct pagination pattern for ProductBoard API: * - First call returns max 100 items by default * - No limit/pageLimit/pageOffset parameters accepted * - Must recursively follow links.next to get all items * - Uses cursor-based pagination via links.next URLs */ export interface PaginatedResponse { data: any[]; links?: { next?: string; prev?: string; self?: string; }; meta?: any; } export interface PaginationOptions { maxPages?: number; maxItems?: number; onPageFetched?: (pageData: any[], pageNum: number, totalSoFar: number) => void; } /** * Fetch all pages from a ProductBoard API endpoint using proper cursor pagination * * @param apiClient - Axios instance configured for ProductBoard API * @param endpoint - API endpoint path (e.g., '/features', '/components') * @param initialParams - Initial query parameters (filters, etc.) * @param options - Pagination options * @returns Combined data from all pages */ export declare function fetchAllPages(apiClient: any, endpoint: string, initialParams?: any, options?: PaginationOptions): Promise<PaginatedResponse>; /** * Simplified wrapper for common use cases */ export declare function fetchAllItems(apiClient: any, endpoint: string, filters?: any): Promise<any[]>;