Repository navigation
Releases: ardiannurcahya/antigravity-cli-telegram-bot
Release list
v0.8.0
Release v0.8.0
Release v0.8.0 introduces CLI ecosystem parity (/skills, /mcp) from RFC #46 Phase 2, in-place inline telemetry updates, and robust multi-turn media and image detection.
🚀 What's New
Ecosystem & CLI Parity (RFC #46 Phase 2)
• /skills [NAME]: Direct inspection of available AGY skills categorized cleanly by scope (📁 Project, 🌐 Global, 📦 Built-in) with support for skill name filtering, HTML badges, and path locations (#56).
• /mcp Inspector: Tabular MCP server parser displaying real-time status indicators (🟢 enabled / 🔴 disabled), connection types (stdio, sse), and automatic credential sanitization for sensitive tokens/keys (#56).
• Security Safeguards for Mutations: Intercepts mutating actions (add, remove, enable, disable) in isDangerousCustomCommand, requiring explicit confirmation via /agy-confirm (#56).
• CLI & Tools Menu Alignment: Symmetrical button layout [AGY Agents | ⚡ Skills] and [🧩 Plugins | 🛠️ MCP] with dedicated inline help and seamless in-place menu navigation (#56).
In-Place Inline Telemetry Updates
• Instant Turn Delivery: Delivers final assistant responses immediately when TELEMETRY_POST_PROMPT=inline, polling active context metrics in the background and updating the sent message in-place via Telegram's editMessageText (#55).
• Persistent Keyboard Preservation: Retains the persistent ReplyKeyboardMarkup bottom menu buttons across inline telemetry turns without UI disruptions (#55).
🛠️ Bug Fixes & Improvements
• Multi-Turn Media & Image Detection: Scans result.intermediateText in addition to result.text across prompt jobs and autonomous subagent background loops (SubagentPoller), ensuring images and media generated by intermediate tool calls are reliably detected and dispatched to Telegram (#54).
👥 Contributors
Huge thanks to @HydStAn and @LeMeD for their contributions in this release!
Full Changelog: v0.7.0...v0.8.0
v0.7.0
Release v0.7.0
Release v0.7.0 introduces the autonomous subagent background poller, Phase 1 prompt directives and parity commands (/diff, /title), and post-prompt expandable telemetry blocks.
🚀 What's New
Autonomous Subagent Poller (SubagentPoller)
• Background Task Tracking: Automatically detects background subagent tasks spawned by Antigravity CLI via message inbox polling (#52).
• Progressive Polling & Synthesis: Polls with progressive backoff intervals (10s..30s) and seamlessly synthesizes the final response once subagent work completes.
• Hardened Cancel Lifecycle: /cancel, /stop, and /kill interrupt active CLI/PTY executions and terminate running subagent pollers (#52).
Prompt Directives & Parity Commands
• Prompt Directives: Native execution for /plan, /boost, /goal, and /grill-me without command rejection or false unknown command alerts (#48).
• Adaptive Git Diff (/diff): Real-time git status and unified diff viewer directly in Telegram for the active workspace (#48).
• Session Renaming (/title, /rename): Instant session title renaming synchronized across runtime memory and the SQLite conversation database (#48).
Post-Prompt Expandable Telemetry
• Expandable Telemetry Block: Native <blockquote expandable> appended to responses showing turn latency, total session duration, token breakdown (input, output, thinking, cache hit rate), and context saturation (#47, #50).
• Configurable Mode: Toggle telemetry presentation using TELEMETRY_POST_PROMPT=message|inline|progress|off.
🛠️ Bug Fixes & Improvements
• Clean Final Output: Cleansed residual workspace banner leaks from completed response messages (#51).
• Internationalization: Purged residual non-English terms across subagent modules (#52).
👥 Contributors
Huge thanks to @LeMeD for contributions in this release!
Full Changelog: v0.6.0...v0.7.0
v0.6.0
Release v0.6.0 🗜️
Release v0.6.0 introduces orchestrator-level context compaction (/compact), a 3-profile /menu overhaul, dynamic context telemetry, and enhanced media detection.
🚀 What's New
Context Compaction (/compact)
- 3-Phase Compaction Pipeline: Snapshot -> Reset -> Re-hydration with full attention reset and atomic rollback protection (#40, #42).
- Accurate Telemetry: Anti-hallucination prompt constraints ensure token metrics derive strictly from programmatic CLI data.
- In-Place Progress Banner: In-place message edits eliminate chat clutter and redundant model chatter (#43).
Dynamic Telemetry & Inline Actions
- Live Token Usage: Displays real-time session consumption directly on menu buttons (e.g.
45k (5%)) with auto-refresh (#42, #43). - 1-Tap Actions: Added
Compact ContextandRefreshaction buttons directly beneath/contextreports (#42).
3-Profile Menu Revamp (/menu)
- Profiles: Switch between
Mixed,Daily, andDevlayouts via in-menu switcher orMENU_PROFILEin.env(#39, #41). - Quick Menu Button: Replaced
ModelwithMenuon the persistent reply keyboard beside the chat input (#41). - Ergonomics: Removed confirmation chatter and promoted session resume directly to the main menu (#41, #44).
Media & Performance
- Media Detection: Automatically detects
MEDIA:tags and saved paths for direct outbound file delivery (#44). - Whisper Warmup: Preloads Whisper dependencies in the background at startup to eliminate initial voice note latency (#41).
- Workspace Propagation: Automatically passes active workspace into
--add-dirfor all executions (#42).
🛠️ Bug Fixes & Improvements
- Delivers long responses directly in chat via formatted chunks instead of forcing raw
.mdfile downloads (#41). - Removed residual Option A references from documentation (#38).
👥 Contributors
Huge thanks to @HydStAn and @LeMeD for their fantastic contributions in this release!
Full Changelog: v0.5.0...v0.6.0
v0.5.0
Release v0.5.0 🎙️📁
Release v0.5.0 introduces major enhancements: two-way native voice interaction (Voice I/O: STT & TTS), dynamic per-session project isolation (Workspace Scoping via /workspace), cleaner multi-turn agent output with native Expandable Delegation Blockquotes, and advanced Markdown rendering fixes.
🚀 What's New
🎙️ Voice I/O Capabilities (Speech-to-Text & Text-to-Speech)
Full two-way voice interaction with modular, pluggable adapters. Strictly opt-in by default (STT_PROVIDER=none, TTS_MODE=off) to avoid unexpected bandwidth or API usage:
- Speech-to-Text (STT): Automatically transcribes incoming Telegram voice notes into prompt text for AGY. Supported adapters:
gemini(cloud audio buffer transcription via Gemini Multimodal)whisper-local(offline local whisper CLI)agy(multimodal CLI transcription)- Interactive
/sttsettings keyboard for provider & language selection.
- Text-to-Speech (TTS): Synthesizes bot responses into native Telegram voice messages using
edge-tts, with natural code indicator replacement for a pleasant listening experience.- Flexible response modes:
auto(voice response when input is voice),voice-and-text, orvoice-only. - Interactive
/ttskeyboard to configure voice styles and modes.
- Flexible response modes:
📁 Per-Session Workspace Scoping (/workspace)
- Dynamically switch working directories per session using
/workspace <name|path>or/workspace clear. - Forum Topics Binding: Dedicated project supergroup topics persistently remain bound to their target workspace across
/newresets. - 1:1 DM Ephemeral Reset: Private direct messages automatically revert to the default
AGY_WORKSPACEon/newto keep daily assistant workflows friction-free. - Interactive Project Picker: Paginated inline keyboard to quickly list and switch between authorized project folders.
- Security Boundary: Strict directory traversal prevention (
isWithincontainment check) against authorized root paths.
💬 Expandable Delegation Blockquotes
- Subagent delegation and intermediate execution turns are now cleanly nested into native Telegram
<blockquote expandable>elements placed right above the final response inverbose: detailedmode. - In
compactmode, intermediate turns are cleanly suppressed to maintain focused, readable chat history.
🛠️ Bug Fixes & Improvements
- Nested Code Fence Rendering: Correctly parses nested code blocks (such as Markdown documentation examples containing inner code fences) by tracking CommonMark fence lengths and nesting depths.
- LaTeX Math Brace Preservation: Preserves curly braces (
{}) in regular text (e.g. TypeScript types, JSON objects) by selectively targeting only valid LaTeX command blocks. - Word-Boundary Chunk Splitting: Splits oversized messages along whitespace boundaries instead of cutting words in half when line breaks are absent.
- Community Reference: Updated memory engine links to HydStAn and neutralized test contacts.
👥 Contributors
Huge thanks to @HydStAn and @LeMeD for their fantastic contributions in this release!
Full Changelog: v0.4.0...v0.5.0
v0.5.0-alpha.1
Release v0.5.0-alpha.1 🎙️📁
This alpha pre-release introduces native Voice I/O capabilities, per-session workspace scoping, expandable subagent delegation blockquotes, and Markdown formatting hardening.
Note
This is a pre-release for validation and testing before the final v0.5.0 milestone. All new features are 100% opt-in by default.
🌟 Key Highlights
1. Voice I/O Capabilities (Speech-to-Text & Text-to-Speech) (#33)
- Speech-to-Text (STT): Transcribes inbound Telegram voice notes into prompt text using
gemini(cloud audio buffer),whisper-local(offline local whisper CLI), oragy(multimodal CLI transcription). - Text-to-Speech (TTS): Synthesizes responses into native Telegram voice notes using
edge-ttswith natural code indicator replacement. - Interactive Controls: Dedicated
/sttand/ttscommand keyboards and response modes (auto,voice-and-text,voice-only). - Zero-Friction Default: Strictly disabled out of the box (
STT_PROVIDER=none,TTS_MODE=off).
2. Per-Session Workspace Scoping & Forum Topic Isolation (#28)
- Directory Switching: Switch working directories per session with
/workspace <name|path>or/workspace clear. - Forum Topics Binding: Dedicated project topics persistently bind to their target repository across
/newresets. - 1:1 DM Ephemeral Reset: Private chats automatically revert to default
AGY_WORKSPACEon/newto keep everyday assistant tasks friction-free. - Security: Strict
isWithinpath containment against authorized root directories to prevent path traversal.
3. Expandable Delegation Blockquotes (#30)
- Intermediate subagent execution turns are now cleanly isolated into native Telegram
<blockquote expandable>above final replies in detailed verbose mode, and omitted in compact mode.
4. Markdown & Code Fence Fixes (#32)
- Correctly parses nested code blocks according to CommonMark standards.
- Preserves curly braces (
{}) in TypeScript types and JSON. - Word-boundary chunk splitting to avoid cutting words in half.
👥 Contributors
Huge thanks to @sbolten and @LeMeD for their fantastic contributions in this release!
Full Changelog: v0.4.0...v0.5.0-alpha.1
v0.4.0
What's Changed
🌟 Key Highlights
- Telegram Forum Topics Support (#20): Full thread isolation and routing within Telegram supergroup forum topics using composite session keys.
- Multimodal Payload Ingestion (#21): Send voice notes, audio tracks, video clips, video notes, locations, and vCard contacts directly to AGY with rich contextual metadata.
- Gemini 3.8 Flash Integration (#19): Full support for Gemini 3.8 Flash variants (
high,medium,low) with 1M context limits, deprecating older 3.5 models. - Concurrent Multi-Chat Queue (#20): Up to 4 parallel executions across distinct chats while keeping per-chat turns strictly sequential.
- Uncompressed Document Images & Cleanup Hygiene (#23): Support for uncompressed screenshot uploads and automated temp file lifecycle management.
- UX Polish & Link Rendering (#22): Clean markdown inline code rendering for deep-links, dynamic SQLite loading resilience, and seamless
/agy <prompt>freeform prompts.
👥 Contributors
Huge thanks to @LeMeD and @sbolten for their fantastic contributions in this release!
Full Changelog: v0.3.1...v0.4.0
v0.3.1
Full Changelog: v0.3.1...v0.3.1
What's Changed
- Feat/separate quota models by @sbolten in #8
- Fix/claude effort flag by @sbolten in #9
- refactor: clean modular architecture, test suite & telegram resilience by @ardiannurcahya in #11
v0.2.0
What's Changed
- feat: auto-detect and send generated images directly to telegram chat in #1
- feat/configurable-progress-mode in #2
Full Changelog: v0.1.8...v0.2.0