Package-level declarations

Types

Link copied to clipboard
@Serializable
data class Concept(val keyword: String, val description: String, val factType: FactType)

Represents a distinct piece of knowledge that an agent can remember and recall. Concepts are the fundamental building blocks of the agent's memory system, allowing structured storage and retrieval of information across different contexts and time periods.

Link copied to clipboard

Platform-specific implementation of TimeProvider. This expect declaration is completed by actual implementations in platform-specific source sets (JVM, Native, JS) to provide optimal time handling for each platform.

Link copied to clipboard
@Serializable
sealed interface Fact

Represents stored information about a specific concept at a point in time. Facts are the actual data points stored in the memory system, always associated with their originating concept and creation timestamp for temporal reasoning.

Link copied to clipboard
@Serializable
enum FactType : Enum<FactType>

Defines how information should be stored and retrieved for a concept in the memory system. This type system helps organize and structure the knowledge representation in the agent's memory.

Link copied to clipboard
sealed interface MemoryScope

Defines the operational boundary for memory storage and retrieval. Memory scope determines how information is shared and isolated between different components of the system.

Link copied to clipboard
@Serializable(with = MemorySubject.Serializer::class)
abstract class MemorySubject

Defines the contextual domain of stored memory facts, determining the visibility and relevance scope of the stored information.

Link copied to clipboard
@Serializable
data class MultipleFacts(val concept: Concept, val timestamp: Long, val values: List<String>) : Fact

Stores multiple related pieces of information about a concept. Used when the concept represents a collection of related facts that should be stored and retrieved together.

Link copied to clipboard
@Serializable
data class SingleFact(val concept: Concept, val timestamp: Long, val value: String) : Fact

Stores a single piece of information about a concept. Used when the concept represents a singular, atomic piece of knowledge that doesn't need to be broken down into multiple components.

Link copied to clipboard
interface TimeProvider

Provides platform-independent access to time-related functionality for the memory system. This interface enables consistent timestamp generation across different platforms while allowing platform-specific optimizations.