Documentation
¶
Overview ¶
Package translate round-trips between the Anthropic Messages API and the OpenAI Chat Completions schema. The gateway speaks OpenAI natively; this is the single translator that lets Claude Code and other Anthropic clients talk to it, and lets the native Anthropic backend be called from OpenAI-shaped internals.
Faithful port of llmgw.api.anthropic_translate. JSON objects are modeled as map[string]any / []any to mirror the Python dict handling.
Index ¶
- func AnthropicMessagesToOpenAI(messages []any, system any) []map[string]any
- func AnthropicRequestToOpenAI(payload map[string]any) ([]map[string]any, map[string]any, []string)
- func AnthropicResponseToOpenAI(response map[string]any, model string) map[string]any
- func AnthropicSSEToOpenAIChunks(lines func() (string, bool), model string, emit func(string))
- func AnthropicStopReasonToOpenAI(reason any) string
- func AnthropicToolChoiceToOpenAI(choice map[string]any) any
- func AnthropicToolsToOpenAI(tools []any) []any
- func ChatResponseToResponses(model string, chat map[string]any) map[string]any
- func ChatResponseToResponsesWithRequest(model string, chat map[string]any, request map[string]any) map[string]any
- func ChatToResponses(model string, messages []map[string]any, kw map[string]any, stream bool) map[string]any
- func FailedResponseEnvelope(model, id, code, message string, request map[string]any) map[string]any
- func NewResponseEnvelope(model, id, status string, output []any, request map[string]any) map[string]any
- func OpenAIFinishReasonToAnthropic(reason any) string
- func OpenAIMessagesToAnthropic(messages []map[string]any) (string, []map[string]any)
- func OpenAIResponseToAnthropic(response map[string]any, model string) map[string]any
- func OpenAIStreamToAnthropicSSE(chunks func() (string, bool), model string, emit func(string))
- func OpenAIToolsToAnthropic(tools []any) []any
- func PreferredEndpoint(supportedEndpoints []string) string
- func ResponsesRequestToChat(payload map[string]any) ([]map[string]any, map[string]any, error)
- func ResponsesToChat(model string, resp map[string]any) map[string]any
- func ResponsesToChatChunks(model string, resp map[string]any) []string
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func AnthropicMessagesToOpenAI ¶
AnthropicMessagesToOpenAI converts Anthropic messages + system into OpenAI messages.
func AnthropicRequestToOpenAI ¶
AnthropicRequestToOpenAI strictly converts the Messages core profile. The returned paths name every value that an OpenAI Chat target would lose.
func AnthropicResponseToOpenAI ¶
AnthropicResponseToOpenAI converts a non-streaming Anthropic Message to an OpenAI completion.
func AnthropicSSEToOpenAIChunks ¶
AnthropicSSEToOpenAIChunks translates Anthropic SSE data lines into OpenAI chat.completion.chunk JSON strings, invoking emit for each.
func AnthropicStopReasonToOpenAI ¶
AnthropicStopReasonToOpenAI maps an Anthropic stop_reason to an OpenAI finish_reason.
func AnthropicToolChoiceToOpenAI ¶
AnthropicToolChoiceToOpenAI converts Anthropic tool_choice to OpenAI's.
func AnthropicToolsToOpenAI ¶
AnthropicToolsToOpenAI converts Anthropic tools to OpenAI function tools.
func ChatResponseToResponses ¶
ChatResponseToResponses converts the gateway's internal Chat Completions result back into the public Responses API envelope.
func ChatToResponses ¶
func ChatToResponses(model string, messages []map[string]any, kw map[string]any, stream bool) map[string]any
ChatToResponses converts a Chat Completions request body into a Responses API request body.
func FailedResponseEnvelope ¶
func NewResponseEnvelope ¶
func NewResponseEnvelope( model, id, status string, output []any, request map[string]any, ) map[string]any
NewResponseEnvelope creates the schema-complete Response shape used whenever the gateway adapts a Chat-only backend or synthesizes a terminal failure.
func OpenAIFinishReasonToAnthropic ¶
OpenAIFinishReasonToAnthropic maps an OpenAI finish_reason to Anthropic stop_reason.
func OpenAIMessagesToAnthropic ¶
OpenAIMessagesToAnthropic splits an OpenAI message list into Anthropic (system, messages).
func OpenAIResponseToAnthropic ¶
OpenAIResponseToAnthropic converts a non-streaming OpenAI completion to an Anthropic Message.
func OpenAIStreamToAnthropicSSE ¶
OpenAIStreamToAnthropicSSE translates OpenAI SSE chunk payloads (JSON strings, data: prefix already stripped) into Anthropic SSE event blocks, invoking emit for each output event.
func OpenAIToolsToAnthropic ¶
OpenAIToolsToAnthropic converts OpenAI tools to Anthropic tool shape.
func PreferredEndpoint ¶
PreferredEndpoint decides which OpenAI-family endpoint a model should use given its published supported_surfaces. Returns "responses" only when the model advertises /responses but NOT /chat/completions; otherwise "chat" (the safe default, including when the list is empty/unknown).
func ResponsesRequestToChat ¶
ResponsesRequestToChat converts supported Responses input/history/tools into the gateway's internal Chat representation. Built-in Responses-only tools fail explicitly instead of being silently flattened.
func ResponsesToChat ¶
ResponsesToChat converts a Responses API object into a chat.completion.
Types ¶
This section is empty.