Skip to content

v2.0.0

Choose a tag to compare

@pasky pasky released this 19 Feb 19:43

What's Changed

πŸŽ‰ Major: TypeScript Runtime Promoted to Primary Codebase

  • Removed the Python runtime β€” TypeScript is now the one and only implementation
  • Renamed tests-ts/ to tests/

npm Publishing

  • Published as @pasky/muaddib on npm

Security & Auth

  • Moved all secrets from config.json to a separate auth.json via AuthStorage
  • Disabled Node.js SIGUSR1 inspector activation

Agent & Tools

  • Implemented progress report nudge and quest prompt_reminder
  • Added metaReminder support for per-turn steering injection
  • Oracle tool: nested agentic loop with tools, Python-parity logging
  • Conditional quest tool inclusion matching Python parity
  • progress_report rate limiting and make_plan quest persistence

Steering & Session Handling

  • Wrapped steered passive messages to prevent derailing active sessions
  • Buffered steering messages arriving before agent creation
  • Fixed progress nudge steering after final non-tool replies
  • Avoid duplicate steering meta turns when queue already pending

Refactoring (Large)

  • Major DI cleanup: model adapter, auth, and tool context are now always explicitly injected
  • Extracted shared utilities, deduplicated async queue, room utilities, tool modules
  • Consolidated room monitor config interfaces into centralized RoomConfig
  • camelCase config everywhere via camelCaseKeys transform at parse time
  • Comprehensive E2E AI integration test suite (7 scenarios)
  • ESLint added with pre-commit lint hook

Bug Fixes

  • Fixed empty completion handling: distinguish API errors, report to room
  • Fixed Slack app_mention handler and HTML entity decoding
  • Escaped non-ASCII chars in varlink JSON to fix IRC UTF-8 output
  • Fixed role typing: introduced ChatRole type, removed shims
  • Fixed getArcCostToday to use UTC date matching CURRENT_TIMESTAMP