Skip to content

feat(grpc): implement stubbed proto RPCs (WatchSessions, ReplaySession, ForkSession, Export/ImportSession, ExecuteTool) #38

Description

@cidrblock

Summary

The following RPCs are defined in service.proto but return UNIMPLEMENTED in abbenay-service.ts:

RPC Purpose
WatchSessions Server-stream of session lifecycle events (handler closes stream immediately)
ReplaySession Replay a session's message history
ForkSession Create a new session branched from an existing one
ExportSession Export session as portable JSON
ImportSession Import session from portable JSON
ExecuteTool Execute a tool directly (outside of a chat context)

These should either be implemented or removed from the proto to avoid confusion for client implementors.

Proposal

Prioritize based on client needs:

  • High: WatchSessions — useful for real-time UI updates in VS Code
  • Medium: ForkSession, ExportSession, ImportSession — session management features
  • Medium: ExecuteTool — useful for tool testing/debugging UIs
  • Low: ReplaySession — niche use case

If any are not planned, mark them as reserved in the proto with a comment explaining they are not yet available.

Context

Identified during gRPC config parity audit in #32.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions