Cherry-pick features from development_mik/wasmos branches #8

Merged
timur merged 2 commits from development_cherrypick into development 2026-02-24 00:22:41 +00:00
Owner

Summary

  • Admin auth: hero_auth JWT + ADMIN_TOKEN middleware protecting /rpc endpoint, with fallback to open access in dev mode
  • rpc.discover: JSON-RPC service discovery method returning the OpenRPC spec
  • Plural API key env vars: accepts both OPENAI_API_KEY (singular) and OPENAI_API_KEYS (plural/multi-key) for all providers
  • Chat model dropdown fix: uses models.config instead of models.list so configured models appear even without active backends
  • MCP connection info: setup instructions with copy-to-clipboard for Claude Code and Claude Desktop
  • Port 3385: default port updated per hero_ports registry

Context

Consolidates valuable features from development_mik and development_wasmos into the current HERO architecture on development. Those branches can be deleted.

Test plan

  • cargo check passes (verified locally)
  • Verify admin auth with ADMIN_TOKEN=secret env var — /rpc should require Bearer token
  • Verify admin auth disabled when no ADMIN_TOKEN/HERO_SECRET set (open access)
  • Verify rpc.discover returns the OpenRPC spec
  • Verify chat dropdown populates with configured models
  • Verify MCP tab shows connection info and setup instructions
## Summary - **Admin auth**: hero_auth JWT + ADMIN_TOKEN middleware protecting `/rpc` endpoint, with fallback to open access in dev mode - **rpc.discover**: JSON-RPC service discovery method returning the OpenRPC spec - **Plural API key env vars**: accepts both `OPENAI_API_KEY` (singular) and `OPENAI_API_KEYS` (plural/multi-key) for all providers - **Chat model dropdown fix**: uses `models.config` instead of `models.list` so configured models appear even without active backends - **MCP connection info**: setup instructions with copy-to-clipboard for Claude Code and Claude Desktop - **Port 3385**: default port updated per hero_ports registry ## Context Consolidates valuable features from `development_mik` and `development_wasmos` into the current HERO architecture on `development`. Those branches can be deleted. ## Test plan - [ ] `cargo check` passes (verified locally) - [ ] Verify admin auth with `ADMIN_TOKEN=secret` env var — `/rpc` should require Bearer token - [ ] Verify admin auth disabled when no `ADMIN_TOKEN`/`HERO_SECRET` set (open access) - [ ] Verify `rpc.discover` returns the OpenRPC spec - [ ] Verify chat dropdown populates with configured models - [ ] Verify MCP tab shows connection info and setup instructions
Cherry-pick features from development_mik/wasmos branches
All checks were successful
Build and Test / build-and-test (pull_request) Successful in 1m44s
bda2994e63
- Add hero_auth JWT + ADMIN_TOKEN admin authentication (auth.rs, admin_auth middleware)
- Add rpc.discover JSON-RPC method with OpenRPC spec serving
- Support both singular and plural API key env vars (OPENAI_API_KEY / OPENAI_API_KEYS)
- Fix chat model dropdown to use models.config instead of models.list
- Add MCP connection info, setup instructions, and copy buttons to MCP tab
- Update default port to 3385 per hero_ports registry
- Add rpc.discover to openrpc.json spec

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Remove dotenvy dependency and apply env_secrets standard
All checks were successful
Build and Test / build-and-test (pull_request) Successful in 2m9s
7f3d7bf2b3
The application no longer loads .env files. All environment variables
must be set by the user (e.g., source ~/.config/env.sh) before running.

- Remove dotenvy crate from workspace and all sub-crates
- Remove dotenvy::dotenv() call from Config::load()
- Rewrite .env.example with canonical singular var names
- Fix Makefile docker-run (remove --env-file .env, update port)
- Rewrite README Quick Start with source + make run pattern
- Fix docs (architecture, component-design, deployment) to remove
  all .env file references and dotenvy mentions

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
timur merged commit b638d2b9a6 into development 2026-02-24 00:22:41 +00:00
timur deleted branch development_cherrypick 2026-02-24 00:22:41 +00:00
Sign in to join this conversation.
No reviewers
No labels
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
lhumina_code/hero_aibroker!8
No description provided.