OpenPay (1 crate, 3751 LOC, 83 tests)
op-crypto-extra Extended crypto rails. Stablecoin catalog (USDC, USDT,
PYUSD, DAI, RLUSD, EURC, FDUSD — 26 deployments). L2
catalog (12 chains incl. Optimism, Arbitrum, Base,
zkSync Era, Polygon zkEVM, Linea, Scroll, Starknet).
CCTP v2 BurnMessage encode/decode + domain ids +
attestation. ERC-4337 UserOperation v0.7 +
PackedUserOperation. EIP-7702 set-EOA-code with RLP
signing preimage. Uniswap Permit2 single + batch
transfer EIP-712 hashes. EIP-2612 ERC-20 permit.
BOLT-11 bech32 invoices + LNURL decode. Bitcoin
PSBT v2 (BIP-370). Atomic-swap HTLC. Solana SPL /
Aleo / Aztec confidential-transfer sketches.
Smart Byte (1 crate, 2304 LOC, 30 tests)
smart-byte-acdc Authentic Chained Data Containers (KERI ecosystem).
Acdc + AcdcBuilder (targeted + untargeted) with SAID
derivation. JSON Schema 2020-12 validator with
oneOf partial-disclosure. TEL (RIP/VRT/ISS/REV)
with hash-chained verification. IPEX (apply/offer/
agree/grant/admit/spurn) chained by SAID. Edge
records (I2I/NI2I/DI2I) + EdgeGraph BFS traversal
with cycle detection. Selective disclosure with
full/none/subset plans + compact packing.
CredentialRegistry trait + InMemoryRegistry over
TEL. Composes with smart-byte-core + smart-byte-keri-witness.
EOC (1 crate, 1764 LOC, 16 tests)
eoc-memory Long-term memory primitives. Memory trait + MemoryKind +
EpisodeId. Episodic event log with TimeIndex range
queries. RDF-style Triple store with S/P/O indices.
Bounded attention-budget Scratchpad with
salience-weighted eviction. Rolling SummaryBuffer +
FIFO SlidingWindow. Dream-cycle consolidate()
(episodic → semantic). Ebbinghaus forgetting curve
with reinforcement. Retriever blending cosine
similarity + recency + saturating frequency.
MemGpt three-tier shape (Main/Recall/Archival).
Co-Authored-By: Claude Opus 4.7 <[email protected]>
55 lines
2.1 KiB
Rust
55 lines
2.1 KiB
Rust
//! EOC long-term memory primitives.
|
|
//!
|
|
//! `eoc-memory` provides the memory substrate for agentic loops in
|
|
//! the EOC stack: episodic event logs, semantic knowledge graphs,
|
|
//! working-memory scratchpads, conversational summary buffers,
|
|
//! sliding windows, dream-cycle consolidation, the Ebbinghaus
|
|
//! forgetting curve, retrieval triangulation (similarity + recency
|
|
//! + frequency) and a MemGPT-style hierarchical shape.
|
|
//!
|
|
//! ## Modules
|
|
//!
|
|
//! * [`memory`] — base [`Memory`] trait, [`MemoryKind`], identifiers.
|
|
//! * [`episodic`] — event log with temporal indexing.
|
|
//! * [`semantic`] — entity-relation triple store / knowledge graph.
|
|
//! * [`working`] — scratchpad with attention budget.
|
|
//! * [`summary`] — rolling summary buffer.
|
|
//! * [`window`] — sliding-window conversational memory.
|
|
//! * [`consolidate`] — dream-cycle batch: episodic → semantic.
|
|
//! * [`forget`] — Ebbinghaus time-decay scorer.
|
|
//! * [`retrieve`] — similarity + recency + frequency triangulation.
|
|
//! * [`inject`] — render memory items into a prompt context block.
|
|
//! * [`memgpt`] — MemGPT hierarchical memory (main / recall / archival).
|
|
//! * [`error`] — error / result aliases.
|
|
//!
|
|
//! Everything is deterministic given fixed inputs and a fixed clock,
|
|
//! and the crate is `#![forbid(unsafe_code)]`.
|
|
|
|
#![forbid(unsafe_code)]
|
|
#![warn(missing_docs)]
|
|
|
|
pub mod consolidate;
|
|
pub mod episodic;
|
|
pub mod error;
|
|
pub mod forget;
|
|
pub mod inject;
|
|
pub mod memgpt;
|
|
pub mod memory;
|
|
pub mod retrieve;
|
|
pub mod semantic;
|
|
pub mod summary;
|
|
pub mod window;
|
|
pub mod working;
|
|
|
|
pub use consolidate::{ConsolidateConfig, ConsolidationReport, consolidate};
|
|
pub use episodic::{Episode, EpisodicLog, TimeIndex};
|
|
pub use error::{MemoryError, MemoryResult};
|
|
pub use forget::{EbbinghausScorer, ForgetConfig};
|
|
pub use inject::{InjectConfig, InjectedContext, inject};
|
|
pub use memgpt::{MemGpt, MemGptConfig, Tier};
|
|
pub use memory::{EpisodeId, Memory, MemoryItem, MemoryKind, MemoryRef};
|
|
pub use retrieve::{RetrievalConfig, RetrievalScore, Retriever};
|
|
pub use semantic::{SemanticGraph, Triple};
|
|
pub use summary::SummaryBuffer;
|
|
pub use window::SlidingWindow;
|
|
pub use working::Scratchpad;
|