Skip to content

Commit c3d7247

Browse files
foxy1402Copilot
andcommitted
Add debug logging for IDE streaming issues
- Log message count and prompt content for IDE requests - Log qodercli exit code and stderr when stream closes - Will help diagnose why streams close in 11ms with empty response Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
1 parent 669b8cc commit c3d7247

File tree

1 file changed

+12
-3
lines changed

1 file changed

+12
-3
lines changed

src/routes/chat.js

Lines changed: 12 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -42,7 +42,7 @@ router.post('/', (req, res) => {
4242
// Log IDE/client info for debugging
4343
const userAgent = req.headers['user-agent'] || 'unknown';
4444
if (userAgent.includes('Continue') || userAgent.includes('Zed') || userAgent.includes('Cursor')) {
45-
console.log('[IDE Request]', userAgent, 'stream:', stream, 'model:', requestedModel);
45+
console.log('[IDE Request]', userAgent, 'stream:', stream, 'model:', requestedModel, 'messages:', messages?.length || 0);
4646
}
4747

4848
// Validate messages
@@ -58,6 +58,12 @@ router.post('/', (req, res) => {
5858
const model = getModelMapping(requestedModel);
5959
const prompt = messagesToPrompt(messages);
6060
const id = newId('chatcmpl');
61+
62+
// Debug: Log prompt for IDE tools
63+
const userAgent = req.headers['user-agent'] || '';
64+
if (userAgent.includes('Continue') || userAgent.includes('Zed') || userAgent.includes('Cursor')) {
65+
console.log('[IDE Prompt]', prompt.substring(0, 150) + (prompt.length > 150 ? '...' : ''));
66+
}
6167

6268
const flags = [];
6369
// qodercli uses --max-output-tokens with values "16k" or "32k"
@@ -109,13 +115,16 @@ router.post('/', (req, res) => {
109115
res.write(`data: ${JSON.stringify(buildStreamChunk(content, model, id))}\n\n`);
110116
}
111117
},
112-
onDone: (_code, _stderr) => {
118+
onDone: (code, stderr) => {
119+
if (code !== 0 || stderr) {
120+
console.error('[chat/completions] qodercli exited with code:', code, 'stderr:', stderr?.substring(0, 200));
121+
}
113122
res.write(`data: ${JSON.stringify(buildDoneChunk(model, id, lastFinishReason))}\n\n`);
114123
res.write('data: [DONE]\n\n');
115124
res.end();
116125
},
117126
onError: (err) => {
118-
console.error('[chat/completions]', err.message);
127+
console.error('[chat/completions] error:', err.message);
119128
res.write(`data: ${JSON.stringify({ error: { message: err.message, type: err.code === 'TIMEOUT' ? 'timeout_error' : 'api_error' } })}\n\n`);
120129
res.end();
121130
},

0 commit comments

Comments
 (0)