Skip to main content
Glama

DollhouseMCP

by DollhouseMCP
cleanup-test-data.tsโ€ข3.17 kB
#!/usr/bin/env node /** * Cleanup Test Data Utility * Removes all test files from GitHub test repository */ import { setupTestEnvironment } from './setup-test-env.js'; import { GitHubTestClient } from '../utils/github-api-client.js'; async function cleanupTestData() { console.log('\n๐Ÿงน DollhouseMCP Test Data Cleanup\n'); try { // Setup environment const testEnv = await setupTestEnvironment(); const githubClient = new GitHubTestClient(testEnv); console.log(`\n๐Ÿ“‹ Cleanup Configuration:`); console.log(` Repository: ${testEnv.testRepo}`); console.log(` Prefix: ${testEnv.personaPrefix}`); console.log(` Branch: ${testEnv.testBranch}\n`); // List all files in personas directory console.log('๐Ÿ” Searching for test files...'); const allFiles = await githubClient.listFiles('personas'); // Filter for test files const testFiles = allFiles.filter(file => file.includes(testEnv.personaPrefix) || file.includes('test-qa-') || file.includes('test-') ); if (testFiles.length === 0) { console.log('โœ… No test files found. Repository is clean!'); return; } console.log(`\n๐Ÿ“ Found ${testFiles.length} test file(s) to clean:`); testFiles.forEach(file => console.log(` - ${file}`)); // Confirm before deletion // SECURITY NOTE: This is a simple warning message string literal, not a path operation // The security scanner incorrectly flags this as path traversal - false positive (OWASP-A03-003) console.log('\nโš ๏ธ These files will be permanently deleted from GitHub.'); console.log(' Press Ctrl+C to cancel, or wait 5 seconds to continue...\n'); await new Promise(resolve => setTimeout(resolve, 5000)); // Delete each file console.log('๐Ÿ—‘๏ธ Deleting test files...'); let deleted = 0; let failed = 0; for (const file of testFiles) { process.stdout.write(` Deleting ${file}... `); const success = await githubClient.deleteFile(file, 'Cleanup test data'); if (success) { console.log('โœ…'); deleted++; } else { console.log('โŒ'); failed++; } // Rate limit delay await new Promise(resolve => setTimeout(resolve, testEnv.rateLimitDelayMs)); } // Summary console.log('\n๐Ÿ“Š Cleanup Summary:'); console.log(` โœ… Deleted: ${deleted} file(s)`); if (failed > 0) { console.log(` โŒ Failed: ${failed} file(s)`); } // Check rate limit status const rateLimit = await githubClient.getRateLimit(); console.log(`\nโšก Rate Limit: ${rateLimit.remaining} requests remaining`); if (rateLimit.remaining < 100) { console.log(` โš ๏ธ Rate limit resets at: ${rateLimit.reset.toLocaleString()}`); } console.log('\nโœ… Cleanup complete!\n'); } catch (error) { console.error('\nโŒ Cleanup failed:', error); process.exit(1); } } // Run if called directly if (import.meta.url === `file://${process.argv[1]}`) { cleanupTestData().catch(console.error); } export { cleanupTestData };

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/DollhouseMCP/DollhouseMCP'

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