kcode-k1-codex-web-search-values 0.1.0

Concrete values for K1 Codex web search
Documentation
# kcode-k1-codex-web-search-values

Version 0.1.0 owns the concrete values exchanged by the K1 Codex Web Search consumer.
It is a consumer-specific leaf, not a reusable search, transport, or JSON abstraction.

`WebSearchRequest` rejects blank-by-trim questions, model names, and reasoning-effort
values while preserving accepted strings exactly. `SearchContextSize` parses and
displays only the stable `low`, `medium`, and `high` spellings.

A stream contains zero or more `WebSearchEvent::Message` values and one terminal
`WebSearchEvent::Finished(Box<WebSearchFinished>)`. The Rust `Box` controls enum size;
it does not represent K1 ChatBox ownership. Interim messages carry source candidates,
while terminal success carries the final answer and final sources.

Both terminal outcomes retain optional token accounting, explicit unknown or estimated
cost, phase and aggregate timing, and request provenance. Failures additionally carry
safe detail, a stable category, and whether a provider effect was possible. Unknown
accounting is never converted to zero.

The package performs no process management, protocol or JSON handling, persistence,
K1 boxing, provider calls, continuation, retry, cache, or other I/O. It has no runtime
dependencies. Unit tests cover request validation and preservation, exact context
spellings, unknown accounting, and the distinction between interim and terminal data.