Rewrite RPC mode with typed protocol and client

- Move RPC files to modes/rpc/ directory
- Add properly typed RpcCommand and RpcResponse types
- Expose full AgentSession API via RPC commands:
  - State: get_state
  - Model: set_model, cycle_model, get_available_models
  - Thinking: set_thinking_level, cycle_thinking_level
  - Queue: set_queue_mode
  - Compaction: compact, set_auto_compaction
  - Bash: bash, abort_bash
  - Session: get_session_stats, export_html, switch_session, branch, etc.
- Add RpcClient class for programmatic access
- Rewrite tests to use RpcClient instead of raw process spawning
- All commands support optional correlation ID for request/response matching
This commit is contained in:
Mario Zechner 2025-12-09 14:13:28 +01:00
parent b2e1054e5e
commit 3559a43ba0
7 changed files with 1039 additions and 401 deletions

View file

@ -22,6 +22,8 @@ read README.md, then ask which module(s) to work on. Based on the answer, read t
- NEVER commit unless user asks
## GitHub Issues
When reading issues:
- Always read all comments on the issue
When creating issues:
- Add `pkg:*` labels to indicate which package(s) the issue affects