New optional input api: ollama|openai|anthropic (default ollama —
existing flows unchanged).
- openai: OpenAI Chat Completions format (/v1/chat/completions),
Bearer auth — targets vLLM and compatible self-hosted servers.
- anthropic: Messages API (/v1/messages), x-api-key +
anthropic-version headers, top-level system field, mandatory
max_tokens (fixed 4096).
- Audit outputs unchanged: model_endpoint/model_name always set;
model_digest stays Ollama-only (no digest API on openai/anthropic,
field is left empty rather than fabricated).
- api_key is only ever placed in auth headers; never in outputs,
errors, or audit events (verified against the event log).
- No streaming, no tool calls.
Bump module + capability version to 0.2.0. Wire-format unit tests
for request serialization and response parsing against fixed JSON
fixtures; live smoke green on the ollama path and on the openai
path against an OpenAI-compatible local endpoint.
Signed-off-by: flemming-it <sf@flemming.it>
Explains the 'why this module instead of inline HTTP' answer
operators ask when they see llm.chat for the first time:
audit, permission posture, endpoint portability.
Signed-off-by: flemming-it <sf@flemming.it>