UNPKG

@simonecoelhosfo/optimizely-mcp-server

Version:

Optimizely MCP Server for AI assistants with integrated CLI tools

56 lines 2.17 kB
/** * Get Flag Entities Tool - Individual Module * @description Retrieves flag-related entities with relationship queries * @since 2025-08-04 * @author Tool Modularization Team * * Migration Status: COMPLETED * Original Method: OptimizelyMCPTools.getFlagEntities * Complexity: MEDIUM * Dependencies: logger, errorMapper, apiClient */ /** * Creates the Get Flag Entities tool with injected dependencies * @param deps - Injected dependencies (storage, logger, errorMapper, etc.) * @returns Tool definition with handler */ export function createGetFlagEntitiesTool(deps) { return { name: 'get_flag_entities', requiresCache: true, category: 'discovery', description: 'Get all entities associated with a specific flag', handler: async (args) => { const { project_id: projectId, flag_id: flagId } = args; try { deps.logger.debug({ projectId, flagId }, 'OptimizelyMCPTools.getFlagEntities: Getting flag entities'); const entities = await deps.apiClient.getFlagEntities(projectId, flagId); deps.logger.debug({ projectId, flagId, entityCount: entities.length }, 'OptimizelyMCPTools.getFlagEntities: Successfully retrieved flag entities'); return { project_id: projectId, flag_id: flagId, entities: entities, total_count: entities.length, entity_types: [...new Set(entities.map((e) => e.type))], generated_at: new Date().toISOString() }; } catch (error) { deps.logger.error({ projectId, flagId, error: error.message }, 'OptimizelyMCPTools.getFlagEntities: Failed to get flag entities'); throw deps.errorMapper.toMCPError(error, 'Failed to get flag entities'); } } }; } //# sourceMappingURL=GetFlagEntities.js.map