Skip to main content
Glama
index.ts1.42 kB
import { mkdir, readFile } from 'node:fs/promises'; import { join } from 'node:path'; import { isDeepStrictEqual } from 'node:util'; import type { IntlayerConfig } from '@intlayer/types'; import { writeJsonIfChanged } from '../writeJsonIfChanged'; const getCachedConfiguration = async (configuration: IntlayerConfig) => { const configFilePath = join( configuration.content.configDir, 'configuration.json' ); const configurationContent = await readFile(configFilePath, 'utf8'); return JSON.parse(configurationContent); }; export const isCachedConfigurationUpToDate = async ( configuration: IntlayerConfig ): Promise<boolean | null> => { try { const cachedConfiguration = await getCachedConfiguration(configuration); const parsedConfiguration = JSON.parse(JSON.stringify(configuration)); const isSimilar = isDeepStrictEqual( cachedConfiguration, parsedConfiguration ); return isSimilar; } catch { return null; } }; export const writeConfiguration = async (configuration: IntlayerConfig) => { const { content } = configuration; const { configDir } = content; // Ensure target directory exists // configDir is expected to be the directory where configuration.json will live await mkdir(configDir, { recursive: true }); const configFilePath = join(configDir, 'configuration.json'); await writeJsonIfChanged(configFilePath, configuration); };

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/aymericzip/intlayer'

If you have feedback or need assistance with the MCP directory API, please join our Discord server