openclaw/extensions/clawrouter
Peter Steinberger 1b3f38e7e4
fix: avoid false Gateway failures during cold starts (#153063)
Avoid false Gateway timeout and unreachable reports during slow cold starts. Doctor, health, and status diagnostics now reuse the existing readiness owner and one monotonic deadline, preserve observed startup progress, and leave a Gateway that is still starting alone. Remove Doctor's duplicate restart polling loop.

Provider usage consumes the remaining allowance, reports Timeout before dispatch when exhausted, and cancels active usage work on expiry. Preserve explicit timeouts, target/auth selection, and real process/version/build failures.

Health and channel-status JSON can return a documented non-failing starting payload; consumers that need a complete snapshot must distinguish it and rerun after startup. No new configuration, flags, dependencies, or stored-data migration.

Validation: 592 cases across 37 files on isolated Linux Testbox; installed-package cold-start/down-Gateway matrix and unmodified 2026.9.5 updater-to-candidate Doctor proof; focused command/transport regressions and changed-file gates. The existing independent review is scoped-clean, and ClawSweeper reports no actionable correctness finding.

Thanks to @Suidge for the report and startup measurements.

Fixes #152970.
2026-09-19 23:53:35 -07:00
..
assets feat: give every plugin a compact chat activity icon (#147333) 2026-09-13 13:49:51 -07:00
index.test.ts fix(clawrouter): honor advertised reasoning efforts (#120631) 2026-08-08 11:01:34 -07:00
index.ts fix: avoid false Gateway failures during cold starts (#153063) 2026-09-19 23:53:35 -07:00
openclaw.plugin.json feat(plugins): define package-owned categories (#142710) 2026-09-09 19:05:40 -07:00
package.json chore(release): close out 2026.9.5 on main (#151823) 2026-09-19 01:37:16 -07:00
provider-catalog.test.ts fix(clawrouter): avoid repeated provider names in model labels (#145332) 2026-09-11 15:17:43 -07:00
provider-catalog.ts fix(clawrouter): avoid repeated provider names in model labels (#145332) 2026-09-11 15:17:43 -07:00
README.md
stream.ts fix(clawrouter): sanitize attribution headers to ByteString (#106454) 2026-07-18 02:12:53 +01:00
tool-schemas.test.ts fix(clawrouter): normalize Perplexity tool schemas and harden dynamic model cache (#108758) 2026-07-16 02:39:33 -07:00
tool-schemas.ts refactor: consolidate coercion ownership (#122299) 2026-08-11 17:14:53 -07:00
tsconfig.json refactor(plugins): inherit shared package boundary settings (#117474) 2026-08-01 09:11:09 -07:00
usage.test.ts fix: avoid false Gateway failures during cold starts (#153063) 2026-09-19 23:53:35 -07:00
usage.ts fix: avoid false Gateway failures during cold starts (#153063) 2026-09-19 23:53:35 -07:00

ClawRouter

Managed multi-provider model routing and quota reporting for OpenClaw.

See the ClawRouter provider docs.