mirror of
https://github.com/LukeHagar/log10go.git
synced 2025-12-06 20:47:44 +00:00
139 lines
6.3 KiB
Go
139 lines
6.3 KiB
Go
// Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT.
|
|
|
|
package components
|
|
|
|
import (
|
|
"errors"
|
|
"fmt"
|
|
"github.com/log10-io/log10go/internal/utils"
|
|
)
|
|
|
|
type ChatCompletionRequestMessageType string
|
|
|
|
const (
|
|
ChatCompletionRequestMessageTypeChatCompletionRequestSystemMessage ChatCompletionRequestMessageType = "ChatCompletionRequestSystemMessage"
|
|
ChatCompletionRequestMessageTypeChatCompletionRequestUserMessage ChatCompletionRequestMessageType = "ChatCompletionRequestUserMessage"
|
|
ChatCompletionRequestMessageTypeChatCompletionRequestAssistantMessage ChatCompletionRequestMessageType = "ChatCompletionRequestAssistantMessage"
|
|
ChatCompletionRequestMessageTypeChatCompletionRequestToolMessage ChatCompletionRequestMessageType = "ChatCompletionRequestToolMessage"
|
|
ChatCompletionRequestMessageTypeChatCompletionRequestFunctionMessage ChatCompletionRequestMessageType = "ChatCompletionRequestFunctionMessage"
|
|
)
|
|
|
|
type ChatCompletionRequestMessage struct {
|
|
ChatCompletionRequestSystemMessage *ChatCompletionRequestSystemMessage
|
|
ChatCompletionRequestUserMessage *ChatCompletionRequestUserMessage
|
|
ChatCompletionRequestAssistantMessage *ChatCompletionRequestAssistantMessage
|
|
ChatCompletionRequestToolMessage *ChatCompletionRequestToolMessage
|
|
ChatCompletionRequestFunctionMessage *ChatCompletionRequestFunctionMessage
|
|
|
|
Type ChatCompletionRequestMessageType
|
|
}
|
|
|
|
func CreateChatCompletionRequestMessageChatCompletionRequestSystemMessage(chatCompletionRequestSystemMessage ChatCompletionRequestSystemMessage) ChatCompletionRequestMessage {
|
|
typ := ChatCompletionRequestMessageTypeChatCompletionRequestSystemMessage
|
|
|
|
return ChatCompletionRequestMessage{
|
|
ChatCompletionRequestSystemMessage: &chatCompletionRequestSystemMessage,
|
|
Type: typ,
|
|
}
|
|
}
|
|
|
|
func CreateChatCompletionRequestMessageChatCompletionRequestUserMessage(chatCompletionRequestUserMessage ChatCompletionRequestUserMessage) ChatCompletionRequestMessage {
|
|
typ := ChatCompletionRequestMessageTypeChatCompletionRequestUserMessage
|
|
|
|
return ChatCompletionRequestMessage{
|
|
ChatCompletionRequestUserMessage: &chatCompletionRequestUserMessage,
|
|
Type: typ,
|
|
}
|
|
}
|
|
|
|
func CreateChatCompletionRequestMessageChatCompletionRequestAssistantMessage(chatCompletionRequestAssistantMessage ChatCompletionRequestAssistantMessage) ChatCompletionRequestMessage {
|
|
typ := ChatCompletionRequestMessageTypeChatCompletionRequestAssistantMessage
|
|
|
|
return ChatCompletionRequestMessage{
|
|
ChatCompletionRequestAssistantMessage: &chatCompletionRequestAssistantMessage,
|
|
Type: typ,
|
|
}
|
|
}
|
|
|
|
func CreateChatCompletionRequestMessageChatCompletionRequestToolMessage(chatCompletionRequestToolMessage ChatCompletionRequestToolMessage) ChatCompletionRequestMessage {
|
|
typ := ChatCompletionRequestMessageTypeChatCompletionRequestToolMessage
|
|
|
|
return ChatCompletionRequestMessage{
|
|
ChatCompletionRequestToolMessage: &chatCompletionRequestToolMessage,
|
|
Type: typ,
|
|
}
|
|
}
|
|
|
|
func CreateChatCompletionRequestMessageChatCompletionRequestFunctionMessage(chatCompletionRequestFunctionMessage ChatCompletionRequestFunctionMessage) ChatCompletionRequestMessage {
|
|
typ := ChatCompletionRequestMessageTypeChatCompletionRequestFunctionMessage
|
|
|
|
return ChatCompletionRequestMessage{
|
|
ChatCompletionRequestFunctionMessage: &chatCompletionRequestFunctionMessage,
|
|
Type: typ,
|
|
}
|
|
}
|
|
|
|
func (u *ChatCompletionRequestMessage) UnmarshalJSON(data []byte) error {
|
|
|
|
var chatCompletionRequestSystemMessage ChatCompletionRequestSystemMessage = ChatCompletionRequestSystemMessage{}
|
|
if err := utils.UnmarshalJSON(data, &chatCompletionRequestSystemMessage, "", true, true); err == nil {
|
|
u.ChatCompletionRequestSystemMessage = &chatCompletionRequestSystemMessage
|
|
u.Type = ChatCompletionRequestMessageTypeChatCompletionRequestSystemMessage
|
|
return nil
|
|
}
|
|
|
|
var chatCompletionRequestUserMessage ChatCompletionRequestUserMessage = ChatCompletionRequestUserMessage{}
|
|
if err := utils.UnmarshalJSON(data, &chatCompletionRequestUserMessage, "", true, true); err == nil {
|
|
u.ChatCompletionRequestUserMessage = &chatCompletionRequestUserMessage
|
|
u.Type = ChatCompletionRequestMessageTypeChatCompletionRequestUserMessage
|
|
return nil
|
|
}
|
|
|
|
var chatCompletionRequestToolMessage ChatCompletionRequestToolMessage = ChatCompletionRequestToolMessage{}
|
|
if err := utils.UnmarshalJSON(data, &chatCompletionRequestToolMessage, "", true, true); err == nil {
|
|
u.ChatCompletionRequestToolMessage = &chatCompletionRequestToolMessage
|
|
u.Type = ChatCompletionRequestMessageTypeChatCompletionRequestToolMessage
|
|
return nil
|
|
}
|
|
|
|
var chatCompletionRequestFunctionMessage ChatCompletionRequestFunctionMessage = ChatCompletionRequestFunctionMessage{}
|
|
if err := utils.UnmarshalJSON(data, &chatCompletionRequestFunctionMessage, "", true, true); err == nil {
|
|
u.ChatCompletionRequestFunctionMessage = &chatCompletionRequestFunctionMessage
|
|
u.Type = ChatCompletionRequestMessageTypeChatCompletionRequestFunctionMessage
|
|
return nil
|
|
}
|
|
|
|
var chatCompletionRequestAssistantMessage ChatCompletionRequestAssistantMessage = ChatCompletionRequestAssistantMessage{}
|
|
if err := utils.UnmarshalJSON(data, &chatCompletionRequestAssistantMessage, "", true, true); err == nil {
|
|
u.ChatCompletionRequestAssistantMessage = &chatCompletionRequestAssistantMessage
|
|
u.Type = ChatCompletionRequestMessageTypeChatCompletionRequestAssistantMessage
|
|
return nil
|
|
}
|
|
|
|
return fmt.Errorf("could not unmarshal `%s` into any supported union types for ChatCompletionRequestMessage", string(data))
|
|
}
|
|
|
|
func (u ChatCompletionRequestMessage) MarshalJSON() ([]byte, error) {
|
|
if u.ChatCompletionRequestSystemMessage != nil {
|
|
return utils.MarshalJSON(u.ChatCompletionRequestSystemMessage, "", true)
|
|
}
|
|
|
|
if u.ChatCompletionRequestUserMessage != nil {
|
|
return utils.MarshalJSON(u.ChatCompletionRequestUserMessage, "", true)
|
|
}
|
|
|
|
if u.ChatCompletionRequestAssistantMessage != nil {
|
|
return utils.MarshalJSON(u.ChatCompletionRequestAssistantMessage, "", true)
|
|
}
|
|
|
|
if u.ChatCompletionRequestToolMessage != nil {
|
|
return utils.MarshalJSON(u.ChatCompletionRequestToolMessage, "", true)
|
|
}
|
|
|
|
if u.ChatCompletionRequestFunctionMessage != nil {
|
|
return utils.MarshalJSON(u.ChatCompletionRequestFunctionMessage, "", true)
|
|
}
|
|
|
|
return nil, errors.New("could not marshal union type ChatCompletionRequestMessage: all fields are null")
|
|
}
|