bbsbot 2026-03-19
MCP tools rewritten for direct in-process SwarmManager calls with HTTP fallback and auto-start
9 files · 454+ · 391-

MCP tools with direct manager calls and auto-start

2 files changed
  • control_manager.py Rewritten: direct SwarmManager method calls in-process with HTTP fallback; _ensure_manager() auto-start added
  • app_factory.py Generic undef-terminal-manager MCP tools wired in (90 lines added)
  • Rewrote src/bbsbot/games/tradewars/mcp_tools/control_manager.py: direct SwarmManager method calls when running in-process, HTTP fallback when the manager is a separate process harden internal
    1 file
    • control_manager.py
  • Added _ensure_manager() auto-start function: spawns the manager subprocess on the first MCP tool call and connects a WebSocket for lifecycle tracking — no manual startup required interface internal
    1 file
    • control_manager.py
  • Wired generic undef-terminal-manager MCP tools into src/bbsbot/mcp/app_factory.py (90 lines of additions), giving the AI assistant access to pause, resume, restart, and status tools interface internal
    1 file
    • app_factory.py
  • The control_manager.py module now only adds TradeWars-specific MCP tools; generic operations delegate to the undef-terminal-manager MCP layer interface internal
    1 file
    • control_manager.py

Manager plugin and spawn pipeline cleanup

4 files changed
  • manager_plugin.py game_type renamed to worker_type; game_letter moved to BotStatusTradeWars
  • spawn.py game_letter removed from generic spawn pipeline; game_full abort test removed
  • swarm_manager.py SwarmManager updates for plugin refactor
  • models.py Model updates for worker_type rename
  • Moved game_letter from BotStatusBase to BotStatusTradeWars (game-specific field no longer on base class) decouple internal
    2 files
    • manager_plugin.py
    • models.py
  • Renamed game_typeworker_type in src/bbsbot/games/tradewars/manager_plugin.py decouple internal
    1 file
    • manager_plugin.py
  • Added raw_config parameter to configure_worker_env for passing raw config dicts into worker environment setup baseline internal
    1 file
    • manager_plugin.py
  • Removed game_letter from the generic spawn pipeline in src/bbsbot/api/swarm/spawn.py interface behavioral
    1 file
    • spawn.py
  • Removed game_full abort test (feature removed from the generic manager) qualify behavioral
    1 file
    • test_swarm_routes_events.py