mirror of
https://github.com/openclaw/openclaw.git
synced 2026-08-12 21:53:00 -06:00
dedf85a34d
* refactor(ui): split chat-send.ts along ack/request/drain/lifecycle seams chat-send.ts was ~2,330 lines under a grandfathered max-lines suppression, mixing ack normalization, wire requests/routing, the stored-outbox drain scheduler, retry/steer actions, and the send lifecycle. Mechanical extraction into owned modules: - chat-send-contract.ts absorbs ack normalization (it owns the ack shape) - chat-send-request.ts: wire requests + session routing - chat-outbox-drain.ts: drain lanes, retry timers, head reconciliation — colocated with the outbox ownership boundary from the composer split - chat-send-actions.ts / chat-send-queue-state.ts / chat-send-submit.ts: retry/steer actions, queue-state helpers, submission routing - chat-send.ts keeps the send lifecycle (719 lines); its max-lines suppression and baseline entry are removed No compatibility re-exports; cycles broken by hoisting ChatHost into the contract module and injecting the drain's two lifecycle callbacks. Closes #112742. * fix(ui): extract chat-send ack shapes into a leaf module to break the madge type cycle