- add audio capability reporting for Ollama models
- support Telegram voice messages via ffmpeg conversion and Ollama transcription
- add USE_SYSTEM_PROMPT toggle and runtime reloading of .env/system prompt settings
- support ollama_options.json for custom Ollama request options
- improve Telegram MarkdownV2 escaping and formatting preservation
- add environment setters for AI provider credentials and models
- show audio capability in info/model commands
Support OLLAMA_IMAGE_MODEL and new OLLAMA_THINK_MODEL (both default to OLLAMA_MODEL)
Add /ollamathink command; validate thinking capability; disable image-analysis flow in think mode
Make /ollama-get-model show Text/Image/Think blocks only when models differ
Add /ytdl (/youtube) command + auto-detect YouTube URLs in messages
Cache downloaded videos to data/video and schedule daily cleanup
Move photo storage from data/temp to data/photo; improve env boolean parsing via ifTrue
Update deps (youtubei.js, puppeteer*) and TS config (allowJs, allowSyntheticDefaultImports)
- make MessageStore.put() return StoredMessage and allow collectReplyChainText() to work with StoredMessage
- move muted users + answers loading into Environment (add Answers model + GEMINI_IMAGE_MODEL)
- extract message handling into processNewMessage() and add media-group (album) caching/downloading by unique_file_id
- for Ollama: check model capabilities before sending images; use replyToMessage helper consistently
- add /geminiGenImage command stub for Gemini image generation