Refactor to cleanup testing
Currently tests for kas and agentk business logic are mixed with a lot of gRPC interactions. It's hard to make complex changes because tests break in too many places and it's hard to figure out what/why/how to fix. This issue is to track the necessary refactoring.
Proposal: continue down the path of abstracting logical pieces that do the heavy lifting from the business logic by hiding them behind interfaces. Them generate mocks for those interfaces and use them in tests. This will help to remove a lot of mocking for gRPC calls.