Updated

Published

LiteLLM proxies Jev's evaluate endpoint and uses it to drop stale tool results

LiteLLM added a TypeSafe pass-through in v1.103.0-rc. Clients hit POST /typesafe/v1/systemone; spend is logged as typesafe/jev-1.13.0. The same proxy can ask Jev whether older tool results still matter, and replace those below 0.2 with a short notice before the generator runs.

LiteLLM posted on September 19 that Jev is supported on the proxy, and that the team already uses it internally. The post points at a compaction write-up.

Kerry Lu’s pass-through note, dated September 20, is the listing. TypeSafe Jev lands in v1.103.0-rc. Jev answers on /v1/systemone, and LiteLLM proxies that path with logging and cost tracking. Set TYPESAFE_API_KEY on the proxy. Clients send a LiteLLM virtual key to LITELLM_PROXY_BASE_URL/typesafe. The sample is POST /typesafe/v1/systemone with state, model: jev-latest, and a choice question. The response is TypeSafe’s, unchanged. Any path under /typesafe/ is forwarded, so GET /typesafe/v1/models lists what TypeSafe lists. Spend is logged under the versioned model TypeSafe reports, typesafe/jev-1.13.0 on that page, even when the request asks for jev-latest. Price is the public $0.042 per million input tokens, no output charge.

The compaction post is the internal use. LiteLLM asks Jev, for each older completed tool exchange, whether the bot still needs that result to answer the latest user question. Default relevance_threshold is 0.2. Results below it are replaced with a one-line notice that the result was removed. Kept results stay as they were. Tool calls and their IDs stay, so the conversation still has the shape the generator expects. System and user messages are left alone. The last assistant message and any tool exchange it belongs to are protected.

The guardrail is pre_call, named typesafe, and works with Chat Completions, Anthropic Messages, and the Responses API. A weather-then-shop-hours sample in the post is the worked example: the user asks when the shop closes, the weather report is long enough to be eligible, and Jev can mark it for removal. The post says turning compaction on does not guarantee a smaller request. If Jev is down, fail_open sends the original messages through. Applied runs can show exchanges_evaluated, exchanges_dropped, chars_removed, and the Jev model id. There is no published savings table.

The earlier compaction write-up on this desk is Tran’s keep-or-drop sieve. AstroHan’s 30-task run is the one that kept the agent and the model fixed and reported task pass rates. We did not run LiteLLM’s proxy.

This site's reading

Editorial notes evaluating claims against primary sources, contextualizing findings alongside related implementations, and defining technical terms.

Verify

LiteLLM's September 19 post says Jev is supported and that the team uses it internally, and points at the compaction write-up. Kerry Lu's September 20 pass-through post is the spec for the proxy: v1.103.0-rc, POST /typesafe/v1/systemone, TYPESAFE_API_KEY on the proxy, clients send a LiteLLM virtual key. Spend is logged under the versioned model TypeSafe reports (typesafe/jev-1.13.0 today) even when the request asks for jev-latest. Any path under /typesafe/ is forwarded, including GET /typesafe/v1/models. Compaction is a pre_call guardrail named typesafe. Default relevance_threshold 0.2. Results below that are replaced with a fixed notice; kept results stay verbatim; the last assistant message and its tool exchange are protected. fail_open is the default if Jev is unavailable. The compaction post does not publish a token-savings table. We did not run the proxy.

Compare

OpenRouter, Cloudflare, Netlify, Vercel, and Venice already list Jev as a hosted model. LiteLLM is a self-hosted proxy in front of TypeSafe's own API, with logging and cost tracking, closer to how those same teams already route chat models. Tran's fast-jev-compaction and AstroHan's 30-task filter also score tool output and keep the kept text verbatim. LiteLLM's version sits on the proxy for Chat Completions, Anthropic Messages, and the Responses API, with a 0.2 default. AstroHan's run is the one on this desk that reports whether the agent still finished the task.

Terms

Pass-through
LiteLLM's /typesafe/ prefix. The proxy forwards TypeSafe paths, including POST /v1/systemone, and returns TypeSafe's response unchanged.
jev-compaction
LiteLLM guardrail that asks Jev whether each older tool result still matters for the latest user question, then replaces results below relevance_threshold (default 0.2) with a short notice.
fail_open
LiteLLM's default when Jev is unavailable: send the original request to the generator without compaction.

Sources

  1. LiteLLM, Jev supported plus internal compaction
  2. TypeSafe Jev on LiteLLM (pass-through)
  3. Reduce agent context with TypeSafe Jev and LiteLLM
  4. TypeSafe pass-through docs