mirror of
https://github.com/openclaw/openclaw.git
synced 2026-08-02 22:01:36 +00:00
* fix(agents): do not label finish_reason error as LLM timeout Bare provider finish/stop reason `error` is a completed failure, not a hang. Classify it as server_error so failover stays eligible, and keep the provider signal in user-facing copy instead of rewriting to "LLM request timed out." Abort/network/malformed finish reasons remain timeout-like. Fixes #109218. Signed-off-by: Sebastien Tardif <sebtardif@ncf.ca> * test(agents): assert concrete finish_reason error copy Avoid optional-string chaining that fails check-test-types (TS18048). Signed-off-by: Sebastien Tardif <sebtardif@ncf.ca> * fix(docs-sync): declare pruneOrphanLocaleDocs in .d.mts Root test types import the export from docs-sync-publish.mjs, but the declaration file omitted it after the recent docs-sync change on main. Unblocks check-test-types for this PR and current main. Signed-off-by: Sebastien Tardif <sebtardif@ncf.ca> * fix(scripts): register finish-reason proof script for knip * docs(agents): classify bare finish_reason error as server_error Align model-failover docs with the #109218 classifier: provider-completed bare error stop/finish reasons are server_error (500), not timeout. Expand the controlled-provider proof to show stream map, failover status, user copy, and model-fallback eligibility. Signed-off-by: Sebastien Tardif <sebtardif@ncf.ca> * fix(scripts): drop unrelated docs-sync .d.mts drift check-guards fails: pruneOrphanLocaleDocs is declared in docs-sync-publish.d.mts but not exported from the .mjs. That declaration was not part of the finish_reason error fix; restore the main contract. Signed-off-by: Sebastien Tardif <sebtardif@ncf.ca> * test(agents): cover finish reason error transport --------- Signed-off-by: Sebastien Tardif <sebtardif@ncf.ca> Co-authored-by: Altay <altay@hey.com>