session

package
v0.0.5 Latest Latest
Warning

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

Go to latest
Published: Mar 20, 2026 License: Apache-2.0 Imports: 2 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type Session

type Session interface {
	GetSessionID() int64
	CreateMessage(ctx context.Context, message *message.Message) error
	// GetMessages returns a paginated slice of active (non-compacted, non-deleted) messages
	// sorted by created_at ASC.
	GetMessages(ctx context.Context, limit, offset int64) ([]*message.Message, error)
	// ListMessages returns all active (non-compacted, non-deleted) messages sorted by
	// created_at ASC. Use this instead of GetMessages when the full history is needed.
	ListMessages(ctx context.Context) ([]*message.Message, error)
	DeleteMessage(ctx context.Context, messageID int64) error
	// CompactMessages archives all active messages that precede splitMessageID and
	// inserts summaryMsg as the new first active message. If splitMessageID is 0,
	// all currently active messages are archived. The caller is responsible for
	// constructing both the split point and the summary message (e.g. via the
	// compaction package).
	CompactMessages(ctx context.Context, splitMessageID int64, summaryMsg *message.Message) error
}

type SessionService

type SessionService interface {
	CreateSession(ctx context.Context, sessionID int64) (Session, error)
	DeleteSession(ctx context.Context, sessionID int64) error
	GetSession(ctx context.Context, sessionID int64) (Session, error)
}

Directories

Path Synopsis
Package compaction provides types for manual context management.
Package compaction provides types for manual context management.

Jump to

Keyboard shortcuts

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