swactor/crates/runtime-dashboard/src
Developer bf79d63be4 feat: command interface — frontend-agnostic dispatch crate
Add swactor-command crate that decouples command dispatch from the
dashboard, enabling the same commands from REPL, REST, TUI, or any
future frontend.

- CommandRouter with dispatch(), CommandHandler trait, CommandMeta
- CommandRequest/CommandResponse (serde-serializable JSON protocol)
- CommandContext with Arc<Runtime> + optional StatsEnricher trait
- 9 built-in commands extracted from investigate.rs:
  help, overview, workers, worker, actors, actor, hot, phases, diff,
  shutdown
- REPL line parser (parse_line) with positional arg mapping
- REST adapter (from_query_params) for HTTP query parameters
- Dashboard integration: StatsEnricher impl for StatsCollector,
  investigate.rs refactored to thin CommandRouter wrapper,
  server.rs updated to share CommandRouter across handler threads
- 18 behavioral tests in crates/command/tests/command_api.rs

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-13 07:25:50 +00:00
..
bin feat: distributed runtime (#30) 2026-02-12 09:13:50 +00:00
tui feat: distributed runtime (#30) 2026-02-12 09:13:50 +00:00
actors_html.rs feat: distributed runtime (#30) 2026-02-12 09:13:50 +00:00
collector.rs feat: command interface — frontend-agnostic dispatch crate 2026-02-13 07:25:50 +00:00
dashboard_html.rs feat: distributed runtime (#30) 2026-02-12 09:13:50 +00:00
distribution_collector.rs feat: distributed runtime (#30) 2026-02-12 09:13:50 +00:00
distribution_html.rs feat: distributed runtime (#30) 2026-02-12 09:13:50 +00:00
investigate.rs feat: command interface — frontend-agnostic dispatch crate 2026-02-13 07:25:50 +00:00
layer.rs feat: tui, agent interface, stats hook (#29) 2026-02-11 15:23:26 +00:00
lib.rs feat: distributed runtime (#30) 2026-02-12 09:13:50 +00:00
server.rs feat: command interface — frontend-agnostic dispatch crate 2026-02-13 07:25:50 +00:00
trace.rs feat: runtime dashboard and docs (#23) 2026-02-09 09:04:57 +00:00