mirror of
https://github.com/diegosouzapw/OmniRoute.git
synced 2026-08-04 06:12:10 +03:00
* chore: auto-sync from VM - 2026-07-10T16:29:57Z * fix(combo): retry transient errors in pipeline strategy Pipeline combo strategy (sequential chain) was hard-failing on ANY intermediate step error, including transient ones like 429 rate-limit and 503 service-unavailable. The combo config already exposes maxRetries and retryDelayMs, but handlePipelineChat() ignored them entirely — a single 429 from the first provider would kill the whole pipeline without trying the remaining steps. Now intermediate steps that fail with a transient HTTP status (429, 502, 503, 504) are retried up to maxRetries times with retryDelayMs delay, mirroring the retry behaviour already used by priority/weighted strategies. Non-transient errors (400, 401, 403, 404) still fail immediately. Changes: - open-sse/services/pipeline.ts: add maxRetries/retryDelayMs params, retry loop for transient statuses - open-sse/services/combo.ts: wire combo.config.maxRetries and combo.config.retryDelayMs to handlePipelineChat() - tests/unit/combo-pipeline.test.ts: 7 tests covering retry success, retry exhaustion, non-transient skip, final-step passthrough, backward compat (maxRetries=0) * chore: revert unrelated package-lock.json scope creep from PR #7794 Co-authored-by: diegosouzapw <8016841+diegosouzapw@users.noreply.github.com> * docs(changelog): add fragment for #7794 pipeline transient retry Co-authored-by: diegosouzapw <8016841+diegosouzapw@users.noreply.github.com> --------- Co-authored-by: Andrian B. <andrewbalanesq@gmail.com> Co-authored-by: Diego Rodrigues de Sa e Souza <diegosouza.pw@gmail.com> Co-authored-by: diegosouzapw <8016841+diegosouzapw@users.noreply.github.com>