Files
Drew Newberry fb14110466 feat(cli): add interactive agent REPL with Chat gRPC service
Add `nav agent` command with a client-side REPL that communicates with
LLMs through a new Chat gRPC streaming service on the gateway server and
executes tools by shelling out to `nav` CLI subcommands.

Server-side:
- chat.proto with ChatStream server-streaming RPC, ChatMessage, Tool,
  ToolCall, ContentDelta, and ChatError messages
- ChatService resolves inference routes by routing_hint and delegates to
  protocol-specific translators (OpenAI and Anthropic)
- OpenAI and Anthropic SSE streaming with tool call accumulation
- GrpcRouter extended from 2 to 3 services in the multiplexer

Client-side:
- 9 tools (cluster_status, sandbox CRUD/logs, provider list/get,
  inference_route_list) executed via subprocess shell-out
- Binary resolution via current_exe() with NAV_AGENT_CLI env override
- rustyline-based interactive REPL with multi-turn tool-calling loop
- --routing-hint and --system-prompt CLI arguments

Closes #50
2026-03-01 21:58:33 -08:00
..