livekit-server-sdk 2.9.2 → 2.9.4

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 (46) hide show
  1. package/dist/AccessToken.d.cts +80 -0
  2. package/dist/AgentDispatchClient.d.cts +50 -0
  3. package/dist/EgressClient.cjs +1 -0
  4. package/dist/EgressClient.cjs.map +1 -1
  5. package/dist/EgressClient.d.cts +168 -0
  6. package/dist/EgressClient.d.ts.map +1 -1
  7. package/dist/EgressClient.js +1 -0
  8. package/dist/EgressClient.js.map +1 -1
  9. package/dist/IngressClient.d.cts +136 -0
  10. package/dist/RoomServiceClient.d.cts +173 -0
  11. package/dist/ServiceBase.d.cts +21 -0
  12. package/dist/SipClient.d.cts +142 -0
  13. package/dist/TwirpRPC.d.cts +18 -0
  14. package/dist/WebhookReceiver.cjs +12 -2
  15. package/dist/WebhookReceiver.cjs.map +1 -1
  16. package/dist/WebhookReceiver.d.cts +29 -0
  17. package/dist/WebhookReceiver.d.ts.map +1 -1
  18. package/dist/WebhookReceiver.js +2 -2
  19. package/dist/WebhookReceiver.js.map +1 -1
  20. package/dist/digest.cjs +44 -0
  21. package/dist/digest.cjs.map +1 -0
  22. package/dist/digest.d.cts +3 -0
  23. package/dist/digest.d.ts +2 -0
  24. package/dist/digest.d.ts.map +1 -0
  25. package/dist/digest.js +14 -0
  26. package/dist/digest.js.map +1 -0
  27. package/dist/grants.d.cts +71 -0
  28. package/dist/index.d.cts +12 -0
  29. package/package.json +14 -6
  30. package/src/AccessToken.test.ts +6 -6
  31. package/src/EgressClient.ts +1 -0
  32. package/src/WebhookReceiver.ts +2 -2
  33. package/src/digest.ts +14 -0
  34. package/src/grants.test.ts +2 -2
  35. package/dist/AccessToken.test.cjs +0 -147
  36. package/dist/AccessToken.test.cjs.map +0 -1
  37. package/dist/AccessToken.test.js +0 -129
  38. package/dist/AccessToken.test.js.map +0 -1
  39. package/dist/WebhookReceiver.test.cjs +0 -38
  40. package/dist/WebhookReceiver.test.cjs.map +0 -1
  41. package/dist/WebhookReceiver.test.js +0 -37
  42. package/dist/WebhookReceiver.test.js.map +0 -1
  43. package/dist/grants.test.cjs +0 -27
  44. package/dist/grants.test.cjs.map +0 -1
  45. package/dist/grants.test.js +0 -26
  46. package/dist/grants.test.js.map +0 -1
@@ -1,37 +0,0 @@
1
- import { describe, expect, it } from "vitest";
2
- import { AccessToken } from "./AccessToken.js";
3
- import { WebhookEvent, WebhookReceiver } from "./WebhookReceiver.js";
4
- const testApiKey = "abcdefg";
5
- const testSecret = "abababa";
6
- describe("webhook receiver", () => {
7
- const body = '{"event":"room_started", "room":{"sid":"RM_TkVjUvAqgzKz", "name":"mytestroom", "emptyTimeout":300, "creationTime":"1628545903", "turnPassword":"ICkSr2rEeslkN6e9bXL4Ji5zzMD5Z7zzr6ulOaxMj6N", "enabledCodecs":[{"mime":"audio/opus"}, {"mime":"video/VP8"}]}}';
8
- const sha = "CoEQz1chqJ9bnZRcORddjplkvpjmPujmLTR42DbefYI=";
9
- const t = new AccessToken(testApiKey, testSecret);
10
- t.sha256 = sha;
11
- const receiver = new WebhookReceiver(testApiKey, testSecret);
12
- it("should receive and decode WebhookEvent", async () => {
13
- var _a;
14
- const token = await t.toJwt();
15
- const event = await receiver.receive(body, token);
16
- expect(event).toBeTruthy();
17
- expect((_a = event.room) == null ? void 0 : _a.name).toBe("mytestroom");
18
- expect(event.event).toBe("room_started");
19
- });
20
- });
21
- describe("decoding json payload", () => {
22
- it("should allow server to return extra fields", () => {
23
- var _a;
24
- const obj = {
25
- type: "room_started",
26
- room: {
27
- sid: "RM_TkVjUvAqgzKz",
28
- name: "mytestroom"
29
- },
30
- extra: "extra"
31
- };
32
- const event = new WebhookEvent(obj);
33
- expect(event).toBeTruthy();
34
- expect((_a = event.room) == null ? void 0 : _a.name).toBe("mytestroom");
35
- });
36
- });
37
- //# sourceMappingURL=WebhookReceiver.test.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/WebhookReceiver.test.ts"],"sourcesContent":["// SPDX-FileCopyrightText: 2024 LiveKit, Inc.\n//\n// SPDX-License-Identifier: Apache-2.0\nimport { describe, expect, it } from 'vitest';\nimport { AccessToken } from './AccessToken.js';\nimport { WebhookEvent, WebhookReceiver } from './WebhookReceiver.js';\n\nconst testApiKey = 'abcdefg';\nconst testSecret = 'abababa';\n\ndescribe('webhook receiver', () => {\n const body =\n '{\"event\":\"room_started\", \"room\":{\"sid\":\"RM_TkVjUvAqgzKz\", \"name\":\"mytestroom\", \"emptyTimeout\":300, \"creationTime\":\"1628545903\", \"turnPassword\":\"ICkSr2rEeslkN6e9bXL4Ji5zzMD5Z7zzr6ulOaxMj6N\", \"enabledCodecs\":[{\"mime\":\"audio/opus\"}, {\"mime\":\"video/VP8\"}]}}';\n const sha = 'CoEQz1chqJ9bnZRcORddjplkvpjmPujmLTR42DbefYI=';\n const t = new AccessToken(testApiKey, testSecret);\n t.sha256 = sha;\n\n const receiver = new WebhookReceiver(testApiKey, testSecret);\n\n it('should receive and decode WebhookEvent', async () => {\n const token = await t.toJwt();\n const event = await receiver.receive(body, token);\n expect(event).toBeTruthy();\n expect(event.room?.name).toBe('mytestroom');\n expect(event.event).toBe('room_started');\n });\n});\n\ndescribe('decoding json payload', () => {\n it('should allow server to return extra fields', () => {\n const obj = {\n type: 'room_started',\n room: {\n sid: 'RM_TkVjUvAqgzKz',\n name: 'mytestroom',\n },\n extra: 'extra',\n };\n\n const event = new WebhookEvent(obj);\n expect(event).toBeTruthy();\n expect(event.room?.name).toBe('mytestroom');\n });\n});\n"],"mappings":"AAGA,SAAS,UAAU,QAAQ,UAAU;AACrC,SAAS,mBAAmB;AAC5B,SAAS,cAAc,uBAAuB;AAE9C,MAAM,aAAa;AACnB,MAAM,aAAa;AAEnB,SAAS,oBAAoB,MAAM;AACjC,QAAM,OACJ;AACF,QAAM,MAAM;AACZ,QAAM,IAAI,IAAI,YAAY,YAAY,UAAU;AAChD,IAAE,SAAS;AAEX,QAAM,WAAW,IAAI,gBAAgB,YAAY,UAAU;AAE3D,KAAG,0CAA0C,YAAY;AAnB3D;AAoBI,UAAM,QAAQ,MAAM,EAAE,MAAM;AAC5B,UAAM,QAAQ,MAAM,SAAS,QAAQ,MAAM,KAAK;AAChD,WAAO,KAAK,EAAE,WAAW;AACzB,YAAO,WAAM,SAAN,mBAAY,IAAI,EAAE,KAAK,YAAY;AAC1C,WAAO,MAAM,KAAK,EAAE,KAAK,cAAc;AAAA,EACzC,CAAC;AACH,CAAC;AAED,SAAS,yBAAyB,MAAM;AACtC,KAAG,8CAA8C,MAAM;AA7BzD;AA8BI,UAAM,MAAM;AAAA,MACV,MAAM;AAAA,MACN,MAAM;AAAA,QACJ,KAAK;AAAA,QACL,MAAM;AAAA,MACR;AAAA,MACA,OAAO;AAAA,IACT;AAEA,UAAM,QAAQ,IAAI,aAAa,GAAG;AAClC,WAAO,KAAK,EAAE,WAAW;AACzB,YAAO,WAAM,SAAN,mBAAY,IAAI,EAAE,KAAK,YAAY;AAAA,EAC5C,CAAC;AACH,CAAC;","names":[]}
@@ -1,27 +0,0 @@
1
- "use strict";
2
- var import_protocol = require("@livekit/protocol");
3
- var import_vitest = require("vitest");
4
- var import_grants = require("./grants");
5
- (0, import_vitest.describe)("ClaimGrants are parsed correctly", () => {
6
- (0, import_vitest.it)("parses TrackSource correctly to strings", () => {
7
- var _a;
8
- const grant = {
9
- canPublishSources: [
10
- import_protocol.TrackSource.CAMERA,
11
- import_protocol.TrackSource.MICROPHONE,
12
- import_protocol.TrackSource.SCREEN_SHARE,
13
- import_protocol.TrackSource.SCREEN_SHARE_AUDIO
14
- ]
15
- };
16
- const claim = { video: grant };
17
- const jwtPayload = (0, import_grants.claimsToJwtPayload)(claim);
18
- (0, import_vitest.expect)(jwtPayload.video).toBeTypeOf("object");
19
- (0, import_vitest.expect)((_a = jwtPayload.video) == null ? void 0 : _a.canPublishSources).toEqual([
20
- "camera",
21
- "microphone",
22
- "screen_share",
23
- "screen_share_audio"
24
- ]);
25
- });
26
- });
27
- //# sourceMappingURL=grants.test.cjs.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/grants.test.ts"],"sourcesContent":["// SPDX-FileCopyrightText: 2024 LiveKit, Inc.\n//\n// SPDX-License-Identifier: Apache-2.0\nimport { TrackSource } from '@livekit/protocol';\nimport { describe, expect, it } from 'vitest';\nimport type { ClaimGrants, VideoGrant } from './grants';\nimport { claimsToJwtPayload } from './grants';\n\ndescribe('ClaimGrants are parsed correctly', () => {\n it('parses TrackSource correctly to strings', () => {\n const grant: VideoGrant = {\n canPublishSources: [\n TrackSource.CAMERA,\n TrackSource.MICROPHONE,\n TrackSource.SCREEN_SHARE,\n TrackSource.SCREEN_SHARE_AUDIO,\n ],\n };\n\n const claim: ClaimGrants = { video: grant };\n\n const jwtPayload = claimsToJwtPayload(claim);\n expect(jwtPayload.video).toBeTypeOf('object');\n expect(jwtPayload.video?.canPublishSources).toEqual([\n 'camera',\n 'microphone',\n 'screen_share',\n 'screen_share_audio',\n ]);\n });\n});\n"],"mappings":";AAGA,sBAA4B;AAC5B,oBAAqC;AAErC,oBAAmC;AAAA,IAEnC,wBAAS,oCAAoC,MAAM;AACjD,wBAAG,2CAA2C,MAAM;AATtD;AAUI,UAAM,QAAoB;AAAA,MACxB,mBAAmB;AAAA,QACjB,4BAAY;AAAA,QACZ,4BAAY;AAAA,QACZ,4BAAY;AAAA,QACZ,4BAAY;AAAA,MACd;AAAA,IACF;AAEA,UAAM,QAAqB,EAAE,OAAO,MAAM;AAE1C,UAAM,iBAAa,kCAAmB,KAAK;AAC3C,8BAAO,WAAW,KAAK,EAAE,WAAW,QAAQ;AAC5C,+BAAO,gBAAW,UAAX,mBAAkB,iBAAiB,EAAE,QAAQ;AAAA,MAClD;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,IACF,CAAC;AAAA,EACH,CAAC;AACH,CAAC;","names":[]}
@@ -1,26 +0,0 @@
1
- import { TrackSource } from "@livekit/protocol";
2
- import { describe, expect, it } from "vitest";
3
- import { claimsToJwtPayload } from "./grants";
4
- describe("ClaimGrants are parsed correctly", () => {
5
- it("parses TrackSource correctly to strings", () => {
6
- var _a;
7
- const grant = {
8
- canPublishSources: [
9
- TrackSource.CAMERA,
10
- TrackSource.MICROPHONE,
11
- TrackSource.SCREEN_SHARE,
12
- TrackSource.SCREEN_SHARE_AUDIO
13
- ]
14
- };
15
- const claim = { video: grant };
16
- const jwtPayload = claimsToJwtPayload(claim);
17
- expect(jwtPayload.video).toBeTypeOf("object");
18
- expect((_a = jwtPayload.video) == null ? void 0 : _a.canPublishSources).toEqual([
19
- "camera",
20
- "microphone",
21
- "screen_share",
22
- "screen_share_audio"
23
- ]);
24
- });
25
- });
26
- //# sourceMappingURL=grants.test.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/grants.test.ts"],"sourcesContent":["// SPDX-FileCopyrightText: 2024 LiveKit, Inc.\n//\n// SPDX-License-Identifier: Apache-2.0\nimport { TrackSource } from '@livekit/protocol';\nimport { describe, expect, it } from 'vitest';\nimport type { ClaimGrants, VideoGrant } from './grants';\nimport { claimsToJwtPayload } from './grants';\n\ndescribe('ClaimGrants are parsed correctly', () => {\n it('parses TrackSource correctly to strings', () => {\n const grant: VideoGrant = {\n canPublishSources: [\n TrackSource.CAMERA,\n TrackSource.MICROPHONE,\n TrackSource.SCREEN_SHARE,\n TrackSource.SCREEN_SHARE_AUDIO,\n ],\n };\n\n const claim: ClaimGrants = { video: grant };\n\n const jwtPayload = claimsToJwtPayload(claim);\n expect(jwtPayload.video).toBeTypeOf('object');\n expect(jwtPayload.video?.canPublishSources).toEqual([\n 'camera',\n 'microphone',\n 'screen_share',\n 'screen_share_audio',\n ]);\n });\n});\n"],"mappings":"AAGA,SAAS,mBAAmB;AAC5B,SAAS,UAAU,QAAQ,UAAU;AAErC,SAAS,0BAA0B;AAEnC,SAAS,oCAAoC,MAAM;AACjD,KAAG,2CAA2C,MAAM;AATtD;AAUI,UAAM,QAAoB;AAAA,MACxB,mBAAmB;AAAA,QACjB,YAAY;AAAA,QACZ,YAAY;AAAA,QACZ,YAAY;AAAA,QACZ,YAAY;AAAA,MACd;AAAA,IACF;AAEA,UAAM,QAAqB,EAAE,OAAO,MAAM;AAE1C,UAAM,aAAa,mBAAmB,KAAK;AAC3C,WAAO,WAAW,KAAK,EAAE,WAAW,QAAQ;AAC5C,YAAO,gBAAW,UAAX,mBAAkB,iBAAiB,EAAE,QAAQ;AAAA,MAClD;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,IACF,CAAC;AAAA,EACH,CAAC;AACH,CAAC;","names":[]}