@simonecoelhosfo/optimizely-mcp-server
Version:
Optimizely MCP Server for AI assistants with integrated CLI tools
58 lines • 2.33 kB
JavaScript
/**
* Archive Flags Bulk Tool - Individual Module
* @description Performs bulk archive operations on multiple flags
* @since 2025-08-04
* @author Tool Modularization Team
*
* Migration Status: COMPLETED
* Original Method: OptimizelyMCPTools.archiveFlags
* Complexity: MEDIUM
* Dependencies: logger, errorMapper, apiClient
*/
/**
* Creates the Archive Flags Bulk tool with injected dependencies
* @param deps - Injected dependencies (storage, logger, errorMapper, etc.)
* @returns Tool definition with handler
*/
export function createArchiveFlagsBulkTool(deps) {
return {
name: 'archive_flags_bulk',
requiresCache: true,
category: 'operations',
description: 'Performs bulk archive operations on multiple flags',
handler: async (args) => {
const { project_id: projectId, flag_keys: flagKeys } = args;
try {
deps.logger.debug({
projectId,
flagCount: flagKeys.length
}, 'OptimizelyMCPTools.archiveFlags: Starting bulk flag archive');
const result = await deps.apiClient.archiveFlags(projectId, flagKeys);
deps.logger.debug({
projectId,
flagCount: flagKeys.length,
successful: result.successful || 0,
failed: result.failed || 0
}, 'OptimizelyMCPTools.archiveFlags: Bulk flag archive completed');
return {
project_id: projectId,
total_flags: flagKeys.length,
successful: result.successful || 0,
failed: result.failed || 0,
archived_flags: result.archived_flags || [],
errors: result.errors || [],
timestamp: new Date().toISOString()
};
}
catch (error) {
deps.logger.error({
projectId,
flagCount: flagKeys.length,
error: error.message
}, 'OptimizelyMCPTools.archiveFlags: Failed to bulk archive flags');
throw deps.errorMapper.toMCPError(error, 'Failed to bulk archive flags');
}
}
};
}
//# sourceMappingURL=ArchiveFlagsBulk.js.map