// Package memory provides pure types for agent memory: conversation windows and episodic facts.
package memory

import (
	"time"

	"github.com/enmanuel/agents/pkg/llm"
)

// Fact is a single episodic fact: a key-value pair scoped to a subject.
type Fact struct {
	AgentID   string
	Subject   string
	Key       string
	Value     string
	UpdatedAt time.Time
}

// HistoryMessage is a persisted conversation message.
type HistoryMessage struct {
	AgentID   string
	RoomID    string
	Role      llm.Role
	Content   string
	CreatedAt time.Time
}
