livekit-server-sdk 2.3.0 → 2.5.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 (66) hide show
  1. package/README.md +80 -95
  2. package/dist/AccessToken.d.ts +15 -3
  3. package/dist/AccessToken.d.ts.map +1 -0
  4. package/dist/AccessToken.js +32 -3
  5. package/dist/AccessToken.js.map +1 -1
  6. package/dist/EgressClient.d.ts +1 -0
  7. package/dist/EgressClient.d.ts.map +1 -0
  8. package/dist/EgressClient.js +5 -2
  9. package/dist/EgressClient.js.map +1 -1
  10. package/dist/IngressClient.d.ts +1 -0
  11. package/dist/IngressClient.d.ts.map +1 -0
  12. package/dist/IngressClient.js +3 -0
  13. package/dist/IngressClient.js.map +1 -1
  14. package/dist/RoomServiceClient.d.ts +4 -2
  15. package/dist/RoomServiceClient.d.ts.map +1 -0
  16. package/dist/RoomServiceClient.js.map +1 -1
  17. package/dist/ServiceBase.d.ts +3 -2
  18. package/dist/ServiceBase.d.ts.map +1 -0
  19. package/dist/ServiceBase.js +7 -1
  20. package/dist/ServiceBase.js.map +1 -1
  21. package/dist/SipClient.d.ts +43 -1
  22. package/dist/SipClient.d.ts.map +1 -0
  23. package/dist/SipClient.js +111 -11
  24. package/dist/SipClient.js.map +1 -1
  25. package/dist/TwirpRPC.d.ts +1 -0
  26. package/dist/TwirpRPC.d.ts.map +1 -0
  27. package/dist/TwirpRPC.js.map +1 -1
  28. package/dist/WebhookReceiver.d.ts +2 -1
  29. package/dist/WebhookReceiver.d.ts.map +1 -0
  30. package/dist/WebhookReceiver.js.map +1 -1
  31. package/dist/grants.d.ts +12 -2
  32. package/dist/grants.d.ts.map +1 -0
  33. package/dist/grants.js +3 -0
  34. package/dist/grants.js.map +1 -1
  35. package/dist/index.d.ts +1 -0
  36. package/dist/index.d.ts.map +1 -0
  37. package/dist/index.js +3 -0
  38. package/dist/index.js.map +1 -1
  39. package/package.json +7 -8
  40. package/src/AccessToken.test.ts +100 -0
  41. package/src/AccessToken.ts +184 -0
  42. package/src/EgressClient.ts +617 -0
  43. package/src/IngressClient.ts +257 -0
  44. package/src/RoomServiceClient.ts +359 -0
  45. package/src/ServiceBase.ts +38 -0
  46. package/src/SipClient.ts +427 -0
  47. package/src/TwirpRPC.ts +54 -0
  48. package/src/WebhookReceiver.test.ts +44 -0
  49. package/src/WebhookReceiver.ts +85 -0
  50. package/src/grants.test.ts +30 -0
  51. package/src/grants.ts +107 -0
  52. package/src/index.ts +53 -0
  53. package/.changeset/README.md +0 -8
  54. package/.changeset/config.json +0 -11
  55. package/.eslintrc.cjs +0 -17
  56. package/.github/banner_dark.png +0 -0
  57. package/.github/banner_light.png +0 -0
  58. package/.github/workflows/release.yaml +0 -46
  59. package/.github/workflows/test.yaml +0 -46
  60. package/.gitmodules +0 -3
  61. package/.prettierignore +0 -8
  62. package/CHANGELOG.md +0 -87
  63. package/NOTICE +0 -13
  64. package/renovate.json +0 -18
  65. package/tsconfig.eslint.json +0 -5
  66. package/vite.config.js +0 -8
package/dist/SipClient.js CHANGED
@@ -1,6 +1,9 @@
1
- import { SIPTrunkInfo, CreateSIPTrunkRequest, ListSIPTrunkRequest, ListSIPTrunkResponse, DeleteSIPTrunkRequest, SIPDispatchRule, SIPDispatchRuleInfo, CreateSIPDispatchRuleRequest, ListSIPDispatchRuleRequest, ListSIPDispatchRuleResponse, DeleteSIPDispatchRuleRequest, SIPParticipantInfo, SIPDispatchRuleDirect, SIPDispatchRuleIndividual, CreateSIPParticipantRequest, } from '@livekit/protocol';
1
+ // SPDX-FileCopyrightText: 2024 LiveKit, Inc.
2
+ //
3
+ // SPDX-License-Identifier: Apache-2.0
4
+ import { CreateSIPDispatchRuleRequest, CreateSIPInboundTrunkRequest, CreateSIPOutboundTrunkRequest, CreateSIPParticipantRequest, CreateSIPTrunkRequest, DeleteSIPDispatchRuleRequest, DeleteSIPTrunkRequest, ListSIPDispatchRuleRequest, ListSIPDispatchRuleResponse, ListSIPInboundTrunkRequest, ListSIPInboundTrunkResponse, ListSIPOutboundTrunkRequest, ListSIPOutboundTrunkResponse, ListSIPTrunkRequest, ListSIPTrunkResponse, SIPDispatchRule, SIPDispatchRuleDirect, SIPDispatchRuleIndividual, SIPDispatchRuleInfo, SIPInboundTrunkInfo, SIPOutboundTrunkInfo, SIPParticipantInfo, SIPTransport, SIPTrunkInfo, } from '@livekit/protocol';
2
5
  import ServiceBase from './ServiceBase.js';
3
- import { livekitPackage, TwirpRpc } from './TwirpRPC.js';
6
+ import { TwirpRpc, livekitPackage } from './TwirpRPC.js';
4
7
  const svc = 'SIP';
5
8
  /**
6
9
  * Client to access Egress APIs
@@ -18,6 +21,7 @@ export class SipClient extends ServiceBase {
18
21
  /**
19
22
  * @param number phone number of the trunk
20
23
  * @param opts CreateSipTrunkOptions
24
+ * @deprecated use createSipInboundTrunk or createSipOutboundTrunk
21
25
  */
22
26
  async createSipTrunk(number, opts) {
23
27
  let inboundAddresses;
@@ -27,6 +31,8 @@ export class SipClient extends ServiceBase {
27
31
  let outboundAddress = '';
28
32
  let outboundUsername = '';
29
33
  let outboundPassword = '';
34
+ let name = '';
35
+ let metadata = '';
30
36
  if (opts !== undefined) {
31
37
  inboundAddresses = opts.inbound_addresses;
32
38
  inboundNumbers = opts.inbound_numbers;
@@ -35,8 +41,12 @@ export class SipClient extends ServiceBase {
35
41
  outboundAddress = opts.outbound_address || '';
36
42
  outboundUsername = opts.outbound_username || '';
37
43
  outboundPassword = opts.outbound_password || '';
44
+ name = opts.name || '';
45
+ metadata = opts.metadata || '';
38
46
  }
39
47
  const req = new CreateSIPTrunkRequest({
48
+ name: name,
49
+ metadata: metadata,
40
50
  inboundAddresses: inboundAddresses,
41
51
  inboundNumbers: inboundNumbers,
42
52
  inboundUsername: inboundUsername,
@@ -46,20 +56,98 @@ export class SipClient extends ServiceBase {
46
56
  outboundUsername: outboundUsername,
47
57
  outboundPassword: outboundPassword,
48
58
  }).toJson();
49
- const data = await this.rpc.request(svc, 'CreateSIPTrunk', req, await this.authHeader({}));
59
+ const data = await this.rpc.request(svc, 'CreateSIPTrunk', req, await this.authHeader({}, { admin: true }));
50
60
  return SIPTrunkInfo.fromJson(data, { ignoreUnknownFields: true });
51
61
  }
62
+ /**
63
+ @param name human-readable name of the trunk
64
+ * @param numbers phone numbers of the trunk
65
+ * @param opts CreateSipTrunkOptions
66
+ */
67
+ async createSipInboundTrunk(name, numbers, opts) {
68
+ let allowedAddresses;
69
+ let allowedNumbers;
70
+ let authUsername = '';
71
+ let authPassword = '';
72
+ let metadata = '';
73
+ if (opts !== undefined) {
74
+ allowedAddresses = opts.allowed_addresses;
75
+ allowedNumbers = opts.allowed_numbers;
76
+ authUsername = opts.auth_username || '';
77
+ authPassword = opts.auth_password || '';
78
+ metadata = opts.metadata || '';
79
+ }
80
+ const req = new CreateSIPInboundTrunkRequest({
81
+ trunk: new SIPInboundTrunkInfo({
82
+ name: name,
83
+ numbers: numbers,
84
+ metadata: metadata,
85
+ allowedAddresses: allowedAddresses,
86
+ allowedNumbers: allowedNumbers,
87
+ authUsername: authUsername,
88
+ authPassword: authPassword,
89
+ }),
90
+ }).toJson();
91
+ const data = await this.rpc.request(svc, 'CreateSIPInboundTrunk', req, await this.authHeader({}, { admin: true }));
92
+ return SIPInboundTrunkInfo.fromJson(data, { ignoreUnknownFields: true });
93
+ }
94
+ /**
95
+ * @param name human-readable name of the trunk
96
+ * @param address hostname and port of the SIP server to dial
97
+ * @param numbers phone numbers of the trunk
98
+ * @param opts CreateSipTrunkOptions
99
+ */
100
+ async createSipOutboundTrunk(name, address, numbers, opts) {
101
+ let authUsername = '';
102
+ let authPassword = '';
103
+ let transport = SIPTransport.SIP_TRANSPORT_AUTO;
104
+ let metadata = '';
105
+ if (opts !== undefined) {
106
+ authUsername = opts.auth_username || '';
107
+ authPassword = opts.auth_password || '';
108
+ transport = opts.transport || SIPTransport.SIP_TRANSPORT_AUTO;
109
+ metadata = opts.metadata || '';
110
+ }
111
+ const req = new CreateSIPOutboundTrunkRequest({
112
+ trunk: new SIPOutboundTrunkInfo({
113
+ name: name,
114
+ address: address,
115
+ numbers: numbers,
116
+ metadata: metadata,
117
+ transport: transport,
118
+ authUsername: authUsername,
119
+ authPassword: authPassword,
120
+ }),
121
+ }).toJson();
122
+ const data = await this.rpc.request(svc, 'CreateSIPOutboundTrunk', req, await this.authHeader({}, { admin: true }));
123
+ return SIPOutboundTrunkInfo.fromJson(data, { ignoreUnknownFields: true });
124
+ }
125
+ /**
126
+ * @deprecated use listSipInboundTrunk or listSipOutboundTrunk
127
+ */
52
128
  async listSipTrunk() {
53
129
  var _a;
54
- let req = {};
55
- const data = await this.rpc.request(svc, 'ListSIPTrunk', new ListSIPTrunkRequest(req).toJson(), await this.authHeader({}));
130
+ const req = {};
131
+ const data = await this.rpc.request(svc, 'ListSIPTrunk', new ListSIPTrunkRequest(req).toJson(), await this.authHeader({}, { admin: true }));
56
132
  return (_a = ListSIPTrunkResponse.fromJson(data, { ignoreUnknownFields: true }).items) !== null && _a !== void 0 ? _a : [];
57
133
  }
134
+ async listSipInboundTrunk() {
135
+ var _a;
136
+ const req = {};
137
+ const data = await this.rpc.request(svc, 'ListSIPInboundTrunk', new ListSIPInboundTrunkRequest(req).toJson(), await this.authHeader({}, { admin: true }));
138
+ return (_a = ListSIPInboundTrunkResponse.fromJson(data, { ignoreUnknownFields: true }).items) !== null && _a !== void 0 ? _a : [];
139
+ }
140
+ async listSipOutboundTrunk() {
141
+ var _a;
142
+ const req = {};
143
+ const data = await this.rpc.request(svc, 'ListSIPOutboundTrunk', new ListSIPOutboundTrunkRequest(req).toJson(), await this.authHeader({}, { admin: true }));
144
+ return (_a = ListSIPOutboundTrunkResponse.fromJson(data, { ignoreUnknownFields: true }).items) !== null && _a !== void 0 ? _a : [];
145
+ }
58
146
  /**
59
147
  * @param sipTrunkId sip trunk to delete
60
148
  */
61
149
  async deleteSipTrunk(sipTrunkId) {
62
- const data = await this.rpc.request(svc, 'DeleteSIPTrunk', new DeleteSIPTrunkRequest({ sipTrunkId }).toJson(), await this.authHeader({}));
150
+ const data = await this.rpc.request(svc, 'DeleteSIPTrunk', new DeleteSIPTrunkRequest({ sipTrunkId }).toJson(), await this.authHeader({}, { admin: true }));
63
151
  return SIPTrunkInfo.fromJson(data, { ignoreUnknownFields: true });
64
152
  }
65
153
  /**
@@ -69,10 +157,14 @@ export class SipClient extends ServiceBase {
69
157
  async createSipDispatchRule(rule, opts) {
70
158
  let trunkIds;
71
159
  let hidePhoneNumber = false;
160
+ let name = '';
161
+ let metadata = '';
72
162
  let ruleProto = undefined;
73
163
  if (opts !== undefined) {
74
164
  trunkIds = opts.trunkIds;
75
165
  hidePhoneNumber = opts.hidePhoneNumber || false;
166
+ name = opts.name || '';
167
+ metadata = opts.metadata || '';
76
168
  }
77
169
  if (rule.type == 'direct') {
78
170
  ruleProto = new SIPDispatchRule({
@@ -100,21 +192,23 @@ export class SipClient extends ServiceBase {
100
192
  rule: ruleProto,
101
193
  trunkIds: trunkIds,
102
194
  hidePhoneNumber: hidePhoneNumber,
195
+ name: name,
196
+ metadata: metadata,
103
197
  }).toJson();
104
- const data = await this.rpc.request(svc, 'CreateSIPDispatchRule', req, await this.authHeader({}));
198
+ const data = await this.rpc.request(svc, 'CreateSIPDispatchRule', req, await this.authHeader({}, { admin: true }));
105
199
  return SIPDispatchRuleInfo.fromJson(data, { ignoreUnknownFields: true });
106
200
  }
107
201
  async listSipDispatchRule() {
108
202
  var _a;
109
- let req = {};
110
- const data = await this.rpc.request(svc, 'ListSIPDispatchRule', new ListSIPDispatchRuleRequest(req).toJson(), await this.authHeader({}));
203
+ const req = {};
204
+ const data = await this.rpc.request(svc, 'ListSIPDispatchRule', new ListSIPDispatchRuleRequest(req).toJson(), await this.authHeader({}, { admin: true }));
111
205
  return (_a = ListSIPDispatchRuleResponse.fromJson(data, { ignoreUnknownFields: true }).items) !== null && _a !== void 0 ? _a : [];
112
206
  }
113
207
  /**
114
208
  * @param sipDispatchRuleId sip trunk to delete
115
209
  */
116
210
  async deleteSipDispatchRule(sipDispatchRuleId) {
117
- const data = await this.rpc.request(svc, 'DeleteSIPDispatchRule', new DeleteSIPDispatchRuleRequest({ sipDispatchRuleId }).toJson(), await this.authHeader({}));
211
+ const data = await this.rpc.request(svc, 'DeleteSIPDispatchRule', new DeleteSIPDispatchRuleRequest({ sipDispatchRuleId }).toJson(), await this.authHeader({}, { admin: true }));
118
212
  return SIPDispatchRuleInfo.fromJson(data, { ignoreUnknownFields: true });
119
213
  }
120
214
  /**
@@ -126,13 +220,17 @@ export class SipClient extends ServiceBase {
126
220
  async createSipParticipant(sipTrunkId, number, roomName, opts) {
127
221
  let participantIdentity = '';
128
222
  let participantName = '';
223
+ let participantMetadata = '';
129
224
  let dtmf = '';
130
225
  let playRingtone = false;
226
+ let hidePhoneNumber = false;
131
227
  if (opts !== undefined) {
132
228
  participantIdentity = opts.participantIdentity || '';
133
229
  participantName = opts.participantName || '';
230
+ participantMetadata = opts.participantMetadata || '';
134
231
  dtmf = opts.dtmf || '';
135
232
  playRingtone = opts.playRingtone || false;
233
+ hidePhoneNumber = opts.hidePhoneNumber || false;
136
234
  }
137
235
  const req = new CreateSIPParticipantRequest({
138
236
  sipTrunkId: sipTrunkId,
@@ -140,10 +238,12 @@ export class SipClient extends ServiceBase {
140
238
  roomName: roomName,
141
239
  participantIdentity: participantIdentity,
142
240
  participantName: participantName,
241
+ participantMetadata: participantMetadata,
143
242
  dtmf: dtmf,
144
243
  playRingtone: playRingtone,
244
+ hidePhoneNumber: hidePhoneNumber,
145
245
  }).toJson();
146
- const data = await this.rpc.request(svc, 'CreateSIPParticipant', req, await this.authHeader({}));
246
+ const data = await this.rpc.request(svc, 'CreateSIPParticipant', req, await this.authHeader({}, { call: true }));
147
247
  return SIPParticipantInfo.fromJson(data, { ignoreUnknownFields: true });
148
248
  }
149
249
  }
@@ -1 +1 @@
1
- {"version":3,"file":"SipClient.js","sourceRoot":"","sources":["../src/SipClient.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"SipClient.js","sourceRoot":"","sources":["../src/SipClient.ts"],"names":[],"mappings":"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"}
@@ -13,3 +13,4 @@ export declare class TwirpRpc {
13
13
  constructor(host: string, pkg: string, prefix?: string);
14
14
  request(service: string, method: string, data: any, headers?: any): Promise<any>;
15
15
  }
16
+ //# sourceMappingURL=TwirpRPC.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"TwirpRPC.d.ts","sourceRoot":"","sources":["../src/TwirpRPC.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAOpD,eAAO,MAAM,cAAc,YAAY,CAAC;AACxC,MAAM,WAAW,GAAG;IAClB,OAAO,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,SAAS,EAAE,OAAO,CAAC,EAAE,GAAG,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;CAC3F;AAED;;GAEG;AACH,qBAAa,QAAQ;IACnB,IAAI,EAAE,MAAM,CAAC;IAEb,GAAG,EAAE,MAAM,CAAC;IAEZ,MAAM,EAAE,MAAM,CAAC;gBAEH,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM;IAShD,OAAO,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,GAAG,EAAE,OAAO,CAAC,EAAE,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC;CAmBvF"}
@@ -1 +1 @@
1
- {"version":3,"file":"TwirpRPC.js","sourceRoot":"","sources":["../src/TwirpRPC.ts"],"names":[],"mappings":"AAAA,OAAO,aAAa,MAAM,gBAAgB,CAAC;AAG3C,8CAA8C;AAE9C,MAAM,aAAa,GAAG,QAAQ,CAAC;AAE/B,MAAM,CAAC,MAAM,cAAc,GAAG,SAAS,CAAC;AAKxC;;GAEG;AACH,MAAM,OAAO,QAAQ;IAOnB,YAAY,IAAY,EAAE,GAAW,EAAE,MAAe;QACpD,IAAI,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC;YAC1B,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;QACpC,CAAC;QACD,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC,GAAG,GAAG,GAAG,CAAC;QACf,IAAI,CAAC,MAAM,GAAG,MAAM,IAAI,aAAa,CAAC;IACxC,CAAC;IAED,KAAK,CAAC,OAAO,CAAC,OAAe,EAAE,MAAc,EAAE,IAAS,EAAE,OAAa;QACrE,MAAM,IAAI,GAAG,GAAG,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,GAAG,IAAI,OAAO,IAAI,MAAM,EAAE,CAAC;QAC/D,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;QAErC,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,GAAG,EAAE;YAChC,MAAM,EAAE,MAAM;YACd,OAAO,kBACL,cAAc,EAAE,gCAAgC,IAC7C,OAAO,CACX;YACD,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC;SAC3B,CAAC,CAAC;QAEH,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;YACjB,MAAM,IAAI,KAAK,CAAC,8BAA8B,QAAQ,CAAC,MAAM,KAAK,QAAQ,CAAC,UAAU,EAAE,CAAC,CAAC;QAC3F,CAAC;QACD,MAAM,UAAU,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC;QACzC,OAAO,aAAa,CAAC,UAAU,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;IACnD,CAAC;CACF"}
1
+ {"version":3,"file":"TwirpRPC.js","sourceRoot":"","sources":["../src/TwirpRPC.ts"],"names":[],"mappings":"AAIA,OAAO,aAAa,MAAM,gBAAgB,CAAC;AAE3C,8CAA8C;AAE9C,MAAM,aAAa,GAAG,QAAQ,CAAC;AAE/B,MAAM,CAAC,MAAM,cAAc,GAAG,SAAS,CAAC;AAKxC;;GAEG;AACH,MAAM,OAAO,QAAQ;IAOnB,YAAY,IAAY,EAAE,GAAW,EAAE,MAAe;QACpD,IAAI,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC;YAC1B,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;QACpC,CAAC;QACD,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC,GAAG,GAAG,GAAG,CAAC;QACf,IAAI,CAAC,MAAM,GAAG,MAAM,IAAI,aAAa,CAAC;IACxC,CAAC;IAED,KAAK,CAAC,OAAO,CAAC,OAAe,EAAE,MAAc,EAAE,IAAS,EAAE,OAAa;QACrE,MAAM,IAAI,GAAG,GAAG,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,GAAG,IAAI,OAAO,IAAI,MAAM,EAAE,CAAC;QAC/D,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;QAErC,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,GAAG,EAAE;YAChC,MAAM,EAAE,MAAM;YACd,OAAO,kBACL,cAAc,EAAE,gCAAgC,IAC7C,OAAO,CACX;YACD,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC;SAC3B,CAAC,CAAC;QAEH,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;YACjB,MAAM,IAAI,KAAK,CAAC,8BAA8B,QAAQ,CAAC,MAAM,KAAK,QAAQ,CAAC,UAAU,EAAE,CAAC,CAAC;QAC3F,CAAC;QACD,MAAM,UAAU,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC;QACzC,OAAO,aAAa,CAAC,UAAU,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;IACnD,CAAC;CACF"}
@@ -1,4 +1,4 @@
1
- import type { BinaryReadOptions, JsonValue, JsonReadOptions } from '@bufbuild/protobuf';
1
+ import type { BinaryReadOptions, JsonReadOptions, JsonValue } from '@bufbuild/protobuf';
2
2
  import { WebhookEvent as ProtoWebhookEvent } from '@livekit/protocol';
3
3
  export declare const authorizeHeader = "Authorize";
4
4
  export declare class WebhookEvent extends ProtoWebhookEvent {
@@ -25,3 +25,4 @@ export declare class WebhookReceiver {
25
25
  */
26
26
  receive(body: string, authHeader?: string, skipAuth?: boolean): Promise<WebhookEvent>;
27
27
  }
28
+ //# sourceMappingURL=WebhookReceiver.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"WebhookReceiver.d.ts","sourceRoot":"","sources":["../src/WebhookReceiver.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,iBAAiB,EAAE,eAAe,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AACxF,OAAO,EAAE,YAAY,IAAI,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AAGtE,eAAO,MAAM,eAAe,cAAc,CAAC;AAE3C,qBAAa,YAAa,SAAQ,iBAAiB;IACjD,KAAK,EAAE,iBAAiB,CAAM;IAE9B,MAAM,CAAC,UAAU,CAAC,KAAK,EAAE,UAAU,EAAE,OAAO,CAAC,EAAE,OAAO,CAAC,iBAAiB,CAAC,GAAG,YAAY;IAIxF,MAAM,CAAC,QAAQ,CAAC,SAAS,EAAE,SAAS,EAAE,OAAO,CAAC,EAAE,OAAO,CAAC,eAAe,CAAC,GAAG,YAAY;IAIvF,MAAM,CAAC,cAAc,CAAC,UAAU,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,OAAO,CAAC,eAAe,CAAC,GAAG,YAAY;CAG5F;AAED,MAAM,MAAM,iBAAiB,GACzB,cAAc,GACd,eAAe,GACf,oBAAoB,GACpB,kBAAkB,GAClB,iBAAiB,GACjB,mBAAmB,GACnB,gBAAgB,GAChB,gBAAgB,GAChB,cAAc,GACd,iBAAiB,GACjB,eAAe;AACjB;;;GAGG;GACD,EAAE,CAAC;AAEP,qBAAa,eAAe;IAC1B,OAAO,CAAC,QAAQ,CAAgB;gBAEpB,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM;IAI7C;;;;;;OAMG;IACG,OAAO,CACX,IAAI,EAAE,MAAM,EACZ,UAAU,CAAC,EAAE,MAAM,EACnB,QAAQ,GAAE,OAAe,GACxB,OAAO,CAAC,YAAY,CAAC;CAuBzB"}
@@ -1 +1 @@
1
- {"version":3,"file":"WebhookReceiver.js","sourceRoot":"","sources":["../src/WebhookReceiver.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,IAAI,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AACtE,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAEjD,MAAM,CAAC,MAAM,eAAe,GAAG,WAAW,CAAC;AAE3C,MAAM,OAAO,YAAa,SAAQ,iBAAiB;IAAnD;;QACE,UAAK,GAAsB,EAAE,CAAC;IAahC,CAAC;IAXC,MAAM,CAAC,UAAU,CAAC,KAAiB,EAAE,OAAoC;QACvE,OAAO,IAAI,YAAY,EAAE,CAAC,UAAU,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;IACvD,CAAC;IAED,MAAM,CAAC,QAAQ,CAAC,SAAoB,EAAE,OAAkC;QACtE,OAAO,IAAI,YAAY,EAAE,CAAC,QAAQ,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;IACzD,CAAC;IAED,MAAM,CAAC,cAAc,CAAC,UAAkB,EAAE,OAAkC;QAC1E,OAAO,IAAI,YAAY,EAAE,CAAC,cAAc,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC;IAChE,CAAC;CACF;AAoBD,MAAM,OAAO,eAAe;IAG1B,YAAY,MAAc,EAAE,SAAiB;QAC3C,IAAI,CAAC,QAAQ,GAAG,IAAI,aAAa,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;IACvD,CAAC;IAED;;;;;;OAMG;IACH,KAAK,CAAC,OAAO,CACX,IAAY,EACZ,UAAmB,EACnB,WAAoB,KAAK;QAEzB,eAAe;QACf,IAAI,CAAC,QAAQ,EAAE,CAAC;YACd,IAAI,CAAC,UAAU,EAAE,CAAC;gBAChB,MAAM,IAAI,KAAK,CAAC,+BAA+B,CAAC,CAAC;YACnD,CAAC;YACD,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;YACtD,cAAc;YACd,MAAM,OAAO,GAAG,IAAI,WAAW,EAAE,CAAC;YAClC,MAAM,IAAI,GAAG,MAAM,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,SAAS,EAAE,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC;YACzE,MAAM,WAAW,GAAG,IAAI,CACtB,KAAK,CAAC,IAAI,CAAC,IAAI,UAAU,CAAC,IAAI,CAAC,CAAC;iBAC7B,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;iBAClC,IAAI,CAAC,EAAE,CAAC,CACZ,CAAC;YAEF,IAAI,MAAM,CAAC,MAAM,KAAK,WAAW,EAAE,CAAC;gBAClC,MAAM,IAAI,KAAK,CAAC,wCAAwC,CAAC,CAAC;YAC5D,CAAC;QACH,CAAC;QAED,OAAO,YAAY,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,EAAE,mBAAmB,EAAE,IAAI,EAAE,CAAC,CAAC;IAChF,CAAC;CACF"}
1
+ {"version":3,"file":"WebhookReceiver.js","sourceRoot":"","sources":["../src/WebhookReceiver.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,YAAY,IAAI,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AACtE,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAEjD,MAAM,CAAC,MAAM,eAAe,GAAG,WAAW,CAAC;AAE3C,MAAM,OAAO,YAAa,SAAQ,iBAAiB;IAAnD;;QACE,UAAK,GAAsB,EAAE,CAAC;IAahC,CAAC;IAXC,MAAM,CAAC,UAAU,CAAC,KAAiB,EAAE,OAAoC;QACvE,OAAO,IAAI,YAAY,EAAE,CAAC,UAAU,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;IACvD,CAAC;IAED,MAAM,CAAC,QAAQ,CAAC,SAAoB,EAAE,OAAkC;QACtE,OAAO,IAAI,YAAY,EAAE,CAAC,QAAQ,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;IACzD,CAAC;IAED,MAAM,CAAC,cAAc,CAAC,UAAkB,EAAE,OAAkC;QAC1E,OAAO,IAAI,YAAY,EAAE,CAAC,cAAc,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC;IAChE,CAAC;CACF;AAoBD,MAAM,OAAO,eAAe;IAG1B,YAAY,MAAc,EAAE,SAAiB;QAC3C,IAAI,CAAC,QAAQ,GAAG,IAAI,aAAa,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;IACvD,CAAC;IAED;;;;;;OAMG;IACH,KAAK,CAAC,OAAO,CACX,IAAY,EACZ,UAAmB,EACnB,WAAoB,KAAK;QAEzB,eAAe;QACf,IAAI,CAAC,QAAQ,EAAE,CAAC;YACd,IAAI,CAAC,UAAU,EAAE,CAAC;gBAChB,MAAM,IAAI,KAAK,CAAC,+BAA+B,CAAC,CAAC;YACnD,CAAC;YACD,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;YACtD,cAAc;YACd,MAAM,OAAO,GAAG,IAAI,WAAW,EAAE,CAAC;YAClC,MAAM,IAAI,GAAG,MAAM,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,SAAS,EAAE,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC;YACzE,MAAM,WAAW,GAAG,IAAI,CACtB,KAAK,CAAC,IAAI,CAAC,IAAI,UAAU,CAAC,IAAI,CAAC,CAAC;iBAC7B,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;iBAClC,IAAI,CAAC,EAAE,CAAC,CACZ,CAAC;YAEF,IAAI,MAAM,CAAC,MAAM,KAAK,WAAW,EAAE,CAAC;gBAClC,MAAM,IAAI,KAAK,CAAC,wCAAwC,CAAC,CAAC;YAC5D,CAAC;QACH,CAAC;QAED,OAAO,YAAY,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,EAAE,mBAAmB,EAAE,IAAI,EAAE,CAAC,CAAC;IAChF,CAAC;CACF"}
package/dist/grants.d.ts CHANGED
@@ -1,5 +1,5 @@
1
- import { JWTPayload } from 'jose';
2
1
  import { TrackSource } from '@livekit/protocol';
2
+ import type { JWTPayload } from 'jose';
3
3
  export declare function trackSourceToString(source: TrackSource): "camera" | "microphone" | "screen_share" | "screen_share_audio";
4
4
  export declare function claimsToJwtPayload(grant: ClaimGrants): JWTPayload & {
5
5
  video?: Record<string, unknown>;
@@ -43,13 +43,23 @@ export interface VideoGrant {
43
43
  hidden?: boolean;
44
44
  /** participant is recording the room, when set, allows room to indicate it's being recorded */
45
45
  recorder?: boolean;
46
- /** participant acts as a server side participant/bot/agent */
46
+ /** participant allowed to connect to LiveKit as Agent Framework worker */
47
47
  agent?: boolean;
48
48
  }
49
+ export interface SIPGrant {
50
+ /** manage sip resources */
51
+ admin?: boolean;
52
+ /** make outbound calls */
53
+ call?: boolean;
54
+ }
49
55
  /** @internal */
50
56
  export interface ClaimGrants extends JWTPayload {
51
57
  name?: string;
52
58
  video?: VideoGrant;
59
+ sip?: SIPGrant;
60
+ kind?: string;
53
61
  metadata?: string;
62
+ attributes?: Record<string, string>;
54
63
  sha256?: string;
55
64
  }
65
+ //# sourceMappingURL=grants.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"grants.d.ts","sourceRoot":"","sources":["../src/grants.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAChD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,MAAM,CAAC;AAEvC,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,WAAW,mEAatD;AAED,wBAAgB,kBAAkB,CAChC,KAAK,EAAE,WAAW,GACjB,UAAU,GAAG;IAAE,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;CAAE,CAOlD;AAED,MAAM,WAAW,UAAU;IACzB,kCAAkC;IAClC,UAAU,CAAC,EAAE,OAAO,CAAC;IAErB,mEAAmE;IACnE,QAAQ,CAAC,EAAE,OAAO,CAAC;IAEnB,+BAA+B;IAC/B,QAAQ,CAAC,EAAE,OAAO,CAAC;IAEnB,sCAAsC;IACtC,UAAU,CAAC,EAAE,OAAO,CAAC;IAErB,8DAA8D;IAC9D,SAAS,CAAC,EAAE,OAAO,CAAC;IAEpB,kEAAkE;IAClE,IAAI,CAAC,EAAE,MAAM,CAAC;IAEd,0EAA0E;IAC1E,YAAY,CAAC,EAAE,OAAO,CAAC;IAEvB;;;OAGG;IACH,UAAU,CAAC,EAAE,OAAO,CAAC;IAErB;;;OAGG;IACH,iBAAiB,CAAC,EAAE,WAAW,EAAE,CAAC;IAElC,qDAAqD;IACrD,YAAY,CAAC,EAAE,OAAO,CAAC;IAEvB;;OAEG;IACH,cAAc,CAAC,EAAE,OAAO,CAAC;IAEzB;;OAEG;IACH,oBAAoB,CAAC,EAAE,OAAO,CAAC;IAE/B,0CAA0C;IAC1C,MAAM,CAAC,EAAE,OAAO,CAAC;IAEjB,+FAA+F;IAC/F,QAAQ,CAAC,EAAE,OAAO,CAAC;IAEnB,0EAA0E;IAC1E,KAAK,CAAC,EAAE,OAAO,CAAC;CACjB;AAED,MAAM,WAAW,QAAQ;IACvB,2BAA2B;IAC3B,KAAK,CAAC,EAAE,OAAO,CAAC;IAEhB,0BAA0B;IAC1B,IAAI,CAAC,EAAE,OAAO,CAAC;CAChB;AAED,gBAAgB;AAChB,MAAM,WAAW,WAAY,SAAQ,UAAU;IAC7C,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,UAAU,CAAC;IACnB,GAAG,CAAC,EAAE,QAAQ,CAAC;IACf,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACpC,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB"}
package/dist/grants.js CHANGED
@@ -1,3 +1,6 @@
1
+ // SPDX-FileCopyrightText: 2024 LiveKit, Inc.
2
+ //
3
+ // SPDX-License-Identifier: Apache-2.0
1
4
  import { TrackSource } from '@livekit/protocol';
2
5
  export function trackSourceToString(source) {
3
6
  switch (source) {
@@ -1 +1 @@
1
- {"version":3,"file":"grants.js","sourceRoot":"","sources":["../src/grants.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAEhD,MAAM,UAAU,mBAAmB,CAAC,MAAmB;IACrD,QAAQ,MAAM,EAAE,CAAC;QACf,KAAK,WAAW,CAAC,MAAM;YACrB,OAAO,QAAQ,CAAC;QAClB,KAAK,WAAW,CAAC,UAAU;YACzB,OAAO,YAAY,CAAC;QACtB,KAAK,WAAW,CAAC,YAAY;YAC3B,OAAO,cAAc,CAAC;QACxB,KAAK,WAAW,CAAC,kBAAkB;YACjC,OAAO,oBAAoB,CAAC;QAC9B;YACE,MAAM,IAAI,SAAS,CAAC,8BAA8B,MAAM,YAAY,CAAC,CAAC;IAC1E,CAAC;AACH,CAAC;AAED,MAAM,UAAU,kBAAkB,CAChC,KAAkB;;IAElB,MAAM,KAAK,qBAA6B,KAAK,CAAE,CAAC;IAChD,gDAAgD;IAChD,IAAI,KAAK,CAAC,OAAO,CAAC,MAAA,KAAK,CAAC,KAAK,0CAAE,iBAAiB,CAAC,EAAE,CAAC;QAClD,KAAK,CAAC,KAAK,CAAC,iBAAiB,GAAG,KAAK,CAAC,KAAK,CAAC,iBAAiB,CAAC,GAAG,CAAC,mBAAmB,CAAC,CAAC;IACzF,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC"}
1
+ {"version":3,"file":"grants.js","sourceRoot":"","sources":["../src/grants.ts"],"names":[],"mappings":"AAAA,6CAA6C;AAC7C,EAAE;AACF,sCAAsC;AACtC,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAGhD,MAAM,UAAU,mBAAmB,CAAC,MAAmB;IACrD,QAAQ,MAAM,EAAE,CAAC;QACf,KAAK,WAAW,CAAC,MAAM;YACrB,OAAO,QAAQ,CAAC;QAClB,KAAK,WAAW,CAAC,UAAU;YACzB,OAAO,YAAY,CAAC;QACtB,KAAK,WAAW,CAAC,YAAY;YAC3B,OAAO,cAAc,CAAC;QACxB,KAAK,WAAW,CAAC,kBAAkB;YACjC,OAAO,oBAAoB,CAAC;QAC9B;YACE,MAAM,IAAI,SAAS,CAAC,8BAA8B,MAAM,YAAY,CAAC,CAAC;IAC1E,CAAC;AACH,CAAC;AAED,MAAM,UAAU,kBAAkB,CAChC,KAAkB;;IAElB,MAAM,KAAK,qBAA6B,KAAK,CAAE,CAAC;IAChD,gDAAgD;IAChD,IAAI,KAAK,CAAC,OAAO,CAAC,MAAA,KAAK,CAAC,KAAK,0CAAE,iBAAiB,CAAC,EAAE,CAAC;QAClD,KAAK,CAAC,KAAK,CAAC,iBAAiB,GAAG,KAAK,CAAC,KAAK,CAAC,iBAAiB,CAAC,GAAG,CAAC,mBAAmB,CAAC,CAAC;IACzF,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC"}
package/dist/index.d.ts CHANGED
@@ -6,3 +6,4 @@ export * from './RoomServiceClient.js';
6
6
  export * from './WebhookReceiver.js';
7
7
  export * from './grants.js';
8
8
  export { AliOSSUpload, AzureBlobUpload, DirectFileOutput, EgressInfo, EncodedFileOutput, EncodedFileType, EncodingOptions, EncodingOptionsPreset, GCPUpload, ImageOutput, ParticipantEgressRequest, RoomCompositeEgressRequest, S3Upload, SegmentedFileOutput, SegmentedFileProtocol, StreamOutput, StreamProtocol, TrackCompositeEgressRequest, TrackEgressRequest, WebEgressRequest, IngressAudioEncodingOptions, IngressAudioEncodingPreset, IngressAudioOptions, IngressInfo, IngressInput, IngressState, IngressVideoEncodingOptions, IngressVideoEncodingPreset, IngressVideoOptions, DataPacket_Kind, ParticipantInfo, ParticipantInfo_State, ParticipantPermission, Room, TrackInfo, TrackType, TrackSource, SIPTrunkInfo, SIPDispatchRuleInfo, SIPParticipantInfo, } from '@livekit/protocol';
9
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAIA,cAAc,kBAAkB,CAAC;AACjC,cAAc,mBAAmB,CAAC;AAClC,cAAc,oBAAoB,CAAC;AACnC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,wBAAwB,CAAC;AACvC,cAAc,sBAAsB,CAAC;AACrC,cAAc,aAAa,CAAC;AAC5B,OAAO,EACL,YAAY,EACZ,eAAe,EACf,gBAAgB,EAChB,UAAU,EACV,iBAAiB,EACjB,eAAe,EACf,eAAe,EACf,qBAAqB,EACrB,SAAS,EACT,WAAW,EACX,wBAAwB,EACxB,0BAA0B,EAC1B,QAAQ,EACR,mBAAmB,EACnB,qBAAqB,EACrB,YAAY,EACZ,cAAc,EACd,2BAA2B,EAC3B,kBAAkB,EAClB,gBAAgB,EAChB,2BAA2B,EAC3B,0BAA0B,EAC1B,mBAAmB,EACnB,WAAW,EACX,YAAY,EACZ,YAAY,EACZ,2BAA2B,EAC3B,0BAA0B,EAC1B,mBAAmB,EACnB,eAAe,EACf,eAAe,EACf,qBAAqB,EACrB,qBAAqB,EACrB,IAAI,EACJ,SAAS,EACT,SAAS,EACT,WAAW,EACX,YAAY,EACZ,mBAAmB,EACnB,kBAAkB,GACnB,MAAM,mBAAmB,CAAC"}
package/dist/index.js CHANGED
@@ -1,3 +1,6 @@
1
+ // SPDX-FileCopyrightText: 2024 LiveKit, Inc.
2
+ //
3
+ // SPDX-License-Identifier: Apache-2.0
1
4
  export * from './AccessToken.js';
2
5
  export * from './EgressClient.js';
3
6
  export * from './IngressClient.js';
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,kBAAkB,CAAC;AACjC,cAAc,mBAAmB,CAAC;AAClC,cAAc,oBAAoB,CAAC;AACnC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,wBAAwB,CAAC;AACvC,cAAc,sBAAsB,CAAC;AACrC,cAAc,aAAa,CAAC;AAC5B,OAAO,EACL,YAAY,EACZ,eAAe,EACf,gBAAgB,EAChB,UAAU,EACV,iBAAiB,EACjB,eAAe,EACf,eAAe,EACf,qBAAqB,EACrB,SAAS,EACT,WAAW,EACX,wBAAwB,EACxB,0BAA0B,EAC1B,QAAQ,EACR,mBAAmB,EACnB,qBAAqB,EACrB,YAAY,EACZ,cAAc,EACd,2BAA2B,EAC3B,kBAAkB,EAClB,gBAAgB,EAChB,2BAA2B,EAC3B,0BAA0B,EAC1B,mBAAmB,EACnB,WAAW,EACX,YAAY,EACZ,YAAY,EACZ,2BAA2B,EAC3B,0BAA0B,EAC1B,mBAAmB,EACnB,eAAe,EACf,eAAe,EACf,qBAAqB,EACrB,qBAAqB,EACrB,IAAI,EACJ,SAAS,EACT,SAAS,EACT,WAAW,EACX,YAAY,EACZ,mBAAmB,EACnB,kBAAkB,GACnB,MAAM,mBAAmB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,6CAA6C;AAC7C,EAAE;AACF,sCAAsC;AAEtC,cAAc,kBAAkB,CAAC;AACjC,cAAc,mBAAmB,CAAC;AAClC,cAAc,oBAAoB,CAAC;AACnC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,wBAAwB,CAAC;AACvC,cAAc,sBAAsB,CAAC;AACrC,cAAc,aAAa,CAAC;AAC5B,OAAO,EACL,YAAY,EACZ,eAAe,EACf,gBAAgB,EAChB,UAAU,EACV,iBAAiB,EACjB,eAAe,EACf,eAAe,EACf,qBAAqB,EACrB,SAAS,EACT,WAAW,EACX,wBAAwB,EACxB,0BAA0B,EAC1B,QAAQ,EACR,mBAAmB,EACnB,qBAAqB,EACrB,YAAY,EACZ,cAAc,EACd,2BAA2B,EAC3B,kBAAkB,EAClB,gBAAgB,EAChB,2BAA2B,EAC3B,0BAA0B,EAC1B,mBAAmB,EACnB,WAAW,EACX,YAAY,EACZ,YAAY,EACZ,2BAA2B,EAC3B,0BAA0B,EAC1B,mBAAmB,EACnB,eAAe,EACf,eAAe,EACf,qBAAqB,EACrB,qBAAqB,EACrB,IAAI,EACJ,SAAS,EACT,SAAS,EACT,WAAW,EACX,YAAY,EACZ,mBAAmB,EACnB,kBAAkB,GACnB,MAAM,mBAAmB,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "livekit-server-sdk",
3
- "version": "2.3.0",
3
+ "version": "2.5.0",
4
4
  "description": "Server-side SDK for LiveKit",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",
@@ -8,8 +8,12 @@
8
8
  "author": "David Zhao <david@davidzhao.com>",
9
9
  "license": "Apache-2.0",
10
10
  "type": "module",
11
+ "files": [
12
+ "dist",
13
+ "src"
14
+ ],
11
15
  "dependencies": {
12
- "@livekit/protocol": "^1.14.0",
16
+ "@livekit/protocol": "^1.19.0",
13
17
  "camelcase-keys": "^9.0.0",
14
18
  "jose": "^5.1.2"
15
19
  },
@@ -19,11 +23,6 @@
19
23
  "@edge-runtime/vm": "^3.1.7",
20
24
  "@livekit/changesets-changelog-github": "^0.0.4",
21
25
  "@types/node": "^20.10.1",
22
- "@typescript-eslint/eslint-plugin": "^7.7.0",
23
- "eslint": "^8.56.0",
24
- "eslint-config-airbnb-typescript": "^18.0.0",
25
- "eslint-config-prettier": "^9.1.0",
26
- "eslint-plugin-import": "^2.29.1",
27
26
  "happy-dom": "^14.0.0",
28
27
  "prettier": "^3.0.0",
29
28
  "typedoc": "^0.25.13",
@@ -40,7 +39,7 @@
40
39
  "build-docs": "typedoc",
41
40
  "changeset": "changeset",
42
41
  "ci:publish": "pnpm build && changeset publish",
43
- "lint": "eslint .",
42
+ "lint": "eslint src",
44
43
  "format": "prettier --write src",
45
44
  "format:check": "prettier --check src",
46
45
  "test": "vitest --environment node run",
@@ -0,0 +1,100 @@
1
+ // SPDX-FileCopyrightText: 2024 LiveKit, Inc.
2
+ //
3
+ // SPDX-License-Identifier: Apache-2.0
4
+ import * as jose from 'jose';
5
+ import { describe, expect, it } from 'vitest';
6
+ import { AccessToken, TokenVerifier } from './AccessToken';
7
+ import type { ClaimGrants } from './grants';
8
+
9
+ const testApiKey = 'abcdefg';
10
+ const testSecret = 'abababa';
11
+
12
+ describe('encoded tokens are valid', () => {
13
+ const t = new AccessToken(testApiKey, testSecret, {
14
+ identity: 'me',
15
+ name: 'myname',
16
+ });
17
+ t.addGrant({ room: 'myroom' });
18
+ const EncodedTestSecret = new TextEncoder().encode(testSecret);
19
+ it('can be decoded', async () => {
20
+ const { payload } = await jose.jwtVerify(await t.toJwt(), EncodedTestSecret, {
21
+ issuer: testApiKey,
22
+ });
23
+
24
+ expect(payload).not.toBe(undefined);
25
+ });
26
+
27
+ it('has name set', async () => {
28
+ const { payload } = await jose.jwtVerify(await t.toJwt(), EncodedTestSecret, {
29
+ issuer: testApiKey,
30
+ });
31
+
32
+ expect(payload.name).toBe('myname');
33
+ });
34
+
35
+ it('has video grants set', async () => {
36
+ const { payload } = await jose.jwtVerify(await t.toJwt(), EncodedTestSecret, {
37
+ issuer: testApiKey,
38
+ });
39
+
40
+ expect(payload.video).toBeTruthy();
41
+ expect((payload as ClaimGrants).video?.room).toEqual('myroom');
42
+ });
43
+ });
44
+
45
+ describe('identity is required for only join grants', () => {
46
+ it('allows empty identity for create', async () => {
47
+ const t = new AccessToken(testApiKey, testSecret);
48
+ t.addGrant({ roomCreate: true });
49
+
50
+ expect(await t.toJwt()).toBeTruthy();
51
+ });
52
+ it('throws error when identity is not provided for join', async () => {
53
+ const t = new AccessToken(testApiKey, testSecret);
54
+ t.addGrant({ roomJoin: true });
55
+
56
+ await expect(async () => {
57
+ await t.toJwt();
58
+ }).rejects.toThrow();
59
+ });
60
+ });
61
+
62
+ describe('verify token is valid', () => {
63
+ it('can decode encoded token', async () => {
64
+ const t = new AccessToken(testApiKey, testSecret);
65
+ t.sha256 = 'abcdefg';
66
+ t.kind = 'agent';
67
+ t.addGrant({ roomCreate: true });
68
+ t.attributes = { foo: 'bar', live: 'kit' };
69
+
70
+ const v = new TokenVerifier(testApiKey, testSecret);
71
+ const decoded = await v.verify(await t.toJwt());
72
+
73
+ expect(decoded).not.toBe(undefined);
74
+ expect(decoded.sha256).toEqual('abcdefg');
75
+ expect(decoded.video?.roomCreate).toBeTruthy();
76
+ expect(decoded.kind).toEqual('agent');
77
+ expect(decoded.attributes).toEqual(t.attributes);
78
+ });
79
+ });
80
+
81
+ describe('adding grants should not overwrite existing grants', () => {
82
+ const EncodedTestSecret = new TextEncoder().encode(testSecret);
83
+
84
+ it('should not overwrite existing grants', async () => {
85
+ const t = new AccessToken(testApiKey, testSecret, {
86
+ identity: 'me',
87
+ name: 'myname',
88
+ });
89
+ t.addGrant({ roomCreate: true });
90
+ t.addGrant({ roomJoin: true });
91
+
92
+ const { payload }: jose.JWTVerifyResult<ClaimGrants> = await jose.jwtVerify(
93
+ await t.toJwt(),
94
+ EncodedTestSecret,
95
+ { issuer: testApiKey },
96
+ );
97
+ expect(payload.video?.roomCreate).toBeTruthy();
98
+ expect(payload.video?.roomJoin).toBeTruthy();
99
+ });
100
+ });