fix: report errors to progress comment when agent fails without throwing (#376)

* fix: report errors to progress comment when agent fails without throwing

when an agent returns success: false without throwing (e.g., opencode exits
with code 0 despite provider errors), the catch block in main.ts is never
reached, leaving the progress comment stuck on "leaping into action."

two fixes:
- opencode: return success: false when 0 events processed and a provider
  error was detected (converts silent failures to explicit failures)
- main.ts: after handleAgentResult, check if the progress comment was ever
  updated — if not, report the error to the comment as a safety net

Co-authored-by: Cursor <cursoragent@cursor.com>

* address review: use result directly and force failure on unreported progress

* refactor: move safety-net logic into handleAgentResult

---------

Co-authored-by: pullfrog[bot] <226033991+pullfrog[bot]@users.noreply.github.com>
Co-authored-by: Cursor <cursoragent@cursor.com>
Co-authored-by: Anna Bocharova <robin_tail@me.com>
This commit is contained in:
pullfrog[bot]
2026-02-26 08:36:36 +00:00
committed by pullfrog[bot]
parent 1ed3da8273
commit 6311138132
4 changed files with 80 additions and 12 deletions
+7 -1
View File
@@ -235,8 +235,14 @@ export async function main(): Promise<MainResult> {
log.info(`::pullfrog-output::${Buffer.from(toolState.output).toString("base64")}`);
}
const mainResult = await handleAgentResult({
result,
toolState,
silent: payload.event.silent ?? false,
});
return {
...handleAgentResult(result),
...mainResult,
result: toolState.output,
};
} catch (error) {