Summary
The current proto covers basic Query/Stream but lacks session management,
multi-agent team RPCs, and structured runtime events. This issue brings
the gRPC API to feature-parity with the Go SDK.
New RPCs to add
service NexusService {
// Sessions
rpc CreateSession(CreateSessionRequest) returns (CreateSessionResponse);
rpc ResumeSession(ResumeSessionRequest) returns (ResumeSessionResponse);
rpc ListSessions(ListSessionsRequest) returns (ListSessionsResponse);
rpc DeleteSession(DeleteSessionRequest) returns (DeleteSessionResponse);
// Multi-agent team
rpc RegisterAgent(RegisterAgentRequest) returns (RegisterAgentResponse);
rpc ListAgents(ListAgentsRequest) returns (ListAgentsResponse);
rpc SendMessage(SendMessageRequest) returns (SendMessageResponse);
rpc GetInbox(GetInboxRequest) returns (GetInboxResponse);
// Streaming events (replaces flat QueryResponse)
rpc RunStream(RunRequest) returns (stream RuntimeEvent);
}
Structured RuntimeEvent
Replace the flat QueryResponse with a typed event union:
message RuntimeEvent {
oneof event {
TextChunkEvent text_chunk = 1;
ToolCallEvent tool_call = 2;
ToolResultEvent tool_result = 3;
ThinkingEvent thinking = 4;
SessionDoneEvent session_done = 5;
ErrorEvent error = 6;
}
}
Acceptance criteria
Summary
The current proto covers basic Query/Stream but lacks session management,
multi-agent team RPCs, and structured runtime events. This issue brings
the gRPC API to feature-parity with the Go SDK.
New RPCs to add
Structured RuntimeEvent
Replace the flat
QueryResponsewith a typed event union:Acceptance criteria
nexus.protowith full message typesQueryandQueryStreamRPCs still workdocs/transports.mdupdated