livekit-server-sdk 0.5.8 → 1.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.
Files changed (44) hide show
  1. package/.eslintrc.js +1 -1
  2. package/.github/workflows/test.yaml +3 -0
  3. package/.prettierignore +7 -0
  4. package/README.md +13 -9
  5. package/dist/AccessToken.d.ts +5 -0
  6. package/dist/AccessToken.js +7 -1
  7. package/dist/AccessToken.js.map +1 -1
  8. package/dist/AccessToken.test.js +4 -0
  9. package/dist/AccessToken.test.js.map +1 -1
  10. package/dist/EgressClient.d.ts +60 -0
  11. package/dist/EgressClient.js +198 -0
  12. package/dist/EgressClient.js.map +1 -0
  13. package/dist/RecordingServiceClient.js +5 -1
  14. package/dist/RecordingServiceClient.js.map +1 -1
  15. package/dist/RoomServiceClient.d.ts +1 -2
  16. package/dist/RoomServiceClient.js.map +1 -1
  17. package/dist/TwirpRPC.js.map +1 -1
  18. package/dist/WebhookReceiver.test.js.map +1 -1
  19. package/dist/grants.d.ts +4 -1
  20. package/dist/index.d.ts +3 -2
  21. package/dist/index.js +5 -2
  22. package/dist/index.js.map +1 -1
  23. package/dist/proto/google/protobuf/empty.d.ts +6 -2
  24. package/dist/proto/google/protobuf/empty.js +32 -12
  25. package/dist/proto/google/protobuf/empty.js.map +1 -1
  26. package/dist/proto/google/protobuf/timestamp.d.ts +132 -0
  27. package/dist/proto/google/protobuf/timestamp.js +107 -0
  28. package/dist/proto/google/protobuf/timestamp.js.map +1 -0
  29. package/dist/proto/livekit_egress.d.ts +2283 -0
  30. package/dist/proto/livekit_egress.js +1819 -0
  31. package/dist/proto/livekit_egress.js.map +1 -0
  32. package/dist/proto/livekit_models.d.ts +675 -13
  33. package/dist/proto/livekit_models.js +1414 -838
  34. package/dist/proto/livekit_models.js.map +1 -1
  35. package/dist/proto/livekit_recording.d.ts +199 -17
  36. package/dist/proto/livekit_recording.js +284 -570
  37. package/dist/proto/livekit_recording.js.map +1 -1
  38. package/dist/proto/livekit_room.d.ts +566 -34
  39. package/dist/proto/livekit_room.js +302 -671
  40. package/dist/proto/livekit_room.js.map +1 -1
  41. package/dist/proto/livekit_webhook.d.ts +1031 -6
  42. package/dist/proto/livekit_webhook.js +106 -95
  43. package/dist/proto/livekit_webhook.js.map +1 -1
  44. package/package.json +12 -7
package/.eslintrc.js CHANGED
@@ -1,5 +1,5 @@
1
1
  module.exports = {
2
- extends: ['airbnb-typescript/base'],
2
+ extends: ['airbnb-typescript/base', 'prettier'],
3
3
  parserOptions: {
4
4
  project: './tsconfig.eslint.json',
5
5
  },
@@ -38,6 +38,9 @@ jobs:
38
38
 
39
39
  - name: Lint
40
40
  run: yarn lint
41
+
42
+ - name: Prettier
43
+ run: yarn format:check
41
44
 
42
45
  - name: Test
43
46
  run: yarn test
@@ -0,0 +1,7 @@
1
+ .github/
2
+ dist/
3
+ docs/
4
+ node_modules/
5
+ protocol/
6
+ src/proto/
7
+ yarn.lock
package/README.md CHANGED
@@ -98,16 +98,16 @@ const opts = {
98
98
  name: 'myroom',
99
99
  // timeout in seconds
100
100
  emptyTimeout: 10 * 60,
101
- maxParticipants: 20
102
- }
101
+ maxParticipants: 20,
102
+ };
103
103
  svc.createRoom(opts).then((room: Room) => {
104
- console.log('room created', room)
105
- })
104
+ console.log('room created', room);
105
+ });
106
106
 
107
107
  // delete a room
108
108
  svc.deleteRoom('myroom').then(() => {
109
- console.log('room deleted')
110
- })
109
+ console.log('room deleted');
110
+ });
111
111
  ```
112
112
 
113
113
  ## Webhooks
@@ -118,9 +118,13 @@ The JS SDK also provides helper functions to decode and verify webhook callbacks
118
118
  import { WebhookReceiver } from 'livekit-server-sdk';
119
119
 
120
120
  const receiver = new WebhookReceiver('apikey', 'apisecret');
121
- // assuming using express.raw
121
+
122
+ // In order to use the validator, WebhookReceiver must have access to the raw POSTed string (instead of a parsed JSON object)
123
+ // if you are using express middleware, ensure that `express.raw` is used for the webhook endpoint
124
+ // router.use('/webhook/path', express.raw());
125
+
122
126
  app.post('/webhook-endpoint', (req, res) => {
123
127
  // event is a WebhookEvent object
124
- const event = receiver.receive(req.body, req.get('Authorization'))
125
- })
128
+ const event = receiver.receive(req.body, req.get('Authorization'));
129
+ });
126
130
  ```
@@ -6,6 +6,10 @@ export interface AccessTokenOptions {
6
6
  * eg: '2 days', '10h', or seconds as numeric value
7
7
  */
8
8
  ttl?: number | string;
9
+ /**
10
+ * display name for the participant, available as `Participant.name`
11
+ */
12
+ name?: string;
9
13
  /**
10
14
  * identity of the user, required for room join tokens
11
15
  */
@@ -36,6 +40,7 @@ export declare class AccessToken {
36
40
  * Set metadata to be passed to the Participant, used only when joining the room
37
41
  */
38
42
  set metadata(md: string);
43
+ set name(name: string);
39
44
  get sha256(): string | undefined;
40
45
  set sha256(sha: string | undefined);
41
46
  /**
@@ -22,7 +22,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
22
22
  exports.TokenVerifier = exports.AccessToken = void 0;
23
23
  const jwt = __importStar(require("jsonwebtoken"));
24
24
  // 6 hours
25
- const defaultTTL = 4 * 60 * 60;
25
+ const defaultTTL = 6 * 60 * 60;
26
26
  class AccessToken {
27
27
  /**
28
28
  * Creates a new AccessToken
@@ -47,6 +47,9 @@ class AccessToken {
47
47
  if (options === null || options === void 0 ? void 0 : options.metadata) {
48
48
  this.metadata = options.metadata;
49
49
  }
50
+ if (options === null || options === void 0 ? void 0 : options.name) {
51
+ this.name = options.name;
52
+ }
50
53
  }
51
54
  /**
52
55
  * Adds a video grant to this token.
@@ -61,6 +64,9 @@ class AccessToken {
61
64
  set metadata(md) {
62
65
  this.grants.metadata = md;
63
66
  }
67
+ set name(name) {
68
+ this.grants.name = name;
69
+ }
64
70
  get sha256() {
65
71
  return this.grants.sha256;
66
72
  }
@@ -1 +1 @@
1
- {"version":3,"file":"AccessToken.js","sourceRoot":"","sources":["../src/AccessToken.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;AAAA,kDAAoC;AAGpC,UAAU;AACV,MAAM,UAAU,GAAG,CAAC,GAAG,EAAE,GAAG,EAAE,CAAC;AAqB/B,MAAa,WAAW;IAWtB;;;;OAIG;IACH,YACE,MAAe,EACf,SAAkB,EAClB,OAA4B;QAE5B,IAAI,CAAC,MAAM,EAAE;YACX,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC,eAAe,CAAC;SACtC;QACD,IAAI,CAAC,SAAS,EAAE;YACd,SAAS,GAAG,OAAO,CAAC,GAAG,CAAC,kBAAkB,CAAC;SAC5C;QACD,IAAI,CAAC,MAAM,IAAI,CAAC,SAAS,EAAE;YACzB,MAAM,KAAK,CAAC,oCAAoC,CAAC,CAAC;SACnD;QAED,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACrB,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;QAC3B,IAAI,CAAC,MAAM,GAAG,EAAE,CAAC;QACjB,IAAI,CAAC,QAAQ,GAAG,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,QAAQ,CAAC;QAClC,IAAI,CAAC,GAAG,GAAG,CAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,GAAG,KAAI,UAAU,CAAC;QACtC,IAAI,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,QAAQ,EAAE;YACrB,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAC,QAAQ,CAAC;SAClC;IACH,CAAC;IAED;;;OAGG;IACH,QAAQ,CAAC,KAAiB;QACxB,IAAI,CAAC,MAAM,CAAC,KAAK,GAAG,KAAK,CAAC;IAC5B,CAAC;IAED;;OAEG;IACH,IAAI,QAAQ,CAAC,EAAU;QACrB,IAAI,CAAC,MAAM,CAAC,QAAQ,GAAG,EAAE,CAAC;IAC5B,CAAC;IAED,IAAI,MAAM;QACR,OAAO,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC;IAC5B,CAAC;IAED,IAAI,MAAM,CAAC,GAAuB;QAChC,IAAI,CAAC,MAAM,CAAC,MAAM,GAAG,GAAG,CAAC;IAC3B,CAAC;IAED;;OAEG;IACH,KAAK;QACH,uCAAuC;;QAEvC,MAAM,IAAI,GAAoB;YAC5B,MAAM,EAAE,IAAI,CAAC,MAAM;YACnB,SAAS,EAAE,IAAI,CAAC,GAAG;YACnB,SAAS,EAAE,CAAC;SACb,CAAC;QACF,IAAI,IAAI,CAAC,QAAQ,EAAE;YACjB,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC;YAC7B,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,QAAQ,CAAC;SAC5B;aAAM,IAAI,MAAA,IAAI,CAAC,MAAM,CAAC,KAAK,0CAAE,QAAQ,EAAE;YACtC,MAAM,KAAK,CAAC,2CAA2C,CAAC,CAAC;SAC1D;QACD,OAAO,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC;IACrD,CAAC;CACF;AAnFD,kCAmFC;AAED,MAAa,aAAa;IAKxB,YAAY,MAAc,EAAE,SAAiB;QAC3C,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACrB,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;IAC7B,CAAC;IAED,MAAM,CAAC,KAAa;QAClB,MAAM,OAAO,GAAG,GAAG,CAAC,MAAM,CAAC,KAAK,EAAE,IAAI,CAAC,SAAS,EAAE,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC;QAC3E,IAAI,CAAC,OAAO,EAAE;YACZ,MAAM,KAAK,CAAC,eAAe,CAAC,CAAC;SAC9B;QAED,OAAO,OAAsB,CAAC;IAChC,CAAC;CACF;AAlBD,sCAkBC"}
1
+ {"version":3,"file":"AccessToken.js","sourceRoot":"","sources":["../src/AccessToken.ts"],"names":[],"mappings":"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"}
@@ -26,6 +26,7 @@ const testSecret = 'abababa';
26
26
  describe('encoded tokens are valid', () => {
27
27
  const t = new AccessToken_1.AccessToken(testApiKey, testSecret, {
28
28
  identity: 'me',
29
+ name: 'myname',
29
30
  });
30
31
  t.addGrant({ room: 'myroom' });
31
32
  const token = t.toJwt();
@@ -33,6 +34,9 @@ describe('encoded tokens are valid', () => {
33
34
  it('can be decoded', () => {
34
35
  expect(decoded).not.toBe(undefined);
35
36
  });
37
+ it('has name set', () => {
38
+ expect(decoded.name).toBe('myname');
39
+ });
36
40
  it('has video grants set', () => {
37
41
  expect(decoded.video).toBeTruthy();
38
42
  expect(decoded.video.room).toEqual('myroom');
@@ -1 +1 @@
1
- {"version":3,"file":"AccessToken.test.js","sourceRoot":"","sources":["../src/AccessToken.test.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;AAAA,kDAAoC;AACpC,+CAA2D;AAE3D,MAAM,UAAU,GAAG,SAAS,CAAC;AAC7B,MAAM,UAAU,GAAG,SAAS,CAAC;AAE7B,QAAQ,CAAC,0BAA0B,EAAE,GAAG,EAAE;IACxC,MAAM,CAAC,GAAG,IAAI,yBAAW,CAAC,UAAU,EAAE,UAAU,EAAE;QAChD,QAAQ,EAAE,IAAI;KACf,CAAC,CAAC;IACH,CAAC,CAAC,QAAQ,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC,CAAC;IAC/B,MAAM,KAAK,GAAG,CAAC,CAAC,KAAK,EAAE,CAAC;IAExB,MAAM,OAAO,GAAQ,GAAG,CAAC,MAAM,CAAC,KAAK,EAAE,UAAU,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;IACpE,EAAE,CAAC,gBAAgB,EAAE,GAAG,EAAE;QACxB,MAAM,CAAC,OAAO,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;IACtC,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,sBAAsB,EAAE,GAAG,EAAE;QAC9B,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,UAAU,EAAE,CAAC;QACnC,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;IAC/C,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC;AAEH,QAAQ,CAAC,2CAA2C,EAAE,GAAG,EAAE;IACzD,EAAE,CAAC,kCAAkC,EAAE,GAAG,EAAE;QAC1C,MAAM,CAAC,GAAG,IAAI,yBAAW,CAAC,UAAU,EAAE,UAAU,CAAC,CAAC;QAClD,CAAC,CAAC,QAAQ,CAAC,EAAE,UAAU,EAAE,IAAI,EAAE,CAAC,CAAC;QAEjC,MAAM,CAAC,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC,UAAU,EAAE,CAAC;IACjC,CAAC,CAAC,CAAC;IACH,EAAE,CAAC,qDAAqD,EAAE,GAAG,EAAE;QAC7D,MAAM,CAAC,GAAG,IAAI,yBAAW,CAAC,UAAU,EAAE,UAAU,CAAC,CAAC;QAClD,CAAC,CAAC,QAAQ,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC;QAE/B,MAAM,CAAC,GAAG,EAAE;YACV,CAAC,CAAC,KAAK,EAAE,CAAC;QACZ,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC;IACf,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC;AAEH,QAAQ,CAAC,uBAAuB,EAAE,GAAG,EAAE;IACrC,EAAE,CAAC,0BAA0B,EAAE,GAAG,EAAE;;QAClC,MAAM,CAAC,GAAG,IAAI,yBAAW,CAAC,UAAU,EAAE,UAAU,CAAC,CAAC;QAClD,CAAC,CAAC,MAAM,GAAG,SAAS,CAAC;QACrB,CAAC,CAAC,QAAQ,CAAC,EAAE,UAAU,EAAE,IAAI,EAAE,CAAC,CAAC;QAEjC,MAAM,CAAC,GAAG,IAAI,2BAAa,CAAC,UAAU,EAAE,UAAU,CAAC,CAAC;QACpD,MAAM,OAAO,GAAG,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC;QAEpC,MAAM,CAAC,OAAO,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QACpC,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;QAC1C,MAAM,CAAC,MAAA,OAAO,CAAC,KAAK,0CAAE,UAAU,CAAC,CAAC,UAAU,EAAE,CAAC;IACjD,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
1
+ {"version":3,"file":"AccessToken.test.js","sourceRoot":"","sources":["../src/AccessToken.test.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,60 @@
1
+ import { DirectFileOutput, EgressInfo, EncodedFileOutput, EncodingOptions, EncodingOptionsPreset, StreamOutput } from './proto/livekit_egress';
2
+ /**
3
+ * Client to access Egress APIs
4
+ */
5
+ export default class EgressClient {
6
+ private readonly rpc;
7
+ private readonly apiKey?;
8
+ private readonly secret?;
9
+ /**
10
+ * @param host hostname including protocol. i.e. 'https://cluster.livekit.io'
11
+ * @param apiKey API Key, can be set in env var LIVEKIT_API_KEY
12
+ * @param secret API Secret, can be set in env var LIVEKIT_API_SECRET
13
+ */
14
+ constructor(host: string, apiKey?: string, secret?: string);
15
+ /**
16
+ * @param roomName room name
17
+ * @param layout egress layout
18
+ * @param output file or stream output
19
+ * @param options encoding options or preset
20
+ * @param audioOnly record audio only
21
+ * @param videoOnly record video only
22
+ * @param customBaseUrl custom template url
23
+ */
24
+ startRoomCompositeEgress(roomName: string, layout: string, output: EncodedFileOutput | StreamOutput, options?: EncodingOptionsPreset | EncodingOptions, audioOnly?: boolean, videoOnly?: boolean, customBaseUrl?: string): Promise<EgressInfo>;
25
+ /**
26
+ * @param roomName room name
27
+ * @param output file or stream output
28
+ * @param audioTrackId audio track Id
29
+ * @param videoTrackId video track Id
30
+ * @param options encoding options or preset
31
+ */
32
+ startTrackCompositeEgress(roomName: string, output: EncodedFileOutput | StreamOutput, audioTrackId?: string, videoTrackId?: string, options?: EncodingOptionsPreset | EncodingOptions): Promise<EgressInfo>;
33
+ private getOutputParams;
34
+ /**
35
+ * @param roomName room name
36
+ * @param output file or websocket output
37
+ * @param trackId track Id
38
+ */
39
+ startTrackEgress(roomName: string, output: DirectFileOutput | string, trackId: string): Promise<EgressInfo>;
40
+ /**
41
+ * @param egressId
42
+ * @param layout
43
+ */
44
+ updateLayout(egressId: string, layout: string): Promise<EgressInfo>;
45
+ /**
46
+ * @param egressId
47
+ * @param addOutputUrls
48
+ * @param removeOutputUrls
49
+ */
50
+ updateStream(egressId: string, addOutputUrls?: string[], removeOutputUrls?: string[]): Promise<EgressInfo>;
51
+ /**
52
+ * @param roomName list egress for one room only
53
+ */
54
+ listEgress(roomName?: string): Promise<Array<EgressInfo>>;
55
+ /**
56
+ * @param egressId
57
+ */
58
+ stopEgress(egressId: string): Promise<EgressInfo>;
59
+ private authHeader;
60
+ }
@@ -0,0 +1,198 @@
1
+ "use strict";
2
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
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
+ Object.defineProperty(exports, "__esModule", { value: true });
12
+ const AccessToken_1 = require("./AccessToken");
13
+ const livekit_egress_1 = require("./proto/livekit_egress");
14
+ const TwirpRPC_1 = require("./TwirpRPC");
15
+ const svc = 'Egress';
16
+ /**
17
+ * Client to access Egress APIs
18
+ */
19
+ class EgressClient {
20
+ /**
21
+ * @param host hostname including protocol. i.e. 'https://cluster.livekit.io'
22
+ * @param apiKey API Key, can be set in env var LIVEKIT_API_KEY
23
+ * @param secret API Secret, can be set in env var LIVEKIT_API_SECRET
24
+ */
25
+ constructor(host, apiKey, secret) {
26
+ this.rpc = new TwirpRPC_1.TwirpRpc(host, TwirpRPC_1.livekitPackage);
27
+ this.apiKey = apiKey;
28
+ this.secret = secret;
29
+ }
30
+ /**
31
+ * @param roomName room name
32
+ * @param layout egress layout
33
+ * @param output file or stream output
34
+ * @param options encoding options or preset
35
+ * @param audioOnly record audio only
36
+ * @param videoOnly record video only
37
+ * @param customBaseUrl custom template url
38
+ */
39
+ startRoomCompositeEgress(roomName, layout, output, options, audioOnly, videoOnly, customBaseUrl) {
40
+ return __awaiter(this, void 0, void 0, function* () {
41
+ if (!audioOnly) {
42
+ audioOnly = false;
43
+ }
44
+ if (!videoOnly) {
45
+ videoOnly = false;
46
+ }
47
+ if (!customBaseUrl) {
48
+ customBaseUrl = '';
49
+ }
50
+ const { file, stream, preset, advanced } = this.getOutputParams(output, options);
51
+ const req = livekit_egress_1.RoomCompositeEgressRequest.toJSON({
52
+ roomName,
53
+ layout,
54
+ audioOnly,
55
+ videoOnly,
56
+ customBaseUrl,
57
+ file,
58
+ stream,
59
+ preset,
60
+ advanced,
61
+ });
62
+ const data = yield this.rpc.request(svc, 'StartRoomCompositeEgress', req, this.authHeader({ roomRecord: true }));
63
+ return livekit_egress_1.EgressInfo.fromJSON(data);
64
+ });
65
+ }
66
+ /**
67
+ * @param roomName room name
68
+ * @param output file or stream output
69
+ * @param audioTrackId audio track Id
70
+ * @param videoTrackId video track Id
71
+ * @param options encoding options or preset
72
+ */
73
+ startTrackCompositeEgress(roomName, output, audioTrackId, videoTrackId, options) {
74
+ return __awaiter(this, void 0, void 0, function* () {
75
+ if (!audioTrackId) {
76
+ audioTrackId = '';
77
+ }
78
+ if (!videoTrackId) {
79
+ videoTrackId = '';
80
+ }
81
+ const { file, stream, preset, advanced } = this.getOutputParams(output, options);
82
+ const req = livekit_egress_1.TrackCompositeEgressRequest.toJSON({
83
+ roomName,
84
+ audioTrackId,
85
+ videoTrackId,
86
+ file,
87
+ stream,
88
+ preset,
89
+ advanced,
90
+ });
91
+ const data = yield this.rpc.request(svc, 'StartTrackCompositeEgress', req, this.authHeader({ roomRecord: true }));
92
+ return livekit_egress_1.EgressInfo.fromJSON(data);
93
+ });
94
+ }
95
+ getOutputParams(output, options) {
96
+ let file;
97
+ let stream;
98
+ let preset;
99
+ let advanced;
100
+ if (output.filepath !== undefined) {
101
+ file = output;
102
+ }
103
+ else {
104
+ stream = output;
105
+ }
106
+ if (options) {
107
+ if (typeof options === 'number') {
108
+ preset = options;
109
+ }
110
+ else {
111
+ advanced = options;
112
+ }
113
+ }
114
+ return { file, stream, preset, advanced };
115
+ }
116
+ /**
117
+ * @param roomName room name
118
+ * @param output file or websocket output
119
+ * @param trackId track Id
120
+ */
121
+ startTrackEgress(roomName, output, trackId) {
122
+ return __awaiter(this, void 0, void 0, function* () {
123
+ let file;
124
+ let websocketUrl;
125
+ if (output.filepath !== undefined) {
126
+ file = output;
127
+ }
128
+ else {
129
+ websocketUrl = output;
130
+ }
131
+ const req = livekit_egress_1.TrackEgressRequest.toJSON({
132
+ roomName,
133
+ trackId,
134
+ file,
135
+ websocketUrl,
136
+ });
137
+ const data = yield this.rpc.request(svc, 'StartTrackEgress', req, this.authHeader({ roomRecord: true }));
138
+ return livekit_egress_1.EgressInfo.fromJSON(data);
139
+ });
140
+ }
141
+ /**
142
+ * @param egressId
143
+ * @param layout
144
+ */
145
+ updateLayout(egressId, layout) {
146
+ return __awaiter(this, void 0, void 0, function* () {
147
+ const data = yield this.rpc.request(svc, 'UpdateLayout', livekit_egress_1.UpdateLayoutRequest.toJSON({ egressId, layout }), this.authHeader({ roomRecord: true }));
148
+ return livekit_egress_1.EgressInfo.fromJSON(data);
149
+ });
150
+ }
151
+ /**
152
+ * @param egressId
153
+ * @param addOutputUrls
154
+ * @param removeOutputUrls
155
+ */
156
+ updateStream(egressId, addOutputUrls, removeOutputUrls) {
157
+ return __awaiter(this, void 0, void 0, function* () {
158
+ if (!addOutputUrls) {
159
+ addOutputUrls = [];
160
+ }
161
+ if (!removeOutputUrls) {
162
+ removeOutputUrls = [];
163
+ }
164
+ const data = yield this.rpc.request(svc, 'UpdateStream', livekit_egress_1.UpdateStreamRequest.toJSON({ egressId, addOutputUrls, removeOutputUrls }), this.authHeader({ roomRecord: true }));
165
+ return livekit_egress_1.EgressInfo.fromJSON(data);
166
+ });
167
+ }
168
+ /**
169
+ * @param roomName list egress for one room only
170
+ */
171
+ listEgress(roomName) {
172
+ return __awaiter(this, void 0, void 0, function* () {
173
+ if (!roomName) {
174
+ roomName = '';
175
+ }
176
+ const data = yield this.rpc.request(svc, 'ListEgress', livekit_egress_1.ListEgressRequest.toJSON({ roomName }), this.authHeader({ roomRecord: true }));
177
+ return JSON.parse(data);
178
+ });
179
+ }
180
+ /**
181
+ * @param egressId
182
+ */
183
+ stopEgress(egressId) {
184
+ return __awaiter(this, void 0, void 0, function* () {
185
+ const data = yield this.rpc.request(svc, 'StopEgress', livekit_egress_1.StopEgressRequest.toJSON({ egressId }), this.authHeader({ roomRecord: true }));
186
+ return livekit_egress_1.EgressInfo.fromJSON(data);
187
+ });
188
+ }
189
+ authHeader(grant) {
190
+ const at = new AccessToken_1.AccessToken(this.apiKey, this.secret, { ttl: '10m' });
191
+ at.addGrant(grant);
192
+ return {
193
+ Authorization: `Bearer ${at.toJwt()}`,
194
+ };
195
+ }
196
+ }
197
+ exports.default = EgressClient;
198
+ //# sourceMappingURL=EgressClient.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"EgressClient.js","sourceRoot":"","sources":["../src/EgressClient.ts"],"names":[],"mappings":";;;;;;;;;;;AAAA,+CAA4C;AAE5C,2DAcgC;AAChC,yCAA2D;AAE3D,MAAM,GAAG,GAAG,QAAQ,CAAC;AAErB;;GAEG;AACH,MAAqB,YAAY;IAO/B;;;;OAIG;IACH,YAAY,IAAY,EAAE,MAAe,EAAE,MAAe;QACxD,IAAI,CAAC,GAAG,GAAG,IAAI,mBAAQ,CAAC,IAAI,EAAE,yBAAc,CAAC,CAAC;QAC9C,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACrB,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;IACvB,CAAC;IAED;;;;;;;;OAQG;IACG,wBAAwB,CAC5B,QAAgB,EAChB,MAAc,EACd,MAAwC,EACxC,OAAiD,EACjD,SAAmB,EACnB,SAAmB,EACnB,aAAsB;;YAEtB,IAAI,CAAC,SAAS,EAAE;gBACd,SAAS,GAAG,KAAK,CAAC;aACnB;YACD,IAAI,CAAC,SAAS,EAAE;gBACd,SAAS,GAAG,KAAK,CAAC;aACnB;YACD,IAAI,CAAC,aAAa,EAAE;gBAClB,aAAa,GAAG,EAAE,CAAC;aACpB;YAED,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,GAAG,IAAI,CAAC,eAAe,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;YACjF,MAAM,GAAG,GAAG,2CAA0B,CAAC,MAAM,CAAC;gBAC5C,QAAQ;gBACR,MAAM;gBACN,SAAS;gBACT,SAAS;gBACT,aAAa;gBACb,IAAI;gBACJ,MAAM;gBACN,MAAM;gBACN,QAAQ;aACT,CAAC,CAAC;YAEH,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,GAAG,CAAC,OAAO,CACjC,GAAG,EACH,0BAA0B,EAC1B,GAAG,EACH,IAAI,CAAC,UAAU,CAAC,EAAE,UAAU,EAAE,IAAI,EAAE,CAAC,CACtC,CAAC;YACF,OAAO,2BAAU,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;QACnC,CAAC;KAAA;IAED;;;;;;OAMG;IACG,yBAAyB,CAC7B,QAAgB,EAChB,MAAwC,EACxC,YAAqB,EACrB,YAAqB,EACrB,OAAiD;;YAEjD,IAAI,CAAC,YAAY,EAAE;gBACjB,YAAY,GAAG,EAAE,CAAC;aACnB;YACD,IAAI,CAAC,YAAY,EAAE;gBACjB,YAAY,GAAG,EAAE,CAAC;aACnB;YAED,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,GAAG,IAAI,CAAC,eAAe,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;YACjF,MAAM,GAAG,GAAG,4CAA2B,CAAC,MAAM,CAAC;gBAC7C,QAAQ;gBACR,YAAY;gBACZ,YAAY;gBACZ,IAAI;gBACJ,MAAM;gBACN,MAAM;gBACN,QAAQ;aACT,CAAC,CAAC;YAEH,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,GAAG,CAAC,OAAO,CACjC,GAAG,EACH,2BAA2B,EAC3B,GAAG,EACH,IAAI,CAAC,UAAU,CAAC,EAAE,UAAU,EAAE,IAAI,EAAE,CAAC,CACtC,CAAC;YACF,OAAO,2BAAU,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;QACnC,CAAC;KAAA;IAEO,eAAe,CACrB,MAAwC,EACxC,OAAiD;QAEjD,IAAI,IAAmC,CAAC;QACxC,IAAI,MAAgC,CAAC;QACrC,IAAI,MAAyC,CAAC;QAC9C,IAAI,QAAqC,CAAC;QAE1C,IAAwB,MAAO,CAAC,QAAQ,KAAK,SAAS,EAAE;YACtD,IAAI,GAAsB,MAAM,CAAC;SAClC;aAAM;YACL,MAAM,GAAiB,MAAM,CAAC;SAC/B;QAED,IAAI,OAAO,EAAE;YACX,IAAI,OAAO,OAAO,KAAK,QAAQ,EAAE;gBAC/B,MAAM,GAA0B,OAAO,CAAC;aACzC;iBAAM;gBACL,QAAQ,GAAoB,OAAO,CAAC;aACrC;SACF;QAED,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC;IAC5C,CAAC;IAED;;;;OAIG;IACG,gBAAgB,CACpB,QAAgB,EAChB,MAAiC,EACjC,OAAe;;YAEf,IAAI,IAAkC,CAAC;YACvC,IAAI,YAAgC,CAAC;YAErC,IAAuB,MAAO,CAAC,QAAQ,KAAK,SAAS,EAAE;gBACrD,IAAI,GAAqB,MAAM,CAAC;aACjC;iBAAM;gBACL,YAAY,GAAW,MAAM,CAAC;aAC/B;YAED,MAAM,GAAG,GAAG,mCAAkB,CAAC,MAAM,CAAC;gBACpC,QAAQ;gBACR,OAAO;gBACP,IAAI;gBACJ,YAAY;aACb,CAAC,CAAC;YAEH,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,GAAG,CAAC,OAAO,CACjC,GAAG,EACH,kBAAkB,EAClB,GAAG,EACH,IAAI,CAAC,UAAU,CAAC,EAAE,UAAU,EAAE,IAAI,EAAE,CAAC,CACtC,CAAC;YACF,OAAO,2BAAU,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;QACnC,CAAC;KAAA;IAED;;;OAGG;IACG,YAAY,CAAC,QAAgB,EAAE,MAAc;;YACjD,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,GAAG,CAAC,OAAO,CACjC,GAAG,EACH,cAAc,EACd,oCAAmB,CAAC,MAAM,CAAC,EAAE,QAAQ,EAAE,MAAM,EAAE,CAAC,EAChD,IAAI,CAAC,UAAU,CAAC,EAAE,UAAU,EAAE,IAAI,EAAE,CAAC,CACtC,CAAC;YACF,OAAO,2BAAU,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;QACnC,CAAC;KAAA;IAED;;;;OAIG;IACG,YAAY,CAChB,QAAgB,EAChB,aAAwB,EACxB,gBAA2B;;YAE3B,IAAI,CAAC,aAAa,EAAE;gBAClB,aAAa,GAAG,EAAE,CAAC;aACpB;YACD,IAAI,CAAC,gBAAgB,EAAE;gBACrB,gBAAgB,GAAG,EAAE,CAAC;aACvB;YAED,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,GAAG,CAAC,OAAO,CACjC,GAAG,EACH,cAAc,EACd,oCAAmB,CAAC,MAAM,CAAC,EAAE,QAAQ,EAAE,aAAa,EAAE,gBAAgB,EAAE,CAAC,EACzE,IAAI,CAAC,UAAU,CAAC,EAAE,UAAU,EAAE,IAAI,EAAE,CAAC,CACtC,CAAC;YACF,OAAO,2BAAU,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;QACnC,CAAC;KAAA;IAED;;OAEG;IACG,UAAU,CAAC,QAAiB;;YAChC,IAAI,CAAC,QAAQ,EAAE;gBACb,QAAQ,GAAG,EAAE,CAAC;aACf;YAED,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,GAAG,CAAC,OAAO,CACjC,GAAG,EACH,YAAY,EACZ,kCAAiB,CAAC,MAAM,CAAC,EAAE,QAAQ,EAAE,CAAC,EACtC,IAAI,CAAC,UAAU,CAAC,EAAE,UAAU,EAAE,IAAI,EAAE,CAAC,CACtC,CAAC;YACF,OAAqB,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QACxC,CAAC;KAAA;IAED;;OAEG;IACG,UAAU,CAAC,QAAgB;;YAC/B,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,GAAG,CAAC,OAAO,CACjC,GAAG,EACH,YAAY,EACZ,kCAAiB,CAAC,MAAM,CAAC,EAAE,QAAQ,EAAE,CAAC,EACtC,IAAI,CAAC,UAAU,CAAC,EAAE,UAAU,EAAE,IAAI,EAAE,CAAC,CACtC,CAAC;YACF,OAAO,2BAAU,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;QACnC,CAAC;KAAA;IAEO,UAAU,CAAC,KAAiB;QAClC,MAAM,EAAE,GAAG,IAAI,yBAAW,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,EAAE,GAAG,EAAE,KAAK,EAAE,CAAC,CAAC;QACrE,EAAE,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;QACnB,OAAO;YACL,aAAa,EAAE,UAAU,EAAE,CAAC,KAAK,EAAE,EAAE;SACtC,CAAC;IACJ,CAAC;CACF;AAvPD,+BAuPC"}
@@ -51,7 +51,11 @@ class RecordingServiceClient {
51
51
  rtmp = output;
52
52
  }
53
53
  const req = livekit_recording_1.StartRecordingRequest.toJSON({
54
- url, template, rtmp, filepath, options,
54
+ url,
55
+ template,
56
+ rtmp,
57
+ filepath,
58
+ options,
55
59
  });
56
60
  const data = yield this.rpc.request(svc, 'StartRecording', req, this.authHeader({ roomRecord: true }));
57
61
  return livekit_recording_1.StartRecordingResponse.fromJSON(data).recordingId;
@@ -1 +1 @@
1
- {"version":3,"file":"RecordingServiceClient.js","sourceRoot":"","sources":["../src/RecordingServiceClient.ts"],"names":[],"mappings":";;;;;;;;;;;AAAA,+CAA4C;AAE5C,iEAImC;AACnC,yCAA2D;AAE3D,MAAM,GAAG,GAAG,kBAAkB,CAAC;AAE/B;;GAEG;AACH,MAAqB,sBAAsB;IAOzC;;;;OAIG;IACH,YAAY,IAAY,EAAE,MAAe,EAAE,MAAe;QACxD,IAAI,CAAC,GAAG,GAAG,IAAI,mBAAQ,CAAC,IAAI,EAAE,yBAAc,CAAC,CAAC;QAC9C,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACrB,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;IACvB,CAAC;IAED;;;;OAIG;IACG,cAAc,CAClB,KAAiC,EACjC,MAA2B,EAC3B,OAA0B;;YAE1B,IAAI,GAAuB,CAAC;YAC5B,IAAI,QAAuC,CAAC;YAC5C,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE;gBAC7B,GAAG,GAAG,KAAK,CAAC;aACb;iBAAM;gBACL,QAAQ,GAAG,KAAK,CAAC;aAClB;YAED,IAAI,IAA4B,CAAC;YACjC,IAAI,QAA4B,CAAC;YACjC,IAAI,OAAO,MAAM,KAAK,QAAQ,EAAE;gBAC9B,QAAQ,GAAG,MAAM,CAAC;aACnB;iBAAM;gBACL,IAAI,GAAG,MAAM,CAAC;aACf;YAED,MAAM,GAAG,GAAG,yCAAqB,CAAC,MAAM,CAAC;gBACvC,GAAG,EAAE,QAAQ,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO;aACvC,CAAC,CAAC;YACH,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,GAAG,CAAC,OAAO,CACjC,GAAG,EACH,gBAAgB,EAChB,GAAG,EACH,IAAI,CAAC,UAAU,CAAC,EAAE,UAAU,EAAE,IAAI,EAAE,CAAC,CACtC,CAAC;YACF,OAAO,0CAAsB,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,WAAY,CAAC;QAC5D,CAAC;KAAA;IAEK,SAAS,CAAC,WAAmB,EAAE,OAAe;;YAClD,MAAM,GAAG,GAAG,oCAAgB,CAAC,MAAM,CAAC,EAAE,WAAW,EAAE,OAAO,EAAE,CAAC,CAAC;YAC9D,MAAM,IAAI,CAAC,GAAG,CAAC,OAAO,CACpB,GAAG,EACH,WAAW,EACX,GAAG,EACH,IAAI,CAAC,UAAU,CAAC,EAAE,UAAU,EAAE,IAAI,EAAE,CAAC,CACtC,CAAC;QACJ,CAAC;KAAA;IAEK,YAAY,CAAC,WAAmB,EAAE,OAAe;;YACrD,MAAM,GAAG,GAAG,uCAAmB,CAAC,MAAM,CAAC,EAAE,WAAW,EAAE,OAAO,EAAE,CAAC,CAAC;YACjE,MAAM,IAAI,CAAC,GAAG,CAAC,OAAO,CACpB,GAAG,EACH,cAAc,EACd,GAAG,EACH,IAAI,CAAC,UAAU,CAAC,EAAE,UAAU,EAAE,IAAI,EAAE,CAAC,CACtC,CAAC;QACJ,CAAC;KAAA;IAEK,YAAY,CAAC,WAAmB;;YACpC,MAAM,GAAG,GAAG,uCAAmB,CAAC,MAAM,CAAC,EAAE,WAAW,EAAE,CAAC,CAAC;YACxD,MAAM,IAAI,CAAC,GAAG,CAAC,OAAO,CACpB,GAAG,EACH,cAAc,EACd,GAAG,EACH,IAAI,CAAC,UAAU,CAAC,EAAE,UAAU,EAAE,IAAI,EAAE,CAAC,CACtC,CAAC;QACJ,CAAC;KAAA;IAEO,UAAU,CAAC,KAAiB;QAClC,MAAM,EAAE,GAAG,IAAI,yBAAW,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,EAAE,GAAG,EAAE,KAAK,EAAE,CAAC,CAAC;QACrE,EAAE,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;QACnB,OAAO;YACL,aAAa,EAAE,UAAU,EAAE,CAAC,KAAK,EAAE,EAAE;SACtC,CAAC;IACJ,CAAC;CACF;AA7FD,yCA6FC"}
1
+ {"version":3,"file":"RecordingServiceClient.js","sourceRoot":"","sources":["../src/RecordingServiceClient.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,4 @@
1
- import { DataPacket_Kind, ParticipantInfo, Room, TrackInfo } from './proto/livekit_models';
2
- import { ParticipantPermission } from './proto/livekit_room';
1
+ import { DataPacket_Kind, ParticipantInfo, ParticipantPermission, Room, TrackInfo } from './proto/livekit_models';
3
2
  /**
4
3
  * Options for when creating a room
5
4
  */
@@ -1 +1 @@
1
- {"version":3,"file":"RoomServiceClient.js","sourceRoot":"","sources":["../src/RoomServiceClient.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"RoomServiceClient.js","sourceRoot":"","sources":["../src/RoomServiceClient.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"TwirpRPC.js","sourceRoot":"","sources":["../src/TwirpRPC.ts"],"names":[],"mappings":";;;;;;AAAA,kDAA6C;AAC7C,oEAA2C;AAE3C,8CAA8C;AAE9C,MAAM,aAAa,GAAG,QAAQ,CAAC;AAElB,QAAA,cAAc,GAAG,SAAS,CAAC;AAUxC;;GAEG;AACH,MAAa,QAAQ;IASnB,YAAY,IAAY,EAAE,GAAW,EAAE,MAAe;QACpD,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC,GAAG,GAAG,GAAG,CAAC;QACf,IAAI,CAAC,MAAM,GAAG,MAAM,IAAI,aAAa,CAAC;QACtC,IAAI,CAAC,QAAQ,GAAG,eAAK,CAAC,MAAM,CAAC;YAC3B,OAAO,EAAE,IAAI;SACd,CAAC,CAAC;IACL,CAAC;IAED,OAAO,CACL,OAAe,EACf,MAAc,EACd,IAAS,EACT,OAAa;QAEb,OAAO,IAAI,OAAO,CAAM,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YAC1C,MAAM,IAAI,GAAG,GAAG,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,GAAG,IAAI,OAAO,IAAI,MAAM,EAAE,CAAC;YAC/D,IAAI,CAAC,QAAQ;iBACV,IAAI,CAAC,IAAI,EAAE,IAAI,EAAE,EAAE,OAAO,EAAE,CAAC;iBAC7B,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE;gBACZ,OAAO,CAAC,wBAAa,CAAC,GAAG,CAAC,IAAI,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;YACnD,CAAC,CAAC;iBACD,KAAK,CAAC,MAAM,CAAC,CAAC;QACnB,CAAC,CAAC,CAAC;IACL,CAAC;CACF;AAlCD,4BAkCC"}
1
+ {"version":3,"file":"TwirpRPC.js","sourceRoot":"","sources":["../src/TwirpRPC.ts"],"names":[],"mappings":";;;;;;AAAA,kDAA6C;AAC7C,oEAA2C;AAE3C,8CAA8C;AAE9C,MAAM,aAAa,GAAG,QAAQ,CAAC;AAElB,QAAA,cAAc,GAAG,SAAS,CAAC;AAKxC;;GAEG;AACH,MAAa,QAAQ;IASnB,YAAY,IAAY,EAAE,GAAW,EAAE,MAAe;QACpD,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC,GAAG,GAAG,GAAG,CAAC;QACf,IAAI,CAAC,MAAM,GAAG,MAAM,IAAI,aAAa,CAAC;QACtC,IAAI,CAAC,QAAQ,GAAG,eAAK,CAAC,MAAM,CAAC;YAC3B,OAAO,EAAE,IAAI;SACd,CAAC,CAAC;IACL,CAAC;IAED,OAAO,CAAC,OAAe,EAAE,MAAc,EAAE,IAAS,EAAE,OAAa;QAC/D,OAAO,IAAI,OAAO,CAAM,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YAC1C,MAAM,IAAI,GAAG,GAAG,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,GAAG,IAAI,OAAO,IAAI,MAAM,EAAE,CAAC;YAC/D,IAAI,CAAC,QAAQ;iBACV,IAAI,CAAC,IAAI,EAAE,IAAI,EAAE,EAAE,OAAO,EAAE,CAAC;iBAC7B,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE;gBACZ,OAAO,CAAC,wBAAa,CAAC,GAAG,CAAC,IAAI,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;YACnD,CAAC,CAAC;iBACD,KAAK,CAAC,MAAM,CAAC,CAAC;QACnB,CAAC,CAAC,CAAC;IACL,CAAC;CACF;AA7BD,4BA6BC"}
@@ -1 +1 @@
1
- {"version":3,"file":"WebhookReceiver.test.js","sourceRoot":"","sources":["../src/WebhookReceiver.test.ts"],"names":[],"mappings":";;AAAA,+CAA4C;AAC5C,6DAAuD;AACvD,uDAAoD;AAEpD,MAAM,UAAU,GAAG,SAAS,CAAC;AAC7B,MAAM,UAAU,GAAG,SAAS,CAAC;AAE7B,QAAQ,CAAC,kBAAkB,EAAE,GAAG,EAAE;IAChC,MAAM,IAAI,GAAG,+PAA+P,CAAC;IAC7Q,MAAM,GAAG,GAAG,8CAA8C,CAAC;IAC3D,MAAM,CAAC,GAAG,IAAI,yBAAW,CAAC,UAAU,EAAE,UAAU,CAAC,CAAC;IAClD,CAAC,CAAC,MAAM,GAAG,GAAG,CAAC;IACf,MAAM,KAAK,GAAG,CAAC,CAAC,KAAK,EAAE,CAAC;IACxB,MAAM,QAAQ,GAAG,IAAI,iCAAe,CAAC,UAAU,EAAE,UAAU,CAAC,CAAC;IAE7D,EAAE,CAAC,wCAAwC,EAAE,GAAG,EAAE;;QAChD,MAAM,KAAK,GAAG,QAAQ,CAAC,OAAO,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;QAC5C,MAAM,CAAC,KAAK,CAAC,CAAC,UAAU,EAAE,CAAC;QAC3B,MAAM,CAAC,MAAA,KAAK,CAAC,IAAI,0CAAE,IAAI,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;QAC5C,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;IAC3C,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC;AAEH,QAAQ,CAAC,uBAAuB,EAAE,GAAG,EAAE;IACrC,EAAE,CAAC,4CAA4C,EAAE,GAAG,EAAE;;QACpD,MAAM,GAAG,GAAG;YACV,IAAI,EAAE,cAAc;YACpB,IAAI,EAAE;gBACJ,GAAG,EAAE,iBAAiB;gBACtB,IAAI,EAAE,YAAY;aACnB;YACD,KAAK,EAAE,OAAO;SACf,CAAC;QAEF,MAAM,KAAK,GAAG,8BAAY,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;QACzC,MAAM,CAAC,KAAK,CAAC,CAAC,UAAU,EAAE,CAAC;QAC3B,MAAM,CAAC,MAAA,KAAK,CAAC,IAAI,0CAAE,IAAI,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;IAC9C,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
1
+ {"version":3,"file":"WebhookReceiver.test.js","sourceRoot":"","sources":["../src/WebhookReceiver.test.ts"],"names":[],"mappings":";;AAAA,+CAA4C;AAC5C,6DAAuD;AACvD,uDAAoD;AAEpD,MAAM,UAAU,GAAG,SAAS,CAAC;AAC7B,MAAM,UAAU,GAAG,SAAS,CAAC;AAE7B,QAAQ,CAAC,kBAAkB,EAAE,GAAG,EAAE;IAChC,MAAM,IAAI,GACR,+PAA+P,CAAC;IAClQ,MAAM,GAAG,GAAG,8CAA8C,CAAC;IAC3D,MAAM,CAAC,GAAG,IAAI,yBAAW,CAAC,UAAU,EAAE,UAAU,CAAC,CAAC;IAClD,CAAC,CAAC,MAAM,GAAG,GAAG,CAAC;IACf,MAAM,KAAK,GAAG,CAAC,CAAC,KAAK,EAAE,CAAC;IACxB,MAAM,QAAQ,GAAG,IAAI,iCAAe,CAAC,UAAU,EAAE,UAAU,CAAC,CAAC;IAE7D,EAAE,CAAC,wCAAwC,EAAE,GAAG,EAAE;;QAChD,MAAM,KAAK,GAAG,QAAQ,CAAC,OAAO,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;QAC5C,MAAM,CAAC,KAAK,CAAC,CAAC,UAAU,EAAE,CAAC;QAC3B,MAAM,CAAC,MAAA,KAAK,CAAC,IAAI,0CAAE,IAAI,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;QAC5C,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;IAC3C,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC;AAEH,QAAQ,CAAC,uBAAuB,EAAE,GAAG,EAAE;IACrC,EAAE,CAAC,4CAA4C,EAAE,GAAG,EAAE;;QACpD,MAAM,GAAG,GAAG;YACV,IAAI,EAAE,cAAc;YACpB,IAAI,EAAE;gBACJ,GAAG,EAAE,iBAAiB;gBACtB,IAAI,EAAE,YAAY;aACnB;YACD,KAAK,EAAE,OAAO;SACf,CAAC;QAEF,MAAM,KAAK,GAAG,8BAAY,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;QACzC,MAAM,CAAC,KAAK,CAAC,CAAC,UAAU,EAAE,CAAC;QAC3B,MAAM,CAAC,MAAA,KAAK,CAAC,IAAI,0CAAE,IAAI,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;IAC9C,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
package/dist/grants.d.ts CHANGED
@@ -22,11 +22,14 @@ export interface VideoGrant {
22
22
  * allow participants to publish data, defaults to true if not set
23
23
  */
24
24
  canPublishData?: boolean;
25
- /** hidden participant (used for recording) */
25
+ /** participant isn't visible to others */
26
26
  hidden?: boolean;
27
+ /** participant is recording the room, when set, allows room to indicate it's being recorded */
28
+ recorder?: boolean;
27
29
  }
28
30
  /** @internal */
29
31
  export interface ClaimGrants {
32
+ name?: string;
30
33
  video?: VideoGrant;
31
34
  metadata?: string;
32
35
  sha256?: string;
package/dist/index.d.ts CHANGED
@@ -1,6 +1,7 @@
1
1
  export * from './AccessToken';
2
+ export { default as EgressClient } from './EgressClient';
2
3
  export * from './grants';
3
- export { DataPacket_Kind, ParticipantInfo, ParticipantInfo_State, Room, TrackInfo, TrackType, } from './proto/livekit_models';
4
- export { default } from './RecordingServiceClient';
4
+ export { DataPacket_Kind, ParticipantInfo, ParticipantInfo_State, ParticipantPermission, Room, TrackInfo, TrackType, } from './proto/livekit_models';
5
+ export { default as RecordingServiceClient } from './RecordingServiceClient';
5
6
  export * from './RoomServiceClient';
6
7
  export * from './WebhookReceiver';
package/dist/index.js CHANGED
@@ -13,18 +13,21 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
13
13
  return (mod && mod.__esModule) ? mod : { "default": mod };
14
14
  };
15
15
  Object.defineProperty(exports, "__esModule", { value: true });
16
- exports.default = exports.TrackType = exports.TrackInfo = exports.Room = exports.ParticipantInfo_State = exports.ParticipantInfo = exports.DataPacket_Kind = void 0;
16
+ exports.RecordingServiceClient = exports.TrackType = exports.TrackInfo = exports.Room = exports.ParticipantPermission = exports.ParticipantInfo_State = exports.ParticipantInfo = exports.DataPacket_Kind = exports.EgressClient = void 0;
17
17
  __exportStar(require("./AccessToken"), exports);
18
+ var EgressClient_1 = require("./EgressClient");
19
+ Object.defineProperty(exports, "EgressClient", { enumerable: true, get: function () { return __importDefault(EgressClient_1).default; } });
18
20
  __exportStar(require("./grants"), exports);
19
21
  var livekit_models_1 = require("./proto/livekit_models");
20
22
  Object.defineProperty(exports, "DataPacket_Kind", { enumerable: true, get: function () { return livekit_models_1.DataPacket_Kind; } });
21
23
  Object.defineProperty(exports, "ParticipantInfo", { enumerable: true, get: function () { return livekit_models_1.ParticipantInfo; } });
22
24
  Object.defineProperty(exports, "ParticipantInfo_State", { enumerable: true, get: function () { return livekit_models_1.ParticipantInfo_State; } });
25
+ Object.defineProperty(exports, "ParticipantPermission", { enumerable: true, get: function () { return livekit_models_1.ParticipantPermission; } });
23
26
  Object.defineProperty(exports, "Room", { enumerable: true, get: function () { return livekit_models_1.Room; } });
24
27
  Object.defineProperty(exports, "TrackInfo", { enumerable: true, get: function () { return livekit_models_1.TrackInfo; } });
25
28
  Object.defineProperty(exports, "TrackType", { enumerable: true, get: function () { return livekit_models_1.TrackType; } });
26
29
  var RecordingServiceClient_1 = require("./RecordingServiceClient");
27
- Object.defineProperty(exports, "default", { enumerable: true, get: function () { return __importDefault(RecordingServiceClient_1).default; } });
30
+ Object.defineProperty(exports, "RecordingServiceClient", { enumerable: true, get: function () { return __importDefault(RecordingServiceClient_1).default; } });
28
31
  __exportStar(require("./RoomServiceClient"), exports);
29
32
  __exportStar(require("./WebhookReceiver"), exports);
30
33
  //# 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":";;;;;;;;;;;;;;;;AAAA,gDAA8B;AAC9B,2CAAyB;AACzB,yDAOgC;AAN9B,iHAAA,eAAe,OAAA;AACf,iHAAA,eAAe,OAAA;AACf,uHAAA,qBAAqB,OAAA;AACrB,sGAAA,IAAI,OAAA;AACJ,2GAAA,SAAS,OAAA;AACT,2GAAA,SAAS,OAAA;AAEX,mEAAmD;AAA1C,kIAAA,OAAO,OAAA;AAChB,sDAAoC;AACpC,oDAAkC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,gDAA8B;AAC9B,+CAAyD;AAAhD,6HAAA,OAAO,OAAgB;AAChC,2CAAyB;AACzB,yDAQgC;AAP9B,iHAAA,eAAe,OAAA;AACf,iHAAA,eAAe,OAAA;AACf,uHAAA,qBAAqB,OAAA;AACrB,uHAAA,qBAAqB,OAAA;AACrB,sGAAA,IAAI,OAAA;AACJ,2GAAA,SAAS,OAAA;AACT,2GAAA,SAAS,OAAA;AAEX,mEAA6E;AAApE,iJAAA,OAAO,OAA0B;AAC1C,sDAAoC;AACpC,oDAAkC"}
@@ -1,4 +1,4 @@
1
- import _m0 from "protobufjs/minimal";
1
+ import * as _m0 from 'protobufjs/minimal';
2
2
  export declare const protobufPackage = "google.protobuf";
3
3
  /**
4
4
  * A generic empty message that you can re-use to avoid defining duplicated
@@ -18,10 +18,14 @@ export declare const Empty: {
18
18
  decode(input: _m0.Reader | Uint8Array, length?: number | undefined): Empty;
19
19
  fromJSON(_: any): Empty;
20
20
  toJSON(_: Empty): unknown;
21
- fromPartial(_: DeepPartial<Empty>): Empty;
21
+ fromPartial<I extends {} & {} & Record<Exclude<keyof I, never>, never>>(_: I): Empty;
22
22
  };
23
23
  declare type Builtin = Date | Function | Uint8Array | string | number | boolean | undefined;
24
24
  export declare type DeepPartial<T> = T extends Builtin ? T : T extends Array<infer U> ? Array<DeepPartial<U>> : T extends ReadonlyArray<infer U> ? ReadonlyArray<DeepPartial<U>> : T extends {} ? {
25
25
  [K in keyof T]?: DeepPartial<T[K]>;
26
26
  } : Partial<T>;
27
+ declare type KeysOfUnion<T> = T extends T ? keyof T : never;
28
+ export declare type Exact<P, I extends P> = P extends Builtin ? P : P & {
29
+ [K in keyof P]: Exact<P[K], I[K]>;
30
+ } & Record<Exclude<keyof I, KeysOfUnion<P>>, never>;
27
31
  export {};