livekit-server-sdk 1.2.6 → 2.0.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/.changeset/README.md +8 -0
- package/.changeset/config.json +11 -0
- package/.github/workflows/release.yaml +46 -0
- package/.github/workflows/test.yaml +21 -21
- package/.prettierignore +1 -0
- package/CHANGELOG.md +23 -0
- package/NOTICE +13 -0
- package/README.md +47 -13
- package/dist/AccessToken.d.ts +4 -4
- package/dist/AccessToken.js +23 -42
- package/dist/AccessToken.js.map +1 -1
- package/dist/EgressClient.d.ts +21 -2
- package/dist/EgressClient.js +183 -170
- package/dist/EgressClient.js.map +1 -1
- package/dist/IngressClient.d.ts +17 -2
- package/dist/IngressClient.js +68 -89
- package/dist/IngressClient.js.map +1 -1
- package/dist/RoomServiceClient.d.ts +22 -5
- package/dist/RoomServiceClient.js +70 -105
- package/dist/RoomServiceClient.js.map +1 -1
- package/dist/ServiceBase.d.ts +2 -2
- package/dist/ServiceBase.js +5 -8
- package/dist/ServiceBase.js.map +1 -1
- package/dist/TwirpRPC.d.ts +2 -3
- package/dist/TwirpRPC.js +15 -23
- package/dist/TwirpRPC.js.map +1 -1
- package/dist/WebhookReceiver.d.ts +15 -2
- package/dist/WebhookReceiver.js +29 -19
- package/dist/WebhookReceiver.js.map +1 -1
- package/dist/grants.d.ts +2 -1
- package/dist/grants.js +2 -5
- package/dist/grants.js.map +1 -1
- package/dist/index.d.ts +9 -10
- package/dist/index.js +9 -48
- package/dist/index.js.map +1 -1
- package/dist/proto/livekit_egress_pb.d.ts +1650 -0
- package/dist/proto/livekit_egress_pb.js +1878 -0
- package/dist/proto/livekit_egress_pb.js.map +1 -0
- package/dist/proto/livekit_ingress_pb.d.ts +624 -0
- package/dist/proto/livekit_ingress_pb.js +824 -0
- package/dist/proto/livekit_ingress_pb.js.map +1 -0
- package/dist/proto/livekit_models_pb.d.ts +1349 -0
- package/dist/proto/livekit_models_pb.js +1829 -0
- package/dist/proto/livekit_models_pb.js.map +1 -0
- package/dist/proto/livekit_room_pb.d.ts +460 -0
- package/dist/proto/livekit_room_pb.js +695 -0
- package/dist/proto/livekit_room_pb.js.map +1 -0
- package/dist/proto/livekit_webhook_pb.d.ts +70 -0
- package/dist/proto/livekit_webhook_pb.js +76 -0
- package/dist/proto/livekit_webhook_pb.js.map +1 -0
- package/generate-proto.sh +1 -18
- package/package.json +32 -28
- package/tsconfig.eslint.json +2 -1
- package/vite.config.js +8 -0
- package/.github/workflows/publish.yaml +0 -57
- package/dist/AccessToken.test.d.ts +0 -1
- package/dist/AccessToken.test.js +0 -72
- package/dist/AccessToken.test.js.map +0 -1
- package/dist/WebhookReceiver.test.d.ts +0 -1
- package/dist/WebhookReceiver.test.js +0 -39
- package/dist/WebhookReceiver.test.js.map +0 -1
- package/dist/proto/google/protobuf/timestamp.d.ts +0 -132
- package/dist/proto/google/protobuf/timestamp.js +0 -92
- package/dist/proto/google/protobuf/timestamp.js.map +0 -1
- package/dist/proto/livekit_egress.d.ts +0 -11286
- package/dist/proto/livekit_egress.js +0 -2889
- package/dist/proto/livekit_egress.js.map +0 -1
- package/dist/proto/livekit_ingress.d.ts +0 -2249
- package/dist/proto/livekit_ingress.js +0 -1360
- package/dist/proto/livekit_ingress.js.map +0 -1
- package/dist/proto/livekit_models.d.ts +0 -1454
- package/dist/proto/livekit_models.js +0 -3066
- package/dist/proto/livekit_models.js.map +0 -1
- package/dist/proto/livekit_room.d.ts +0 -3316
- package/dist/proto/livekit_room.js +0 -1074
- package/dist/proto/livekit_room.js.map +0 -1
- package/dist/proto/livekit_webhook.d.ts +0 -4899
- package/dist/proto/livekit_webhook.js +0 -179
- package/dist/proto/livekit_webhook.js.map +0 -1
- /package/{.eslintrc.js → .eslintrc.cjs} +0 -0
package/dist/EgressClient.js
CHANGED
|
@@ -1,26 +1,11 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
return new (P || (P = Promise))(function (resolve, reject) {
|
|
5
|
-
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
6
|
-
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
7
|
-
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
8
|
-
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
9
|
-
});
|
|
10
|
-
};
|
|
11
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
12
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
13
|
-
};
|
|
14
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
15
|
-
exports.EgressClient = void 0;
|
|
16
|
-
const livekit_egress_1 = require("./proto/livekit_egress");
|
|
17
|
-
const ServiceBase_1 = __importDefault(require("./ServiceBase"));
|
|
18
|
-
const TwirpRPC_1 = require("./TwirpRPC");
|
|
1
|
+
import { EgressInfo, ListEgressRequest, ListEgressResponse, ParticipantEgressRequest, RoomCompositeEgressRequest, StopEgressRequest, TrackCompositeEgressRequest, TrackEgressRequest, UpdateLayoutRequest, UpdateStreamRequest, WebEgressRequest, } from './proto/livekit_egress_pb.js';
|
|
2
|
+
import ServiceBase from './ServiceBase.js';
|
|
3
|
+
import { livekitPackage, TwirpRpc } from './TwirpRPC.js';
|
|
19
4
|
const svc = 'Egress';
|
|
20
5
|
/**
|
|
21
6
|
* Client to access Egress APIs
|
|
22
7
|
*/
|
|
23
|
-
class EgressClient extends
|
|
8
|
+
export class EgressClient extends ServiceBase {
|
|
24
9
|
/**
|
|
25
10
|
* @param host hostname including protocol. i.e. 'https://cluster.livekit.io'
|
|
26
11
|
* @param apiKey API Key, can be set in env var LIVEKIT_API_KEY
|
|
@@ -28,110 +13,115 @@ class EgressClient extends ServiceBase_1.default {
|
|
|
28
13
|
*/
|
|
29
14
|
constructor(host, apiKey, secret) {
|
|
30
15
|
super(apiKey, secret);
|
|
31
|
-
this.rpc = new
|
|
16
|
+
this.rpc = new TwirpRpc(host, livekitPackage);
|
|
32
17
|
}
|
|
33
|
-
startRoomCompositeEgress(roomName, output, optsOrLayout, options, audioOnly, videoOnly, customBaseUrl) {
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
if (optsOrLayout
|
|
37
|
-
|
|
38
|
-
layout = optsOrLayout;
|
|
39
|
-
}
|
|
40
|
-
else {
|
|
41
|
-
const opts = optsOrLayout;
|
|
42
|
-
layout = opts.layout;
|
|
43
|
-
options = opts.encodingOptions;
|
|
44
|
-
audioOnly = opts.audioOnly;
|
|
45
|
-
videoOnly = opts.videoOnly;
|
|
46
|
-
customBaseUrl = opts.customBaseUrl;
|
|
47
|
-
}
|
|
18
|
+
async startRoomCompositeEgress(roomName, output, optsOrLayout, options, audioOnly, videoOnly, customBaseUrl) {
|
|
19
|
+
let layout;
|
|
20
|
+
if (optsOrLayout !== undefined) {
|
|
21
|
+
if (typeof optsOrLayout === 'string') {
|
|
22
|
+
layout = optsOrLayout;
|
|
48
23
|
}
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
24
|
+
else {
|
|
25
|
+
const opts = optsOrLayout;
|
|
26
|
+
layout = opts.layout;
|
|
27
|
+
options = opts.encodingOptions;
|
|
28
|
+
audioOnly = opts.audioOnly;
|
|
29
|
+
videoOnly = opts.videoOnly;
|
|
30
|
+
customBaseUrl = opts.customBaseUrl;
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
layout !== null && layout !== void 0 ? layout : (layout = '');
|
|
34
|
+
audioOnly !== null && audioOnly !== void 0 ? audioOnly : (audioOnly = false);
|
|
35
|
+
videoOnly !== null && videoOnly !== void 0 ? videoOnly : (videoOnly = false);
|
|
36
|
+
customBaseUrl !== null && customBaseUrl !== void 0 ? customBaseUrl : (customBaseUrl = '');
|
|
37
|
+
const { output: legacyOutput, options: egressOptions, fileOutputs, streamOutputs, segmentOutputs, } = this.getOutputParams(output, options);
|
|
38
|
+
const req = new RoomCompositeEgressRequest({
|
|
39
|
+
roomName,
|
|
40
|
+
layout,
|
|
41
|
+
audioOnly,
|
|
42
|
+
videoOnly,
|
|
43
|
+
customBaseUrl,
|
|
44
|
+
output: legacyOutput,
|
|
45
|
+
options: egressOptions,
|
|
46
|
+
fileOutputs,
|
|
47
|
+
streamOutputs,
|
|
48
|
+
segmentOutputs,
|
|
49
|
+
}).toJson();
|
|
50
|
+
const data = await this.rpc.request(svc, 'StartRoomCompositeEgress', req, await this.authHeader({ roomRecord: true }));
|
|
51
|
+
return EgressInfo.fromJson(data);
|
|
72
52
|
}
|
|
73
53
|
/**
|
|
74
54
|
* @param url url
|
|
75
55
|
* @param output file or stream output
|
|
76
56
|
* @param opts WebOptions
|
|
77
57
|
*/
|
|
78
|
-
startWebEgress(url, output, opts) {
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
segmentOutputs,
|
|
97
|
-
});
|
|
98
|
-
const data = yield this.rpc.request(svc, 'StartWebEgress', req, this.authHeader({ roomRecord: true }));
|
|
99
|
-
return livekit_egress_1.EgressInfo.fromJSON(data);
|
|
100
|
-
});
|
|
58
|
+
async startWebEgress(url, output, opts) {
|
|
59
|
+
const audioOnly = (opts === null || opts === void 0 ? void 0 : opts.audioOnly) || false;
|
|
60
|
+
const videoOnly = (opts === null || opts === void 0 ? void 0 : opts.videoOnly) || false;
|
|
61
|
+
const awaitStartSignal = (opts === null || opts === void 0 ? void 0 : opts.awaitStartSignal) || false;
|
|
62
|
+
const { output: legacyOutput, options, fileOutputs, streamOutputs, segmentOutputs, } = this.getOutputParams(output, opts === null || opts === void 0 ? void 0 : opts.encodingOptions);
|
|
63
|
+
const req = new WebEgressRequest({
|
|
64
|
+
url,
|
|
65
|
+
audioOnly,
|
|
66
|
+
videoOnly,
|
|
67
|
+
awaitStartSignal,
|
|
68
|
+
output: legacyOutput,
|
|
69
|
+
options,
|
|
70
|
+
fileOutputs,
|
|
71
|
+
streamOutputs,
|
|
72
|
+
segmentOutputs,
|
|
73
|
+
}).toJson();
|
|
74
|
+
const data = await this.rpc.request(svc, 'StartWebEgress', req, await this.authHeader({ roomRecord: true }));
|
|
75
|
+
return EgressInfo.fromJson(data);
|
|
101
76
|
}
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
77
|
+
/**
|
|
78
|
+
* Export a participant's audio and video tracks,
|
|
79
|
+
*
|
|
80
|
+
* @param roomName room name
|
|
81
|
+
* @param output one or more outputs
|
|
82
|
+
* @param opts ParticipantEgressOptions
|
|
83
|
+
*/
|
|
84
|
+
async startParticipantEgress(roomName, identity, output, opts) {
|
|
85
|
+
const { options, fileOutputs, streamOutputs, segmentOutputs } = this.getOutputParams(output, opts === null || opts === void 0 ? void 0 : opts.encodingOptions);
|
|
86
|
+
const req = new ParticipantEgressRequest({
|
|
87
|
+
roomName,
|
|
88
|
+
identity,
|
|
89
|
+
options,
|
|
90
|
+
fileOutputs,
|
|
91
|
+
streamOutputs,
|
|
92
|
+
segmentOutputs,
|
|
93
|
+
}).toJson();
|
|
94
|
+
const data = await this.rpc.request(svc, 'StartParticipantEgress', req, this.authHeader({ roomRecord: true }));
|
|
95
|
+
return EgressInfo.fromJson(data);
|
|
96
|
+
}
|
|
97
|
+
async startTrackCompositeEgress(roomName, output, optsOrAudioTrackId, videoTrackId, options) {
|
|
98
|
+
let audioTrackId;
|
|
99
|
+
if (optsOrAudioTrackId !== undefined) {
|
|
100
|
+
if (typeof optsOrAudioTrackId === 'string') {
|
|
101
|
+
audioTrackId = optsOrAudioTrackId;
|
|
102
|
+
}
|
|
103
|
+
else {
|
|
104
|
+
const opts = optsOrAudioTrackId;
|
|
105
|
+
audioTrackId = opts.audioTrackId;
|
|
106
|
+
videoTrackId = opts.videoTrackId;
|
|
107
|
+
options = opts.encodingOptions;
|
|
115
108
|
}
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
const data = yield this.rpc.request(svc, 'StartTrackCompositeEgress', req, this.authHeader({ roomRecord: true }));
|
|
133
|
-
return livekit_egress_1.EgressInfo.fromJSON(data);
|
|
134
|
-
});
|
|
109
|
+
}
|
|
110
|
+
audioTrackId !== null && audioTrackId !== void 0 ? audioTrackId : (audioTrackId = '');
|
|
111
|
+
videoTrackId !== null && videoTrackId !== void 0 ? videoTrackId : (videoTrackId = '');
|
|
112
|
+
const { output: legacyOutput, options: egressOptions, fileOutputs, streamOutputs, segmentOutputs, } = this.getOutputParams(output, options);
|
|
113
|
+
const req = new TrackCompositeEgressRequest({
|
|
114
|
+
roomName,
|
|
115
|
+
audioTrackId,
|
|
116
|
+
videoTrackId,
|
|
117
|
+
output: legacyOutput,
|
|
118
|
+
options: egressOptions,
|
|
119
|
+
fileOutputs,
|
|
120
|
+
streamOutputs,
|
|
121
|
+
segmentOutputs,
|
|
122
|
+
}).toJson();
|
|
123
|
+
const data = await this.rpc.request(svc, 'StartTrackCompositeEgress', req, await this.authHeader({ roomRecord: true }));
|
|
124
|
+
return EgressInfo.fromJson(data);
|
|
135
125
|
}
|
|
136
126
|
isEncodedOutputs(output) {
|
|
137
127
|
return (output.file !== undefined ||
|
|
@@ -150,15 +140,13 @@ class EgressClient extends ServiceBase_1.default {
|
|
|
150
140
|
isStreamOutput(output) {
|
|
151
141
|
return (output.protocol !== undefined || output.urls !== undefined);
|
|
152
142
|
}
|
|
153
|
-
getOutputParams(output,
|
|
143
|
+
getOutputParams(output, opts) {
|
|
154
144
|
let file;
|
|
155
145
|
let fileOutputs;
|
|
156
146
|
let stream;
|
|
157
147
|
let streamOutputs;
|
|
158
148
|
let segments;
|
|
159
149
|
let segmentOutputs;
|
|
160
|
-
let preset;
|
|
161
|
-
let advanced;
|
|
162
150
|
if (this.isEncodedOutputs(output)) {
|
|
163
151
|
if (output.file !== undefined) {
|
|
164
152
|
fileOutputs = [output.file];
|
|
@@ -182,90 +170,115 @@ class EgressClient extends ServiceBase_1.default {
|
|
|
182
170
|
stream = output;
|
|
183
171
|
streamOutputs = [stream];
|
|
184
172
|
}
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
173
|
+
let legacyOutput;
|
|
174
|
+
if (file) {
|
|
175
|
+
legacyOutput = {
|
|
176
|
+
case: 'file',
|
|
177
|
+
value: file,
|
|
178
|
+
};
|
|
179
|
+
}
|
|
180
|
+
else if (stream) {
|
|
181
|
+
legacyOutput = {
|
|
182
|
+
case: 'stream',
|
|
183
|
+
value: stream,
|
|
184
|
+
};
|
|
185
|
+
}
|
|
186
|
+
else if (segments) {
|
|
187
|
+
legacyOutput = {
|
|
188
|
+
case: 'segments',
|
|
189
|
+
value: segments,
|
|
190
|
+
};
|
|
191
|
+
}
|
|
192
|
+
let egressOptions;
|
|
193
|
+
if (opts) {
|
|
194
|
+
if (typeof opts === 'number') {
|
|
195
|
+
egressOptions = {
|
|
196
|
+
case: 'preset',
|
|
197
|
+
value: opts,
|
|
198
|
+
};
|
|
188
199
|
}
|
|
189
200
|
else {
|
|
190
|
-
|
|
201
|
+
egressOptions = {
|
|
202
|
+
case: 'advanced',
|
|
203
|
+
value: opts,
|
|
204
|
+
};
|
|
191
205
|
}
|
|
192
206
|
}
|
|
193
|
-
return {
|
|
207
|
+
return {
|
|
208
|
+
output: legacyOutput,
|
|
209
|
+
options: egressOptions,
|
|
210
|
+
fileOutputs,
|
|
211
|
+
streamOutputs,
|
|
212
|
+
segmentOutputs,
|
|
213
|
+
};
|
|
194
214
|
}
|
|
195
215
|
/**
|
|
196
216
|
* @param roomName room name
|
|
197
217
|
* @param output file or websocket output
|
|
198
218
|
* @param trackId track Id
|
|
199
219
|
*/
|
|
200
|
-
startTrackEgress(roomName, output, trackId) {
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
}
|
|
207
|
-
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
|
|
215
|
-
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
});
|
|
220
|
+
async startTrackEgress(roomName, output, trackId) {
|
|
221
|
+
let legacyOutput;
|
|
222
|
+
if (typeof output === 'string') {
|
|
223
|
+
legacyOutput = {
|
|
224
|
+
case: 'websocketUrl',
|
|
225
|
+
value: output,
|
|
226
|
+
};
|
|
227
|
+
}
|
|
228
|
+
else {
|
|
229
|
+
legacyOutput = {
|
|
230
|
+
case: 'file',
|
|
231
|
+
value: output,
|
|
232
|
+
};
|
|
233
|
+
}
|
|
234
|
+
const req = new TrackEgressRequest({
|
|
235
|
+
roomName,
|
|
236
|
+
trackId,
|
|
237
|
+
output: legacyOutput,
|
|
238
|
+
}).toJson();
|
|
239
|
+
const data = await this.rpc.request(svc, 'StartTrackEgress', req, await this.authHeader({ roomRecord: true }));
|
|
240
|
+
return EgressInfo.fromJson(data);
|
|
219
241
|
}
|
|
220
242
|
/**
|
|
221
243
|
* @param egressId
|
|
222
244
|
* @param layout
|
|
223
245
|
*/
|
|
224
|
-
updateLayout(egressId, layout) {
|
|
225
|
-
|
|
226
|
-
|
|
227
|
-
return livekit_egress_1.EgressInfo.fromJSON(data);
|
|
228
|
-
});
|
|
246
|
+
async updateLayout(egressId, layout) {
|
|
247
|
+
const data = await this.rpc.request(svc, 'UpdateLayout', new UpdateLayoutRequest({ egressId, layout }).toJson(), await this.authHeader({ roomRecord: true }));
|
|
248
|
+
return EgressInfo.fromJson(data);
|
|
229
249
|
}
|
|
230
250
|
/**
|
|
231
251
|
* @param egressId
|
|
232
252
|
* @param addOutputUrls
|
|
233
253
|
* @param removeOutputUrls
|
|
234
254
|
*/
|
|
235
|
-
updateStream(egressId, addOutputUrls, removeOutputUrls) {
|
|
236
|
-
|
|
237
|
-
|
|
238
|
-
|
|
239
|
-
|
|
240
|
-
return livekit_egress_1.EgressInfo.fromJSON(data);
|
|
241
|
-
});
|
|
255
|
+
async updateStream(egressId, addOutputUrls, removeOutputUrls) {
|
|
256
|
+
addOutputUrls !== null && addOutputUrls !== void 0 ? addOutputUrls : (addOutputUrls = []);
|
|
257
|
+
removeOutputUrls !== null && removeOutputUrls !== void 0 ? removeOutputUrls : (removeOutputUrls = []);
|
|
258
|
+
const data = await this.rpc.request(svc, 'UpdateStream', new UpdateStreamRequest({ egressId, addOutputUrls, removeOutputUrls }).toJson(), await this.authHeader({ roomRecord: true }));
|
|
259
|
+
return EgressInfo.fromJson(data);
|
|
242
260
|
}
|
|
243
261
|
/**
|
|
244
262
|
* @param roomName list egress for one room only
|
|
245
263
|
*/
|
|
246
|
-
listEgress(options) {
|
|
264
|
+
async listEgress(options) {
|
|
247
265
|
var _a;
|
|
248
|
-
|
|
249
|
-
|
|
250
|
-
|
|
251
|
-
|
|
252
|
-
|
|
253
|
-
|
|
254
|
-
|
|
255
|
-
|
|
256
|
-
|
|
257
|
-
return (_a = livekit_egress_1.ListEgressResponse.fromJSON(data).items) !== null && _a !== void 0 ? _a : [];
|
|
258
|
-
});
|
|
266
|
+
let req = {};
|
|
267
|
+
if (typeof options === 'string') {
|
|
268
|
+
req.roomName = options;
|
|
269
|
+
}
|
|
270
|
+
else if (options !== undefined) {
|
|
271
|
+
req = options;
|
|
272
|
+
}
|
|
273
|
+
const data = await this.rpc.request(svc, 'ListEgress', new ListEgressRequest(req).toJson(), await this.authHeader({ roomRecord: true }));
|
|
274
|
+
return (_a = ListEgressResponse.fromJson(data).items) !== null && _a !== void 0 ? _a : [];
|
|
259
275
|
}
|
|
260
276
|
/**
|
|
261
277
|
* @param egressId
|
|
262
278
|
*/
|
|
263
|
-
stopEgress(egressId) {
|
|
264
|
-
|
|
265
|
-
|
|
266
|
-
return livekit_egress_1.EgressInfo.fromJSON(data);
|
|
267
|
-
});
|
|
279
|
+
async stopEgress(egressId) {
|
|
280
|
+
const data = await this.rpc.request(svc, 'StopEgress', new StopEgressRequest({ egressId }).toJson(), await this.authHeader({ roomRecord: true }));
|
|
281
|
+
return EgressInfo.fromJson(data);
|
|
268
282
|
}
|
|
269
283
|
}
|
|
270
|
-
exports.EgressClient = EgressClient;
|
|
271
284
|
//# sourceMappingURL=EgressClient.js.map
|
package/dist/EgressClient.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"EgressClient.js","sourceRoot":"","sources":["../src/EgressClient.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"EgressClient.js","sourceRoot":"","sources":["../src/EgressClient.ts"],"names":[],"mappings":"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"}
|
package/dist/IngressClient.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { IngressAudioOptions, IngressInfo, IngressInput, IngressVideoOptions } from './proto/
|
|
2
|
-
import ServiceBase from './ServiceBase';
|
|
1
|
+
import { IngressAudioOptions, IngressInfo, IngressInput, IngressVideoOptions } from './proto/livekit_ingress_pb.js';
|
|
2
|
+
import ServiceBase from './ServiceBase.js';
|
|
3
3
|
export interface CreateIngressOptions {
|
|
4
4
|
/**
|
|
5
5
|
* ingress name. optional
|
|
@@ -64,6 +64,16 @@ export interface UpdateIngressOptions {
|
|
|
64
64
|
*/
|
|
65
65
|
video?: IngressVideoOptions;
|
|
66
66
|
}
|
|
67
|
+
export interface ListIngressOptions {
|
|
68
|
+
/**
|
|
69
|
+
* list ingress for one room only
|
|
70
|
+
*/
|
|
71
|
+
roomName?: string;
|
|
72
|
+
/**
|
|
73
|
+
* list ingress by ID
|
|
74
|
+
*/
|
|
75
|
+
ingressId?: string;
|
|
76
|
+
}
|
|
67
77
|
/**
|
|
68
78
|
* Client to access Ingress APIs
|
|
69
79
|
*/
|
|
@@ -86,9 +96,14 @@ export declare class IngressClient extends ServiceBase {
|
|
|
86
96
|
*/
|
|
87
97
|
updateIngress(ingressId: string, opts: UpdateIngressOptions): Promise<IngressInfo>;
|
|
88
98
|
/**
|
|
99
|
+
* @deprecated use listIngress(opts) instead
|
|
89
100
|
* @param roomName list ingress for one room only
|
|
90
101
|
*/
|
|
91
102
|
listIngress(roomName?: string): Promise<Array<IngressInfo>>;
|
|
103
|
+
/**
|
|
104
|
+
* @param opts list options
|
|
105
|
+
*/
|
|
106
|
+
listIngress(opts?: ListIngressOptions): Promise<Array<IngressInfo>>;
|
|
92
107
|
/**
|
|
93
108
|
* @param ingressId ingress to delete
|
|
94
109
|
*/
|