@livekit/rtc-node 0.10.4 → 0.11.0
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.
- package/README.md +54 -2
- package/build.rs +1 -1
- package/dist/audio_frame.d.ts +1 -1
- package/dist/audio_frame.d.ts.map +1 -1
- package/dist/audio_frame.js +4 -4
- package/dist/audio_frame.js.map +1 -1
- package/dist/audio_resampler.d.ts.map +1 -1
- package/dist/audio_resampler.js +8 -7
- package/dist/audio_resampler.js.map +1 -1
- package/dist/audio_source.d.ts.map +1 -1
- package/dist/audio_source.js +8 -4
- package/dist/audio_source.js.map +1 -1
- package/dist/audio_stream.d.ts +1 -1
- package/dist/audio_stream.d.ts.map +1 -1
- package/dist/audio_stream.js +4 -3
- package/dist/audio_stream.js.map +1 -1
- package/dist/e2ee.d.ts.map +1 -1
- package/dist/e2ee.js +25 -25
- package/dist/e2ee.js.map +1 -1
- package/dist/ffi_client.d.ts +3 -3
- package/dist/ffi_client.d.ts.map +1 -1
- package/dist/ffi_client.js +9 -7
- package/dist/ffi_client.js.map +1 -1
- package/dist/index.d.ts +29 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +34 -4
- package/dist/index.js.map +1 -1
- package/dist/napi/native.d.ts +1 -0
- package/dist/participant.d.ts +48 -2
- package/dist/participant.d.ts.map +1 -1
- package/dist/participant.js +143 -24
- package/dist/participant.js.map +1 -1
- package/dist/proto/audio_frame_pb.d.ts +451 -526
- package/dist/proto/audio_frame_pb.d.ts.map +1 -1
- package/dist/proto/audio_frame_pb.js +200 -1179
- package/dist/proto/audio_frame_pb.js.map +1 -1
- package/dist/proto/e2ee_pb.d.ts +264 -333
- package/dist/proto/e2ee_pb.d.ts.map +1 -1
- package/dist/proto/e2ee_pb.js +136 -810
- package/dist/proto/e2ee_pb.js.map +1 -1
- package/dist/proto/ffi_pb.d.ts +175 -129
- package/dist/proto/ffi_pb.d.ts.map +1 -1
- package/dist/proto/ffi_pb.js +58 -395
- package/dist/proto/ffi_pb.js.map +1 -1
- package/dist/proto/handle_pb.d.ts +14 -13
- package/dist/proto/handle_pb.d.ts.map +1 -1
- package/dist/proto/handle_pb.js +8 -39
- package/dist/proto/handle_pb.js.map +1 -1
- package/dist/proto/participant_pb.d.ts +54 -52
- package/dist/proto/participant_pb.d.ts.map +1 -1
- package/dist/proto/participant_pb.js +18 -90
- package/dist/proto/participant_pb.js.map +1 -1
- package/dist/proto/room_pb.d.ts +1042 -1187
- package/dist/proto/room_pb.d.ts.map +1 -1
- package/dist/proto/room_pb.js +470 -2938
- package/dist/proto/room_pb.js.map +1 -1
- package/dist/proto/rpc_pb.d.ts +235 -0
- package/dist/proto/rpc_pb.d.ts.map +1 -0
- package/dist/proto/rpc_pb.js +74 -0
- package/dist/proto/rpc_pb.js.map +1 -0
- package/dist/proto/stats_pb.d.ts +738 -800
- package/dist/proto/stats_pb.d.ts.map +1 -1
- package/dist/proto/stats_pb.js +218 -1960
- package/dist/proto/stats_pb.js.map +1 -1
- package/dist/proto/track_pb.d.ts +225 -258
- package/dist/proto/track_pb.d.ts.map +1 -1
- package/dist/proto/track_pb.js +98 -591
- package/dist/proto/track_pb.js.map +1 -1
- package/dist/proto/video_frame_pb.d.ts +357 -390
- package/dist/proto/video_frame_pb.d.ts.map +1 -1
- package/dist/proto/video_frame_pb.js +137 -790
- package/dist/proto/video_frame_pb.js.map +1 -1
- package/dist/room.d.ts +21 -7
- package/dist/room.d.ts.map +1 -1
- package/dist/room.js +134 -54
- package/dist/room.js.map +1 -1
- package/dist/rpc.d.ts +78 -0
- package/dist/rpc.d.ts.map +1 -0
- package/dist/rpc.js +69 -0
- package/dist/rpc.js.map +1 -0
- package/dist/track.d.ts.map +1 -1
- package/dist/track.js +7 -3
- package/dist/track.js.map +1 -1
- package/dist/track_publication.d.ts.map +1 -1
- package/dist/track_publication.js +3 -2
- package/dist/track_publication.js.map +1 -1
- package/dist/version.d.ts +2 -0
- package/dist/version.d.ts.map +1 -0
- package/dist/version.js +2 -0
- package/dist/version.js.map +1 -0
- package/dist/video_frame.d.ts +2 -2
- package/dist/video_frame.d.ts.map +1 -1
- package/dist/video_frame.js +47 -25
- package/dist/video_frame.js.map +1 -1
- package/dist/video_source.d.ts.map +1 -1
- package/dist/video_source.js +4 -3
- package/dist/video_source.js.map +1 -1
- package/dist/video_stream.d.ts +1 -1
- package/dist/video_stream.d.ts.map +1 -1
- package/dist/video_stream.js +7 -3
- package/dist/video_stream.js.map +1 -1
- package/package.json +13 -10
- package/src/audio_frame.ts +6 -6
- package/src/audio_resampler.ts +10 -9
- package/src/audio_source.ts +9 -8
- package/src/audio_stream.ts +7 -6
- package/src/e2ee.ts +34 -34
- package/src/ffi_client.ts +23 -10
- package/src/index.ts +61 -2
- package/src/napi/native.d.ts +1 -0
- package/src/nodejs.rs +6 -3
- package/src/participant.ts +207 -47
- package/src/proto/audio_frame_pb.ts +562 -1279
- package/src/proto/e2ee_pb.ts +365 -886
- package/src/proto/ffi_pb.ts +206 -405
- package/src/proto/handle_pb.ts +21 -35
- package/src/proto/participant_pb.ts +71 -112
- package/src/proto/room_pb.ts +1284 -2995
- package/src/proto/rpc_pb.ts +310 -0
- package/src/proto/stats_pb.ts +1028 -1947
- package/src/proto/track_pb.ts +287 -621
- package/src/proto/video_frame_pb.ts +445 -905
- package/src/room.ts +181 -75
- package/src/rpc.ts +121 -0
- package/src/track.ts +8 -7
- package/src/track_publication.ts +5 -4
- package/src/version.ts +1 -0
- package/src/video_frame.ts +54 -27
- package/src/video_source.ts +7 -6
- package/src/video_stream.ts +7 -6
- package/dist/utils.d.ts +0 -7
- package/dist/utils.d.ts.map +0 -1
- package/dist/utils.js +0 -48
- package/dist/utils.js.map +0 -1
- package/src/utils.test.ts +0 -47
- package/src/utils.ts +0 -44
package/dist/index.d.ts
CHANGED
|
@@ -1,3 +1,8 @@
|
|
|
1
|
+
import type { MessageInitShape } from '@bufbuild/protobuf';
|
|
2
|
+
import type { AudioEncoding, TrackPublishOptionsSchema, VideoEncoding } from './proto/room_pb.js';
|
|
3
|
+
import { IceServerSchema, type IceServer as IceServerType, type TrackPublishOptions as TrackPublishOptionsType } from './proto/room_pb.js';
|
|
4
|
+
import { TrackSource } from './proto/track_pb.js';
|
|
5
|
+
import { VideoCodec } from './proto/video_frame_pb.js';
|
|
1
6
|
export { Room, RoomEvent, ConnectError, RoomOptions, RtcConfiguration } from './room.js';
|
|
2
7
|
export { Participant, RemoteParticipant, LocalParticipant } from './participant.js';
|
|
3
8
|
export { Track, LocalTrack, RemoteTrack, VideoTrack, LocalAudioTrack, LocalVideoTrack, RemoteAudioTrack, RemoteVideoTrack, AudioTrack, } from './track.js';
|
|
@@ -11,11 +16,34 @@ export { VideoSource } from './video_source.js';
|
|
|
11
16
|
export { TrackPublication, RemoteTrackPublication, LocalTrackPublication, } from './track_publication.js';
|
|
12
17
|
export { Transcription, TranscriptionSegment } from './transcription.js';
|
|
13
18
|
export { E2EEManager, E2EEOptions, KeyProviderOptions, KeyProvider, FrameCryptor } from './e2ee.js';
|
|
14
|
-
export { ConnectionQuality,
|
|
19
|
+
export { ConnectionQuality, IceTransportType, DataPacketKind, ContinualGatheringPolicy, ConnectionState, } from './proto/room_pb.js';
|
|
20
|
+
export { RpcError, type RpcInvocationData, type PerformRpcParams } from './rpc.js';
|
|
15
21
|
export { EncryptionType, EncryptionState } from './proto/e2ee_pb.js';
|
|
16
22
|
export { StreamState, TrackKind, TrackSource } from './proto/track_pb.js';
|
|
17
23
|
export { VideoBufferType, VideoRotation, VideoCodec } from './proto/video_frame_pb.js';
|
|
18
24
|
export { ParticipantKind } from './proto/participant_pb.js';
|
|
19
25
|
export { dispose } from './ffi_client.js';
|
|
20
26
|
export type { ChatMessage } from './types.js';
|
|
27
|
+
type IceServerInit = MessageInitShape<typeof IceServerSchema> & {
|
|
28
|
+
urls: string[];
|
|
29
|
+
};
|
|
30
|
+
export declare class IceServer implements IceServerType {
|
|
31
|
+
$typeName: "livekit.proto.IceServer";
|
|
32
|
+
urls: string[];
|
|
33
|
+
username: string;
|
|
34
|
+
password: string;
|
|
35
|
+
constructor(init: IceServerInit);
|
|
36
|
+
}
|
|
37
|
+
export declare class TrackPublishOptions implements TrackPublishOptionsType {
|
|
38
|
+
$typeName: "livekit.proto.TrackPublishOptions";
|
|
39
|
+
videoCodec: VideoCodec;
|
|
40
|
+
videoEncoding?: VideoEncoding | undefined;
|
|
41
|
+
audioEncoding?: AudioEncoding | undefined;
|
|
42
|
+
dtx: boolean;
|
|
43
|
+
simulcast: boolean;
|
|
44
|
+
source: TrackSource;
|
|
45
|
+
stream: string;
|
|
46
|
+
red: boolean;
|
|
47
|
+
constructor(init?: MessageInitShape<typeof TrackPublishOptionsSchema>);
|
|
48
|
+
}
|
|
21
49
|
//# sourceMappingURL=index.d.ts.map
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
package/dist/index.js
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
1
|
+
import { create } from '@bufbuild/protobuf';
|
|
2
|
+
import { AudioEncodingSchema, IceServerSchema, VideoEncodingSchema, } from './proto/room_pb.js';
|
|
3
|
+
import { TrackSource } from './proto/track_pb.js';
|
|
4
|
+
import { VideoCodec } from './proto/video_frame_pb.js';
|
|
4
5
|
export { Room, RoomEvent, ConnectError } from './room.js';
|
|
5
6
|
export { Participant, RemoteParticipant, LocalParticipant } from './participant.js';
|
|
6
7
|
export { Track, LocalAudioTrack, LocalVideoTrack, RemoteAudioTrack, RemoteVideoTrack, } from './track.js';
|
|
@@ -13,10 +14,39 @@ export { AudioSource } from './audio_source.js';
|
|
|
13
14
|
export { VideoSource } from './video_source.js';
|
|
14
15
|
export { TrackPublication, RemoteTrackPublication, LocalTrackPublication, } from './track_publication.js';
|
|
15
16
|
export { E2EEManager, KeyProvider, FrameCryptor } from './e2ee.js';
|
|
16
|
-
export { ConnectionQuality,
|
|
17
|
+
export { ConnectionQuality, IceTransportType, DataPacketKind, ContinualGatheringPolicy, ConnectionState, } from './proto/room_pb.js';
|
|
18
|
+
export { RpcError } from './rpc.js';
|
|
17
19
|
export { EncryptionType, EncryptionState } from './proto/e2ee_pb.js';
|
|
18
20
|
export { StreamState, TrackKind, TrackSource } from './proto/track_pb.js';
|
|
19
21
|
export { VideoBufferType, VideoRotation, VideoCodec } from './proto/video_frame_pb.js';
|
|
20
22
|
export { ParticipantKind } from './proto/participant_pb.js';
|
|
21
23
|
export { dispose } from './ffi_client.js';
|
|
24
|
+
export class IceServer {
|
|
25
|
+
constructor(init) {
|
|
26
|
+
this.$typeName = 'livekit.proto.IceServer';
|
|
27
|
+
const { urls, username, password } = init;
|
|
28
|
+
this.urls = urls;
|
|
29
|
+
this.username = username ?? '';
|
|
30
|
+
this.password = password ?? '';
|
|
31
|
+
create(IceServerSchema, init);
|
|
32
|
+
}
|
|
33
|
+
}
|
|
34
|
+
export class TrackPublishOptions {
|
|
35
|
+
constructor(init = {}) {
|
|
36
|
+
this.$typeName = 'livekit.proto.TrackPublishOptions';
|
|
37
|
+
const { videoCodec, videoEncoding, audioEncoding, dtx, simulcast, source, stream, red } = init;
|
|
38
|
+
this.videoCodec = videoCodec ?? VideoCodec.VP8;
|
|
39
|
+
if (videoEncoding) {
|
|
40
|
+
this.videoEncoding = create(VideoEncodingSchema, videoEncoding);
|
|
41
|
+
}
|
|
42
|
+
if (audioEncoding) {
|
|
43
|
+
this.audioEncoding = create(AudioEncodingSchema, audioEncoding);
|
|
44
|
+
}
|
|
45
|
+
this.dtx = dtx ?? false;
|
|
46
|
+
this.simulcast = simulcast ?? false;
|
|
47
|
+
this.source = source ?? TrackSource.SOURCE_UNKNOWN;
|
|
48
|
+
this.stream = stream ?? '';
|
|
49
|
+
this.red = red ?? false;
|
|
50
|
+
}
|
|
51
|
+
}
|
|
22
52
|
//# sourceMappingURL=index.js.map
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
package/dist/napi/native.d.ts
CHANGED
|
@@ -6,6 +6,7 @@
|
|
|
6
6
|
export declare function livekitInitialize(
|
|
7
7
|
callback: (data: Uint8Array) => void,
|
|
8
8
|
captureLogs: boolean,
|
|
9
|
+
sdkVersion: string,
|
|
9
10
|
): void;
|
|
10
11
|
export declare function livekitFfiRequest(data: Uint8Array): Uint8Array;
|
|
11
12
|
export declare function livekitRetrievePtr(handle: Uint8Array): bigint;
|
package/dist/participant.d.ts
CHANGED
|
@@ -1,11 +1,12 @@
|
|
|
1
1
|
import { FfiHandle } from './ffi_client.js';
|
|
2
2
|
import type { OwnedParticipant, ParticipantInfo, ParticipantKind } from './proto/participant_pb.js';
|
|
3
|
-
import { TrackPublishOptions } from './proto/room_pb.js';
|
|
3
|
+
import type { TrackPublishOptions } from './proto/room_pb.js';
|
|
4
|
+
import { type PerformRpcParams, type RpcInvocationData } from './rpc.js';
|
|
4
5
|
import type { LocalTrack } from './track.js';
|
|
5
6
|
import type { RemoteTrackPublication, TrackPublication } from './track_publication.js';
|
|
6
7
|
import { LocalTrackPublication } from './track_publication.js';
|
|
7
8
|
import type { Transcription } from './transcription.js';
|
|
8
|
-
import { ChatMessage } from './types.js';
|
|
9
|
+
import type { ChatMessage } from './types.js';
|
|
9
10
|
export declare abstract class Participant {
|
|
10
11
|
/** @internal */
|
|
11
12
|
info: ParticipantInfo;
|
|
@@ -36,6 +37,7 @@ export type DataPublishOptions = {
|
|
|
36
37
|
topic?: string;
|
|
37
38
|
};
|
|
38
39
|
export declare class LocalParticipant extends Participant {
|
|
40
|
+
private rpcHandlers;
|
|
39
41
|
trackPublications: Map<string, LocalTrackPublication>;
|
|
40
42
|
publishData(data: Uint8Array, options: DataPublishOptions): Promise<void>;
|
|
41
43
|
publishDtmf(code: number, digit: string): Promise<void>;
|
|
@@ -58,6 +60,50 @@ export declare class LocalParticipant extends Participant {
|
|
|
58
60
|
setAttributes(attributes: Record<string, string>): Promise<void>;
|
|
59
61
|
publishTrack(track: LocalTrack, options: TrackPublishOptions): Promise<LocalTrackPublication>;
|
|
60
62
|
unpublishTrack(trackSid: string): Promise<void>;
|
|
63
|
+
/**
|
|
64
|
+
* Initiate an RPC call to a remote participant.
|
|
65
|
+
* @param params - Parameters for initiating the RPC call, see {@link PerformRpcParams}
|
|
66
|
+
* @returns A promise that resolves with the response payload or rejects with an error.
|
|
67
|
+
* @throws Error on failure. Details in `message`.
|
|
68
|
+
*/
|
|
69
|
+
performRpc({ destinationIdentity, method, payload, responseTimeout, }: PerformRpcParams): Promise<string>;
|
|
70
|
+
/**
|
|
71
|
+
* Establishes the participant as a receiver for calls of the specified RPC method.
|
|
72
|
+
* Will overwrite any existing callback for the same method.
|
|
73
|
+
*
|
|
74
|
+
* @param method - The name of the indicated RPC method
|
|
75
|
+
* @param handler - Will be invoked when an RPC request for this method is received
|
|
76
|
+
* @returns A promise that resolves when the method is successfully registered
|
|
77
|
+
*
|
|
78
|
+
* @example
|
|
79
|
+
* ```typescript
|
|
80
|
+
* room.localParticipant?.registerRpcMethod(
|
|
81
|
+
* 'greet',
|
|
82
|
+
* async (data: RpcInvocationData) => {
|
|
83
|
+
* console.log(`Received greeting from ${data.callerIdentity}: ${data.payload}`);
|
|
84
|
+
* return `Hello, ${data.callerIdentity}!`;
|
|
85
|
+
* }
|
|
86
|
+
* );
|
|
87
|
+
* ```
|
|
88
|
+
*
|
|
89
|
+
* See {@link RpcInvocationData} for more details on invocation params.
|
|
90
|
+
*
|
|
91
|
+
* The handler should return a Promise that resolves to a string.
|
|
92
|
+
* If unable to respond within `responseTimeout`, the request will result in an error on the caller's side.
|
|
93
|
+
*
|
|
94
|
+
* You may throw errors of type `RpcError` with a string `message` in the handler,
|
|
95
|
+
* and they will be received on the caller's side with the message intact.
|
|
96
|
+
* Other errors thrown in your handler will not be transmitted as-is, and will instead arrive to the caller as `1500` ("Application Error").
|
|
97
|
+
*/
|
|
98
|
+
registerRpcMethod(method: string, handler: (data: RpcInvocationData) => Promise<string>): void;
|
|
99
|
+
/**
|
|
100
|
+
* Unregisters a previously registered RPC method.
|
|
101
|
+
*
|
|
102
|
+
* @param method - The name of the RPC method to unregister
|
|
103
|
+
*/
|
|
104
|
+
unregisterRpcMethod(method: string): void;
|
|
105
|
+
/** @internal */
|
|
106
|
+
handleRpcMethodInvocation(invocationId: bigint, method: string, requestId: string, callerIdentity: string, payload: string, responseTimeout: number): Promise<void>;
|
|
61
107
|
}
|
|
62
108
|
export declare class RemoteParticipant extends Participant {
|
|
63
109
|
trackPublications: Map<string, RemoteTrackPublication>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"participant.d.ts","sourceRoot":"","sources":["../src/participant.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"participant.d.ts","sourceRoot":"","sources":["../src/participant.ts"],"names":[],"mappings":"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"}
|
package/dist/participant.js
CHANGED
|
@@ -1,9 +1,12 @@
|
|
|
1
1
|
// SPDX-FileCopyrightText: 2024 LiveKit, Inc.
|
|
2
2
|
//
|
|
3
3
|
// SPDX-License-Identifier: Apache-2.0
|
|
4
|
+
import { create } from '@bufbuild/protobuf';
|
|
4
5
|
import { FfiClient, FfiHandle } from './ffi_client.js';
|
|
5
|
-
import {
|
|
6
|
-
import {
|
|
6
|
+
import { ChatMessageSchema, EditChatMessageRequestSchema, PublishDataRequestSchema, PublishSipDtmfRequestSchema, PublishTrackRequestSchema, PublishTranscriptionRequestSchema, SendChatMessageRequestSchema, SetLocalAttributesRequestSchema, SetLocalMetadataRequestSchema, SetLocalNameRequestSchema, UnpublishTrackRequestSchema, } from './proto/room_pb.js';
|
|
7
|
+
import { TranscriptionSegmentSchema } from './proto/room_pb.js';
|
|
8
|
+
import { PerformRpcRequestSchema, RegisterRpcMethodRequestSchema, RpcMethodInvocationResponseRequestSchema, UnregisterRpcMethodRequestSchema, } from './proto/rpc_pb.js';
|
|
9
|
+
import { RpcError } from './rpc.js';
|
|
7
10
|
import { LocalTrackPublication } from './track_publication.js';
|
|
8
11
|
export class Participant {
|
|
9
12
|
constructor(owned_info) {
|
|
@@ -33,10 +36,11 @@ export class Participant {
|
|
|
33
36
|
export class LocalParticipant extends Participant {
|
|
34
37
|
constructor() {
|
|
35
38
|
super(...arguments);
|
|
39
|
+
this.rpcHandlers = new Map();
|
|
36
40
|
this.trackPublications = new Map();
|
|
37
41
|
}
|
|
38
42
|
async publishData(data, options) {
|
|
39
|
-
const req =
|
|
43
|
+
const req = create(PublishDataRequestSchema, {
|
|
40
44
|
localParticipantHandle: this.ffi_handle.handle,
|
|
41
45
|
dataPtr: FfiClient.instance.retrievePtr(data),
|
|
42
46
|
dataLen: BigInt(data.byteLength),
|
|
@@ -55,7 +59,7 @@ export class LocalParticipant extends Participant {
|
|
|
55
59
|
}
|
|
56
60
|
}
|
|
57
61
|
async publishDtmf(code, digit) {
|
|
58
|
-
const req =
|
|
62
|
+
const req = create(PublishSipDtmfRequestSchema, {
|
|
59
63
|
localParticipantHandle: this.ffi_handle.handle,
|
|
60
64
|
code,
|
|
61
65
|
digit,
|
|
@@ -71,10 +75,10 @@ export class LocalParticipant extends Participant {
|
|
|
71
75
|
}
|
|
72
76
|
}
|
|
73
77
|
async publishTranscription(transcription) {
|
|
74
|
-
const req =
|
|
78
|
+
const req = create(PublishTranscriptionRequestSchema, {
|
|
75
79
|
localParticipantHandle: this.ffi_handle.handle,
|
|
76
80
|
participantIdentity: transcription.participantIdentity,
|
|
77
|
-
segments: transcription.segments.map((s) =>
|
|
81
|
+
segments: transcription.segments.map((s) => create(TranscriptionSegmentSchema, {
|
|
78
82
|
id: s.id,
|
|
79
83
|
text: s.text,
|
|
80
84
|
startTime: s.startTime,
|
|
@@ -95,7 +99,7 @@ export class LocalParticipant extends Participant {
|
|
|
95
99
|
}
|
|
96
100
|
}
|
|
97
101
|
async updateMetadata(metadata) {
|
|
98
|
-
const req =
|
|
102
|
+
const req = create(SetLocalMetadataRequestSchema, {
|
|
99
103
|
localParticipantHandle: this.ffi_handle.handle,
|
|
100
104
|
metadata: metadata,
|
|
101
105
|
});
|
|
@@ -115,7 +119,7 @@ export class LocalParticipant extends Participant {
|
|
|
115
119
|
*
|
|
116
120
|
*/
|
|
117
121
|
async sendChatMessage(text, destinationIdentities, senderIdentity) {
|
|
118
|
-
const req =
|
|
122
|
+
const req = create(SendChatMessageRequestSchema, {
|
|
119
123
|
localParticipantHandle: this.ffi_handle.handle,
|
|
120
124
|
message: text,
|
|
121
125
|
destinationIdentities,
|
|
@@ -127,20 +131,20 @@ export class LocalParticipant extends Participant {
|
|
|
127
131
|
const cb = await FfiClient.instance.waitFor((ev) => {
|
|
128
132
|
return ev.message.case == 'chatMessage' && ev.message.value.asyncId == res.asyncId;
|
|
129
133
|
});
|
|
130
|
-
if (cb.
|
|
131
|
-
throw new Error(cb.
|
|
134
|
+
if (cb.message.case !== 'chatMessage') {
|
|
135
|
+
throw new Error(cb.message.value ?? 'Unknown Error');
|
|
132
136
|
}
|
|
133
|
-
const { id, timestamp, editTimestamp, message } = cb.
|
|
137
|
+
const { id, timestamp, editTimestamp, message } = cb.message.value;
|
|
134
138
|
return { id, timestamp: Number(timestamp), editTimestamp: Number(editTimestamp), message };
|
|
135
139
|
}
|
|
136
140
|
/**
|
|
137
141
|
* @experimental
|
|
138
142
|
*/
|
|
139
143
|
async editChatMessage(editText, originalMessage, destinationIdentities, senderIdentity) {
|
|
140
|
-
const req =
|
|
144
|
+
const req = create(EditChatMessageRequestSchema, {
|
|
141
145
|
localParticipantHandle: this.ffi_handle.handle,
|
|
142
146
|
editText,
|
|
143
|
-
originalMessage:
|
|
147
|
+
originalMessage: create(ChatMessageSchema, {
|
|
144
148
|
...originalMessage,
|
|
145
149
|
timestamp: BigInt(originalMessage.timestamp),
|
|
146
150
|
editTimestamp: originalMessage.editTimestamp
|
|
@@ -156,14 +160,14 @@ export class LocalParticipant extends Participant {
|
|
|
156
160
|
const cb = await FfiClient.instance.waitFor((ev) => {
|
|
157
161
|
return ev.message.case == 'chatMessage' && ev.message.value.asyncId == res.asyncId;
|
|
158
162
|
});
|
|
159
|
-
if (cb.
|
|
160
|
-
throw new Error(cb.
|
|
163
|
+
if (cb.message.case !== 'chatMessage') {
|
|
164
|
+
throw new Error(cb.message.value ?? 'Unknown Error');
|
|
161
165
|
}
|
|
162
|
-
const { id, timestamp, editTimestamp, message } = cb.
|
|
166
|
+
const { id, timestamp, editTimestamp, message } = cb.message.value;
|
|
163
167
|
return { id, timestamp: Number(timestamp), editTimestamp: Number(editTimestamp), message };
|
|
164
168
|
}
|
|
165
169
|
async updateName(name) {
|
|
166
|
-
const req =
|
|
170
|
+
const req = create(SetLocalNameRequestSchema, {
|
|
167
171
|
localParticipantHandle: this.ffi_handle.handle,
|
|
168
172
|
name: name,
|
|
169
173
|
});
|
|
@@ -175,9 +179,11 @@ export class LocalParticipant extends Participant {
|
|
|
175
179
|
});
|
|
176
180
|
}
|
|
177
181
|
async setAttributes(attributes) {
|
|
178
|
-
const req =
|
|
182
|
+
const req = create(SetLocalAttributesRequestSchema, {
|
|
179
183
|
localParticipantHandle: this.ffi_handle.handle,
|
|
180
|
-
attributes: attributes,
|
|
184
|
+
attributes: Array.from(Object.entries(attributes)).map(([key, value]) => {
|
|
185
|
+
return { key, value };
|
|
186
|
+
}),
|
|
181
187
|
});
|
|
182
188
|
const res = FfiClient.instance.request({
|
|
183
189
|
message: { case: 'setLocalAttributes', value: req },
|
|
@@ -187,7 +193,7 @@ export class LocalParticipant extends Participant {
|
|
|
187
193
|
});
|
|
188
194
|
}
|
|
189
195
|
async publishTrack(track, options) {
|
|
190
|
-
const req =
|
|
196
|
+
const req = create(PublishTrackRequestSchema, {
|
|
191
197
|
localParticipantHandle: this.ffi_handle.handle,
|
|
192
198
|
trackHandle: track.ffi_handle.handle,
|
|
193
199
|
options: options,
|
|
@@ -198,16 +204,16 @@ export class LocalParticipant extends Participant {
|
|
|
198
204
|
const cb = await FfiClient.instance.waitFor((ev) => {
|
|
199
205
|
return ev.message.case == 'publishTrack' && ev.message.value.asyncId == res.asyncId;
|
|
200
206
|
});
|
|
201
|
-
if (cb.
|
|
202
|
-
throw new Error(cb.
|
|
207
|
+
if (cb.message.case !== 'publication') {
|
|
208
|
+
throw new Error(cb.message.value ?? 'Unknown Error');
|
|
203
209
|
}
|
|
204
|
-
const track_publication = new LocalTrackPublication(cb.
|
|
210
|
+
const track_publication = new LocalTrackPublication(cb.message.value);
|
|
205
211
|
track_publication.track = track;
|
|
206
212
|
this.trackPublications.set(track_publication.sid, track_publication);
|
|
207
213
|
return track_publication;
|
|
208
214
|
}
|
|
209
215
|
async unpublishTrack(trackSid) {
|
|
210
|
-
const req =
|
|
216
|
+
const req = create(UnpublishTrackRequestSchema, {
|
|
211
217
|
localParticipantHandle: this.ffi_handle.handle,
|
|
212
218
|
trackSid: trackSid,
|
|
213
219
|
});
|
|
@@ -226,6 +232,119 @@ export class LocalParticipant extends Participant {
|
|
|
226
232
|
}
|
|
227
233
|
this.trackPublications.delete(trackSid);
|
|
228
234
|
}
|
|
235
|
+
/**
|
|
236
|
+
* Initiate an RPC call to a remote participant.
|
|
237
|
+
* @param params - Parameters for initiating the RPC call, see {@link PerformRpcParams}
|
|
238
|
+
* @returns A promise that resolves with the response payload or rejects with an error.
|
|
239
|
+
* @throws Error on failure. Details in `message`.
|
|
240
|
+
*/
|
|
241
|
+
async performRpc({ destinationIdentity, method, payload, responseTimeout, }) {
|
|
242
|
+
const req = create(PerformRpcRequestSchema, {
|
|
243
|
+
localParticipantHandle: this.ffi_handle.handle,
|
|
244
|
+
destinationIdentity,
|
|
245
|
+
method,
|
|
246
|
+
payload,
|
|
247
|
+
responseTimeoutMs: responseTimeout,
|
|
248
|
+
});
|
|
249
|
+
const res = FfiClient.instance.request({
|
|
250
|
+
message: { case: 'performRpc', value: req },
|
|
251
|
+
});
|
|
252
|
+
const cb = await FfiClient.instance.waitFor((ev) => {
|
|
253
|
+
return ev.message.case === 'performRpc' && ev.message.value.asyncId === res.asyncId;
|
|
254
|
+
});
|
|
255
|
+
if (cb.error) {
|
|
256
|
+
throw RpcError.fromProto(cb.error);
|
|
257
|
+
}
|
|
258
|
+
return cb.payload;
|
|
259
|
+
}
|
|
260
|
+
/**
|
|
261
|
+
* Establishes the participant as a receiver for calls of the specified RPC method.
|
|
262
|
+
* Will overwrite any existing callback for the same method.
|
|
263
|
+
*
|
|
264
|
+
* @param method - The name of the indicated RPC method
|
|
265
|
+
* @param handler - Will be invoked when an RPC request for this method is received
|
|
266
|
+
* @returns A promise that resolves when the method is successfully registered
|
|
267
|
+
*
|
|
268
|
+
* @example
|
|
269
|
+
* ```typescript
|
|
270
|
+
* room.localParticipant?.registerRpcMethod(
|
|
271
|
+
* 'greet',
|
|
272
|
+
* async (data: RpcInvocationData) => {
|
|
273
|
+
* console.log(`Received greeting from ${data.callerIdentity}: ${data.payload}`);
|
|
274
|
+
* return `Hello, ${data.callerIdentity}!`;
|
|
275
|
+
* }
|
|
276
|
+
* );
|
|
277
|
+
* ```
|
|
278
|
+
*
|
|
279
|
+
* See {@link RpcInvocationData} for more details on invocation params.
|
|
280
|
+
*
|
|
281
|
+
* The handler should return a Promise that resolves to a string.
|
|
282
|
+
* If unable to respond within `responseTimeout`, the request will result in an error on the caller's side.
|
|
283
|
+
*
|
|
284
|
+
* You may throw errors of type `RpcError` with a string `message` in the handler,
|
|
285
|
+
* and they will be received on the caller's side with the message intact.
|
|
286
|
+
* Other errors thrown in your handler will not be transmitted as-is, and will instead arrive to the caller as `1500` ("Application Error").
|
|
287
|
+
*/
|
|
288
|
+
registerRpcMethod(method, handler) {
|
|
289
|
+
this.rpcHandlers.set(method, handler);
|
|
290
|
+
const req = create(RegisterRpcMethodRequestSchema, {
|
|
291
|
+
localParticipantHandle: this.ffi_handle.handle,
|
|
292
|
+
method,
|
|
293
|
+
});
|
|
294
|
+
FfiClient.instance.request({
|
|
295
|
+
message: { case: 'registerRpcMethod', value: req },
|
|
296
|
+
});
|
|
297
|
+
}
|
|
298
|
+
/**
|
|
299
|
+
* Unregisters a previously registered RPC method.
|
|
300
|
+
*
|
|
301
|
+
* @param method - The name of the RPC method to unregister
|
|
302
|
+
*/
|
|
303
|
+
unregisterRpcMethod(method) {
|
|
304
|
+
this.rpcHandlers.delete(method);
|
|
305
|
+
const req = create(UnregisterRpcMethodRequestSchema, {
|
|
306
|
+
localParticipantHandle: this.ffi_handle.handle,
|
|
307
|
+
method,
|
|
308
|
+
});
|
|
309
|
+
FfiClient.instance.request({
|
|
310
|
+
message: { case: 'unregisterRpcMethod', value: req },
|
|
311
|
+
});
|
|
312
|
+
}
|
|
313
|
+
/** @internal */
|
|
314
|
+
async handleRpcMethodInvocation(invocationId, method, requestId, callerIdentity, payload, responseTimeout) {
|
|
315
|
+
let responseError = null;
|
|
316
|
+
let responsePayload = null;
|
|
317
|
+
const handler = this.rpcHandlers.get(method);
|
|
318
|
+
if (!handler) {
|
|
319
|
+
responseError = RpcError.builtIn('UNSUPPORTED_METHOD');
|
|
320
|
+
}
|
|
321
|
+
else {
|
|
322
|
+
try {
|
|
323
|
+
responsePayload = await handler({ requestId, callerIdentity, payload, responseTimeout });
|
|
324
|
+
}
|
|
325
|
+
catch (error) {
|
|
326
|
+
if (error instanceof RpcError) {
|
|
327
|
+
responseError = error;
|
|
328
|
+
}
|
|
329
|
+
else {
|
|
330
|
+
console.warn(`Uncaught error returned by RPC handler for ${method}. Returning APPLICATION_ERROR instead.`, error);
|
|
331
|
+
responseError = RpcError.builtIn('APPLICATION_ERROR');
|
|
332
|
+
}
|
|
333
|
+
}
|
|
334
|
+
}
|
|
335
|
+
const req = create(RpcMethodInvocationResponseRequestSchema, {
|
|
336
|
+
localParticipantHandle: this.ffi_handle.handle,
|
|
337
|
+
invocationId,
|
|
338
|
+
error: responseError ? responseError.toProto() : undefined,
|
|
339
|
+
payload: responsePayload ?? undefined,
|
|
340
|
+
});
|
|
341
|
+
const res = FfiClient.instance.request({
|
|
342
|
+
message: { case: 'rpcMethodInvocationResponse', value: req },
|
|
343
|
+
});
|
|
344
|
+
if (res.error) {
|
|
345
|
+
console.warn(`error sending rpc method invocation response: ${res.error}`);
|
|
346
|
+
}
|
|
347
|
+
}
|
|
229
348
|
}
|
|
230
349
|
export class RemoteParticipant extends Participant {
|
|
231
350
|
constructor(owned_info) {
|
package/dist/participant.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"participant.js","sourceRoot":"","sources":["../src/participant.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"participant.js","sourceRoot":"","sources":["../src/participant.ts"],"names":[],"mappings":"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"}
|