jr-common-micro 1.1.89 → 1.1.91

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -24,6 +24,8 @@ export interface ChatGroupDto {
24
24
  post_policy: string;
25
25
  retention_hours: number;
26
26
  viewer_anonymous: boolean;
27
+ voice_policy: string;
28
+ voice_reactions: boolean;
27
29
  }
28
30
  export interface ChatGroupListResponse {
29
31
  status: ResponseStatus | undefined;
@@ -274,6 +276,8 @@ export interface GroupUpsertRequest {
274
276
  is_active: boolean;
275
277
  post_policy: string;
276
278
  retention_hours: number;
279
+ voice_policy: string;
280
+ voice_reactions: string;
277
281
  }
278
282
  export interface SanctionRequest {
279
283
  username: string;
@@ -398,6 +402,8 @@ export interface VoiceAccessResponse {
398
402
  reason: string;
399
403
  group_id: string;
400
404
  group_name: string;
405
+ badges: string[];
406
+ reactions_enabled: boolean;
401
407
  }
402
408
  export interface VoiceSummaryRequest {
403
409
  group_id: string;
@@ -25,6 +25,8 @@ export declare class ChatGroupDto extends Message<ChatGroupDto> {
25
25
  postPolicy: string;
26
26
  retentionHours: number;
27
27
  viewerAnonymous: boolean;
28
+ voicePolicy: string;
29
+ voiceReactions: boolean;
28
30
  constructor(data?: PartialMessage<ChatGroupDto>);
29
31
  static readonly runtime: typeof proto3;
30
32
  static readonly typeName = "micro.v1.chat.ChatGroupDto";
@@ -563,6 +565,8 @@ export declare class GroupUpsertRequest extends Message<GroupUpsertRequest> {
563
565
  isActive: boolean;
564
566
  postPolicy: string;
565
567
  retentionHours: number;
568
+ voicePolicy: string;
569
+ voiceReactions: string;
566
570
  constructor(data?: PartialMessage<GroupUpsertRequest>);
567
571
  static readonly runtime: typeof proto3;
568
572
  static readonly typeName = "micro.v1.chat.GroupUpsertRequest";
@@ -839,6 +843,8 @@ export declare class VoiceAccessResponse extends Message<VoiceAccessResponse> {
839
843
  reason: string;
840
844
  groupId: string;
841
845
  groupName: string;
846
+ badges: string[];
847
+ reactionsEnabled: boolean;
842
848
  constructor(data?: PartialMessage<VoiceAccessResponse>);
843
849
  static readonly runtime: typeof proto3;
844
850
  static readonly typeName = "micro.v1.chat.VoiceAccessResponse";
@@ -28,6 +28,8 @@ class ChatGroupDto extends protobuf_1.Message {
28
28
  postPolicy = "";
29
29
  retentionHours = 0;
30
30
  viewerAnonymous = false;
31
+ voicePolicy = "";
32
+ voiceReactions = false;
31
33
  constructor(data) {
32
34
  super();
33
35
  protobuf_1.proto3.util.initPartial(data, this);
@@ -58,6 +60,8 @@ class ChatGroupDto extends protobuf_1.Message {
58
60
  { no: 21, name: "post_policy", kind: "scalar", T: 9 },
59
61
  { no: 22, name: "retention_hours", kind: "scalar", T: 5 },
60
62
  { no: 23, name: "viewer_anonymous", kind: "scalar", T: 8 },
63
+ { no: 24, name: "voice_policy", kind: "scalar", T: 9 },
64
+ { no: 25, name: "voice_reactions", kind: "scalar", T: 8 },
61
65
  ]);
62
66
  static fromBinary(bytes, options) {
63
67
  return new ChatGroupDto().fromBinary(bytes, options);
@@ -1224,6 +1228,8 @@ class GroupUpsertRequest extends protobuf_1.Message {
1224
1228
  isActive = false;
1225
1229
  postPolicy = "";
1226
1230
  retentionHours = 0;
1231
+ voicePolicy = "";
1232
+ voiceReactions = "";
1227
1233
  constructor(data) {
1228
1234
  super();
1229
1235
  protobuf_1.proto3.util.initPartial(data, this);
@@ -1242,6 +1248,8 @@ class GroupUpsertRequest extends protobuf_1.Message {
1242
1248
  { no: 9, name: "is_active", kind: "scalar", T: 8 },
1243
1249
  { no: 10, name: "post_policy", kind: "scalar", T: 9 },
1244
1250
  { no: 11, name: "retention_hours", kind: "scalar", T: 5 },
1251
+ { no: 12, name: "voice_policy", kind: "scalar", T: 9 },
1252
+ { no: 13, name: "voice_reactions", kind: "scalar", T: 9 },
1245
1253
  ]);
1246
1254
  static fromBinary(bytes, options) {
1247
1255
  return new GroupUpsertRequest().fromBinary(bytes, options);
@@ -1834,6 +1842,8 @@ class VoiceAccessResponse extends protobuf_1.Message {
1834
1842
  reason = "";
1835
1843
  groupId = "";
1836
1844
  groupName = "";
1845
+ badges = [];
1846
+ reactionsEnabled = false;
1837
1847
  constructor(data) {
1838
1848
  super();
1839
1849
  protobuf_1.proto3.util.initPartial(data, this);
@@ -1851,6 +1861,8 @@ class VoiceAccessResponse extends protobuf_1.Message {
1851
1861
  { no: 8, name: "reason", kind: "scalar", T: 9 },
1852
1862
  { no: 9, name: "group_id", kind: "scalar", T: 9 },
1853
1863
  { no: 10, name: "group_name", kind: "scalar", T: 9 },
1864
+ { no: 11, name: "badges", kind: "scalar", T: 9, repeated: true },
1865
+ { no: 12, name: "reactions_enabled", kind: "scalar", T: 8 },
1854
1866
  ]);
1855
1867
  static fromBinary(bytes, options) {
1856
1868
  return new VoiceAccessResponse().fromBinary(bytes, options);
@@ -1,5 +1,5 @@
1
1
  import { ByIdRequest, EmptyRequest, EmptyResponse } from "../general_pb.js";
2
- import { VoiceHandsResponse, VoiceJoinResponse, VoiceRoomByGroupRequest, VoiceRoomIdRequest, VoiceRoomListResponse, VoiceRoomResponse, VoiceSpeakerRequest, VoiceStartRequest } from "./voice_messages_pb.js";
2
+ import { VoiceHandsResponse, VoiceJoinResponse, VoiceReactRequest, VoiceRemindRequest, VoiceRoomByGroupRequest, VoiceRoomIdRequest, VoiceRoomListResponse, VoiceRoomResponse, VoiceSpeakerRequest, VoiceStartRequest } from "./voice_messages_pb.js";
3
3
  import { MethodKind } from "@bufbuild/protobuf";
4
4
  export declare const PVoiceService: {
5
5
  readonly typeName: "micro.v1.voice.PVoiceService";
@@ -58,6 +58,18 @@ export declare const PVoiceService: {
58
58
  readonly O: typeof EmptyResponse;
59
59
  readonly kind: MethodKind.ServerStreaming;
60
60
  };
61
+ readonly react: {
62
+ readonly name: "React";
63
+ readonly I: typeof VoiceReactRequest;
64
+ readonly O: typeof EmptyResponse;
65
+ readonly kind: MethodKind.ServerStreaming;
66
+ };
67
+ readonly remind: {
68
+ readonly name: "Remind";
69
+ readonly I: typeof VoiceRemindRequest;
70
+ readonly O: typeof EmptyResponse;
71
+ readonly kind: MethodKind.ServerStreaming;
72
+ };
61
73
  readonly removeUserData: {
62
74
  readonly name: "RemoveUserData";
63
75
  readonly I: typeof ByIdRequest;
@@ -61,6 +61,18 @@ exports.PVoiceService = {
61
61
  O: general_pb_js_1.EmptyResponse,
62
62
  kind: protobuf_1.MethodKind.ServerStreaming,
63
63
  },
64
+ react: {
65
+ name: "React",
66
+ I: voice_messages_pb_js_1.VoiceReactRequest,
67
+ O: general_pb_js_1.EmptyResponse,
68
+ kind: protobuf_1.MethodKind.ServerStreaming,
69
+ },
70
+ remind: {
71
+ name: "Remind",
72
+ I: voice_messages_pb_js_1.VoiceRemindRequest,
73
+ O: general_pb_js_1.EmptyResponse,
74
+ kind: protobuf_1.MethodKind.ServerStreaming,
75
+ },
64
76
  removeUserData: {
65
77
  name: "RemoveUserData",
66
78
  I: general_pb_js_1.ByIdRequest,
@@ -1,7 +1,7 @@
1
1
  import type { Metadata } from "@grpc/grpc-js";
2
2
  import { Observable } from "rxjs";
3
3
  import { ByIdRequest, EmptyRequest, EmptyResponse } from "../general_nest";
4
- import { VoiceHandsResponse, VoiceJoinResponse, VoiceRoomByGroupRequest, VoiceRoomIdRequest, VoiceRoomListResponse, VoiceRoomResponse, VoiceSpeakerRequest, VoiceStartRequest } from "./voice_messages_nest";
4
+ import { VoiceHandsResponse, VoiceJoinResponse, VoiceReactRequest, VoiceRemindRequest, VoiceRoomByGroupRequest, VoiceRoomIdRequest, VoiceRoomListResponse, VoiceRoomResponse, VoiceSpeakerRequest, VoiceStartRequest } from "./voice_messages_nest";
5
5
  export declare const protobufPackage = "micro.v1.voice";
6
6
  export declare const MICRO_V1_VOICE_PACKAGE_NAME = "micro.v1.voice";
7
7
  export interface PVoiceServiceClient {
@@ -14,6 +14,8 @@ export interface PVoiceServiceClient {
14
14
  lowerHand(request: VoiceRoomIdRequest, metadata?: Metadata): Observable<EmptyResponse>;
15
15
  listHands(request: VoiceRoomIdRequest, metadata?: Metadata): Observable<VoiceHandsResponse>;
16
16
  setSpeaker(request: VoiceSpeakerRequest, metadata?: Metadata): Observable<EmptyResponse>;
17
+ react(request: VoiceReactRequest, metadata?: Metadata): Observable<EmptyResponse>;
18
+ remind(request: VoiceRemindRequest, metadata?: Metadata): Observable<EmptyResponse>;
17
19
  removeUserData(request: ByIdRequest, metadata?: Metadata): Observable<EmptyResponse>;
18
20
  }
19
21
  export interface PVoiceServiceController {
@@ -26,6 +28,8 @@ export interface PVoiceServiceController {
26
28
  lowerHand(request: VoiceRoomIdRequest, metadata?: Metadata): Observable<EmptyResponse>;
27
29
  listHands(request: VoiceRoomIdRequest, metadata?: Metadata): Observable<VoiceHandsResponse>;
28
30
  setSpeaker(request: VoiceSpeakerRequest, metadata?: Metadata): Observable<EmptyResponse>;
31
+ react(request: VoiceReactRequest, metadata?: Metadata): Observable<EmptyResponse>;
32
+ remind(request: VoiceRemindRequest, metadata?: Metadata): Observable<EmptyResponse>;
29
33
  removeUserData(request: ByIdRequest, metadata?: Metadata): Observable<EmptyResponse>;
30
34
  }
31
35
  export declare function PVoiceServiceControllerMethods(): (constructor: Function) => void;
@@ -17,6 +17,8 @@ function PVoiceServiceControllerMethods() {
17
17
  "lowerHand",
18
18
  "listHands",
19
19
  "setSpeaker",
20
+ "react",
21
+ "remind",
20
22
  "removeUserData",
21
23
  ];
22
24
  for (const method of grpcMethods) {
@@ -15,6 +15,14 @@ export interface VoiceRoom {
15
15
  started_at: string;
16
16
  ended_at: string;
17
17
  livekit_room: string;
18
+ reactions_enabled: boolean;
19
+ scheduled_at: string;
20
+ reminder_set: boolean;
21
+ reminder_count: number;
22
+ }
23
+ export interface VoiceReactRequest {
24
+ room_id: string;
25
+ emoji: string;
18
26
  }
19
27
  export interface VoiceRoomByGroupRequest {
20
28
  group_slug: string;
@@ -25,10 +33,17 @@ export interface VoiceRoomIdRequest {
25
33
  export interface VoiceStartRequest {
26
34
  group_slug: string;
27
35
  title: string;
36
+ scheduled_at: string;
37
+ scheduled_id: string;
38
+ }
39
+ export interface VoiceRemindRequest {
40
+ room_id: string;
41
+ on: boolean;
28
42
  }
29
43
  export interface VoiceRoomResponse {
30
44
  status: ResponseStatus | undefined;
31
45
  room?: VoiceRoom | undefined;
46
+ scheduled: VoiceRoom[];
32
47
  }
33
48
  export interface VoiceRoomListResponse {
34
49
  status: ResponseStatus | undefined;
@@ -16,6 +16,10 @@ export declare class VoiceRoom extends Message<VoiceRoom> {
16
16
  startedAt: string;
17
17
  endedAt: string;
18
18
  livekitRoom: string;
19
+ reactionsEnabled: boolean;
20
+ scheduledAt: string;
21
+ reminderSet: boolean;
22
+ reminderCount: number;
19
23
  constructor(data?: PartialMessage<VoiceRoom>);
20
24
  static readonly runtime: typeof proto3;
21
25
  static readonly typeName = "micro.v1.voice.VoiceRoom";
@@ -25,6 +29,18 @@ export declare class VoiceRoom extends Message<VoiceRoom> {
25
29
  static fromJsonString(jsonString: string, options?: Partial<JsonReadOptions>): VoiceRoom;
26
30
  static equals(a: VoiceRoom | PlainMessage<VoiceRoom> | undefined, b: VoiceRoom | PlainMessage<VoiceRoom> | undefined): boolean;
27
31
  }
32
+ export declare class VoiceReactRequest extends Message<VoiceReactRequest> {
33
+ roomId: string;
34
+ emoji: string;
35
+ constructor(data?: PartialMessage<VoiceReactRequest>);
36
+ static readonly runtime: typeof proto3;
37
+ static readonly typeName = "micro.v1.voice.VoiceReactRequest";
38
+ static readonly fields: FieldList;
39
+ static fromBinary(bytes: Uint8Array, options?: Partial<BinaryReadOptions>): VoiceReactRequest;
40
+ static fromJson(jsonValue: JsonValue, options?: Partial<JsonReadOptions>): VoiceReactRequest;
41
+ static fromJsonString(jsonString: string, options?: Partial<JsonReadOptions>): VoiceReactRequest;
42
+ static equals(a: VoiceReactRequest | PlainMessage<VoiceReactRequest> | undefined, b: VoiceReactRequest | PlainMessage<VoiceReactRequest> | undefined): boolean;
43
+ }
28
44
  export declare class VoiceRoomByGroupRequest extends Message<VoiceRoomByGroupRequest> {
29
45
  groupSlug: string;
30
46
  constructor(data?: PartialMessage<VoiceRoomByGroupRequest>);
@@ -50,6 +66,8 @@ export declare class VoiceRoomIdRequest extends Message<VoiceRoomIdRequest> {
50
66
  export declare class VoiceStartRequest extends Message<VoiceStartRequest> {
51
67
  groupSlug: string;
52
68
  title: string;
69
+ scheduledAt: string;
70
+ scheduledId: string;
53
71
  constructor(data?: PartialMessage<VoiceStartRequest>);
54
72
  static readonly runtime: typeof proto3;
55
73
  static readonly typeName = "micro.v1.voice.VoiceStartRequest";
@@ -59,9 +77,22 @@ export declare class VoiceStartRequest extends Message<VoiceStartRequest> {
59
77
  static fromJsonString(jsonString: string, options?: Partial<JsonReadOptions>): VoiceStartRequest;
60
78
  static equals(a: VoiceStartRequest | PlainMessage<VoiceStartRequest> | undefined, b: VoiceStartRequest | PlainMessage<VoiceStartRequest> | undefined): boolean;
61
79
  }
80
+ export declare class VoiceRemindRequest extends Message<VoiceRemindRequest> {
81
+ roomId: string;
82
+ on: boolean;
83
+ constructor(data?: PartialMessage<VoiceRemindRequest>);
84
+ static readonly runtime: typeof proto3;
85
+ static readonly typeName = "micro.v1.voice.VoiceRemindRequest";
86
+ static readonly fields: FieldList;
87
+ static fromBinary(bytes: Uint8Array, options?: Partial<BinaryReadOptions>): VoiceRemindRequest;
88
+ static fromJson(jsonValue: JsonValue, options?: Partial<JsonReadOptions>): VoiceRemindRequest;
89
+ static fromJsonString(jsonString: string, options?: Partial<JsonReadOptions>): VoiceRemindRequest;
90
+ static equals(a: VoiceRemindRequest | PlainMessage<VoiceRemindRequest> | undefined, b: VoiceRemindRequest | PlainMessage<VoiceRemindRequest> | undefined): boolean;
91
+ }
62
92
  export declare class VoiceRoomResponse extends Message<VoiceRoomResponse> {
63
93
  status?: ResponseStatus;
64
94
  room?: VoiceRoom;
95
+ scheduled: VoiceRoom[];
65
96
  constructor(data?: PartialMessage<VoiceRoomResponse>);
66
97
  static readonly runtime: typeof proto3;
67
98
  static readonly typeName = "micro.v1.voice.VoiceRoomResponse";
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.VoiceHandsResponse = exports.VoiceHand = exports.VoiceSpeakerRequest = exports.VoiceJoinResponse = exports.VoiceRoomListResponse = exports.VoiceRoomResponse = exports.VoiceStartRequest = exports.VoiceRoomIdRequest = exports.VoiceRoomByGroupRequest = exports.VoiceRoom = void 0;
3
+ exports.VoiceHandsResponse = exports.VoiceHand = exports.VoiceSpeakerRequest = exports.VoiceJoinResponse = exports.VoiceRoomListResponse = exports.VoiceRoomResponse = exports.VoiceRemindRequest = exports.VoiceStartRequest = exports.VoiceRoomIdRequest = exports.VoiceRoomByGroupRequest = exports.VoiceReactRequest = exports.VoiceRoom = void 0;
4
4
  const protobuf_1 = require("@bufbuild/protobuf");
5
5
  const general_pb_js_1 = require("../general_pb.js");
6
6
  class VoiceRoom extends protobuf_1.Message {
@@ -18,6 +18,10 @@ class VoiceRoom extends protobuf_1.Message {
18
18
  startedAt = "";
19
19
  endedAt = "";
20
20
  livekitRoom = "";
21
+ reactionsEnabled = false;
22
+ scheduledAt = "";
23
+ reminderSet = false;
24
+ reminderCount = 0;
21
25
  constructor(data) {
22
26
  super();
23
27
  protobuf_1.proto3.util.initPartial(data, this);
@@ -39,6 +43,10 @@ class VoiceRoom extends protobuf_1.Message {
39
43
  { no: 12, name: "started_at", kind: "scalar", T: 9 },
40
44
  { no: 13, name: "ended_at", kind: "scalar", T: 9 },
41
45
  { no: 14, name: "livekit_room", kind: "scalar", T: 9 },
46
+ { no: 15, name: "reactions_enabled", kind: "scalar", T: 8 },
47
+ { no: 16, name: "scheduled_at", kind: "scalar", T: 9 },
48
+ { no: 17, name: "reminder_set", kind: "scalar", T: 8 },
49
+ { no: 18, name: "reminder_count", kind: "scalar", T: 5 },
42
50
  ]);
43
51
  static fromBinary(bytes, options) {
44
52
  return new VoiceRoom().fromBinary(bytes, options);
@@ -54,6 +62,33 @@ class VoiceRoom extends protobuf_1.Message {
54
62
  }
55
63
  }
56
64
  exports.VoiceRoom = VoiceRoom;
65
+ class VoiceReactRequest extends protobuf_1.Message {
66
+ roomId = "";
67
+ emoji = "";
68
+ constructor(data) {
69
+ super();
70
+ protobuf_1.proto3.util.initPartial(data, this);
71
+ }
72
+ static runtime = protobuf_1.proto3;
73
+ static typeName = "micro.v1.voice.VoiceReactRequest";
74
+ static fields = protobuf_1.proto3.util.newFieldList(() => [
75
+ { no: 1, name: "room_id", kind: "scalar", T: 9 },
76
+ { no: 2, name: "emoji", kind: "scalar", T: 9 },
77
+ ]);
78
+ static fromBinary(bytes, options) {
79
+ return new VoiceReactRequest().fromBinary(bytes, options);
80
+ }
81
+ static fromJson(jsonValue, options) {
82
+ return new VoiceReactRequest().fromJson(jsonValue, options);
83
+ }
84
+ static fromJsonString(jsonString, options) {
85
+ return new VoiceReactRequest().fromJsonString(jsonString, options);
86
+ }
87
+ static equals(a, b) {
88
+ return protobuf_1.proto3.util.equals(VoiceReactRequest, a, b);
89
+ }
90
+ }
91
+ exports.VoiceReactRequest = VoiceReactRequest;
57
92
  class VoiceRoomByGroupRequest extends protobuf_1.Message {
58
93
  groupSlug = "";
59
94
  constructor(data) {
@@ -107,6 +142,8 @@ exports.VoiceRoomIdRequest = VoiceRoomIdRequest;
107
142
  class VoiceStartRequest extends protobuf_1.Message {
108
143
  groupSlug = "";
109
144
  title = "";
145
+ scheduledAt = "";
146
+ scheduledId = "";
110
147
  constructor(data) {
111
148
  super();
112
149
  protobuf_1.proto3.util.initPartial(data, this);
@@ -116,6 +153,8 @@ class VoiceStartRequest extends protobuf_1.Message {
116
153
  static fields = protobuf_1.proto3.util.newFieldList(() => [
117
154
  { no: 1, name: "group_slug", kind: "scalar", T: 9 },
118
155
  { no: 2, name: "title", kind: "scalar", T: 9 },
156
+ { no: 3, name: "scheduled_at", kind: "scalar", T: 9 },
157
+ { no: 4, name: "scheduled_id", kind: "scalar", T: 9 },
119
158
  ]);
120
159
  static fromBinary(bytes, options) {
121
160
  return new VoiceStartRequest().fromBinary(bytes, options);
@@ -131,9 +170,37 @@ class VoiceStartRequest extends protobuf_1.Message {
131
170
  }
132
171
  }
133
172
  exports.VoiceStartRequest = VoiceStartRequest;
173
+ class VoiceRemindRequest extends protobuf_1.Message {
174
+ roomId = "";
175
+ on = false;
176
+ constructor(data) {
177
+ super();
178
+ protobuf_1.proto3.util.initPartial(data, this);
179
+ }
180
+ static runtime = protobuf_1.proto3;
181
+ static typeName = "micro.v1.voice.VoiceRemindRequest";
182
+ static fields = protobuf_1.proto3.util.newFieldList(() => [
183
+ { no: 1, name: "room_id", kind: "scalar", T: 9 },
184
+ { no: 2, name: "on", kind: "scalar", T: 8 },
185
+ ]);
186
+ static fromBinary(bytes, options) {
187
+ return new VoiceRemindRequest().fromBinary(bytes, options);
188
+ }
189
+ static fromJson(jsonValue, options) {
190
+ return new VoiceRemindRequest().fromJson(jsonValue, options);
191
+ }
192
+ static fromJsonString(jsonString, options) {
193
+ return new VoiceRemindRequest().fromJsonString(jsonString, options);
194
+ }
195
+ static equals(a, b) {
196
+ return protobuf_1.proto3.util.equals(VoiceRemindRequest, a, b);
197
+ }
198
+ }
199
+ exports.VoiceRemindRequest = VoiceRemindRequest;
134
200
  class VoiceRoomResponse extends protobuf_1.Message {
135
201
  status;
136
202
  room;
203
+ scheduled = [];
137
204
  constructor(data) {
138
205
  super();
139
206
  protobuf_1.proto3.util.initPartial(data, this);
@@ -143,6 +210,7 @@ class VoiceRoomResponse extends protobuf_1.Message {
143
210
  static fields = protobuf_1.proto3.util.newFieldList(() => [
144
211
  { no: 1, name: "status", kind: "message", T: general_pb_js_1.ResponseStatus },
145
212
  { no: 2, name: "room", kind: "message", T: VoiceRoom, opt: true },
213
+ { no: 3, name: "scheduled", kind: "message", T: VoiceRoom, repeated: true },
146
214
  ]);
147
215
  static fromBinary(bytes, options) {
148
216
  return new VoiceRoomResponse().fromBinary(bytes, options);
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "jr-common-micro",
3
- "version": "1.1.89",
3
+ "version": "1.1.91",
4
4
  "description": "",
5
5
  "author": "",
6
6
  "private": false,
@@ -40,6 +40,10 @@ message ChatGroupDto {
40
40
  int32 retention_hours = 22;
41
41
  // The viewer posts here as the group (anonymous staff member).
42
42
  bool viewer_anonymous = 23;
43
+ // Who may open a voice room: admins (default) | mods | off
44
+ string voice_policy = 24;
45
+ // Emoji reactions inside the group's voice room.
46
+ bool voice_reactions = 25;
43
47
  }
44
48
 
45
49
  message ChatGroupListResponse {
@@ -411,6 +415,10 @@ message GroupUpsertRequest {
411
415
  // Message retention in hours; 0 = keep forever. Only the values the chat
412
416
  // service whitelists are accepted.
413
417
  int32 retention_hours = 11;
418
+ // admins | mods | off (empty = keep/default admins)
419
+ string voice_policy = 12;
420
+ // on | off (empty = keep/default on)
421
+ string voice_reactions = 13;
414
422
  }
415
423
 
416
424
  message SanctionRequest {
@@ -578,6 +586,10 @@ message VoiceAccessResponse {
578
586
  string reason = 8;
579
587
  string group_id = 9;
580
588
  string group_name = 10;
589
+ // Display badges (gold | premium) for the caller's seat.
590
+ repeated string badges = 11;
591
+ // The group allows emoji reactions in its voice room.
592
+ bool reactions_enabled = 12;
581
593
  }
582
594
 
583
595
  // The "broadcast ended" line the voice service posts into a group as a
@@ -20,6 +20,10 @@ service PVoiceService {
20
20
  rpc ListHands(VoiceRoomIdRequest) returns(stream VoiceHandsResponse) {}
21
21
  // Host: approve | remove | mute | kick
22
22
  rpc SetSpeaker(VoiceSpeakerRequest) returns(stream EmptyResponse) {}
23
+ // Listener: one emoji, rate-limited per person on the service.
24
+ rpc React(VoiceReactRequest) returns(stream EmptyResponse) {}
25
+ // "Remind me" on a scheduled room.
26
+ rpc Remind(VoiceRemindRequest) returns(stream EmptyResponse) {}
23
27
  // Account deletion parity with every other micro.
24
28
  rpc RemoveUserData(ByIdRequest) returns(stream EmptyResponse) {}
25
29
  }
@@ -16,7 +16,7 @@ message VoiceRoom {
16
16
  string title = 5;
17
17
  string host_user_id = 6;
18
18
  string host_username = 7;
19
- // live | ended
19
+ // live | ended | scheduled | cancelled
20
20
  string status = 8;
21
21
  int32 listener_count = 9;
22
22
  int32 speaker_count = 10;
@@ -25,6 +25,21 @@ message VoiceRoom {
25
25
  string ended_at = 13;
26
26
  // LiveKit room name; what the client passes to the SDK.
27
27
  string livekit_room = 14;
28
+ // Emoji reactions allowed (the group's setting when the room opened).
29
+ bool reactions_enabled = 15;
30
+ // Scheduled rooms only: when it is meant to start (RFC 3339, UTC).
31
+ string scheduled_at = 16;
32
+ // Scheduled rooms only: whether the caller asked to be reminded, and how
33
+ // many people did.
34
+ bool reminder_set = 17;
35
+ int32 reminder_count = 18;
36
+ }
37
+
38
+ // A listener's emoji reaction; the service batches them per second and
39
+ // fans the counts out over LiveKit's data channel.
40
+ message VoiceReactRequest {
41
+ string room_id = 1;
42
+ string emoji = 2;
28
43
  }
29
44
 
30
45
  message VoiceRoomByGroupRequest { string group_slug = 1; }
@@ -33,12 +48,24 @@ message VoiceRoomIdRequest { string room_id = 1; }
33
48
  message VoiceStartRequest {
34
49
  string group_slug = 1;
35
50
  string title = 2;
51
+ // Set: do not open a room now, plan one for this instant (RFC 3339).
52
+ string scheduled_at = 3;
53
+ // Set: open the scheduled room with this id now (its title is used).
54
+ string scheduled_id = 4;
55
+ }
56
+
57
+ // A member's "remind me" on a scheduled room (on = false withdraws it).
58
+ message VoiceRemindRequest {
59
+ string room_id = 1;
60
+ bool on = 2;
36
61
  }
37
62
 
38
63
  message VoiceRoomResponse {
39
64
  ResponseStatus status = 1;
40
65
  // Absent when the group has no live room.
41
66
  optional VoiceRoom room = 2;
67
+ // The group's upcoming scheduled rooms, soonest first.
68
+ repeated VoiceRoom scheduled = 3;
42
69
  }
43
70
 
44
71
  message VoiceRoomListResponse {