Skip to content

v0.3.4 — Codex compact/search, Chat structured output

Choose a tag to compare

@thezillo thezillo released this 23 Sep 15:44
· 8 commits to main since this release

Two Codex auxiliary endpoints and structured output for Chat Completions (#8).

Codex compact and search

  • POST /v1/responses/compact — OpenAI's stateless history compaction (JSON in, JSON out).
  • POST /v1/alpha/search — Codex's standalone web search. A custom Codex provider needs supports_standalone_web_search = true to call it.

Both go to one pool account (upstream.compact_path / search_path, defaults /codex/responses/compact and /codex/alpha/search) with the same model aliases and unknown-model gate as /v1/responses. Pool only: a pool error is relayed as is, never sent to a [[fallback]] provider. They never cool down or quota-hold an account, so a failing search can't push /v1/responses onto the paid fallback.

response_format on /v1/chat/completions

json_object and json_schema now become the Responses text.format instead of being dropped. JSON mode follows OpenAI Chat:

  • "json" in any message, the system prompt included, is enough. When only the system prompt says it, that prompt is also sent as a developer input item, since the backend checks input only. That costs its tokens twice.
  • A request that never says "json", or a malformed response_format (unknown type, json_schema without its object or name), gets OpenAI's own 400.

Not included

The proxy serves /v1/responses over HTTP only. Leave supports_websockets off in Codex provider configs.