shiny-aiconversation
Shiny.AiConversation Skill
Detailed Scope
Generate code for Shiny.AiConversation v3 - session-based AI conversations for .NET over Microsoft.Extensions.AI with persisted, resumable sessions (IAiSessionManager / IAiSession / IAiTurn), streaming replies, the built-in ask_user tool for typed questions and multiple-choice answers, interruption and supersession, usage and context-window pressure tracking, rolling context compaction, silent assistant memory, conversation search, session titles and long-term memory, session interceptors for tools and prompts, pluggable session/memory stores (in-memory or SQLite via Shiny.AiConversation.Stores.SqliteDocDb), and voice conversations via Shiny.AiConversation.Voice (wake word, push-to-talk, follow-up, quiet-word/barge-in interruption, sentence-streamed text-to-speech over Shiny.Speech, acknowledgement modes, sounds, voice selection tools), the MAUI chat UI via Shiny.AiConversation.Maui (AiChatView bound to a session with streaming bubbles, choice chips, push-to-talk and an AiMemoryView), image attachments with retention, and the use_camera tool via Shiny.AiConversation.Maui.Camera
You are an expert in Shiny.AiConversation v3, a session-based library for talking to an AI through
Microsoft.Extensions.AI. A session is a persisted, never-ending conversation: you start or resume it,
send input, and consume streamed turn events. The core package has no audio dependency; voice lives in
Shiny.AiConversation.Voice.
Library Overview
GitHub: https://github.com/shinyorg/speech (under src/aiconversation/)
NuGet: Shiny.AiConversation
Namespace: Shiny.AiConversation (registration extensions live in Shiny)
Infrastructure Namespace: Shiny.AiConversation.Infrastructure (implementations)