fix(engine): treat finish_reason=repeat as soft stop
Moonshot/Kimi returns a non-standard finish_reason of "repeat" when its server-side repetition detector trips. pi-ai surfaces this as a fatal session state error, killing the agent heartbeat. Filter that case in promptSessionAndCheck so the truncated turn is logged and the heartbeat continues on the next tick. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
5
.changeset/engine-finish-reason-repeat-soft-stop.md
Normal file
5
.changeset/engine-finish-reason-repeat-soft-stop.md
Normal file
@@ -0,0 +1,5 @@
|
||||
---
|
||||
"@runfusion/fusion": patch
|
||||
---
|
||||
|
||||
Treat OpenAI-compatible `finish_reason: repeat` (raised by Moonshot/Kimi when its server-side repetition detector trips) as a soft stop in the engine heartbeat instead of a fatal error, so agent runs survive the truncation and can continue on the next tick.
|
||||
Reference in New Issue
Block a user