Skip to content

Releases: Aid-On/whenm

v0.3.4 - Native Prolog Tests & Critical Fixes

30 Dec 12:57

Choose a tag to compare

🚀 Release v0.3.4

✨ New Features

  • Native Prolog Test Suite: Comprehensive PLUnit tests for Event Calculus engine
  • Auto LLM Detection: Automatically detects provider from environment, mock as default
  • Separate CI Lanes: Better visibility with 5 distinct CI jobs

🐛 Bug Fixes

  • CRITICAL: Removed hardcoded 'taro' default subject in queries
  • Fixed import/export mismatches in examples
  • Corrected method names (record → remember, query → ask)

📚 Improvements

  • Japanese text examples now show actual translation process
  • Cleaner examples and benchmarks structure
  • Better error handling for missing API keys
  • Improved temporal reasoning with multilingual support

🧪 Testing

  • 60+ PLUnit test cases for Event Calculus
  • Working with both SWI-Prolog and Trealla
  • Benchmarks comparing Mock vs Groq performance
  • Examples verified with real LLM providers

📦 Installation

npm install @aid-on/whenm@0.3.4

🔧 Configuration

# .env file
GROQ_API_KEY=your-groq-api-key
LLM_PROVIDER=groq  # or mock, gemini, cloudflare

v0.3.3 - Initial Release

30 Dec 10:13

Choose a tag to compare

🎉 WhenM v0.3.3 - Initial Release

Time-aware memory system that understands when things happened

✨ Features

  • Schemaless Temporal Memory: Remember and query events in any language without predefined schemas
  • Event Calculus Reasoning: Mathematically sound temporal logic based on formal Event Calculus
  • Multi-Language Support: Works with English, Japanese, and any other language
  • LLM Integration: Supports Groq, Gemini, and Cloudflare Workers AI
  • Time-aware Queries: Answer complex questions like "What was X's role in 2021?"

📊 Performance

  • 90% accuracy on Locomo temporal reasoning benchmark (9/10 correct)
  • Average response time: ~1100ms per complex query

🚀 Quick Start

import { WhenM } from '@aid-on/whenm';

const memory = await WhenM.groq(process.env.GROQ_API_KEY);

await memory.remember("Alice joined as engineer", "2020-01-15");
await memory.remember("Alice became team lead", "2022-06-01");

const answer = await memory.ask("What was Alice's role in 2021?");
// → "engineer"

📦 Installation

npm install @aid-on/whenm

📚 Documentation

See README for full documentation.

🙏 Acknowledgments

Built with Event Calculus formal logic and Prolog reasoning engine (Trealla).