* docs(agents): ban semicolons and colons in human-facing text Tighten the writing rule so ";" and ":" are only allowed where the sentence would be nonsensical without them, rewrite the existing semicolons in AGENTS.md to follow it, and note that docs (litellm-docs) keep their trailing "." * docs(agents): rewrite semicolons in nested AGENTS.md files * docs(agents): hand-maintain the dashboard Next.js warning and sync e2e CONTRIBUTING lines * docs(agents): point at the PR template path that exists * docs(agents): restore the generated Next.js block in the dashboard AGENTS.md
1 KiB
litellm-host-native is the Rust driver for hosted calls. Driver owns the machine, a HostCallHandler and a Interceptors. advance() answers services and hooks inline and returns at completion or at the next stream boundary, holding the Reply<ControlFlow<()>> until the consumer calls advance() or detach() again. Dropping the driver drops the machine and so cancels the call
The consumer decides demand, so the driver never spawns a producer task and never buffers chunks ahead of demand. litellm-host-http polls it from the response body. in_process::run_hosted polls it on behalf of a StreamConsumer. Both observe lifecycle terminals themselves, the driver reports none
Depend on litellm-host only. HTTP encoding stays in litellm-host-http. litellm-host-python drives the machine directly so Python callbacks stay in the caller's asyncio task
services.rs owns HostCallHandler and its borrowed and no-service implementations. This is the Rust driver's handler contract. The shared host crate owns the service request protocol