store

package
v0.0.2 Latest Latest
Warning

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

Go to latest
Published: Apr 17, 2026 License: MIT Imports: 18 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

View Source
var (
	ErrDuplicateMessage = errors.New("message already exists")
	ErrRoomExists       = errors.New("room already exists")
	ErrRoomNotFound     = errors.New("room not found")
	ErrInvalidCursor    = errors.New("invalid cursor")
	ErrAgentCredential  = errors.New("agent credential mismatch")
)

Functions

This section is empty.

Types

type AppendLifecycle

type AppendLifecycle struct {
	Thread *protocol.Thread
	DM     *protocol.DirectConversation
}

type ContextAgentRegistryStore

type ContextAgentRegistryStore interface {
	RegisterAgentContext(ctx context.Context, registration protocol.AgentRegistration) (protocol.AgentRegistration, error)
	ListRegisteredAgentsContext(ctx context.Context) ([]protocol.AgentRegistration, error)
	GetRegisteredAgentContext(ctx context.Context, agentID string) (protocol.AgentRegistration, bool, error)
}

type ContextAgentStore

type ContextAgentStore interface {
	ListAgentsContext(ctx context.Context) ([]protocol.AgentSummary, error)
	GetAgentContext(ctx context.Context, agentID string) (protocol.AgentSummary, bool, error)
}

type ContextLifecycleMessageStore

type ContextLifecycleMessageStore interface {
	AppendMessageWithLifecycleContext(ctx context.Context, message protocol.Message) (AppendLifecycle, error)
}

type ContextMessageStore

type ContextMessageStore interface {
	AppendMessageContext(ctx context.Context, message protocol.Message) error
	ListRoomMessagesContext(ctx context.Context, roomID string, page protocol.PageRequest) (protocol.MessagePage, error)
	ListThreadsContext(ctx context.Context, roomID string) ([]protocol.Thread, error)
	ListThreadMessagesContext(ctx context.Context, threadID string, page protocol.PageRequest) (protocol.MessagePage, error)
	ListDirectConversationsContext(ctx context.Context) ([]protocol.DirectConversation, error)
	GetDirectConversationContext(ctx context.Context, dmID string) (protocol.DirectConversation, bool, error)
	ListDMMessagesContext(ctx context.Context, dmID string, page protocol.PageRequest) (protocol.MessagePage, error)
	ListArtifactsContext(ctx context.Context, filter protocol.ArtifactFilter, page protocol.PageRequest) (protocol.ArtifactPage, error)
}

type ContextRoomStore

type ContextRoomStore interface {
	CreateRoomContext(ctx context.Context, room protocol.Room) error
	GetRoomContext(ctx context.Context, id string) (protocol.Room, bool, error)
	GetThreadContext(ctx context.Context, id string) (protocol.Thread, bool, error)
	ListRoomsContext(ctx context.Context) ([]protocol.Room, error)
	UpdateRoomMembersContext(ctx context.Context, roomID string, add []string, remove []string) (protocol.Room, error)
}

type FileStore

type FileStore struct {
	*MemoryStore
	// contains filtered or unexported fields
}

func NewFileStore

func NewFileStore(path string) (*FileStore, error)

func (*FileStore) AppendMessage

func (s *FileStore) AppendMessage(message protocol.Message) error

func (*FileStore) AppendMessageContext

func (s *FileStore) AppendMessageContext(_ context.Context, message protocol.Message) error

func (*FileStore) AppendMessageWithLifecycleContext

func (s *FileStore) AppendMessageWithLifecycleContext(_ context.Context, message protocol.Message) (AppendLifecycle, error)

func (*FileStore) CreateRoom

func (s *FileStore) CreateRoom(room protocol.Room) error

func (*FileStore) CreateRoomContext

func (s *FileStore) CreateRoomContext(_ context.Context, room protocol.Room) error

func (*FileStore) GetDirectConversationContext

func (s *FileStore) GetDirectConversationContext(ctx context.Context, dmID string) (protocol.DirectConversation, bool, error)

func (*FileStore) GetRoom

func (s *FileStore) GetRoom(id string) (protocol.Room, bool, error)

func (*FileStore) GetRoomContext

func (s *FileStore) GetRoomContext(ctx context.Context, id string) (protocol.Room, bool, error)

func (*FileStore) GetThread

func (s *FileStore) GetThread(id string) (protocol.Thread, bool, error)

func (*FileStore) GetThreadContext

func (s *FileStore) GetThreadContext(ctx context.Context, id string) (protocol.Thread, bool, error)

func (*FileStore) Health

func (s *FileStore) Health(context.Context) error

func (*FileStore) ListArtifacts

func (s *FileStore) ListArtifacts(filter protocol.ArtifactFilter, before string, limit int) (protocol.ArtifactPage, error)

func (*FileStore) ListArtifactsContext

func (s *FileStore) ListArtifactsContext(ctx context.Context, filter protocol.ArtifactFilter, page protocol.PageRequest) (protocol.ArtifactPage, error)

func (*FileStore) ListDMMessages

func (s *FileStore) ListDMMessages(dmID string, before string, limit int) (protocol.MessagePage, error)

func (*FileStore) ListDMMessagesContext

func (s *FileStore) ListDMMessagesContext(ctx context.Context, dmID string, page protocol.PageRequest) (protocol.MessagePage, error)

func (*FileStore) ListDirectConversations

func (s *FileStore) ListDirectConversations() ([]protocol.DirectConversation, error)

func (*FileStore) ListDirectConversationsContext

func (s *FileStore) ListDirectConversationsContext(ctx context.Context) ([]protocol.DirectConversation, error)

func (*FileStore) ListRoomMessages

func (s *FileStore) ListRoomMessages(roomID string, before string, limit int) (protocol.MessagePage, error)

func (*FileStore) ListRoomMessagesContext

func (s *FileStore) ListRoomMessagesContext(ctx context.Context, roomID string, page protocol.PageRequest) (protocol.MessagePage, error)

func (*FileStore) ListRooms

func (s *FileStore) ListRooms() ([]protocol.Room, error)

func (*FileStore) ListRoomsContext

func (s *FileStore) ListRoomsContext(ctx context.Context) ([]protocol.Room, error)

func (*FileStore) ListThreadMessages

func (s *FileStore) ListThreadMessages(threadID string, before string, limit int) (protocol.MessagePage, error)

func (*FileStore) ListThreadMessagesContext

func (s *FileStore) ListThreadMessagesContext(ctx context.Context, threadID string, page protocol.PageRequest) (protocol.MessagePage, error)

func (*FileStore) ListThreads

func (s *FileStore) ListThreads(roomID string) ([]protocol.Thread, error)

func (*FileStore) ListThreadsContext

func (s *FileStore) ListThreadsContext(ctx context.Context, roomID string) ([]protocol.Thread, error)

func (*FileStore) RegisterAgentContext

func (s *FileStore) RegisterAgentContext(
	_ context.Context,
	registration protocol.AgentRegistration,
) (protocol.AgentRegistration, error)

func (*FileStore) UpdateRoomMembers

func (s *FileStore) UpdateRoomMembers(roomID string, add []string, remove []string) (protocol.Room, error)

func (*FileStore) UpdateRoomMembersContext

func (s *FileStore) UpdateRoomMembersContext(
	_ context.Context,
	roomID string,
	add []string,
	remove []string,
) (protocol.Room, error)

type HealthChecker

type HealthChecker interface {
	Health(context.Context) error
}

type MemoryStore

type MemoryStore struct {
	// contains filtered or unexported fields
}

func NewMemoryStore

func NewMemoryStore() *MemoryStore

func (*MemoryStore) AppendMessage

func (s *MemoryStore) AppendMessage(message protocol.Message) error

func (*MemoryStore) AppendMessageContext

func (s *MemoryStore) AppendMessageContext(_ context.Context, message protocol.Message) error

func (*MemoryStore) AppendMessageWithLifecycleContext

func (s *MemoryStore) AppendMessageWithLifecycleContext(_ context.Context, message protocol.Message) (AppendLifecycle, error)

func (*MemoryStore) CreateRoom

func (s *MemoryStore) CreateRoom(room protocol.Room) error

func (*MemoryStore) CreateRoomContext

func (s *MemoryStore) CreateRoomContext(_ context.Context, room protocol.Room) error

func (*MemoryStore) GetAgentContext

func (s *MemoryStore) GetAgentContext(_ context.Context, agentID string) (protocol.AgentSummary, bool, error)

func (*MemoryStore) GetDirectConversationContext

func (s *MemoryStore) GetDirectConversationContext(
	_ context.Context,
	dmID string,
) (protocol.DirectConversation, bool, error)

func (*MemoryStore) GetRegisteredAgentContext

func (s *MemoryStore) GetRegisteredAgentContext(
	_ context.Context,
	agentID string,
) (protocol.AgentRegistration, bool, error)

func (*MemoryStore) GetRoom

func (s *MemoryStore) GetRoom(id string) (protocol.Room, bool, error)

func (*MemoryStore) GetRoomContext

func (s *MemoryStore) GetRoomContext(_ context.Context, id string) (protocol.Room, bool, error)

func (*MemoryStore) GetThread

func (s *MemoryStore) GetThread(id string) (protocol.Thread, bool, error)

func (*MemoryStore) GetThreadContext

func (s *MemoryStore) GetThreadContext(_ context.Context, id string) (protocol.Thread, bool, error)

func (*MemoryStore) Health

func (s *MemoryStore) Health(context.Context) error

func (*MemoryStore) ListAgentsContext

func (s *MemoryStore) ListAgentsContext(_ context.Context) ([]protocol.AgentSummary, error)

func (*MemoryStore) ListArtifacts

func (s *MemoryStore) ListArtifacts(
	filter protocol.ArtifactFilter,
	before string,
	limit int,
) (protocol.ArtifactPage, error)

func (*MemoryStore) ListArtifactsContext

func (s *MemoryStore) ListArtifactsContext(
	_ context.Context,
	filter protocol.ArtifactFilter,
	page protocol.PageRequest,
) (protocol.ArtifactPage, error)

func (*MemoryStore) ListDMMessages

func (s *MemoryStore) ListDMMessages(dmID string, before string, limit int) (protocol.MessagePage, error)

func (*MemoryStore) ListDMMessagesContext

func (s *MemoryStore) ListDMMessagesContext(
	_ context.Context,
	dmID string,
	page protocol.PageRequest,
) (protocol.MessagePage, error)

func (*MemoryStore) ListDirectConversations

func (s *MemoryStore) ListDirectConversations() ([]protocol.DirectConversation, error)

func (*MemoryStore) ListDirectConversationsContext

func (s *MemoryStore) ListDirectConversationsContext(_ context.Context) ([]protocol.DirectConversation, error)

func (*MemoryStore) ListRegisteredAgentsContext

func (s *MemoryStore) ListRegisteredAgentsContext(_ context.Context) ([]protocol.AgentRegistration, error)

func (*MemoryStore) ListRoomMessages

func (s *MemoryStore) ListRoomMessages(roomID string, before string, limit int) (protocol.MessagePage, error)

func (*MemoryStore) ListRoomMessagesContext

func (s *MemoryStore) ListRoomMessagesContext(
	_ context.Context,
	roomID string,
	page protocol.PageRequest,
) (protocol.MessagePage, error)

func (*MemoryStore) ListRooms

func (s *MemoryStore) ListRooms() ([]protocol.Room, error)

func (*MemoryStore) ListRoomsContext

func (s *MemoryStore) ListRoomsContext(_ context.Context) ([]protocol.Room, error)

func (*MemoryStore) ListThreadMessages

func (s *MemoryStore) ListThreadMessages(threadID string, before string, limit int) (protocol.MessagePage, error)

func (*MemoryStore) ListThreadMessagesContext

func (s *MemoryStore) ListThreadMessagesContext(
	_ context.Context,
	threadID string,
	page protocol.PageRequest,
) (protocol.MessagePage, error)

func (*MemoryStore) ListThreads

func (s *MemoryStore) ListThreads(roomID string) ([]protocol.Thread, error)

func (*MemoryStore) ListThreadsContext

func (s *MemoryStore) ListThreadsContext(_ context.Context, roomID string) ([]protocol.Thread, error)

func (*MemoryStore) RegisterAgentContext

func (s *MemoryStore) RegisterAgentContext(
	_ context.Context,
	registration protocol.AgentRegistration,
) (protocol.AgentRegistration, error)

func (*MemoryStore) UpdateRoomMembers

func (s *MemoryStore) UpdateRoomMembers(roomID string, add []string, remove []string) (protocol.Room, error)

func (*MemoryStore) UpdateRoomMembersContext

func (s *MemoryStore) UpdateRoomMembersContext(
	_ context.Context,
	roomID string,
	add []string,
	remove []string,
) (protocol.Room, error)

type MessageStore

type MessageStore interface {
	AppendMessage(message protocol.Message) error
	ListRoomMessages(roomID string, before string, limit int) (protocol.MessagePage, error)
	ListThreads(roomID string) ([]protocol.Thread, error)
	ListThreadMessages(threadID string, before string, limit int) (protocol.MessagePage, error)
	ListDirectConversations() ([]protocol.DirectConversation, error)
	ListDMMessages(dmID string, before string, limit int) (protocol.MessagePage, error)
	ListArtifacts(filter protocol.ArtifactFilter, before string, limit int) (protocol.ArtifactPage, error)
}

type RoomStore

type RoomStore interface {
	CreateRoom(room protocol.Room) error
	GetRoom(id string) (protocol.Room, bool, error)
	GetThread(id string) (protocol.Thread, bool, error)
	ListRooms() ([]protocol.Room, error)
	UpdateRoomMembers(roomID string, add []string, remove []string) (protocol.Room, error)
}

type SQLStore

type SQLStore struct {
	// contains filtered or unexported fields
}

func NewPostgresStore

func NewPostgresStore(dsn string) (*SQLStore, error)

func NewSQLiteStore

func NewSQLiteStore(path string) (*SQLStore, error)

func (*SQLStore) AppendMessage

func (s *SQLStore) AppendMessage(message protocol.Message) error

func (*SQLStore) AppendMessageContext

func (s *SQLStore) AppendMessageContext(ctx context.Context, message protocol.Message) error

func (*SQLStore) AppendMessageWithLifecycleContext

func (s *SQLStore) AppendMessageWithLifecycleContext(ctx context.Context, message protocol.Message) (AppendLifecycle, error)

func (*SQLStore) Close

func (s *SQLStore) Close() error

func (*SQLStore) CreateRoom

func (s *SQLStore) CreateRoom(room protocol.Room) error

func (*SQLStore) CreateRoomContext

func (s *SQLStore) CreateRoomContext(ctx context.Context, room protocol.Room) error

func (*SQLStore) GetAgentContext

func (s *SQLStore) GetAgentContext(ctx context.Context, agentID string) (protocol.AgentSummary, bool, error)

func (*SQLStore) GetDirectConversationContext

func (s *SQLStore) GetDirectConversationContext(
	ctx context.Context,
	dmID string,
) (protocol.DirectConversation, bool, error)

func (*SQLStore) GetRegisteredAgentContext

func (s *SQLStore) GetRegisteredAgentContext(
	ctx context.Context,
	agentID string,
) (protocol.AgentRegistration, bool, error)

func (*SQLStore) GetRoom

func (s *SQLStore) GetRoom(id string) (protocol.Room, bool, error)

func (*SQLStore) GetRoomContext

func (s *SQLStore) GetRoomContext(ctx context.Context, id string) (protocol.Room, bool, error)

func (*SQLStore) GetThread

func (s *SQLStore) GetThread(id string) (protocol.Thread, bool, error)

func (*SQLStore) GetThreadContext

func (s *SQLStore) GetThreadContext(ctx context.Context, id string) (protocol.Thread, bool, error)

func (*SQLStore) Health

func (s *SQLStore) Health(ctx context.Context) error

func (*SQLStore) ListAgentsContext

func (s *SQLStore) ListAgentsContext(ctx context.Context) ([]protocol.AgentSummary, error)

func (*SQLStore) ListArtifacts

func (s *SQLStore) ListArtifacts(filter protocol.ArtifactFilter, before string, limit int) (protocol.ArtifactPage, error)

func (*SQLStore) ListArtifactsContext

func (s *SQLStore) ListArtifactsContext(
	ctx context.Context,
	filter protocol.ArtifactFilter,
	page protocol.PageRequest,
) (protocol.ArtifactPage, error)

func (*SQLStore) ListDMMessages

func (s *SQLStore) ListDMMessages(dmID string, before string, limit int) (protocol.MessagePage, error)

func (*SQLStore) ListDMMessagesContext

func (s *SQLStore) ListDMMessagesContext(
	ctx context.Context,
	dmID string,
	page protocol.PageRequest,
) (protocol.MessagePage, error)

func (*SQLStore) ListDirectConversations

func (s *SQLStore) ListDirectConversations() ([]protocol.DirectConversation, error)

func (*SQLStore) ListDirectConversationsContext

func (s *SQLStore) ListDirectConversationsContext(ctx context.Context) ([]protocol.DirectConversation, error)

func (*SQLStore) ListRegisteredAgentsContext

func (s *SQLStore) ListRegisteredAgentsContext(ctx context.Context) ([]protocol.AgentRegistration, error)

func (*SQLStore) ListRoomMessages

func (s *SQLStore) ListRoomMessages(roomID string, before string, limit int) (protocol.MessagePage, error)

func (*SQLStore) ListRoomMessagesContext

func (s *SQLStore) ListRoomMessagesContext(
	ctx context.Context,
	roomID string,
	page protocol.PageRequest,
) (protocol.MessagePage, error)

func (*SQLStore) ListRooms

func (s *SQLStore) ListRooms() ([]protocol.Room, error)

func (*SQLStore) ListRoomsContext

func (s *SQLStore) ListRoomsContext(ctx context.Context) ([]protocol.Room, error)

func (*SQLStore) ListThreadMessages

func (s *SQLStore) ListThreadMessages(threadID string, before string, limit int) (protocol.MessagePage, error)

func (*SQLStore) ListThreadMessagesContext

func (s *SQLStore) ListThreadMessagesContext(
	ctx context.Context,
	threadID string,
	page protocol.PageRequest,
) (protocol.MessagePage, error)

func (*SQLStore) ListThreads

func (s *SQLStore) ListThreads(roomID string) ([]protocol.Thread, error)

func (*SQLStore) ListThreadsContext

func (s *SQLStore) ListThreadsContext(ctx context.Context, roomID string) ([]protocol.Thread, error)

func (*SQLStore) RegisterAgentContext

func (s *SQLStore) RegisterAgentContext(
	ctx context.Context,
	registration protocol.AgentRegistration,
) (protocol.AgentRegistration, error)

func (*SQLStore) UpdateRoomMembers

func (s *SQLStore) UpdateRoomMembers(roomID string, add []string, remove []string) (protocol.Room, error)

func (*SQLStore) UpdateRoomMembersContext

func (s *SQLStore) UpdateRoomMembersContext(
	ctx context.Context,
	roomID string,
	add []string,
	remove []string,
) (protocol.Room, error)

Jump to

Keyboard shortcuts

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