New public helpers \u2014 supersede verbose class/setter patterns:
* aiui.prompt(question, *, options, timeout) -> PromptResult
Pause the agent and wait for the user's answer. Supersedes
AskUserMessage. Returns a typed dataclass; truthy on answer, falsy
on timeout. AskUserMessage kept as deprecated alias.
* aiui.error(content, *, details)
Thin helper that emits Message(metadata={'kind': 'error'}) so
users don't need a dedicated ErrorMessage class.
* aiui.configure(branding=, theme=, chat=, custom_css=, custom_js=,
style=, datastore=)
One entry point for server config \u2014 every set_* stays as-is for
advanced control.
UI aliases (legacy names kept with DeprecationWarning, removal 0.5.0):
tooltip_wrap \u2192 tooltip
key_value_list \u2192 definition_list
form_action \u2192 form
Tests: 16/16 new unified-naming tests pass. Full suite: 712/715
(3 pre-existing test-isolation failures, unrelated).
mkdocs --strict still green.
Closes 5 documented gaps from how-to-add-a-feature.md:
- aiui.set_custom_js(path) — inject client JS from Python (new /custom.js route, <script> after plugin-loader). Tests: 10/10
- name= kwarg on all 8 form inputs — stable submit-keys for form_action, avoids label collisions. Tests: 18/18
- Component schema registry — aiui.register_component_schema() + GET /api/components/schemas. Built-in schemas auto-derived from ui.py. Tests: 9/9
- /api/features parallelized via asyncio.gather (warm calls now instant)
- mkdocs build fixed for pygments 2.20 via docs_hooks.py
Other:
- form inputs now emit name + data-label attrs so form_action submit handler collects values correctly (bug fix)
- radio submit handler only stores the checked radio's value
- switch now has hidden checkbox mirror so form_action sees its state
- mkdocs --strict passes
- Example 28 uses the new APIs (no more DevTools console workaround)
- Bump aiui 0.3.107 -> 0.3.108; sync __version__.py
Tests: 542/545 pass (3 pre-existing test-isolation failures unrelated).
Enhanced the README and quickstart guides to better reflect the
capabilities and usage of PraisonAI, including installation steps,
example configurations, and detailed instructions for deploying
the AI dashboard and chat mode. Improved clarity and added
new sections for ease of navigation.