write

package
v0.1.7 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Apr 16, 2026 License: Apache-2.0 Imports: 17 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

View Source
var PackageName = "message/write"
View Source
var PathURI = "/v1/api/agently/message"

Functions

func DefineComponent

func DefineComponent(ctx context.Context, srv *datly.Service) (*repository.Component, error)

func DefineDeleteComponent

func DefineDeleteComponent(ctx context.Context, srv *datly.Service) (*repository.Component, error)

Types

type DeleteHandler

type DeleteHandler struct{}

func (*DeleteHandler) Exec

func (h *DeleteHandler) Exec(ctx context.Context, sess handler.Session) (interface{}, error)

type DeleteInput

type DeleteInput struct {
	Rows []*MutableMessageView `parameter:",kind=body,in=data"`
}

type DeleteOutput

type DeleteOutput struct {
	response.Status `parameter:",kind=output,in=status" json:",omitempty"`
}

type Handler

type Handler struct{}

func (*Handler) Exec

func (h *Handler) Exec(ctx context.Context, sess handler.Session) (interface{}, error)

type Input

type Input struct {
	Messages []*Message `parameter:",kind=body,in=data"`

	CurMessagesId *struct{ Values []string } `parameter:",kind=param,in=Messages,dataType=message/write.Messages" codec:"structql,uri=sql/cur_messages_id.sql"`

	CurMessage []*Message `parameter:",kind=view,in=CurMessage" view:"CurMessage" sql:"uri=sql/cur_message.sql"`

	CurMessageById map[string]*Message
}

func (*Input) EmbedFS

func (i *Input) EmbedFS() (fs *embed.FS)

func (*Input) Init

func (i *Input) Init(ctx context.Context, sess handler.Session, _ *Output) error

func (*Input) Validate

func (i *Input) Validate(ctx context.Context, sess handler.Session, output *Output) error

type Message

type Message struct {
	Id              string     `sqlx:"id,primaryKey" validate:"required"`
	Archived        *int       `sqlx:"archived" json:",omitempty"`
	ConversationID  string     `sqlx:"conversation_id" validate:"required"`
	TurnID          *string    `sqlx:"turn_id" json:",omitempty"`
	Sequence        *int       `sqlx:"sequence" json:",omitempty"`
	CreatedAt       *time.Time `sqlx:"created_at" json:",omitempty"`
	UpdatedAt       *time.Time `sqlx:"updated_at" json:",omitempty"`
	CreatedByUserID *string    `sqlx:"created_by_user_id" json:",omitempty"`
	Mode            *string    `sqlx:"mode" json:",omitempty"`
	Role            string     `sqlx:"role" validate:"required"`
	Status          *string    `sqlx:"status" `
	Type            string     `sqlx:"type" validate:"required"`
	Content         *string    `sqlx:"content"`
	RawContent      *string    `sqlx:"raw_content" json:",omitempty"`
	// Summary holds a compact retained summary for this message.
	Summary        *string `sqlx:"summary" json:",omitempty"`
	ContextSummary *string `sqlx:"context_summary" json:",omitempty"`
	// EmbeddingIndex stores a serialized vector index used for semantic match.
	EmbeddingIndex       *[]byte `sqlx:"embedding_index" json:",omitempty"`
	Tags                 *string `sqlx:"tags" json:",omitempty"`
	Interim              *int    `sqlx:"interim" json:",omitempty"`
	ElicitationID        *string `sqlx:"elicitation_id" json:",omitempty"`
	ParentMessageID      *string `sqlx:"parent_message_id" json:",omitempty"`
	SupersededBy         *string `sqlx:"superseded_by" json:",omitempty"`
	LinkedConversationID *string `sqlx:"linked_conversation_id" json:",omitempty"`
	ToolName             *string `sqlx:"tool_name" json:",omitempty"`
	Preamble             *string `sqlx:"preamble" json:",omitempty"`
	Iteration            *int    `sqlx:"iteration" json:",omitempty"`
	Phase                *string `sqlx:"phase" json:",omitempty"`
	// AttachmentPayloadID links a message to an uploaded/staged attachment payload.
	AttachmentPayloadID *string `sqlx:"attachment_payload_id" json:",omitempty"`
	// ElicitationPayloadID links a message to an elicitation response payload.
	ElicitationPayloadID *string     `sqlx:"elicitation_payload_id" json:",omitempty"`
	Has                  *MessageHas `setMarker:"true" format:"-" sqlx:"-" diff:"-" json:"-"`
}

func (*Message) SetArchived

func (m *Message) SetArchived(v int)

func (*Message) SetAttachmentPayloadID

func (m *Message) SetAttachmentPayloadID(v string)

func (*Message) SetContent

func (m *Message) SetContent(v string)

func (*Message) SetConversationID

func (m *Message) SetConversationID(v string)

func (*Message) SetCreatedAt

func (m *Message) SetCreatedAt(v time.Time)

func (*Message) SetCreatedByUserID

func (m *Message) SetCreatedByUserID(v string)

func (*Message) SetElicitationID

func (m *Message) SetElicitationID(id string)

func (*Message) SetElicitationPayloadID

func (m *Message) SetElicitationPayloadID(v string)

func (*Message) SetEmbeddingIndex

func (m *Message) SetEmbeddingIndex(v []byte)

func (*Message) SetId

func (m *Message) SetId(v string)

func (*Message) SetInterim

func (m *Message) SetInterim(v int)

func (*Message) SetIteration

func (m *Message) SetIteration(v int)

func (*Message) SetLinkedConversationID

func (m *Message) SetLinkedConversationID(v string)

func (*Message) SetMode

func (m *Message) SetMode(v string)

func (*Message) SetParentMessageID

func (m *Message) SetParentMessageID(v string)

func (*Message) SetPhase

func (m *Message) SetPhase(v string)

func (*Message) SetPreamble

func (m *Message) SetPreamble(v string)

func (*Message) SetRawContent

func (m *Message) SetRawContent(v string)

func (*Message) SetRole

func (m *Message) SetRole(v string)

func (*Message) SetSequence

func (m *Message) SetSequence(v int)

func (*Message) SetStatus

func (m *Message) SetStatus(v string)

func (*Message) SetSummary

func (m *Message) SetSummary(v string)

func (*Message) SetTags

func (m *Message) SetTags(v string)

func (*Message) SetToolName

func (m *Message) SetToolName(v string)

func (*Message) SetTurnID

func (m *Message) SetTurnID(v string)

func (*Message) SetType

func (m *Message) SetType(v string)

func (*Message) SetUpdatedAt

func (m *Message) SetUpdatedAt(v time.Time)

type MessageHas

type MessageHas struct {
	Id                   bool
	Archived             bool
	ConversationID       bool
	TurnID               bool
	Sequence             bool
	CreatedAt            bool
	UpdatedAt            bool
	CreatedByUserID      bool
	Mode                 bool
	Role                 bool
	Status               bool
	Type                 bool
	Content              bool
	RawContent           bool
	Summary              bool
	ContextSummary       bool
	EmbeddingIndex       bool
	Tags                 bool
	Interim              bool
	ElicitationID        bool
	ParentMessageID      bool
	SupersededBy         bool
	LinkedConversationID bool
	ToolName             bool
	Preamble             bool
	Iteration            bool
	Phase                bool
	AttachmentPayloadID  bool
	ElicitationPayloadID bool
}

type MutableMessageView

type MutableMessageView = Message

func NewMutableMessageView

func NewMutableMessageView(opts ...MutableMessageViewOption) *MutableMessageView

type MutableMessageViewOption

type MutableMessageViewOption func(*MutableMessageView)

func WithMessageContent

func WithMessageContent(v string) MutableMessageViewOption

func WithMessageConversationID

func WithMessageConversationID(v string) MutableMessageViewOption

func WithMessageID

func WithMessageID(v string) MutableMessageViewOption

func WithMessageIteration

func WithMessageIteration(v int) MutableMessageViewOption

func WithMessageParentID

func WithMessageParentID(v string) MutableMessageViewOption

func WithMessagePhase

func WithMessagePhase(v string) MutableMessageViewOption

func WithMessagePreamble

func WithMessagePreamble(v string) MutableMessageViewOption

func WithMessageRole

func WithMessageRole(v string) MutableMessageViewOption

func WithMessageTurnID

func WithMessageTurnID(v string) MutableMessageViewOption

func WithMessageType

func WithMessageType(v string) MutableMessageViewOption

type MutableMessageViews

type MutableMessageViews struct {
	Messages []*MutableMessageView
}

func NewMutableMessageViews

func NewMutableMessageViews(rows ...*MutableMessageView) *MutableMessageViews

type Output

type Output struct {
	response.Status `parameter:",kind=output,in=status" anonymous:"true"`
	Data            []*Message             `parameter:",kind=body"`
	Violations      []*validator.Violation `parameter:",kind=transient"`
}

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL