fix: extract user message from userInput.userResponse field (discovered via step dump)

This commit is contained in:
2026-03-10 14:05:22 +09:00
parent 17dd6654f1
commit 514c0f2738
3 changed files with 23 additions and 21 deletions

View File

@@ -1888,23 +1888,23 @@ function setupMonitor() {
});
if (umResp?.steps?.length > 0) {
const umStep = umResp.steps[0];
// User message text can be in various fields
const umText = umStep?.userMessage?.text
|| umStep?.userMessage?.rawText
|| umStep?.plannerResponse?.rawText
|| umStep?.metadata?.toolCall?.argumentsJson
|| '';
// User message is in userInput.userResponse (discovered via step dump)
const ui = umStep?.userInput;
const umText = ui?.userResponse || '';
const clientType = ui?.clientType || '';
const isFromIDE = clientType.includes('IDE');
logToFile(`[USER-MSG] step=${userInputIdx} type=${umStep?.type} client=${clientType} text=${umText.substring(0, 100)}`);
if (umText.length > 2) {
const truncated = umText.length > 800
? umText.substring(0, 800) + '\n\n_(이하 생략)_'
: umText;
writeChatSnapshot(`👤 **사용자 (AG 직접 입력)**\n\n${truncated}`);
const source = isFromIDE ? 'AG 직접 입력' : 'API';
writeChatSnapshot(`👤 **사용자 (${source})**\n\n${truncated}`);
logToFile(`[USER-MSG] relayed ${umText.length} chars from step ${userInputIdx}`);
}
else {
// Fallback: just notify that user sent input
writeChatSnapshot(`👤 **사용자 (AG 직접 입력)** — _(내용 추출 불가)_`);
logToFile(`[USER-MSG] step ${userInputIdx} text empty, sent fallback`);
writeChatSnapshot(`👤 **사용자** — _(내용 없음)_`);
logToFile(`[USER-MSG] step ${userInputIdx} text empty`);
}
}
}