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
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions