UNPKG

@simonecoelhosfo/optimizely-mcp-server

Version:

Optimizely MCP Server for AI assistants with integrated CLI tools

81 lines (66 loc) • 2.42 kB
#!/usr/bin/env node /** * Quick Default Extractor - Gets actual swagger defaults without complex parsing */ import fs from 'fs/promises'; async function extractDefaults() { console.log('šŸš€ Extracting swagger defaults...'); // Fetch Web API const response = await fetch('https://api.optimizely.com/v2/swagger.json'); const swagger = await response.json(); const defaults = {}; const enums = {}; // Parse definitions for defaults and enums if (swagger.definitions) { for (const [entityName, definition] of Object.entries(swagger.definitions)) { const entityKey = entityName.toLowerCase(); defaults[entityKey] = {}; enums[entityKey] = {}; if (definition.properties) { for (const [fieldName, fieldDef] of Object.entries(definition.properties)) { // Extract defaults if (fieldDef.default !== undefined) { defaults[entityKey][fieldName] = fieldDef.default; } // Extract enums if (fieldDef.enum) { enums[entityKey][fieldName] = fieldDef.enum; } } } // Clean up empty objects if (Object.keys(defaults[entityKey]).length === 0) { delete defaults[entityKey]; } if (Object.keys(enums[entityKey]).length === 0) { delete enums[entityKey]; } } } console.log('\nšŸ“Š SWAGGER DEFAULTS FOUND:'); console.log('==========================='); for (const [entity, entityDefaults] of Object.entries(defaults)) { console.log(`${entity}:`); for (const [field, value] of Object.entries(entityDefaults)) { console.log(` ${field}: ${JSON.stringify(value)}`); } } console.log('\nšŸŽÆ ENUM FIELDS FOUND:'); console.log('====================='); for (const [entity, entityEnums] of Object.entries(enums)) { console.log(`${entity}:`); for (const [field, values] of Object.entries(entityEnums)) { console.log(` ${field}: [${values.slice(0, 3).join(', ')}${values.length > 3 ? '...' : ''}]`); } } // Save results const output = { swaggerDefaults: defaults, enumFields: enums, extractedAt: new Date().toISOString() }; await fs.writeFile('./swagger-defaults-quick.json', JSON.stringify(output, null, 2)); console.log('\nāœ… Saved to swagger-defaults-quick.json'); return output; } extractDefaults().catch(console.error);