write

package
v0.2.65 Latest Latest
Warning

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

Go to latest
Published: Mar 6, 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)

Types

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"`
	// 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 added in v0.2.1

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 added in v0.2.6

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) SetLinkedConversationID added in v0.2.2

func (m *Message) SetLinkedConversationID(v string)

func (*Message) SetMode added in v0.2.2

func (m *Message) SetMode(v string)

func (*Message) SetParentMessageID

func (m *Message) SetParentMessageID(v string)

func (*Message) SetRawContent added in v0.2.25

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 added in v0.2.6

func (m *Message) SetSummary(v string)

func (*Message) SetTags added in v0.2.31

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
	AttachmentPayloadID  bool
	ElicitationPayloadID bool
}

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