@stream-io/node-sdk 0.4.7 → 0.4.9

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.
@@ -1,6 +1,6 @@
1
1
  import { BaseApi } from '../../BaseApi';
2
2
  import { StreamResponse } from '../../types';
3
- import { CampaignResponse, CastPollVoteRequest, ChannelGetOrCreateRequest, ChannelStateResponse, CommitMessageRequest, CreateChannelTypeRequest, CreateChannelTypeResponse, CreateCommandRequest, CreateCommandResponse, CreatePollOptionRequest, CreatePollRequest, DeleteChannelResponse, DeleteChannelsRequest, DeleteChannelsResponse, DeleteCommandResponse, DeleteMessageResponse, DeleteSegmentTargetsRequest, EventResponse, ExportChannelsRequest, ExportChannelsResponse, FileUploadRequest, FileUploadResponse, GetCampaignResponse, GetChannelTypeResponse, GetCommandResponse, GetExportChannelsStatusResponse, GetManyMessagesResponse, GetMessageResponse, GetReactionsResponse, GetRepliesResponse, GetSegmentResponse, GetThreadResponse, HideChannelRequest, HideChannelResponse, ImageUploadRequest, ImageUploadResponse, ListChannelTypesResponse, ListCommandsResponse, MarkChannelsReadRequest, MarkReadRequest, MarkReadResponse, MarkUnreadRequest, MembersResponse, MessageActionRequest, MessageResponse, MuteChannelRequest, MuteChannelResponse, PollOptionResponse, PollResponse, PollVoteResponse, PollVotesResponse, QueryBannedUsersPayload, QueryBannedUsersResponse, QueryCampaignsRequest, QueryCampaignsResponse, QueryChannelsRequest, QueryChannelsResponse, QueryMembersPayload, QueryMessageFlagsPayload, QueryMessageFlagsResponse, QueryMessageHistoryRequest, QueryMessageHistoryResponse, QueryPollVotesRequest, QueryPollsRequest, QueryPollsResponse, QueryReactionsRequest, QueryReactionsResponse, QuerySegmentTargetsRequest, QuerySegmentTargetsResponse, QuerySegmentsRequest, QuerySegmentsResponse, QueryThreadsRequest, QueryThreadsResponse, ReactionRemovalResponse, Response, SearchPayload, SearchResponse, SendEventRequest, SendMessageRequest, SendMessageResponse, SendReactionRequest, SendReactionResponse, SendUserCustomEventRequest, ShowChannelRequest, ShowChannelResponse, SortParamRequest, StartCampaignRequest, StartCampaignResponse, StopCampaignRequest, TranslateMessageRequest, TruncateChannelRequest, TruncateChannelResponse, UnmuteChannelRequest, UnmuteResponse, UnreadCountsBatchRequest, UnreadCountsBatchResponse, UpdateChannelPartialRequest, UpdateChannelPartialResponse, UpdateChannelRequest, UpdateChannelResponse, UpdateChannelTypeRequest, UpdateChannelTypeResponse, UpdateCommandRequest, UpdateCommandResponse, UpdateMemberPartialRequest, UpdateMemberPartialResponse, UpdateMessagePartialRequest, UpdateMessagePartialResponse, UpdateMessageRequest, UpdateMessageResponse, UpdatePollOptionRequest, UpdatePollPartialRequest, UpdatePollRequest, UpdateThreadPartialRequest, UpdateThreadPartialResponse, WrappedUnreadCountsResponse } from '../models';
3
+ import { CampaignResponse, CastPollVoteRequest, ChannelGetOrCreateRequest, ChannelStateResponse, CommitMessageRequest, CreateChannelTypeRequest, CreateChannelTypeResponse, CreateCommandRequest, CreateCommandResponse, CreatePollOptionRequest, CreatePollRequest, DeleteChannelResponse, DeleteChannelsRequest, DeleteChannelsResponse, DeleteCommandResponse, DeleteMessageResponse, DeleteReactionResponse, DeleteSegmentTargetsRequest, EventResponse, ExportChannelsRequest, ExportChannelsResponse, FileUploadRequest, FileUploadResponse, GetCampaignResponse, GetChannelTypeResponse, GetCommandResponse, GetExportChannelsStatusResponse, GetManyMessagesResponse, GetMessageResponse, GetReactionsResponse, GetRepliesResponse, GetSegmentResponse, GetThreadResponse, HideChannelRequest, HideChannelResponse, ImageUploadRequest, ImageUploadResponse, ListChannelTypesResponse, ListCommandsResponse, MarkChannelsReadRequest, MarkReadRequest, MarkReadResponse, MarkUnreadRequest, MembersResponse, MessageActionRequest, MessageResponse, MuteChannelRequest, MuteChannelResponse, PollOptionResponse, PollResponse, PollVoteResponse, PollVotesResponse, QueryBannedUsersPayload, QueryBannedUsersResponse, QueryCampaignsRequest, QueryCampaignsResponse, QueryChannelsRequest, QueryChannelsResponse, QueryMembersPayload, QueryMessageFlagsPayload, QueryMessageFlagsResponse, QueryMessageHistoryRequest, QueryMessageHistoryResponse, QueryPollVotesRequest, QueryPollsRequest, QueryPollsResponse, QueryReactionsRequest, QueryReactionsResponse, QuerySegmentTargetsRequest, QuerySegmentTargetsResponse, QuerySegmentsRequest, QuerySegmentsResponse, QueryThreadsRequest, QueryThreadsResponse, Response, SearchPayload, SearchResponse, SendEventRequest, SendMessageRequest, SendMessageResponse, SendReactionRequest, SendReactionResponse, SendUserCustomEventRequest, ShowChannelRequest, ShowChannelResponse, SortParamRequest, StartCampaignRequest, StartCampaignResponse, StopCampaignRequest, TranslateMessageRequest, TruncateChannelRequest, TruncateChannelResponse, UnmuteChannelRequest, UnmuteResponse, UnreadCountsBatchRequest, UnreadCountsBatchResponse, UpdateChannelPartialRequest, UpdateChannelPartialResponse, UpdateChannelRequest, UpdateChannelResponse, UpdateChannelTypeRequest, UpdateChannelTypeResponse, UpdateCommandRequest, UpdateCommandResponse, UpdateMemberPartialRequest, UpdateMemberPartialResponse, UpdateMessagePartialRequest, UpdateMessagePartialResponse, UpdateMessageRequest, UpdateMessageResponse, UpdatePollOptionRequest, UpdatePollPartialRequest, UpdatePollRequest, UpdateThreadPartialRequest, UpdateThreadPartialResponse, WrappedUnreadCountsResponse } from '../models';
4
4
  export declare class ChatApi extends BaseApi {
5
5
  queryCampaigns: (request?: QueryCampaignsRequest) => Promise<StreamResponse<QueryCampaignsResponse>>;
6
6
  getCampaign: (request: {
@@ -149,7 +149,7 @@ export declare class ChatApi extends BaseApi {
149
149
  id: string;
150
150
  type: string;
151
151
  user_id?: string;
152
- }) => Promise<StreamResponse<ReactionRemovalResponse>>;
152
+ }) => Promise<StreamResponse<DeleteReactionResponse>>;
153
153
  getReactions: (request: {
154
154
  id: string;
155
155
  limit?: number;
@@ -560,6 +560,11 @@ export interface CallRejectedEvent {
560
560
  type: string;
561
561
  reason?: string;
562
562
  }
563
+ export interface CallReportResponse {
564
+ score: number;
565
+ ended_at?: Date;
566
+ started_at?: Date;
567
+ }
563
568
  export interface CallRequest {
564
569
  created_by_id?: string;
565
570
  starts_at?: Date;
@@ -817,6 +822,7 @@ export interface CampaignResponse {
817
822
  id: string;
818
823
  name: string;
819
824
  sender_id: string;
825
+ sender_mode: string;
820
826
  skip_push: boolean;
821
827
  skip_webhook: boolean;
822
828
  status: string;
@@ -1661,6 +1667,11 @@ export interface DeleteModerationTemplateResponse {
1661
1667
  export interface DeleteReactionRequest {
1662
1668
  hard_delete?: boolean;
1663
1669
  }
1670
+ export interface DeleteReactionResponse {
1671
+ duration: string;
1672
+ message: MessageResponse;
1673
+ reaction: ReactionResponse;
1674
+ }
1664
1675
  export interface DeleteRecordingResponse {
1665
1676
  duration: string;
1666
1677
  }
@@ -2074,6 +2085,11 @@ export interface GetBlockedUsersResponse {
2074
2085
  duration: string;
2075
2086
  blocks: BlockedUserResponse[];
2076
2087
  }
2088
+ export interface GetCallReportResponse {
2089
+ duration: string;
2090
+ session_id: string;
2091
+ report: ReportResponse;
2092
+ }
2077
2093
  export interface GetCallResponse {
2078
2094
  duration: string;
2079
2095
  members: MemberResponse[];
@@ -3081,6 +3097,10 @@ export interface PaginationParams {
3081
3097
  limit?: number;
3082
3098
  offset?: number;
3083
3099
  }
3100
+ export interface ParticipantReportResponse {
3101
+ sum: number;
3102
+ unique: number;
3103
+ }
3084
3104
  export interface PendingMessageResponse {
3085
3105
  channel?: ChannelResponse;
3086
3106
  message?: MessageResponse;
@@ -3723,11 +3743,6 @@ export interface ReactionNewEvent {
3723
3743
  reaction?: Reaction;
3724
3744
  user?: User;
3725
3745
  }
3726
- export interface ReactionRemovalResponse {
3727
- duration: string;
3728
- message?: Message;
3729
- reaction?: Reaction;
3730
- }
3731
3746
  export interface ReactionRequest {
3732
3747
  type: string;
3733
3748
  created_at?: Date;
@@ -3815,6 +3830,11 @@ export interface ReportByHistogramBucket {
3815
3830
  lower_bound?: Bound;
3816
3831
  upper_bound?: Bound;
3817
3832
  }
3833
+ export interface ReportResponse {
3834
+ call: CallReportResponse;
3835
+ participants: ParticipantReportResponse;
3836
+ user_ratings: UserRatingReportResponse;
3837
+ }
3818
3838
  export interface Response {
3819
3839
  duration: string;
3820
3840
  }
@@ -4872,6 +4892,10 @@ export interface UserMutedEvent {
4872
4892
  target_users?: string[];
4873
4893
  user?: User;
4874
4894
  }
4895
+ export interface UserRatingReportResponse {
4896
+ average: number;
4897
+ count: number;
4898
+ }
4875
4899
  export interface UserReactivatedEvent {
4876
4900
  created_at: Date;
4877
4901
  type: string;
@@ -1,6 +1,6 @@
1
1
  import { VideoApi } from './VideoApi';
2
2
  import { StreamResponse } from '../../types';
3
- import { BlockUserRequest, BlockUserResponse, CollectUserFeedbackRequest, CollectUserFeedbackResponse, DeleteCallRequest, DeleteCallResponse, DeleteRecordingResponse, DeleteTranscriptionResponse, EndCallResponse, GetCallResponse, GetCallStatsResponse, GetOrCreateCallRequest, GetOrCreateCallResponse, GoLiveRequest, GoLiveResponse, ListRecordingsResponse, ListTranscriptionsResponse, MuteUsersRequest, MuteUsersResponse, PinRequest, PinResponse, SendCallEventRequest, SendCallEventResponse, StartClosedCaptionsRequest, StartClosedCaptionsResponse, StartHLSBroadcastingResponse, StartRTMPBroadcastsRequest, StartRTMPBroadcastsResponse, StartRecordingRequest, StartRecordingResponse, StartTranscriptionRequest, StartTranscriptionResponse, StopAllRTMPBroadcastsResponse, StopClosedCaptionsRequest, StopClosedCaptionsResponse, StopHLSBroadcastingResponse, StopLiveRequest, StopLiveResponse, StopRTMPBroadcastsRequest, StopRTMPBroadcastsResponse, StopRecordingResponse, StopTranscriptionRequest, StopTranscriptionResponse, UnblockUserRequest, UnblockUserResponse, UnpinRequest, UnpinResponse, UpdateCallMembersRequest, UpdateCallMembersResponse, UpdateCallRequest, UpdateCallResponse, UpdateUserPermissionsRequest, UpdateUserPermissionsResponse } from '../models';
3
+ import { BlockUserRequest, BlockUserResponse, CollectUserFeedbackRequest, CollectUserFeedbackResponse, DeleteCallRequest, DeleteCallResponse, DeleteRecordingResponse, DeleteTranscriptionResponse, EndCallResponse, GetCallReportResponse, GetCallResponse, GetCallStatsResponse, GetOrCreateCallRequest, GetOrCreateCallResponse, GoLiveRequest, GoLiveResponse, ListRecordingsResponse, ListTranscriptionsResponse, MuteUsersRequest, MuteUsersResponse, PinRequest, PinResponse, SendCallEventRequest, SendCallEventResponse, StartClosedCaptionsRequest, StartClosedCaptionsResponse, StartHLSBroadcastingResponse, StartRTMPBroadcastsRequest, StartRTMPBroadcastsResponse, StartRecordingRequest, StartRecordingResponse, StartTranscriptionRequest, StartTranscriptionResponse, StopAllRTMPBroadcastsResponse, StopClosedCaptionsRequest, StopClosedCaptionsResponse, StopHLSBroadcastingResponse, StopLiveRequest, StopLiveResponse, StopRTMPBroadcastsRequest, StopRTMPBroadcastsResponse, StopRecordingResponse, StopTranscriptionRequest, StopTranscriptionResponse, UnblockUserRequest, UnblockUserResponse, UnpinRequest, UnpinResponse, UpdateCallMembersRequest, UpdateCallMembersResponse, UpdateCallRequest, UpdateCallResponse, UpdateUserPermissionsRequest, UpdateUserPermissionsResponse } from '../models';
4
4
  export declare class CallApi {
5
5
  protected videoApi: VideoApi;
6
6
  readonly type: string;
@@ -26,6 +26,9 @@ export declare class CallApi {
26
26
  muteUsers: (request?: MuteUsersRequest) => Promise<StreamResponse<MuteUsersResponse>>;
27
27
  videoPin: (request: PinRequest) => Promise<StreamResponse<PinResponse>>;
28
28
  listRecordings: () => Promise<StreamResponse<ListRecordingsResponse>>;
29
+ getCallReport: (request?: {
30
+ session_id?: string;
31
+ }) => Promise<StreamResponse<GetCallReportResponse>>;
29
32
  startRTMPBroadcasts: (request: StartRTMPBroadcastsRequest) => Promise<StreamResponse<StartRTMPBroadcastsResponse>>;
30
33
  stopAllRTMPBroadcasts: () => Promise<StreamResponse<StopAllRTMPBroadcastsResponse>>;
31
34
  stopRTMPBroadcast: (request: StopRTMPBroadcastsRequest & {
@@ -1,6 +1,6 @@
1
1
  import { BaseApi } from '../../BaseApi';
2
2
  import { StreamResponse } from '../../types';
3
- import { BlockUserRequest, BlockUserResponse, CollectUserFeedbackRequest, CollectUserFeedbackResponse, CreateCallTypeRequest, CreateCallTypeResponse, DeleteCallRequest, DeleteCallResponse, DeleteRecordingResponse, DeleteTranscriptionResponse, EndCallResponse, GetCallResponse, GetCallStatsResponse, GetCallTypeResponse, GetEdgesResponse, GetOrCreateCallRequest, GetOrCreateCallResponse, GoLiveRequest, GoLiveResponse, ListCallTypeResponse, ListRecordingsResponse, ListTranscriptionsResponse, MuteUsersRequest, MuteUsersResponse, PinRequest, PinResponse, QueryAggregateCallStatsRequest, QueryAggregateCallStatsResponse, QueryCallMembersRequest, QueryCallMembersResponse, QueryCallStatsRequest, QueryCallStatsResponse, QueryCallsRequest, QueryCallsResponse, Response, SendCallEventRequest, SendCallEventResponse, StartClosedCaptionsRequest, StartClosedCaptionsResponse, StartHLSBroadcastingResponse, StartRTMPBroadcastsRequest, StartRTMPBroadcastsResponse, StartRecordingRequest, StartRecordingResponse, StartTranscriptionRequest, StartTranscriptionResponse, StopAllRTMPBroadcastsResponse, StopClosedCaptionsRequest, StopClosedCaptionsResponse, StopHLSBroadcastingResponse, StopLiveRequest, StopLiveResponse, StopRTMPBroadcastsRequest, StopRTMPBroadcastsResponse, StopRecordingResponse, StopTranscriptionRequest, StopTranscriptionResponse, UnblockUserRequest, UnblockUserResponse, UnpinRequest, UnpinResponse, UpdateCallMembersRequest, UpdateCallMembersResponse, UpdateCallRequest, UpdateCallResponse, UpdateCallTypeRequest, UpdateCallTypeResponse, UpdateUserPermissionsRequest, UpdateUserPermissionsResponse } from '../models';
3
+ import { BlockUserRequest, BlockUserResponse, CollectUserFeedbackRequest, CollectUserFeedbackResponse, CreateCallTypeRequest, CreateCallTypeResponse, DeleteCallRequest, DeleteCallResponse, DeleteRecordingResponse, DeleteTranscriptionResponse, EndCallResponse, GetCallReportResponse, GetCallResponse, GetCallStatsResponse, GetCallTypeResponse, GetEdgesResponse, GetOrCreateCallRequest, GetOrCreateCallResponse, GoLiveRequest, GoLiveResponse, ListCallTypeResponse, ListRecordingsResponse, ListTranscriptionsResponse, MuteUsersRequest, MuteUsersResponse, PinRequest, PinResponse, QueryAggregateCallStatsRequest, QueryAggregateCallStatsResponse, QueryCallMembersRequest, QueryCallMembersResponse, QueryCallStatsRequest, QueryCallStatsResponse, QueryCallsRequest, QueryCallsResponse, Response, SendCallEventRequest, SendCallEventResponse, StartClosedCaptionsRequest, StartClosedCaptionsResponse, StartHLSBroadcastingResponse, StartRTMPBroadcastsRequest, StartRTMPBroadcastsResponse, StartRecordingRequest, StartRecordingResponse, StartTranscriptionRequest, StartTranscriptionResponse, StopAllRTMPBroadcastsResponse, StopClosedCaptionsRequest, StopClosedCaptionsResponse, StopHLSBroadcastingResponse, StopLiveRequest, StopLiveResponse, StopRTMPBroadcastsRequest, StopRTMPBroadcastsResponse, StopRecordingResponse, StopTranscriptionRequest, StopTranscriptionResponse, UnblockUserRequest, UnblockUserResponse, UnpinRequest, UnpinResponse, UpdateCallMembersRequest, UpdateCallMembersResponse, UpdateCallRequest, UpdateCallResponse, UpdateCallTypeRequest, UpdateCallTypeResponse, UpdateUserPermissionsRequest, UpdateUserPermissionsResponse } from '../models';
4
4
  export declare class VideoApi extends BaseApi {
5
5
  queryCallMembers: (request: QueryCallMembersRequest) => Promise<StreamResponse<QueryCallMembersResponse>>;
6
6
  queryCallStats: (request?: QueryCallStatsRequest) => Promise<StreamResponse<QueryCallStatsResponse>>;
@@ -61,6 +61,11 @@ export declare class VideoApi extends BaseApi {
61
61
  type: string;
62
62
  id: string;
63
63
  }) => Promise<StreamResponse<ListRecordingsResponse>>;
64
+ getCallReport: (request: {
65
+ type: string;
66
+ id: string;
67
+ session_id?: string;
68
+ }) => Promise<StreamResponse<GetCallReportResponse>>;
64
69
  startRTMPBroadcasts: (request: StartRTMPBroadcastsRequest & {
65
70
  type: string;
66
71
  id: string;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@stream-io/node-sdk",
3
- "version": "0.4.7",
3
+ "version": "0.4.9",
4
4
  "description": "",
5
5
  "exports": {
6
6
  ".": {
@@ -17,6 +17,7 @@ import {
17
17
  DeleteChannelsResponse,
18
18
  DeleteCommandResponse,
19
19
  DeleteMessageResponse,
20
+ DeleteReactionResponse,
20
21
  DeleteSegmentTargetsRequest,
21
22
  EventResponse,
22
23
  ExportChannelsRequest,
@@ -74,7 +75,6 @@ import {
74
75
  QuerySegmentsResponse,
75
76
  QueryThreadsRequest,
76
77
  QueryThreadsResponse,
77
- ReactionRemovalResponse,
78
78
  Response,
79
79
  SearchPayload,
80
80
  SearchResponse,
@@ -1231,7 +1231,7 @@ export class ChatApi extends BaseApi {
1231
1231
  id: string;
1232
1232
  type: string;
1233
1233
  user_id?: string;
1234
- }): Promise<StreamResponse<ReactionRemovalResponse>> => {
1234
+ }): Promise<StreamResponse<DeleteReactionResponse>> => {
1235
1235
  const queryParams = {
1236
1236
  user_id: request?.user_id,
1237
1237
  };
@@ -1241,7 +1241,7 @@ export class ChatApi extends BaseApi {
1241
1241
  };
1242
1242
 
1243
1243
  const response = await this.sendRequest<
1244
- StreamResponse<ReactionRemovalResponse>
1244
+ StreamResponse<DeleteReactionResponse>
1245
1245
  >(
1246
1246
  'DELETE',
1247
1247
  '/api/v2/chat/messages/{id}/reaction/{type}',
@@ -1249,7 +1249,7 @@ export class ChatApi extends BaseApi {
1249
1249
  queryParams,
1250
1250
  );
1251
1251
 
1252
- decoders.ReactionRemovalResponse?.(response.body);
1252
+ decoders.DeleteReactionResponse?.(response.body);
1253
1253
 
1254
1254
  return { ...response.body, metadata: response.metadata };
1255
1255
  };
@@ -153,6 +153,15 @@ decoders.CallRecording = (input?: Record<string, any>) => {
153
153
  return decode(typeMappings, input);
154
154
  };
155
155
 
156
+ decoders.CallReportResponse = (input?: Record<string, any>) => {
157
+ const typeMappings: TypeMapping = {
158
+ ended_at: { type: 'DatetimeType', isSingle: true },
159
+
160
+ started_at: { type: 'DatetimeType', isSingle: true },
161
+ };
162
+ return decode(typeMappings, input);
163
+ };
164
+
156
165
  decoders.CallResponse = (input?: Record<string, any>) => {
157
166
  const typeMappings: TypeMapping = {
158
167
  created_at: { type: 'DatetimeType', isSingle: true },
@@ -566,6 +575,15 @@ decoders.DeleteMessageResponse = (input?: Record<string, any>) => {
566
575
  return decode(typeMappings, input);
567
576
  };
568
577
 
578
+ decoders.DeleteReactionResponse = (input?: Record<string, any>) => {
579
+ const typeMappings: TypeMapping = {
580
+ message: { type: 'MessageResponse', isSingle: true },
581
+
582
+ reaction: { type: 'ReactionResponse', isSingle: true },
583
+ };
584
+ return decode(typeMappings, input);
585
+ };
586
+
569
587
  decoders.Device = (input?: Record<string, any>) => {
570
588
  const typeMappings: TypeMapping = {
571
589
  created_at: { type: 'DatetimeType', isSingle: true },
@@ -1550,15 +1568,6 @@ decoders.ReactionGroupResponse = (input?: Record<string, any>) => {
1550
1568
  return decode(typeMappings, input);
1551
1569
  };
1552
1570
 
1553
- decoders.ReactionRemovalResponse = (input?: Record<string, any>) => {
1554
- const typeMappings: TypeMapping = {
1555
- message: { type: 'Message', isSingle: true },
1556
-
1557
- reaction: { type: 'Reaction', isSingle: true },
1558
- };
1559
- return decode(typeMappings, input);
1560
- };
1561
-
1562
1571
  decoders.ReactionResponse = (input?: Record<string, any>) => {
1563
1572
  const typeMappings: TypeMapping = {
1564
1573
  created_at: { type: 'DatetimeType', isSingle: true },
@@ -988,6 +988,14 @@ export interface CallRejectedEvent {
988
988
  reason?: string;
989
989
  }
990
990
 
991
+ export interface CallReportResponse {
992
+ score: number;
993
+
994
+ ended_at?: Date;
995
+
996
+ started_at?: Date;
997
+ }
998
+
991
999
  export interface CallRequest {
992
1000
  created_by_id?: string;
993
1001
 
@@ -1439,6 +1447,8 @@ export interface CampaignResponse {
1439
1447
 
1440
1448
  sender_id: string;
1441
1449
 
1450
+ sender_mode: string;
1451
+
1442
1452
  skip_push: boolean;
1443
1453
 
1444
1454
  skip_webhook: boolean;
@@ -2899,6 +2909,14 @@ export interface DeleteReactionRequest {
2899
2909
  hard_delete?: boolean;
2900
2910
  }
2901
2911
 
2912
+ export interface DeleteReactionResponse {
2913
+ duration: string;
2914
+
2915
+ message: MessageResponse;
2916
+
2917
+ reaction: ReactionResponse;
2918
+ }
2919
+
2902
2920
  export interface DeleteRecordingResponse {
2903
2921
  duration: string;
2904
2922
  }
@@ -3615,6 +3633,14 @@ export interface GetBlockedUsersResponse {
3615
3633
  blocks: BlockedUserResponse[];
3616
3634
  }
3617
3635
 
3636
+ export interface GetCallReportResponse {
3637
+ duration: string;
3638
+
3639
+ session_id: string;
3640
+
3641
+ report: ReportResponse;
3642
+ }
3643
+
3618
3644
  export interface GetCallResponse {
3619
3645
  duration: string;
3620
3646
 
@@ -5367,6 +5393,12 @@ export interface PaginationParams {
5367
5393
  offset?: number;
5368
5394
  }
5369
5395
 
5396
+ export interface ParticipantReportResponse {
5397
+ sum: number;
5398
+
5399
+ unique: number;
5400
+ }
5401
+
5370
5402
  export interface PendingMessageResponse {
5371
5403
  channel?: ChannelResponse;
5372
5404
 
@@ -6499,14 +6531,6 @@ export interface ReactionNewEvent {
6499
6531
  user?: User;
6500
6532
  }
6501
6533
 
6502
- export interface ReactionRemovalResponse {
6503
- duration: string;
6504
-
6505
- message?: Message;
6506
-
6507
- reaction?: Reaction;
6508
- }
6509
-
6510
6534
  export interface ReactionRequest {
6511
6535
  type: string;
6512
6536
 
@@ -6663,6 +6687,14 @@ export interface ReportByHistogramBucket {
6663
6687
  upper_bound?: Bound;
6664
6688
  }
6665
6689
 
6690
+ export interface ReportResponse {
6691
+ call: CallReportResponse;
6692
+
6693
+ participants: ParticipantReportResponse;
6694
+
6695
+ user_ratings: UserRatingReportResponse;
6696
+ }
6697
+
6666
6698
  export interface Response {
6667
6699
  duration: string;
6668
6700
  }
@@ -8612,6 +8644,12 @@ export interface UserMutedEvent {
8612
8644
  user?: User;
8613
8645
  }
8614
8646
 
8647
+ export interface UserRatingReportResponse {
8648
+ average: number;
8649
+
8650
+ count: number;
8651
+ }
8652
+
8615
8653
  export interface UserReactivatedEvent {
8616
8654
  created_at: Date;
8617
8655
 
@@ -10,6 +10,7 @@ import {
10
10
  DeleteRecordingResponse,
11
11
  DeleteTranscriptionResponse,
12
12
  EndCallResponse,
13
+ GetCallReportResponse,
13
14
  GetCallResponse,
14
15
  GetCallStatsResponse,
15
16
  GetOrCreateCallRequest,
@@ -170,6 +171,16 @@ export class CallApi {
170
171
  return this.videoApi.listRecordings({ id: this.id, type: this.type });
171
172
  };
172
173
 
174
+ getCallReport = (request?: {
175
+ session_id?: string;
176
+ }): Promise<StreamResponse<GetCallReportResponse>> => {
177
+ return this.videoApi.getCallReport({
178
+ id: this.id,
179
+ type: this.type,
180
+ ...request,
181
+ });
182
+ };
183
+
173
184
  startRTMPBroadcasts = (
174
185
  request: StartRTMPBroadcastsRequest,
175
186
  ): Promise<StreamResponse<StartRTMPBroadcastsResponse>> => {
@@ -12,6 +12,7 @@ import {
12
12
  DeleteRecordingResponse,
13
13
  DeleteTranscriptionResponse,
14
14
  EndCallResponse,
15
+ GetCallReportResponse,
15
16
  GetCallResponse,
16
17
  GetCallStatsResponse,
17
18
  GetCallTypeResponse,
@@ -466,6 +467,28 @@ export class VideoApi extends BaseApi {
466
467
  return { ...response.body, metadata: response.metadata };
467
468
  };
468
469
 
470
+ getCallReport = async (request: {
471
+ type: string;
472
+ id: string;
473
+ session_id?: string;
474
+ }): Promise<StreamResponse<GetCallReportResponse>> => {
475
+ const queryParams = {
476
+ session_id: request?.session_id,
477
+ };
478
+ const pathParams = {
479
+ type: request?.type,
480
+ id: request?.id,
481
+ };
482
+
483
+ const response = await this.sendRequest<
484
+ StreamResponse<GetCallReportResponse>
485
+ >('GET', '/api/v2/video/call/{type}/{id}/report', pathParams, queryParams);
486
+
487
+ decoders.GetCallReportResponse?.(response.body);
488
+
489
+ return { ...response.body, metadata: response.metadata };
490
+ };
491
+
469
492
  startRTMPBroadcasts = async (
470
493
  request: StartRTMPBroadcastsRequest & { type: string; id: string },
471
494
  ): Promise<StreamResponse<StartRTMPBroadcastsResponse>> => {