cycle-20 — Dist rebuild for adaptive-retry chat-ui (v0.5.9)
Bundled public/lazychat_dist/ rebuilt with chat-ui 0.4.0 (cycle-20) shipping four stream-signal-driven retry modes that eliminate the misleading "LLM returned an empty response" error category. No backend / doctype / tool changes — this is the chat-ui mirror in lazychat-erpnext so bench get-app + marketplace installs ship the new behavior.
What ships in the new bundle
- Mode 1 — budget retry (
finish_reason: length+reasoning_tokens > 0→ bumpedmax_tokens) - Mode 2 — tool degradation (
data:{error}with tools →tools=[]) - Mode 4 — context overflow (
data:{error}matching ctx-overflow regex → drop system prompt) - Mode 3 — raw upstream error surface when retries exhausted
Per-mode flags enable Mode 2 → Mode 4 chaining within a single user message. Zero model-name hardcoding.
Live-verified
bytedance/seed-oss-36b in local LM Studio: Mode 2 + Mode 3 confirmed via Playwright. Full Mode 2 → Mode 4 chain verified via integration test.
Companion release
lazychat.ai cycle-20 ships the source. This repo ships the bundled artifact.
Bundle hash: index-CAoD49u2.js (brotli + gzip sidecars included).
Version 0.5.8 → 0.5.9. __init__.py synced from stale 0.5.7.