5 Commits
Author SHA1 Message Date
4fe69554fc fix: channel config secret classification (fixes #58) (#86)
* feat: implement channel config secret security validation (fixes #58)

- Add secret field detection to prevent inline API keys/passwords in channel configs
- Implement config validation that rejects secrets, requires env:VAR_NAME references
- Add response redaction to hide secrets from GET endpoints
- Update examples 20, 22 and seed data to use secure env: pattern
- Covers major secret types: api_key, bot_token, app_password, etc.

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <[email protected]>

* fix: resolve _ref keys in bot startup and add defensive validation

- Add _get_config_secret() helper to resolve bot_token_ref, api_key_ref, app_token_ref
- Update _start_channel_bot() to use new helper for token resolution
- Add defensive input validation to _validate_config_security() and _redact_config_secrets()
- Fix defensive dictionary access in API endpoints (_list, _get)
- Update _resolve_slack_app_token() and test endpoint to use new helper

Fixes critical issue where bots configured with _ref keys could not start.

Co-authored-by: Mervin Praison <[email protected]>

---------

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: Claude <[email protected]>
Co-authored-by: Mervin Praison <[email protected]>
2026-06-15 15:45:58 +01:00
6a8c634031 fix: wire demo seed data into feature showcase (fixes #55) (#83)
* feat: restore demo data seeding in examples 10-12 (fixes #55)

- Update seed_demo_data() to delegate to seed_via_api() using TestClient
- Replaces no-op stub with working implementation
- Ensures examples show populated dashboards on startup
- Uses HTTP API as stable integration surface per architectural principle

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-authored-by: Mervin Praison <[email protected]>

* feat: restore demo data seeding in examples 10-12 (fixes #55)

- Modified seed_demo_data() to call seed_via_api() with TestClient
- Preserves cold import performance with lazy imports (167ms < 200ms)
- Examples now show populated dashboards instead of empty tables
- Maintains backend compatibility via API-based seeding approach

Co-authored-by: Mervin Praison <[email protected]>

* fix: use TestClient as context manager for proper lifespan handling

Co-authored-by: Mervin Praison <[email protected]>

---------

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: Mervin Praison <[email protected]>
Co-authored-by: Mervin Praison <[email protected]>
2026-06-15 15:45:47 +01:00
Mervin Praison 042defac0c ```
feat(examples): add new email bot and email channel examples

Added two new examples: an Email Bot demonstrating IMAP/SMTP
features and an Email Channel for using Email as an AIUI dashboard
channel. Updated README to include links to these new examples.
```
2026-03-16 15:57:21 +00:00
Mervin Praison 728a0791b0 feat(docs): update API documentation and navigation structure
- 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.
2026-03-06 12:06:41 +00:00
Mervin Praison 7aaebf9883 refactor(examples): clean up demo dashboards and improve structure
Removed outdated demo data functions in the full dashboard example and consolidated shared seed data usage. Updated the README to reflect changes in dashboards and documentation structure. Reduced overall lines of code by eliminating unnecessary files and code blocks.
2026-03-06 01:12:49 +00:00