vocall_sdk 1.0.1
vocall_sdk: ^1.0.1 copied to clipboard
Flutter SDK for the Vocall Agent-Application Protocol (AAP). Let an AI agent see and control your app's UI — navigate screens, fill forms, click buttons, and interact via voice or text.
Changelog #
All notable changes to the Jarvis SDK for Flutter will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
1.0.1 - 2026-03-21 #
Fixed #
- JarvisOverlay dispose race condition — when navigating between pages that both use JarvisOverlay, the old overlay's dispose could erase the new overlay's callbacks. Now checks ownership before clearing.
1.0.0 - 2026-03-21 #
Added #
- TTS audio queue — streaming audio playback with queue management
- audio_clear — prevents TTS overlap after auto-narration
- LLM observability — real-time LLM token streaming and response events
- Chat UI polish — auto-focus, adjustable height, clear button, font fixes
- Material Icons — copy chat and UI refinements
- Voice command execution — voice commands now trigger UI actions (navigate, fill, etc.)
- Conversation reset — status resets on conversation_end
- Narration text fix — replaces narration text with final LLM response on llm_end
0.1.0 - 2026-03-19 #
Added #
- JarvisClient — WebSocket client with automatic reconnection (max 10 attempts, exponential backoff)
- ManifestBuilder — fluent API for constructing app manifests
- FieldRegistry — register form fields and actions for agent-driven UI automation
- JarvisControllable — mixin for StatefulWidget pages with automatic field registration and cleanup
- JarvisOverlay — floating action button with expandable chat panel widget
- ChatPanel — message thread UI with streaming tokens, pagination, and copy-to-clipboard
- VoiceVisualizer — animated robot head with spectrum analyzer and status visualization
- StatusIndicator — status badge widget
- showJarvisConfirmDialog — confirmation dialog for
ask_confirmcommands - VoiceService — Web Audio API implementation for microphone capture and TTS playback
- FrameSplitter — PCM frame normalization for consistent 20ms audio frames
- Always-listening mode — continuous voice with wake word detection
- Click-to-talk mode — on-demand voice input with direct mode
- Barge-in (interrupt) — stop agent mid-response
- Echo suppression — automatic mic muting during TTS playback
- Typewriter animation — character-by-character field filling
- Command execution engine — sequential and parallel action execution with retry logic
- Session continuity — persistent visitor ID with localStorage on web
- Chat history — paginated message loading with 6-message visible window
- Protocol types — full Dart mirror of the AAP protocol (ManifestMessage, ScreenDescriptor, FieldDescriptor, ActionDescriptor, ModalDescriptor, UIAction, CommandMessage, etc.)
Platform Support #
- Flutter Web — full support (chat + voice)
- Android / iOS / Desktop — chat and UI automation only (voice planned)