@the_cfdude/productboard-mcp
Version:
Model Context Protocol server for Productboard REST API with dynamic tool loading
65 lines (64 loc) • 2.04 kB
TypeScript
/**
* Bulk operations tools with diff-only focus
* Provides efficient bulk update capabilities with change tracking
*/
import { ToolDefinition } from '../types/tool-types.js';
/**
* Perform batch updates with diff tracking
*/
export declare function performBulkUpdate(args: {
entityType: 'features' | 'notes' | 'companies' | 'users' | 'objectives';
updates: Array<{
id: string;
changes: Record<string, unknown>;
expectedVersion?: string;
metadata?: Record<string, unknown>;
}>;
batchSize?: number;
concurrency?: number;
continueOnError?: boolean;
validateBeforeUpdate?: boolean;
trackChanges?: boolean;
diffFormat?: 'summary' | 'detailed' | 'compact';
includeUnchanged?: boolean;
instance?: string;
workspaceId?: string;
}): Promise<unknown>;
/**
* Compare entities and generate diff report without making changes
*/
export declare function compareEntities(args: {
entityType: 'features' | 'notes' | 'companies' | 'users' | 'objectives';
comparisons: Array<{
id: string;
proposedChanges: Record<string, unknown>;
}>;
diffFormat?: 'summary' | 'detailed' | 'compact';
highlightSignificant?: boolean;
includeUnchanged?: boolean;
instance?: string;
workspaceId?: string;
}): Promise<unknown>;
/**
* Validate bulk update request without executing
*/
export declare function validateBulkUpdate(args: {
entityType: 'features' | 'notes' | 'companies' | 'users' | 'objectives';
updates: Array<{
id: string;
changes: Record<string, unknown>;
expectedVersion?: string;
}>;
checkExistence?: boolean;
validateFields?: boolean;
instance?: string;
workspaceId?: string;
}): Promise<unknown>;
/**
* Tool handler function
*/
export declare function handleBulkOperationsTool(operation: string, args: Record<string, unknown>): Promise<unknown>;
/**
* Setup bulk operations tools definitions
*/
export declare function setupBulkOperationsTools(): ToolDefinition[];