UNPKG

@simonecoelhosfo/optimizely-mcp-server

Version:

Optimizely MCP Server for AI assistants with integrated CLI tools

58 lines 2.33 kB
/** * 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