Skip to content

Proto definitions

Status: Current | Last reviewed: 2026-05-28

gRPC service and message definitions live in proto/. Generated stubs are checked in alongside the .proto source.

Catalog

File Service / messages Used by
agent_control.proto AgentControl — test-call, kill-session ai-manager → ai-orchestrator
conversation.api.proto ConversationAPI — frame ingress, lifecycle ai-orchestrator → conversation-api
voice.agent.proto VoiceAgent — session start, audio bidi-stream transports → ai-orchestrator
byova_common.proto Webex BYOVA shared types webex-connector-go
voicevirtualagent.proto Webex VVA service webex-connector-go
moshi.service.proto Moshi (Kyutai) STT/TTS service ai-orchestrator (optional Moshi pipeline)

Generated stubs

Go stubs are checked in (*_grpc.pb.go, *.pb.go). Python and TypeScript stubs are generated at build time:

  • Python: apps/ai-orchestrator/lib/pipecat/grpc/
  • TypeScript: apps/ai-manager/proto/

Regenerate with the per-service make proto (or npm run proto) target.

Conventions

  • Service names are CamelCase and end in the role (Service, API).
  • Streams default to bidi for media, server-streaming for events.
  • Field numbers reserve 1–10 for control headers, 11+ for payload.
  • Versioning: an additive change keeps the same proto; a breaking change creates v2/.

See also