Add clear status logging for needs_answer and honeypot exits

Log lines now explicitly say STOPPING with reason when the modal is
dismissed due to unknown questions or honeypots. handleResult logs
the full flow: paused → generating AI answer → sent to Telegram →
will retry after reply. Prevents claw from misreading as a hang/timeout.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
2026-03-06 11:47:40 -08:00
parent 0695d61954
commit 3fc5c38df7
2 changed files with 5 additions and 1 deletions

View File

@@ -239,7 +239,8 @@ async function handleResult(job, result, results, settings, profile, apiKey) {
case 'needs_answer': {
const questionText = pending_question?.label || pending_question || 'Unknown question';
const questionOptions = pending_question?.options || [];
console.log(` 💬 Unknown question — asking Claude: "${questionText}"${questionOptions.length ? ` (options: ${questionOptions.join(', ')})` : ''}`);
console.log(` 💬 Paused — unknown question: "${questionText}"${questionOptions.length ? ` (options: ${questionOptions.join(', ')})` : ''}`);
console.log(` Generating AI answer and sending to Telegram...`);
const aiAnswer = await generateAnswer(questionText, profile, apiKey, { title, company });
@@ -265,6 +266,7 @@ async function handleResult(job, result, results, settings, profile, apiKey) {
});
appendLog({ ...job, title, company, status: 'needs_answer', pending_question, ai_suggested_answer: aiAnswer });
results.needs_answer++;
console.log(` ⏸️ Question sent to Telegram. Job will retry after you reply.`);
break;
}

View File

@@ -235,11 +235,13 @@ export async function apply(page, job, formFiller) {
if (unknowns.length > 0) console.log(` [step ${step}] unknown fields: ${JSON.stringify(unknowns.map(u => u.label || u))}`);
if (unknowns[0]?.honeypot) {
console.log(` ⏸️ STOPPING — honeypot detected: "${unknowns[0].label}". Dismissing modal.`);
await dismissModal(page, MODAL);
return { status: 'skipped_honeypot', meta };
}
if (unknowns.length > 0) {
console.log(` ⏸️ STOPPING — unknown required field: "${unknowns[0].label || unknowns[0]}". Dismissing modal, will ask via Telegram.`);
await dismissModal(page, MODAL);
return { status: 'needs_answer', pending_question: unknowns[0], meta };
}