- Add message operation to retrieve a single message by ID (cleaner output,
higher default maxLength of 8000)
- Add role filter to messages operation (user/assistant/system)
- Hide tool-call parts by default in messages/message output; showTools:true
to include them
- Show full session IDs instead of truncating to 12 chars
- Make per-message maxLength configurable (default 2000 for messages, 8000
for message)
- Increase search snippet length from 300 to 500 chars
- Add local development & testing docs to AGENTS.md with symlink instructions
- Bump version from 0.1.0 to 0.2.0
All read-only operations now dispatch through a single memory tool that
routes by {tool: "name", args: {...}}. This cuts visible tool count from
8 to 2, significantly reducing context bloat for small models. The
memory_compact tool remains separate as it is a write/mutation operation.
Queries compaction-type parts in the DB to find session compaction
events, then retrieves the summary text from the adjacent assistant
message. Presents compactions as navigable checkpoints with list and
read modes.
Rewrites history/queries.ts to use bun:sqlite with readonly mode and
parameterized queries instead of spawning sqlite3. Consolidates threshold
constants into a single source of truth. Adds AGENTS.md as the canonical
operational doc, moves architecture to docs/, and adds initial test suite.