shinygenui 0.2.0
CRAN release: 2026-09-22
Chat integration
- Require shinychat >= 0.5.0 and ellmer >= 0.4.1. Streaming, cancellation, and attachments are now delegated to
shinychat::chat_server(), which relies on ellmer’s stream controller. Conversation history stays disabled until it can restore the canvas and registry together. The package no longer imports {promises} directly (#17, #21). - Greetings now use the shinychat welcome message API and disappear after the first user message. They remain display only and are not sent to the model (#21).
- Use
shinychat::tool_result_display()for tool results and present tense titles for running tools. The mtcars example uses the input toolbar to keep its prompt buttons above the composer (#21).
Examples
- Example and acceptance test apps now read their model and reasoning effort from the required
SHINYGENUI_MODELandSHINYGENUI_EFFORTenvironment variables instead of relying on defaults (#9). - The
01-mtcars-explorerexample now offers prompt buttons above the chat composer. A click fills and focuses the composer without submitting (#10).
shinygenui 0.1.0
CRAN release: 2026-09-09
New features
- Use
genui_component()to define a component andgenui_catalog()to collect components into a catalog. Each component becomes an ellmer tool with validated arguments. - Use
genui_canvas()andgenui_server()to let the model add components to a running app. The included tools let it update or remove a component, clear the canvas, and inspect the current canvas. - Every call from the model passes through
genui_dispatch()before it can change the canvas. If a call fails, the model receives the error and the Shiny session keeps running. -
genui_components_bslib()provides a value box, Markdown card, data table, scatter plot, and histogram with a slider for the number of bins.genui_card_row()provides a container for arranging these components. -
genui_trace()records each successful call.genui_replay()can rebuild the canvas from that record without an LLM.
