coze-studio/backend/api/model/crossdomain/message/message.go

89 lines
2.9 KiB
Go

package message
import (
"github.com/cloudwego/eino/schema"
"github.com/coze-dev/coze-studio/backend/api/model/conversation/message"
)
type Message struct {
ID int64 `json:"id"`
ConversationID int64 `json:"conversation_id"`
RunID int64 `json:"run_id"`
AgentID int64 `json:"agent_id"`
SectionID int64 `json:"section_id"`
Content string `json:"content"`
MultiContent []*InputMetaData `json:"multi_content"`
ContentType ContentType `json:"content_type"`
DisplayContent string `json:"display_content"`
Role schema.RoleType `json:"role"`
Name string `json:"name"`
Status MessageStatus `json:"status"`
MessageType MessageType `json:"message_type"`
ModelContent string `json:"model_content"`
Position int32 `json:"position"`
UserID string `json:"user_id"`
Ext map[string]string `json:"ext"`
ReasoningContent string `json:"reasoning_content"`
RequiredAction *message.RequiredAction `json:"required_action"`
CreatedAt int64 `json:"created_at"`
UpdatedAt int64 `json:"updated_at"`
}
type InputMetaData struct {
Type InputType `json:"type"`
Text string `json:"text"`
FileData []*FileData `json:"file_data"`
}
type MessageStatus int32
const (
MessageStatusAvailable MessageStatus = 1
MessageStatusDeleted MessageStatus = 2
MessageStatusBroken MessageStatus = 4
)
type InputType string
const (
InputTypeText InputType = "text"
InputTypeFile InputType = "file"
InputTypeImage InputType = "image"
InputTypeVideo InputType = "video"
InputTypeAudio InputType = "audio"
)
type FileData struct {
Url string `json:"url"`
URI string `json:"uri"`
Name string `json:"name"`
}
type ContentType string
const (
ContentTypeText ContentType = "text"
ContentTypeImage ContentType = "image"
ContentTypeVideo ContentType = "video"
ContentTypeMusic ContentType = "music"
ContentTypeCard ContentType = "card"
ContentTypeWidget ContentType = "widget"
ContentTypeAPP ContentType = "app"
ContentTypeMix ContentType = "mix"
)
type MessageType string
const (
MessageTypeAck MessageType = "ack"
MessageTypeQuestion MessageType = "question"
MessageTypeFunctionCall MessageType = "function_call"
MessageTypeToolResponse MessageType = "tool_response"
MessageTypeKnowledge MessageType = "knowledge"
MessageTypeAnswer MessageType = "answer"
MessageTypeFlowUp MessageType = "follow_up"
MessageTypeInterrupt MessageType = "interrupt"
MessageTypeVerbose MessageType = "verbose"
)