package convert // MessagesRequest represents an Anthropic Messages API request type MessagesRequest struct { Model string `json:"model"` Messages []Message `json:"messages"` MaxTokens int `json:"max_tokens"` System interface{} `json:"system,omitempty"` // string or []ContentPart Temperature *float64 `json:"temperature,omitempty"` TopP *float64 `json:"top_p,omitempty"` TopK *int `json:"top_k,omitempty"` StopSequences []string `json:"stop_sequences,omitempty"` Stream bool `json:"stream,omitempty"` Tools []Tool `json:"tools,omitempty"` ToolChoice interface{} `json:"tool_choice,omitempty"` Metadata interface{} `json:"metadata,omitempty"` } // MessagesResponse represents an Anthropic Messages API response type MessagesResponse struct { ID string `json:"id"` Type string `json:"type"` Role string `json:"role"` Content []ContentBlock `json:"content"` Model string `json:"model"` StopReason string `json:"stop_reason"` StopSequence string `json:"stop_sequence,omitempty"` Usage Usage `json:"usage"` } // AnthropicStreamEvent represents an Anthropic streaming event type AnthropicStreamEvent struct { Type string `json:"type"` Index int `json:"index,omitempty"` Delta *Delta `json:"delta,omitempty"` Usage *Usage `json:"usage,omitempty"` }