Skip to repository content

tenant.openagents/omega

No repository description is available.

OpenAgents Git authority 2026-07-28T04:01:06.818Z Public web read
NIP-34 coordinate30617:7649603503856e5148d571eac2766b288a8ff1e9e35d380337a1d2b0015b4f92:omega
MaintainersHidden in public view
References2 branches · 1 tag
Read-only clonegit clone https://openagents.com/git/tenant.openagents/omega.git
Browse files

livekit_room.proto

160 lines · 4.5 KB · text
1syntax = "proto3";
2
3package livekit;
4option go_package = "github.com/livekit/protocol/livekit";
5option csharp_namespace = "LiveKit.Proto";
6option ruby_package = "LiveKit::Proto";
7
8import "livekit_models.proto";
9import "livekit_egress.proto";
10
11// Room service that can be performed on any node
12// they are Twirp-based HTTP req/responses
13service RoomService {
14  // Creates a room with settings. Requires `roomCreate` permission.
15  // This method is optional; rooms are automatically created when clients connect to them for the first time.
16  rpc CreateRoom(CreateRoomRequest) returns (Room);
17
18  // List rooms that are active on the server. Requires `roomList` permission.
19  rpc ListRooms(ListRoomsRequest) returns (ListRoomsResponse);
20
21  // Deletes an existing room by name or id. Requires `roomCreate` permission.
22  // DeleteRoom will disconnect all participants that are currently in the room.
23  rpc DeleteRoom(DeleteRoomRequest) returns (DeleteRoomResponse);
24
25  // Lists participants in a room, Requires `roomAdmin`
26  rpc ListParticipants(ListParticipantsRequest) returns (ListParticipantsResponse);
27
28  // Get information on a specific participant, Requires `roomAdmin`
29  rpc GetParticipant(RoomParticipantIdentity) returns (ParticipantInfo);
30
31  // Removes a participant from room. Requires `roomAdmin`
32  rpc RemoveParticipant(RoomParticipantIdentity) returns (RemoveParticipantResponse);
33
34  // Mute/unmute a participant's track, Requires `roomAdmin`
35  rpc MutePublishedTrack(MuteRoomTrackRequest) returns (MuteRoomTrackResponse);
36
37  // Update participant metadata, will cause updates to be broadcasted to everyone in the room. Requires `roomAdmin`
38  rpc UpdateParticipant(UpdateParticipantRequest) returns (ParticipantInfo);
39
40  // Subscribes or unsubscribe a participant from tracks. Requires `roomAdmin`
41  rpc UpdateSubscriptions(UpdateSubscriptionsRequest) returns (UpdateSubscriptionsResponse);
42
43  // Send data over data channel to participants in a room, Requires `roomAdmin`
44  rpc SendData(SendDataRequest) returns (SendDataResponse);
45
46  // Update room metadata, will cause updates to be broadcasted to everyone in the room, Requires `roomAdmin`
47  rpc UpdateRoomMetadata (UpdateRoomMetadataRequest) returns (Room);
48}
49
50message CreateRoomRequest {
51  // name of the room
52  string name = 1;
53  // number of seconds to keep the room open if no one joins
54  uint32 empty_timeout = 2;
55  // limit number of participants that can be in a room
56  uint32 max_participants = 3;
57  // override the node room is allocated to, for debugging
58  string node_id = 4;
59  // metadata of room
60  string metadata = 5;
61  // egress
62  RoomEgress egress = 6;
63}
64
65message RoomEgress {
66  RoomCompositeEgressRequest room = 1;
67  AutoTrackEgress tracks = 2;
68}
69
70message ListRoomsRequest {
71  // when set, will only return rooms with name match
72  repeated string names = 1;
73}
74
75message ListRoomsResponse {
76  repeated Room rooms = 1;
77}
78
79message DeleteRoomRequest {
80  // name of the room
81  string room = 1;
82}
83
84message DeleteRoomResponse {
85}
86
87message ListParticipantsRequest {
88  // name of the room
89  string room = 1;
90}
91
92message ListParticipantsResponse {
93  repeated ParticipantInfo participants = 1;
94}
95
96message RoomParticipantIdentity {
97  // name of the room
98  string room = 1;
99  // identity of the participant
100  string identity = 2;
101}
102
103message RemoveParticipantResponse {
104}
105
106message MuteRoomTrackRequest {
107  // name of the room
108  string room = 1;
109  string identity = 2;
110  // sid of the track to mute
111  string track_sid = 3;
112  // set to true to mute, false to unmute
113  bool muted = 4;
114}
115
116message MuteRoomTrackResponse {
117  TrackInfo track = 1;
118}
119
120message UpdateParticipantRequest {
121  string room = 1;
122  string identity = 2;
123  // metadata to update. skipping updates if left empty
124  string metadata = 3;
125  // set to update the participant's permissions
126  ParticipantPermission permission = 4;
127}
128
129message UpdateSubscriptionsRequest {
130  string room = 1;
131  string identity = 2;
132  // list of sids of tracks
133  repeated string track_sids = 3;
134  // set to true to subscribe, false to unsubscribe from tracks
135  bool subscribe = 4;
136  // list of participants and their tracks
137  repeated ParticipantTracks participant_tracks = 5;
138}
139
140message UpdateSubscriptionsResponse {
141  // empty for now
142}
143
144message SendDataRequest {
145  string room = 1;
146  bytes data = 2;
147  DataPacket.Kind kind = 3;
148  repeated string destination_sids = 4;
149}
150
151message SendDataResponse {
152  //
153}
154
155message UpdateRoomMetadataRequest {
156  string room = 1;
157  // metadata to update. skipping updates if left empty
158  string metadata = 2;
159}
160
Served at tenant.openagents/omega Member data and write actions are omitted.