Skip to content

Glossary

Use these terms consistently in docs, configuration, code comments, logs, and capture metadata. This page is a terminology map; exact values live in the corresponding reference pages.

request protocol

The inbound protocol detected from the local request path, such as openai_responses or anthropic_messages.

Do not confuse with: Provider protocol, which controls outbound wire behavior.
Used in
routingingresscaptures

provider protocol

The outbound protocol configured on a provider; controls provider request serialization and upstream response handling.

Do not confuse with: Provider name. Names are user labels and do not imply protocol semantics.
Used in
providerstranslationtransport

protocol value

One of openai_responses, openai_chat_completions, or anthropic_messages.

Do not confuse with: Marketing names such as OpenAI or Anthropic; values describe wire behavior.
Used in
configroutingtranslation

translation pair

A directed conversion from inbound request protocol to provider protocol, for example openai_chat_completions -> anthropic_messages.

Do not confuse with: A provider route. Routes choose providers; translation pairs convert payloads and streams.
Used in
translationcompatibility

provider name

User-defined label for a configured upstream provider.

Do not confuse with: Provider protocol. The name anthropic does not automatically mean anthropic_messages.
Used in
configroutes

route

An explicit model/protocol rule that selects a provider before default provider fallback.

Do not confuse with: Default provider selection, which only applies when no explicit route matches.
Used in
routingconfig

request_protocol guard

Optional route field that restricts a model match to one detected inbound protocol.

Do not confuse with: Provider protocol. A guard filters inbound matching; it does not control outbound serialization.
Used in
routingconfig

inbound_request

Pipeline phase containing the local client request as ProxAI received it.

Do not confuse with: provider_request, which is after provider selection, translation, model rewrite, and serialization.
Used in
captureslogs

provider_request

Pipeline phase containing the selected, translated, serialized provider request.

Do not confuse with: Raw inbound client payload. Provider request may have a different protocol and model name.
Used in
capturesprovider request

upstream_response

Pipeline phase containing upstream status, headers, and raw body bytes.

Do not confuse with: outbound_response, which is after response translation/reconstruction.
Used in
capturesprovider response

outbound_response

Pipeline phase containing the final response returned to the local client.

Do not confuse with: Upstream raw body; outbound response may have a translated protocol shape.
Used in
capturesclient response

capture phase

Named pipeline location where optional debugging artifacts can be written.

Do not confuse with: Logs. Captures can contain private payload data and require stricter handling.
Used in
debuggingprivacy

request hints

Compact protocol-aware log summaries that avoid private request bodies.

Do not confuse with: Payload captures, which are explicit local artifacts.
Used in
logsobservability

SSE

Server-Sent Events; the streaming carrier used by OpenAI-compatible and Anthropic-style streaming responses.

Do not confuse with: Protocol event semantics. SSE is the carrier; each protocol defines its own event names and terminal markers.
Used in
streamingtranslation

terminal event

Protocol-specific event or sentinel that marks semantic stream completion, such as response.completed, [DONE], or message_stop.

Do not confuse with: TCP connection close. A closed byte stream without a terminal event can still be semantically incomplete.
Used in
streamingtool calls

semantic timeout

Timeout for a protocol-level condition, such as started-but-unfinished streamed tool-call arguments.

Do not confuse with: Idle-read timeout, which is about no upstream bytes arriving.
Used in
tool callsstreaming

idle-read timeout

Transport-level timeout while waiting for upstream response bytes.

Do not confuse with: Total request duration cap. It only fires when no new bytes arrive within the configured window.
Used in
transportstreaming

stop reason

Provider/protocol-specific reason for ending generation, such as Anthropic stop_reason.

Do not confuse with: OpenAI Chat finish_reason or Responses status; mappings are protocol-specific.
Used in
responsesstreaming

client-facing error type

Stable compact type value returned to clients, such as stream_translation_error.

Do not confuse with: Internal Rust error taxonomy such as TranslationError or SseError.
Used in
errorsSDKs