Core abstractions for the aimux toolkit.
Architecture (aligned with Vercel AI SDK V4):
User-facing API Provider-facing trait
────────────── ─────────────────────
generate_text() ──► LanguageModel::do_generate()
stream_text() ──► LanguageModel::do_stream()
The user calls generate_text / stream_text (free functions).
These convert user messages into LanguageModelPrompt, build CallOptions,
and call LanguageModel::do_generate / do_stream on the provider implementation.