@razorpay/blade-mcp
Version:
Model Context Protocol server for Blade
35 lines • 1.42 kB
JavaScript
import { readdirSync, readFileSync } from 'fs';
import { join } from 'path';
import * as Sentry from '@sentry/node';
import { CURSOR_RULES_VERSION_STRING, KNOWLEDGEBASE_DIRECTORY, PROJECT_ROOT_DIRECTORY, } from './tokens.js';
const hasOutDatedRules = (ruleFilePath) => {
const ruleFileContent = readFileSync(ruleFilePath, 'utf8');
return !ruleFileContent.includes(CURSOR_RULES_VERSION_STRING);
};
const getPackageJSONVersion = () => {
const packageJson = JSON.parse(readFileSync(join(PROJECT_ROOT_DIRECTORY, 'package.json'), 'utf8'));
return packageJson.version;
};
/**
* Reads the given documentation type directory and returns a list of available blade docs
*/
const getBladeDocsList = (documentationType) => {
const bladeDocsList = [];
try {
// Read all markdown files and strip the .md extension
const files = readdirSync(join(KNOWLEDGEBASE_DIRECTORY, documentationType));
for (const file of files) {
if (file.endsWith('.md') && !file.includes('index.md')) {
bladeDocsList.push(file.replace('.md', '').trim());
}
}
}
catch (error) {
Sentry.captureException(error);
console.error('Error reading knowledgebase directory:', error);
return [];
}
return bladeDocsList;
};
export { hasOutDatedRules, getPackageJSONVersion, getBladeDocsList };
//# sourceMappingURL=generalUtils.js.map