@debugg-ai/debugg-ai-mcp
Version:
Zero-Config, Fully AI-Managed End-to-End Testing for all code gen platforms.
32 lines (31 loc) • 1.57 kB
JavaScript
import { Logger } from '../utils/logger.js';
import { handleExternalServiceError } from '../utils/errors.js';
import { DebuggAIServerClient } from '../services/index.js';
import { config } from '../config/index.js';
import { resolveProject } from '../utils/resolveProject.js';
const logger = new Logger({ module: 'createTestSuiteHandler' });
function errorResp(error, message, extra = {}) {
return { content: [{ type: 'text', text: JSON.stringify({ error, message, ...extra }, null, 2) }], isError: true };
}
export async function createTestSuiteHandler(input, _context) {
const start = Date.now();
logger.toolStart('create_test_suite', input);
try {
const client = new DebuggAIServerClient(config.api.key);
await client.init();
let projectUuid = input.projectUuid;
if (!projectUuid) {
const resolved = await resolveProject(client, input.projectName);
if ('error' in resolved)
return errorResp(resolved.error, resolved.message, { candidates: resolved.candidates });
projectUuid = resolved.uuid;
}
const suite = await client.createTestSuite({ name: input.name, description: input.description, projectUuid });
logger.toolComplete('create_test_suite', Date.now() - start);
return { content: [{ type: 'text', text: JSON.stringify(suite, null, 2) }] };
}
catch (error) {
logger.toolError('create_test_suite', error, Date.now() - start);
throw handleExternalServiceError(error, 'DebuggAI', 'create_test_suite');
}
}