CircleAI 3.2.0 — HER / Jarvis lift, companion substrate
Summary
Seven new packages port working backends from CircleUp + Concierge into the CircleAI substrate so any consumer can light up a HER- / Jarvis-class companion experience without re-deriving the protocol scaffolding.
New packages (all 3.2.0)
- CircleAI.Companion.Proactive — generic proactive scheduler (5-field cron +
IProactiveTaskSource/IProactiveTaskRunner/IProactiveScheduler+IHostedService). 20 tests. - CircleAI.Hosting.CloudFallback — OpenAI / Anthropic / Gemini
IChatGeneratorwith SSE streaming + fail-soft + compositeCloudFallbackChain. 11 tests. - CircleAI.Speech.Cloud — OpenAI Whisper
ISpeechRecognizer(WAV-envelope-wraps PCM input) + OpenAI TTSISpeechSynthesizer(response_format=pcmhonoursAudioPcm16Monocontract) + generic regexKeywordVoiceIntentRouter. 14 tests. - CircleAI.Vision.Cloud — new
IImageGeneratorcontract (the existingCircleAI.Visionis detection-only) + DALL-E + Stability AI +ImageGeneratorFallbackChain. 13 tests. - CircleAI.Plugins — per-plugin collectible
AssemblyLoadContext, JSONPluginRegistry,PluginMarketplace, hot-reloadPluginLifecycleService, declarative permission gating viaPermissionedPluginContext. 18 tests. - CircleAI.Hosting.Mcp — MCP (Model Context Protocol) JSON-RPC 2.0 endpoint. DI-driven
IMcpTool+IMcpResourceProvider. Single + batch requests. Pure-DIDispatchAsyncmakes it testable without ASP.NET Core. 15 tests. - CircleAI.Hosting.Multiplayer — SignalR
MultiplayerHub— per-document rooms, last-writer-wins by rev, live cursor positions, presence. Identity viaIMultiplayerPeerIdentity(default:GuestPeerIdentity). 9 tests.
Changed
- Version-aligned every 3.x package from 3.1.0 → 3.2.0 (50 packages total).
- Fixed a latent DI bug in
CircleAI.Hosting.CloudFallback.ServiceCollectionExtensions: the options factory was being registered asFunc<IServiceProvider, T>instead ofT, soAdd*ChatGeneratorcalls would have failed at resolution time. Same pattern applied toSpeech.CloudandVision.Cloud.
Tests
100 new Circle32* tests pass on both net9.0 and net10.0.
Compatibility
No breaking changes. New surfaces are additive — every new package ships contracts + null + real backends, fail-soft when credentials are absent.