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
CamelCaseand end in the role (Service,API). - Streams default to bidi for media, server-streaming for events.
- Field numbers reserve
1–10for control headers,11+for payload. - Versioning: an additive change keeps the same proto; a breaking change creates
v2/.