voiceos_flutter 0.1.4
voiceos_flutter: ^0.1.4 copied to clipboard
Production-grade Flutter SDK for AI voice calling powered by the VoiceOS Rust AI Voice Engine. Supports FCM, TelecomManager, ConnectionService, AudioRecord/AudioTrack (Android) and PushKit, CallKit, A [...]
Changelog #
0.1.4 — Android Kotlin compile fix #
Fixed #
- Missing
VoiceCallServiceimport inVoiceFCMService.kt(broke 0.1.3 Android builds). logger.warn→logger.warningto matchVoiceOSLoggerAPI.
0.1.3 — Android self-managed incoming call UI #
Fixed #
- Self-managed Telecom incoming calls now always show Answer/Decline notification UI (Android does not provide a system incoming-call screen for self-managed accounts).
- Tapping Answer on the notification now starts audio/WebSocket when Telecom is enabled (previously waited for a system answer UI that never appears).
- Telecom audio-route events during ringing no longer wake the mic before the call is answered.
0.1.2 — Android incoming call reliability #
Fixed #
- Android FCM tokens are now synced to the dashboard as
fcmToken(notpushkitToken). - Proactive FCM token fetch on SDK initialize.
- Duplicate FCM deliveries no longer reject the second message as "Busy".
- Emulator devices use notification-based incoming call UI (TelecomManager is unreliable on emulators).
VoiceCallServiceno longer re-dispatches incoming FCM toVoiceSessionManager(prevents double handling).
0.1.1 — Android Gradle dependency fix #
Fixed #
- Android build failures caused by conflicting
kotlin-stdlib-jdk8andandroidx.annotationversion constraints when consumed from host Flutter apps. - Plugin
android/build.gradleno longer pins Kotlin stdlib or AndroidX annotation versions; Flutter's embedding now resolves them consistently. - Example app Gradle files updated to current Flutter 3.44 conventions (removed
resolutionStrategy.forcehacks and manual dependency overrides).
0.1.0 — Initial Release (Phase 1 — iOS AI Agent Calling) #
Added #
VoiceOS.initialize()— SDK bootstrap withVoiceOSConfigVoiceOS.login()/VoiceOS.logout()— token-based authenticationVoiceOS.callAI()— outgoing AI agent calls withCallConfigVoiceOS.endCall()— graceful call terminationVoiceOS.mute()/VoiceOS.unmute()— microphone controlVoiceOS.enableSpeaker()/VoiceOS.disableSpeaker()— audio routingVoiceOS.registerForVoIPPush()— PushKit VoIP push token registrationVoiceOS.instance.events— typed broadcast event stream- Native iOS:
VoiceCallKitManager— CallKit incoming/outgoing call UI - Native iOS:
VoicePushKitManager— PushKit VoIP push reception - Native iOS:
VoiceAudioEngine— AVAudioEngine duplex audio (16 kHz capture / 22.05 kHz playback) - Native iOS:
VoiceAudioSessionManager— AVAudioSession VoiceChat mode + interruption handling - Native iOS:
VoiceSignalingClient— URLSession WebSocket with exponential back-off reconnection - Native iOS:
VoiceSessionManager— central coordinator orchestrating all native components - Native iOS:
VoiceSecureStorage— Keychain-backed credential storage - Android stub returning
PLATFORM_NOT_SUPPORTED(Phase 2) - Example app with home screen (call button) and active call screen