'use strict'; // 仅用于离线回归:模拟官方 gitea-mcp 的 JSONL initialize 行为。 const readline = require('readline'); const mode = String(process.env.GITEA_MCP_FIXTURE_MODE || 'success'); const reader = readline.createInterface({ input: process.stdin }); reader.on('line', (line) => { let request; try { request = JSON.parse(line); } catch { return; } if (request.method !== 'initialize') return; if (mode === 'timeout') return; if (mode === 'exit') process.exit(17); if (mode === 'error') { process.stdout.write(`${JSON.stringify({ jsonrpc: '2.0', id: request.id, error: { code: -32000, message: 'fixture handshake failed' }, })}\n`); return; } process.stdout.write(`${JSON.stringify({ jsonrpc: '2.0', id: request.id, result: { protocolVersion: '2024-11-05', capabilities: { tools: {} }, serverInfo: { name: 'fixture-gitea-mcp', version: '0.0.0' }, }, })}\n`); });