Register a dedicated GET /api/provider/health handler before the SPA
catch-all so API clients receive JSON instead of dashboard HTML. Unmatched
/api/* paths now return a JSON 404 in both the static-mount fallback and the
path:path catch-all. Docs updated to match the implementation schema.
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <[email protected]>
- Add health_utils.py with is_success_status() helper function
- Update CLI health-check command to treat both 'ok' and 'healthy' as success
- Update doctor command health extractor to use shared helper
- Update provider status command to use shared helper
- Add comprehensive unit tests for both status strings
- Document health status values in API documentation
The system now consistently accepts both 'ok' and 'healthy' as success
statuses, eliminating false alarms in CLI and doctor commands while
maintaining compatibility with existing dashboard behavior.
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).
docs(api/components): enhance API documentation and add new examples
Updated the components API reference to include 36 organized components.
Introduced essential component examples such as metric cards, progress bars,
alerts, and more for clarity and usage guidance.
```
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.
Updated `cli.md` to include detailed options for scheduling and guardrails commands. Improved overall clarity in `feature-inventory.md` reflecting CLI command support. Added new helper methods in `guardrails.py` for CLI command registration. Bumped project version to `0.3.55` in `pyproject.toml`.
- Added details on unified runtime config at ~/.praisonaiui/config.yaml.
- Updated API testing instructions to reflect persistence of config changes.
- Documented new "Run" button functionality on dashboard for agents.
- Included details on hot-reload feature and its relationship to config persistence.
Root cause: calling the patched history.pushState triggered React Router's
internal listener, causing it to unmount the entire DOM (<div id='root'></div>
becomes empty). This caused the persistent black screen on sidebar clicks.
Fix:
- nav-intercept.js: save History.prototype.pushState before React patches it,
use nativePushState.call(history, ...) for SPA navigation
- nav-intercept.js: add stopImmediatePropagation to prevent React from
seeing sidebar click events
- nav-intercept.js: normalize all paths with trailing slash
- content-loader.js: add 100ms retry if main.flex-1 missing (React unmount
recovery), fallback to #root if still absent
- content-loader.js: skip homepage paths (handled by homepage.js)
- content-loader.js: remove anti-flicker CSS after SPA navigation
This commit introduces extensive documentation for the component API,
dashboard features, and quick start guides. These additions cover
function usage, layout options, and methods to register pages, enhancing
the developer experience and improving onboarding for new users.
Additionally, minor adjustments were made to existing workflow instructions.
Included a detailed API testing guide in `docs/api/testing.md`, providing
curl commands and descriptions for testing all 16 PraisonAIUI feature APIs.
This serves as a resource for developers to quickly understand and test
the available API endpoints. Also updated example usage in `examples/python/15-dashboard-test/app.py` and made minor adjustments in other files.
- Refactored navigation in `aiui.template.yaml` for improved
organization, adding an "API Reference" tab.
- Updated `features-api.md` with new endpoints and examples,
including enhanced approval management and session handling features.
- Improved clarity and consistency in API request/response examples.
This commit adds comprehensive documentation for new API endpoints related to jobs, schedules, and skills, including examples of request and response payloads. Additionally, it updates the count of built-in features and improves the overall structure and clarity of the API docs.
Added a comprehensive gap implementation prompts document outlining tasks
for the development of the Channel Management and Scheduler dashboard tabs
in PraisonAIUI. Included analysis, implementation steps, and verification
requirements to enhance user experience and functionality within the
application. Additionally, updated several API and frontend components to
support the new features.