feat: support MCP elicitation and rebuild release
This commit is contained in:
28
fixtures/gitea-workflow/mock-gitea-mcp.js
Normal file
28
fixtures/gitea-workflow/mock-gitea-mcp.js
Normal file
@@ -0,0 +1,28 @@
|
||||
'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`);
|
||||
});
|
||||
Reference in New Issue
Block a user