diff --git a/package.json b/package.json index 706b4c8ab3..bee60ce55e 100644 --- a/package.json +++ b/package.json @@ -78,8 +78,8 @@ "nx": "16.10.0", "prettier": "^3.3.2", "typescript": "^5.5.2", - "vercel": "^37.2.1", - "vite": "^4.4.11" + "vercel": "^37.4.2", + "vite": "^5.4.6" }, "resolutions": { "eslint-plugin-prettier": "^5.1.3" diff --git a/packages/audio-filters-web/CHANGELOG.md b/packages/audio-filters-web/CHANGELOG.md index 6f8b552ae0..0ceee1cb56 100644 --- a/packages/audio-filters-web/CHANGELOG.md +++ b/packages/audio-filters-web/CHANGELOG.md @@ -2,6 +2,13 @@ This file was generated using [@jscutlery/semver](https://github.com/jscutlery/semver). +## [0.2.2](https://github.com/GetStream/stream-video-js/compare/@stream-io/audio-filters-web-0.2.1...@stream-io/audio-filters-web-0.2.2) (2024-09-19) + + +### Features + +* React SDK cold-start optimizations ([#1488](https://github.com/GetStream/stream-video-js/issues/1488)) ([972e579](https://github.com/GetStream/stream-video-js/commit/972e5792b5a131a212b1031ade76dcb383897a46)) + ### [0.2.1](https://github.com/GetStream/stream-video-js/compare/@stream-io/audio-filters-web-0.2.0...@stream-io/audio-filters-web-0.2.1) (2024-07-02) diff --git a/packages/audio-filters-web/package.json b/packages/audio-filters-web/package.json index 4dd3791d45..f817b78561 100644 --- a/packages/audio-filters-web/package.json +++ b/packages/audio-filters-web/package.json @@ -1,7 +1,7 @@ { "name": "@stream-io/audio-filters-web", "packageManager": "yarn@3.5.0", - "version": "0.2.1", + "version": "0.2.2", "main": "./dist/index.cjs.js", "module": "./dist/index.es.js", "types": "./dist/index.d.ts", @@ -16,6 +16,7 @@ "url": "https://github.com/GetStream/stream-video-js.git", "directory": "packages/audio-filters-web" }, + "sideEffects": false, "files": [ "dist", "src", @@ -29,10 +30,10 @@ "wasm-feature-detect": "^1.6.1" }, "devDependencies": { - "@rollup/plugin-replace": "^5.0.5", + "@rollup/plugin-replace": "^5.0.7", "@rollup/plugin-typescript": "^11.1.6", "rimraf": "^5.0.7", - "rollup": "^3.29.4", + "rollup": "^4.22.0", "typescript": "^5.5.2" } } diff --git a/packages/client/CHANGELOG.md b/packages/client/CHANGELOG.md index 486d1618f5..ec3c21469b 100644 --- a/packages/client/CHANGELOG.md +++ b/packages/client/CHANGELOG.md @@ -2,6 +2,69 @@ This file was generated using [@jscutlery/semver](https://github.com/jscutlery/semver). +## [1.7.3](https://github.com/GetStream/stream-video-js/compare/@stream-io/video-client-1.7.2...@stream-io/video-client-1.7.3) (2024-09-24) + + +### Bug Fixes + +* do not always error out api calls when web socket initially failed ([#1495](https://github.com/GetStream/stream-video-js/issues/1495)) ([7cdb62e](https://github.com/GetStream/stream-video-js/commit/7cdb62e75cad56098ee81eabbcc63382f93fd218)) + +## [1.7.2](https://github.com/GetStream/stream-video-js/compare/@stream-io/video-client-1.7.1...@stream-io/video-client-1.7.2) (2024-09-20) + + +### Bug Fixes + +* overridable bitrate and bitrate downscale factor ([#1493](https://github.com/GetStream/stream-video-js/issues/1493)) ([cce5d8e](https://github.com/GetStream/stream-video-js/commit/cce5d8e641a9182a1779952e4e62aa16ec21ab92)) + +## [1.7.1](https://github.com/GetStream/stream-video-js/compare/@stream-io/video-client-1.7.0...@stream-io/video-client-1.7.1) (2024-09-20) + + +### Bug Fixes + +* don't attempt to recover broken WebSockets when there isn't a network connection ([#1490](https://github.com/GetStream/stream-video-js/issues/1490)) ([d576f48](https://github.com/GetStream/stream-video-js/commit/d576f48c7f819d48008359a3c30fe5d1a3372145)) + +## [1.7.0](https://github.com/GetStream/stream-video-js/compare/@stream-io/video-client-1.6.5...@stream-io/video-client-1.7.0) (2024-09-19) + + +### Features + +* React SDK cold-start optimizations ([#1488](https://github.com/GetStream/stream-video-js/issues/1488)) ([972e579](https://github.com/GetStream/stream-video-js/commit/972e5792b5a131a212b1031ade76dcb383897a46)) + +## [1.6.5](https://github.com/GetStream/stream-video-js/compare/@stream-io/video-client-1.6.4...@stream-io/video-client-1.6.5) (2024-09-19) + + +### Bug Fixes + +* race condition in `applySettingsToStream` ([#1489](https://github.com/GetStream/stream-video-js/issues/1489)) ([bf2ad90](https://github.com/GetStream/stream-video-js/commit/bf2ad90224d88592d4ea27ea8d0683efe98771f7)) + +## [1.6.4](https://github.com/GetStream/stream-video-js/compare/@stream-io/video-client-1.6.3...@stream-io/video-client-1.6.4) (2024-09-13) + + +### Bug Fixes + +* allow video target bitrate override ([#1487](https://github.com/GetStream/stream-video-js/issues/1487)) ([bfe34a3](https://github.com/GetStream/stream-video-js/commit/bfe34a3609182da5bbb03331978d86569cada098)) + +## [1.6.3](https://github.com/GetStream/stream-video-js/compare/@stream-io/video-client-1.6.2...@stream-io/video-client-1.6.3) (2024-09-11) + + +### Bug Fixes + +* client instance removal used a wrong key ([#1484](https://github.com/GetStream/stream-video-js/issues/1484)) ([edff5d7](https://github.com/GetStream/stream-video-js/commit/edff5d7ca0cc241a3929da3b752073883f29da32)) + +## [1.6.2](https://github.com/GetStream/stream-video-js/compare/@stream-io/video-client-1.6.1...@stream-io/video-client-1.6.2) (2024-09-09) + + +### Bug Fixes + +* prioritize h264 baseline profile ([#1482](https://github.com/GetStream/stream-video-js/issues/1482)) ([3ea3c5e](https://github.com/GetStream/stream-video-js/commit/3ea3c5ecf57b50d3f909d59a96811f636b07d8aa)) + +## [1.6.1](https://github.com/GetStream/stream-video-js/compare/@stream-io/video-client-1.6.0...@stream-io/video-client-1.6.1) (2024-09-05) + + +### Bug Fixes + +* update state.endedAt after the SFU terminates the call ([#1477](https://github.com/GetStream/stream-video-js/issues/1477)) ([135b11f](https://github.com/GetStream/stream-video-js/commit/135b11f2e29f486f2f43b9ac2a84848d0fd0b5b4)) + ## [1.6.0](https://github.com/GetStream/stream-video-js/compare/@stream-io/video-client-1.5.2...@stream-io/video-client-1.6.0) (2024-09-03) diff --git a/packages/client/docusaurus/docs/javascript/02-guides/04-noise-cancellation.mdx b/packages/client/docusaurus/docs/javascript/02-guides/04-noise-cancellation.mdx index 92f75a218f..557698c8fa 100644 --- a/packages/client/docusaurus/docs/javascript/02-guides/04-noise-cancellation.mdx +++ b/packages/client/docusaurus/docs/javascript/02-guides/04-noise-cancellation.mdx @@ -27,7 +27,7 @@ npm install @stream-io/audio-filters-web ## Integration -In the following code snippet, we show how to check if platform is supported, initialize the plugin and enable/disable it. +In the following code snippet, we show how to check if а platform is supported, initialize the plugin, and enable/disable it. ```typescript import { NoiseCancellation } from '@stream-io/audio-filters-web'; @@ -61,3 +61,19 @@ const off = noiseCancellation.on('change', (v) => { console.log(`Noise Cancellation is ${v ? 'enabled' : 'disabled'}`); }); ``` + +In action, the most straight-forward integration should look like this: + +```typescript +import { NoiseCancellation } from '@stream-io/audio-filters-web'; + +const call = client.call(type, id); +await call.get(); // or call.getOrCreate() + +const noiseCancellation = new NoiseCancellation(); +const isSupported = await noiseCancellation.isSupported(); +if (isSupported) { + await noiseCancellation.init(); + await call.microphone.enableNoiseCancellation(noiseCancellation); +} +``` diff --git a/packages/client/docusaurus/docs/javascript/02-guides/06-querying-calls.mdx b/packages/client/docusaurus/docs/javascript/02-guides/06-querying-calls.mdx index 83a43b9062..73ad2e64fd 100644 --- a/packages/client/docusaurus/docs/javascript/02-guides/06-querying-calls.mdx +++ b/packages/client/docusaurus/docs/javascript/02-guides/06-querying-calls.mdx @@ -89,7 +89,7 @@ const { calls } = await client.queryCalls({ }); ``` -### Calls that live / currently have participants +### Calls that are ongoing / currently have participants ```typescript import { StreamVideoClient } from '@stream-io/video-client'; diff --git a/packages/client/docusaurus/docs/javascript/02-guides/07-query-call-members.mdx b/packages/client/docusaurus/docs/javascript/02-guides/07-query-call-members.mdx new file mode 100644 index 0000000000..8ff806876d --- /dev/null +++ b/packages/client/docusaurus/docs/javascript/02-guides/07-query-call-members.mdx @@ -0,0 +1,58 @@ +--- +id: querying-call-members +title: Querying Call Members +description: How to query call members +--- + +import FilterConditions from '../../../shared/_filter-operators.mdx'; +import CallMemberFilters from '../../../shared/video/_call-member-filters.mdx'; +import CallMemberSort from '../../../shared/video/_call-member-sort-fields.mdx'; + +When you create or join a call you get a list of call members, however this can return at most 100 members: + +```typescript +// The maximum limit is 100 +// The default limit is 25 +await call.getOrCreate({ members_limit: 100 }); + +// or +await call.join({ members_limit: 100 }); +``` + +To get the complete list of call members the Stream API allows you to query, filter and sort members of a call using a paginated list. + +## Examples + +Below are a few examples of how to use this API: + +```typescript +const result = await call.queryMembers(); + +// sorting and pagination +const queryMembersReq = { + sort: [{ field: 'user_id', direction: 1 }], + limit: 2, +}; +const result = await call.queryMembers(queryMembersReq); + +// loading the next page +const result = await call.queryMembers({ + ...queryMembersReq, + next: result.next, +}); + +// filtering +const result = await call.queryMembers({ + filter_conditions: { role: { $eq: 'admin' } }, +}); +``` + +## Sort options + + + +## Filter options + + + + diff --git a/packages/client/package.json b/packages/client/package.json index f9a4d7eb77..b309114185 100644 --- a/packages/client/package.json +++ b/packages/client/package.json @@ -1,6 +1,6 @@ { "name": "@stream-io/video-client", - "version": "1.6.0", + "version": "1.7.3", "packageManager": "yarn@3.2.4", "main": "dist/index.cjs.js", "module": "dist/index.es.js", @@ -43,10 +43,10 @@ }, "devDependencies": { "@openapitools/openapi-generator-cli": "^2.13.4", - "@rollup/plugin-replace": "^5.0.5", + "@rollup/plugin-replace": "^5.0.7", "@rollup/plugin-typescript": "^11.1.6", "@stream-io/audio-filters-web": "workspace:^", - "@stream-io/node-sdk": "^0.4.0", + "@stream-io/node-sdk": "^0.4.3", "@types/sdp-transform": "^2.4.7", "@types/ua-parser-js": "^0.7.37", "@vitest/coverage-v8": "^0.34.4", @@ -54,9 +54,9 @@ "happy-dom": "^11.0.2", "prettier": "^3.3.2", "rimraf": "^5.0.7", - "rollup": "^3.29.4", + "rollup": "^4.22.0", "typescript": "^5.5.2", - "vite": "^4.4.11", + "vite": "^5.4.6", "vitest": "^1.0.0", "vitest-mock-extended": "^1.2.1" } diff --git a/packages/client/src/Call.ts b/packages/client/src/Call.ts index 5f49f63aff..d89e32fc42 100644 --- a/packages/client/src/Call.ts +++ b/packages/client/src/Call.ts @@ -804,6 +804,7 @@ export class Call { logTag: String(this.sfuClientTag++), dispatcher: this.dispatcher, credentials: this.credentials, + streamClient: this.streamClient, // a new session_id is necessary for the REJOIN strategy. // we use the previous session_id if available sessionId: performingRejoin ? undefined : previousSessionId, @@ -1324,9 +1325,10 @@ export class Call { case TrackType.VIDEO: const videoStream = this.camera.state.mediaStream; if (videoStream) { - await this.publishVideoStream(videoStream, { - preferredCodec: this.camera.preferredCodec, - }); + await this.publishVideoStream( + videoStream, + this.camera.publishOptions, + ); } break; case TrackType.SCREEN_SHARE: @@ -2209,9 +2211,10 @@ export class Call { this.camera.state.mediaStream && !this.publisher?.isPublishing(TrackType.VIDEO) ) { - await this.publishVideoStream(this.camera.state.mediaStream, { - preferredCodec: this.camera.preferredCodec, - }); + await this.publishVideoStream( + this.camera.state.mediaStream, + this.camera.publishOptions, + ); } // Start camera if backend config specifies, and there is no local setting diff --git a/packages/client/src/StreamSfuClient.ts b/packages/client/src/StreamSfuClient.ts index df928d2747..eca72c36c4 100644 --- a/packages/client/src/StreamSfuClient.ts +++ b/packages/client/src/StreamSfuClient.ts @@ -24,6 +24,7 @@ import { UpdateMuteStatesRequest, } from './gen/video/sfu/signal_rpc/signal'; import { ICETrickle, TrackType } from './gen/video/sfu/models/models'; +import { StreamClient } from './coordinator/connection/client'; import { generateUUIDv4, sleep } from './coordinator/connection/utils'; import { Credentials } from './gen/coordinator'; import { Logger } from './coordinator/connection/types'; @@ -65,6 +66,11 @@ export type StreamSfuClientConstructor = { * Callback for when the WebSocket connection is closed. */ onSignalClose?: () => void; + + /** + * The StreamClient instance to use for the connection. + */ + streamClient: StreamClient; }; /** @@ -112,12 +118,14 @@ export class StreamSfuClient { private lastMessageTimestamp?: Date; private readonly restoreWebSocketConcurrencyTag = Symbol('recoverWebSocket'); private readonly unsubscribeIceTrickle: () => void; + private readonly unsubscribeNetworkChanged: () => void; private readonly onSignalClose: (() => void) | undefined; private readonly logger: Logger; private readonly logTag: string; private readonly credentials: Credentials; private readonly dispatcher: Dispatcher; private readonly joinResponseTimeout?: number; + private networkAvailableTask: PromiseWithResolvers | undefined; /** * Promise that resolves when the JoinResponse is received. * Rejects after a certain threshold if the response is not received. @@ -163,6 +171,7 @@ export class StreamSfuClient { logTag, joinResponseTimeout = 5000, onSignalClose, + streamClient, }: StreamSfuClientConstructor) { this.dispatcher = dispatcher; this.sessionId = sessionId || generateUUIDv4(); @@ -193,6 +202,16 @@ export class StreamSfuClient { this.iceTrickleBuffer.push(iceTrickle); }); + // listen to network changes to handle offline state + // we shouldn't attempt to recover websocket connection when offline + this.unsubscribeNetworkChanged = streamClient.on('network.changed', (e) => { + if (!e.online) { + this.networkAvailableTask = promiseWithResolvers(); + } else { + this.networkAvailableTask?.resolve(); + } + }); + this.createWebSocket(); } @@ -226,6 +245,7 @@ export class StreamSfuClient { private restoreWebSocket = () => { withoutConcurrency(this.restoreWebSocketConcurrencyTag, async () => { + await this.networkAvailableTask?.promise; this.logger('debug', 'Restoring SFU WS connection'); this.cleanUpWebSocket(); await sleep(500); @@ -260,6 +280,7 @@ export class StreamSfuClient { dispose = () => { this.logger('debug', 'Disposing SFU client'); this.unsubscribeIceTrickle(); + this.unsubscribeNetworkChanged(); clearInterval(this.keepAliveInterval); clearTimeout(this.connectionCheckTimeout); clearTimeout(this.migrateAwayTimeout); diff --git a/packages/client/src/StreamVideoClient.ts b/packages/client/src/StreamVideoClient.ts index c3bb531dbd..01285741c0 100644 --- a/packages/client/src/StreamVideoClient.ts +++ b/packages/client/src/StreamVideoClient.ts @@ -320,6 +320,7 @@ export class StreamVideoClient { return; } const userId = this.streamClient.user?.id; + const apiKey = this.streamClient.key; const disconnectUser = () => this.streamClient.disconnectUser(timeout); this.disconnectionPromise = this.connectionPromise ? this.connectionPromise.then(() => disconnectUser()) @@ -329,7 +330,7 @@ export class StreamVideoClient { ); await this.disconnectionPromise; if (userId) { - StreamVideoClient._instanceMap.delete(userId); + StreamVideoClient._instanceMap.delete(apiKey + userId); } this.eventHandlersToUnregister.forEach((unregister) => unregister()); this.eventHandlersToUnregister = []; diff --git a/packages/client/src/__tests__/Call.test.ts b/packages/client/src/__tests__/Call.test.ts index a16243c48d..f6f77c4c58 100644 --- a/packages/client/src/__tests__/Call.test.ts +++ b/packages/client/src/__tests__/Call.test.ts @@ -210,6 +210,46 @@ describe('state updates in reponse to coordinator API', () => { await call.leave(); }); + it('should query call members', async () => { + await call.getOrCreate({ + data: { + members: [ + { user_id: 'sara', role: 'admin' }, + { user_id: 'jane' }, + { user_id: 'jack' }, + ], + }, + }); + + // default sorting + let result = await call.queryMembers(); + + expect(result.members.length).toBe(3); + + // sorting and pagination + const queryMembersReq = { + sort: [{ field: 'user_id', direction: 1 }], + limit: 2, + }; + result = await call.queryMembers(queryMembersReq); + + expect(result.members.length).toBe(2); + expect(result.members[0].user_id).toBe('jack'); + expect(result.members[1].user_id).toBe('jane'); + + // loading next page + result = await call.queryMembers({ ...queryMembersReq, next: result.next }); + + expect(result.members.length).toBe(1); + + result = await call.queryMembers({ + filter_conditions: { role: { $eq: 'admin' } }, + }); + + expect(result.members.length).toBe(1); + expect(result.members[0].user_id).toBe('sara'); + }); + afterEach(async () => { await serverClient.video.call(call.type, call.id).delete({ hard: true }); }); diff --git a/packages/client/src/coordinator/connection/client.ts b/packages/client/src/coordinator/connection/client.ts index d551e60811..d52cec2464 100644 --- a/packages/client/src/coordinator/connection/client.ts +++ b/packages/client/src/coordinator/connection/client.ts @@ -47,7 +47,6 @@ export class StreamClient { axiosInstance: AxiosInstance; baseURL?: string; browser: boolean; - cleaningIntervalRef?: NodeJS.Timeout; clientID?: string; key: string; listeners: Partial< @@ -323,11 +322,6 @@ export class StreamClient { * https://developer.mozilla.org/en-US/docs/Web/API/CloseEvent */ closeConnection = async (timeout?: number) => { - if (this.cleaningIntervalRef != null) { - clearInterval(this.cleaningIntervalRef); - this.cleaningIntervalRef = undefined; - } - await Promise.all([ this.wsConnection?.disconnect(timeout), this.wsFallback?.disconnect(timeout), @@ -365,12 +359,7 @@ export class StreamClient { return Promise.resolve(); } - this.connectionIdPromise = new Promise( - (resolve, reject) => { - this.resolveConnectionId = resolve; - this.rejectConnectionId = reject; - }, - ); + this._setupConnectionIdPromise(); this.clientID = `${this.userID}--${randomId()}`; this.wsPromise = this.connect(); @@ -434,12 +423,7 @@ export class StreamClient { tokenOrProvider: TokenOrProvider, ) => { addConnectionEventListeners(this.updateNetworkConnectionStatus); - this.connectionIdPromise = new Promise( - (resolve, reject) => { - this.resolveConnectionId = resolve; - this.rejectConnectionId = reject; - }, - ); + this._setupConnectionIdPromise(); this.anonymous = true; await this._setToken(user, tokenOrProvider, this.anonymous); @@ -493,6 +477,19 @@ export class StreamClient { ); }; + /** + * sets up the this.connectionIdPromise + */ + _setupConnectionIdPromise = async () => { + /** a promise that is resolved once connection id is set */ + this.connectionIdPromise = new Promise( + (resolve, reject) => { + this.resolveConnectionId = resolve; + this.rejectConnectionId = reject; + }, + ); + }; + _logApiRequest = ( type: string, url: string, @@ -540,8 +537,17 @@ export class StreamClient { await Promise.all([ this.tokenManager.tokenReady(), this.guestUserCreatePromise, - this.connectionIdPromise, ]); + // we need to wait for presence of connection id before making requests + try { + await this.connectionIdPromise; + } catch (e) { + // in case connection id was rejected + // reconnection maybe in progress + // we can wait for healthy connection to resolve, which rejects when 15s timeout is reached + await this.wsConnection?._waitForHealthy(); + await this.connectionIdPromise; + } } const requestConfig = this._enrichAxiosOptions(options); try { diff --git a/packages/client/src/coordinator/connection/connection.ts b/packages/client/src/coordinator/connection/connection.ts index e95c863a8e..9a2f04bdbb 100644 --- a/packages/client/src/coordinator/connection/connection.ts +++ b/packages/client/src/coordinator/connection/connection.ts @@ -8,6 +8,7 @@ import { import { addConnectionEventListeners, convertErrorToJson, + isPromisePending, KnownCodes, randomId, removeConnectionEventListeners, @@ -337,6 +338,15 @@ export class StableWSConnection { await this.client.tokenManager.loadToken(); } + let mustSetupConnectionIdPromise = true; + if (this.client.connectionIdPromise) { + if (await isPromisePending(this.client.connectionIdPromise)) { + mustSetupConnectionIdPromise = false; + } + } + if (mustSetupConnectionIdPromise) { + this.client._setupConnectionIdPromise(); + } this._setupConnectionPromise(); const wsURL = this._buildUrl(); this._log(`_connect() - Connecting to ${wsURL}`, { @@ -369,6 +379,7 @@ export class StableWSConnection { return response; } } catch (err) { + await this.client._setupConnectionIdPromise(); this.isConnecting = false; // @ts-ignore this._log(`_connect() - Error - `, err); diff --git a/packages/client/src/coordinator/connection/utils.ts b/packages/client/src/coordinator/connection/utils.ts index 73403b6c55..2276e7c006 100644 --- a/packages/client/src/coordinator/connection/utils.ts +++ b/packages/client/src/coordinator/connection/utils.ts @@ -110,6 +110,17 @@ export function convertErrorToJson(err: Error) { return jsonObj; } +/** + * Informs if a promise is yet to be resolved or rejected + */ +export async function isPromisePending(promise: Promise) { + const emptyObj = {}; + return Promise.race([promise, emptyObj]).then( + (value) => (value === emptyObj ? true : false), + () => false, + ); +} + /** * isOnline safely return the navigator.online value for browser env * if navigator is not in global object, it always return true diff --git a/packages/client/src/devices/CameraManager.ts b/packages/client/src/devices/CameraManager.ts index d9db282947..f82aef4eb7 100644 --- a/packages/client/src/devices/CameraManager.ts +++ b/packages/client/src/devices/CameraManager.ts @@ -4,8 +4,7 @@ import { CameraDirection, CameraManagerState } from './CameraManagerState'; import { InputMediaDeviceManager } from './InputMediaDeviceManager'; import { getVideoDevices, getVideoStream } from './devices'; import { TrackType } from '../gen/video/sfu/models/models'; - -type PreferredCodec = 'vp8' | 'vp9' | 'av1' | 'h264' | string; +import { PreferredCodec, PublishOptions } from '../types'; export class CameraManager extends InputMediaDeviceManager { private targetResolution = { @@ -14,17 +13,17 @@ export class CameraManager extends InputMediaDeviceManager { }; /** - * The preferred codec for encoding the video. + * The options to use when publishing the video stream. * - * @internal internal use only, not part of the public API. + * @internal */ - preferredCodec: PreferredCodec | undefined; + publishOptions: PublishOptions | undefined; + /** - * The scalability mode to use for the codec. - * @internal internal use only, not part of the public API. + * Constructs a new CameraManager. + * + * @param call the call instance. */ - scalabilityMode: string | undefined; - constructor(call: Call) { super(call, new CameraManagerState(), TrackType.VIDEO); } @@ -88,11 +87,37 @@ export class CameraManager extends InputMediaDeviceManager { * * @internal internal use only, not part of the public API. * @param codec the codec to use for encoding the video. - * @param scalabilityMode the scalability mode to use for the codec. */ - setPreferredCodec(codec: PreferredCodec, scalabilityMode?: string) { - this.preferredCodec = codec; - this.scalabilityMode = scalabilityMode; + setPreferredCodec(codec: PreferredCodec | undefined) { + this.updatePublishOptions({ preferredCodec: codec }); + } + + /** + * Updates the preferred publish options for the video stream. + * + * @internal + * @param options the options to use. + */ + updatePublishOptions(options: PublishOptions) { + this.publishOptions = { ...this.publishOptions, ...options }; + } + + /** + * Returns the capture resolution of the camera. + */ + getCaptureResolution() { + const { mediaStream } = this.state; + if (!mediaStream) return; + + const [videoTrack] = mediaStream.getVideoTracks(); + if (!videoTrack) return; + + const settings = videoTrack.getSettings(); + return { + width: settings.width, + height: settings.height, + frameRate: settings.frameRate, + }; } protected getDevices(): Observable { @@ -114,10 +139,7 @@ export class CameraManager extends InputMediaDeviceManager { } protected publishStream(stream: MediaStream): Promise { - return this.call.publishVideoStream(stream, { - preferredCodec: this.preferredCodec, - scalabilityMode: this.scalabilityMode, - }); + return this.call.publishVideoStream(stream, this.publishOptions); } protected stopPublishStream(stopTracks: boolean): Promise { diff --git a/packages/client/src/devices/InputMediaDeviceManager.ts b/packages/client/src/devices/InputMediaDeviceManager.ts index 5c4944950e..0b13138165 100644 --- a/packages/client/src/devices/InputMediaDeviceManager.ts +++ b/packages/client/src/devices/InputMediaDeviceManager.ts @@ -223,10 +223,12 @@ export abstract class InputMediaDeviceManager< }; protected async applySettingsToStream() { - if (this.enabled) { - await this.muteStream(); - await this.unmuteStream(); - } + await withCancellation(this.statusChangeConcurrencyTag, async () => { + if (this.enabled) { + await this.muteStream(); + await this.unmuteStream(); + } + }); } protected abstract getDevices(): Observable; @@ -394,17 +396,21 @@ export abstract class InputMediaDeviceManager< } if (this.state.mediaStream !== stream) { this.state.setMediaStream(stream, await rootStream); + const handleTrackEnded = async () => { + await this.statusChangeSettled(); + if (this.enabled) { + this.isTrackStoppedDueToTrackEnd = true; + setTimeout(() => { + this.isTrackStoppedDueToTrackEnd = false; + }, 2000); + await this.disable(); + } + }; this.getTracks().forEach((track) => { - track.addEventListener('ended', async () => { - await this.statusChangeSettled(); - if (this.enabled) { - this.isTrackStoppedDueToTrackEnd = true; - setTimeout(() => { - this.isTrackStoppedDueToTrackEnd = false; - }, 2000); - await this.disable(); - } - }); + track.addEventListener('ended', handleTrackEnded); + this.subscriptions.push(() => + track.removeEventListener('ended', handleTrackEnded), + ); }); } } diff --git a/packages/client/src/devices/__tests__/CameraManager.test.ts b/packages/client/src/devices/__tests__/CameraManager.test.ts index 8d8fb8d0e4..656b5e48b2 100644 --- a/packages/client/src/devices/__tests__/CameraManager.test.ts +++ b/packages/client/src/devices/__tests__/CameraManager.test.ts @@ -82,9 +82,7 @@ describe('CameraManager', () => { expect(manager['call'].publishVideoStream).toHaveBeenCalledWith( manager.state.mediaStream, - { - preferredCodec: undefined, - }, + undefined, ); }); diff --git a/packages/client/src/events/__tests__/call.test.ts b/packages/client/src/events/__tests__/call.test.ts index 4939e4d078..e005dfc14a 100644 --- a/packages/client/src/events/__tests__/call.test.ts +++ b/packages/client/src/events/__tests__/call.test.ts @@ -1,6 +1,11 @@ import { describe, expect, it, vi } from 'vitest'; import { CallingState, StreamVideoWriteableStateStore } from '../../store'; -import { watchCallAccepted, watchCallEnded, watchCallRejected } from '../call'; +import { + watchCallAccepted, + watchCallEnded, + watchCallRejected, + watchSfuCallEnded, +} from '../call'; import { CallAcceptedEvent, CallEndedEvent, @@ -8,6 +13,8 @@ import { } from '../../gen/coordinator'; import { Call } from '../../Call'; import { StreamClient } from '../../coordinator/connection/client'; +import { SfuEvent } from '../../gen/video/sfu/event/events'; +import { CallEndedReason } from '../../gen/video/sfu/models/models'; describe('Call ringing events', () => { describe(`call.accepted`, () => { @@ -263,6 +270,46 @@ describe('Call ringing events', () => { expect(call.leave).not.toHaveBeenCalled(); }); }); + + describe('callEnded (SFU)', () => { + it('will leave the call if not already left', async () => { + const call = fakeCall(); + vi.spyOn(call, 'leave').mockImplementation(async () => { + console.log(`TEST: leave() called`); + }); + + watchSfuCallEnded(call); + const event: SfuEvent = { + eventPayload: { + oneofKind: 'callEnded', + callEnded: { reason: CallEndedReason.ENDED }, + }, + }; + call['dispatcher'].dispatch(event); + + expect(call.leave).toHaveBeenCalled(); + expect(call.state.endedAt).toBeDefined(); + }); + + it('will not leave the call if already left', async () => { + const call = fakeCall(); + call.state.setCallingState(CallingState.LEFT); + vi.spyOn(call, 'leave').mockImplementation(async () => { + console.log(`TEST: leave() called`); + }); + + watchSfuCallEnded(call); + const event: SfuEvent = { + eventPayload: { + oneofKind: 'callEnded', + callEnded: { reason: CallEndedReason.KICKED }, + }, + }; + call['dispatcher'].dispatch(event); + + expect(call.leave).not.toHaveBeenCalled(); + }); + }); }); const fakeCall = ({ ring = true, currentUserId = 'test-user-id' } = {}) => { diff --git a/packages/client/src/events/call.ts b/packages/client/src/events/call.ts index 13a791358d..f0de9b6ea6 100644 --- a/packages/client/src/events/call.ts +++ b/packages/client/src/events/call.ts @@ -1,6 +1,8 @@ import { CallingState } from '../store'; import { Call } from '../Call'; import type { CallAcceptedEvent, CallRejectedEvent } from '../gen/coordinator'; +import { CallEnded } from '../gen/video/sfu/event/events'; +import { CallEndedReason } from '../gen/video/sfu/models/models'; /** * Event handler that watched the delivery of `call.accepted`. @@ -71,14 +73,39 @@ export const watchCallRejected = (call: Call) => { * Event handler that watches the delivery of `call.ended` Websocket event. */ export const watchCallEnded = (call: Call) => { - return async function onCallEnded() { + return function onCallEnded() { const { callingState } = call.state; if ( callingState === CallingState.RINGING || callingState === CallingState.JOINED || callingState === CallingState.JOINING ) { - await call.leave({ reason: 'call.ended event received' }); + call.leave({ reason: 'call.ended event received' }).catch((err) => { + call.logger('error', 'Failed to leave call after call.ended ', err); + }); } }; }; + +/** + * Watches for `callEnded` events. + */ +export const watchSfuCallEnded = (call: Call) => { + return call.on('callEnded', async (e: CallEnded) => { + if (call.state.callingState === CallingState.LEFT) return; + try { + // `call.ended` event arrived after the call is already left + // and all event handlers are detached. We need to manually + // update the call state to reflect the call has ended. + call.state.setEndedAt(new Date()); + const reason = CallEndedReason[e.reason]; + await call.leave({ reason: `callEnded received: ${reason}` }); + } catch (err) { + call.logger( + 'error', + 'Failed to leave call after being ended by the SFU', + err, + ); + } + }); +}; diff --git a/packages/client/src/events/internal.ts b/packages/client/src/events/internal.ts index 14c1a54375..b74719f74f 100644 --- a/packages/client/src/events/internal.ts +++ b/packages/client/src/events/internal.ts @@ -3,16 +3,13 @@ import { Call } from '../Call'; import { CallState } from '../store'; import { StreamVideoParticipantPatches } from '../types'; import { getLogger } from '../logger'; -import type { CallEnded, PinsChanged } from '../gen/video/sfu/event/events'; +import type { PinsChanged } from '../gen/video/sfu/event/events'; import { - CallEndedReason, ErrorCode, WebsocketReconnectStrategy, } from '../gen/video/sfu/models/models'; import { OwnCapability } from '../gen/coordinator'; -const logger = getLogger(['events']); - /** * An event responder which handles the `changePublishQuality` event. */ @@ -74,7 +71,7 @@ export const watchLiveEnded = (dispatcher: Dispatcher, call: Call) => { if (!call.permissionsContext.hasPermission(OwnCapability.JOIN_BACKSTAGE)) { call.leave({ reason: 'live ended' }).catch((err) => { - logger('error', 'Failed to leave call after live ended', err); + call.logger('error', 'Failed to leave call after live ended', err); }); } }); @@ -86,6 +83,7 @@ export const watchLiveEnded = (dispatcher: Dispatcher, call: Call) => { export const watchSfuErrorReports = (dispatcher: Dispatcher) => { return dispatcher.on('error', (e) => { if (!e.error) return; + const logger = getLogger(['SfuClient']); const { error, reconnectStrategy } = e; logger('error', 'SFU reported error', { code: ErrorCode[error.code], @@ -106,15 +104,3 @@ export const watchPinsUpdated = (state: CallState) => { state.setServerSidePins(pins); }; }; - -/** - * Watches for `callEnded` events. - */ -export const watchSfuCallEnded = (call: Call) => { - return call.on('callEnded', (e: CallEnded) => { - const reason = CallEndedReason[e.reason]; - call.leave({ reason }).catch((err) => { - logger('error', 'Failed to leave call after call ended by the SFU', err); - }); - }); -}; diff --git a/packages/client/src/gen/google/protobuf/struct.ts b/packages/client/src/gen/google/protobuf/struct.ts index b8754e4fb7..f449f4e0b0 100644 --- a/packages/client/src/gen/google/protobuf/struct.ts +++ b/packages/client/src/gen/google/protobuf/struct.ts @@ -1,5 +1,5 @@ /* eslint-disable */ -// @generated by protobuf-ts 2.9.4 with parameter long_type_string,client_generic,server_none,eslint_disable +// @generated by protobuf-ts 2.9.4 with parameter long_type_string,client_generic,server_none,eslint_disable,optimize_code_size // @generated from protobuf file "google/protobuf/struct.proto" (package "google.protobuf", syntax proto3) // tslint:disable // @@ -34,23 +34,15 @@ // OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. // import type { - BinaryReadOptions, - BinaryWriteOptions, - IBinaryReader, - IBinaryWriter, JsonObject, JsonReadOptions, JsonValue, JsonWriteOptions, - PartialMessage, } from '@protobuf-ts/runtime'; import { isJsonObject, MessageType, - reflectionMergePartial, typeofJsonValue, - UnknownFieldHandler, - WireType, } from '@protobuf-ts/runtime'; /** @@ -224,97 +216,6 @@ class Struct$Type extends MessageType { } return target; } - create(value?: PartialMessage): Struct { - const message = globalThis.Object.create(this.messagePrototype!); - message.fields = {}; - if (value !== undefined) - reflectionMergePartial(this, message, value); - return message; - } - internalBinaryRead( - reader: IBinaryReader, - length: number, - options: BinaryReadOptions, - target?: Struct, - ): Struct { - let message = target ?? this.create(), - end = reader.pos + length; - while (reader.pos < end) { - let [fieldNo, wireType] = reader.tag(); - switch (fieldNo) { - case /* map fields */ 1: - this.binaryReadMap1(message.fields, reader, options); - break; - default: - let u = options.readUnknownField; - if (u === 'throw') - throw new globalThis.Error( - `Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`, - ); - let d = reader.skip(wireType); - if (u !== false) - (u === true ? UnknownFieldHandler.onRead : u)( - this.typeName, - message, - fieldNo, - wireType, - d, - ); - } - } - return message; - } - private binaryReadMap1( - map: Struct['fields'], - reader: IBinaryReader, - options: BinaryReadOptions, - ): void { - let len = reader.uint32(), - end = reader.pos + len, - key: keyof Struct['fields'] | undefined, - val: Struct['fields'][any] | undefined; - while (reader.pos < end) { - let [fieldNo, wireType] = reader.tag(); - switch (fieldNo) { - case 1: - key = reader.string(); - break; - case 2: - val = Value.internalBinaryRead(reader, reader.uint32(), options); - break; - default: - throw new globalThis.Error( - 'unknown map entry field for field google.protobuf.Struct.fields', - ); - } - } - map[key ?? ''] = val ?? Value.create(); - } - internalBinaryWrite( - message: Struct, - writer: IBinaryWriter, - options: BinaryWriteOptions, - ): IBinaryWriter { - /* map fields = 1; */ - for (let k of globalThis.Object.keys(message.fields)) { - writer - .tag(1, WireType.LengthDelimited) - .fork() - .tag(1, WireType.LengthDelimited) - .string(k); - writer.tag(2, WireType.LengthDelimited).fork(); - Value.internalBinaryWrite(message.fields[k], writer, options); - writer.join().join(); - } - let u = options.writeUnknownFields; - if (u !== false) - (u == true ? UnknownFieldHandler.onWrite : u)( - this.typeName, - message, - writer, - ); - return writer; - } } /** * @generated MessageType for protobuf message google.protobuf.Struct @@ -444,129 +345,6 @@ class Value$Type extends MessageType { } return target; } - create(value?: PartialMessage): Value { - const message = globalThis.Object.create(this.messagePrototype!); - message.kind = { oneofKind: undefined }; - if (value !== undefined) - reflectionMergePartial(this, message, value); - return message; - } - internalBinaryRead( - reader: IBinaryReader, - length: number, - options: BinaryReadOptions, - target?: Value, - ): Value { - let message = target ?? this.create(), - end = reader.pos + length; - while (reader.pos < end) { - let [fieldNo, wireType] = reader.tag(); - switch (fieldNo) { - case /* google.protobuf.NullValue null_value */ 1: - message.kind = { - oneofKind: 'nullValue', - nullValue: reader.int32(), - }; - break; - case /* double number_value */ 2: - message.kind = { - oneofKind: 'numberValue', - numberValue: reader.double(), - }; - break; - case /* string string_value */ 3: - message.kind = { - oneofKind: 'stringValue', - stringValue: reader.string(), - }; - break; - case /* bool bool_value */ 4: - message.kind = { - oneofKind: 'boolValue', - boolValue: reader.bool(), - }; - break; - case /* google.protobuf.Struct struct_value */ 5: - message.kind = { - oneofKind: 'structValue', - structValue: Struct.internalBinaryRead( - reader, - reader.uint32(), - options, - (message.kind as any).structValue, - ), - }; - break; - case /* google.protobuf.ListValue list_value */ 6: - message.kind = { - oneofKind: 'listValue', - listValue: ListValue.internalBinaryRead( - reader, - reader.uint32(), - options, - (message.kind as any).listValue, - ), - }; - break; - default: - let u = options.readUnknownField; - if (u === 'throw') - throw new globalThis.Error( - `Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`, - ); - let d = reader.skip(wireType); - if (u !== false) - (u === true ? UnknownFieldHandler.onRead : u)( - this.typeName, - message, - fieldNo, - wireType, - d, - ); - } - } - return message; - } - internalBinaryWrite( - message: Value, - writer: IBinaryWriter, - options: BinaryWriteOptions, - ): IBinaryWriter { - /* google.protobuf.NullValue null_value = 1; */ - if (message.kind.oneofKind === 'nullValue') - writer.tag(1, WireType.Varint).int32(message.kind.nullValue); - /* double number_value = 2; */ - if (message.kind.oneofKind === 'numberValue') - writer.tag(2, WireType.Bit64).double(message.kind.numberValue); - /* string string_value = 3; */ - if (message.kind.oneofKind === 'stringValue') - writer.tag(3, WireType.LengthDelimited).string(message.kind.stringValue); - /* bool bool_value = 4; */ - if (message.kind.oneofKind === 'boolValue') - writer.tag(4, WireType.Varint).bool(message.kind.boolValue); - /* google.protobuf.Struct struct_value = 5; */ - if (message.kind.oneofKind === 'structValue') - Struct.internalBinaryWrite( - message.kind.structValue, - writer.tag(5, WireType.LengthDelimited).fork(), - options, - ).join(); - /* google.protobuf.ListValue list_value = 6; */ - if (message.kind.oneofKind === 'listValue') - ListValue.internalBinaryWrite( - message.kind.listValue, - writer.tag(6, WireType.LengthDelimited).fork(), - options, - ).join(); - let u = options.writeUnknownFields; - if (u !== false) - (u == true ? UnknownFieldHandler.onWrite : u)( - this.typeName, - message, - writer, - ); - return writer; - } } /** * @generated MessageType for protobuf message google.protobuf.Value @@ -611,69 +389,6 @@ class ListValue$Type extends MessageType { target.values.push(...values); return target; } - create(value?: PartialMessage): ListValue { - const message = globalThis.Object.create(this.messagePrototype!); - message.values = []; - if (value !== undefined) - reflectionMergePartial(this, message, value); - return message; - } - internalBinaryRead( - reader: IBinaryReader, - length: number, - options: BinaryReadOptions, - target?: ListValue, - ): ListValue { - let message = target ?? this.create(), - end = reader.pos + length; - while (reader.pos < end) { - let [fieldNo, wireType] = reader.tag(); - switch (fieldNo) { - case /* repeated google.protobuf.Value values */ 1: - message.values.push( - Value.internalBinaryRead(reader, reader.uint32(), options), - ); - break; - default: - let u = options.readUnknownField; - if (u === 'throw') - throw new globalThis.Error( - `Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`, - ); - let d = reader.skip(wireType); - if (u !== false) - (u === true ? UnknownFieldHandler.onRead : u)( - this.typeName, - message, - fieldNo, - wireType, - d, - ); - } - } - return message; - } - internalBinaryWrite( - message: ListValue, - writer: IBinaryWriter, - options: BinaryWriteOptions, - ): IBinaryWriter { - /* repeated google.protobuf.Value values = 1; */ - for (let i = 0; i < message.values.length; i++) - Value.internalBinaryWrite( - message.values[i], - writer.tag(1, WireType.LengthDelimited).fork(), - options, - ).join(); - let u = options.writeUnknownFields; - if (u !== false) - (u == true ? UnknownFieldHandler.onWrite : u)( - this.typeName, - message, - writer, - ); - return writer; - } } /** * @generated MessageType for protobuf message google.protobuf.ListValue diff --git a/packages/client/src/gen/google/protobuf/timestamp.ts b/packages/client/src/gen/google/protobuf/timestamp.ts index bc1f78672b..7f690766f4 100644 --- a/packages/client/src/gen/google/protobuf/timestamp.ts +++ b/packages/client/src/gen/google/protobuf/timestamp.ts @@ -1,5 +1,5 @@ /* eslint-disable */ -// @generated by protobuf-ts 2.9.4 with parameter long_type_string,client_generic,server_none,eslint_disable +// @generated by protobuf-ts 2.9.4 with parameter long_type_string,client_generic,server_none,eslint_disable,optimize_code_size // @generated from protobuf file "google/protobuf/timestamp.proto" (package "google.protobuf", syntax proto3) // tslint:disable // @@ -34,23 +34,11 @@ // OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. // import type { - BinaryReadOptions, - BinaryWriteOptions, - IBinaryReader, - IBinaryWriter, JsonReadOptions, JsonValue, JsonWriteOptions, - PartialMessage, -} from '@protobuf-ts/runtime'; -import { - MessageType, - PbLong, - reflectionMergePartial, - typeofJsonValue, - UnknownFieldHandler, - WireType, } from '@protobuf-ts/runtime'; +import { MessageType, PbLong, typeofJsonValue } from '@protobuf-ts/runtime'; /** * A Timestamp represents a point in time independent of any time zone or local @@ -283,70 +271,6 @@ class Timestamp$Type extends MessageType { 1000000000; return target; } - create(value?: PartialMessage): Timestamp { - const message = globalThis.Object.create(this.messagePrototype!); - message.seconds = '0'; - message.nanos = 0; - if (value !== undefined) - reflectionMergePartial(this, message, value); - return message; - } - internalBinaryRead( - reader: IBinaryReader, - length: number, - options: BinaryReadOptions, - target?: Timestamp, - ): Timestamp { - let message = target ?? this.create(), - end = reader.pos + length; - while (reader.pos < end) { - let [fieldNo, wireType] = reader.tag(); - switch (fieldNo) { - case /* int64 seconds */ 1: - message.seconds = reader.int64().toString(); - break; - case /* int32 nanos */ 2: - message.nanos = reader.int32(); - break; - default: - let u = options.readUnknownField; - if (u === 'throw') - throw new globalThis.Error( - `Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`, - ); - let d = reader.skip(wireType); - if (u !== false) - (u === true ? UnknownFieldHandler.onRead : u)( - this.typeName, - message, - fieldNo, - wireType, - d, - ); - } - } - return message; - } - internalBinaryWrite( - message: Timestamp, - writer: IBinaryWriter, - options: BinaryWriteOptions, - ): IBinaryWriter { - /* int64 seconds = 1; */ - if (message.seconds !== '0') - writer.tag(1, WireType.Varint).int64(message.seconds); - /* int32 nanos = 2; */ - if (message.nanos !== 0) - writer.tag(2, WireType.Varint).int32(message.nanos); - let u = options.writeUnknownFields; - if (u !== false) - (u == true ? UnknownFieldHandler.onWrite : u)( - this.typeName, - message, - writer, - ); - return writer; - } } /** * @generated MessageType for protobuf message google.protobuf.Timestamp diff --git a/packages/client/src/gen/video/sfu/event/events.ts b/packages/client/src/gen/video/sfu/event/events.ts index 7e29db26af..48d5203110 100644 --- a/packages/client/src/gen/video/sfu/event/events.ts +++ b/packages/client/src/gen/video/sfu/event/events.ts @@ -1,20 +1,8 @@ /* eslint-disable */ -// @generated by protobuf-ts 2.9.4 with parameter long_type_string,client_generic,server_none,eslint_disable +// @generated by protobuf-ts 2.9.4 with parameter long_type_string,client_generic,server_none,eslint_disable,optimize_code_size // @generated from protobuf file "video/sfu/event/events.proto" (package "stream.video.sfu.event", syntax proto3) // tslint:disable -import type { - BinaryReadOptions, - BinaryWriteOptions, - IBinaryReader, - IBinaryWriter, - PartialMessage, -} from '@protobuf-ts/runtime'; -import { - MessageType, - reflectionMergePartial, - UnknownFieldHandler, - WireType, -} from '@protobuf-ts/runtime'; +import { MessageType } from '@protobuf-ts/runtime'; import { CallEndedReason, CallGrants, @@ -1030,437 +1018,6 @@ class SfuEvent$Type extends MessageType { }, ]); } - create(value?: PartialMessage): SfuEvent { - const message = globalThis.Object.create(this.messagePrototype!); - message.eventPayload = { oneofKind: undefined }; - if (value !== undefined) - reflectionMergePartial(this, message, value); - return message; - } - internalBinaryRead( - reader: IBinaryReader, - length: number, - options: BinaryReadOptions, - target?: SfuEvent, - ): SfuEvent { - let message = target ?? this.create(), - end = reader.pos + length; - while (reader.pos < end) { - let [fieldNo, wireType] = reader.tag(); - switch (fieldNo) { - case /* stream.video.sfu.event.SubscriberOffer subscriber_offer */ 1: - message.eventPayload = { - oneofKind: 'subscriberOffer', - subscriberOffer: SubscriberOffer.internalBinaryRead( - reader, - reader.uint32(), - options, - (message.eventPayload as any).subscriberOffer, - ), - }; - break; - case /* stream.video.sfu.event.PublisherAnswer publisher_answer */ 2: - message.eventPayload = { - oneofKind: 'publisherAnswer', - publisherAnswer: PublisherAnswer.internalBinaryRead( - reader, - reader.uint32(), - options, - (message.eventPayload as any).publisherAnswer, - ), - }; - break; - case /* stream.video.sfu.event.ConnectionQualityChanged connection_quality_changed */ 3: - message.eventPayload = { - oneofKind: 'connectionQualityChanged', - connectionQualityChanged: - ConnectionQualityChanged.internalBinaryRead( - reader, - reader.uint32(), - options, - (message.eventPayload as any).connectionQualityChanged, - ), - }; - break; - case /* stream.video.sfu.event.AudioLevelChanged audio_level_changed */ 4: - message.eventPayload = { - oneofKind: 'audioLevelChanged', - audioLevelChanged: AudioLevelChanged.internalBinaryRead( - reader, - reader.uint32(), - options, - (message.eventPayload as any).audioLevelChanged, - ), - }; - break; - case /* stream.video.sfu.models.ICETrickle ice_trickle */ 5: - message.eventPayload = { - oneofKind: 'iceTrickle', - iceTrickle: ICETrickle$.internalBinaryRead( - reader, - reader.uint32(), - options, - (message.eventPayload as any).iceTrickle, - ), - }; - break; - case /* stream.video.sfu.event.ChangePublishQuality change_publish_quality */ 6: - message.eventPayload = { - oneofKind: 'changePublishQuality', - changePublishQuality: ChangePublishQuality.internalBinaryRead( - reader, - reader.uint32(), - options, - (message.eventPayload as any).changePublishQuality, - ), - }; - break; - case /* stream.video.sfu.event.ParticipantJoined participant_joined */ 10: - message.eventPayload = { - oneofKind: 'participantJoined', - participantJoined: ParticipantJoined.internalBinaryRead( - reader, - reader.uint32(), - options, - (message.eventPayload as any).participantJoined, - ), - }; - break; - case /* stream.video.sfu.event.ParticipantLeft participant_left */ 11: - message.eventPayload = { - oneofKind: 'participantLeft', - participantLeft: ParticipantLeft.internalBinaryRead( - reader, - reader.uint32(), - options, - (message.eventPayload as any).participantLeft, - ), - }; - break; - case /* stream.video.sfu.event.DominantSpeakerChanged dominant_speaker_changed */ 12: - message.eventPayload = { - oneofKind: 'dominantSpeakerChanged', - dominantSpeakerChanged: DominantSpeakerChanged.internalBinaryRead( - reader, - reader.uint32(), - options, - (message.eventPayload as any).dominantSpeakerChanged, - ), - }; - break; - case /* stream.video.sfu.event.JoinResponse join_response */ 13: - message.eventPayload = { - oneofKind: 'joinResponse', - joinResponse: JoinResponse.internalBinaryRead( - reader, - reader.uint32(), - options, - (message.eventPayload as any).joinResponse, - ), - }; - break; - case /* stream.video.sfu.event.HealthCheckResponse health_check_response */ 14: - message.eventPayload = { - oneofKind: 'healthCheckResponse', - healthCheckResponse: HealthCheckResponse.internalBinaryRead( - reader, - reader.uint32(), - options, - (message.eventPayload as any).healthCheckResponse, - ), - }; - break; - case /* stream.video.sfu.event.TrackPublished track_published */ 16: - message.eventPayload = { - oneofKind: 'trackPublished', - trackPublished: TrackPublished.internalBinaryRead( - reader, - reader.uint32(), - options, - (message.eventPayload as any).trackPublished, - ), - }; - break; - case /* stream.video.sfu.event.TrackUnpublished track_unpublished */ 17: - message.eventPayload = { - oneofKind: 'trackUnpublished', - trackUnpublished: TrackUnpublished.internalBinaryRead( - reader, - reader.uint32(), - options, - (message.eventPayload as any).trackUnpublished, - ), - }; - break; - case /* stream.video.sfu.event.Error error */ 18: - message.eventPayload = { - oneofKind: 'error', - error: Error.internalBinaryRead( - reader, - reader.uint32(), - options, - (message.eventPayload as any).error, - ), - }; - break; - case /* stream.video.sfu.event.CallGrantsUpdated call_grants_updated */ 19: - message.eventPayload = { - oneofKind: 'callGrantsUpdated', - callGrantsUpdated: CallGrantsUpdated.internalBinaryRead( - reader, - reader.uint32(), - options, - (message.eventPayload as any).callGrantsUpdated, - ), - }; - break; - case /* stream.video.sfu.event.GoAway go_away */ 20: - message.eventPayload = { - oneofKind: 'goAway', - goAway: GoAway.internalBinaryRead( - reader, - reader.uint32(), - options, - (message.eventPayload as any).goAway, - ), - }; - break; - case /* stream.video.sfu.event.ICERestart ice_restart */ 21: - message.eventPayload = { - oneofKind: 'iceRestart', - iceRestart: ICERestart.internalBinaryRead( - reader, - reader.uint32(), - options, - (message.eventPayload as any).iceRestart, - ), - }; - break; - case /* stream.video.sfu.event.PinsChanged pins_updated */ 22: - message.eventPayload = { - oneofKind: 'pinsUpdated', - pinsUpdated: PinsChanged.internalBinaryRead( - reader, - reader.uint32(), - options, - (message.eventPayload as any).pinsUpdated, - ), - }; - break; - case /* stream.video.sfu.event.CallEnded call_ended */ 23: - message.eventPayload = { - oneofKind: 'callEnded', - callEnded: CallEnded.internalBinaryRead( - reader, - reader.uint32(), - options, - (message.eventPayload as any).callEnded, - ), - }; - break; - case /* stream.video.sfu.event.ParticipantUpdated participant_updated */ 24: - message.eventPayload = { - oneofKind: 'participantUpdated', - participantUpdated: ParticipantUpdated.internalBinaryRead( - reader, - reader.uint32(), - options, - (message.eventPayload as any).participantUpdated, - ), - }; - break; - case /* stream.video.sfu.event.ParticipantMigrationComplete participant_migration_complete */ 25: - message.eventPayload = { - oneofKind: 'participantMigrationComplete', - participantMigrationComplete: - ParticipantMigrationComplete.internalBinaryRead( - reader, - reader.uint32(), - options, - (message.eventPayload as any).participantMigrationComplete, - ), - }; - break; - default: - let u = options.readUnknownField; - if (u === 'throw') - throw new globalThis.Error( - `Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`, - ); - let d = reader.skip(wireType); - if (u !== false) - (u === true ? UnknownFieldHandler.onRead : u)( - this.typeName, - message, - fieldNo, - wireType, - d, - ); - } - } - return message; - } - internalBinaryWrite( - message: SfuEvent, - writer: IBinaryWriter, - options: BinaryWriteOptions, - ): IBinaryWriter { - /* stream.video.sfu.event.SubscriberOffer subscriber_offer = 1; */ - if (message.eventPayload.oneofKind === 'subscriberOffer') - SubscriberOffer.internalBinaryWrite( - message.eventPayload.subscriberOffer, - writer.tag(1, WireType.LengthDelimited).fork(), - options, - ).join(); - /* stream.video.sfu.event.PublisherAnswer publisher_answer = 2; */ - if (message.eventPayload.oneofKind === 'publisherAnswer') - PublisherAnswer.internalBinaryWrite( - message.eventPayload.publisherAnswer, - writer.tag(2, WireType.LengthDelimited).fork(), - options, - ).join(); - /* stream.video.sfu.event.ConnectionQualityChanged connection_quality_changed = 3; */ - if (message.eventPayload.oneofKind === 'connectionQualityChanged') - ConnectionQualityChanged.internalBinaryWrite( - message.eventPayload.connectionQualityChanged, - writer.tag(3, WireType.LengthDelimited).fork(), - options, - ).join(); - /* stream.video.sfu.event.AudioLevelChanged audio_level_changed = 4; */ - if (message.eventPayload.oneofKind === 'audioLevelChanged') - AudioLevelChanged.internalBinaryWrite( - message.eventPayload.audioLevelChanged, - writer.tag(4, WireType.LengthDelimited).fork(), - options, - ).join(); - /* stream.video.sfu.models.ICETrickle ice_trickle = 5; */ - if (message.eventPayload.oneofKind === 'iceTrickle') - ICETrickle$.internalBinaryWrite( - message.eventPayload.iceTrickle, - writer.tag(5, WireType.LengthDelimited).fork(), - options, - ).join(); - /* stream.video.sfu.event.ChangePublishQuality change_publish_quality = 6; */ - if (message.eventPayload.oneofKind === 'changePublishQuality') - ChangePublishQuality.internalBinaryWrite( - message.eventPayload.changePublishQuality, - writer.tag(6, WireType.LengthDelimited).fork(), - options, - ).join(); - /* stream.video.sfu.event.ParticipantJoined participant_joined = 10; */ - if (message.eventPayload.oneofKind === 'participantJoined') - ParticipantJoined.internalBinaryWrite( - message.eventPayload.participantJoined, - writer.tag(10, WireType.LengthDelimited).fork(), - options, - ).join(); - /* stream.video.sfu.event.ParticipantLeft participant_left = 11; */ - if (message.eventPayload.oneofKind === 'participantLeft') - ParticipantLeft.internalBinaryWrite( - message.eventPayload.participantLeft, - writer.tag(11, WireType.LengthDelimited).fork(), - options, - ).join(); - /* stream.video.sfu.event.DominantSpeakerChanged dominant_speaker_changed = 12; */ - if (message.eventPayload.oneofKind === 'dominantSpeakerChanged') - DominantSpeakerChanged.internalBinaryWrite( - message.eventPayload.dominantSpeakerChanged, - writer.tag(12, WireType.LengthDelimited).fork(), - options, - ).join(); - /* stream.video.sfu.event.JoinResponse join_response = 13; */ - if (message.eventPayload.oneofKind === 'joinResponse') - JoinResponse.internalBinaryWrite( - message.eventPayload.joinResponse, - writer.tag(13, WireType.LengthDelimited).fork(), - options, - ).join(); - /* stream.video.sfu.event.HealthCheckResponse health_check_response = 14; */ - if (message.eventPayload.oneofKind === 'healthCheckResponse') - HealthCheckResponse.internalBinaryWrite( - message.eventPayload.healthCheckResponse, - writer.tag(14, WireType.LengthDelimited).fork(), - options, - ).join(); - /* stream.video.sfu.event.TrackPublished track_published = 16; */ - if (message.eventPayload.oneofKind === 'trackPublished') - TrackPublished.internalBinaryWrite( - message.eventPayload.trackPublished, - writer.tag(16, WireType.LengthDelimited).fork(), - options, - ).join(); - /* stream.video.sfu.event.TrackUnpublished track_unpublished = 17; */ - if (message.eventPayload.oneofKind === 'trackUnpublished') - TrackUnpublished.internalBinaryWrite( - message.eventPayload.trackUnpublished, - writer.tag(17, WireType.LengthDelimited).fork(), - options, - ).join(); - /* stream.video.sfu.event.Error error = 18; */ - if (message.eventPayload.oneofKind === 'error') - Error.internalBinaryWrite( - message.eventPayload.error, - writer.tag(18, WireType.LengthDelimited).fork(), - options, - ).join(); - /* stream.video.sfu.event.CallGrantsUpdated call_grants_updated = 19; */ - if (message.eventPayload.oneofKind === 'callGrantsUpdated') - CallGrantsUpdated.internalBinaryWrite( - message.eventPayload.callGrantsUpdated, - writer.tag(19, WireType.LengthDelimited).fork(), - options, - ).join(); - /* stream.video.sfu.event.GoAway go_away = 20; */ - if (message.eventPayload.oneofKind === 'goAway') - GoAway.internalBinaryWrite( - message.eventPayload.goAway, - writer.tag(20, WireType.LengthDelimited).fork(), - options, - ).join(); - /* stream.video.sfu.event.ICERestart ice_restart = 21; */ - if (message.eventPayload.oneofKind === 'iceRestart') - ICERestart.internalBinaryWrite( - message.eventPayload.iceRestart, - writer.tag(21, WireType.LengthDelimited).fork(), - options, - ).join(); - /* stream.video.sfu.event.PinsChanged pins_updated = 22; */ - if (message.eventPayload.oneofKind === 'pinsUpdated') - PinsChanged.internalBinaryWrite( - message.eventPayload.pinsUpdated, - writer.tag(22, WireType.LengthDelimited).fork(), - options, - ).join(); - /* stream.video.sfu.event.CallEnded call_ended = 23; */ - if (message.eventPayload.oneofKind === 'callEnded') - CallEnded.internalBinaryWrite( - message.eventPayload.callEnded, - writer.tag(23, WireType.LengthDelimited).fork(), - options, - ).join(); - /* stream.video.sfu.event.ParticipantUpdated participant_updated = 24; */ - if (message.eventPayload.oneofKind === 'participantUpdated') - ParticipantUpdated.internalBinaryWrite( - message.eventPayload.participantUpdated, - writer.tag(24, WireType.LengthDelimited).fork(), - options, - ).join(); - /* stream.video.sfu.event.ParticipantMigrationComplete participant_migration_complete = 25; */ - if (message.eventPayload.oneofKind === 'participantMigrationComplete') - ParticipantMigrationComplete.internalBinaryWrite( - message.eventPayload.participantMigrationComplete, - writer.tag(25, WireType.LengthDelimited).fork(), - options, - ).join(); - let u = options.writeUnknownFields; - if (u !== false) - (u == true ? UnknownFieldHandler.onWrite : u)( - this.typeName, - message, - writer, - ); - return writer; - } } /** * @generated MessageType for protobuf message stream.video.sfu.event.SfuEvent @@ -1471,40 +1028,6 @@ class ParticipantMigrationComplete$Type extends MessageType, - ): ParticipantMigrationComplete { - const message = globalThis.Object.create(this.messagePrototype!); - if (value !== undefined) - reflectionMergePartial( - this, - message, - value, - ); - return message; - } - internalBinaryRead( - reader: IBinaryReader, - length: number, - options: BinaryReadOptions, - target?: ParticipantMigrationComplete, - ): ParticipantMigrationComplete { - return target ?? this.create(); - } - internalBinaryWrite( - message: ParticipantMigrationComplete, - writer: IBinaryWriter, - options: BinaryWriteOptions, - ): IBinaryWriter { - let u = options.writeUnknownFields; - if (u !== false) - (u == true ? UnknownFieldHandler.onWrite : u)( - this.typeName, - message, - writer, - ); - return writer; - } } /** * @generated MessageType for protobuf message stream.video.sfu.event.ParticipantMigrationComplete @@ -1524,69 +1047,6 @@ class PinsChanged$Type extends MessageType { }, ]); } - create(value?: PartialMessage): PinsChanged { - const message = globalThis.Object.create(this.messagePrototype!); - message.pins = []; - if (value !== undefined) - reflectionMergePartial(this, message, value); - return message; - } - internalBinaryRead( - reader: IBinaryReader, - length: number, - options: BinaryReadOptions, - target?: PinsChanged, - ): PinsChanged { - let message = target ?? this.create(), - end = reader.pos + length; - while (reader.pos < end) { - let [fieldNo, wireType] = reader.tag(); - switch (fieldNo) { - case /* repeated stream.video.sfu.models.Pin pins */ 1: - message.pins.push( - Pin.internalBinaryRead(reader, reader.uint32(), options), - ); - break; - default: - let u = options.readUnknownField; - if (u === 'throw') - throw new globalThis.Error( - `Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`, - ); - let d = reader.skip(wireType); - if (u !== false) - (u === true ? UnknownFieldHandler.onRead : u)( - this.typeName, - message, - fieldNo, - wireType, - d, - ); - } - } - return message; - } - internalBinaryWrite( - message: PinsChanged, - writer: IBinaryWriter, - options: BinaryWriteOptions, - ): IBinaryWriter { - /* repeated stream.video.sfu.models.Pin pins = 1; */ - for (let i = 0; i < message.pins.length; i++) - Pin.internalBinaryWrite( - message.pins[i], - writer.tag(1, WireType.LengthDelimited).fork(), - options, - ).join(); - let u = options.writeUnknownFields; - if (u !== false) - (u == true ? UnknownFieldHandler.onWrite : u)( - this.typeName, - message, - writer, - ); - return writer; - } } /** * @generated MessageType for protobuf message stream.video.sfu.event.PinsChanged @@ -1609,78 +1069,6 @@ class Error$Type extends MessageType { }, ]); } - create(value?: PartialMessage): Error { - const message = globalThis.Object.create(this.messagePrototype!); - message.reconnectStrategy = 0; - if (value !== undefined) - reflectionMergePartial(this, message, value); - return message; - } - internalBinaryRead( - reader: IBinaryReader, - length: number, - options: BinaryReadOptions, - target?: Error, - ): Error { - let message = target ?? this.create(), - end = reader.pos + length; - while (reader.pos < end) { - let [fieldNo, wireType] = reader.tag(); - switch (fieldNo) { - case /* stream.video.sfu.models.Error error */ 4: - message.error = Error$.internalBinaryRead( - reader, - reader.uint32(), - options, - message.error, - ); - break; - case /* stream.video.sfu.models.WebsocketReconnectStrategy reconnect_strategy */ 5: - message.reconnectStrategy = reader.int32(); - break; - default: - let u = options.readUnknownField; - if (u === 'throw') - throw new globalThis.Error( - `Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`, - ); - let d = reader.skip(wireType); - if (u !== false) - (u === true ? UnknownFieldHandler.onRead : u)( - this.typeName, - message, - fieldNo, - wireType, - d, - ); - } - } - return message; - } - internalBinaryWrite( - message: Error, - writer: IBinaryWriter, - options: BinaryWriteOptions, - ): IBinaryWriter { - /* stream.video.sfu.models.Error error = 4; */ - if (message.error) - Error$.internalBinaryWrite( - message.error, - writer.tag(4, WireType.LengthDelimited).fork(), - options, - ).join(); - /* stream.video.sfu.models.WebsocketReconnectStrategy reconnect_strategy = 5; */ - if (message.reconnectStrategy !== 0) - writer.tag(5, WireType.Varint).int32(message.reconnectStrategy); - let u = options.writeUnknownFields; - if (u !== false) - (u == true ? UnknownFieldHandler.onWrite : u)( - this.typeName, - message, - writer, - ); - return writer; - } } /** * @generated MessageType for protobuf message stream.video.sfu.event.Error @@ -1704,70 +1092,6 @@ class ICETrickle$Type extends MessageType { }, ]); } - create(value?: PartialMessage): ICETrickle { - const message = globalThis.Object.create(this.messagePrototype!); - message.peerType = 0; - message.iceCandidate = ''; - if (value !== undefined) - reflectionMergePartial(this, message, value); - return message; - } - internalBinaryRead( - reader: IBinaryReader, - length: number, - options: BinaryReadOptions, - target?: ICETrickle, - ): ICETrickle { - let message = target ?? this.create(), - end = reader.pos + length; - while (reader.pos < end) { - let [fieldNo, wireType] = reader.tag(); - switch (fieldNo) { - case /* stream.video.sfu.models.PeerType peer_type */ 1: - message.peerType = reader.int32(); - break; - case /* string ice_candidate */ 2: - message.iceCandidate = reader.string(); - break; - default: - let u = options.readUnknownField; - if (u === 'throw') - throw new globalThis.Error( - `Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`, - ); - let d = reader.skip(wireType); - if (u !== false) - (u === true ? UnknownFieldHandler.onRead : u)( - this.typeName, - message, - fieldNo, - wireType, - d, - ); - } - } - return message; - } - internalBinaryWrite( - message: ICETrickle, - writer: IBinaryWriter, - options: BinaryWriteOptions, - ): IBinaryWriter { - /* stream.video.sfu.models.PeerType peer_type = 1; */ - if (message.peerType !== 0) - writer.tag(1, WireType.Varint).int32(message.peerType); - /* string ice_candidate = 2; */ - if (message.iceCandidate !== '') - writer.tag(2, WireType.LengthDelimited).string(message.iceCandidate); - let u = options.writeUnknownFields; - if (u !== false) - (u == true ? UnknownFieldHandler.onWrite : u)( - this.typeName, - message, - writer, - ); - return writer; - } } /** * @generated MessageType for protobuf message stream.video.sfu.event.ICETrickle @@ -1785,63 +1109,6 @@ class ICERestart$Type extends MessageType { }, ]); } - create(value?: PartialMessage): ICERestart { - const message = globalThis.Object.create(this.messagePrototype!); - message.peerType = 0; - if (value !== undefined) - reflectionMergePartial(this, message, value); - return message; - } - internalBinaryRead( - reader: IBinaryReader, - length: number, - options: BinaryReadOptions, - target?: ICERestart, - ): ICERestart { - let message = target ?? this.create(), - end = reader.pos + length; - while (reader.pos < end) { - let [fieldNo, wireType] = reader.tag(); - switch (fieldNo) { - case /* stream.video.sfu.models.PeerType peer_type */ 1: - message.peerType = reader.int32(); - break; - default: - let u = options.readUnknownField; - if (u === 'throw') - throw new globalThis.Error( - `Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`, - ); - let d = reader.skip(wireType); - if (u !== false) - (u === true ? UnknownFieldHandler.onRead : u)( - this.typeName, - message, - fieldNo, - wireType, - d, - ); - } - } - return message; - } - internalBinaryWrite( - message: ICERestart, - writer: IBinaryWriter, - options: BinaryWriteOptions, - ): IBinaryWriter { - /* stream.video.sfu.models.PeerType peer_type = 1; */ - if (message.peerType !== 0) - writer.tag(1, WireType.Varint).int32(message.peerType); - let u = options.writeUnknownFields; - if (u !== false) - (u == true ? UnknownFieldHandler.onWrite : u)( - this.typeName, - message, - writer, - ); - return writer; - } } /** * @generated MessageType for protobuf message stream.video.sfu.event.ICERestart @@ -1874,111 +1141,6 @@ class SfuRequest$Type extends MessageType { }, ]); } - create(value?: PartialMessage): SfuRequest { - const message = globalThis.Object.create(this.messagePrototype!); - message.requestPayload = { oneofKind: undefined }; - if (value !== undefined) - reflectionMergePartial(this, message, value); - return message; - } - internalBinaryRead( - reader: IBinaryReader, - length: number, - options: BinaryReadOptions, - target?: SfuRequest, - ): SfuRequest { - let message = target ?? this.create(), - end = reader.pos + length; - while (reader.pos < end) { - let [fieldNo, wireType] = reader.tag(); - switch (fieldNo) { - case /* stream.video.sfu.event.JoinRequest join_request */ 1: - message.requestPayload = { - oneofKind: 'joinRequest', - joinRequest: JoinRequest.internalBinaryRead( - reader, - reader.uint32(), - options, - (message.requestPayload as any).joinRequest, - ), - }; - break; - case /* stream.video.sfu.event.HealthCheckRequest health_check_request */ 2: - message.requestPayload = { - oneofKind: 'healthCheckRequest', - healthCheckRequest: HealthCheckRequest.internalBinaryRead( - reader, - reader.uint32(), - options, - (message.requestPayload as any).healthCheckRequest, - ), - }; - break; - case /* stream.video.sfu.event.LeaveCallRequest leave_call_request */ 3: - message.requestPayload = { - oneofKind: 'leaveCallRequest', - leaveCallRequest: LeaveCallRequest.internalBinaryRead( - reader, - reader.uint32(), - options, - (message.requestPayload as any).leaveCallRequest, - ), - }; - break; - default: - let u = options.readUnknownField; - if (u === 'throw') - throw new globalThis.Error( - `Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`, - ); - let d = reader.skip(wireType); - if (u !== false) - (u === true ? UnknownFieldHandler.onRead : u)( - this.typeName, - message, - fieldNo, - wireType, - d, - ); - } - } - return message; - } - internalBinaryWrite( - message: SfuRequest, - writer: IBinaryWriter, - options: BinaryWriteOptions, - ): IBinaryWriter { - /* stream.video.sfu.event.JoinRequest join_request = 1; */ - if (message.requestPayload.oneofKind === 'joinRequest') - JoinRequest.internalBinaryWrite( - message.requestPayload.joinRequest, - writer.tag(1, WireType.LengthDelimited).fork(), - options, - ).join(); - /* stream.video.sfu.event.HealthCheckRequest health_check_request = 2; */ - if (message.requestPayload.oneofKind === 'healthCheckRequest') - HealthCheckRequest.internalBinaryWrite( - message.requestPayload.healthCheckRequest, - writer.tag(2, WireType.LengthDelimited).fork(), - options, - ).join(); - /* stream.video.sfu.event.LeaveCallRequest leave_call_request = 3; */ - if (message.requestPayload.oneofKind === 'leaveCallRequest') - LeaveCallRequest.internalBinaryWrite( - message.requestPayload.leaveCallRequest, - writer.tag(3, WireType.LengthDelimited).fork(), - options, - ).join(); - let u = options.writeUnknownFields; - if (u !== false) - (u == true ? UnknownFieldHandler.onWrite : u)( - this.typeName, - message, - writer, - ); - return writer; - } } /** * @generated MessageType for protobuf message stream.video.sfu.event.SfuRequest @@ -1992,70 +1154,6 @@ class LeaveCallRequest$Type extends MessageType { { no: 2, name: 'reason', kind: 'scalar', T: 9 /*ScalarType.STRING*/ }, ]); } - create(value?: PartialMessage): LeaveCallRequest { - const message = globalThis.Object.create(this.messagePrototype!); - message.sessionId = ''; - message.reason = ''; - if (value !== undefined) - reflectionMergePartial(this, message, value); - return message; - } - internalBinaryRead( - reader: IBinaryReader, - length: number, - options: BinaryReadOptions, - target?: LeaveCallRequest, - ): LeaveCallRequest { - let message = target ?? this.create(), - end = reader.pos + length; - while (reader.pos < end) { - let [fieldNo, wireType] = reader.tag(); - switch (fieldNo) { - case /* string session_id */ 1: - message.sessionId = reader.string(); - break; - case /* string reason */ 2: - message.reason = reader.string(); - break; - default: - let u = options.readUnknownField; - if (u === 'throw') - throw new globalThis.Error( - `Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`, - ); - let d = reader.skip(wireType); - if (u !== false) - (u === true ? UnknownFieldHandler.onRead : u)( - this.typeName, - message, - fieldNo, - wireType, - d, - ); - } - } - return message; - } - internalBinaryWrite( - message: LeaveCallRequest, - writer: IBinaryWriter, - options: BinaryWriteOptions, - ): IBinaryWriter { - /* string session_id = 1; */ - if (message.sessionId !== '') - writer.tag(1, WireType.LengthDelimited).string(message.sessionId); - /* string reason = 2; */ - if (message.reason !== '') - writer.tag(2, WireType.LengthDelimited).string(message.reason); - let u = options.writeUnknownFields; - if (u !== false) - (u == true ? UnknownFieldHandler.onWrite : u)( - this.typeName, - message, - writer, - ); - return writer; - } } /** * @generated MessageType for protobuf message stream.video.sfu.event.LeaveCallRequest @@ -2066,34 +1164,6 @@ class HealthCheckRequest$Type extends MessageType { constructor() { super('stream.video.sfu.event.HealthCheckRequest', []); } - create(value?: PartialMessage): HealthCheckRequest { - const message = globalThis.Object.create(this.messagePrototype!); - if (value !== undefined) - reflectionMergePartial(this, message, value); - return message; - } - internalBinaryRead( - reader: IBinaryReader, - length: number, - options: BinaryReadOptions, - target?: HealthCheckRequest, - ): HealthCheckRequest { - return target ?? this.create(); - } - internalBinaryWrite( - message: HealthCheckRequest, - writer: IBinaryWriter, - options: BinaryWriteOptions, - ): IBinaryWriter { - let u = options.writeUnknownFields; - if (u !== false) - (u == true ? UnknownFieldHandler.onWrite : u)( - this.typeName, - message, - writer, - ); - return writer; - } } /** * @generated MessageType for protobuf message stream.video.sfu.event.HealthCheckRequest @@ -2111,71 +1181,6 @@ class HealthCheckResponse$Type extends MessageType { }, ]); } - create(value?: PartialMessage): HealthCheckResponse { - const message = globalThis.Object.create(this.messagePrototype!); - if (value !== undefined) - reflectionMergePartial(this, message, value); - return message; - } - internalBinaryRead( - reader: IBinaryReader, - length: number, - options: BinaryReadOptions, - target?: HealthCheckResponse, - ): HealthCheckResponse { - let message = target ?? this.create(), - end = reader.pos + length; - while (reader.pos < end) { - let [fieldNo, wireType] = reader.tag(); - switch (fieldNo) { - case /* stream.video.sfu.models.ParticipantCount participant_count */ 1: - message.participantCount = ParticipantCount.internalBinaryRead( - reader, - reader.uint32(), - options, - message.participantCount, - ); - break; - default: - let u = options.readUnknownField; - if (u === 'throw') - throw new globalThis.Error( - `Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`, - ); - let d = reader.skip(wireType); - if (u !== false) - (u === true ? UnknownFieldHandler.onRead : u)( - this.typeName, - message, - fieldNo, - wireType, - d, - ); - } - } - return message; - } - internalBinaryWrite( - message: HealthCheckResponse, - writer: IBinaryWriter, - options: BinaryWriteOptions, - ): IBinaryWriter { - /* stream.video.sfu.models.ParticipantCount participant_count = 1; */ - if (message.participantCount) - ParticipantCount.internalBinaryWrite( - message.participantCount, - writer.tag(1, WireType.LengthDelimited).fork(), - options, - ).join(); - let u = options.writeUnknownFields; - if (u !== false) - (u == true ? UnknownFieldHandler.onWrite : u)( - this.typeName, - message, - writer, - ); - return writer; - } } /** * @generated MessageType for protobuf message stream.video.sfu.event.HealthCheckResponse @@ -2200,91 +1205,6 @@ class TrackPublished$Type extends MessageType { { no: 4, name: 'participant', kind: 'message', T: () => Participant }, ]); } - create(value?: PartialMessage): TrackPublished { - const message = globalThis.Object.create(this.messagePrototype!); - message.userId = ''; - message.sessionId = ''; - message.type = 0; - if (value !== undefined) - reflectionMergePartial(this, message, value); - return message; - } - internalBinaryRead( - reader: IBinaryReader, - length: number, - options: BinaryReadOptions, - target?: TrackPublished, - ): TrackPublished { - let message = target ?? this.create(), - end = reader.pos + length; - while (reader.pos < end) { - let [fieldNo, wireType] = reader.tag(); - switch (fieldNo) { - case /* string user_id */ 1: - message.userId = reader.string(); - break; - case /* string session_id */ 2: - message.sessionId = reader.string(); - break; - case /* stream.video.sfu.models.TrackType type */ 3: - message.type = reader.int32(); - break; - case /* stream.video.sfu.models.Participant participant */ 4: - message.participant = Participant.internalBinaryRead( - reader, - reader.uint32(), - options, - message.participant, - ); - break; - default: - let u = options.readUnknownField; - if (u === 'throw') - throw new globalThis.Error( - `Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`, - ); - let d = reader.skip(wireType); - if (u !== false) - (u === true ? UnknownFieldHandler.onRead : u)( - this.typeName, - message, - fieldNo, - wireType, - d, - ); - } - } - return message; - } - internalBinaryWrite( - message: TrackPublished, - writer: IBinaryWriter, - options: BinaryWriteOptions, - ): IBinaryWriter { - /* string user_id = 1; */ - if (message.userId !== '') - writer.tag(1, WireType.LengthDelimited).string(message.userId); - /* string session_id = 2; */ - if (message.sessionId !== '') - writer.tag(2, WireType.LengthDelimited).string(message.sessionId); - /* stream.video.sfu.models.TrackType type = 3; */ - if (message.type !== 0) writer.tag(3, WireType.Varint).int32(message.type); - /* stream.video.sfu.models.Participant participant = 4; */ - if (message.participant) - Participant.internalBinaryWrite( - message.participant, - writer.tag(4, WireType.LengthDelimited).fork(), - options, - ).join(); - let u = options.writeUnknownFields; - if (u !== false) - (u == true ? UnknownFieldHandler.onWrite : u)( - this.typeName, - message, - writer, - ); - return writer; - } } /** * @generated MessageType for protobuf message stream.video.sfu.event.TrackPublished @@ -2319,98 +1239,6 @@ class TrackUnpublished$Type extends MessageType { { no: 5, name: 'participant', kind: 'message', T: () => Participant }, ]); } - create(value?: PartialMessage): TrackUnpublished { - const message = globalThis.Object.create(this.messagePrototype!); - message.userId = ''; - message.sessionId = ''; - message.type = 0; - message.cause = 0; - if (value !== undefined) - reflectionMergePartial(this, message, value); - return message; - } - internalBinaryRead( - reader: IBinaryReader, - length: number, - options: BinaryReadOptions, - target?: TrackUnpublished, - ): TrackUnpublished { - let message = target ?? this.create(), - end = reader.pos + length; - while (reader.pos < end) { - let [fieldNo, wireType] = reader.tag(); - switch (fieldNo) { - case /* string user_id */ 1: - message.userId = reader.string(); - break; - case /* string session_id */ 2: - message.sessionId = reader.string(); - break; - case /* stream.video.sfu.models.TrackType type */ 3: - message.type = reader.int32(); - break; - case /* stream.video.sfu.models.TrackUnpublishReason cause */ 4: - message.cause = reader.int32(); - break; - case /* stream.video.sfu.models.Participant participant */ 5: - message.participant = Participant.internalBinaryRead( - reader, - reader.uint32(), - options, - message.participant, - ); - break; - default: - let u = options.readUnknownField; - if (u === 'throw') - throw new globalThis.Error( - `Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`, - ); - let d = reader.skip(wireType); - if (u !== false) - (u === true ? UnknownFieldHandler.onRead : u)( - this.typeName, - message, - fieldNo, - wireType, - d, - ); - } - } - return message; - } - internalBinaryWrite( - message: TrackUnpublished, - writer: IBinaryWriter, - options: BinaryWriteOptions, - ): IBinaryWriter { - /* string user_id = 1; */ - if (message.userId !== '') - writer.tag(1, WireType.LengthDelimited).string(message.userId); - /* string session_id = 2; */ - if (message.sessionId !== '') - writer.tag(2, WireType.LengthDelimited).string(message.sessionId); - /* stream.video.sfu.models.TrackType type = 3; */ - if (message.type !== 0) writer.tag(3, WireType.Varint).int32(message.type); - /* stream.video.sfu.models.TrackUnpublishReason cause = 4; */ - if (message.cause !== 0) - writer.tag(4, WireType.Varint).int32(message.cause); - /* stream.video.sfu.models.Participant participant = 5; */ - if (message.participant) - Participant.internalBinaryWrite( - message.participant, - writer.tag(5, WireType.LengthDelimited).fork(), - options, - ).join(); - let u = options.writeUnknownFields; - if (u !== false) - (u == true ? UnknownFieldHandler.onWrite : u)( - this.typeName, - message, - writer, - ); - return writer; - } } /** * @generated MessageType for protobuf message stream.video.sfu.event.TrackUnpublished @@ -2449,129 +1277,6 @@ class JoinRequest$Type extends MessageType { }, ]); } - create(value?: PartialMessage): JoinRequest { - const message = globalThis.Object.create(this.messagePrototype!); - message.token = ''; - message.sessionId = ''; - message.subscriberSdp = ''; - message.fastReconnect = false; - if (value !== undefined) - reflectionMergePartial(this, message, value); - return message; - } - internalBinaryRead( - reader: IBinaryReader, - length: number, - options: BinaryReadOptions, - target?: JoinRequest, - ): JoinRequest { - let message = target ?? this.create(), - end = reader.pos + length; - while (reader.pos < end) { - let [fieldNo, wireType] = reader.tag(); - switch (fieldNo) { - case /* string token */ 1: - message.token = reader.string(); - break; - case /* string session_id */ 2: - message.sessionId = reader.string(); - break; - case /* string subscriber_sdp */ 3: - message.subscriberSdp = reader.string(); - break; - case /* stream.video.sfu.models.ClientDetails client_details */ 4: - message.clientDetails = ClientDetails.internalBinaryRead( - reader, - reader.uint32(), - options, - message.clientDetails, - ); - break; - case /* stream.video.sfu.event.Migration migration = 5 [deprecated = true];*/ 5: - message.migration = Migration.internalBinaryRead( - reader, - reader.uint32(), - options, - message.migration, - ); - break; - case /* bool fast_reconnect = 6 [deprecated = true];*/ 6: - message.fastReconnect = reader.bool(); - break; - case /* stream.video.sfu.event.ReconnectDetails reconnect_details */ 7: - message.reconnectDetails = ReconnectDetails.internalBinaryRead( - reader, - reader.uint32(), - options, - message.reconnectDetails, - ); - break; - default: - let u = options.readUnknownField; - if (u === 'throw') - throw new globalThis.Error( - `Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`, - ); - let d = reader.skip(wireType); - if (u !== false) - (u === true ? UnknownFieldHandler.onRead : u)( - this.typeName, - message, - fieldNo, - wireType, - d, - ); - } - } - return message; - } - internalBinaryWrite( - message: JoinRequest, - writer: IBinaryWriter, - options: BinaryWriteOptions, - ): IBinaryWriter { - /* string token = 1; */ - if (message.token !== '') - writer.tag(1, WireType.LengthDelimited).string(message.token); - /* string session_id = 2; */ - if (message.sessionId !== '') - writer.tag(2, WireType.LengthDelimited).string(message.sessionId); - /* string subscriber_sdp = 3; */ - if (message.subscriberSdp !== '') - writer.tag(3, WireType.LengthDelimited).string(message.subscriberSdp); - /* stream.video.sfu.models.ClientDetails client_details = 4; */ - if (message.clientDetails) - ClientDetails.internalBinaryWrite( - message.clientDetails, - writer.tag(4, WireType.LengthDelimited).fork(), - options, - ).join(); - /* stream.video.sfu.event.Migration migration = 5 [deprecated = true]; */ - if (message.migration) - Migration.internalBinaryWrite( - message.migration, - writer.tag(5, WireType.LengthDelimited).fork(), - options, - ).join(); - /* bool fast_reconnect = 6 [deprecated = true]; */ - if (message.fastReconnect !== false) - writer.tag(6, WireType.Varint).bool(message.fastReconnect); - /* stream.video.sfu.event.ReconnectDetails reconnect_details = 7; */ - if (message.reconnectDetails) - ReconnectDetails.internalBinaryWrite( - message.reconnectDetails, - writer.tag(7, WireType.LengthDelimited).fork(), - options, - ).join(); - let u = options.writeUnknownFields; - if (u !== false) - (u == true ? UnknownFieldHandler.onWrite : u)( - this.typeName, - message, - writer, - ); - return writer; - } } /** * @generated MessageType for protobuf message stream.video.sfu.event.JoinRequest @@ -2625,114 +1330,6 @@ class ReconnectDetails$Type extends MessageType { }, ]); } - create(value?: PartialMessage): ReconnectDetails { - const message = globalThis.Object.create(this.messagePrototype!); - message.strategy = 0; - message.announcedTracks = []; - message.subscriptions = []; - message.reconnectAttempt = 0; - message.fromSfuId = ''; - message.previousSessionId = ''; - if (value !== undefined) - reflectionMergePartial(this, message, value); - return message; - } - internalBinaryRead( - reader: IBinaryReader, - length: number, - options: BinaryReadOptions, - target?: ReconnectDetails, - ): ReconnectDetails { - let message = target ?? this.create(), - end = reader.pos + length; - while (reader.pos < end) { - let [fieldNo, wireType] = reader.tag(); - switch (fieldNo) { - case /* stream.video.sfu.models.WebsocketReconnectStrategy strategy */ 1: - message.strategy = reader.int32(); - break; - case /* repeated stream.video.sfu.models.TrackInfo announced_tracks */ 3: - message.announcedTracks.push( - TrackInfo.internalBinaryRead(reader, reader.uint32(), options), - ); - break; - case /* repeated stream.video.sfu.signal.TrackSubscriptionDetails subscriptions */ 4: - message.subscriptions.push( - TrackSubscriptionDetails.internalBinaryRead( - reader, - reader.uint32(), - options, - ), - ); - break; - case /* uint32 reconnect_attempt */ 5: - message.reconnectAttempt = reader.uint32(); - break; - case /* string from_sfu_id */ 6: - message.fromSfuId = reader.string(); - break; - case /* string previous_session_id */ 7: - message.previousSessionId = reader.string(); - break; - default: - let u = options.readUnknownField; - if (u === 'throw') - throw new globalThis.Error( - `Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`, - ); - let d = reader.skip(wireType); - if (u !== false) - (u === true ? UnknownFieldHandler.onRead : u)( - this.typeName, - message, - fieldNo, - wireType, - d, - ); - } - } - return message; - } - internalBinaryWrite( - message: ReconnectDetails, - writer: IBinaryWriter, - options: BinaryWriteOptions, - ): IBinaryWriter { - /* stream.video.sfu.models.WebsocketReconnectStrategy strategy = 1; */ - if (message.strategy !== 0) - writer.tag(1, WireType.Varint).int32(message.strategy); - /* repeated stream.video.sfu.models.TrackInfo announced_tracks = 3; */ - for (let i = 0; i < message.announcedTracks.length; i++) - TrackInfo.internalBinaryWrite( - message.announcedTracks[i], - writer.tag(3, WireType.LengthDelimited).fork(), - options, - ).join(); - /* repeated stream.video.sfu.signal.TrackSubscriptionDetails subscriptions = 4; */ - for (let i = 0; i < message.subscriptions.length; i++) - TrackSubscriptionDetails.internalBinaryWrite( - message.subscriptions[i], - writer.tag(4, WireType.LengthDelimited).fork(), - options, - ).join(); - /* uint32 reconnect_attempt = 5; */ - if (message.reconnectAttempt !== 0) - writer.tag(5, WireType.Varint).uint32(message.reconnectAttempt); - /* string from_sfu_id = 6; */ - if (message.fromSfuId !== '') - writer.tag(6, WireType.LengthDelimited).string(message.fromSfuId); - /* string previous_session_id = 7; */ - if (message.previousSessionId !== '') - writer.tag(7, WireType.LengthDelimited).string(message.previousSessionId); - let u = options.writeUnknownFields; - if (u !== false) - (u == true ? UnknownFieldHandler.onWrite : u)( - this.typeName, - message, - writer, - ); - return writer; - } } /** * @generated MessageType for protobuf message stream.video.sfu.event.ReconnectDetails @@ -2764,93 +1361,6 @@ class Migration$Type extends MessageType { }, ]); } - create(value?: PartialMessage): Migration { - const message = globalThis.Object.create(this.messagePrototype!); - message.fromSfuId = ''; - message.announcedTracks = []; - message.subscriptions = []; - if (value !== undefined) - reflectionMergePartial(this, message, value); - return message; - } - internalBinaryRead( - reader: IBinaryReader, - length: number, - options: BinaryReadOptions, - target?: Migration, - ): Migration { - let message = target ?? this.create(), - end = reader.pos + length; - while (reader.pos < end) { - let [fieldNo, wireType] = reader.tag(); - switch (fieldNo) { - case /* string from_sfu_id */ 1: - message.fromSfuId = reader.string(); - break; - case /* repeated stream.video.sfu.models.TrackInfo announced_tracks */ 2: - message.announcedTracks.push( - TrackInfo.internalBinaryRead(reader, reader.uint32(), options), - ); - break; - case /* repeated stream.video.sfu.signal.TrackSubscriptionDetails subscriptions */ 3: - message.subscriptions.push( - TrackSubscriptionDetails.internalBinaryRead( - reader, - reader.uint32(), - options, - ), - ); - break; - default: - let u = options.readUnknownField; - if (u === 'throw') - throw new globalThis.Error( - `Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`, - ); - let d = reader.skip(wireType); - if (u !== false) - (u === true ? UnknownFieldHandler.onRead : u)( - this.typeName, - message, - fieldNo, - wireType, - d, - ); - } - } - return message; - } - internalBinaryWrite( - message: Migration, - writer: IBinaryWriter, - options: BinaryWriteOptions, - ): IBinaryWriter { - /* string from_sfu_id = 1; */ - if (message.fromSfuId !== '') - writer.tag(1, WireType.LengthDelimited).string(message.fromSfuId); - /* repeated stream.video.sfu.models.TrackInfo announced_tracks = 2; */ - for (let i = 0; i < message.announcedTracks.length; i++) - TrackInfo.internalBinaryWrite( - message.announcedTracks[i], - writer.tag(2, WireType.LengthDelimited).fork(), - options, - ).join(); - /* repeated stream.video.sfu.signal.TrackSubscriptionDetails subscriptions = 3; */ - for (let i = 0; i < message.subscriptions.length; i++) - TrackSubscriptionDetails.internalBinaryWrite( - message.subscriptions[i], - writer.tag(3, WireType.LengthDelimited).fork(), - options, - ).join(); - let u = options.writeUnknownFields; - if (u !== false) - (u == true ? UnknownFieldHandler.onWrite : u)( - this.typeName, - message, - writer, - ); - return writer; - } } /** * @generated MessageType for protobuf message stream.video.sfu.event.Migration @@ -2870,87 +1380,6 @@ class JoinResponse$Type extends MessageType { }, ]); } - create(value?: PartialMessage): JoinResponse { - const message = globalThis.Object.create(this.messagePrototype!); - message.reconnected = false; - message.fastReconnectDeadlineSeconds = 0; - if (value !== undefined) - reflectionMergePartial(this, message, value); - return message; - } - internalBinaryRead( - reader: IBinaryReader, - length: number, - options: BinaryReadOptions, - target?: JoinResponse, - ): JoinResponse { - let message = target ?? this.create(), - end = reader.pos + length; - while (reader.pos < end) { - let [fieldNo, wireType] = reader.tag(); - switch (fieldNo) { - case /* stream.video.sfu.models.CallState call_state */ 1: - message.callState = CallState.internalBinaryRead( - reader, - reader.uint32(), - options, - message.callState, - ); - break; - case /* bool reconnected */ 2: - message.reconnected = reader.bool(); - break; - case /* int32 fast_reconnect_deadline_seconds */ 3: - message.fastReconnectDeadlineSeconds = reader.int32(); - break; - default: - let u = options.readUnknownField; - if (u === 'throw') - throw new globalThis.Error( - `Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`, - ); - let d = reader.skip(wireType); - if (u !== false) - (u === true ? UnknownFieldHandler.onRead : u)( - this.typeName, - message, - fieldNo, - wireType, - d, - ); - } - } - return message; - } - internalBinaryWrite( - message: JoinResponse, - writer: IBinaryWriter, - options: BinaryWriteOptions, - ): IBinaryWriter { - /* stream.video.sfu.models.CallState call_state = 1; */ - if (message.callState) - CallState.internalBinaryWrite( - message.callState, - writer.tag(1, WireType.LengthDelimited).fork(), - options, - ).join(); - /* bool reconnected = 2; */ - if (message.reconnected !== false) - writer.tag(2, WireType.Varint).bool(message.reconnected); - /* int32 fast_reconnect_deadline_seconds = 3; */ - if (message.fastReconnectDeadlineSeconds !== 0) - writer - .tag(3, WireType.Varint) - .int32(message.fastReconnectDeadlineSeconds); - let u = options.writeUnknownFields; - if (u !== false) - (u == true ? UnknownFieldHandler.onWrite : u)( - this.typeName, - message, - writer, - ); - return writer; - } } /** * @generated MessageType for protobuf message stream.video.sfu.event.JoinResponse @@ -2964,78 +1393,6 @@ class ParticipantJoined$Type extends MessageType { { no: 2, name: 'participant', kind: 'message', T: () => Participant }, ]); } - create(value?: PartialMessage): ParticipantJoined { - const message = globalThis.Object.create(this.messagePrototype!); - message.callCid = ''; - if (value !== undefined) - reflectionMergePartial(this, message, value); - return message; - } - internalBinaryRead( - reader: IBinaryReader, - length: number, - options: BinaryReadOptions, - target?: ParticipantJoined, - ): ParticipantJoined { - let message = target ?? this.create(), - end = reader.pos + length; - while (reader.pos < end) { - let [fieldNo, wireType] = reader.tag(); - switch (fieldNo) { - case /* string call_cid */ 1: - message.callCid = reader.string(); - break; - case /* stream.video.sfu.models.Participant participant */ 2: - message.participant = Participant.internalBinaryRead( - reader, - reader.uint32(), - options, - message.participant, - ); - break; - default: - let u = options.readUnknownField; - if (u === 'throw') - throw new globalThis.Error( - `Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`, - ); - let d = reader.skip(wireType); - if (u !== false) - (u === true ? UnknownFieldHandler.onRead : u)( - this.typeName, - message, - fieldNo, - wireType, - d, - ); - } - } - return message; - } - internalBinaryWrite( - message: ParticipantJoined, - writer: IBinaryWriter, - options: BinaryWriteOptions, - ): IBinaryWriter { - /* string call_cid = 1; */ - if (message.callCid !== '') - writer.tag(1, WireType.LengthDelimited).string(message.callCid); - /* stream.video.sfu.models.Participant participant = 2; */ - if (message.participant) - Participant.internalBinaryWrite( - message.participant, - writer.tag(2, WireType.LengthDelimited).fork(), - options, - ).join(); - let u = options.writeUnknownFields; - if (u !== false) - (u == true ? UnknownFieldHandler.onWrite : u)( - this.typeName, - message, - writer, - ); - return writer; - } } /** * @generated MessageType for protobuf message stream.video.sfu.event.ParticipantJoined @@ -3049,78 +1406,6 @@ class ParticipantLeft$Type extends MessageType { { no: 2, name: 'participant', kind: 'message', T: () => Participant }, ]); } - create(value?: PartialMessage): ParticipantLeft { - const message = globalThis.Object.create(this.messagePrototype!); - message.callCid = ''; - if (value !== undefined) - reflectionMergePartial(this, message, value); - return message; - } - internalBinaryRead( - reader: IBinaryReader, - length: number, - options: BinaryReadOptions, - target?: ParticipantLeft, - ): ParticipantLeft { - let message = target ?? this.create(), - end = reader.pos + length; - while (reader.pos < end) { - let [fieldNo, wireType] = reader.tag(); - switch (fieldNo) { - case /* string call_cid */ 1: - message.callCid = reader.string(); - break; - case /* stream.video.sfu.models.Participant participant */ 2: - message.participant = Participant.internalBinaryRead( - reader, - reader.uint32(), - options, - message.participant, - ); - break; - default: - let u = options.readUnknownField; - if (u === 'throw') - throw new globalThis.Error( - `Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`, - ); - let d = reader.skip(wireType); - if (u !== false) - (u === true ? UnknownFieldHandler.onRead : u)( - this.typeName, - message, - fieldNo, - wireType, - d, - ); - } - } - return message; - } - internalBinaryWrite( - message: ParticipantLeft, - writer: IBinaryWriter, - options: BinaryWriteOptions, - ): IBinaryWriter { - /* string call_cid = 1; */ - if (message.callCid !== '') - writer.tag(1, WireType.LengthDelimited).string(message.callCid); - /* stream.video.sfu.models.Participant participant = 2; */ - if (message.participant) - Participant.internalBinaryWrite( - message.participant, - writer.tag(2, WireType.LengthDelimited).fork(), - options, - ).join(); - let u = options.writeUnknownFields; - if (u !== false) - (u == true ? UnknownFieldHandler.onWrite : u)( - this.typeName, - message, - writer, - ); - return writer; - } } /** * @generated MessageType for protobuf message stream.video.sfu.event.ParticipantLeft @@ -3134,78 +1419,6 @@ class ParticipantUpdated$Type extends MessageType { { no: 2, name: 'participant', kind: 'message', T: () => Participant }, ]); } - create(value?: PartialMessage): ParticipantUpdated { - const message = globalThis.Object.create(this.messagePrototype!); - message.callCid = ''; - if (value !== undefined) - reflectionMergePartial(this, message, value); - return message; - } - internalBinaryRead( - reader: IBinaryReader, - length: number, - options: BinaryReadOptions, - target?: ParticipantUpdated, - ): ParticipantUpdated { - let message = target ?? this.create(), - end = reader.pos + length; - while (reader.pos < end) { - let [fieldNo, wireType] = reader.tag(); - switch (fieldNo) { - case /* string call_cid */ 1: - message.callCid = reader.string(); - break; - case /* stream.video.sfu.models.Participant participant */ 2: - message.participant = Participant.internalBinaryRead( - reader, - reader.uint32(), - options, - message.participant, - ); - break; - default: - let u = options.readUnknownField; - if (u === 'throw') - throw new globalThis.Error( - `Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`, - ); - let d = reader.skip(wireType); - if (u !== false) - (u === true ? UnknownFieldHandler.onRead : u)( - this.typeName, - message, - fieldNo, - wireType, - d, - ); - } - } - return message; - } - internalBinaryWrite( - message: ParticipantUpdated, - writer: IBinaryWriter, - options: BinaryWriteOptions, - ): IBinaryWriter { - /* string call_cid = 1; */ - if (message.callCid !== '') - writer.tag(1, WireType.LengthDelimited).string(message.callCid); - /* stream.video.sfu.models.Participant participant = 2; */ - if (message.participant) - Participant.internalBinaryWrite( - message.participant, - writer.tag(2, WireType.LengthDelimited).fork(), - options, - ).join(); - let u = options.writeUnknownFields; - if (u !== false) - (u == true ? UnknownFieldHandler.onWrite : u)( - this.typeName, - message, - writer, - ); - return writer; - } } /** * @generated MessageType for protobuf message stream.video.sfu.event.ParticipantUpdated @@ -3219,70 +1432,6 @@ class SubscriberOffer$Type extends MessageType { { no: 2, name: 'sdp', kind: 'scalar', T: 9 /*ScalarType.STRING*/ }, ]); } - create(value?: PartialMessage): SubscriberOffer { - const message = globalThis.Object.create(this.messagePrototype!); - message.iceRestart = false; - message.sdp = ''; - if (value !== undefined) - reflectionMergePartial(this, message, value); - return message; - } - internalBinaryRead( - reader: IBinaryReader, - length: number, - options: BinaryReadOptions, - target?: SubscriberOffer, - ): SubscriberOffer { - let message = target ?? this.create(), - end = reader.pos + length; - while (reader.pos < end) { - let [fieldNo, wireType] = reader.tag(); - switch (fieldNo) { - case /* bool ice_restart */ 1: - message.iceRestart = reader.bool(); - break; - case /* string sdp */ 2: - message.sdp = reader.string(); - break; - default: - let u = options.readUnknownField; - if (u === 'throw') - throw new globalThis.Error( - `Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`, - ); - let d = reader.skip(wireType); - if (u !== false) - (u === true ? UnknownFieldHandler.onRead : u)( - this.typeName, - message, - fieldNo, - wireType, - d, - ); - } - } - return message; - } - internalBinaryWrite( - message: SubscriberOffer, - writer: IBinaryWriter, - options: BinaryWriteOptions, - ): IBinaryWriter { - /* bool ice_restart = 1; */ - if (message.iceRestart !== false) - writer.tag(1, WireType.Varint).bool(message.iceRestart); - /* string sdp = 2; */ - if (message.sdp !== '') - writer.tag(2, WireType.LengthDelimited).string(message.sdp); - let u = options.writeUnknownFields; - if (u !== false) - (u == true ? UnknownFieldHandler.onWrite : u)( - this.typeName, - message, - writer, - ); - return writer; - } } /** * @generated MessageType for protobuf message stream.video.sfu.event.SubscriberOffer @@ -3295,63 +1444,6 @@ class PublisherAnswer$Type extends MessageType { { no: 1, name: 'sdp', kind: 'scalar', T: 9 /*ScalarType.STRING*/ }, ]); } - create(value?: PartialMessage): PublisherAnswer { - const message = globalThis.Object.create(this.messagePrototype!); - message.sdp = ''; - if (value !== undefined) - reflectionMergePartial(this, message, value); - return message; - } - internalBinaryRead( - reader: IBinaryReader, - length: number, - options: BinaryReadOptions, - target?: PublisherAnswer, - ): PublisherAnswer { - let message = target ?? this.create(), - end = reader.pos + length; - while (reader.pos < end) { - let [fieldNo, wireType] = reader.tag(); - switch (fieldNo) { - case /* string sdp */ 1: - message.sdp = reader.string(); - break; - default: - let u = options.readUnknownField; - if (u === 'throw') - throw new globalThis.Error( - `Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`, - ); - let d = reader.skip(wireType); - if (u !== false) - (u === true ? UnknownFieldHandler.onRead : u)( - this.typeName, - message, - fieldNo, - wireType, - d, - ); - } - } - return message; - } - internalBinaryWrite( - message: PublisherAnswer, - writer: IBinaryWriter, - options: BinaryWriteOptions, - ): IBinaryWriter { - /* string sdp = 1; */ - if (message.sdp !== '') - writer.tag(1, WireType.LengthDelimited).string(message.sdp); - let u = options.writeUnknownFields; - if (u !== false) - (u == true ? UnknownFieldHandler.onWrite : u)( - this.typeName, - message, - writer, - ); - return writer; - } } /** * @generated MessageType for protobuf message stream.video.sfu.event.PublisherAnswer @@ -3370,75 +1462,6 @@ class ConnectionQualityChanged$Type extends MessageType, - ): ConnectionQualityChanged { - const message = globalThis.Object.create(this.messagePrototype!); - message.connectionQualityUpdates = []; - if (value !== undefined) - reflectionMergePartial(this, message, value); - return message; - } - internalBinaryRead( - reader: IBinaryReader, - length: number, - options: BinaryReadOptions, - target?: ConnectionQualityChanged, - ): ConnectionQualityChanged { - let message = target ?? this.create(), - end = reader.pos + length; - while (reader.pos < end) { - let [fieldNo, wireType] = reader.tag(); - switch (fieldNo) { - case /* repeated stream.video.sfu.event.ConnectionQualityInfo connection_quality_updates */ 1: - message.connectionQualityUpdates.push( - ConnectionQualityInfo.internalBinaryRead( - reader, - reader.uint32(), - options, - ), - ); - break; - default: - let u = options.readUnknownField; - if (u === 'throw') - throw new globalThis.Error( - `Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`, - ); - let d = reader.skip(wireType); - if (u !== false) - (u === true ? UnknownFieldHandler.onRead : u)( - this.typeName, - message, - fieldNo, - wireType, - d, - ); - } - } - return message; - } - internalBinaryWrite( - message: ConnectionQualityChanged, - writer: IBinaryWriter, - options: BinaryWriteOptions, - ): IBinaryWriter { - /* repeated stream.video.sfu.event.ConnectionQualityInfo connection_quality_updates = 1; */ - for (let i = 0; i < message.connectionQualityUpdates.length; i++) - ConnectionQualityInfo.internalBinaryWrite( - message.connectionQualityUpdates[i], - writer.tag(1, WireType.LengthDelimited).fork(), - options, - ).join(); - let u = options.writeUnknownFields; - if (u !== false) - (u == true ? UnknownFieldHandler.onWrite : u)( - this.typeName, - message, - writer, - ); - return writer; - } } /** * @generated MessageType for protobuf message stream.video.sfu.event.ConnectionQualityChanged @@ -3462,77 +1485,6 @@ class ConnectionQualityInfo$Type extends MessageType { }, ]); } - create(value?: PartialMessage): ConnectionQualityInfo { - const message = globalThis.Object.create(this.messagePrototype!); - message.userId = ''; - message.sessionId = ''; - message.connectionQuality = 0; - if (value !== undefined) - reflectionMergePartial(this, message, value); - return message; - } - internalBinaryRead( - reader: IBinaryReader, - length: number, - options: BinaryReadOptions, - target?: ConnectionQualityInfo, - ): ConnectionQualityInfo { - let message = target ?? this.create(), - end = reader.pos + length; - while (reader.pos < end) { - let [fieldNo, wireType] = reader.tag(); - switch (fieldNo) { - case /* string user_id */ 1: - message.userId = reader.string(); - break; - case /* string session_id */ 2: - message.sessionId = reader.string(); - break; - case /* stream.video.sfu.models.ConnectionQuality connection_quality */ 3: - message.connectionQuality = reader.int32(); - break; - default: - let u = options.readUnknownField; - if (u === 'throw') - throw new globalThis.Error( - `Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`, - ); - let d = reader.skip(wireType); - if (u !== false) - (u === true ? UnknownFieldHandler.onRead : u)( - this.typeName, - message, - fieldNo, - wireType, - d, - ); - } - } - return message; - } - internalBinaryWrite( - message: ConnectionQualityInfo, - writer: IBinaryWriter, - options: BinaryWriteOptions, - ): IBinaryWriter { - /* string user_id = 1; */ - if (message.userId !== '') - writer.tag(1, WireType.LengthDelimited).string(message.userId); - /* string session_id = 2; */ - if (message.sessionId !== '') - writer.tag(2, WireType.LengthDelimited).string(message.sessionId); - /* stream.video.sfu.models.ConnectionQuality connection_quality = 3; */ - if (message.connectionQuality !== 0) - writer.tag(3, WireType.Varint).int32(message.connectionQuality); - let u = options.writeUnknownFields; - if (u !== false) - (u == true ? UnknownFieldHandler.onWrite : u)( - this.typeName, - message, - writer, - ); - return writer; - } } /** * @generated MessageType for protobuf message stream.video.sfu.event.ConnectionQualityInfo @@ -3546,72 +1498,6 @@ class DominantSpeakerChanged$Type extends MessageType { { no: 2, name: 'session_id', kind: 'scalar', T: 9 /*ScalarType.STRING*/ }, ]); } - create( - value?: PartialMessage, - ): DominantSpeakerChanged { - const message = globalThis.Object.create(this.messagePrototype!); - message.userId = ''; - message.sessionId = ''; - if (value !== undefined) - reflectionMergePartial(this, message, value); - return message; - } - internalBinaryRead( - reader: IBinaryReader, - length: number, - options: BinaryReadOptions, - target?: DominantSpeakerChanged, - ): DominantSpeakerChanged { - let message = target ?? this.create(), - end = reader.pos + length; - while (reader.pos < end) { - let [fieldNo, wireType] = reader.tag(); - switch (fieldNo) { - case /* string user_id */ 1: - message.userId = reader.string(); - break; - case /* string session_id */ 2: - message.sessionId = reader.string(); - break; - default: - let u = options.readUnknownField; - if (u === 'throw') - throw new globalThis.Error( - `Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`, - ); - let d = reader.skip(wireType); - if (u !== false) - (u === true ? UnknownFieldHandler.onRead : u)( - this.typeName, - message, - fieldNo, - wireType, - d, - ); - } - } - return message; - } - internalBinaryWrite( - message: DominantSpeakerChanged, - writer: IBinaryWriter, - options: BinaryWriteOptions, - ): IBinaryWriter { - /* string user_id = 1; */ - if (message.userId !== '') - writer.tag(1, WireType.LengthDelimited).string(message.userId); - /* string session_id = 2; */ - if (message.sessionId !== '') - writer.tag(2, WireType.LengthDelimited).string(message.sessionId); - let u = options.writeUnknownFields; - if (u !== false) - (u == true ? UnknownFieldHandler.onWrite : u)( - this.typeName, - message, - writer, - ); - return writer; - } } /** * @generated MessageType for protobuf message stream.video.sfu.event.DominantSpeakerChanged @@ -3627,83 +1513,6 @@ class AudioLevel$Type extends MessageType { { no: 4, name: 'is_speaking', kind: 'scalar', T: 8 /*ScalarType.BOOL*/ }, ]); } - create(value?: PartialMessage): AudioLevel { - const message = globalThis.Object.create(this.messagePrototype!); - message.userId = ''; - message.sessionId = ''; - message.level = 0; - message.isSpeaking = false; - if (value !== undefined) - reflectionMergePartial(this, message, value); - return message; - } - internalBinaryRead( - reader: IBinaryReader, - length: number, - options: BinaryReadOptions, - target?: AudioLevel, - ): AudioLevel { - let message = target ?? this.create(), - end = reader.pos + length; - while (reader.pos < end) { - let [fieldNo, wireType] = reader.tag(); - switch (fieldNo) { - case /* string user_id */ 1: - message.userId = reader.string(); - break; - case /* string session_id */ 2: - message.sessionId = reader.string(); - break; - case /* float level */ 3: - message.level = reader.float(); - break; - case /* bool is_speaking */ 4: - message.isSpeaking = reader.bool(); - break; - default: - let u = options.readUnknownField; - if (u === 'throw') - throw new globalThis.Error( - `Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`, - ); - let d = reader.skip(wireType); - if (u !== false) - (u === true ? UnknownFieldHandler.onRead : u)( - this.typeName, - message, - fieldNo, - wireType, - d, - ); - } - } - return message; - } - internalBinaryWrite( - message: AudioLevel, - writer: IBinaryWriter, - options: BinaryWriteOptions, - ): IBinaryWriter { - /* string user_id = 1; */ - if (message.userId !== '') - writer.tag(1, WireType.LengthDelimited).string(message.userId); - /* string session_id = 2; */ - if (message.sessionId !== '') - writer.tag(2, WireType.LengthDelimited).string(message.sessionId); - /* float level = 3; */ - if (message.level !== 0) writer.tag(3, WireType.Bit32).float(message.level); - /* bool is_speaking = 4; */ - if (message.isSpeaking !== false) - writer.tag(4, WireType.Varint).bool(message.isSpeaking); - let u = options.writeUnknownFields; - if (u !== false) - (u == true ? UnknownFieldHandler.onWrite : u)( - this.typeName, - message, - writer, - ); - return writer; - } } /** * @generated MessageType for protobuf message stream.video.sfu.event.AudioLevel @@ -3722,69 +1531,6 @@ class AudioLevelChanged$Type extends MessageType { }, ]); } - create(value?: PartialMessage): AudioLevelChanged { - const message = globalThis.Object.create(this.messagePrototype!); - message.audioLevels = []; - if (value !== undefined) - reflectionMergePartial(this, message, value); - return message; - } - internalBinaryRead( - reader: IBinaryReader, - length: number, - options: BinaryReadOptions, - target?: AudioLevelChanged, - ): AudioLevelChanged { - let message = target ?? this.create(), - end = reader.pos + length; - while (reader.pos < end) { - let [fieldNo, wireType] = reader.tag(); - switch (fieldNo) { - case /* repeated stream.video.sfu.event.AudioLevel audio_levels */ 1: - message.audioLevels.push( - AudioLevel.internalBinaryRead(reader, reader.uint32(), options), - ); - break; - default: - let u = options.readUnknownField; - if (u === 'throw') - throw new globalThis.Error( - `Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`, - ); - let d = reader.skip(wireType); - if (u !== false) - (u === true ? UnknownFieldHandler.onRead : u)( - this.typeName, - message, - fieldNo, - wireType, - d, - ); - } - } - return message; - } - internalBinaryWrite( - message: AudioLevelChanged, - writer: IBinaryWriter, - options: BinaryWriteOptions, - ): IBinaryWriter { - /* repeated stream.video.sfu.event.AudioLevel audio_levels = 1; */ - for (let i = 0; i < message.audioLevels.length; i++) - AudioLevel.internalBinaryWrite( - message.audioLevels[i], - writer.tag(1, WireType.LengthDelimited).fork(), - options, - ).join(); - let u = options.writeUnknownFields; - if (u !== false) - (u == true ? UnknownFieldHandler.onWrite : u)( - this.typeName, - message, - writer, - ); - return writer; - } } /** * @generated MessageType for protobuf message stream.video.sfu.event.AudioLevelChanged @@ -3802,63 +1548,6 @@ class AudioMediaRequest$Type extends MessageType { }, ]); } - create(value?: PartialMessage): AudioMediaRequest { - const message = globalThis.Object.create(this.messagePrototype!); - message.channelCount = 0; - if (value !== undefined) - reflectionMergePartial(this, message, value); - return message; - } - internalBinaryRead( - reader: IBinaryReader, - length: number, - options: BinaryReadOptions, - target?: AudioMediaRequest, - ): AudioMediaRequest { - let message = target ?? this.create(), - end = reader.pos + length; - while (reader.pos < end) { - let [fieldNo, wireType] = reader.tag(); - switch (fieldNo) { - case /* int32 channel_count */ 1: - message.channelCount = reader.int32(); - break; - default: - let u = options.readUnknownField; - if (u === 'throw') - throw new globalThis.Error( - `Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`, - ); - let d = reader.skip(wireType); - if (u !== false) - (u === true ? UnknownFieldHandler.onRead : u)( - this.typeName, - message, - fieldNo, - wireType, - d, - ); - } - } - return message; - } - internalBinaryWrite( - message: AudioMediaRequest, - writer: IBinaryWriter, - options: BinaryWriteOptions, - ): IBinaryWriter { - /* int32 channel_count = 1; */ - if (message.channelCount !== 0) - writer.tag(1, WireType.Varint).int32(message.channelCount); - let u = options.writeUnknownFields; - if (u !== false) - (u == true ? UnknownFieldHandler.onWrite : u)( - this.typeName, - message, - writer, - ); - return writer; - } } /** * @generated MessageType for protobuf message stream.video.sfu.event.AudioMediaRequest @@ -3877,86 +1566,6 @@ class AudioSender$Type extends MessageType { { no: 2, name: 'codec', kind: 'message', T: () => Codec }, ]); } - create(value?: PartialMessage): AudioSender { - const message = globalThis.Object.create(this.messagePrototype!); - if (value !== undefined) - reflectionMergePartial(this, message, value); - return message; - } - internalBinaryRead( - reader: IBinaryReader, - length: number, - options: BinaryReadOptions, - target?: AudioSender, - ): AudioSender { - let message = target ?? this.create(), - end = reader.pos + length; - while (reader.pos < end) { - let [fieldNo, wireType] = reader.tag(); - switch (fieldNo) { - case /* stream.video.sfu.event.AudioMediaRequest media_request */ 1: - message.mediaRequest = AudioMediaRequest.internalBinaryRead( - reader, - reader.uint32(), - options, - message.mediaRequest, - ); - break; - case /* stream.video.sfu.models.Codec codec */ 2: - message.codec = Codec.internalBinaryRead( - reader, - reader.uint32(), - options, - message.codec, - ); - break; - default: - let u = options.readUnknownField; - if (u === 'throw') - throw new globalThis.Error( - `Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`, - ); - let d = reader.skip(wireType); - if (u !== false) - (u === true ? UnknownFieldHandler.onRead : u)( - this.typeName, - message, - fieldNo, - wireType, - d, - ); - } - } - return message; - } - internalBinaryWrite( - message: AudioSender, - writer: IBinaryWriter, - options: BinaryWriteOptions, - ): IBinaryWriter { - /* stream.video.sfu.event.AudioMediaRequest media_request = 1; */ - if (message.mediaRequest) - AudioMediaRequest.internalBinaryWrite( - message.mediaRequest, - writer.tag(1, WireType.LengthDelimited).fork(), - options, - ).join(); - /* stream.video.sfu.models.Codec codec = 2; */ - if (message.codec) - Codec.internalBinaryWrite( - message.codec, - writer.tag(2, WireType.LengthDelimited).fork(), - options, - ).join(); - let u = options.writeUnknownFields; - if (u !== false) - (u == true ? UnknownFieldHandler.onWrite : u)( - this.typeName, - message, - writer, - ); - return writer; - } } /** * @generated MessageType for protobuf message stream.video.sfu.event.AudioSender @@ -3981,77 +1590,6 @@ class VideoMediaRequest$Type extends MessageType { }, ]); } - create(value?: PartialMessage): VideoMediaRequest { - const message = globalThis.Object.create(this.messagePrototype!); - message.idealHeight = 0; - message.idealWidth = 0; - message.idealFrameRate = 0; - if (value !== undefined) - reflectionMergePartial(this, message, value); - return message; - } - internalBinaryRead( - reader: IBinaryReader, - length: number, - options: BinaryReadOptions, - target?: VideoMediaRequest, - ): VideoMediaRequest { - let message = target ?? this.create(), - end = reader.pos + length; - while (reader.pos < end) { - let [fieldNo, wireType] = reader.tag(); - switch (fieldNo) { - case /* int32 ideal_height */ 1: - message.idealHeight = reader.int32(); - break; - case /* int32 ideal_width */ 2: - message.idealWidth = reader.int32(); - break; - case /* int32 ideal_frame_rate */ 3: - message.idealFrameRate = reader.int32(); - break; - default: - let u = options.readUnknownField; - if (u === 'throw') - throw new globalThis.Error( - `Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`, - ); - let d = reader.skip(wireType); - if (u !== false) - (u === true ? UnknownFieldHandler.onRead : u)( - this.typeName, - message, - fieldNo, - wireType, - d, - ); - } - } - return message; - } - internalBinaryWrite( - message: VideoMediaRequest, - writer: IBinaryWriter, - options: BinaryWriteOptions, - ): IBinaryWriter { - /* int32 ideal_height = 1; */ - if (message.idealHeight !== 0) - writer.tag(1, WireType.Varint).int32(message.idealHeight); - /* int32 ideal_width = 2; */ - if (message.idealWidth !== 0) - writer.tag(2, WireType.Varint).int32(message.idealWidth); - /* int32 ideal_frame_rate = 3; */ - if (message.idealFrameRate !== 0) - writer.tag(3, WireType.Varint).int32(message.idealFrameRate); - let u = options.writeUnknownFields; - if (u !== false) - (u == true ? UnknownFieldHandler.onWrite : u)( - this.typeName, - message, - writer, - ); - return writer; - } } /** * @generated MessageType for protobuf message stream.video.sfu.event.VideoMediaRequest @@ -4089,113 +1627,6 @@ class VideoLayerSetting$Type extends MessageType { }, ]); } - create(value?: PartialMessage): VideoLayerSetting { - const message = globalThis.Object.create(this.messagePrototype!); - message.name = ''; - message.active = false; - message.maxBitrate = 0; - message.scaleResolutionDownBy = 0; - message.priority = 0; - message.maxFramerate = 0; - if (value !== undefined) - reflectionMergePartial(this, message, value); - return message; - } - internalBinaryRead( - reader: IBinaryReader, - length: number, - options: BinaryReadOptions, - target?: VideoLayerSetting, - ): VideoLayerSetting { - let message = target ?? this.create(), - end = reader.pos + length; - while (reader.pos < end) { - let [fieldNo, wireType] = reader.tag(); - switch (fieldNo) { - case /* string name */ 1: - message.name = reader.string(); - break; - case /* bool active */ 2: - message.active = reader.bool(); - break; - case /* int32 max_bitrate */ 3: - message.maxBitrate = reader.int32(); - break; - case /* float scale_resolution_down_by */ 4: - message.scaleResolutionDownBy = reader.float(); - break; - case /* stream.video.sfu.event.VideoLayerSetting.Priority priority */ 5: - message.priority = reader.int32(); - break; - case /* stream.video.sfu.models.Codec codec */ 6: - message.codec = Codec.internalBinaryRead( - reader, - reader.uint32(), - options, - message.codec, - ); - break; - case /* uint32 max_framerate */ 7: - message.maxFramerate = reader.uint32(); - break; - default: - let u = options.readUnknownField; - if (u === 'throw') - throw new globalThis.Error( - `Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`, - ); - let d = reader.skip(wireType); - if (u !== false) - (u === true ? UnknownFieldHandler.onRead : u)( - this.typeName, - message, - fieldNo, - wireType, - d, - ); - } - } - return message; - } - internalBinaryWrite( - message: VideoLayerSetting, - writer: IBinaryWriter, - options: BinaryWriteOptions, - ): IBinaryWriter { - /* string name = 1; */ - if (message.name !== '') - writer.tag(1, WireType.LengthDelimited).string(message.name); - /* bool active = 2; */ - if (message.active !== false) - writer.tag(2, WireType.Varint).bool(message.active); - /* int32 max_bitrate = 3; */ - if (message.maxBitrate !== 0) - writer.tag(3, WireType.Varint).int32(message.maxBitrate); - /* float scale_resolution_down_by = 4; */ - if (message.scaleResolutionDownBy !== 0) - writer.tag(4, WireType.Bit32).float(message.scaleResolutionDownBy); - /* stream.video.sfu.event.VideoLayerSetting.Priority priority = 5; */ - if (message.priority !== 0) - writer.tag(5, WireType.Varint).int32(message.priority); - /* stream.video.sfu.models.Codec codec = 6; */ - if (message.codec) - Codec.internalBinaryWrite( - message.codec, - writer.tag(6, WireType.LengthDelimited).fork(), - options, - ).join(); - /* uint32 max_framerate = 7; */ - if (message.maxFramerate !== 0) - writer.tag(7, WireType.Varint).uint32(message.maxFramerate); - let u = options.writeUnknownFields; - if (u !== false) - (u == true ? UnknownFieldHandler.onWrite : u)( - this.typeName, - message, - writer, - ); - return writer; - } } /** * @generated MessageType for protobuf message stream.video.sfu.event.VideoLayerSetting @@ -4221,103 +1652,6 @@ class VideoSender$Type extends MessageType { }, ]); } - create(value?: PartialMessage): VideoSender { - const message = globalThis.Object.create(this.messagePrototype!); - message.layers = []; - if (value !== undefined) - reflectionMergePartial(this, message, value); - return message; - } - internalBinaryRead( - reader: IBinaryReader, - length: number, - options: BinaryReadOptions, - target?: VideoSender, - ): VideoSender { - let message = target ?? this.create(), - end = reader.pos + length; - while (reader.pos < end) { - let [fieldNo, wireType] = reader.tag(); - switch (fieldNo) { - case /* stream.video.sfu.event.VideoMediaRequest media_request */ 1: - message.mediaRequest = VideoMediaRequest.internalBinaryRead( - reader, - reader.uint32(), - options, - message.mediaRequest, - ); - break; - case /* stream.video.sfu.models.Codec codec */ 2: - message.codec = Codec.internalBinaryRead( - reader, - reader.uint32(), - options, - message.codec, - ); - break; - case /* repeated stream.video.sfu.event.VideoLayerSetting layers */ 3: - message.layers.push( - VideoLayerSetting.internalBinaryRead( - reader, - reader.uint32(), - options, - ), - ); - break; - default: - let u = options.readUnknownField; - if (u === 'throw') - throw new globalThis.Error( - `Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`, - ); - let d = reader.skip(wireType); - if (u !== false) - (u === true ? UnknownFieldHandler.onRead : u)( - this.typeName, - message, - fieldNo, - wireType, - d, - ); - } - } - return message; - } - internalBinaryWrite( - message: VideoSender, - writer: IBinaryWriter, - options: BinaryWriteOptions, - ): IBinaryWriter { - /* stream.video.sfu.event.VideoMediaRequest media_request = 1; */ - if (message.mediaRequest) - VideoMediaRequest.internalBinaryWrite( - message.mediaRequest, - writer.tag(1, WireType.LengthDelimited).fork(), - options, - ).join(); - /* stream.video.sfu.models.Codec codec = 2; */ - if (message.codec) - Codec.internalBinaryWrite( - message.codec, - writer.tag(2, WireType.LengthDelimited).fork(), - options, - ).join(); - /* repeated stream.video.sfu.event.VideoLayerSetting layers = 3; */ - for (let i = 0; i < message.layers.length; i++) - VideoLayerSetting.internalBinaryWrite( - message.layers[i], - writer.tag(3, WireType.LengthDelimited).fork(), - options, - ).join(); - let u = options.writeUnknownFields; - if (u !== false) - (u == true ? UnknownFieldHandler.onWrite : u)( - this.typeName, - message, - writer, - ); - return writer; - } } /** * @generated MessageType for protobuf message stream.video.sfu.event.VideoSender @@ -4343,82 +1677,6 @@ class ChangePublishQuality$Type extends MessageType { }, ]); } - create(value?: PartialMessage): ChangePublishQuality { - const message = globalThis.Object.create(this.messagePrototype!); - message.audioSenders = []; - message.videoSenders = []; - if (value !== undefined) - reflectionMergePartial(this, message, value); - return message; - } - internalBinaryRead( - reader: IBinaryReader, - length: number, - options: BinaryReadOptions, - target?: ChangePublishQuality, - ): ChangePublishQuality { - let message = target ?? this.create(), - end = reader.pos + length; - while (reader.pos < end) { - let [fieldNo, wireType] = reader.tag(); - switch (fieldNo) { - case /* repeated stream.video.sfu.event.AudioSender audio_senders */ 1: - message.audioSenders.push( - AudioSender.internalBinaryRead(reader, reader.uint32(), options), - ); - break; - case /* repeated stream.video.sfu.event.VideoSender video_senders */ 2: - message.videoSenders.push( - VideoSender.internalBinaryRead(reader, reader.uint32(), options), - ); - break; - default: - let u = options.readUnknownField; - if (u === 'throw') - throw new globalThis.Error( - `Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`, - ); - let d = reader.skip(wireType); - if (u !== false) - (u === true ? UnknownFieldHandler.onRead : u)( - this.typeName, - message, - fieldNo, - wireType, - d, - ); - } - } - return message; - } - internalBinaryWrite( - message: ChangePublishQuality, - writer: IBinaryWriter, - options: BinaryWriteOptions, - ): IBinaryWriter { - /* repeated stream.video.sfu.event.AudioSender audio_senders = 1; */ - for (let i = 0; i < message.audioSenders.length; i++) - AudioSender.internalBinaryWrite( - message.audioSenders[i], - writer.tag(1, WireType.LengthDelimited).fork(), - options, - ).join(); - /* repeated stream.video.sfu.event.VideoSender video_senders = 2; */ - for (let i = 0; i < message.videoSenders.length; i++) - VideoSender.internalBinaryWrite( - message.videoSenders[i], - writer.tag(2, WireType.LengthDelimited).fork(), - options, - ).join(); - let u = options.writeUnknownFields; - if (u !== false) - (u == true ? UnknownFieldHandler.onWrite : u)( - this.typeName, - message, - writer, - ); - return writer; - } } /** * @generated MessageType for protobuf message stream.video.sfu.event.ChangePublishQuality @@ -4432,78 +1690,6 @@ class CallGrantsUpdated$Type extends MessageType { { no: 2, name: 'message', kind: 'scalar', T: 9 /*ScalarType.STRING*/ }, ]); } - create(value?: PartialMessage): CallGrantsUpdated { - const message = globalThis.Object.create(this.messagePrototype!); - message.message = ''; - if (value !== undefined) - reflectionMergePartial(this, message, value); - return message; - } - internalBinaryRead( - reader: IBinaryReader, - length: number, - options: BinaryReadOptions, - target?: CallGrantsUpdated, - ): CallGrantsUpdated { - let message = target ?? this.create(), - end = reader.pos + length; - while (reader.pos < end) { - let [fieldNo, wireType] = reader.tag(); - switch (fieldNo) { - case /* stream.video.sfu.models.CallGrants current_grants */ 1: - message.currentGrants = CallGrants.internalBinaryRead( - reader, - reader.uint32(), - options, - message.currentGrants, - ); - break; - case /* string message */ 2: - message.message = reader.string(); - break; - default: - let u = options.readUnknownField; - if (u === 'throw') - throw new globalThis.Error( - `Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`, - ); - let d = reader.skip(wireType); - if (u !== false) - (u === true ? UnknownFieldHandler.onRead : u)( - this.typeName, - message, - fieldNo, - wireType, - d, - ); - } - } - return message; - } - internalBinaryWrite( - message: CallGrantsUpdated, - writer: IBinaryWriter, - options: BinaryWriteOptions, - ): IBinaryWriter { - /* stream.video.sfu.models.CallGrants current_grants = 1; */ - if (message.currentGrants) - CallGrants.internalBinaryWrite( - message.currentGrants, - writer.tag(1, WireType.LengthDelimited).fork(), - options, - ).join(); - /* string message = 2; */ - if (message.message !== '') - writer.tag(2, WireType.LengthDelimited).string(message.message); - let u = options.writeUnknownFields; - if (u !== false) - (u == true ? UnknownFieldHandler.onWrite : u)( - this.typeName, - message, - writer, - ); - return writer; - } } /** * @generated MessageType for protobuf message stream.video.sfu.event.CallGrantsUpdated @@ -4525,63 +1711,6 @@ class GoAway$Type extends MessageType { }, ]); } - create(value?: PartialMessage): GoAway { - const message = globalThis.Object.create(this.messagePrototype!); - message.reason = 0; - if (value !== undefined) - reflectionMergePartial(this, message, value); - return message; - } - internalBinaryRead( - reader: IBinaryReader, - length: number, - options: BinaryReadOptions, - target?: GoAway, - ): GoAway { - let message = target ?? this.create(), - end = reader.pos + length; - while (reader.pos < end) { - let [fieldNo, wireType] = reader.tag(); - switch (fieldNo) { - case /* stream.video.sfu.models.GoAwayReason reason */ 1: - message.reason = reader.int32(); - break; - default: - let u = options.readUnknownField; - if (u === 'throw') - throw new globalThis.Error( - `Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`, - ); - let d = reader.skip(wireType); - if (u !== false) - (u === true ? UnknownFieldHandler.onRead : u)( - this.typeName, - message, - fieldNo, - wireType, - d, - ); - } - } - return message; - } - internalBinaryWrite( - message: GoAway, - writer: IBinaryWriter, - options: BinaryWriteOptions, - ): IBinaryWriter { - /* stream.video.sfu.models.GoAwayReason reason = 1; */ - if (message.reason !== 0) - writer.tag(1, WireType.Varint).int32(message.reason); - let u = options.writeUnknownFields; - if (u !== false) - (u == true ? UnknownFieldHandler.onWrite : u)( - this.typeName, - message, - writer, - ); - return writer; - } } /** * @generated MessageType for protobuf message stream.video.sfu.event.GoAway @@ -4603,63 +1732,6 @@ class CallEnded$Type extends MessageType { }, ]); } - create(value?: PartialMessage): CallEnded { - const message = globalThis.Object.create(this.messagePrototype!); - message.reason = 0; - if (value !== undefined) - reflectionMergePartial(this, message, value); - return message; - } - internalBinaryRead( - reader: IBinaryReader, - length: number, - options: BinaryReadOptions, - target?: CallEnded, - ): CallEnded { - let message = target ?? this.create(), - end = reader.pos + length; - while (reader.pos < end) { - let [fieldNo, wireType] = reader.tag(); - switch (fieldNo) { - case /* stream.video.sfu.models.CallEndedReason reason */ 1: - message.reason = reader.int32(); - break; - default: - let u = options.readUnknownField; - if (u === 'throw') - throw new globalThis.Error( - `Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`, - ); - let d = reader.skip(wireType); - if (u !== false) - (u === true ? UnknownFieldHandler.onRead : u)( - this.typeName, - message, - fieldNo, - wireType, - d, - ); - } - } - return message; - } - internalBinaryWrite( - message: CallEnded, - writer: IBinaryWriter, - options: BinaryWriteOptions, - ): IBinaryWriter { - /* stream.video.sfu.models.CallEndedReason reason = 1; */ - if (message.reason !== 0) - writer.tag(1, WireType.Varint).int32(message.reason); - let u = options.writeUnknownFields; - if (u !== false) - (u == true ? UnknownFieldHandler.onWrite : u)( - this.typeName, - message, - writer, - ); - return writer; - } } /** * @generated MessageType for protobuf message stream.video.sfu.event.CallEnded diff --git a/packages/client/src/gen/video/sfu/models/models.ts b/packages/client/src/gen/video/sfu/models/models.ts index 073c92f842..b555626a74 100644 --- a/packages/client/src/gen/video/sfu/models/models.ts +++ b/packages/client/src/gen/video/sfu/models/models.ts @@ -1,20 +1,8 @@ /* eslint-disable */ -// @generated by protobuf-ts 2.9.4 with parameter long_type_string,client_generic,server_none,eslint_disable +// @generated by protobuf-ts 2.9.4 with parameter long_type_string,client_generic,server_none,eslint_disable,optimize_code_size // @generated from protobuf file "video/sfu/models/models.proto" (package "stream.video.sfu.models", syntax proto3) // tslint:disable -import type { - BinaryReadOptions, - BinaryWriteOptions, - IBinaryReader, - IBinaryWriter, - PartialMessage, -} from '@protobuf-ts/runtime'; -import { - MessageType, - reflectionMergePartial, - UnknownFieldHandler, - WireType, -} from '@protobuf-ts/runtime'; +import { MessageType } from '@protobuf-ts/runtime'; import { Struct } from '../../../google/protobuf/struct'; import { Timestamp } from '../../../google/protobuf/timestamp'; @@ -812,112 +800,6 @@ class CallState$Type extends MessageType { }, ]); } - create(value?: PartialMessage): CallState { - const message = globalThis.Object.create(this.messagePrototype!); - message.participants = []; - message.pins = []; - if (value !== undefined) - reflectionMergePartial(this, message, value); - return message; - } - internalBinaryRead( - reader: IBinaryReader, - length: number, - options: BinaryReadOptions, - target?: CallState, - ): CallState { - let message = target ?? this.create(), - end = reader.pos + length; - while (reader.pos < end) { - let [fieldNo, wireType] = reader.tag(); - switch (fieldNo) { - case /* repeated stream.video.sfu.models.Participant participants */ 1: - message.participants.push( - Participant.internalBinaryRead(reader, reader.uint32(), options), - ); - break; - case /* google.protobuf.Timestamp started_at */ 2: - message.startedAt = Timestamp.internalBinaryRead( - reader, - reader.uint32(), - options, - message.startedAt, - ); - break; - case /* stream.video.sfu.models.ParticipantCount participant_count */ 3: - message.participantCount = ParticipantCount.internalBinaryRead( - reader, - reader.uint32(), - options, - message.participantCount, - ); - break; - case /* repeated stream.video.sfu.models.Pin pins */ 4: - message.pins.push( - Pin.internalBinaryRead(reader, reader.uint32(), options), - ); - break; - default: - let u = options.readUnknownField; - if (u === 'throw') - throw new globalThis.Error( - `Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`, - ); - let d = reader.skip(wireType); - if (u !== false) - (u === true ? UnknownFieldHandler.onRead : u)( - this.typeName, - message, - fieldNo, - wireType, - d, - ); - } - } - return message; - } - internalBinaryWrite( - message: CallState, - writer: IBinaryWriter, - options: BinaryWriteOptions, - ): IBinaryWriter { - /* repeated stream.video.sfu.models.Participant participants = 1; */ - for (let i = 0; i < message.participants.length; i++) - Participant.internalBinaryWrite( - message.participants[i], - writer.tag(1, WireType.LengthDelimited).fork(), - options, - ).join(); - /* google.protobuf.Timestamp started_at = 2; */ - if (message.startedAt) - Timestamp.internalBinaryWrite( - message.startedAt, - writer.tag(2, WireType.LengthDelimited).fork(), - options, - ).join(); - /* stream.video.sfu.models.ParticipantCount participant_count = 3; */ - if (message.participantCount) - ParticipantCount.internalBinaryWrite( - message.participantCount, - writer.tag(3, WireType.LengthDelimited).fork(), - options, - ).join(); - /* repeated stream.video.sfu.models.Pin pins = 4; */ - for (let i = 0; i < message.pins.length; i++) - Pin.internalBinaryWrite( - message.pins[i], - writer.tag(4, WireType.LengthDelimited).fork(), - options, - ).join(); - let u = options.writeUnknownFields; - if (u !== false) - (u == true ? UnknownFieldHandler.onWrite : u)( - this.typeName, - message, - writer, - ); - return writer; - } } /** * @generated MessageType for protobuf message stream.video.sfu.models.CallState @@ -931,70 +813,6 @@ class ParticipantCount$Type extends MessageType { { no: 2, name: 'anonymous', kind: 'scalar', T: 13 /*ScalarType.UINT32*/ }, ]); } - create(value?: PartialMessage): ParticipantCount { - const message = globalThis.Object.create(this.messagePrototype!); - message.total = 0; - message.anonymous = 0; - if (value !== undefined) - reflectionMergePartial(this, message, value); - return message; - } - internalBinaryRead( - reader: IBinaryReader, - length: number, - options: BinaryReadOptions, - target?: ParticipantCount, - ): ParticipantCount { - let message = target ?? this.create(), - end = reader.pos + length; - while (reader.pos < end) { - let [fieldNo, wireType] = reader.tag(); - switch (fieldNo) { - case /* uint32 total */ 1: - message.total = reader.uint32(); - break; - case /* uint32 anonymous */ 2: - message.anonymous = reader.uint32(); - break; - default: - let u = options.readUnknownField; - if (u === 'throw') - throw new globalThis.Error( - `Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`, - ); - let d = reader.skip(wireType); - if (u !== false) - (u === true ? UnknownFieldHandler.onRead : u)( - this.typeName, - message, - fieldNo, - wireType, - d, - ); - } - } - return message; - } - internalBinaryWrite( - message: ParticipantCount, - writer: IBinaryWriter, - options: BinaryWriteOptions, - ): IBinaryWriter { - /* uint32 total = 1; */ - if (message.total !== 0) - writer.tag(1, WireType.Varint).uint32(message.total); - /* uint32 anonymous = 2; */ - if (message.anonymous !== 0) - writer.tag(2, WireType.Varint).uint32(message.anonymous); - let u = options.writeUnknownFields; - if (u !== false) - (u == true ? UnknownFieldHandler.onWrite : u)( - this.typeName, - message, - writer, - ); - return writer; - } } /** * @generated MessageType for protobuf message stream.video.sfu.models.ParticipantCount @@ -1008,69 +826,6 @@ class Pin$Type extends MessageType { { no: 2, name: 'session_id', kind: 'scalar', T: 9 /*ScalarType.STRING*/ }, ]); } - create(value?: PartialMessage): Pin { - const message = globalThis.Object.create(this.messagePrototype!); - message.userId = ''; - message.sessionId = ''; - if (value !== undefined) reflectionMergePartial(this, message, value); - return message; - } - internalBinaryRead( - reader: IBinaryReader, - length: number, - options: BinaryReadOptions, - target?: Pin, - ): Pin { - let message = target ?? this.create(), - end = reader.pos + length; - while (reader.pos < end) { - let [fieldNo, wireType] = reader.tag(); - switch (fieldNo) { - case /* string user_id */ 1: - message.userId = reader.string(); - break; - case /* string session_id */ 2: - message.sessionId = reader.string(); - break; - default: - let u = options.readUnknownField; - if (u === 'throw') - throw new globalThis.Error( - `Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`, - ); - let d = reader.skip(wireType); - if (u !== false) - (u === true ? UnknownFieldHandler.onRead : u)( - this.typeName, - message, - fieldNo, - wireType, - d, - ); - } - } - return message; - } - internalBinaryWrite( - message: Pin, - writer: IBinaryWriter, - options: BinaryWriteOptions, - ): IBinaryWriter { - /* string user_id = 1; */ - if (message.userId !== '') - writer.tag(1, WireType.LengthDelimited).string(message.userId); - /* string session_id = 2; */ - if (message.sessionId !== '') - writer.tag(2, WireType.LengthDelimited).string(message.sessionId); - let u = options.writeUnknownFields; - if (u !== false) - (u == true ? UnknownFieldHandler.onWrite : u)( - this.typeName, - message, - writer, - ); - return writer; - } } /** * @generated MessageType for protobuf message stream.video.sfu.models.Pin @@ -1130,170 +885,6 @@ class Participant$Type extends MessageType { }, ]); } - create(value?: PartialMessage): Participant { - const message = globalThis.Object.create(this.messagePrototype!); - message.userId = ''; - message.sessionId = ''; - message.publishedTracks = []; - message.trackLookupPrefix = ''; - message.connectionQuality = 0; - message.isSpeaking = false; - message.isDominantSpeaker = false; - message.audioLevel = 0; - message.name = ''; - message.image = ''; - message.roles = []; - if (value !== undefined) - reflectionMergePartial(this, message, value); - return message; - } - internalBinaryRead( - reader: IBinaryReader, - length: number, - options: BinaryReadOptions, - target?: Participant, - ): Participant { - let message = target ?? this.create(), - end = reader.pos + length; - while (reader.pos < end) { - let [fieldNo, wireType] = reader.tag(); - switch (fieldNo) { - case /* string user_id */ 1: - message.userId = reader.string(); - break; - case /* string session_id */ 2: - message.sessionId = reader.string(); - break; - case /* repeated stream.video.sfu.models.TrackType published_tracks */ 3: - if (wireType === WireType.LengthDelimited) - for (let e = reader.int32() + reader.pos; reader.pos < e; ) - message.publishedTracks.push(reader.int32()); - else message.publishedTracks.push(reader.int32()); - break; - case /* google.protobuf.Timestamp joined_at */ 4: - message.joinedAt = Timestamp.internalBinaryRead( - reader, - reader.uint32(), - options, - message.joinedAt, - ); - break; - case /* string track_lookup_prefix */ 5: - message.trackLookupPrefix = reader.string(); - break; - case /* stream.video.sfu.models.ConnectionQuality connection_quality */ 6: - message.connectionQuality = reader.int32(); - break; - case /* bool is_speaking */ 7: - message.isSpeaking = reader.bool(); - break; - case /* bool is_dominant_speaker */ 8: - message.isDominantSpeaker = reader.bool(); - break; - case /* float audio_level */ 9: - message.audioLevel = reader.float(); - break; - case /* string name */ 10: - message.name = reader.string(); - break; - case /* string image */ 11: - message.image = reader.string(); - break; - case /* google.protobuf.Struct custom */ 12: - message.custom = Struct.internalBinaryRead( - reader, - reader.uint32(), - options, - message.custom, - ); - break; - case /* repeated string roles */ 13: - message.roles.push(reader.string()); - break; - default: - let u = options.readUnknownField; - if (u === 'throw') - throw new globalThis.Error( - `Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`, - ); - let d = reader.skip(wireType); - if (u !== false) - (u === true ? UnknownFieldHandler.onRead : u)( - this.typeName, - message, - fieldNo, - wireType, - d, - ); - } - } - return message; - } - internalBinaryWrite( - message: Participant, - writer: IBinaryWriter, - options: BinaryWriteOptions, - ): IBinaryWriter { - /* string user_id = 1; */ - if (message.userId !== '') - writer.tag(1, WireType.LengthDelimited).string(message.userId); - /* string session_id = 2; */ - if (message.sessionId !== '') - writer.tag(2, WireType.LengthDelimited).string(message.sessionId); - /* repeated stream.video.sfu.models.TrackType published_tracks = 3; */ - if (message.publishedTracks.length) { - writer.tag(3, WireType.LengthDelimited).fork(); - for (let i = 0; i < message.publishedTracks.length; i++) - writer.int32(message.publishedTracks[i]); - writer.join(); - } - /* google.protobuf.Timestamp joined_at = 4; */ - if (message.joinedAt) - Timestamp.internalBinaryWrite( - message.joinedAt, - writer.tag(4, WireType.LengthDelimited).fork(), - options, - ).join(); - /* string track_lookup_prefix = 5; */ - if (message.trackLookupPrefix !== '') - writer.tag(5, WireType.LengthDelimited).string(message.trackLookupPrefix); - /* stream.video.sfu.models.ConnectionQuality connection_quality = 6; */ - if (message.connectionQuality !== 0) - writer.tag(6, WireType.Varint).int32(message.connectionQuality); - /* bool is_speaking = 7; */ - if (message.isSpeaking !== false) - writer.tag(7, WireType.Varint).bool(message.isSpeaking); - /* bool is_dominant_speaker = 8; */ - if (message.isDominantSpeaker !== false) - writer.tag(8, WireType.Varint).bool(message.isDominantSpeaker); - /* float audio_level = 9; */ - if (message.audioLevel !== 0) - writer.tag(9, WireType.Bit32).float(message.audioLevel); - /* string name = 10; */ - if (message.name !== '') - writer.tag(10, WireType.LengthDelimited).string(message.name); - /* string image = 11; */ - if (message.image !== '') - writer.tag(11, WireType.LengthDelimited).string(message.image); - /* google.protobuf.Struct custom = 12; */ - if (message.custom) - Struct.internalBinaryWrite( - message.custom, - writer.tag(12, WireType.LengthDelimited).fork(), - options, - ).join(); - /* repeated string roles = 13; */ - for (let i = 0; i < message.roles.length; i++) - writer.tag(13, WireType.LengthDelimited).string(message.roles[i]); - let u = options.writeUnknownFields; - if (u !== false) - (u == true ? UnknownFieldHandler.onWrite : u)( - this.typeName, - message, - writer, - ); - return writer; - } } /** * @generated MessageType for protobuf message stream.video.sfu.models.Participant @@ -1316,70 +907,6 @@ class StreamQuality$Type extends MessageType { { no: 2, name: 'user_id', kind: 'scalar', T: 9 /*ScalarType.STRING*/ }, ]); } - create(value?: PartialMessage): StreamQuality { - const message = globalThis.Object.create(this.messagePrototype!); - message.videoQuality = 0; - message.userId = ''; - if (value !== undefined) - reflectionMergePartial(this, message, value); - return message; - } - internalBinaryRead( - reader: IBinaryReader, - length: number, - options: BinaryReadOptions, - target?: StreamQuality, - ): StreamQuality { - let message = target ?? this.create(), - end = reader.pos + length; - while (reader.pos < end) { - let [fieldNo, wireType] = reader.tag(); - switch (fieldNo) { - case /* stream.video.sfu.models.VideoQuality video_quality */ 1: - message.videoQuality = reader.int32(); - break; - case /* string user_id */ 2: - message.userId = reader.string(); - break; - default: - let u = options.readUnknownField; - if (u === 'throw') - throw new globalThis.Error( - `Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`, - ); - let d = reader.skip(wireType); - if (u !== false) - (u === true ? UnknownFieldHandler.onRead : u)( - this.typeName, - message, - fieldNo, - wireType, - d, - ); - } - } - return message; - } - internalBinaryWrite( - message: StreamQuality, - writer: IBinaryWriter, - options: BinaryWriteOptions, - ): IBinaryWriter { - /* stream.video.sfu.models.VideoQuality video_quality = 1; */ - if (message.videoQuality !== 0) - writer.tag(1, WireType.Varint).int32(message.videoQuality); - /* string user_id = 2; */ - if (message.userId !== '') - writer.tag(2, WireType.LengthDelimited).string(message.userId); - let u = options.writeUnknownFields; - if (u !== false) - (u == true ? UnknownFieldHandler.onWrite : u)( - this.typeName, - message, - writer, - ); - return writer; - } } /** * @generated MessageType for protobuf message stream.video.sfu.models.StreamQuality @@ -1393,70 +920,6 @@ class VideoDimension$Type extends MessageType { { no: 2, name: 'height', kind: 'scalar', T: 13 /*ScalarType.UINT32*/ }, ]); } - create(value?: PartialMessage): VideoDimension { - const message = globalThis.Object.create(this.messagePrototype!); - message.width = 0; - message.height = 0; - if (value !== undefined) - reflectionMergePartial(this, message, value); - return message; - } - internalBinaryRead( - reader: IBinaryReader, - length: number, - options: BinaryReadOptions, - target?: VideoDimension, - ): VideoDimension { - let message = target ?? this.create(), - end = reader.pos + length; - while (reader.pos < end) { - let [fieldNo, wireType] = reader.tag(); - switch (fieldNo) { - case /* uint32 width */ 1: - message.width = reader.uint32(); - break; - case /* uint32 height */ 2: - message.height = reader.uint32(); - break; - default: - let u = options.readUnknownField; - if (u === 'throw') - throw new globalThis.Error( - `Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`, - ); - let d = reader.skip(wireType); - if (u !== false) - (u === true ? UnknownFieldHandler.onRead : u)( - this.typeName, - message, - fieldNo, - wireType, - d, - ); - } - } - return message; - } - internalBinaryWrite( - message: VideoDimension, - writer: IBinaryWriter, - options: BinaryWriteOptions, - ): IBinaryWriter { - /* uint32 width = 1; */ - if (message.width !== 0) - writer.tag(1, WireType.Varint).uint32(message.width); - /* uint32 height = 2; */ - if (message.height !== 0) - writer.tag(2, WireType.Varint).uint32(message.height); - let u = options.writeUnknownFields; - if (u !== false) - (u == true ? UnknownFieldHandler.onWrite : u)( - this.typeName, - message, - writer, - ); - return writer; - } } /** * @generated MessageType for protobuf message stream.video.sfu.models.VideoDimension @@ -1487,98 +950,6 @@ class VideoLayer$Type extends MessageType { }, ]); } - create(value?: PartialMessage): VideoLayer { - const message = globalThis.Object.create(this.messagePrototype!); - message.rid = ''; - message.bitrate = 0; - message.fps = 0; - message.quality = 0; - if (value !== undefined) - reflectionMergePartial(this, message, value); - return message; - } - internalBinaryRead( - reader: IBinaryReader, - length: number, - options: BinaryReadOptions, - target?: VideoLayer, - ): VideoLayer { - let message = target ?? this.create(), - end = reader.pos + length; - while (reader.pos < end) { - let [fieldNo, wireType] = reader.tag(); - switch (fieldNo) { - case /* string rid */ 1: - message.rid = reader.string(); - break; - case /* stream.video.sfu.models.VideoDimension video_dimension */ 2: - message.videoDimension = VideoDimension.internalBinaryRead( - reader, - reader.uint32(), - options, - message.videoDimension, - ); - break; - case /* uint32 bitrate */ 4: - message.bitrate = reader.uint32(); - break; - case /* uint32 fps */ 5: - message.fps = reader.uint32(); - break; - case /* stream.video.sfu.models.VideoQuality quality */ 6: - message.quality = reader.int32(); - break; - default: - let u = options.readUnknownField; - if (u === 'throw') - throw new globalThis.Error( - `Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`, - ); - let d = reader.skip(wireType); - if (u !== false) - (u === true ? UnknownFieldHandler.onRead : u)( - this.typeName, - message, - fieldNo, - wireType, - d, - ); - } - } - return message; - } - internalBinaryWrite( - message: VideoLayer, - writer: IBinaryWriter, - options: BinaryWriteOptions, - ): IBinaryWriter { - /* string rid = 1; */ - if (message.rid !== '') - writer.tag(1, WireType.LengthDelimited).string(message.rid); - /* stream.video.sfu.models.VideoDimension video_dimension = 2; */ - if (message.videoDimension) - VideoDimension.internalBinaryWrite( - message.videoDimension, - writer.tag(2, WireType.LengthDelimited).fork(), - options, - ).join(); - /* uint32 bitrate = 4; */ - if (message.bitrate !== 0) - writer.tag(4, WireType.Varint).uint32(message.bitrate); - /* uint32 fps = 5; */ - if (message.fps !== 0) writer.tag(5, WireType.Varint).uint32(message.fps); - /* stream.video.sfu.models.VideoQuality quality = 6; */ - if (message.quality !== 0) - writer.tag(6, WireType.Varint).int32(message.quality); - let u = options.writeUnknownFields; - if (u !== false) - (u == true ? UnknownFieldHandler.onWrite : u)( - this.typeName, - message, - writer, - ); - return writer; - } } /** * @generated MessageType for protobuf message stream.video.sfu.models.VideoLayer @@ -1617,100 +988,6 @@ class Codec$Type extends MessageType { }, ]); } - create(value?: PartialMessage): Codec { - const message = globalThis.Object.create(this.messagePrototype!); - message.payloadType = 0; - message.name = ''; - message.fmtpLine = ''; - message.clockRate = 0; - message.encodingParameters = ''; - message.feedbacks = []; - if (value !== undefined) - reflectionMergePartial(this, message, value); - return message; - } - internalBinaryRead( - reader: IBinaryReader, - length: number, - options: BinaryReadOptions, - target?: Codec, - ): Codec { - let message = target ?? this.create(), - end = reader.pos + length; - while (reader.pos < end) { - let [fieldNo, wireType] = reader.tag(); - switch (fieldNo) { - case /* uint32 payload_type */ 1: - message.payloadType = reader.uint32(); - break; - case /* string name */ 2: - message.name = reader.string(); - break; - case /* string fmtp_line */ 3: - message.fmtpLine = reader.string(); - break; - case /* uint32 clock_rate */ 4: - message.clockRate = reader.uint32(); - break; - case /* string encoding_parameters */ 5: - message.encodingParameters = reader.string(); - break; - case /* repeated string feedbacks */ 6: - message.feedbacks.push(reader.string()); - break; - default: - let u = options.readUnknownField; - if (u === 'throw') - throw new globalThis.Error( - `Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`, - ); - let d = reader.skip(wireType); - if (u !== false) - (u === true ? UnknownFieldHandler.onRead : u)( - this.typeName, - message, - fieldNo, - wireType, - d, - ); - } - } - return message; - } - internalBinaryWrite( - message: Codec, - writer: IBinaryWriter, - options: BinaryWriteOptions, - ): IBinaryWriter { - /* uint32 payload_type = 1; */ - if (message.payloadType !== 0) - writer.tag(1, WireType.Varint).uint32(message.payloadType); - /* string name = 2; */ - if (message.name !== '') - writer.tag(2, WireType.LengthDelimited).string(message.name); - /* string fmtp_line = 3; */ - if (message.fmtpLine !== '') - writer.tag(3, WireType.LengthDelimited).string(message.fmtpLine); - /* uint32 clock_rate = 4; */ - if (message.clockRate !== 0) - writer.tag(4, WireType.Varint).uint32(message.clockRate); - /* string encoding_parameters = 5; */ - if (message.encodingParameters !== '') - writer - .tag(5, WireType.LengthDelimited) - .string(message.encodingParameters); - /* repeated string feedbacks = 6; */ - for (let i = 0; i < message.feedbacks.length; i++) - writer.tag(6, WireType.LengthDelimited).string(message.feedbacks[i]); - let u = options.writeUnknownFields; - if (u !== false) - (u == true ? UnknownFieldHandler.onWrite : u)( - this.typeName, - message, - writer, - ); - return writer; - } } /** * @generated MessageType for protobuf message stream.video.sfu.models.Codec @@ -1735,77 +1012,6 @@ class ICETrickle$Type extends MessageType { { no: 3, name: 'session_id', kind: 'scalar', T: 9 /*ScalarType.STRING*/ }, ]); } - create(value?: PartialMessage): ICETrickle { - const message = globalThis.Object.create(this.messagePrototype!); - message.peerType = 0; - message.iceCandidate = ''; - message.sessionId = ''; - if (value !== undefined) - reflectionMergePartial(this, message, value); - return message; - } - internalBinaryRead( - reader: IBinaryReader, - length: number, - options: BinaryReadOptions, - target?: ICETrickle, - ): ICETrickle { - let message = target ?? this.create(), - end = reader.pos + length; - while (reader.pos < end) { - let [fieldNo, wireType] = reader.tag(); - switch (fieldNo) { - case /* stream.video.sfu.models.PeerType peer_type */ 1: - message.peerType = reader.int32(); - break; - case /* string ice_candidate */ 2: - message.iceCandidate = reader.string(); - break; - case /* string session_id */ 3: - message.sessionId = reader.string(); - break; - default: - let u = options.readUnknownField; - if (u === 'throw') - throw new globalThis.Error( - `Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`, - ); - let d = reader.skip(wireType); - if (u !== false) - (u === true ? UnknownFieldHandler.onRead : u)( - this.typeName, - message, - fieldNo, - wireType, - d, - ); - } - } - return message; - } - internalBinaryWrite( - message: ICETrickle, - writer: IBinaryWriter, - options: BinaryWriteOptions, - ): IBinaryWriter { - /* stream.video.sfu.models.PeerType peer_type = 1; */ - if (message.peerType !== 0) - writer.tag(1, WireType.Varint).int32(message.peerType); - /* string ice_candidate = 2; */ - if (message.iceCandidate !== '') - writer.tag(2, WireType.LengthDelimited).string(message.iceCandidate); - /* string session_id = 3; */ - if (message.sessionId !== '') - writer.tag(3, WireType.LengthDelimited).string(message.sessionId); - let u = options.writeUnknownFields; - if (u !== false) - (u == true ? UnknownFieldHandler.onWrite : u)( - this.typeName, - message, - writer, - ); - return writer; - } } /** * @generated MessageType for protobuf message stream.video.sfu.models.ICETrickle @@ -1840,116 +1046,6 @@ class TrackInfo$Type extends MessageType { { no: 10, name: 'muted', kind: 'scalar', T: 8 /*ScalarType.BOOL*/ }, ]); } - create(value?: PartialMessage): TrackInfo { - const message = globalThis.Object.create(this.messagePrototype!); - message.trackId = ''; - message.trackType = 0; - message.layers = []; - message.mid = ''; - message.dtx = false; - message.stereo = false; - message.red = false; - message.muted = false; - if (value !== undefined) - reflectionMergePartial(this, message, value); - return message; - } - internalBinaryRead( - reader: IBinaryReader, - length: number, - options: BinaryReadOptions, - target?: TrackInfo, - ): TrackInfo { - let message = target ?? this.create(), - end = reader.pos + length; - while (reader.pos < end) { - let [fieldNo, wireType] = reader.tag(); - switch (fieldNo) { - case /* string track_id */ 1: - message.trackId = reader.string(); - break; - case /* stream.video.sfu.models.TrackType track_type */ 2: - message.trackType = reader.int32(); - break; - case /* repeated stream.video.sfu.models.VideoLayer layers */ 5: - message.layers.push( - VideoLayer.internalBinaryRead(reader, reader.uint32(), options), - ); - break; - case /* string mid */ 6: - message.mid = reader.string(); - break; - case /* bool dtx */ 7: - message.dtx = reader.bool(); - break; - case /* bool stereo */ 8: - message.stereo = reader.bool(); - break; - case /* bool red */ 9: - message.red = reader.bool(); - break; - case /* bool muted */ 10: - message.muted = reader.bool(); - break; - default: - let u = options.readUnknownField; - if (u === 'throw') - throw new globalThis.Error( - `Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`, - ); - let d = reader.skip(wireType); - if (u !== false) - (u === true ? UnknownFieldHandler.onRead : u)( - this.typeName, - message, - fieldNo, - wireType, - d, - ); - } - } - return message; - } - internalBinaryWrite( - message: TrackInfo, - writer: IBinaryWriter, - options: BinaryWriteOptions, - ): IBinaryWriter { - /* string track_id = 1; */ - if (message.trackId !== '') - writer.tag(1, WireType.LengthDelimited).string(message.trackId); - /* stream.video.sfu.models.TrackType track_type = 2; */ - if (message.trackType !== 0) - writer.tag(2, WireType.Varint).int32(message.trackType); - /* repeated stream.video.sfu.models.VideoLayer layers = 5; */ - for (let i = 0; i < message.layers.length; i++) - VideoLayer.internalBinaryWrite( - message.layers[i], - writer.tag(5, WireType.LengthDelimited).fork(), - options, - ).join(); - /* string mid = 6; */ - if (message.mid !== '') - writer.tag(6, WireType.LengthDelimited).string(message.mid); - /* bool dtx = 7; */ - if (message.dtx !== false) writer.tag(7, WireType.Varint).bool(message.dtx); - /* bool stereo = 8; */ - if (message.stereo !== false) - writer.tag(8, WireType.Varint).bool(message.stereo); - /* bool red = 9; */ - if (message.red !== false) writer.tag(9, WireType.Varint).bool(message.red); - /* bool muted = 10; */ - if (message.muted !== false) - writer.tag(10, WireType.Varint).bool(message.muted); - let u = options.writeUnknownFields; - if (u !== false) - (u == true ? UnknownFieldHandler.onWrite : u)( - this.typeName, - message, - writer, - ); - return writer; - } } /** * @generated MessageType for protobuf message stream.video.sfu.models.TrackInfo @@ -1973,76 +1069,6 @@ class Error$Type extends MessageType { { no: 3, name: 'should_retry', kind: 'scalar', T: 8 /*ScalarType.BOOL*/ }, ]); } - create(value?: PartialMessage): Error { - const message = globalThis.Object.create(this.messagePrototype!); - message.code = 0; - message.message = ''; - message.shouldRetry = false; - if (value !== undefined) - reflectionMergePartial(this, message, value); - return message; - } - internalBinaryRead( - reader: IBinaryReader, - length: number, - options: BinaryReadOptions, - target?: Error, - ): Error { - let message = target ?? this.create(), - end = reader.pos + length; - while (reader.pos < end) { - let [fieldNo, wireType] = reader.tag(); - switch (fieldNo) { - case /* stream.video.sfu.models.ErrorCode code */ 1: - message.code = reader.int32(); - break; - case /* string message */ 2: - message.message = reader.string(); - break; - case /* bool should_retry */ 3: - message.shouldRetry = reader.bool(); - break; - default: - let u = options.readUnknownField; - if (u === 'throw') - throw new globalThis.Error( - `Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`, - ); - let d = reader.skip(wireType); - if (u !== false) - (u === true ? UnknownFieldHandler.onRead : u)( - this.typeName, - message, - fieldNo, - wireType, - d, - ); - } - } - return message; - } - internalBinaryWrite( - message: Error, - writer: IBinaryWriter, - options: BinaryWriteOptions, - ): IBinaryWriter { - /* stream.video.sfu.models.ErrorCode code = 1; */ - if (message.code !== 0) writer.tag(1, WireType.Varint).int32(message.code); - /* string message = 2; */ - if (message.message !== '') - writer.tag(2, WireType.LengthDelimited).string(message.message); - /* bool should_retry = 3; */ - if (message.shouldRetry !== false) - writer.tag(3, WireType.Varint).bool(message.shouldRetry); - let u = options.writeUnknownFields; - if (u !== false) - (u == true ? UnknownFieldHandler.onWrite : u)( - this.typeName, - message, - writer, - ); - return writer; - } } /** * @generated MessageType for protobuf message stream.video.sfu.models.Error @@ -2058,116 +1084,6 @@ class ClientDetails$Type extends MessageType { { no: 4, name: 'device', kind: 'message', T: () => Device }, ]); } - create(value?: PartialMessage): ClientDetails { - const message = globalThis.Object.create(this.messagePrototype!); - if (value !== undefined) - reflectionMergePartial(this, message, value); - return message; - } - internalBinaryRead( - reader: IBinaryReader, - length: number, - options: BinaryReadOptions, - target?: ClientDetails, - ): ClientDetails { - let message = target ?? this.create(), - end = reader.pos + length; - while (reader.pos < end) { - let [fieldNo, wireType] = reader.tag(); - switch (fieldNo) { - case /* stream.video.sfu.models.Sdk sdk */ 1: - message.sdk = Sdk.internalBinaryRead( - reader, - reader.uint32(), - options, - message.sdk, - ); - break; - case /* stream.video.sfu.models.OS os */ 2: - message.os = OS.internalBinaryRead( - reader, - reader.uint32(), - options, - message.os, - ); - break; - case /* stream.video.sfu.models.Browser browser */ 3: - message.browser = Browser.internalBinaryRead( - reader, - reader.uint32(), - options, - message.browser, - ); - break; - case /* stream.video.sfu.models.Device device */ 4: - message.device = Device.internalBinaryRead( - reader, - reader.uint32(), - options, - message.device, - ); - break; - default: - let u = options.readUnknownField; - if (u === 'throw') - throw new globalThis.Error( - `Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`, - ); - let d = reader.skip(wireType); - if (u !== false) - (u === true ? UnknownFieldHandler.onRead : u)( - this.typeName, - message, - fieldNo, - wireType, - d, - ); - } - } - return message; - } - internalBinaryWrite( - message: ClientDetails, - writer: IBinaryWriter, - options: BinaryWriteOptions, - ): IBinaryWriter { - /* stream.video.sfu.models.Sdk sdk = 1; */ - if (message.sdk) - Sdk.internalBinaryWrite( - message.sdk, - writer.tag(1, WireType.LengthDelimited).fork(), - options, - ).join(); - /* stream.video.sfu.models.OS os = 2; */ - if (message.os) - OS.internalBinaryWrite( - message.os, - writer.tag(2, WireType.LengthDelimited).fork(), - options, - ).join(); - /* stream.video.sfu.models.Browser browser = 3; */ - if (message.browser) - Browser.internalBinaryWrite( - message.browser, - writer.tag(3, WireType.LengthDelimited).fork(), - options, - ).join(); - /* stream.video.sfu.models.Device device = 4; */ - if (message.device) - Device.internalBinaryWrite( - message.device, - writer.tag(4, WireType.LengthDelimited).fork(), - options, - ).join(); - let u = options.writeUnknownFields; - if (u !== false) - (u == true ? UnknownFieldHandler.onWrite : u)( - this.typeName, - message, - writer, - ); - return writer; - } } /** * @generated MessageType for protobuf message stream.video.sfu.models.ClientDetails @@ -2188,82 +1104,6 @@ class Sdk$Type extends MessageType { { no: 4, name: 'patch', kind: 'scalar', T: 9 /*ScalarType.STRING*/ }, ]); } - create(value?: PartialMessage): Sdk { - const message = globalThis.Object.create(this.messagePrototype!); - message.type = 0; - message.major = ''; - message.minor = ''; - message.patch = ''; - if (value !== undefined) reflectionMergePartial(this, message, value); - return message; - } - internalBinaryRead( - reader: IBinaryReader, - length: number, - options: BinaryReadOptions, - target?: Sdk, - ): Sdk { - let message = target ?? this.create(), - end = reader.pos + length; - while (reader.pos < end) { - let [fieldNo, wireType] = reader.tag(); - switch (fieldNo) { - case /* stream.video.sfu.models.SdkType type */ 1: - message.type = reader.int32(); - break; - case /* string major */ 2: - message.major = reader.string(); - break; - case /* string minor */ 3: - message.minor = reader.string(); - break; - case /* string patch */ 4: - message.patch = reader.string(); - break; - default: - let u = options.readUnknownField; - if (u === 'throw') - throw new globalThis.Error( - `Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`, - ); - let d = reader.skip(wireType); - if (u !== false) - (u === true ? UnknownFieldHandler.onRead : u)( - this.typeName, - message, - fieldNo, - wireType, - d, - ); - } - } - return message; - } - internalBinaryWrite( - message: Sdk, - writer: IBinaryWriter, - options: BinaryWriteOptions, - ): IBinaryWriter { - /* stream.video.sfu.models.SdkType type = 1; */ - if (message.type !== 0) writer.tag(1, WireType.Varint).int32(message.type); - /* string major = 2; */ - if (message.major !== '') - writer.tag(2, WireType.LengthDelimited).string(message.major); - /* string minor = 3; */ - if (message.minor !== '') - writer.tag(3, WireType.LengthDelimited).string(message.minor); - /* string patch = 4; */ - if (message.patch !== '') - writer.tag(4, WireType.LengthDelimited).string(message.patch); - let u = options.writeUnknownFields; - if (u !== false) - (u == true ? UnknownFieldHandler.onWrite : u)( - this.typeName, - message, - writer, - ); - return writer; - } } /** * @generated MessageType for protobuf message stream.video.sfu.models.Sdk @@ -2283,76 +1123,6 @@ class OS$Type extends MessageType { }, ]); } - create(value?: PartialMessage): OS { - const message = globalThis.Object.create(this.messagePrototype!); - message.name = ''; - message.version = ''; - message.architecture = ''; - if (value !== undefined) reflectionMergePartial(this, message, value); - return message; - } - internalBinaryRead( - reader: IBinaryReader, - length: number, - options: BinaryReadOptions, - target?: OS, - ): OS { - let message = target ?? this.create(), - end = reader.pos + length; - while (reader.pos < end) { - let [fieldNo, wireType] = reader.tag(); - switch (fieldNo) { - case /* string name */ 1: - message.name = reader.string(); - break; - case /* string version */ 2: - message.version = reader.string(); - break; - case /* string architecture */ 3: - message.architecture = reader.string(); - break; - default: - let u = options.readUnknownField; - if (u === 'throw') - throw new globalThis.Error( - `Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`, - ); - let d = reader.skip(wireType); - if (u !== false) - (u === true ? UnknownFieldHandler.onRead : u)( - this.typeName, - message, - fieldNo, - wireType, - d, - ); - } - } - return message; - } - internalBinaryWrite( - message: OS, - writer: IBinaryWriter, - options: BinaryWriteOptions, - ): IBinaryWriter { - /* string name = 1; */ - if (message.name !== '') - writer.tag(1, WireType.LengthDelimited).string(message.name); - /* string version = 2; */ - if (message.version !== '') - writer.tag(2, WireType.LengthDelimited).string(message.version); - /* string architecture = 3; */ - if (message.architecture !== '') - writer.tag(3, WireType.LengthDelimited).string(message.architecture); - let u = options.writeUnknownFields; - if (u !== false) - (u == true ? UnknownFieldHandler.onWrite : u)( - this.typeName, - message, - writer, - ); - return writer; - } } /** * @generated MessageType for protobuf message stream.video.sfu.models.OS @@ -2366,70 +1136,6 @@ class Browser$Type extends MessageType { { no: 2, name: 'version', kind: 'scalar', T: 9 /*ScalarType.STRING*/ }, ]); } - create(value?: PartialMessage): Browser { - const message = globalThis.Object.create(this.messagePrototype!); - message.name = ''; - message.version = ''; - if (value !== undefined) - reflectionMergePartial(this, message, value); - return message; - } - internalBinaryRead( - reader: IBinaryReader, - length: number, - options: BinaryReadOptions, - target?: Browser, - ): Browser { - let message = target ?? this.create(), - end = reader.pos + length; - while (reader.pos < end) { - let [fieldNo, wireType] = reader.tag(); - switch (fieldNo) { - case /* string name */ 1: - message.name = reader.string(); - break; - case /* string version */ 2: - message.version = reader.string(); - break; - default: - let u = options.readUnknownField; - if (u === 'throw') - throw new globalThis.Error( - `Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`, - ); - let d = reader.skip(wireType); - if (u !== false) - (u === true ? UnknownFieldHandler.onRead : u)( - this.typeName, - message, - fieldNo, - wireType, - d, - ); - } - } - return message; - } - internalBinaryWrite( - message: Browser, - writer: IBinaryWriter, - options: BinaryWriteOptions, - ): IBinaryWriter { - /* string name = 1; */ - if (message.name !== '') - writer.tag(1, WireType.LengthDelimited).string(message.name); - /* string version = 2; */ - if (message.version !== '') - writer.tag(2, WireType.LengthDelimited).string(message.version); - let u = options.writeUnknownFields; - if (u !== false) - (u == true ? UnknownFieldHandler.onWrite : u)( - this.typeName, - message, - writer, - ); - return writer; - } } /** * @generated MessageType for protobuf message stream.video.sfu.models.Browser @@ -2443,70 +1149,6 @@ class Device$Type extends MessageType { { no: 2, name: 'version', kind: 'scalar', T: 9 /*ScalarType.STRING*/ }, ]); } - create(value?: PartialMessage): Device { - const message = globalThis.Object.create(this.messagePrototype!); - message.name = ''; - message.version = ''; - if (value !== undefined) - reflectionMergePartial(this, message, value); - return message; - } - internalBinaryRead( - reader: IBinaryReader, - length: number, - options: BinaryReadOptions, - target?: Device, - ): Device { - let message = target ?? this.create(), - end = reader.pos + length; - while (reader.pos < end) { - let [fieldNo, wireType] = reader.tag(); - switch (fieldNo) { - case /* string name */ 1: - message.name = reader.string(); - break; - case /* string version */ 2: - message.version = reader.string(); - break; - default: - let u = options.readUnknownField; - if (u === 'throw') - throw new globalThis.Error( - `Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`, - ); - let d = reader.skip(wireType); - if (u !== false) - (u === true ? UnknownFieldHandler.onRead : u)( - this.typeName, - message, - fieldNo, - wireType, - d, - ); - } - } - return message; - } - internalBinaryWrite( - message: Device, - writer: IBinaryWriter, - options: BinaryWriteOptions, - ): IBinaryWriter { - /* string name = 1; */ - if (message.name !== '') - writer.tag(1, WireType.LengthDelimited).string(message.name); - /* string version = 2; */ - if (message.version !== '') - writer.tag(2, WireType.LengthDelimited).string(message.version); - let u = options.writeUnknownFields; - if (u !== false) - (u == true ? UnknownFieldHandler.onWrite : u)( - this.typeName, - message, - writer, - ); - return writer; - } } /** * @generated MessageType for protobuf message stream.video.sfu.models.Device @@ -2535,128 +1177,6 @@ class Call$Type extends MessageType { { no: 7, name: 'updated_at', kind: 'message', T: () => Timestamp }, ]); } - create(value?: PartialMessage): Call { - const message = globalThis.Object.create(this.messagePrototype!); - message.type = ''; - message.id = ''; - message.createdByUserId = ''; - message.hostUserId = ''; - if (value !== undefined) reflectionMergePartial(this, message, value); - return message; - } - internalBinaryRead( - reader: IBinaryReader, - length: number, - options: BinaryReadOptions, - target?: Call, - ): Call { - let message = target ?? this.create(), - end = reader.pos + length; - while (reader.pos < end) { - let [fieldNo, wireType] = reader.tag(); - switch (fieldNo) { - case /* string type */ 1: - message.type = reader.string(); - break; - case /* string id */ 2: - message.id = reader.string(); - break; - case /* string created_by_user_id */ 3: - message.createdByUserId = reader.string(); - break; - case /* string host_user_id */ 4: - message.hostUserId = reader.string(); - break; - case /* google.protobuf.Struct custom */ 5: - message.custom = Struct.internalBinaryRead( - reader, - reader.uint32(), - options, - message.custom, - ); - break; - case /* google.protobuf.Timestamp created_at */ 6: - message.createdAt = Timestamp.internalBinaryRead( - reader, - reader.uint32(), - options, - message.createdAt, - ); - break; - case /* google.protobuf.Timestamp updated_at */ 7: - message.updatedAt = Timestamp.internalBinaryRead( - reader, - reader.uint32(), - options, - message.updatedAt, - ); - break; - default: - let u = options.readUnknownField; - if (u === 'throw') - throw new globalThis.Error( - `Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`, - ); - let d = reader.skip(wireType); - if (u !== false) - (u === true ? UnknownFieldHandler.onRead : u)( - this.typeName, - message, - fieldNo, - wireType, - d, - ); - } - } - return message; - } - internalBinaryWrite( - message: Call, - writer: IBinaryWriter, - options: BinaryWriteOptions, - ): IBinaryWriter { - /* string type = 1; */ - if (message.type !== '') - writer.tag(1, WireType.LengthDelimited).string(message.type); - /* string id = 2; */ - if (message.id !== '') - writer.tag(2, WireType.LengthDelimited).string(message.id); - /* string created_by_user_id = 3; */ - if (message.createdByUserId !== '') - writer.tag(3, WireType.LengthDelimited).string(message.createdByUserId); - /* string host_user_id = 4; */ - if (message.hostUserId !== '') - writer.tag(4, WireType.LengthDelimited).string(message.hostUserId); - /* google.protobuf.Struct custom = 5; */ - if (message.custom) - Struct.internalBinaryWrite( - message.custom, - writer.tag(5, WireType.LengthDelimited).fork(), - options, - ).join(); - /* google.protobuf.Timestamp created_at = 6; */ - if (message.createdAt) - Timestamp.internalBinaryWrite( - message.createdAt, - writer.tag(6, WireType.LengthDelimited).fork(), - options, - ).join(); - /* google.protobuf.Timestamp updated_at = 7; */ - if (message.updatedAt) - Timestamp.internalBinaryWrite( - message.updatedAt, - writer.tag(7, WireType.LengthDelimited).fork(), - options, - ).join(); - let u = options.writeUnknownFields; - if (u !== false) - (u == true ? UnknownFieldHandler.onWrite : u)( - this.typeName, - message, - writer, - ); - return writer; - } } /** * @generated MessageType for protobuf message stream.video.sfu.models.Call @@ -2686,77 +1206,6 @@ class CallGrants$Type extends MessageType { }, ]); } - create(value?: PartialMessage): CallGrants { - const message = globalThis.Object.create(this.messagePrototype!); - message.canPublishAudio = false; - message.canPublishVideo = false; - message.canScreenshare = false; - if (value !== undefined) - reflectionMergePartial(this, message, value); - return message; - } - internalBinaryRead( - reader: IBinaryReader, - length: number, - options: BinaryReadOptions, - target?: CallGrants, - ): CallGrants { - let message = target ?? this.create(), - end = reader.pos + length; - while (reader.pos < end) { - let [fieldNo, wireType] = reader.tag(); - switch (fieldNo) { - case /* bool can_publish_audio */ 1: - message.canPublishAudio = reader.bool(); - break; - case /* bool can_publish_video */ 2: - message.canPublishVideo = reader.bool(); - break; - case /* bool can_screenshare */ 3: - message.canScreenshare = reader.bool(); - break; - default: - let u = options.readUnknownField; - if (u === 'throw') - throw new globalThis.Error( - `Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`, - ); - let d = reader.skip(wireType); - if (u !== false) - (u === true ? UnknownFieldHandler.onRead : u)( - this.typeName, - message, - fieldNo, - wireType, - d, - ); - } - } - return message; - } - internalBinaryWrite( - message: CallGrants, - writer: IBinaryWriter, - options: BinaryWriteOptions, - ): IBinaryWriter { - /* bool can_publish_audio = 1; */ - if (message.canPublishAudio !== false) - writer.tag(1, WireType.Varint).bool(message.canPublishAudio); - /* bool can_publish_video = 2; */ - if (message.canPublishVideo !== false) - writer.tag(2, WireType.Varint).bool(message.canPublishVideo); - /* bool can_screenshare = 3; */ - if (message.canScreenshare !== false) - writer.tag(3, WireType.Varint).bool(message.canScreenshare); - let u = options.writeUnknownFields; - if (u !== false) - (u == true ? UnknownFieldHandler.onWrite : u)( - this.typeName, - message, - writer, - ); - return writer; - } } /** * @generated MessageType for protobuf message stream.video.sfu.models.CallGrants diff --git a/packages/client/src/gen/video/sfu/signal_rpc/signal.client.ts b/packages/client/src/gen/video/sfu/signal_rpc/signal.client.ts index 005b2f94c9..501fadf4c6 100644 --- a/packages/client/src/gen/video/sfu/signal_rpc/signal.client.ts +++ b/packages/client/src/gen/video/sfu/signal_rpc/signal.client.ts @@ -1,5 +1,5 @@ /* eslint-disable */ -// @generated by protobuf-ts 2.9.4 with parameter long_type_string,client_generic,server_none,eslint_disable +// @generated by protobuf-ts 2.9.4 with parameter long_type_string,client_generic,server_none,eslint_disable,optimize_code_size // @generated from protobuf file "video/sfu/signal_rpc/signal.proto" (package "stream.video.sfu.signal", syntax proto3) // tslint:disable import type { diff --git a/packages/client/src/gen/video/sfu/signal_rpc/signal.ts b/packages/client/src/gen/video/sfu/signal_rpc/signal.ts index 6c4a225f79..5c726a2396 100644 --- a/packages/client/src/gen/video/sfu/signal_rpc/signal.ts +++ b/packages/client/src/gen/video/sfu/signal_rpc/signal.ts @@ -1,5 +1,5 @@ /* eslint-disable */ -// @generated by protobuf-ts 2.9.4 with parameter long_type_string,client_generic,server_none,eslint_disable +// @generated by protobuf-ts 2.9.4 with parameter long_type_string,client_generic,server_none,eslint_disable,optimize_code_size // @generated from protobuf file "video/sfu/signal_rpc/signal.proto" (package "stream.video.sfu.signal", syntax proto3) // tslint:disable import { @@ -11,19 +11,7 @@ import { VideoDimension, } from '../models/models'; import { ServiceType } from '@protobuf-ts/runtime-rpc'; -import type { - BinaryReadOptions, - BinaryWriteOptions, - IBinaryReader, - IBinaryWriter, - PartialMessage, -} from '@protobuf-ts/runtime'; -import { - MessageType, - reflectionMergePartial, - UnknownFieldHandler, - WireType, -} from '@protobuf-ts/runtime'; +import { MessageType } from '@protobuf-ts/runtime'; /** * @generated from protobuf message stream.video.sfu.signal.StartNoiseCancellationRequest @@ -301,69 +289,6 @@ class StartNoiseCancellationRequest$Type extends MessageType, - ): StartNoiseCancellationRequest { - const message = globalThis.Object.create(this.messagePrototype!); - message.sessionId = ''; - if (value !== undefined) - reflectionMergePartial( - this, - message, - value, - ); - return message; - } - internalBinaryRead( - reader: IBinaryReader, - length: number, - options: BinaryReadOptions, - target?: StartNoiseCancellationRequest, - ): StartNoiseCancellationRequest { - let message = target ?? this.create(), - end = reader.pos + length; - while (reader.pos < end) { - let [fieldNo, wireType] = reader.tag(); - switch (fieldNo) { - case /* string session_id */ 1: - message.sessionId = reader.string(); - break; - default: - let u = options.readUnknownField; - if (u === 'throw') - throw new globalThis.Error( - `Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`, - ); - let d = reader.skip(wireType); - if (u !== false) - (u === true ? UnknownFieldHandler.onRead : u)( - this.typeName, - message, - fieldNo, - wireType, - d, - ); - } - } - return message; - } - internalBinaryWrite( - message: StartNoiseCancellationRequest, - writer: IBinaryWriter, - options: BinaryWriteOptions, - ): IBinaryWriter { - /* string session_id = 1; */ - if (message.sessionId !== '') - writer.tag(1, WireType.LengthDelimited).string(message.sessionId); - let u = options.writeUnknownFields; - if (u !== false) - (u == true ? UnknownFieldHandler.onWrite : u)( - this.typeName, - message, - writer, - ); - return writer; - } } /** * @generated MessageType for protobuf message stream.video.sfu.signal.StartNoiseCancellationRequest @@ -377,77 +302,6 @@ class StartNoiseCancellationResponse$Type extends MessageType Error }, ]); } - create( - value?: PartialMessage, - ): StartNoiseCancellationResponse { - const message = globalThis.Object.create(this.messagePrototype!); - if (value !== undefined) - reflectionMergePartial( - this, - message, - value, - ); - return message; - } - internalBinaryRead( - reader: IBinaryReader, - length: number, - options: BinaryReadOptions, - target?: StartNoiseCancellationResponse, - ): StartNoiseCancellationResponse { - let message = target ?? this.create(), - end = reader.pos + length; - while (reader.pos < end) { - let [fieldNo, wireType] = reader.tag(); - switch (fieldNo) { - case /* stream.video.sfu.models.Error error */ 1: - message.error = Error.internalBinaryRead( - reader, - reader.uint32(), - options, - message.error, - ); - break; - default: - let u = options.readUnknownField; - if (u === 'throw') - throw new globalThis.Error( - `Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`, - ); - let d = reader.skip(wireType); - if (u !== false) - (u === true ? UnknownFieldHandler.onRead : u)( - this.typeName, - message, - fieldNo, - wireType, - d, - ); - } - } - return message; - } - internalBinaryWrite( - message: StartNoiseCancellationResponse, - writer: IBinaryWriter, - options: BinaryWriteOptions, - ): IBinaryWriter { - /* stream.video.sfu.models.Error error = 1; */ - if (message.error) - Error.internalBinaryWrite( - message.error, - writer.tag(1, WireType.LengthDelimited).fork(), - options, - ).join(); - let u = options.writeUnknownFields; - if (u !== false) - (u == true ? UnknownFieldHandler.onWrite : u)( - this.typeName, - message, - writer, - ); - return writer; - } } /** * @generated MessageType for protobuf message stream.video.sfu.signal.StartNoiseCancellationResponse @@ -461,69 +315,6 @@ class StopNoiseCancellationRequest$Type extends MessageType, - ): StopNoiseCancellationRequest { - const message = globalThis.Object.create(this.messagePrototype!); - message.sessionId = ''; - if (value !== undefined) - reflectionMergePartial( - this, - message, - value, - ); - return message; - } - internalBinaryRead( - reader: IBinaryReader, - length: number, - options: BinaryReadOptions, - target?: StopNoiseCancellationRequest, - ): StopNoiseCancellationRequest { - let message = target ?? this.create(), - end = reader.pos + length; - while (reader.pos < end) { - let [fieldNo, wireType] = reader.tag(); - switch (fieldNo) { - case /* string session_id */ 1: - message.sessionId = reader.string(); - break; - default: - let u = options.readUnknownField; - if (u === 'throw') - throw new globalThis.Error( - `Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`, - ); - let d = reader.skip(wireType); - if (u !== false) - (u === true ? UnknownFieldHandler.onRead : u)( - this.typeName, - message, - fieldNo, - wireType, - d, - ); - } - } - return message; - } - internalBinaryWrite( - message: StopNoiseCancellationRequest, - writer: IBinaryWriter, - options: BinaryWriteOptions, - ): IBinaryWriter { - /* string session_id = 1; */ - if (message.sessionId !== '') - writer.tag(1, WireType.LengthDelimited).string(message.sessionId); - let u = options.writeUnknownFields; - if (u !== false) - (u == true ? UnknownFieldHandler.onWrite : u)( - this.typeName, - message, - writer, - ); - return writer; - } } /** * @generated MessageType for protobuf message stream.video.sfu.signal.StopNoiseCancellationRequest @@ -537,77 +328,6 @@ class StopNoiseCancellationResponse$Type extends MessageType Error }, ]); } - create( - value?: PartialMessage, - ): StopNoiseCancellationResponse { - const message = globalThis.Object.create(this.messagePrototype!); - if (value !== undefined) - reflectionMergePartial( - this, - message, - value, - ); - return message; - } - internalBinaryRead( - reader: IBinaryReader, - length: number, - options: BinaryReadOptions, - target?: StopNoiseCancellationResponse, - ): StopNoiseCancellationResponse { - let message = target ?? this.create(), - end = reader.pos + length; - while (reader.pos < end) { - let [fieldNo, wireType] = reader.tag(); - switch (fieldNo) { - case /* stream.video.sfu.models.Error error */ 1: - message.error = Error.internalBinaryRead( - reader, - reader.uint32(), - options, - message.error, - ); - break; - default: - let u = options.readUnknownField; - if (u === 'throw') - throw new globalThis.Error( - `Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`, - ); - let d = reader.skip(wireType); - if (u !== false) - (u === true ? UnknownFieldHandler.onRead : u)( - this.typeName, - message, - fieldNo, - wireType, - d, - ); - } - } - return message; - } - internalBinaryWrite( - message: StopNoiseCancellationResponse, - writer: IBinaryWriter, - options: BinaryWriteOptions, - ): IBinaryWriter { - /* stream.video.sfu.models.Error error = 1; */ - if (message.error) - Error.internalBinaryWrite( - message.error, - writer.tag(1, WireType.LengthDelimited).fork(), - options, - ).join(); - let u = options.writeUnknownFields; - if (u !== false) - (u == true ? UnknownFieldHandler.onWrite : u)( - this.typeName, - message, - writer, - ); - return writer; - } } /** * @generated MessageType for protobuf message stream.video.sfu.signal.StopNoiseCancellationResponse @@ -646,98 +366,6 @@ class SendStatsRequest$Type extends MessageType { }, ]); } - create(value?: PartialMessage): SendStatsRequest { - const message = globalThis.Object.create(this.messagePrototype!); - message.sessionId = ''; - message.subscriberStats = ''; - message.publisherStats = ''; - message.webrtcVersion = ''; - message.sdk = ''; - message.sdkVersion = ''; - if (value !== undefined) - reflectionMergePartial(this, message, value); - return message; - } - internalBinaryRead( - reader: IBinaryReader, - length: number, - options: BinaryReadOptions, - target?: SendStatsRequest, - ): SendStatsRequest { - let message = target ?? this.create(), - end = reader.pos + length; - while (reader.pos < end) { - let [fieldNo, wireType] = reader.tag(); - switch (fieldNo) { - case /* string session_id */ 1: - message.sessionId = reader.string(); - break; - case /* string subscriber_stats */ 2: - message.subscriberStats = reader.string(); - break; - case /* string publisher_stats */ 3: - message.publisherStats = reader.string(); - break; - case /* string webrtc_version */ 4: - message.webrtcVersion = reader.string(); - break; - case /* string sdk */ 5: - message.sdk = reader.string(); - break; - case /* string sdk_version */ 6: - message.sdkVersion = reader.string(); - break; - default: - let u = options.readUnknownField; - if (u === 'throw') - throw new globalThis.Error( - `Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`, - ); - let d = reader.skip(wireType); - if (u !== false) - (u === true ? UnknownFieldHandler.onRead : u)( - this.typeName, - message, - fieldNo, - wireType, - d, - ); - } - } - return message; - } - internalBinaryWrite( - message: SendStatsRequest, - writer: IBinaryWriter, - options: BinaryWriteOptions, - ): IBinaryWriter { - /* string session_id = 1; */ - if (message.sessionId !== '') - writer.tag(1, WireType.LengthDelimited).string(message.sessionId); - /* string subscriber_stats = 2; */ - if (message.subscriberStats !== '') - writer.tag(2, WireType.LengthDelimited).string(message.subscriberStats); - /* string publisher_stats = 3; */ - if (message.publisherStats !== '') - writer.tag(3, WireType.LengthDelimited).string(message.publisherStats); - /* string webrtc_version = 4; */ - if (message.webrtcVersion !== '') - writer.tag(4, WireType.LengthDelimited).string(message.webrtcVersion); - /* string sdk = 5; */ - if (message.sdk !== '') - writer.tag(5, WireType.LengthDelimited).string(message.sdk); - /* string sdk_version = 6; */ - if (message.sdkVersion !== '') - writer.tag(6, WireType.LengthDelimited).string(message.sdkVersion); - let u = options.writeUnknownFields; - if (u !== false) - (u == true ? UnknownFieldHandler.onWrite : u)( - this.typeName, - message, - writer, - ); - return writer; - } } /** * @generated MessageType for protobuf message stream.video.sfu.signal.SendStatsRequest @@ -750,71 +378,6 @@ class SendStatsResponse$Type extends MessageType { { no: 1, name: 'error', kind: 'message', T: () => Error }, ]); } - create(value?: PartialMessage): SendStatsResponse { - const message = globalThis.Object.create(this.messagePrototype!); - if (value !== undefined) - reflectionMergePartial(this, message, value); - return message; - } - internalBinaryRead( - reader: IBinaryReader, - length: number, - options: BinaryReadOptions, - target?: SendStatsResponse, - ): SendStatsResponse { - let message = target ?? this.create(), - end = reader.pos + length; - while (reader.pos < end) { - let [fieldNo, wireType] = reader.tag(); - switch (fieldNo) { - case /* stream.video.sfu.models.Error error */ 1: - message.error = Error.internalBinaryRead( - reader, - reader.uint32(), - options, - message.error, - ); - break; - default: - let u = options.readUnknownField; - if (u === 'throw') - throw new globalThis.Error( - `Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`, - ); - let d = reader.skip(wireType); - if (u !== false) - (u === true ? UnknownFieldHandler.onRead : u)( - this.typeName, - message, - fieldNo, - wireType, - d, - ); - } - } - return message; - } - internalBinaryWrite( - message: SendStatsResponse, - writer: IBinaryWriter, - options: BinaryWriteOptions, - ): IBinaryWriter { - /* stream.video.sfu.models.Error error = 1; */ - if (message.error) - Error.internalBinaryWrite( - message.error, - writer.tag(1, WireType.LengthDelimited).fork(), - options, - ).join(); - let u = options.writeUnknownFields; - if (u !== false) - (u == true ? UnknownFieldHandler.onWrite : u)( - this.typeName, - message, - writer, - ); - return writer; - } } /** * @generated MessageType for protobuf message stream.video.sfu.signal.SendStatsResponse @@ -833,70 +396,6 @@ class ICERestartRequest$Type extends MessageType { }, ]); } - create(value?: PartialMessage): ICERestartRequest { - const message = globalThis.Object.create(this.messagePrototype!); - message.sessionId = ''; - message.peerType = 0; - if (value !== undefined) - reflectionMergePartial(this, message, value); - return message; - } - internalBinaryRead( - reader: IBinaryReader, - length: number, - options: BinaryReadOptions, - target?: ICERestartRequest, - ): ICERestartRequest { - let message = target ?? this.create(), - end = reader.pos + length; - while (reader.pos < end) { - let [fieldNo, wireType] = reader.tag(); - switch (fieldNo) { - case /* string session_id */ 1: - message.sessionId = reader.string(); - break; - case /* stream.video.sfu.models.PeerType peer_type */ 2: - message.peerType = reader.int32(); - break; - default: - let u = options.readUnknownField; - if (u === 'throw') - throw new globalThis.Error( - `Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`, - ); - let d = reader.skip(wireType); - if (u !== false) - (u === true ? UnknownFieldHandler.onRead : u)( - this.typeName, - message, - fieldNo, - wireType, - d, - ); - } - } - return message; - } - internalBinaryWrite( - message: ICERestartRequest, - writer: IBinaryWriter, - options: BinaryWriteOptions, - ): IBinaryWriter { - /* string session_id = 1; */ - if (message.sessionId !== '') - writer.tag(1, WireType.LengthDelimited).string(message.sessionId); - /* stream.video.sfu.models.PeerType peer_type = 2; */ - if (message.peerType !== 0) - writer.tag(2, WireType.Varint).int32(message.peerType); - let u = options.writeUnknownFields; - if (u !== false) - (u == true ? UnknownFieldHandler.onWrite : u)( - this.typeName, - message, - writer, - ); - return writer; - } } /** * @generated MessageType for protobuf message stream.video.sfu.signal.ICERestartRequest @@ -909,71 +408,6 @@ class ICERestartResponse$Type extends MessageType { { no: 1, name: 'error', kind: 'message', T: () => Error }, ]); } - create(value?: PartialMessage): ICERestartResponse { - const message = globalThis.Object.create(this.messagePrototype!); - if (value !== undefined) - reflectionMergePartial(this, message, value); - return message; - } - internalBinaryRead( - reader: IBinaryReader, - length: number, - options: BinaryReadOptions, - target?: ICERestartResponse, - ): ICERestartResponse { - let message = target ?? this.create(), - end = reader.pos + length; - while (reader.pos < end) { - let [fieldNo, wireType] = reader.tag(); - switch (fieldNo) { - case /* stream.video.sfu.models.Error error */ 1: - message.error = Error.internalBinaryRead( - reader, - reader.uint32(), - options, - message.error, - ); - break; - default: - let u = options.readUnknownField; - if (u === 'throw') - throw new globalThis.Error( - `Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`, - ); - let d = reader.skip(wireType); - if (u !== false) - (u === true ? UnknownFieldHandler.onRead : u)( - this.typeName, - message, - fieldNo, - wireType, - d, - ); - } - } - return message; - } - internalBinaryWrite( - message: ICERestartResponse, - writer: IBinaryWriter, - options: BinaryWriteOptions, - ): IBinaryWriter { - /* stream.video.sfu.models.Error error = 1; */ - if (message.error) - Error.internalBinaryWrite( - message.error, - writer.tag(1, WireType.LengthDelimited).fork(), - options, - ).join(); - let u = options.writeUnknownFields; - if (u !== false) - (u == true ? UnknownFieldHandler.onWrite : u)( - this.typeName, - message, - writer, - ); - return writer; - } } /** * @generated MessageType for protobuf message stream.video.sfu.signal.ICERestartResponse @@ -993,78 +427,6 @@ class UpdateMuteStatesRequest$Type extends MessageType }, ]); } - create( - value?: PartialMessage, - ): UpdateMuteStatesRequest { - const message = globalThis.Object.create(this.messagePrototype!); - message.sessionId = ''; - message.muteStates = []; - if (value !== undefined) - reflectionMergePartial(this, message, value); - return message; - } - internalBinaryRead( - reader: IBinaryReader, - length: number, - options: BinaryReadOptions, - target?: UpdateMuteStatesRequest, - ): UpdateMuteStatesRequest { - let message = target ?? this.create(), - end = reader.pos + length; - while (reader.pos < end) { - let [fieldNo, wireType] = reader.tag(); - switch (fieldNo) { - case /* string session_id */ 1: - message.sessionId = reader.string(); - break; - case /* repeated stream.video.sfu.signal.TrackMuteState mute_states */ 3: - message.muteStates.push( - TrackMuteState.internalBinaryRead(reader, reader.uint32(), options), - ); - break; - default: - let u = options.readUnknownField; - if (u === 'throw') - throw new globalThis.Error( - `Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`, - ); - let d = reader.skip(wireType); - if (u !== false) - (u === true ? UnknownFieldHandler.onRead : u)( - this.typeName, - message, - fieldNo, - wireType, - d, - ); - } - } - return message; - } - internalBinaryWrite( - message: UpdateMuteStatesRequest, - writer: IBinaryWriter, - options: BinaryWriteOptions, - ): IBinaryWriter { - /* string session_id = 1; */ - if (message.sessionId !== '') - writer.tag(1, WireType.LengthDelimited).string(message.sessionId); - /* repeated stream.video.sfu.signal.TrackMuteState mute_states = 3; */ - for (let i = 0; i < message.muteStates.length; i++) - TrackMuteState.internalBinaryWrite( - message.muteStates[i], - writer.tag(3, WireType.LengthDelimited).fork(), - options, - ).join(); - let u = options.writeUnknownFields; - if (u !== false) - (u == true ? UnknownFieldHandler.onWrite : u)( - this.typeName, - message, - writer, - ); - return writer; - } } /** * @generated MessageType for protobuf message stream.video.sfu.signal.UpdateMuteStatesRequest @@ -1077,73 +439,6 @@ class UpdateMuteStatesResponse$Type extends MessageType Error }, ]); } - create( - value?: PartialMessage, - ): UpdateMuteStatesResponse { - const message = globalThis.Object.create(this.messagePrototype!); - if (value !== undefined) - reflectionMergePartial(this, message, value); - return message; - } - internalBinaryRead( - reader: IBinaryReader, - length: number, - options: BinaryReadOptions, - target?: UpdateMuteStatesResponse, - ): UpdateMuteStatesResponse { - let message = target ?? this.create(), - end = reader.pos + length; - while (reader.pos < end) { - let [fieldNo, wireType] = reader.tag(); - switch (fieldNo) { - case /* stream.video.sfu.models.Error error */ 4: - message.error = Error.internalBinaryRead( - reader, - reader.uint32(), - options, - message.error, - ); - break; - default: - let u = options.readUnknownField; - if (u === 'throw') - throw new globalThis.Error( - `Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`, - ); - let d = reader.skip(wireType); - if (u !== false) - (u === true ? UnknownFieldHandler.onRead : u)( - this.typeName, - message, - fieldNo, - wireType, - d, - ); - } - } - return message; - } - internalBinaryWrite( - message: UpdateMuteStatesResponse, - writer: IBinaryWriter, - options: BinaryWriteOptions, - ): IBinaryWriter { - /* stream.video.sfu.models.Error error = 4; */ - if (message.error) - Error.internalBinaryWrite( - message.error, - writer.tag(4, WireType.LengthDelimited).fork(), - options, - ).join(); - let u = options.writeUnknownFields; - if (u !== false) - (u == true ? UnknownFieldHandler.onWrite : u)( - this.typeName, - message, - writer, - ); - return writer; - } } /** * @generated MessageType for protobuf message stream.video.sfu.signal.UpdateMuteStatesResponse @@ -1166,70 +461,6 @@ class TrackMuteState$Type extends MessageType { { no: 2, name: 'muted', kind: 'scalar', T: 8 /*ScalarType.BOOL*/ }, ]); } - create(value?: PartialMessage): TrackMuteState { - const message = globalThis.Object.create(this.messagePrototype!); - message.trackType = 0; - message.muted = false; - if (value !== undefined) - reflectionMergePartial(this, message, value); - return message; - } - internalBinaryRead( - reader: IBinaryReader, - length: number, - options: BinaryReadOptions, - target?: TrackMuteState, - ): TrackMuteState { - let message = target ?? this.create(), - end = reader.pos + length; - while (reader.pos < end) { - let [fieldNo, wireType] = reader.tag(); - switch (fieldNo) { - case /* stream.video.sfu.models.TrackType track_type */ 1: - message.trackType = reader.int32(); - break; - case /* bool muted */ 2: - message.muted = reader.bool(); - break; - default: - let u = options.readUnknownField; - if (u === 'throw') - throw new globalThis.Error( - `Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`, - ); - let d = reader.skip(wireType); - if (u !== false) - (u === true ? UnknownFieldHandler.onRead : u)( - this.typeName, - message, - fieldNo, - wireType, - d, - ); - } - } - return message; - } - internalBinaryWrite( - message: TrackMuteState, - writer: IBinaryWriter, - options: BinaryWriteOptions, - ): IBinaryWriter { - /* stream.video.sfu.models.TrackType track_type = 1; */ - if (message.trackType !== 0) - writer.tag(1, WireType.Varint).int32(message.trackType); - /* bool muted = 2; */ - if (message.muted !== false) - writer.tag(2, WireType.Varint).bool(message.muted); - let u = options.writeUnknownFields; - if (u !== false) - (u == true ? UnknownFieldHandler.onWrite : u)( - this.typeName, - message, - writer, - ); - return writer; - } } /** * @generated MessageType for protobuf message stream.video.sfu.signal.TrackMuteState @@ -1242,63 +473,6 @@ class AudioMuteChanged$Type extends MessageType { { no: 1, name: 'muted', kind: 'scalar', T: 8 /*ScalarType.BOOL*/ }, ]); } - create(value?: PartialMessage): AudioMuteChanged { - const message = globalThis.Object.create(this.messagePrototype!); - message.muted = false; - if (value !== undefined) - reflectionMergePartial(this, message, value); - return message; - } - internalBinaryRead( - reader: IBinaryReader, - length: number, - options: BinaryReadOptions, - target?: AudioMuteChanged, - ): AudioMuteChanged { - let message = target ?? this.create(), - end = reader.pos + length; - while (reader.pos < end) { - let [fieldNo, wireType] = reader.tag(); - switch (fieldNo) { - case /* bool muted */ 1: - message.muted = reader.bool(); - break; - default: - let u = options.readUnknownField; - if (u === 'throw') - throw new globalThis.Error( - `Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`, - ); - let d = reader.skip(wireType); - if (u !== false) - (u === true ? UnknownFieldHandler.onRead : u)( - this.typeName, - message, - fieldNo, - wireType, - d, - ); - } - } - return message; - } - internalBinaryWrite( - message: AudioMuteChanged, - writer: IBinaryWriter, - options: BinaryWriteOptions, - ): IBinaryWriter { - /* bool muted = 1; */ - if (message.muted !== false) - writer.tag(1, WireType.Varint).bool(message.muted); - let u = options.writeUnknownFields; - if (u !== false) - (u == true ? UnknownFieldHandler.onWrite : u)( - this.typeName, - message, - writer, - ); - return writer; - } } /** * @generated MessageType for protobuf message stream.video.sfu.signal.AudioMuteChanged @@ -1311,63 +485,6 @@ class VideoMuteChanged$Type extends MessageType { { no: 2, name: 'muted', kind: 'scalar', T: 8 /*ScalarType.BOOL*/ }, ]); } - create(value?: PartialMessage): VideoMuteChanged { - const message = globalThis.Object.create(this.messagePrototype!); - message.muted = false; - if (value !== undefined) - reflectionMergePartial(this, message, value); - return message; - } - internalBinaryRead( - reader: IBinaryReader, - length: number, - options: BinaryReadOptions, - target?: VideoMuteChanged, - ): VideoMuteChanged { - let message = target ?? this.create(), - end = reader.pos + length; - while (reader.pos < end) { - let [fieldNo, wireType] = reader.tag(); - switch (fieldNo) { - case /* bool muted */ 2: - message.muted = reader.bool(); - break; - default: - let u = options.readUnknownField; - if (u === 'throw') - throw new globalThis.Error( - `Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`, - ); - let d = reader.skip(wireType); - if (u !== false) - (u === true ? UnknownFieldHandler.onRead : u)( - this.typeName, - message, - fieldNo, - wireType, - d, - ); - } - } - return message; - } - internalBinaryWrite( - message: VideoMuteChanged, - writer: IBinaryWriter, - options: BinaryWriteOptions, - ): IBinaryWriter { - /* bool muted = 2; */ - if (message.muted !== false) - writer.tag(2, WireType.Varint).bool(message.muted); - let u = options.writeUnknownFields; - if (u !== false) - (u == true ? UnknownFieldHandler.onWrite : u)( - this.typeName, - message, - writer, - ); - return writer; - } } /** * @generated MessageType for protobuf message stream.video.sfu.signal.VideoMuteChanged @@ -1387,82 +504,6 @@ class UpdateSubscriptionsRequest$Type extends MessageType, - ): UpdateSubscriptionsRequest { - const message = globalThis.Object.create(this.messagePrototype!); - message.sessionId = ''; - message.tracks = []; - if (value !== undefined) - reflectionMergePartial(this, message, value); - return message; - } - internalBinaryRead( - reader: IBinaryReader, - length: number, - options: BinaryReadOptions, - target?: UpdateSubscriptionsRequest, - ): UpdateSubscriptionsRequest { - let message = target ?? this.create(), - end = reader.pos + length; - while (reader.pos < end) { - let [fieldNo, wireType] = reader.tag(); - switch (fieldNo) { - case /* string session_id */ 2: - message.sessionId = reader.string(); - break; - case /* repeated stream.video.sfu.signal.TrackSubscriptionDetails tracks */ 3: - message.tracks.push( - TrackSubscriptionDetails.internalBinaryRead( - reader, - reader.uint32(), - options, - ), - ); - break; - default: - let u = options.readUnknownField; - if (u === 'throw') - throw new globalThis.Error( - `Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`, - ); - let d = reader.skip(wireType); - if (u !== false) - (u === true ? UnknownFieldHandler.onRead : u)( - this.typeName, - message, - fieldNo, - wireType, - d, - ); - } - } - return message; - } - internalBinaryWrite( - message: UpdateSubscriptionsRequest, - writer: IBinaryWriter, - options: BinaryWriteOptions, - ): IBinaryWriter { - /* string session_id = 2; */ - if (message.sessionId !== '') - writer.tag(2, WireType.LengthDelimited).string(message.sessionId); - /* repeated stream.video.sfu.signal.TrackSubscriptionDetails tracks = 3; */ - for (let i = 0; i < message.tracks.length; i++) - TrackSubscriptionDetails.internalBinaryWrite( - message.tracks[i], - writer.tag(3, WireType.LengthDelimited).fork(), - options, - ).join(); - let u = options.writeUnknownFields; - if (u !== false) - (u == true ? UnknownFieldHandler.onWrite : u)( - this.typeName, - message, - writer, - ); - return writer; - } } /** * @generated MessageType for protobuf message stream.video.sfu.signal.UpdateSubscriptionsRequest @@ -1475,73 +516,6 @@ class UpdateSubscriptionsResponse$Type extends MessageType Error }, ]); } - create( - value?: PartialMessage, - ): UpdateSubscriptionsResponse { - const message = globalThis.Object.create(this.messagePrototype!); - if (value !== undefined) - reflectionMergePartial(this, message, value); - return message; - } - internalBinaryRead( - reader: IBinaryReader, - length: number, - options: BinaryReadOptions, - target?: UpdateSubscriptionsResponse, - ): UpdateSubscriptionsResponse { - let message = target ?? this.create(), - end = reader.pos + length; - while (reader.pos < end) { - let [fieldNo, wireType] = reader.tag(); - switch (fieldNo) { - case /* stream.video.sfu.models.Error error */ 4: - message.error = Error.internalBinaryRead( - reader, - reader.uint32(), - options, - message.error, - ); - break; - default: - let u = options.readUnknownField; - if (u === 'throw') - throw new globalThis.Error( - `Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`, - ); - let d = reader.skip(wireType); - if (u !== false) - (u === true ? UnknownFieldHandler.onRead : u)( - this.typeName, - message, - fieldNo, - wireType, - d, - ); - } - } - return message; - } - internalBinaryWrite( - message: UpdateSubscriptionsResponse, - writer: IBinaryWriter, - options: BinaryWriteOptions, - ): IBinaryWriter { - /* stream.video.sfu.models.Error error = 4; */ - if (message.error) - Error.internalBinaryWrite( - message.error, - writer.tag(4, WireType.LengthDelimited).fork(), - options, - ).join(); - let u = options.writeUnknownFields; - if (u !== false) - (u == true ? UnknownFieldHandler.onWrite : u)( - this.typeName, - message, - writer, - ); - return writer; - } } /** * @generated MessageType for protobuf message stream.video.sfu.signal.UpdateSubscriptionsResponse @@ -1567,94 +541,6 @@ class TrackSubscriptionDetails$Type extends MessageType VideoDimension }, ]); } - create( - value?: PartialMessage, - ): TrackSubscriptionDetails { - const message = globalThis.Object.create(this.messagePrototype!); - message.userId = ''; - message.sessionId = ''; - message.trackType = 0; - if (value !== undefined) - reflectionMergePartial(this, message, value); - return message; - } - internalBinaryRead( - reader: IBinaryReader, - length: number, - options: BinaryReadOptions, - target?: TrackSubscriptionDetails, - ): TrackSubscriptionDetails { - let message = target ?? this.create(), - end = reader.pos + length; - while (reader.pos < end) { - let [fieldNo, wireType] = reader.tag(); - switch (fieldNo) { - case /* string user_id */ 1: - message.userId = reader.string(); - break; - case /* string session_id */ 2: - message.sessionId = reader.string(); - break; - case /* stream.video.sfu.models.TrackType track_type */ 3: - message.trackType = reader.int32(); - break; - case /* stream.video.sfu.models.VideoDimension dimension */ 4: - message.dimension = VideoDimension.internalBinaryRead( - reader, - reader.uint32(), - options, - message.dimension, - ); - break; - default: - let u = options.readUnknownField; - if (u === 'throw') - throw new globalThis.Error( - `Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`, - ); - let d = reader.skip(wireType); - if (u !== false) - (u === true ? UnknownFieldHandler.onRead : u)( - this.typeName, - message, - fieldNo, - wireType, - d, - ); - } - } - return message; - } - internalBinaryWrite( - message: TrackSubscriptionDetails, - writer: IBinaryWriter, - options: BinaryWriteOptions, - ): IBinaryWriter { - /* string user_id = 1; */ - if (message.userId !== '') - writer.tag(1, WireType.LengthDelimited).string(message.userId); - /* string session_id = 2; */ - if (message.sessionId !== '') - writer.tag(2, WireType.LengthDelimited).string(message.sessionId); - /* stream.video.sfu.models.TrackType track_type = 3; */ - if (message.trackType !== 0) - writer.tag(3, WireType.Varint).int32(message.trackType); - /* stream.video.sfu.models.VideoDimension dimension = 4; */ - if (message.dimension) - VideoDimension.internalBinaryWrite( - message.dimension, - writer.tag(4, WireType.LengthDelimited).fork(), - options, - ).join(); - let u = options.writeUnknownFields; - if (u !== false) - (u == true ? UnknownFieldHandler.onWrite : u)( - this.typeName, - message, - writer, - ); - return writer; - } } /** * @generated MessageType for protobuf message stream.video.sfu.signal.TrackSubscriptionDetails @@ -1674,77 +560,6 @@ class SendAnswerRequest$Type extends MessageType { { no: 3, name: 'session_id', kind: 'scalar', T: 9 /*ScalarType.STRING*/ }, ]); } - create(value?: PartialMessage): SendAnswerRequest { - const message = globalThis.Object.create(this.messagePrototype!); - message.peerType = 0; - message.sdp = ''; - message.sessionId = ''; - if (value !== undefined) - reflectionMergePartial(this, message, value); - return message; - } - internalBinaryRead( - reader: IBinaryReader, - length: number, - options: BinaryReadOptions, - target?: SendAnswerRequest, - ): SendAnswerRequest { - let message = target ?? this.create(), - end = reader.pos + length; - while (reader.pos < end) { - let [fieldNo, wireType] = reader.tag(); - switch (fieldNo) { - case /* stream.video.sfu.models.PeerType peer_type */ 1: - message.peerType = reader.int32(); - break; - case /* string sdp */ 2: - message.sdp = reader.string(); - break; - case /* string session_id */ 3: - message.sessionId = reader.string(); - break; - default: - let u = options.readUnknownField; - if (u === 'throw') - throw new globalThis.Error( - `Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`, - ); - let d = reader.skip(wireType); - if (u !== false) - (u === true ? UnknownFieldHandler.onRead : u)( - this.typeName, - message, - fieldNo, - wireType, - d, - ); - } - } - return message; - } - internalBinaryWrite( - message: SendAnswerRequest, - writer: IBinaryWriter, - options: BinaryWriteOptions, - ): IBinaryWriter { - /* stream.video.sfu.models.PeerType peer_type = 1; */ - if (message.peerType !== 0) - writer.tag(1, WireType.Varint).int32(message.peerType); - /* string sdp = 2; */ - if (message.sdp !== '') - writer.tag(2, WireType.LengthDelimited).string(message.sdp); - /* string session_id = 3; */ - if (message.sessionId !== '') - writer.tag(3, WireType.LengthDelimited).string(message.sessionId); - let u = options.writeUnknownFields; - if (u !== false) - (u == true ? UnknownFieldHandler.onWrite : u)( - this.typeName, - message, - writer, - ); - return writer; - } } /** * @generated MessageType for protobuf message stream.video.sfu.signal.SendAnswerRequest @@ -1757,71 +572,6 @@ class SendAnswerResponse$Type extends MessageType { { no: 4, name: 'error', kind: 'message', T: () => Error }, ]); } - create(value?: PartialMessage): SendAnswerResponse { - const message = globalThis.Object.create(this.messagePrototype!); - if (value !== undefined) - reflectionMergePartial(this, message, value); - return message; - } - internalBinaryRead( - reader: IBinaryReader, - length: number, - options: BinaryReadOptions, - target?: SendAnswerResponse, - ): SendAnswerResponse { - let message = target ?? this.create(), - end = reader.pos + length; - while (reader.pos < end) { - let [fieldNo, wireType] = reader.tag(); - switch (fieldNo) { - case /* stream.video.sfu.models.Error error */ 4: - message.error = Error.internalBinaryRead( - reader, - reader.uint32(), - options, - message.error, - ); - break; - default: - let u = options.readUnknownField; - if (u === 'throw') - throw new globalThis.Error( - `Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`, - ); - let d = reader.skip(wireType); - if (u !== false) - (u === true ? UnknownFieldHandler.onRead : u)( - this.typeName, - message, - fieldNo, - wireType, - d, - ); - } - } - return message; - } - internalBinaryWrite( - message: SendAnswerResponse, - writer: IBinaryWriter, - options: BinaryWriteOptions, - ): IBinaryWriter { - /* stream.video.sfu.models.Error error = 4; */ - if (message.error) - Error.internalBinaryWrite( - message.error, - writer.tag(4, WireType.LengthDelimited).fork(), - options, - ).join(); - let u = options.writeUnknownFields; - if (u !== false) - (u == true ? UnknownFieldHandler.onWrite : u)( - this.typeName, - message, - writer, - ); - return writer; - } } /** * @generated MessageType for protobuf message stream.video.sfu.signal.SendAnswerResponse @@ -1834,71 +584,6 @@ class ICETrickleResponse$Type extends MessageType { { no: 4, name: 'error', kind: 'message', T: () => Error }, ]); } - create(value?: PartialMessage): ICETrickleResponse { - const message = globalThis.Object.create(this.messagePrototype!); - if (value !== undefined) - reflectionMergePartial(this, message, value); - return message; - } - internalBinaryRead( - reader: IBinaryReader, - length: number, - options: BinaryReadOptions, - target?: ICETrickleResponse, - ): ICETrickleResponse { - let message = target ?? this.create(), - end = reader.pos + length; - while (reader.pos < end) { - let [fieldNo, wireType] = reader.tag(); - switch (fieldNo) { - case /* stream.video.sfu.models.Error error */ 4: - message.error = Error.internalBinaryRead( - reader, - reader.uint32(), - options, - message.error, - ); - break; - default: - let u = options.readUnknownField; - if (u === 'throw') - throw new globalThis.Error( - `Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`, - ); - let d = reader.skip(wireType); - if (u !== false) - (u === true ? UnknownFieldHandler.onRead : u)( - this.typeName, - message, - fieldNo, - wireType, - d, - ); - } - } - return message; - } - internalBinaryWrite( - message: ICETrickleResponse, - writer: IBinaryWriter, - options: BinaryWriteOptions, - ): IBinaryWriter { - /* stream.video.sfu.models.Error error = 4; */ - if (message.error) - Error.internalBinaryWrite( - message.error, - writer.tag(4, WireType.LengthDelimited).fork(), - options, - ).join(); - let u = options.writeUnknownFields; - if (u !== false) - (u == true ? UnknownFieldHandler.onWrite : u)( - this.typeName, - message, - writer, - ); - return writer; - } } /** * @generated MessageType for protobuf message stream.video.sfu.signal.ICETrickleResponse @@ -1919,83 +604,6 @@ class SetPublisherRequest$Type extends MessageType { }, ]); } - create(value?: PartialMessage): SetPublisherRequest { - const message = globalThis.Object.create(this.messagePrototype!); - message.sdp = ''; - message.sessionId = ''; - message.tracks = []; - if (value !== undefined) - reflectionMergePartial(this, message, value); - return message; - } - internalBinaryRead( - reader: IBinaryReader, - length: number, - options: BinaryReadOptions, - target?: SetPublisherRequest, - ): SetPublisherRequest { - let message = target ?? this.create(), - end = reader.pos + length; - while (reader.pos < end) { - let [fieldNo, wireType] = reader.tag(); - switch (fieldNo) { - case /* string sdp */ 1: - message.sdp = reader.string(); - break; - case /* string session_id */ 2: - message.sessionId = reader.string(); - break; - case /* repeated stream.video.sfu.models.TrackInfo tracks */ 3: - message.tracks.push( - TrackInfo.internalBinaryRead(reader, reader.uint32(), options), - ); - break; - default: - let u = options.readUnknownField; - if (u === 'throw') - throw new globalThis.Error( - `Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`, - ); - let d = reader.skip(wireType); - if (u !== false) - (u === true ? UnknownFieldHandler.onRead : u)( - this.typeName, - message, - fieldNo, - wireType, - d, - ); - } - } - return message; - } - internalBinaryWrite( - message: SetPublisherRequest, - writer: IBinaryWriter, - options: BinaryWriteOptions, - ): IBinaryWriter { - /* string sdp = 1; */ - if (message.sdp !== '') - writer.tag(1, WireType.LengthDelimited).string(message.sdp); - /* string session_id = 2; */ - if (message.sessionId !== '') - writer.tag(2, WireType.LengthDelimited).string(message.sessionId); - /* repeated stream.video.sfu.models.TrackInfo tracks = 3; */ - for (let i = 0; i < message.tracks.length; i++) - TrackInfo.internalBinaryWrite( - message.tracks[i], - writer.tag(3, WireType.LengthDelimited).fork(), - options, - ).join(); - let u = options.writeUnknownFields; - if (u !== false) - (u == true ? UnknownFieldHandler.onWrite : u)( - this.typeName, - message, - writer, - ); - return writer; - } } /** * @generated MessageType for protobuf message stream.video.sfu.signal.SetPublisherRequest @@ -2011,92 +619,6 @@ class SetPublisherResponse$Type extends MessageType { { no: 4, name: 'error', kind: 'message', T: () => Error }, ]); } - create(value?: PartialMessage): SetPublisherResponse { - const message = globalThis.Object.create(this.messagePrototype!); - message.sdp = ''; - message.sessionId = ''; - message.iceRestart = false; - if (value !== undefined) - reflectionMergePartial(this, message, value); - return message; - } - internalBinaryRead( - reader: IBinaryReader, - length: number, - options: BinaryReadOptions, - target?: SetPublisherResponse, - ): SetPublisherResponse { - let message = target ?? this.create(), - end = reader.pos + length; - while (reader.pos < end) { - let [fieldNo, wireType] = reader.tag(); - switch (fieldNo) { - case /* string sdp */ 1: - message.sdp = reader.string(); - break; - case /* string session_id */ 2: - message.sessionId = reader.string(); - break; - case /* bool ice_restart */ 3: - message.iceRestart = reader.bool(); - break; - case /* stream.video.sfu.models.Error error */ 4: - message.error = Error.internalBinaryRead( - reader, - reader.uint32(), - options, - message.error, - ); - break; - default: - let u = options.readUnknownField; - if (u === 'throw') - throw new globalThis.Error( - `Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`, - ); - let d = reader.skip(wireType); - if (u !== false) - (u === true ? UnknownFieldHandler.onRead : u)( - this.typeName, - message, - fieldNo, - wireType, - d, - ); - } - } - return message; - } - internalBinaryWrite( - message: SetPublisherResponse, - writer: IBinaryWriter, - options: BinaryWriteOptions, - ): IBinaryWriter { - /* string sdp = 1; */ - if (message.sdp !== '') - writer.tag(1, WireType.LengthDelimited).string(message.sdp); - /* string session_id = 2; */ - if (message.sessionId !== '') - writer.tag(2, WireType.LengthDelimited).string(message.sessionId); - /* bool ice_restart = 3; */ - if (message.iceRestart !== false) - writer.tag(3, WireType.Varint).bool(message.iceRestart); - /* stream.video.sfu.models.Error error = 4; */ - if (message.error) - Error.internalBinaryWrite( - message.error, - writer.tag(4, WireType.LengthDelimited).fork(), - options, - ).join(); - let u = options.writeUnknownFields; - if (u !== false) - (u == true ? UnknownFieldHandler.onWrite : u)( - this.typeName, - message, - writer, - ); - return writer; - } } /** * @generated MessageType for protobuf message stream.video.sfu.signal.SetPublisherResponse diff --git a/packages/client/src/rtc/Publisher.ts b/packages/client/src/rtc/Publisher.ts index fecdd58bb2..8ef17b23a8 100644 --- a/packages/client/src/rtc/Publisher.ts +++ b/packages/client/src/rtc/Publisher.ts @@ -13,7 +13,7 @@ import { findOptimalVideoLayers, OptimalVideoLayer, } from './videoLayers'; -import { getPreferredCodecs } from './codecs'; +import { getPreferredCodecs, getRNOptimalCodec } from './codecs'; import { trackTypeToParticipantStreamKey } from './helpers/tracks'; import { CallingState, CallState } from '../store'; import { PublishOptions } from '../types'; @@ -22,7 +22,6 @@ import { enableHighQualityAudio, toggleDtx } from '../helpers/sdp-munging'; import { Logger } from '../coordinator/connection/types'; import { getLogger } from '../logger'; import { Dispatcher } from './Dispatcher'; -import { getOSInfo } from '../client-details'; import { VideoLayerSetting } from '../gen/video/sfu/event/events'; import { TargetResolutionResponse } from '../gen/shims'; @@ -264,26 +263,9 @@ export class Publisher { trackType === TrackType.VIDEO ? findOptimalVideoLayers(track, targetResolution, opts) : trackType === TrackType.SCREEN_SHARE - ? findOptimalScreenSharingLayers( - track, - opts.screenShareSettings, - screenShareBitrate, - ) + ? findOptimalScreenSharingLayers(track, opts, screenShareBitrate) : undefined; - let preferredCodec = opts.preferredCodec; - if (!preferredCodec && trackType === TrackType.VIDEO && isReactNative()) { - const osName = getOSInfo()?.name.toLowerCase(); - if (osName === 'ipados') { - // in ipads it was noticed that if vp8 codec is used - // then the bytes sent is 0 in the outbound-rtp - // so we are forcing h264 codec for ipads - preferredCodec = 'H264'; - } else if (osName === 'android') { - preferredCodec = 'VP8'; - } - } - // listen for 'ended' event on the track as it might be ended abruptly // by an external factor as permission revokes, device disconnected, etc. // keep in mind that `track.stop()` doesn't trigger this event. @@ -306,9 +288,15 @@ export class Publisher { this.transceiverRegistry[trackType] = transceiver; this.publishOptionsPerTrackType.set(trackType, opts); + const { preferredCodec } = opts; + const codec = + isReactNative() && trackType === TrackType.VIDEO && !preferredCodec + ? getRNOptimalCodec() + : preferredCodec; + const codecPreferences = 'setCodecPreferences' in transceiver - ? this.getCodecPreferences(trackType, preferredCodec) + ? this.getCodecPreferences(trackType, codec) : undefined; if (codecPreferences) { this.logger( @@ -721,12 +709,9 @@ export class Publisher { const publishOpts = this.publishOptionsPerTrackType.get(trackType); optimalLayers = trackType === TrackType.VIDEO - ? findOptimalVideoLayers(track, targetResolution, undefined) + ? findOptimalVideoLayers(track, targetResolution, publishOpts) : trackType === TrackType.SCREEN_SHARE - ? findOptimalScreenSharingLayers( - track, - publishOpts?.screenShareSettings, - ) + ? findOptimalScreenSharingLayers(track, publishOpts) : []; this.trackLayersCache[trackType] = optimalLayers; } else { diff --git a/packages/client/src/rtc/__tests__/Publisher.test.ts b/packages/client/src/rtc/__tests__/Publisher.test.ts index 7e79c0b710..1777a5e3d3 100644 --- a/packages/client/src/rtc/__tests__/Publisher.test.ts +++ b/packages/client/src/rtc/__tests__/Publisher.test.ts @@ -8,6 +8,7 @@ import { DispatchableMessage, Dispatcher } from '../Dispatcher'; import { PeerType, TrackType } from '../../gen/video/sfu/models/models'; import { SfuEvent } from '../../gen/video/sfu/event/events'; import { IceTrickleBuffer } from '../IceTrickleBuffer'; +import { StreamClient } from '../../coordinator/connection/client'; vi.mock('../../StreamSfuClient', () => { console.log('MOCKING StreamSfuClient'); @@ -41,6 +42,7 @@ describe('Publisher', () => { sfuClient = new StreamSfuClient({ dispatcher, sessionId: 'session-id-test', + streamClient: new StreamClient('abc'), credentials: { server: { url: 'https://getstream.io/', diff --git a/packages/client/src/rtc/__tests__/Subscriber.test.ts b/packages/client/src/rtc/__tests__/Subscriber.test.ts index cdd87153e1..d8b16ca886 100644 --- a/packages/client/src/rtc/__tests__/Subscriber.test.ts +++ b/packages/client/src/rtc/__tests__/Subscriber.test.ts @@ -8,6 +8,7 @@ import { CallState } from '../../store'; import { SfuEvent } from '../../gen/video/sfu/event/events'; import { PeerType, TrackType } from '../../gen/video/sfu/models/models'; import { IceTrickleBuffer } from '../IceTrickleBuffer'; +import { StreamClient } from '../../coordinator/connection/client'; vi.mock('../../StreamSfuClient', () => { console.log('MOCKING StreamSfuClient'); @@ -27,6 +28,7 @@ describe('Subscriber', () => { sfuClient = new StreamSfuClient({ dispatcher, sessionId: 'sessionId', + streamClient: new StreamClient('abc'), logTag: 'logTag', credentials: { server: { diff --git a/packages/client/src/rtc/__tests__/codecs.test.ts b/packages/client/src/rtc/__tests__/codecs.test.ts new file mode 100644 index 0000000000..afa8a1be94 --- /dev/null +++ b/packages/client/src/rtc/__tests__/codecs.test.ts @@ -0,0 +1,145 @@ +import { describe, expect, it, vi } from 'vitest'; +import { getPreferredCodecs } from '../codecs'; +import './mocks/webrtc.mocks'; + +describe('codecs', () => { + it('should return preferred audio codec', () => { + RTCRtpReceiver.getCapabilities = vi.fn().mockReturnValue(audioCodecs); + const codecs = getPreferredCodecs('audio', 'red'); + expect(codecs).toBeDefined(); + expect(codecs?.map((c) => c.mimeType)).toEqual([ + 'audio/red', + 'audio/opus', + 'audio/G722', + 'audio/PCMU', + 'audio/PCMA', + 'audio/CN', + 'audio/telephone-event', + ]); + }); + + it('should return preferred video codec', () => { + RTCRtpReceiver.getCapabilities = vi.fn().mockReturnValue(videoCodecs); + const codecs = getPreferredCodecs('video', 'vp8'); + expect(codecs).toBeDefined(); + // prettier-ignore + expect(codecs?.map((c) => [c.mimeType, c.sdpFmtpLine])).toEqual([ + ['video/VP8', undefined], + ['video/H264', 'level-asymmetry-allowed=1;packetization-mode=1;profile-level-id=640c1f'], + ['video/rtx', undefined], + ['video/H264', 'level-asymmetry-allowed=1;packetization-mode=1;profile-level-id=42e01f'], + ['video/H264', 'level-asymmetry-allowed=1;packetization-mode=0;profile-level-id=640c1f'], + ['video/H264', 'level-asymmetry-allowed=1;packetization-mode=0;profile-level-id=42e01f'], + ['video/VP9', 'profile-id=0'], + ['video/VP9', 'profile-id=2'], + ['video/red', undefined], + ['video/ulpfec', undefined], + ['video/flexfec-03', 'repair-window=10000000'], + ]); + }); + + it('should pick the baseline H264 codec', () => { + RTCRtpReceiver.getCapabilities = vi.fn().mockReturnValue(videoCodecs); + const codecs = getPreferredCodecs('video', 'h264'); + expect(codecs).toBeDefined(); + // prettier-ignore + expect(codecs?.map((c) => [c.mimeType, c.sdpFmtpLine])).toEqual([ + ['video/H264', 'level-asymmetry-allowed=1;packetization-mode=0;profile-level-id=42e01f'], + ['video/H264', 'level-asymmetry-allowed=1;packetization-mode=1;profile-level-id=42e01f'], + ['video/H264', 'level-asymmetry-allowed=1;packetization-mode=1;profile-level-id=640c1f'], + ['video/H264', 'level-asymmetry-allowed=1;packetization-mode=0;profile-level-id=640c1f'], + ['video/rtx', undefined], + ['video/VP8', undefined], + ['video/VP9', 'profile-id=0'], + ['video/VP9', 'profile-id=2'], + ['video/red', undefined], + ['video/ulpfec', undefined], + ['video/flexfec-03', 'repair-window=10000000'], + ]); + }); + + it('should pick the baseline H264 codec with optional packetization-mode', () => { + RTCRtpReceiver.getCapabilities = vi + .fn() + .mockReturnValue(videoCodecsFirefox); + const codecs = getPreferredCodecs('video', 'h264'); + expect(codecs).toBeDefined(); + // prettier-ignore + expect(codecs?.map((c) => [c.mimeType, c.sdpFmtpLine])).toEqual([ + ['video/H264', 'profile-level-id=42e01f;level-asymmetry-allowed=1'], + ['video/H264', 'profile-level-id=42e01f;level-asymmetry-allowed=1;packetization-mode=1'], + ['video/VP8', 'max-fs=12288;max-fr=60'], + ['video/rtx', undefined], + ['video/VP9', 'max-fs=12288;max-fr=60'], + ['video/ulpfec', undefined], + ['video/red', undefined], + ]); + }); +}); + +// prettier-ignore +const videoCodecsFirefox: RTCRtpCapabilities = { + codecs: [ + { mimeType: 'video/VP8', sdpFmtpLine: 'max-fs=12288;max-fr=60', clockRate: 90000 }, + { mimeType: 'video/rtx', clockRate: 90000 }, + { mimeType: 'video/VP9', sdpFmtpLine: 'max-fs=12288;max-fr=60', clockRate: 90000 }, + { mimeType: 'video/H264', sdpFmtpLine: 'profile-level-id=42e01f;level-asymmetry-allowed=1;packetization-mode=1', clockRate: 90000 }, + { mimeType: 'video/H264', sdpFmtpLine: 'profile-level-id=42e01f;level-asymmetry-allowed=1', clockRate: 90000 }, + { mimeType: 'video/ulpfec', clockRate: 90000 }, + { mimeType: 'video/red', clockRate: 90000 }, + ], + headerExtensions: [ + { uri: 'urn:ietf:params:rtp-hdrext:sdes:mid' }, + { uri: 'http://www.webrtc.org/experiments/rtp-hdrext/abs-send-time' }, + { uri: 'urn:ietf:params:rtp-hdrext:toffset' }, + { uri: 'http://www.webrtc.org/experiments/rtp-hdrext/playout-delay' }, + ], +}; + +// prettier-ignore +const videoCodecs: RTCRtpCapabilities = { + codecs: [ + { mimeType: 'video/H264', sdpFmtpLine: 'level-asymmetry-allowed=1;packetization-mode=1;profile-level-id=640c1f', clockRate: 90000 }, + { mimeType: 'video/rtx', clockRate: 90000 }, + { mimeType: 'video/H264', sdpFmtpLine: 'level-asymmetry-allowed=1;packetization-mode=1;profile-level-id=42e01f', clockRate: 90000 }, + { mimeType: 'video/H264', sdpFmtpLine: 'level-asymmetry-allowed=1;packetization-mode=0;profile-level-id=640c1f', clockRate: 90000 }, + { mimeType: 'video/H264', sdpFmtpLine: 'level-asymmetry-allowed=1;packetization-mode=0;profile-level-id=42e01f', clockRate: 90000 }, + { mimeType: 'video/VP8', clockRate: 90000 }, + { mimeType: 'video/VP9', sdpFmtpLine: 'profile-id=0', clockRate: 90000 }, + { mimeType: 'video/VP9', sdpFmtpLine: 'profile-id=2', clockRate: 90000 }, + { mimeType: 'video/red', clockRate: 90000 }, + { mimeType: 'video/ulpfec', clockRate: 90000 }, + { mimeType: 'video/flexfec-03', sdpFmtpLine: 'repair-window=10000000', clockRate: 90000 }, + ], + headerExtensions: [ + { uri: 'urn:ietf:params:rtp-hdrext:toffset' }, + { uri: 'http://www.webrtc.org/experiments/rtp-hdrext/abs-send-time' }, + { uri: 'urn:3gpp:video-orientation' }, + { uri: 'http://www.ietf.org/id/draft-holmer-rmcat-transport-wide-cc-extensions-01' }, + { uri: 'http://www.webrtc.org/experiments/rtp-hdrext/playout-delay' }, + { uri: 'http://www.webrtc.org/experiments/rtp-hdrext/video-content-type' }, + { uri: 'http://www.webrtc.org/experiments/rtp-hdrext/video-timing' }, + { uri: 'http://www.webrtc.org/experiments/rtp-hdrext/color-space' }, + { uri: 'urn:ietf:params:rtp-hdrext:sdes:mid' }, + { uri: 'urn:ietf:params:rtp-hdrext:sdes:rtp-stream-id' }, + { uri: 'urn:ietf:params:rtp-hdrext:sdes:repaired-rtp-stream-id' }, + ], +}; + +// prettier-ignore +const audioCodecs: RTCRtpCapabilities = { + codecs: [ + { mimeType: 'audio/opus', sdpFmtpLine: 'minptime=10;useinbandfec=1', clockRate: 48000 }, + { mimeType: 'audio/red', sdpFmtpLine: '=111/111', clockRate: 48000 }, + { mimeType: 'audio/G722', clockRate: 8000, channels: 1 }, + { mimeType: 'audio/PCMU', clockRate: 8000, channels: 1 }, + { mimeType: 'audio/PCMA', clockRate: 8000, channels: 1 }, + { mimeType: 'audio/CN', clockRate: 8000, channels: 1 }, + { mimeType: 'audio/telephone-event', clockRate: 8000, channels: 1 }, + ], + headerExtensions: [ + { uri: 'urn:ietf:params:rtp-hdrext:ssrc-audio-level' }, + { uri: 'http://www.webrtc.org/experiments/rtp-hdrext/abs-send-time' }, + { uri: 'urn:ietf:params:rtp-hdrext:sdes:mid' }, + ], +}; diff --git a/packages/client/src/rtc/__tests__/mocks/webrtc.mocks.ts b/packages/client/src/rtc/__tests__/mocks/webrtc.mocks.ts index 1bc4017d14..8143bfc4a7 100644 --- a/packages/client/src/rtc/__tests__/mocks/webrtc.mocks.ts +++ b/packages/client/src/rtc/__tests__/mocks/webrtc.mocks.ts @@ -60,3 +60,10 @@ const RTCTrackEvent = vi.fn( }, ); vi.stubGlobal('RTCTrackEvent', RTCTrackEvent); + +const RTCRtpReceiverMock = vi.fn((): Partial => { + return { + getCapabilities: vi.fn(), + }; +}); +vi.stubGlobal('RTCRtpReceiver', RTCRtpReceiverMock); diff --git a/packages/client/src/rtc/__tests__/videoLayers.test.ts b/packages/client/src/rtc/__tests__/videoLayers.test.ts index e2826b1e6d..fccc65e7d1 100644 --- a/packages/client/src/rtc/__tests__/videoLayers.test.ts +++ b/packages/client/src/rtc/__tests__/videoLayers.test.ts @@ -138,7 +138,12 @@ describe('videoLayers', () => { describe('getComputedMaxBitrate', () => { it('should scale target bitrate down if resolution is smaller than target resolution', () => { const targetResolution = { width: 1920, height: 1080, bitrate: 3000000 }; - const scaledBitrate = getComputedMaxBitrate(targetResolution, 1280, 720); + const scaledBitrate = getComputedMaxBitrate( + targetResolution, + 1280, + 720, + undefined, + ); expect(scaledBitrate).toBe(1333333); }); @@ -148,7 +153,12 @@ describe('videoLayers', () => { const targetBitrates = ['f', 'h', 'q'].map((rid) => { const width = targetResolution.width / downscaleFactor; const height = targetResolution.height / downscaleFactor; - const bitrate = getComputedMaxBitrate(targetResolution, width, height); + const bitrate = getComputedMaxBitrate( + targetResolution, + width, + height, + undefined, + ); downscaleFactor *= 2; return { rid, @@ -166,25 +176,45 @@ describe('videoLayers', () => { it('should not scale target bitrate if resolution is larger than target resolution', () => { const targetResolution = { width: 1280, height: 720, bitrate: 1000000 }; - const scaledBitrate = getComputedMaxBitrate(targetResolution, 2560, 1440); + const scaledBitrate = getComputedMaxBitrate( + targetResolution, + 2560, + 1440, + undefined, + ); expect(scaledBitrate).toBe(1000000); }); it('should not scale target bitrate if resolution is equal to target resolution', () => { const targetResolution = { width: 1280, height: 720, bitrate: 1000000 }; - const scaledBitrate = getComputedMaxBitrate(targetResolution, 1280, 720); + const scaledBitrate = getComputedMaxBitrate( + targetResolution, + 1280, + 720, + undefined, + ); expect(scaledBitrate).toBe(1000000); }); it('should handle 0 width and height', () => { const targetResolution = { width: 1280, height: 720, bitrate: 1000000 }; - const scaledBitrate = getComputedMaxBitrate(targetResolution, 0, 0); + const scaledBitrate = getComputedMaxBitrate( + targetResolution, + 0, + 0, + undefined, + ); expect(scaledBitrate).toBe(0); }); it('should handle 4k target resolution', () => { const targetResolution = { width: 3840, height: 2160, bitrate: 15000000 }; - const scaledBitrate = getComputedMaxBitrate(targetResolution, 1280, 720); + const scaledBitrate = getComputedMaxBitrate( + targetResolution, + 1280, + 720, + undefined, + ); expect(scaledBitrate).toBe(1666667); }); }); diff --git a/packages/client/src/rtc/codecs.ts b/packages/client/src/rtc/codecs.ts index cba5ce924d..3e46db9751 100644 --- a/packages/client/src/rtc/codecs.ts +++ b/packages/client/src/rtc/codecs.ts @@ -1,54 +1,88 @@ -import { getLogger } from '../logger'; +import { getOSInfo } from '../client-details'; +/** + * Returns back a list of sorted codecs, with the preferred codec first. + * + * @param kind the kind of codec to get. + * @param preferredCodec the codec to prioritize (vp8, h264, vp9, av1...). + * @param codecToRemove the codec to exclude from the list. + */ export const getPreferredCodecs = ( kind: 'audio' | 'video', preferredCodec: string, codecToRemove?: string, ): RTCRtpCodecCapability[] | undefined => { - const logger = getLogger(['codecs']); - if (!('getCapabilities' in RTCRtpReceiver)) { - logger('warn', 'RTCRtpReceiver.getCapabilities is not supported'); - return; - } - const cap = RTCRtpReceiver.getCapabilities(kind); - if (!cap) return; - const matched: RTCRtpCodecCapability[] = []; - const partialMatched: RTCRtpCodecCapability[] = []; - const unmatched: RTCRtpCodecCapability[] = []; - cap.codecs.forEach((c) => { - const codec = c.mimeType.toLowerCase(); - logger('debug', `Found supported codec: ${codec}`); - const shouldRemoveCodec = - codecToRemove && codec === `${kind}/${codecToRemove.toLowerCase()}`; - if (shouldRemoveCodec) return; - const matchesCodec = codec === `${kind}/${preferredCodec.toLowerCase()}`; - if (!matchesCodec) { - unmatched.push(c); - return; + if (!('getCapabilities' in RTCRtpReceiver)) return; + + const capabilities = RTCRtpReceiver.getCapabilities(kind); + if (!capabilities) return; + + const preferred: RTCRtpCodecCapability[] = []; + const partiallyPreferred: RTCRtpCodecCapability[] = []; + const unpreferred: RTCRtpCodecCapability[] = []; + + const preferredCodecMimeType = `${kind}/${preferredCodec.toLowerCase()}`; + const codecToRemoveMimeType = + codecToRemove && `${kind}/${codecToRemove.toLowerCase()}`; + + for (const codec of capabilities.codecs) { + const codecMimeType = codec.mimeType.toLowerCase(); + + const shouldRemoveCodec = codecMimeType === codecToRemoveMimeType; + if (shouldRemoveCodec) continue; // skip this codec + + const isPreferredCodec = codecMimeType === preferredCodecMimeType; + if (!isPreferredCodec) { + unpreferred.push(codec); + continue; + } + + // h264 is a special case, we want to prioritize the baseline codec with + // profile-level-id is 42e01f and packetization-mode=0 for maximum + // cross-browser compatibility. + // this branch covers the other cases, such as vp8. + if (codecMimeType !== 'video/h264') { + preferred.push(codec); + continue; } - // for h264 codecs that have sdpFmtpLine available, use only if the - // profile-level-id is 42e01f for cross-browser compatibility - if (codec === 'h264') { - if (c.sdpFmtpLine && c.sdpFmtpLine.includes('profile-level-id=42e01f')) { - matched.push(c); - } else { - partialMatched.push(c); - } - return; + + const sdpFmtpLine = codec.sdpFmtpLine; + if (!sdpFmtpLine || !sdpFmtpLine.includes('profile-level-id=42e01f')) { + // this is not the baseline h264 codec, prioritize it lower + partiallyPreferred.push(codec); + continue; } - matched.push(c); - }); - return [...matched, ...partialMatched, ...unmatched]; + // packetization-mode mode is optional; when not present it defaults to 0: + // https://datatracker.ietf.org/doc/html/rfc6184#section-6.2 + if ( + sdpFmtpLine.includes('packetization-mode=0') || + !sdpFmtpLine.includes('packetization-mode') + ) { + preferred.unshift(codec); + } else { + preferred.push(codec); + } + } + + // return a sorted list of codecs, with the preferred codecs first + return [...preferred, ...partiallyPreferred, ...unpreferred]; }; +/** + * Returns a generic SDP for the given direction. + * We use this SDP to send it as part of our JoinRequest so that the SFU + * can use it to determine client's codec capabilities. + * + * @param direction the direction of the transceiver. + */ export const getGenericSdp = async (direction: RTCRtpTransceiverDirection) => { const tempPc = new RTCPeerConnection(); tempPc.addTransceiver('video', { direction }); tempPc.addTransceiver('audio', { direction }); const offer = await tempPc.createOffer(); - let sdp = offer.sdp ?? ''; + const sdp = offer.sdp ?? ''; tempPc.getTransceivers().forEach((t) => { t.stop?.(); @@ -56,3 +90,16 @@ export const getGenericSdp = async (direction: RTCRtpTransceiverDirection) => { tempPc.close(); return sdp; }; + +/** + * Returns the optimal codec for RN. + */ +export const getRNOptimalCodec = () => { + const osName = getOSInfo()?.name.toLowerCase(); + // in ipads it was noticed that if vp8 codec is used + // then the bytes sent is 0 in the outbound-rtp + // so we are forcing h264 codec for ipads + if (osName === 'ipados') return 'h264'; + if (osName === 'android') return 'vp8'; + return undefined; +}; diff --git a/packages/client/src/rtc/videoLayers.ts b/packages/client/src/rtc/videoLayers.ts index 80c83014d6..445c2752c6 100644 --- a/packages/client/src/rtc/videoLayers.ts +++ b/packages/client/src/rtc/videoLayers.ts @@ -1,4 +1,4 @@ -import { PublishOptions, ScreenShareSettings } from '../types'; +import { PublishOptions } from '../types'; import { TargetResolutionResponse } from '../gen/shims'; export type OptimalVideoLayer = RTCRtpEncodingParameters & { @@ -25,20 +25,30 @@ const defaultBitratePerRid: Record = { * * @param videoTrack the video track to find optimal layers for. * @param targetResolution the expected target resolution. - * @param options the publish options. + * @param publishOptions the publish options for the track. */ export const findOptimalVideoLayers = ( videoTrack: MediaStreamTrack, targetResolution: TargetResolutionResponse = defaultTargetResolution, - options: PublishOptions = {}, + publishOptions?: PublishOptions, ) => { const optimalVideoLayers: OptimalVideoLayer[] = []; const settings = videoTrack.getSettings(); const { width: w = 0, height: h = 0 } = settings; - - const maxBitrate = getComputedMaxBitrate(targetResolution, w, h); + const { + preferredCodec, + scalabilityMode, + preferredBitrate, + bitrateDownscaleFactor = 2, + } = publishOptions || {}; + const maxBitrate = getComputedMaxBitrate( + targetResolution, + w, + h, + preferredBitrate, + ); let downscaleFactor = 1; - const { preferredCodec, scalabilityMode } = options; + let bitrateFactor = 1; (preferredCodec === 'vp9' || preferredCodec === 'av1' ? ['q'] : ['f', 'h', 'q'] @@ -52,7 +62,7 @@ export const findOptimalVideoLayers = ( width: Math.round(w / downscaleFactor), height: Math.round(h / downscaleFactor), maxBitrate: - Math.round(maxBitrate / downscaleFactor) || defaultBitratePerRid[rid], + Math.round(maxBitrate / bitrateFactor) || defaultBitratePerRid[rid], scaleResolutionDownBy: downscaleFactor, maxFramerate: 30, ...(preferredCodec === 'vp9' || preferredCodec === 'av1' @@ -60,6 +70,7 @@ export const findOptimalVideoLayers = ( : null), }); downscaleFactor *= 2; + bitrateFactor *= bitrateDownscaleFactor; }); // for simplicity, we start with all layers enabled, then this function @@ -77,22 +88,29 @@ export const findOptimalVideoLayers = ( * @param targetResolution the target resolution. * @param currentWidth the current width of the track. * @param currentHeight the current height of the track. + * @param preferredBitrate the preferred bitrate for the track. */ export const getComputedMaxBitrate = ( targetResolution: TargetResolutionResponse, currentWidth: number, currentHeight: number, + preferredBitrate: number | undefined, ): number => { // if the current resolution is lower than the target resolution, // we want to proportionally reduce the target bitrate - const { width: targetWidth, height: targetHeight } = targetResolution; + const { + width: targetWidth, + height: targetHeight, + bitrate: targetBitrate, + } = targetResolution; + const bitrate = preferredBitrate || targetBitrate; if (currentWidth < targetWidth || currentHeight < targetHeight) { const currentPixels = currentWidth * currentHeight; const targetPixels = targetWidth * targetHeight; const reductionFactor = currentPixels / targetPixels; - return Math.round(targetResolution.bitrate * reductionFactor); + return Math.round(bitrate * reductionFactor); } - return targetResolution.bitrate; + return bitrate; }; /** @@ -130,9 +148,10 @@ const withSimulcastConstraints = ( export const findOptimalScreenSharingLayers = ( videoTrack: MediaStreamTrack, - preferences?: ScreenShareSettings, + publishOptions?: PublishOptions, defaultMaxBitrate = 3000000, ): OptimalVideoLayer[] => { + const { screenShareSettings: preferences } = publishOptions || {}; const settings = videoTrack.getSettings(); return [ { diff --git a/packages/client/src/stats/stateStoreStatsReporter.ts b/packages/client/src/stats/stateStoreStatsReporter.ts index 99a4af0562..b3bfa4a1ec 100644 --- a/packages/client/src/stats/stateStoreStatsReporter.ts +++ b/packages/client/src/stats/stateStoreStatsReporter.ts @@ -252,7 +252,7 @@ const transform = ( const codec = stats.find( (s) => s.type === 'codec' && s.id === rtcStreamStats.codecId, - ) as { mimeType: string } | undefined; // FIXME OL: incorrect type! + ) as RTCRtpCodec | undefined; const transport = stats.find( (s) => s.type === 'transport' && s.id === rtcStreamStats.transportId, @@ -303,6 +303,7 @@ const getEmptyStats = (stats?: StatsReport): AggregatedStatsReport => { highestFrameWidth: 0, highestFrameHeight: 0, highestFramesPerSecond: 0, + codec: '', timestamp: Date.now(), }; }; @@ -346,6 +347,8 @@ const aggregate = (stats: StatsReport): AggregatedStatsReport => { report.averageRoundTripTimeInMs = Math.round( (report.averageRoundTripTimeInMs / streams.length) * 1000, ); + // we take the first codec we find, as it should be the same for all streams + report.codec = streams[0].codec || ''; } const qualityLimitationReason = [ diff --git a/packages/client/src/stats/types.ts b/packages/client/src/stats/types.ts index 1697777cec..6a1914e6fa 100644 --- a/packages/client/src/stats/types.ts +++ b/packages/client/src/stats/types.ts @@ -29,6 +29,7 @@ export type AggregatedStatsReport = { highestFrameWidth: number; highestFrameHeight: number; highestFramesPerSecond: number; + codec: string; timestamp: number; rawReport: StatsReport; }; diff --git a/packages/client/src/store/CallState.ts b/packages/client/src/store/CallState.ts index 897bb5cee9..8aa0ccf99e 100644 --- a/packages/client/src/store/CallState.ts +++ b/packages/client/src/store/CallState.ts @@ -698,6 +698,14 @@ export class CallState { return this.getCurrentValue(this.endedAt$); } + /** + * Sets the time when this call has been ended. + * @param endedAt the time when this call has been ended. + */ + setEndedAt = (endedAt: Patch) => { + return this.setCurrentValue(this.endedAtSubject, endedAt); + }; + /** * Will provide the time when this call has been scheduled to start. */ @@ -1008,10 +1016,7 @@ export class CallState { this.startsAtSubject, call.starts_at ? new Date(call.starts_at) : undefined, ); - this.setCurrentValue( - this.endedAtSubject, - call.ended_at ? new Date(call.ended_at) : undefined, - ); + this.setEndedAt(call.ended_at ? new Date(call.ended_at) : undefined); this.setCurrentValue(this.createdBySubject, call.created_by); this.setCurrentValue(this.customSubject, call.custom); this.setCurrentValue(this.egressSubject, call.egress); diff --git a/packages/client/src/types.ts b/packages/client/src/types.ts index 1950e6ae9c..b495b1f434 100644 --- a/packages/client/src/types.ts +++ b/packages/client/src/types.ts @@ -146,9 +146,17 @@ export type SubscriptionChanges = { [sessionId: string]: SubscriptionChange; }; +/** + * A preferred codec to use when publishing a video track. + * @internal + */ +export type PreferredCodec = 'vp8' | 'h264' | 'vp9' | 'av1' | string; + export type PublishOptions = { - preferredCodec?: string; + preferredCodec?: PreferredCodec | null; scalabilityMode?: string; + preferredBitrate?: number; + bitrateDownscaleFactor?: number; screenShareSettings?: ScreenShareSettings; }; diff --git a/packages/react-bindings/CHANGELOG.md b/packages/react-bindings/CHANGELOG.md index 2a8f12efb7..bd1586deb6 100644 --- a/packages/react-bindings/CHANGELOG.md +++ b/packages/react-bindings/CHANGELOG.md @@ -2,6 +2,62 @@ This file was generated using [@jscutlery/semver](https://github.com/jscutlery/semver). +## [1.0.9](https://github.com/GetStream/stream-video-js/compare/@stream-io/video-react-bindings-1.0.8...@stream-io/video-react-bindings-1.0.9) (2024-09-24) + +### Dependency Updates + +* `@stream-io/video-client` updated to version `1.7.3` +## [1.0.8](https://github.com/GetStream/stream-video-js/compare/@stream-io/video-react-bindings-1.0.7...@stream-io/video-react-bindings-1.0.8) (2024-09-20) + +### Dependency Updates + +* `@stream-io/video-client` updated to version `1.7.2` +## [1.0.7](https://github.com/GetStream/stream-video-js/compare/@stream-io/video-react-bindings-1.0.6...@stream-io/video-react-bindings-1.0.7) (2024-09-20) + +### Dependency Updates + +* `@stream-io/video-client` updated to version `1.7.1` + +* `preMajor: false` for stable packages ([#1491](https://github.com/GetStream/stream-video-js/issues/1491)) ([6ed27b9](https://github.com/GetStream/stream-video-js/commit/6ed27b9d1dfebeb9a241f6aa0b55912cce87eef5)) + +## [1.0.6](https://github.com/GetStream/stream-video-js/compare/@stream-io/video-react-bindings-1.0.5...@stream-io/video-react-bindings-1.0.6) (2024-09-19) + +### Dependency Updates + +* `@stream-io/video-client` updated to version `1.7.0` + +### Features + +* React SDK cold-start optimizations ([#1488](https://github.com/GetStream/stream-video-js/issues/1488)) ([972e579](https://github.com/GetStream/stream-video-js/commit/972e5792b5a131a212b1031ade76dcb383897a46)) + +## [1.0.5](https://github.com/GetStream/stream-video-js/compare/@stream-io/video-react-bindings-1.0.4...@stream-io/video-react-bindings-1.0.5) (2024-09-19) + +### Dependency Updates + +* `@stream-io/video-client` updated to version `1.6.5` +## [1.0.4](https://github.com/GetStream/stream-video-js/compare/@stream-io/video-react-bindings-1.0.3...@stream-io/video-react-bindings-1.0.4) (2024-09-13) + +### Dependency Updates + +* `@stream-io/video-client` updated to version `1.6.4` +## [1.0.3](https://github.com/GetStream/stream-video-js/compare/@stream-io/video-react-bindings-1.0.2...@stream-io/video-react-bindings-1.0.3) (2024-09-11) + +### Dependency Updates + +* `@stream-io/video-client` updated to version `1.6.3` +## [1.0.2](https://github.com/GetStream/stream-video-js/compare/@stream-io/video-react-bindings-1.0.1...@stream-io/video-react-bindings-1.0.2) (2024-09-09) + +### Dependency Updates + +* `@stream-io/video-client` updated to version `1.6.2` +## [1.0.1](https://github.com/GetStream/stream-video-js/compare/@stream-io/video-react-bindings-1.0.0...@stream-io/video-react-bindings-1.0.1) (2024-09-05) + +### Dependency Updates + +* `@stream-io/video-client` updated to version `1.6.1` + +* reset releaseAs tags [skip ci] ([6161687](https://github.com/GetStream/stream-video-js/commit/61616870178d6bbc29b22ca3b1a354e5e172c9c3)) + ## [1.0.0](https://github.com/GetStream/stream-video-js/compare/@stream-io/video-react-bindings-0.4.56...@stream-io/video-react-bindings-1.0.0) (2024-09-03) diff --git a/packages/react-bindings/package.json b/packages/react-bindings/package.json index ce4a6fa9a6..451a8701ea 100644 --- a/packages/react-bindings/package.json +++ b/packages/react-bindings/package.json @@ -1,6 +1,6 @@ { "name": "@stream-io/video-react-bindings", - "version": "1.0.0", + "version": "1.0.9", "packageManager": "yarn@3.2.4", "main": "./dist/index.cjs.js", "module": "./dist/index.es.js", @@ -11,6 +11,7 @@ "start": "rollup -c -w", "build": "NODE_ENV=production rollup -c" }, + "sideEffects": false, "files": [ "dist", "src", @@ -34,7 +35,7 @@ "@types/react": "^18.3.2", "react": "^18.3.1", "rimraf": "^5.0.7", - "rollup": "^3.29.4", + "rollup": "^4.22.0", "typescript": "^5.5.2" } } diff --git a/packages/react-bindings/project.json b/packages/react-bindings/project.json index 6a4646f1c0..39f0b8705e 100644 --- a/packages/react-bindings/project.json +++ b/packages/react-bindings/project.json @@ -9,16 +9,16 @@ "baseBranch": "main", "preset": { "name": "conventionalcommits", - "preMajor": true, + "preMajor": false, "types": [ - {"type": "feat", "section": "Features"}, - {"type": "fix", "section": "Bug Fixes"}, - {"type": "chore", "hidden": false}, - {"type": "docs", "hidden": true}, - {"type": "style", "hidden": true}, - {"type": "refactor", "hidden": true}, - {"type": "perf", "section": "Features"}, - {"type": "test", "hidden": true} + { "type": "feat", "section": "Features" }, + { "type": "fix", "section": "Bug Fixes" }, + { "type": "chore", "hidden": false }, + { "type": "docs", "hidden": true }, + { "type": "style", "hidden": true }, + { "type": "refactor", "hidden": true }, + { "type": "perf", "section": "Features" }, + { "type": "test", "hidden": true } ] }, "trackDeps": true, diff --git a/packages/react-native-sdk/CHANGELOG.md b/packages/react-native-sdk/CHANGELOG.md index 19772aef86..17083c2476 100644 --- a/packages/react-native-sdk/CHANGELOG.md +++ b/packages/react-native-sdk/CHANGELOG.md @@ -2,6 +2,103 @@ This file was generated using [@jscutlery/semver](https://github.com/jscutlery/semver). +## [1.0.13](https://github.com/GetStream/stream-video-js/compare/@stream-io/video-react-native-sdk-1.0.12...@stream-io/video-react-native-sdk-1.0.13) (2024-09-24) + +### Dependency Updates + +* `@stream-io/video-client` updated to version `1.7.3` +* `@stream-io/video-react-bindings` updated to version `1.0.9` +## [1.0.12](https://github.com/GetStream/stream-video-js/compare/@stream-io/video-react-native-sdk-1.0.11...@stream-io/video-react-native-sdk-1.0.12) (2024-09-20) + +### Dependency Updates + +* `@stream-io/video-client` updated to version `1.7.2` +* `@stream-io/video-react-bindings` updated to version `1.0.8` +## [1.0.11](https://github.com/GetStream/stream-video-js/compare/@stream-io/video-react-native-sdk-1.0.10...@stream-io/video-react-native-sdk-1.0.11) (2024-09-20) + +### Dependency Updates + +* `@stream-io/video-client` updated to version `1.7.1` +* `@stream-io/video-react-bindings` updated to version `1.0.7` + +* `preMajor: false` for stable packages ([#1491](https://github.com/GetStream/stream-video-js/issues/1491)) ([6ed27b9](https://github.com/GetStream/stream-video-js/commit/6ed27b9d1dfebeb9a241f6aa0b55912cce87eef5)) + +## [1.0.10](https://github.com/GetStream/stream-video-js/compare/@stream-io/video-react-native-sdk-1.0.9...@stream-io/video-react-native-sdk-1.0.10) (2024-09-19) + +### Dependency Updates + +* `@stream-io/video-client` updated to version `1.7.0` +* `@stream-io/video-react-bindings` updated to version `1.0.6` +## [1.0.9](https://github.com/GetStream/stream-video-js/compare/@stream-io/video-react-native-sdk-1.0.8...@stream-io/video-react-native-sdk-1.0.9) (2024-09-19) + +### Dependency Updates + +* `@stream-io/video-client` updated to version `1.6.5` +* `@stream-io/video-react-bindings` updated to version `1.0.5` +## [1.0.8](https://github.com/GetStream/stream-video-js/compare/@stream-io/video-react-native-sdk-1.0.7...@stream-io/video-react-native-sdk-1.0.8) (2024-09-13) + +### Dependency Updates + +* `@stream-io/video-client` updated to version `1.6.4` +* `@stream-io/video-react-bindings` updated to version `1.0.4` +## [1.0.7](https://github.com/GetStream/stream-video-js/compare/@stream-io/video-react-native-sdk-1.0.6...@stream-io/video-react-native-sdk-1.0.7) (2024-09-11) + + +### Bug Fixes + +* replace dataSync with shortService for android foreground service type ([#1485](https://github.com/GetStream/stream-video-js/issues/1485)) ([2681535](https://github.com/GetStream/stream-video-js/commit/26815357f66b43f94e1d939fb30a6cdb85c77a5f)) + +## [1.0.6](https://github.com/GetStream/stream-video-js/compare/@stream-io/video-react-native-sdk-1.0.5...@stream-io/video-react-native-sdk-1.0.6) (2024-09-11) + +### Dependency Updates + +* `@stream-io/video-client` updated to version `1.6.3` +* `@stream-io/video-react-bindings` updated to version `1.0.3` +## [1.0.5](https://github.com/GetStream/stream-video-js/compare/@stream-io/video-react-native-sdk-1.0.4...@stream-io/video-react-native-sdk-1.0.5) (2024-09-10) + +### Dependency Updates + +* `@stream-io/video-filters-react-native` updated to version `0.2.4` + +### Bug Fixes + +* broken ios autolinking on react native 0.68 ([#1483](https://github.com/GetStream/stream-video-js/issues/1483)) ([734a361](https://github.com/GetStream/stream-video-js/commit/734a3615bc185fc17c7d7afc812c662a9bec92e7)) + +## [1.0.4](https://github.com/GetStream/stream-video-js/compare/@stream-io/video-react-native-sdk-1.0.3...@stream-io/video-react-native-sdk-1.0.4) (2024-09-09) + +### Dependency Updates + +* `@stream-io/video-client` updated to version `1.6.2` +* `@stream-io/video-react-bindings` updated to version `1.0.2` +## [1.0.3](https://github.com/GetStream/stream-video-js/compare/@stream-io/video-react-native-sdk-1.0.2...@stream-io/video-react-native-sdk-1.0.3) (2024-09-06) + +### Dependency Updates + +* `@stream-io/video-filters-react-native` updated to version `0.2.3` + +### Bug Fixes + +* set min ios version to 13.0 for the podspecs ([b6d8c16](https://github.com/GetStream/stream-video-js/commit/b6d8c163b66f75e12d0316abe46eebc6b017c29a)) + +## [1.0.2](https://github.com/GetStream/stream-video-js/compare/@stream-io/video-react-native-sdk-1.0.1...@stream-io/video-react-native-sdk-1.0.2) (2024-09-05) + +### Dependency Updates + +* `@stream-io/video-client` updated to version `1.6.1` +* `@stream-io/video-react-bindings` updated to version `1.0.1` +## [1.0.1](https://github.com/GetStream/stream-video-js/compare/@stream-io/video-react-native-sdk-1.0.0...@stream-io/video-react-native-sdk-1.0.1) (2024-09-05) + +### Dependency Updates + +* `@stream-io/video-filters-react-native` updated to version `0.2.2` + +* reset releaseAs tags [skip ci] ([6161687](https://github.com/GetStream/stream-video-js/commit/61616870178d6bbc29b22ca3b1a354e5e172c9c3)) + + +### Bug Fixes + +* **ios:** if min ios version is not present default to 12 ([9279d59](https://github.com/GetStream/stream-video-js/commit/9279d59e861a51c723a0f17229c39dae946ee664)) + ## [1.0.0](https://github.com/GetStream/stream-video-js/compare/@stream-io/video-react-native-sdk-0.10.6...@stream-io/video-react-native-sdk-1.0.0) (2024-09-03) diff --git a/packages/react-native-sdk/docusaurus/docs/reactnative/03-core/03-calling-state-and-lifecycle.mdx b/packages/react-native-sdk/docusaurus/docs/reactnative/03-core/03-calling-state-and-lifecycle.mdx index 5b596a5cb3..da275db188 100644 --- a/packages/react-native-sdk/docusaurus/docs/reactnative/03-core/03-calling-state-and-lifecycle.mdx +++ b/packages/react-native-sdk/docusaurus/docs/reactnative/03-core/03-calling-state-and-lifecycle.mdx @@ -123,40 +123,23 @@ there are few more states that you should handle. To understand these values better, here is a hypothetical example of how these values can be mapped: ```tsx -import { CallingState, useCallStateHooks } from '@stream-io/video-react-sdk'; +import { CallingState, useCallStateHooks, CallContent } from '@stream-io/video-react-native-sdk'; + +const call = useCall(); +const isCallCreatedByMe = call?.isCreatedByMe; const { useCallCallingState } = useCallStateHooks(); const callingState = useCallCallingState(); switch (callingState) { - case CallingState.UNKNOWN: - case CallingState.IDLE: - return ; - case CallingState.RINGING: - return ; - - case CallingState.JOINING: - return ; - - case CallingState.JOINED: - return ; - + return isCallCreatedByMe + ? : case CallingState.LEFT: - return ; - - case CallingState.RECONNECTING: - case CallingState.MIGRATING: - return ; - - case CallingState.RECONNECTING_FAILED: - return ; - - case CallingState.OFFLINE: - return ; - + return + case CallingState.IDLE: + return default: - const exhaustiveCheck: never = callingState; - throw new Error(`Unknown calling state: ${exhaustiveCheck}`); + return } ``` diff --git a/packages/react-native-sdk/docusaurus/docs/reactnative/03-core/06-querying-calls.mdx b/packages/react-native-sdk/docusaurus/docs/reactnative/03-core/06-querying-calls.mdx index 66dc59dca5..e0603d9234 100644 --- a/packages/react-native-sdk/docusaurus/docs/reactnative/03-core/06-querying-calls.mdx +++ b/packages/react-native-sdk/docusaurus/docs/reactnative/03-core/06-querying-calls.mdx @@ -89,7 +89,7 @@ const { calls } = await client.queryCalls({ }); ``` -### Calls that live / currently have participants +### Calls that are ongoing / currently have participants ```typescript import { StreamVideoClient } from '@stream-io/video-react-native-sdk'; diff --git a/packages/react-native-sdk/docusaurus/docs/reactnative/03-core/07-query-call-members.mdx b/packages/react-native-sdk/docusaurus/docs/reactnative/03-core/07-query-call-members.mdx new file mode 100644 index 0000000000..8ff806876d --- /dev/null +++ b/packages/react-native-sdk/docusaurus/docs/reactnative/03-core/07-query-call-members.mdx @@ -0,0 +1,58 @@ +--- +id: querying-call-members +title: Querying Call Members +description: How to query call members +--- + +import FilterConditions from '../../../shared/_filter-operators.mdx'; +import CallMemberFilters from '../../../shared/video/_call-member-filters.mdx'; +import CallMemberSort from '../../../shared/video/_call-member-sort-fields.mdx'; + +When you create or join a call you get a list of call members, however this can return at most 100 members: + +```typescript +// The maximum limit is 100 +// The default limit is 25 +await call.getOrCreate({ members_limit: 100 }); + +// or +await call.join({ members_limit: 100 }); +``` + +To get the complete list of call members the Stream API allows you to query, filter and sort members of a call using a paginated list. + +## Examples + +Below are a few examples of how to use this API: + +```typescript +const result = await call.queryMembers(); + +// sorting and pagination +const queryMembersReq = { + sort: [{ field: 'user_id', direction: 1 }], + limit: 2, +}; +const result = await call.queryMembers(queryMembersReq); + +// loading the next page +const result = await call.queryMembers({ + ...queryMembersReq, + next: result.next, +}); + +// filtering +const result = await call.queryMembers({ + filter_conditions: { role: { $eq: 'admin' } }, +}); +``` + +## Sort options + + + +## Filter options + + + + diff --git a/packages/react-native-sdk/docusaurus/docs/reactnative/03-core/07-keeping-call-alive.mdx b/packages/react-native-sdk/docusaurus/docs/reactnative/03-core/08-keeping-call-alive.mdx similarity index 100% rename from packages/react-native-sdk/docusaurus/docs/reactnative/03-core/07-keeping-call-alive.mdx rename to packages/react-native-sdk/docusaurus/docs/reactnative/03-core/08-keeping-call-alive.mdx diff --git a/packages/react-native-sdk/docusaurus/docs/reactnative/06-advanced/04-push-notifications/03-ringing-setup/01-react-native.mdx b/packages/react-native-sdk/docusaurus/docs/reactnative/06-advanced/04-push-notifications/03-ringing-setup/01-react-native.mdx index 2b50e6c44e..b8683c361b 100644 --- a/packages/react-native-sdk/docusaurus/docs/reactnative/06-advanced/04-push-notifications/03-ringing-setup/01-react-native.mdx +++ b/packages/react-native-sdk/docusaurus/docs/reactnative/06-advanced/04-push-notifications/03-ringing-setup/01-react-native.mdx @@ -25,15 +25,16 @@ Please follow the below guides for adding appropriate push providers to Stream: ```bash title=Terminal yarn add @react-native-firebase/app yarn add @react-native-firebase/messaging +yarn add @notifee/react-native yarn add react-native-callkeep yarn add react-native-voip-push-notification -yarn add @notifee/react-native npx pod-install ``` So what did we install precisely? - `@react-native-firebase/app` and `@react-native-firebase/messaging` for handling incoming [Firebase Cloud Messaging](https://firebase.google.com/docs/cloud-messaging) notifications on Android. +- `@notifee/react-native` - is used to customize and display push notifications. - `react-native-voip-push-notification` for handling incoming [PushKit](https://developer.apple.com/documentation/pushkit) notifications on iOS. - `react-native-callkeep` for reporting incoming calls to iOS [CallKit](https://developer.apple.com/documentation/callkit). @@ -77,13 +78,12 @@ Add the following in `AndroidManifest.xml`: - + android:foregroundServiceType="shortService" /> ``` ### Request for notification permissions diff --git a/packages/react-native-sdk/docusaurus/docs/reactnative/06-advanced/04-push-notifications/03-ringing-setup/02-expo.mdx b/packages/react-native-sdk/docusaurus/docs/reactnative/06-advanced/04-push-notifications/03-ringing-setup/02-expo.mdx index 33e5aaf947..c0643bf71f 100644 --- a/packages/react-native-sdk/docusaurus/docs/reactnative/06-advanced/04-push-notifications/03-ringing-setup/02-expo.mdx +++ b/packages/react-native-sdk/docusaurus/docs/reactnative/06-advanced/04-push-notifications/03-ringing-setup/02-expo.mdx @@ -25,16 +25,17 @@ Please follow the below guides for adding appropriate push providers to Stream: ```bash title=Terminal npx expo install @react-native-firebase/app npx expo install @react-native-firebase/messaging -npx expo install react-native-voip-push-notification -npx expo install react-native-callkeep npx expo install @notifee/react-native +npx expo install react-native-voip-push-notification +npx expo install react-native-callkeep @config-plugins/react-native-callkeep ``` So what did we install precisely? - `@react-native-firebase/app` and `@react-native-firebase/messaging` for handling incoming [Firebase Cloud Messaging](https://firebase.google.com/docs/cloud-messaging) notifications on Android. +- `@notifee/react-native` - is used to customize and display push notifications. - `react-native-voip-push-notification` for handling incoming [PushKit](https://developer.apple.com/documentation/pushkit) notifications on iOS. -- `react-native-callkeep` for reporting incoming calls to iOS [CallKit](https://developer.apple.com/documentation/callkit). +- `react-native-callkeep` and `@config-plugins/react-native-callkeep` for reporting incoming calls to iOS [CallKit](https://developer.apple.com/documentation/callkit). ## Add Firebase credentials diff --git a/packages/react-native-sdk/docusaurus/docs/reactnative/06-advanced/04-push-notifications/04-other-than-ringing-setup/01-react-native.mdx b/packages/react-native-sdk/docusaurus/docs/reactnative/06-advanced/04-push-notifications/04-other-than-ringing-setup/01-react-native.mdx index aaaffc498e..92f8cb4bf7 100644 --- a/packages/react-native-sdk/docusaurus/docs/reactnative/06-advanced/04-push-notifications/04-other-than-ringing-setup/01-react-native.mdx +++ b/packages/react-native-sdk/docusaurus/docs/reactnative/06-advanced/04-push-notifications/04-other-than-ringing-setup/01-react-native.mdx @@ -19,14 +19,15 @@ Please follow the below guides for adding appropriate push providers to Stream: ```bash title=Terminal yarn add @react-native-firebase/app yarn add @react-native-firebase/messaging -yarn add @react-native-community/push-notification-ios yarn add @notifee/react-native +yarn add @react-native-community/push-notification-ios npx pod-install ``` So what did we install precisely? - `@react-native-firebase/app` and `@react-native-firebase/messaging` for handling incoming [Firebase Cloud Messaging](https://firebase.google.com/docs/cloud-messaging) notifications on Android. +- `@notifee/react-native` - is used to customize and display push notifications. - `@react-native-community/push-notification-ios` for handling [Apple Push Notification service (APNs)](https://developer.apple.com/documentation/usernotifications/registering_your_app_with_apns) notifications on iOS. ## Android-specific setup diff --git a/packages/react-native-sdk/docusaurus/docs/reactnative/06-advanced/04-push-notifications/04-other-than-ringing-setup/02-expo.mdx b/packages/react-native-sdk/docusaurus/docs/reactnative/06-advanced/04-push-notifications/04-other-than-ringing-setup/02-expo.mdx index e7c26e00d2..a322e721ae 100644 --- a/packages/react-native-sdk/docusaurus/docs/reactnative/06-advanced/04-push-notifications/04-other-than-ringing-setup/02-expo.mdx +++ b/packages/react-native-sdk/docusaurus/docs/reactnative/06-advanced/04-push-notifications/04-other-than-ringing-setup/02-expo.mdx @@ -25,6 +25,7 @@ npx expo install @notifee/react-native So what did we install precisely? - `expo-notifications` and `expo-task-manager` for handling incoming [Firebase Cloud Messaging](https://firebase.google.com/docs/cloud-messaging) notifications on Android and iOS. +- `@notifee/react-native` - is used to customize and display push notifications. ## Add Firebase credentials diff --git a/packages/react-native-sdk/expo-config-plugin/README.md b/packages/react-native-sdk/expo-config-plugin/README.md index d0c609fef0..8cf1e3f9d4 100644 --- a/packages/react-native-sdk/expo-config-plugin/README.md +++ b/packages/react-native-sdk/expo-config-plugin/README.md @@ -45,10 +45,10 @@ public class MainApplication extends Application implements ReactApplication { Add service named `app.notifee.core.ForegroundService`. ```xml - + ``` -The `@stream-io/video-react-native-sdk` also adds the appropriate android permissions such as `POST_NOTIFICATIONS`, `FOREGROUND_SERVICE`, `FOREGROUND_SERVICE_MICROPHONE`, `BLUETOOTH`, `BLUETOOTH_ADMIN` and `BLUETOOTH_CONNECT` to the `AndroidManifest.xml`. +The `@stream-io/video-react-native-sdk` also adds the appropriate android permissions such as `POST_NOTIFICATIONS`, `FOREGROUND_SERVICE`, `BLUETOOTH`, `BLUETOOTH_ADMIN` and `BLUETOOTH_CONNECT` to the `AndroidManifest.xml`. ### iOS diff --git a/packages/react-native-sdk/expo-config-plugin/__tests__/withAndroidPermissions.test.ts b/packages/react-native-sdk/expo-config-plugin/__tests__/withAndroidPermissions.test.ts index 9be3c33dca..3814ad46c6 100644 --- a/packages/react-native-sdk/expo-config-plugin/__tests__/withAndroidPermissions.test.ts +++ b/packages/react-native-sdk/expo-config-plugin/__tests__/withAndroidPermissions.test.ts @@ -27,7 +27,6 @@ describe('withStreamVideoReactNativeSDKAndroidPermissions', () => { expect.arrayContaining([ 'android.permission.POST_NOTIFICATIONS', 'android.permission.FOREGROUND_SERVICE', - 'android.permission.FOREGROUND_SERVICE_DATA_SYNC', 'android.permission.FOREGROUND_SERVICE_MEDIA_PROJECTION', 'android.permission.BLUETOOTH', 'android.permission.BLUETOOTH_CONNECT', diff --git a/packages/react-native-sdk/expo-config-plugin/src/withAndroidManifest.ts b/packages/react-native-sdk/expo-config-plugin/src/withAndroidManifest.ts index 0ef7f9a60d..0d5087763d 100644 --- a/packages/react-native-sdk/expo-config-plugin/src/withAndroidManifest.ts +++ b/packages/react-native-sdk/expo-config-plugin/src/withAndroidManifest.ts @@ -20,9 +20,9 @@ function getNotifeeService() { + android:foregroundServiceType="shortService" /> */ - const foregroundServiceType = 'dataSync'; + const foregroundServiceType = 'shortService'; let head = prefixAndroidKeys({ name: 'app.notifee.core.ForegroundService', stopWithTask: 'true', diff --git a/packages/react-native-sdk/expo-config-plugin/src/withAndroidPermissions.ts b/packages/react-native-sdk/expo-config-plugin/src/withAndroidPermissions.ts index 1f0b1fc7aa..ed2fddbcae 100644 --- a/packages/react-native-sdk/expo-config-plugin/src/withAndroidPermissions.ts +++ b/packages/react-native-sdk/expo-config-plugin/src/withAndroidPermissions.ts @@ -14,9 +14,6 @@ const withStreamVideoReactNativeSDKAndroidPermissions: ConfigPlugin< 'android.permission.POST_NOTIFICATIONS', 'android.permission.FOREGROUND_SERVICE' ); - if (props?.ringingPushNotifications) { - permissions.push('android.permission.FOREGROUND_SERVICE_DATA_SYNC'); - } if (props?.enableScreenshare) { permissions.push( 'android.permission.FOREGROUND_SERVICE_MEDIA_PROJECTION' diff --git a/packages/react-native-sdk/ios/StreamVideoReactNative.xcodeproj/project.pbxproj b/packages/react-native-sdk/ios/StreamVideoReactNative.xcodeproj/project.pbxproj new file mode 100644 index 0000000000..b4e9b00ec1 --- /dev/null +++ b/packages/react-native-sdk/ios/StreamVideoReactNative.xcodeproj/project.pbxproj @@ -0,0 +1,324 @@ +// !$*UTF8*$! +{ + archiveVersion = 1; + classes = { + }; + objectVersion = 46; + objects = { + +/* Begin PBXCopyFilesBuildPhase section */ + 58B511D91A9E6C8500147676 /* CopyFiles */ = { + isa = PBXCopyFilesBuildPhase; + buildActionMask = 2147483647; + dstPath = "include/$(PRODUCT_NAME)"; + dstSubfolderSpec = 16; + files = ( + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXCopyFilesBuildPhase section */ + +/* Begin PBXFileReference section */ + 134814201AA4EA6300B7C361 /* libStreamVideoReactNative.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = libStreamVideoReactNative.a; sourceTree = BUILT_PRODUCTS_DIR; }; + B3E7B5891CC2AC0600A0062D /* StreamVideoReactNative.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = StreamVideoReactNative.m; sourceTree = ""; }; + D7A6507C28C3C54500AC4DB2 /* StreamVideoReactNative.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = StreamVideoReactNative.h; sourceTree = ""; }; + DDCF7DC92C90359D00420842 /* RTCViewPipManager.mm */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; path = RTCViewPipManager.mm; sourceTree = ""; }; + DDCF7DCA2C90359D00420842 /* RTCViewPip.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = RTCViewPip.swift; sourceTree = ""; }; + DDCF7DCB2C90359D00420842 /* RTCViewPipManager.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = RTCViewPipManager.swift; sourceTree = ""; }; + DDCF7DCD2C90359D00420842 /* StreamPixelBufferPool.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = StreamPixelBufferPool.swift; sourceTree = ""; }; + DDCF7DCE2C90359D00420842 /* StreamPictureInPictureController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = StreamPictureInPictureController.swift; sourceTree = ""; }; + DDCF7DCF2C90359D00420842 /* StreamPixelBufferRepository.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = StreamPixelBufferRepository.swift; sourceTree = ""; }; + DDCF7DD02C90359D00420842 /* StreamBufferTransformer.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = StreamBufferTransformer.swift; sourceTree = ""; }; + DDCF7DD12C90359D00420842 /* StreamAVPictureInPictureVideoCallViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = StreamAVPictureInPictureVideoCallViewController.swift; sourceTree = ""; }; + DDCF7DD22C90359D00420842 /* StreamPictureInPictureVideoRenderer.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = StreamPictureInPictureVideoRenderer.swift; sourceTree = ""; }; + DDCF7DD42C90359D00420842 /* StreamPictureInPictureFixedWindowSizePolicy.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = StreamPictureInPictureFixedWindowSizePolicy.swift; sourceTree = ""; }; + DDCF7DD52C90359D00420842 /* StreamPictureInPictureAdaptiveWindowSizePolicy.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = StreamPictureInPictureAdaptiveWindowSizePolicy.swift; sourceTree = ""; }; + DDCF7DD62C90359D00420842 /* StreamPictureInPictureWindowSizePolicy.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = StreamPictureInPictureWindowSizePolicy.swift; sourceTree = ""; }; + DDCF7DD72C90359D00420842 /* StreamRTCYUVBuffer.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = StreamRTCYUVBuffer.swift; sourceTree = ""; }; + DDCF7DD82C90359D00420842 /* YpCbCrPixelRange+Default.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "YpCbCrPixelRange+Default.swift"; sourceTree = ""; }; + DDCF7DD92C90359D00420842 /* StreamYUVToARGBConversion.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = StreamYUVToARGBConversion.swift; sourceTree = ""; }; + DDCF7DDA2C90359D00420842 /* StreamPictureInPictureTrackStateAdapter.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = StreamPictureInPictureTrackStateAdapter.swift; sourceTree = ""; }; + DDCF7DDB2C90359D00420842 /* SampleBufferVideoCallView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SampleBufferVideoCallView.swift; sourceTree = ""; }; + F4FF95D5245B92E700C19C63 /* StreamVideoReactNative-Bridging-Header.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = "StreamVideoReactNative-Bridging-Header.h"; sourceTree = ""; }; +/* End PBXFileReference section */ + +/* Begin PBXFrameworksBuildPhase section */ + 58B511D81A9E6C8500147676 /* Frameworks */ = { + isa = PBXFrameworksBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXFrameworksBuildPhase section */ + +/* Begin PBXGroup section */ + 134814211AA4EA7D00B7C361 /* Products */ = { + isa = PBXGroup; + children = ( + 134814201AA4EA6300B7C361 /* libStreamVideoReactNative.a */, + ); + name = Products; + sourceTree = ""; + }; + 58B511D21A9E6C8500147676 = { + isa = PBXGroup; + children = ( + DDCF7DCC2C90359D00420842 /* PictureInPicture */, + DDCF7DCA2C90359D00420842 /* RTCViewPip.swift */, + DDCF7DC92C90359D00420842 /* RTCViewPipManager.mm */, + DDCF7DCB2C90359D00420842 /* RTCViewPipManager.swift */, + B3E7B5891CC2AC0600A0062D /* StreamVideoReactNative.m */, + D7A6507C28C3C54500AC4DB2 /* StreamVideoReactNative.h */, + F4FF95D5245B92E700C19C63 /* StreamVideoReactNative-Bridging-Header.h */, + 134814211AA4EA7D00B7C361 /* Products */, + ); + sourceTree = ""; + }; + DDCF7DCC2C90359D00420842 /* PictureInPicture */ = { + isa = PBXGroup; + children = ( + DDCF7DCD2C90359D00420842 /* StreamPixelBufferPool.swift */, + DDCF7DCE2C90359D00420842 /* StreamPictureInPictureController.swift */, + DDCF7DCF2C90359D00420842 /* StreamPixelBufferRepository.swift */, + DDCF7DD02C90359D00420842 /* StreamBufferTransformer.swift */, + DDCF7DD12C90359D00420842 /* StreamAVPictureInPictureVideoCallViewController.swift */, + DDCF7DD22C90359D00420842 /* StreamPictureInPictureVideoRenderer.swift */, + DDCF7DD32C90359D00420842 /* WindowSizePolicy */, + DDCF7DD72C90359D00420842 /* StreamRTCYUVBuffer.swift */, + DDCF7DD82C90359D00420842 /* YpCbCrPixelRange+Default.swift */, + DDCF7DD92C90359D00420842 /* StreamYUVToARGBConversion.swift */, + DDCF7DDA2C90359D00420842 /* StreamPictureInPictureTrackStateAdapter.swift */, + DDCF7DDB2C90359D00420842 /* SampleBufferVideoCallView.swift */, + ); + path = PictureInPicture; + sourceTree = ""; + }; + DDCF7DD32C90359D00420842 /* WindowSizePolicy */ = { + isa = PBXGroup; + children = ( + DDCF7DD42C90359D00420842 /* StreamPictureInPictureFixedWindowSizePolicy.swift */, + DDCF7DD52C90359D00420842 /* StreamPictureInPictureAdaptiveWindowSizePolicy.swift */, + DDCF7DD62C90359D00420842 /* StreamPictureInPictureWindowSizePolicy.swift */, + ); + path = WindowSizePolicy; + sourceTree = ""; + }; +/* End PBXGroup section */ + +/* Begin PBXNativeTarget section */ + 58B511DA1A9E6C8500147676 /* StreamVideoReactNative */ = { + isa = PBXNativeTarget; + buildConfigurationList = 58B511EF1A9E6C8500147676 /* Build configuration list for PBXNativeTarget "StreamVideoReactNative" */; + buildPhases = ( + 58B511D71A9E6C8500147676 /* Sources */, + 58B511D81A9E6C8500147676 /* Frameworks */, + 58B511D91A9E6C8500147676 /* CopyFiles */, + ); + buildRules = ( + ); + dependencies = ( + ); + name = StreamVideoReactNative; + productName = RCTDataManager; + productReference = 134814201AA4EA6300B7C361 /* libStreamVideoReactNative.a */; + productType = "com.apple.product-type.library.static"; + }; +/* End PBXNativeTarget section */ + +/* Begin PBXProject section */ + 58B511D31A9E6C8500147676 /* Project object */ = { + isa = PBXProject; + attributes = { + LastUpgradeCheck = 0920; + ORGANIZATIONNAME = Facebook; + TargetAttributes = { + 58B511DA1A9E6C8500147676 = { + CreatedOnToolsVersion = 6.1.1; + }; + }; + }; + buildConfigurationList = 58B511D61A9E6C8500147676 /* Build configuration list for PBXProject "StreamVideoReactNative" */; + compatibilityVersion = "Xcode 3.2"; + developmentRegion = English; + hasScannedForEncodings = 0; + knownRegions = ( + English, + en, + ); + mainGroup = 58B511D21A9E6C8500147676; + productRefGroup = 58B511D21A9E6C8500147676; + projectDirPath = ""; + projectRoot = ""; + targets = ( + 58B511DA1A9E6C8500147676 /* StreamVideoReactNative */, + ); + }; +/* End PBXProject section */ + +/* Begin PBXSourcesBuildPhase section */ + 58B511D71A9E6C8500147676 /* Sources */ = { + isa = PBXSourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXSourcesBuildPhase section */ + +/* Begin XCBuildConfiguration section */ + 58B511ED1A9E6C8500147676 /* Debug */ = { + isa = XCBuildConfiguration; + buildSettings = { + ALWAYS_SEARCH_USER_PATHS = NO; + CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x"; + CLANG_CXX_LIBRARY = "libc++"; + CLANG_ENABLE_MODULES = YES; + CLANG_ENABLE_OBJC_ARC = YES; + CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES; + CLANG_WARN_BOOL_CONVERSION = YES; + CLANG_WARN_COMMA = YES; + CLANG_WARN_CONSTANT_CONVERSION = YES; + CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; + CLANG_WARN_EMPTY_BODY = YES; + CLANG_WARN_ENUM_CONVERSION = YES; + CLANG_WARN_INFINITE_RECURSION = YES; + CLANG_WARN_INT_CONVERSION = YES; + CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES; + CLANG_WARN_OBJC_LITERAL_CONVERSION = YES; + CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; + CLANG_WARN_RANGE_LOOP_ANALYSIS = YES; + CLANG_WARN_STRICT_PROTOTYPES = YES; + CLANG_WARN_SUSPICIOUS_MOVE = YES; + CLANG_WARN_UNREACHABLE_CODE = YES; + CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; + COPY_PHASE_STRIP = NO; + ENABLE_STRICT_OBJC_MSGSEND = YES; + ENABLE_TESTABILITY = YES; + GCC_C_LANGUAGE_STANDARD = gnu99; + GCC_DYNAMIC_NO_PIC = NO; + GCC_NO_COMMON_BLOCKS = YES; + GCC_OPTIMIZATION_LEVEL = 0; + GCC_PREPROCESSOR_DEFINITIONS = ( + "DEBUG=1", + "$(inherited)", + ); + GCC_SYMBOLS_PRIVATE_EXTERN = NO; + GCC_WARN_64_TO_32_BIT_CONVERSION = YES; + GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; + GCC_WARN_UNDECLARED_SELECTOR = YES; + GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; + GCC_WARN_UNUSED_FUNCTION = YES; + GCC_WARN_UNUSED_VARIABLE = YES; + IPHONEOS_DEPLOYMENT_TARGET = 13.0; + MTL_ENABLE_DEBUG_INFO = YES; + ONLY_ACTIVE_ARCH = YES; + SDKROOT = iphoneos; + }; + name = Debug; + }; + 58B511EE1A9E6C8500147676 /* Release */ = { + isa = XCBuildConfiguration; + buildSettings = { + ALWAYS_SEARCH_USER_PATHS = NO; + CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x"; + CLANG_CXX_LIBRARY = "libc++"; + CLANG_ENABLE_MODULES = YES; + CLANG_ENABLE_OBJC_ARC = YES; + CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES; + CLANG_WARN_BOOL_CONVERSION = YES; + CLANG_WARN_COMMA = YES; + CLANG_WARN_CONSTANT_CONVERSION = YES; + CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; + CLANG_WARN_EMPTY_BODY = YES; + CLANG_WARN_ENUM_CONVERSION = YES; + CLANG_WARN_INFINITE_RECURSION = YES; + CLANG_WARN_INT_CONVERSION = YES; + CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES; + CLANG_WARN_OBJC_LITERAL_CONVERSION = YES; + CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; + CLANG_WARN_RANGE_LOOP_ANALYSIS = YES; + CLANG_WARN_STRICT_PROTOTYPES = YES; + CLANG_WARN_SUSPICIOUS_MOVE = YES; + CLANG_WARN_UNREACHABLE_CODE = YES; + CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; + COPY_PHASE_STRIP = YES; + ENABLE_NS_ASSERTIONS = NO; + ENABLE_STRICT_OBJC_MSGSEND = YES; + GCC_C_LANGUAGE_STANDARD = gnu99; + GCC_NO_COMMON_BLOCKS = YES; + GCC_WARN_64_TO_32_BIT_CONVERSION = YES; + GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; + GCC_WARN_UNDECLARED_SELECTOR = YES; + GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; + GCC_WARN_UNUSED_FUNCTION = YES; + GCC_WARN_UNUSED_VARIABLE = YES; + IPHONEOS_DEPLOYMENT_TARGET = 13.0; + MTL_ENABLE_DEBUG_INFO = NO; + SDKROOT = iphoneos; + VALIDATE_PRODUCT = YES; + }; + name = Release; + }; + 58B511F01A9E6C8500147676 /* Debug */ = { + isa = XCBuildConfiguration; + buildSettings = { + HEADER_SEARCH_PATHS = ( + "$(inherited)", + /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include, + "$(SRCROOT)/../../../React/**", + "$(SRCROOT)/../../react-native/React/**", + ); + LIBRARY_SEARCH_PATHS = "$(inherited)"; + OTHER_LDFLAGS = "-ObjC"; + PRODUCT_NAME = StreamVideoReactNative; + SKIP_INSTALL = YES; + SWIFT_OBJC_BRIDGING_HEADER = "StreamVideoReactNative-Bridging-Header.h"; + SWIFT_OPTIMIZATION_LEVEL = "-Onone"; + SWIFT_VERSION = 5.0; + }; + name = Debug; + }; + 58B511F11A9E6C8500147676 /* Release */ = { + isa = XCBuildConfiguration; + buildSettings = { + HEADER_SEARCH_PATHS = ( + "$(inherited)", + /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include, + "$(SRCROOT)/../../../React/**", + "$(SRCROOT)/../../react-native/React/**", + ); + LIBRARY_SEARCH_PATHS = "$(inherited)"; + OTHER_LDFLAGS = "-ObjC"; + PRODUCT_NAME = StreamVideoReactNative; + SKIP_INSTALL = YES; + SWIFT_OBJC_BRIDGING_HEADER = "StreamVideoReactNative-Bridging-Header.h"; + SWIFT_VERSION = 5.0; + }; + name = Release; + }; +/* End XCBuildConfiguration section */ + +/* Begin XCConfigurationList section */ + 58B511D61A9E6C8500147676 /* Build configuration list for PBXProject "StreamVideoReactNative" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + 58B511ED1A9E6C8500147676 /* Debug */, + 58B511EE1A9E6C8500147676 /* Release */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Release; + }; + 58B511EF1A9E6C8500147676 /* Build configuration list for PBXNativeTarget "StreamVideoReactNative" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + 58B511F01A9E6C8500147676 /* Debug */, + 58B511F11A9E6C8500147676 /* Release */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Release; + }; +/* End XCConfigurationList section */ + }; + rootObject = 58B511D31A9E6C8500147676 /* Project object */; +} diff --git a/packages/react-native-sdk/package.json b/packages/react-native-sdk/package.json index a1890475d7..76486b9cb6 100644 --- a/packages/react-native-sdk/package.json +++ b/packages/react-native-sdk/package.json @@ -1,6 +1,6 @@ { "name": "@stream-io/video-react-native-sdk", - "version": "1.0.0", + "version": "1.0.13", "packageManager": "yarn@3.2.4", "main": "dist/commonjs/index.js", "module": "dist/module/index.js", diff --git a/packages/react-native-sdk/project.json b/packages/react-native-sdk/project.json index e4925e0a20..d2a5602e5e 100644 --- a/packages/react-native-sdk/project.json +++ b/packages/react-native-sdk/project.json @@ -9,16 +9,16 @@ "baseBranch": "main", "preset": { "name": "conventionalcommits", - "preMajor": true, + "preMajor": false, "types": [ - {"type": "feat", "section": "Features"}, - {"type": "fix", "section": "Bug Fixes"}, - {"type": "chore", "hidden": false}, - {"type": "docs", "hidden": true}, - {"type": "style", "hidden": true}, - {"type": "refactor", "hidden": true}, - {"type": "perf", "section": "Features"}, - {"type": "test", "hidden": true} + { "type": "feat", "section": "Features" }, + { "type": "fix", "section": "Bug Fixes" }, + { "type": "chore", "hidden": false }, + { "type": "docs", "hidden": true }, + { "type": "style", "hidden": true }, + { "type": "refactor", "hidden": true }, + { "type": "perf", "section": "Features" }, + { "type": "test", "hidden": true } ] }, "trackDeps": true, diff --git a/packages/react-native-sdk/stream-video-react-native.podspec b/packages/react-native-sdk/stream-video-react-native.podspec index 6b3af55760..cc0725c4a9 100644 --- a/packages/react-native-sdk/stream-video-react-native.podspec +++ b/packages/react-native-sdk/stream-video-react-native.podspec @@ -11,7 +11,7 @@ Pod::Spec.new do |s| s.license = package["license"] s.authors = package["author"] - s.platforms = { :ios => min_ios_version_supported } + s.platforms = { :ios => '13.0' } s.source = { :git => "https://github.com/GetStream/stream-video-js/tree/main/packages/react-native-sdk.git", :tag => "#{s.version}" } s.source_files = "ios/**/*.{h,m,mm,swift}" diff --git a/packages/react-sdk/CHANGELOG.md b/packages/react-sdk/CHANGELOG.md index 498324bce5..693151c4b9 100644 --- a/packages/react-sdk/CHANGELOG.md +++ b/packages/react-sdk/CHANGELOG.md @@ -2,6 +2,74 @@ This file was generated using [@jscutlery/semver](https://github.com/jscutlery/semver). +## [1.4.4](https://github.com/GetStream/stream-video-js/compare/@stream-io/video-react-sdk-1.4.3...@stream-io/video-react-sdk-1.4.4) (2024-10-01) + + +### Bug Fixes + +* React v17 compatibility ([#1503](https://github.com/GetStream/stream-video-js/issues/1503)) ([a1797cf](https://github.com/GetStream/stream-video-js/commit/a1797cf1d62b1a74f0101bbd185b2cc0e1176575)) + +## [1.4.3](https://github.com/GetStream/stream-video-js/compare/@stream-io/video-react-sdk-1.4.2...@stream-io/video-react-sdk-1.4.3) (2024-09-24) + +### Dependency Updates + +* `@stream-io/video-client` updated to version `1.7.3` +* `@stream-io/video-react-bindings` updated to version `1.0.9` +## [1.4.2](https://github.com/GetStream/stream-video-js/compare/@stream-io/video-react-sdk-1.4.1...@stream-io/video-react-sdk-1.4.2) (2024-09-20) + +### Dependency Updates + +* `@stream-io/video-client` updated to version `1.7.2` +* `@stream-io/video-react-bindings` updated to version `1.0.8` +## [1.4.1](https://github.com/GetStream/stream-video-js/compare/@stream-io/video-react-sdk-1.4.0...@stream-io/video-react-sdk-1.4.1) (2024-09-20) + +### Dependency Updates + +* `@stream-io/video-client` updated to version `1.7.1` +* `@stream-io/video-react-bindings` updated to version `1.0.7` +## [1.4.0](https://github.com/GetStream/stream-video-js/compare/@stream-io/video-react-sdk-1.3.6...@stream-io/video-react-sdk-1.4.0) (2024-09-19) + +### Dependency Updates + +* `@stream-io/video-client` updated to version `1.7.0` +* `@stream-io/video-filters-web` updated to version `0.1.4` +* `@stream-io/video-react-bindings` updated to version `1.0.6` +* `@stream-io/audio-filters-web` updated to version `0.2.2` + +### Features + +* React SDK cold-start optimizations ([#1488](https://github.com/GetStream/stream-video-js/issues/1488)) ([972e579](https://github.com/GetStream/stream-video-js/commit/972e5792b5a131a212b1031ade76dcb383897a46)) + +## [1.3.6](https://github.com/GetStream/stream-video-js/compare/@stream-io/video-react-sdk-1.3.5...@stream-io/video-react-sdk-1.3.6) (2024-09-19) + +### Dependency Updates + +* `@stream-io/video-client` updated to version `1.6.5` +* `@stream-io/video-react-bindings` updated to version `1.0.5` +## [1.3.5](https://github.com/GetStream/stream-video-js/compare/@stream-io/video-react-sdk-1.3.4...@stream-io/video-react-sdk-1.3.5) (2024-09-13) + +### Dependency Updates + +* `@stream-io/video-client` updated to version `1.6.4` +* `@stream-io/video-react-bindings` updated to version `1.0.4` +## [1.3.4](https://github.com/GetStream/stream-video-js/compare/@stream-io/video-react-sdk-1.3.3...@stream-io/video-react-sdk-1.3.4) (2024-09-11) + +### Dependency Updates + +* `@stream-io/video-client` updated to version `1.6.3` +* `@stream-io/video-react-bindings` updated to version `1.0.3` +## [1.3.3](https://github.com/GetStream/stream-video-js/compare/@stream-io/video-react-sdk-1.3.2...@stream-io/video-react-sdk-1.3.3) (2024-09-09) + +### Dependency Updates + +* `@stream-io/video-client` updated to version `1.6.2` +* `@stream-io/video-react-bindings` updated to version `1.0.2` +## [1.3.2](https://github.com/GetStream/stream-video-js/compare/@stream-io/video-react-sdk-1.3.1...@stream-io/video-react-sdk-1.3.2) (2024-09-05) + +### Dependency Updates + +* `@stream-io/video-client` updated to version `1.6.1` +* `@stream-io/video-react-bindings` updated to version `1.0.1` ## [1.3.1](https://github.com/GetStream/stream-video-js/compare/@stream-io/video-react-sdk-1.3.0...@stream-io/video-react-sdk-1.3.1) (2024-09-05) diff --git a/packages/react-sdk/docusaurus/docs/React/02-guides/06-querying-calls.mdx b/packages/react-sdk/docusaurus/docs/React/02-guides/06-querying-calls.mdx index ed17663a03..d0c41e3d91 100644 --- a/packages/react-sdk/docusaurus/docs/React/02-guides/06-querying-calls.mdx +++ b/packages/react-sdk/docusaurus/docs/React/02-guides/06-querying-calls.mdx @@ -89,7 +89,7 @@ const { calls } = await client.queryCalls({ }); ``` -### Calls that live / currently have participants +### Calls that are ongoing / currently have participants ```typescript import { StreamVideoClient } from '@stream-io/video-react-sdk'; diff --git a/packages/react-sdk/docusaurus/docs/React/02-guides/07-query-call-members.mdx b/packages/react-sdk/docusaurus/docs/React/02-guides/07-query-call-members.mdx new file mode 100644 index 0000000000..8ff806876d --- /dev/null +++ b/packages/react-sdk/docusaurus/docs/React/02-guides/07-query-call-members.mdx @@ -0,0 +1,58 @@ +--- +id: querying-call-members +title: Querying Call Members +description: How to query call members +--- + +import FilterConditions from '../../../shared/_filter-operators.mdx'; +import CallMemberFilters from '../../../shared/video/_call-member-filters.mdx'; +import CallMemberSort from '../../../shared/video/_call-member-sort-fields.mdx'; + +When you create or join a call you get a list of call members, however this can return at most 100 members: + +```typescript +// The maximum limit is 100 +// The default limit is 25 +await call.getOrCreate({ members_limit: 100 }); + +// or +await call.join({ members_limit: 100 }); +``` + +To get the complete list of call members the Stream API allows you to query, filter and sort members of a call using a paginated list. + +## Examples + +Below are a few examples of how to use this API: + +```typescript +const result = await call.queryMembers(); + +// sorting and pagination +const queryMembersReq = { + sort: [{ field: 'user_id', direction: 1 }], + limit: 2, +}; +const result = await call.queryMembers(queryMembersReq); + +// loading the next page +const result = await call.queryMembers({ + ...queryMembersReq, + next: result.next, +}); + +// filtering +const result = await call.queryMembers({ + filter_conditions: { role: { $eq: 'admin' } }, +}); +``` + +## Sort options + + + +## Filter options + + + + diff --git a/packages/react-sdk/package.json b/packages/react-sdk/package.json index ef6f61cf4a..744abbf113 100644 --- a/packages/react-sdk/package.json +++ b/packages/react-sdk/package.json @@ -1,6 +1,6 @@ { "name": "@stream-io/video-react-sdk", - "version": "1.3.1", + "version": "1.4.4", "packageManager": "yarn@3.2.4", "main": "./dist/index.cjs.js", "module": "./dist/index.es.js", @@ -27,22 +27,25 @@ "LICENSE", "CHANGELOG.md" ], + "sideEffects": [ + "*.css" + ], "dependencies": { - "@floating-ui/react": "^0.26.5", + "@floating-ui/react": "^0.26.24", "@stream-io/video-client": "workspace:*", "@stream-io/video-filters-web": "workspace:*", "@stream-io/video-react-bindings": "workspace:*", - "chart.js": "^4.4.1", + "chart.js": "^4.4.4", "clsx": "^2.0.0", "react-chartjs-2": "^5.2.0" }, "peerDependencies": { - "react": "^18 || ^19", - "react-dom": "^18 || ^19" + "react": "^17 || ^18 || ^19", + "react-dom": "^17 || ^18 || ^19" }, "devDependencies": { "@rollup/plugin-json": "^6.1.0", - "@rollup/plugin-replace": "^5.0.5", + "@rollup/plugin-replace": "^5.0.7", "@rollup/plugin-typescript": "^11.1.6", "@stream-io/audio-filters-web": "workspace:^", "@stream-io/video-styling": "workspace:^", @@ -51,7 +54,7 @@ "react": "^18.3.1", "react-dom": "^18.3.1", "rimraf": "^5.0.7", - "rollup": "^3.29.4", + "rollup": "^4.22.0", "typescript": "^5.5.2" } } diff --git a/packages/react-sdk/rollup.config.mjs b/packages/react-sdk/rollup.config.mjs index 88e0020a8f..66752132f0 100644 --- a/packages/react-sdk/rollup.config.mjs +++ b/packages/react-sdk/rollup.config.mjs @@ -4,6 +4,16 @@ import json from '@rollup/plugin-json'; import pkg from './package.json' with { type: 'json' }; +/** + * @type {import('rollup').OutputOptions['chunkFileNames']} + */ +const chunkFileNames = (chunkInfo) => { + if (chunkInfo.name.includes('CallStatsLatencyChart')) { + return 'latency-chart-[hash].[format].js'; + } + return '[name]-[hash].[format].js'; +}; + /** * @type {import('rollup').RollupOptions} */ @@ -11,14 +21,18 @@ const config = { input: 'index.ts', output: [ { - file: 'dist/index.es.js', + dir: 'dist', + entryFileNames: 'index.es.js', format: 'es', sourcemap: true, + chunkFileNames, }, { - file: 'dist/index.cjs.js', + dir: 'dist', + entryFileNames: 'index.cjs.js', format: 'cjs', sourcemap: true, + chunkFileNames, }, ], external: [ diff --git a/packages/react-sdk/src/components/CallStats/CallStats.tsx b/packages/react-sdk/src/components/CallStats/CallStats.tsx index a0d0801075..dad0a886cd 100644 --- a/packages/react-sdk/src/components/CallStats/CallStats.tsx +++ b/packages/react-sdk/src/components/CallStats/CallStats.tsx @@ -1,52 +1,35 @@ -import { ReactNode, useEffect, useRef, useState } from 'react'; +import { lazy, ReactNode, Suspense, useEffect, useRef, useState } from 'react'; import clsx from 'clsx'; import { AggregatedStatsReport, CallStatsReport, } from '@stream-io/video-client'; import { useCallStateHooks, useI18n } from '@stream-io/video-react-bindings'; - import { useFloating, useHover, useInteractions } from '@floating-ui/react'; - -import { CallStatsLatencyChart } from './CallStatsLatencyChart'; import { Icon } from '../Icon'; -export enum Statuses { +const CallStatsLatencyChart = lazy(() => import('./CallStatsLatencyChart')); + +enum Status { GOOD = 'Good', OK = 'Ok', BAD = 'Bad', } -export type Status = Statuses.GOOD | Statuses.OK | Statuses.BAD; - -const statsStatus = ({ - value, - lowBound, - highBound, -}: { - value: number; - lowBound: number; - highBound: number; -}): Status => { - if (value <= lowBound) { - return Statuses.GOOD; - } - - if (value >= lowBound && value <= highBound) { - return Statuses.OK; - } - - if (value >= highBound) { - return Statuses.BAD; - } - - return Statuses.GOOD; -}; -export const CallStats = (props: { +export type CallStatsProps = { latencyLowBound?: number; latencyHighBound?: number; -}) => { - const { latencyLowBound = 75, latencyHighBound = 400 } = props; + showCodecInfo?: boolean; + LatencyChartSuspenseFallback?: ReactNode; +}; + +export const CallStats = (props: CallStatsProps) => { + const { + latencyLowBound = 75, + latencyHighBound = 400, + showCodecInfo = false, + LatencyChartSuspenseFallback = null, + } = props; const [latencyBuffer, setLatencyBuffer] = useState< Array<{ x: number; y: number }> >(() => { @@ -116,7 +99,9 @@ export const CallStats = (props: {
- + + +
@@ -156,7 +141,7 @@ export const CallStats = (props: { }} /> { +const StatCardExplanation = (props: { description: string }) => { const { description } = props; const [isOpen, setIsOpen] = useState(false); @@ -216,19 +201,14 @@ export const StatCardExplanation = (props: { description: string }) => { ); }; -export const StatsTag = ({ - children, - status = Statuses.GOOD, -}: { - children: ReactNode; - status: Statuses.GOOD | Statuses.OK | Statuses.BAD; -}) => { +const StatsTag = (props: { children: ReactNode; status: Status }) => { + const { children, status } = props; return (
{children}
@@ -245,7 +225,7 @@ export const StatCard = (props: { const { label, value, description, comparison } = props; const { t } = useI18n(); - const status = comparison ? statsStatus(comparison) : undefined; + const status = comparison ? toStatus(comparison) : undefined; return (
@@ -256,11 +236,23 @@ export const StatCard = (props: {
{value}
- {comparison && status && {t(status)}} + {status && {t(status)}}
); }; +const toStatus = (config: { + value: number; + lowBound: number; + highBound: number; +}): Status => { + const { value, lowBound, highBound } = config; + if (value <= lowBound) return Status.GOOD; + if (value >= lowBound && value <= highBound) return Status.OK; + if (value >= highBound) return Status.BAD; + return Status.GOOD; +}; + const toFrameSize = (stats: AggregatedStatsReport) => { const { highestFrameWidth: w, @@ -277,6 +269,13 @@ const toFrameSize = (stats: AggregatedStatsReport) => { return size; }; +const formatCodec = (callStatsReport: CallStatsReport): string => { + const { codec } = callStatsReport.publisherStats; + if (!codec) return ''; + const [, name] = codec.split('/'); + return name ? ` (${name})` : ''; +}; + const calculatePublishBitrate = ( previousCallStatsReport: CallStatsReport, callStatsReport: CallStatsReport, diff --git a/packages/react-sdk/src/components/CallStats/CallStatsLatencyChart.tsx b/packages/react-sdk/src/components/CallStats/CallStatsLatencyChart.tsx index 8fd0a06fb8..1495462d23 100644 --- a/packages/react-sdk/src/components/CallStats/CallStatsLatencyChart.tsx +++ b/packages/react-sdk/src/components/CallStats/CallStatsLatencyChart.tsx @@ -10,9 +10,12 @@ import { import { Line } from 'react-chartjs-2'; import { useMemo } from 'react'; +// NOTE: this is a side effect by definition, but this component is +// isolated in a separate chunk, and it won't affect the rest of the app. +// See CallStats.tsx for more details. ChartJS.register(CategoryScale, LinearScale, LineElement, PointElement); -export const CallStatsLatencyChart = (props: { +const CallStatsLatencyChart = (props: { values: Array<{ x: number; y: number }>; }) => { const { values } = props; @@ -35,46 +38,7 @@ export const CallStatsLatencyChart = (props: { ], }; - const options = useMemo>(() => { - return { - maintainAspectRatio: false, - animation: { - duration: 0, - }, - elements: { - line: { - borderWidth: 1, - }, - point: { - radius: 2, - }, - }, - scales: { - y: { - position: 'right', - stacked: true, - min: 0, - max: Math.max(180, Math.ceil((max + 10) / 10) * 10), - grid: { - display: true, - color: '#979ca0', - }, - ticks: { - stepSize: 30, - }, - }, - x: { - grid: { - display: false, - }, - ticks: { - display: false, - }, - }, - }, - }; - }, [max]); - + const options = useMemo(() => getLineOptions(max), [max]); return (
); }; + +export default CallStatsLatencyChart; + +const getLineOptions = (max: number): ChartOptions<'line'> => ({ + maintainAspectRatio: false, + animation: { duration: 0 }, + elements: { + line: { borderWidth: 1 }, + point: { radius: 2 }, + }, + scales: { + y: { + position: 'right', + stacked: true, + min: 0, + max: Math.max(180, Math.ceil((max + 10) / 10) * 10), + grid: { display: true, color: '#979ca0' }, + ticks: { stepSize: 30 }, + }, + x: { + grid: { display: false }, + ticks: { display: false }, + }, + }, +}); diff --git a/packages/react-sdk/src/components/CallStats/index.ts b/packages/react-sdk/src/components/CallStats/index.ts index 13d9180c0f..bfc7e0e00c 100644 --- a/packages/react-sdk/src/components/CallStats/index.ts +++ b/packages/react-sdk/src/components/CallStats/index.ts @@ -1,2 +1 @@ export * from './CallStats'; -export * from './CallStatsLatencyChart'; diff --git a/packages/styling/project.json b/packages/styling/project.json index fe6fc97d6f..2866e47b8c 100644 --- a/packages/styling/project.json +++ b/packages/styling/project.json @@ -8,16 +8,16 @@ "dryRun": false, "preset": { "name": "conventionalcommits", - "preMajor": true, + "preMajor": false, "types": [ - {"type": "feat", "section": "Features"}, - {"type": "fix", "section": "Bug Fixes"}, - {"type": "chore", "hidden": true}, - {"type": "docs", "section": "Documentation"}, - {"type": "style", "hidden": true}, - {"type": "refactor", "hidden": true}, - {"type": "perf", "section": "Features"}, - {"type": "test", "hidden": true} + { "type": "feat", "section": "Features" }, + { "type": "fix", "section": "Bug Fixes" }, + { "type": "chore", "hidden": true }, + { "type": "docs", "section": "Documentation" }, + { "type": "style", "hidden": true }, + { "type": "refactor", "hidden": true }, + { "type": "perf", "section": "Features" }, + { "type": "test", "hidden": true } ] }, "trackDeps": true, diff --git a/packages/video-filters-react-native/CHANGELOG.md b/packages/video-filters-react-native/CHANGELOG.md index 4242e9836a..45707e9e2f 100644 --- a/packages/video-filters-react-native/CHANGELOG.md +++ b/packages/video-filters-react-native/CHANGELOG.md @@ -2,6 +2,27 @@ This file was generated using [@jscutlery/semver](https://github.com/jscutlery/semver). +## [0.2.4](https://github.com/GetStream/stream-video-js/compare/@stream-io/video-filters-react-native-0.2.3...@stream-io/video-filters-react-native-0.2.4) (2024-09-10) + + +### Bug Fixes + +* broken ios autolinking on react native 0.68 ([#1483](https://github.com/GetStream/stream-video-js/issues/1483)) ([734a361](https://github.com/GetStream/stream-video-js/commit/734a3615bc185fc17c7d7afc812c662a9bec92e7)) + +## [0.2.3](https://github.com/GetStream/stream-video-js/compare/@stream-io/video-filters-react-native-0.2.2...@stream-io/video-filters-react-native-0.2.3) (2024-09-06) + + +### Bug Fixes + +* set min ios version to 13.0 for the podspecs ([b6d8c16](https://github.com/GetStream/stream-video-js/commit/b6d8c163b66f75e12d0316abe46eebc6b017c29a)) + +## [0.2.2](https://github.com/GetStream/stream-video-js/compare/@stream-io/video-filters-react-native-0.2.1...@stream-io/video-filters-react-native-0.2.2) (2024-09-05) + + +### Bug Fixes + +* **ios:** if min ios version is not present default to 12 ([9279d59](https://github.com/GetStream/stream-video-js/commit/9279d59e861a51c723a0f17229c39dae946ee664)) + ### [0.2.1](https://github.com/GetStream/stream-video-js/compare/@stream-io/video-filters-react-native-0.2.0...@stream-io/video-filters-react-native-0.2.1) (2024-06-12) diff --git a/packages/video-filters-react-native/ios/stream-io-video-filters-react-native.xcodeproj/project.pbxproj b/packages/video-filters-react-native/ios/stream-io-video-filters-react-native.xcodeproj/project.pbxproj new file mode 100644 index 0000000000..280f1b2475 --- /dev/null +++ b/packages/video-filters-react-native/ios/stream-io-video-filters-react-native.xcodeproj/project.pbxproj @@ -0,0 +1,321 @@ +// !$*UTF8*$! +{ + archiveVersion = 1; + classes = { + }; + objectVersion = 46; + objects = { + +/* Begin PBXBuildFile section */ + DDC657E52C9055590005749E /* VideoFiltersReactNative.mm in Sources */ = {isa = PBXBuildFile; fileRef = DDC657DA2C9055590005749E /* VideoFiltersReactNative.mm */; }; + DDC657E62C9055590005749E /* BlurBackgroundVideoFrameProcessor.swift in Sources */ = {isa = PBXBuildFile; fileRef = DDC657DC2C9055590005749E /* BlurBackgroundVideoFrameProcessor.swift */; }; + DDC657E72C9055590005749E /* BackgroundImageFilterProcessor.swift in Sources */ = {isa = PBXBuildFile; fileRef = DDC657DE2C9055590005749E /* BackgroundImageFilterProcessor.swift */; }; + DDC657E82C9055590005749E /* UIDevice+NeuralEngine.swift in Sources */ = {isa = PBXBuildFile; fileRef = DDC657DF2C9055590005749E /* UIDevice+NeuralEngine.swift */; }; + DDC657E92C9055590005749E /* VideoFilters.swift in Sources */ = {isa = PBXBuildFile; fileRef = DDC657E02C9055590005749E /* VideoFilters.swift */; }; + DDC657EA2C9055590005749E /* CIImage+Resize.swift in Sources */ = {isa = PBXBuildFile; fileRef = DDC657E12C9055590005749E /* CIImage+Resize.swift */; }; + DDC657EB2C9055590005749E /* ImageBackgroundVideoFrameProcessor.swift in Sources */ = {isa = PBXBuildFile; fileRef = DDC657E22C9055590005749E /* ImageBackgroundVideoFrameProcessor.swift */; }; + DDC657EC2C9055590005749E /* VideoFiltersReactNative.swift in Sources */ = {isa = PBXBuildFile; fileRef = DDC657E42C9055590005749E /* VideoFiltersReactNative.swift */; }; +/* End PBXBuildFile section */ + +/* Begin PBXCopyFilesBuildPhase section */ + 58B511D91A9E6C8500147676 /* CopyFiles */ = { + isa = PBXCopyFilesBuildPhase; + buildActionMask = 2147483647; + dstPath = "include/$(PRODUCT_NAME)"; + dstSubfolderSpec = 16; + files = ( + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXCopyFilesBuildPhase section */ + +/* Begin PBXFileReference section */ + 134814201AA4EA6300B7C361 /* libStreamVideoFiltersReactNative.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; name = libStreamVideoFiltersReactNative.a; path = libVideoFiltersReactNative.a; sourceTree = BUILT_PRODUCTS_DIR; }; + DDC657DA2C9055590005749E /* VideoFiltersReactNative.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = VideoFiltersReactNative.mm; sourceTree = ""; }; + DDC657DC2C9055590005749E /* BlurBackgroundVideoFrameProcessor.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = BlurBackgroundVideoFrameProcessor.swift; sourceTree = ""; }; + DDC657DE2C9055590005749E /* BackgroundImageFilterProcessor.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = BackgroundImageFilterProcessor.swift; sourceTree = ""; }; + DDC657DF2C9055590005749E /* UIDevice+NeuralEngine.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = "UIDevice+NeuralEngine.swift"; sourceTree = ""; }; + DDC657E02C9055590005749E /* VideoFilters.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = VideoFilters.swift; sourceTree = ""; }; + DDC657E12C9055590005749E /* CIImage+Resize.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = "CIImage+Resize.swift"; sourceTree = ""; }; + DDC657E22C9055590005749E /* ImageBackgroundVideoFrameProcessor.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = ImageBackgroundVideoFrameProcessor.swift; sourceTree = ""; }; + DDC657E32C9055590005749E /* VideoFiltersReactNative-Bridging-Header.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "VideoFiltersReactNative-Bridging-Header.h"; sourceTree = ""; }; + DDC657E42C9055590005749E /* VideoFiltersReactNative.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = VideoFiltersReactNative.swift; sourceTree = ""; }; +/* End PBXFileReference section */ + +/* Begin PBXFrameworksBuildPhase section */ + 58B511D81A9E6C8500147676 /* Frameworks */ = { + isa = PBXFrameworksBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXFrameworksBuildPhase section */ + +/* Begin PBXGroup section */ + 134814211AA4EA7D00B7C361 /* Products */ = { + isa = PBXGroup; + children = ( + 134814201AA4EA6300B7C361 /* libStreamVideoFiltersReactNative.a */, + ); + name = Products; + sourceTree = ""; + }; + 58B511D21A9E6C8500147676 = { + isa = PBXGroup; + children = ( + DDC657E32C9055590005749E /* VideoFiltersReactNative-Bridging-Header.h */, + DDC657DA2C9055590005749E /* VideoFiltersReactNative.mm */, + DDC657E42C9055590005749E /* VideoFiltersReactNative.swift */, + DDC657DB2C9055590005749E /* VideoFrameProcessors */, + 134814211AA4EA7D00B7C361 /* Products */, + ); + sourceTree = ""; + }; + DDC657DB2C9055590005749E /* VideoFrameProcessors */ = { + isa = PBXGroup; + children = ( + DDC657DC2C9055590005749E /* BlurBackgroundVideoFrameProcessor.swift */, + DDC657DD2C9055590005749E /* Utils */, + DDC657E22C9055590005749E /* ImageBackgroundVideoFrameProcessor.swift */, + ); + path = VideoFrameProcessors; + sourceTree = ""; + }; + DDC657DD2C9055590005749E /* Utils */ = { + isa = PBXGroup; + children = ( + DDC657DE2C9055590005749E /* BackgroundImageFilterProcessor.swift */, + DDC657DF2C9055590005749E /* UIDevice+NeuralEngine.swift */, + DDC657E02C9055590005749E /* VideoFilters.swift */, + DDC657E12C9055590005749E /* CIImage+Resize.swift */, + ); + path = Utils; + sourceTree = ""; + }; +/* End PBXGroup section */ + +/* Begin PBXNativeTarget section */ + 58B511DA1A9E6C8500147676 /* VideoFiltersReactNative */ = { + isa = PBXNativeTarget; + buildConfigurationList = 58B511EF1A9E6C8500147676 /* Build configuration list for PBXNativeTarget "VideoFiltersReactNative" */; + buildPhases = ( + 58B511D71A9E6C8500147676 /* Sources */, + 58B511D81A9E6C8500147676 /* Frameworks */, + 58B511D91A9E6C8500147676 /* CopyFiles */, + ); + buildRules = ( + ); + dependencies = ( + ); + name = VideoFiltersReactNative; + productName = RCTDataManager; + productReference = 134814201AA4EA6300B7C361 /* libStreamVideoFiltersReactNative.a */; + productType = "com.apple.product-type.library.static"; + }; +/* End PBXNativeTarget section */ + +/* Begin PBXProject section */ + 58B511D31A9E6C8500147676 /* Project object */ = { + isa = PBXProject; + attributes = { + LastUpgradeCheck = 0920; + ORGANIZATIONNAME = Facebook; + TargetAttributes = { + 58B511DA1A9E6C8500147676 = { + CreatedOnToolsVersion = 6.1.1; + }; + }; + }; + buildConfigurationList = 58B511D61A9E6C8500147676 /* Build configuration list for PBXProject "stream-io-video-filters-react-native" */; + compatibilityVersion = "Xcode 3.2"; + developmentRegion = English; + hasScannedForEncodings = 0; + knownRegions = ( + English, + en, + ); + mainGroup = 58B511D21A9E6C8500147676; + productRefGroup = 58B511D21A9E6C8500147676; + projectDirPath = ""; + projectRoot = ""; + targets = ( + 58B511DA1A9E6C8500147676 /* VideoFiltersReactNative */, + ); + }; +/* End PBXProject section */ + +/* Begin PBXSourcesBuildPhase section */ + 58B511D71A9E6C8500147676 /* Sources */ = { + isa = PBXSourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + DDC657E82C9055590005749E /* UIDevice+NeuralEngine.swift in Sources */, + DDC657E52C9055590005749E /* VideoFiltersReactNative.mm in Sources */, + DDC657E62C9055590005749E /* BlurBackgroundVideoFrameProcessor.swift in Sources */, + DDC657EA2C9055590005749E /* CIImage+Resize.swift in Sources */, + DDC657EB2C9055590005749E /* ImageBackgroundVideoFrameProcessor.swift in Sources */, + DDC657E72C9055590005749E /* BackgroundImageFilterProcessor.swift in Sources */, + DDC657EC2C9055590005749E /* VideoFiltersReactNative.swift in Sources */, + DDC657E92C9055590005749E /* VideoFilters.swift in Sources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXSourcesBuildPhase section */ + +/* Begin XCBuildConfiguration section */ + 58B511ED1A9E6C8500147676 /* Debug */ = { + isa = XCBuildConfiguration; + buildSettings = { + ALWAYS_SEARCH_USER_PATHS = NO; + CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x"; + CLANG_CXX_LIBRARY = "libc++"; + CLANG_ENABLE_MODULES = YES; + CLANG_ENABLE_OBJC_ARC = YES; + CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES; + CLANG_WARN_BOOL_CONVERSION = YES; + CLANG_WARN_COMMA = YES; + CLANG_WARN_CONSTANT_CONVERSION = YES; + CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; + CLANG_WARN_EMPTY_BODY = YES; + CLANG_WARN_ENUM_CONVERSION = YES; + CLANG_WARN_INFINITE_RECURSION = YES; + CLANG_WARN_INT_CONVERSION = YES; + CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES; + CLANG_WARN_OBJC_LITERAL_CONVERSION = YES; + CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; + CLANG_WARN_RANGE_LOOP_ANALYSIS = YES; + CLANG_WARN_STRICT_PROTOTYPES = YES; + CLANG_WARN_SUSPICIOUS_MOVE = YES; + CLANG_WARN_UNREACHABLE_CODE = YES; + CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; + COPY_PHASE_STRIP = NO; + ENABLE_STRICT_OBJC_MSGSEND = YES; + ENABLE_TESTABILITY = YES; + GCC_C_LANGUAGE_STANDARD = gnu99; + GCC_DYNAMIC_NO_PIC = NO; + GCC_NO_COMMON_BLOCKS = YES; + GCC_OPTIMIZATION_LEVEL = 0; + GCC_PREPROCESSOR_DEFINITIONS = ( + "DEBUG=1", + "$(inherited)", + ); + GCC_SYMBOLS_PRIVATE_EXTERN = NO; + GCC_WARN_64_TO_32_BIT_CONVERSION = YES; + GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; + GCC_WARN_UNDECLARED_SELECTOR = YES; + GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; + GCC_WARN_UNUSED_FUNCTION = YES; + GCC_WARN_UNUSED_VARIABLE = YES; + IPHONEOS_DEPLOYMENT_TARGET = 13.0; + MTL_ENABLE_DEBUG_INFO = YES; + ONLY_ACTIVE_ARCH = YES; + SDKROOT = iphoneos; + }; + name = Debug; + }; + 58B511EE1A9E6C8500147676 /* Release */ = { + isa = XCBuildConfiguration; + buildSettings = { + ALWAYS_SEARCH_USER_PATHS = NO; + CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x"; + CLANG_CXX_LIBRARY = "libc++"; + CLANG_ENABLE_MODULES = YES; + CLANG_ENABLE_OBJC_ARC = YES; + CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES; + CLANG_WARN_BOOL_CONVERSION = YES; + CLANG_WARN_COMMA = YES; + CLANG_WARN_CONSTANT_CONVERSION = YES; + CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; + CLANG_WARN_EMPTY_BODY = YES; + CLANG_WARN_ENUM_CONVERSION = YES; + CLANG_WARN_INFINITE_RECURSION = YES; + CLANG_WARN_INT_CONVERSION = YES; + CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES; + CLANG_WARN_OBJC_LITERAL_CONVERSION = YES; + CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; + CLANG_WARN_RANGE_LOOP_ANALYSIS = YES; + CLANG_WARN_STRICT_PROTOTYPES = YES; + CLANG_WARN_SUSPICIOUS_MOVE = YES; + CLANG_WARN_UNREACHABLE_CODE = YES; + CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; + COPY_PHASE_STRIP = YES; + ENABLE_NS_ASSERTIONS = NO; + ENABLE_STRICT_OBJC_MSGSEND = YES; + GCC_C_LANGUAGE_STANDARD = gnu99; + GCC_NO_COMMON_BLOCKS = YES; + GCC_WARN_64_TO_32_BIT_CONVERSION = YES; + GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; + GCC_WARN_UNDECLARED_SELECTOR = YES; + GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; + GCC_WARN_UNUSED_FUNCTION = YES; + GCC_WARN_UNUSED_VARIABLE = YES; + IPHONEOS_DEPLOYMENT_TARGET = 13.0; + MTL_ENABLE_DEBUG_INFO = NO; + SDKROOT = iphoneos; + VALIDATE_PRODUCT = YES; + }; + name = Release; + }; + 58B511F01A9E6C8500147676 /* Debug */ = { + isa = XCBuildConfiguration; + buildSettings = { + HEADER_SEARCH_PATHS = ( + "$(inherited)", + /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include, + "$(SRCROOT)/../../../React/**", + "$(SRCROOT)/../../react-native/React/**", + ); + LIBRARY_SEARCH_PATHS = "$(inherited)"; + OTHER_LDFLAGS = "-ObjC"; + PRODUCT_NAME = VideoFiltersReactNative; + SKIP_INSTALL = YES; + SWIFT_OBJC_BRIDGING_HEADER = "VideoFiltersReactNative-Bridging-Header.h"; + SWIFT_OPTIMIZATION_LEVEL = "-Onone"; + SWIFT_VERSION = 5.0; + }; + name = Debug; + }; + 58B511F11A9E6C8500147676 /* Release */ = { + isa = XCBuildConfiguration; + buildSettings = { + HEADER_SEARCH_PATHS = ( + "$(inherited)", + /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include, + "$(SRCROOT)/../../../React/**", + "$(SRCROOT)/../../react-native/React/**", + ); + LIBRARY_SEARCH_PATHS = "$(inherited)"; + OTHER_LDFLAGS = "-ObjC"; + PRODUCT_NAME = VideoFiltersReactNative; + SKIP_INSTALL = YES; + SWIFT_OBJC_BRIDGING_HEADER = "VideoFiltersReactNative-Bridging-Header.h"; + SWIFT_VERSION = 5.0; + }; + name = Release; + }; +/* End XCBuildConfiguration section */ + +/* Begin XCConfigurationList section */ + 58B511D61A9E6C8500147676 /* Build configuration list for PBXProject "stream-io-video-filters-react-native" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + 58B511ED1A9E6C8500147676 /* Debug */, + 58B511EE1A9E6C8500147676 /* Release */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Release; + }; + 58B511EF1A9E6C8500147676 /* Build configuration list for PBXNativeTarget "VideoFiltersReactNative" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + 58B511F01A9E6C8500147676 /* Debug */, + 58B511F11A9E6C8500147676 /* Release */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Release; + }; +/* End XCConfigurationList section */ + }; + rootObject = 58B511D31A9E6C8500147676 /* Project object */; +} diff --git a/packages/video-filters-react-native/package.json b/packages/video-filters-react-native/package.json index ffa84589ed..d7f461b943 100644 --- a/packages/video-filters-react-native/package.json +++ b/packages/video-filters-react-native/package.json @@ -1,6 +1,6 @@ { "name": "@stream-io/video-filters-react-native", - "version": "0.2.1", + "version": "0.2.4", "description": "Video Filters for the Stream React Native Video SDK", "packageManager": "yarn@3.5.0", "main": "dist/commonjs/index.js", diff --git a/packages/video-filters-react-native/stream-io-video-filters-react-native.podspec b/packages/video-filters-react-native/stream-io-video-filters-react-native.podspec index ce7dac987c..ef1c659645 100644 --- a/packages/video-filters-react-native/stream-io-video-filters-react-native.podspec +++ b/packages/video-filters-react-native/stream-io-video-filters-react-native.podspec @@ -11,7 +11,7 @@ Pod::Spec.new do |s| s.license = package["license"] s.authors = package["author"] - s.platforms = { :ios => min_ios_version_supported } + s.platforms = { :ios => '13.0' } s.source = { :git => "https://github.com/GetStream/stream-video-js.git", :tag => "#{s.version}" } s.source_files = "ios/**/*.{h,m,mm,swift}" diff --git a/packages/video-filters-web/CHANGELOG.md b/packages/video-filters-web/CHANGELOG.md index c563a2294b..6a07c4404c 100644 --- a/packages/video-filters-web/CHANGELOG.md +++ b/packages/video-filters-web/CHANGELOG.md @@ -2,6 +2,13 @@ This file was generated using [@jscutlery/semver](https://github.com/jscutlery/semver). +## [0.1.4](https://github.com/GetStream/stream-video-js/compare/@stream-io/video-filters-web-0.1.3...@stream-io/video-filters-web-0.1.4) (2024-09-19) + + +### Features + +* React SDK cold-start optimizations ([#1488](https://github.com/GetStream/stream-video-js/issues/1488)) ([972e579](https://github.com/GetStream/stream-video-js/commit/972e5792b5a131a212b1031ade76dcb383897a46)) + ### [0.1.3](https://github.com/GetStream/stream-video-js/compare/@stream-io/video-filters-web-0.1.2...@stream-io/video-filters-web-0.1.3) (2024-07-02) diff --git a/packages/video-filters-web/package.json b/packages/video-filters-web/package.json index 39007e7e70..042b910ac7 100644 --- a/packages/video-filters-web/package.json +++ b/packages/video-filters-web/package.json @@ -1,6 +1,6 @@ { "name": "@stream-io/video-filters-web", - "version": "0.1.3", + "version": "0.1.4", "packageManager": "yarn@3.5.0", "main": "./dist/index.cjs.js", "module": "./dist/index.es.js", @@ -16,6 +16,7 @@ "url": "https://github.com/GetStream/stream-video-js.git", "directory": "packages/video-filters-web" }, + "sideEffects": false, "files": [ "dist", "tf", @@ -30,11 +31,11 @@ "wasm-feature-detect": "^1.6.1" }, "devDependencies": { - "@rollup/plugin-replace": "^5.0.5", + "@rollup/plugin-replace": "^5.0.7", "@rollup/plugin-typescript": "^11.1.6", "@types/emscripten": "^1.39.10", "rimraf": "^5.0.7", - "rollup": "^3.29.4", + "rollup": "^4.22.0", "typescript": "^5.5.2" } } diff --git a/sample-apps/client/ts-quickstart/package.json b/sample-apps/client/ts-quickstart/package.json index aa0d0f701e..21430dcb77 100644 --- a/sample-apps/client/ts-quickstart/package.json +++ b/sample-apps/client/ts-quickstart/package.json @@ -15,6 +15,6 @@ "devDependencies": { "@vitejs/plugin-basic-ssl": "^1.0.1", "typescript": "^5.5.2", - "vite": "^4.4.11" + "vite": "^5.4.6" } } diff --git a/sample-apps/react-native/dogfood/android/app/src/main/AndroidManifest.xml b/sample-apps/react-native/dogfood/android/app/src/main/AndroidManifest.xml index 61009f2df3..bde6797c80 100644 --- a/sample-apps/react-native/dogfood/android/app/src/main/AndroidManifest.xml +++ b/sample-apps/react-native/dogfood/android/app/src/main/AndroidManifest.xml @@ -30,7 +30,6 @@ android:maxSdkVersion="32" /> - @@ -73,7 +72,7 @@ diff --git a/sample-apps/react-native/dogfood/ios/Podfile.lock b/sample-apps/react-native/dogfood/ios/Podfile.lock index 3a5cc8cd6f..acc7f0165e 100644 --- a/sample-apps/react-native/dogfood/ios/Podfile.lock +++ b/sample-apps/react-native/dogfood/ios/Podfile.lock @@ -1108,15 +1108,15 @@ PODS: - RNGoogleSignin (11.0.0): - GoogleSignIn (~> 7.0) - React-Core - - RNImageCropPicker (0.40.0): + - RNImageCropPicker (0.41.2): - React-Core - React-RCTImage - - RNImageCropPicker/QBImagePickerController (= 0.40.0) - - TOCropViewController - - RNImageCropPicker/QBImagePickerController (0.40.0): + - RNImageCropPicker/QBImagePickerController (= 0.41.2) + - TOCropViewController (~> 2.7.4) + - RNImageCropPicker/QBImagePickerController (0.41.2): - React-Core - React-RCTImage - - TOCropViewController + - TOCropViewController (~> 2.7.4) - RNNotifee (7.8.0): - React-Core - RNNotifee/NotifeeCore (= 7.8.0) @@ -1140,7 +1140,7 @@ PODS: - RNVoipPushNotification (3.3.2): - React-Core - SocketRocket (0.6.1) - - stream-io-video-filters-react-native (0.2.1): + - stream-io-video-filters-react-native (0.2.4): - glog - RCT-Folly (= 2022.05.16.00) - React-Core @@ -1148,7 +1148,7 @@ PODS: - stream-react-native-webrtc (118.1.0): - JitsiWebRTC (~> 118.0.0) - React-Core - - stream-video-react-native (0.10.5): + - stream-video-react-native (1.0.10): - glog - RCT-Folly (= 2022.05.16.00) - React-Core @@ -1468,7 +1468,7 @@ SPEC CHECKSUMS: RNFS: 4ac0f0ea233904cb798630b3c077808c06931688 RNGestureHandler: a51b249f3c779e38a5d9ec45cb107d8780b39fb2 RNGoogleSignin: fc408799f1990a12497a32f64280c0fe353ffcc1 - RNImageCropPicker: 486e2f7e2b0461ce24321f751410dce1b3b49e6d + RNImageCropPicker: 771e2ca319d2cf92e04ebf334ece892ee9a6728f RNNotifee: f3c01b391dd8e98e67f539f9a35a9cbcd3bae744 RNPermissions: 4d64d2c763b20e5db08dfb8f1ef541f95c0d28c1 RNReactNativeHapticFeedback: afa5bf2794aecbb2dba2525329253da0d66656df @@ -1477,9 +1477,9 @@ SPEC CHECKSUMS: RNSVG: 53c661b76829783cdaf9b7a57258f3d3b4c28315 RNVoipPushNotification: 543e18f83089134a35e7f1d2eba4c8b1f7776b08 SocketRocket: f32cd54efbe0f095c4d7594881e52619cfe80b17 - stream-io-video-filters-react-native: 90f5878de1c3655d2e1617062e12c96824248d4b + stream-io-video-filters-react-native: 8c345e6adf5164646696d45f9962c4199b2fe3b9 stream-react-native-webrtc: 4ccf61161f77c57b9aa45f78cb7f69b7d91f3e9f - stream-video-react-native: b7cae2ff25354c68e70215a978943a8ebfa4663a + stream-video-react-native: 4731ac81060b8b432e57f9a923769ffa851880a8 TOCropViewController: 80b8985ad794298fb69d3341de183f33d1853654 Yoga: 1b901a6d6eeba4e8a2e8f308f708691cdb5db312 diff --git a/sample-apps/react-native/dogfood/package.json b/sample-apps/react-native/dogfood/package.json index 28f0fa6bb8..31eaac1ac0 100644 --- a/sample-apps/react-native/dogfood/package.json +++ b/sample-apps/react-native/dogfood/package.json @@ -1,6 +1,6 @@ { "name": "@stream-io/video-react-native-dogfood", - "version": "4.3.0", + "version": "4.3.4", "private": true, "scripts": { "android": "react-native run-android", @@ -40,7 +40,7 @@ "react-native-fs": "^2.20.0", "react-native-gesture-handler": "^2.15.0", "react-native-haptic-feedback": "^2.0.3", - "react-native-image-crop-picker": "^0.40.0", + "react-native-image-crop-picker": "^0.41.2", "react-native-image-resizer": "^1.4.5", "react-native-incall-manager": "4.2.0", "react-native-mmkv": "2.8.0", @@ -55,9 +55,9 @@ "stream-chat-react-native": "5.27.0" }, "devDependencies": { - "@babel/core": "^7.24.7", - "@babel/preset-env": "^7.24.7", - "@babel/runtime": "^7.24.7", + "@babel/core": "^7.25.2", + "@babel/preset-env": "^7.25.4", + "@babel/runtime": "^7.25.6", "@react-native/babel-preset": "0.73.21", "@react-native/eslint-config": "0.74.84", "@react-native/metro-config": "0.73.5", diff --git a/sample-apps/react-native/dogfood/types.ts b/sample-apps/react-native/dogfood/types.ts index c357b98edd..c4243c31fa 100644 --- a/sample-apps/react-native/dogfood/types.ts +++ b/sample-apps/react-native/dogfood/types.ts @@ -1,4 +1,4 @@ -import { SfuEvent } from '@stream-io/video-client/dist/src/gen/video/sfu/event/events'; +import type { SfuEvents } from '@stream-io/video-client'; type BinaryType = 'arraybuffer' | 'blob'; export type RTCDataChannelState = 'closed' | 'closing' | 'connecting' | 'open'; @@ -112,7 +112,7 @@ export interface RTCDataChannel extends EventTarget { ): void; } -export type EventHandler = (event: SfuEvent) => void; +export type EventHandler = (event: SfuEvents.SfuEvent) => void; export type GuestMeetingScreenParams = { guestUserId: string; diff --git a/sample-apps/react-native/expo-video-sample/android/app/src/main/AndroidManifest.xml b/sample-apps/react-native/expo-video-sample/android/app/src/main/AndroidManifest.xml index 31ff38d891..08ca658d41 100644 --- a/sample-apps/react-native/expo-video-sample/android/app/src/main/AndroidManifest.xml +++ b/sample-apps/react-native/expo-video-sample/android/app/src/main/AndroidManifest.xml @@ -7,7 +7,6 @@ - @@ -37,7 +36,7 @@ - + diff --git a/sample-apps/react-native/expo-video-sample/package.json b/sample-apps/react-native/expo-video-sample/package.json index d48db8a5c6..fe6e612ac6 100644 --- a/sample-apps/react-native/expo-video-sample/package.json +++ b/sample-apps/react-native/expo-video-sample/package.json @@ -39,7 +39,7 @@ "react-native-voip-push-notification": "^3.3.2" }, "devDependencies": { - "@babel/core": "^7.24.7", + "@babel/core": "^7.25.2", "@rnx-kit/metro-config": "^1.3.14", "@rnx-kit/metro-resolver-symlinks": "^0.1.34", "@types/react": "~18.2.45", diff --git a/sample-apps/react/audio-rooms/package.json b/sample-apps/react/audio-rooms/package.json index 7648e0bd8c..ac413a390c 100644 --- a/sample-apps/react/audio-rooms/package.json +++ b/sample-apps/react/audio-rooms/package.json @@ -20,6 +20,6 @@ "@types/react-dom": "^18.3.0", "@vitejs/plugin-react": "^4.1.0", "typescript": "^5.5.2", - "vite": "^4.4.11" + "vite": "^5.4.6" } } diff --git a/sample-apps/react/cookbook-participant-list/package.json b/sample-apps/react/cookbook-participant-list/package.json index 0df34099f1..92e04af95a 100644 --- a/sample-apps/react/cookbook-participant-list/package.json +++ b/sample-apps/react/cookbook-participant-list/package.json @@ -22,6 +22,6 @@ "@types/react-dom": "^18.3.0", "@vitejs/plugin-react": "^4.1.0", "typescript": "^5.5.2", - "vite": "^4.4.11" + "vite": "^5.4.6" } } diff --git a/sample-apps/react/egress-composite/package.json b/sample-apps/react/egress-composite/package.json index dbed870a30..743dd7b9a3 100644 --- a/sample-apps/react/egress-composite/package.json +++ b/sample-apps/react/egress-composite/package.json @@ -12,7 +12,7 @@ }, "dependencies": { "@emotion/css": "^11.11.2", - "@sentry/react": "^8.13.0", + "@sentry/react": "^8.30.0", "@stream-io/video-react-sdk": "workspace:^", "clsx": "^2.0.0", "js-base64": "^3.7.5", @@ -21,12 +21,12 @@ }, "devDependencies": { "@playwright/test": "^1.37.1", - "@sentry/vite-plugin": "^2.20.1", + "@sentry/vite-plugin": "^2.22.4", "@types/react": "^18.3.2", "@types/react-dom": "^18.3.0", "@vitejs/plugin-react": "^4.1.0", "nanoid": "^5.0.4", "typescript": "^5.5.2", - "vite": "^4.4.11" + "vite": "^5.4.6" } } diff --git a/sample-apps/react/livestream-app/package.json b/sample-apps/react/livestream-app/package.json index 0422406320..dbef969129 100644 --- a/sample-apps/react/livestream-app/package.json +++ b/sample-apps/react/livestream-app/package.json @@ -26,6 +26,6 @@ "@types/react-dom": "^18.3.0", "@vitejs/plugin-react": "^4.1.0", "typescript": "^5.5.2", - "vite": "^4.4.11" + "vite": "^5.4.6" } } diff --git a/sample-apps/react/messenger-clone/package.json b/sample-apps/react/messenger-clone/package.json index c5efc7f00b..403a2ee73f 100644 --- a/sample-apps/react/messenger-clone/package.json +++ b/sample-apps/react/messenger-clone/package.json @@ -22,8 +22,8 @@ "react-dom": "^18.3.1", "react-router-dom": "^6.17.0", "sass": "^1.69.5", - "stream-chat": "^8.33.0", - "stream-chat-react": "12.0.0-rc.5" + "stream-chat": "^8.40.9", + "stream-chat-react": "12.0.0" }, "devDependencies": { "@types/react": "^18.3.2", @@ -31,6 +31,6 @@ "@vitejs/plugin-react": "^4.1.0", "dotenv": "^16.3.1", "typescript": "^5.5.2", - "vite": "^4.4.11" + "vite": "^5.4.6" } } diff --git a/sample-apps/react/react-dogfood/components/CallStatsWrapper.tsx b/sample-apps/react/react-dogfood/components/CallStatsWrapper.tsx index 4188acbacc..325560b3c1 100644 --- a/sample-apps/react/react-dogfood/components/CallStatsWrapper.tsx +++ b/sample-apps/react/react-dogfood/components/CallStatsWrapper.tsx @@ -2,8 +2,8 @@ import { CallStats, CompositeButton, Icon, - WithTooltip, useI18n, + WithTooltip, } from '@stream-io/video-react-sdk'; export const ToggleStatsButton = (props: { @@ -29,7 +29,7 @@ export const ToggleStatsButton = (props: { export const CallStatsSidebar = () => { return (
- +
); }; diff --git a/sample-apps/react/react-dogfood/components/DevMenu.tsx b/sample-apps/react/react-dogfood/components/DevMenu.tsx index 0ada994824..b5f143136b 100644 --- a/sample-apps/react/react-dogfood/components/DevMenu.tsx +++ b/sample-apps/react/react-dogfood/components/DevMenu.tsx @@ -1,8 +1,8 @@ -import Link from 'next/link'; import { Icon, useCall, useCallStateHooks } from '@stream-io/video-react-sdk'; import { decodeBase64 } from 'stream-chat'; export const DevMenu = () => { + const call = useCall(); return ( ); }; @@ -139,61 +155,6 @@ const GoOrStopLive = () => { ); }; -// const MigrateToNewSfu = () => { -// const call = useCall(); -// return ( -// -// ); -// }; -// - -// const EmulateSFUShuttingDown = () => { -// const call = useCall(); -// return ( -// -// ); -// }; - const ConnectToLocalSfu = (props: { port?: number; sfuId?: string }) => { const { port = 3031, sfuId = 'SFU-1' } = props; const params = new URLSearchParams(window.location.search); diff --git a/sample-apps/react/react-dogfood/components/MeetingUI.tsx b/sample-apps/react/react-dogfood/components/MeetingUI.tsx index 4c043275f3..c275ab7809 100644 --- a/sample-apps/react/react-dogfood/components/MeetingUI.tsx +++ b/sample-apps/react/react-dogfood/components/MeetingUI.tsx @@ -1,5 +1,6 @@ import { useRouter } from 'next/router'; import { JSX, useCallback, useEffect, useState } from 'react'; +import { isFirefox } from 'mobile-device-detect'; import Gleap from 'gleap'; import { CallingState, @@ -21,6 +22,8 @@ import { import { ActiveCall } from './ActiveCall'; import { Feedback } from './Feedback/Feedback'; import { DefaultAppHeader } from './DefaultAppHeader'; +import { getPreferredBitrate } from '../helpers/bitrateLookup'; +import { useIsProntoEnvironment } from '../context/AppEnvironmentContext'; const contents = { 'error-join': { @@ -41,22 +44,49 @@ export const MeetingUI = ({ chatClient, mode }: MeetingUIProps) => { >('lobby'); const [lastError, setLastError] = useState(); const router = useRouter(); - const activeCall = useCall(); + const call = useCall(); const { useCallCallingState } = useCallStateHooks(); const callState = useCallCallingState(); + const isProntoEnvironment = useIsProntoEnvironment(); + const videoCodecOverride = router.query['video_codec'] as string | undefined; + const bitrateOverride = router.query['bitrate'] as string | undefined; + const bitrateFactorOverride = router.query['bitrate_factor'] as + | string + | undefined; + const scalabilityMode = router.query['scalability_mode'] as + | string + | undefined; + const onJoin = useCallback( async ({ fastJoin = false } = {}) => { if (!fastJoin) setShow('loading'); + if (!call) throw new Error('No active call found'); try { - const preferredCodec = router.query['video_codec']; - const scalabilityMode = router.query['scalability_mode'] as - | string - | undefined; - if (typeof preferredCodec === 'string') { - activeCall?.camera.setPreferredCodec(preferredCodec, scalabilityMode); - } - await activeCall?.join({ create: true }); + const prontoDefaultCodec = + isProntoEnvironment && !isFirefox ? 'h264' : 'vp8'; + const preferredCodec = videoCodecOverride || prontoDefaultCodec; + + const videoSettings = call.state.settings?.video; + const frameHeight = + call.camera.getCaptureResolution()?.height ?? + videoSettings?.target_resolution.height ?? + 1080; + + const preferredBitrate = bitrateOverride + ? parseInt(bitrateOverride, 10) + : getPreferredBitrate(preferredCodec, frameHeight); + + call.camera.updatePublishOptions({ + preferredCodec, + scalabilityMode, + preferredBitrate, + bitrateDownscaleFactor: bitrateFactorOverride + ? parseInt(bitrateFactorOverride, 10) + : 2, // default to 2 + }); + + await call.join({ create: true }); setShow('active-call'); } catch (e) { console.error(e); @@ -64,7 +94,14 @@ export const MeetingUI = ({ chatClient, mode }: MeetingUIProps) => { setShow('error-join'); } }, - [activeCall, router], + [ + bitrateFactorOverride, + bitrateOverride, + call, + isProntoEnvironment, + scalabilityMode, + videoCodecOverride, + ], ); const onLeave = useCallback( @@ -88,42 +125,39 @@ export const MeetingUI = ({ chatClient, mode }: MeetingUIProps) => { }, [callState, onLeave]); useEffect(() => { - if (!activeCall) return; - return activeCall.on('call.ended', async (e) => { - if (!e.user || e.user.id === activeCall.currentUserId) return; + if (!call) return; + return call.on('call.ended', async (e) => { + if (!e.user || e.user.id === call.currentUserId) return; alert(`Call ended for everyone by: ${e.user.name || e.user.id}`); - if (activeCall.state.callingState !== CallingState.LEFT) { - await activeCall.leave(); + if (call.state.callingState !== CallingState.LEFT) { + await call.leave(); } setShow('lobby'); }); - }, [activeCall, router]); + }, [call, router]); useEffect(() => { const handlePageLeave = async () => { - if ( - activeCall && - [CallingState.JOINING, CallingState.JOINED].includes(callState) - ) { - await activeCall.leave(); + if (call) { + await call.leave(); } }; router.events.on('routeChangeStart', handlePageLeave); return () => { router.events.off('routeChangeStart', handlePageLeave); }; - }, [activeCall, callState, router.events]); + }, [call, callState, router.events]); const isSortingDisabled = router.query['enableSorting'] === 'false'; useEffect(() => { - if (!activeCall) return; + if (!call) return; // enable sorting via query param feature flag is provided if (isSortingDisabled) { - activeCall.setSortParticipantsBy(noopComparator()); + call.setSortParticipantsBy(noopComparator()); } else { - activeCall.setSortParticipantsBy(defaultSortPreset); + call.setSortParticipantsBy(defaultSortPreset); } - }, [activeCall, isSortingDisabled]); + }, [call, isSortingDisabled]); useKeyboardShortcuts(); useWakeLock(); @@ -150,12 +184,12 @@ export const MeetingUI = ({ chatClient, mode }: MeetingUIProps) => {
- +
); - } else if (!activeCall) { + } else if (!call) { ComponentToRender = ( { } else { ComponentToRender = ( | undefined> = { + h264: { + 1080: 2_750_000, + 720: 1_250_000, + 540: 750_000, + 360: 400_000, + }, + vp8: { + 1080: 2_000_000, + 720: 1_000_000, + 540: 600_000, + 360: 350_000, + }, +}; + +export const getPreferredBitrate = ( + codec: string, + frameHeight: number, +): number | undefined => { + const codecLookup = lookup[codec.toLowerCase()]; + if (!codecLookup) return; + + return codecLookup[frameHeight]; +}; diff --git a/sample-apps/react/react-dogfood/hooks/useNotificationSounds.ts b/sample-apps/react/react-dogfood/hooks/useNotificationSounds.ts index 41c36f553b..f1e0840968 100644 --- a/sample-apps/react/react-dogfood/hooks/useNotificationSounds.ts +++ b/sample-apps/react/react-dogfood/hooks/useNotificationSounds.ts @@ -11,19 +11,18 @@ export function useNotificationSounds() { ); useEffect(() => { - if (!call) { - return; - } - + if (!call) return; const unlistenJoin = call.on('call.session_participant_joined', (event) => { - if (!isSelf(event.participant.user.id)) { - beep('/beeps/joined.mp3'); + const { participantCount } = call.state; + if (!isSelf(event.participant.user.id) && participantCount < 5) { + beep('/beeps/joined.mp3').catch((e) => console.error(e)); } }); const unlistenLeft = call.on('call.session_participant_left', (event) => { - if (!isSelf(event.participant.user.id)) { - beep('/beeps/left.mp3'); + const { participantCount } = call.state; + if (!isSelf(event.participant.user.id) && participantCount < 5) { + beep('/beeps/left.mp3').catch((e) => console.error(e)); } }); diff --git a/sample-apps/react/react-dogfood/next-env.d.ts b/sample-apps/react/react-dogfood/next-env.d.ts index 4f11a03dc6..a4a7b3f5cf 100644 --- a/sample-apps/react/react-dogfood/next-env.d.ts +++ b/sample-apps/react/react-dogfood/next-env.d.ts @@ -2,4 +2,4 @@ /// // NOTE: This file should not be edited -// see https://nextjs.org/docs/basic-features/typescript for more information. +// see https://nextjs.org/docs/pages/building-your-application/configuring/typescript for more information. diff --git a/sample-apps/react/react-dogfood/package.json b/sample-apps/react/react-dogfood/package.json index 513b2da8eb..6708acafe6 100644 --- a/sample-apps/react/react-dogfood/package.json +++ b/sample-apps/react/react-dogfood/package.json @@ -9,12 +9,12 @@ "start": "next start" }, "dependencies": { - "@floating-ui/dom": "^1.5.4", - "@floating-ui/react": "^0.26.5", - "@next/third-parties": "^14.2.4", - "@sentry/nextjs": "^8.13.0", + "@floating-ui/dom": "^1.6.11", + "@floating-ui/react": "^0.26.24", + "@next/third-parties": "^14.2.12", + "@sentry/nextjs": "^8.30.0", "@stream-io/audio-filters-web": "workspace:^", - "@stream-io/node-sdk": "^0.4.0", + "@stream-io/node-sdk": "^0.4.3", "@stream-io/video-filters-web": "workspace:^", "@stream-io/video-react-sdk": "workspace:^", "@stream-io/video-styling": "workspace:^", @@ -28,15 +28,15 @@ "mapbox-gl": "^2.15.0", "mobile-device-detect": "^0.4.3", "nanoid": "^5.0.4", - "next": "^14.2.4", + "next": "^14.2.12", "next-auth": "^4.24.7", "qrcode.react": "^3.1.0", "react": "^18.3.1", "react-dom": "^18.3.1", "react-form": "^4.0.1", "starwars-names": "^1.6.0", - "stream-chat": "^8.33.0", - "stream-chat-react": "12.0.0-rc.5", + "stream-chat": "^8.40.9", + "stream-chat-react": "12.0.0", "yargs": "^17.7.2" }, "devDependencies": { diff --git a/sample-apps/react/stream-video-react-tutorial/package.json b/sample-apps/react/stream-video-react-tutorial/package.json index bdd9672176..9f5fc35caf 100644 --- a/sample-apps/react/stream-video-react-tutorial/package.json +++ b/sample-apps/react/stream-video-react-tutorial/package.json @@ -18,6 +18,6 @@ "@types/react-dom": "^18.3.0", "@vitejs/plugin-react": "^4.1.0", "typescript": "^5.5.2", - "vite": "^4.4.11" + "vite": "^5.4.6" } } diff --git a/sample-apps/react/zoom-clone/package.json b/sample-apps/react/zoom-clone/package.json index 5469a73dee..f9242d4873 100644 --- a/sample-apps/react/zoom-clone/package.json +++ b/sample-apps/react/zoom-clone/package.json @@ -17,8 +17,8 @@ "react": "^18.3.1", "react-dom": "^18.3.1", "react-router-dom": "^6.17.0", - "stream-chat": "^8.33.0", - "stream-chat-react": "12.0.0-rc.5" + "stream-chat": "^8.40.9", + "stream-chat-react": "12.0.0" }, "devDependencies": { "@types/react": "^18.3.2", @@ -29,6 +29,6 @@ "postcss": "^8.4.31", "tailwindcss": "^3.2.4", "typescript": "^5.5.2", - "vite": "^4.4.11" + "vite": "^5.4.6" } } diff --git a/yarn.lock b/yarn.lock index 38b611e697..bbf280b456 100644 --- a/yarn.lock +++ b/yarn.lock @@ -53,33 +53,33 @@ __metadata: languageName: node linkType: hard -"@babel/compat-data@npm:^7.17.7, @babel/compat-data@npm:^7.20.5, @babel/compat-data@npm:^7.22.6, @babel/compat-data@npm:^7.24.7": - version: 7.24.7 - resolution: "@babel/compat-data@npm:7.24.7" - checksum: 1fc276825dd434fe044877367dfac84171328e75a8483a6976aa28bf833b32367e90ee6df25bdd97c287d1aa8019757adcccac9153de70b1932c0d243a978ae9 +"@babel/compat-data@npm:^7.17.7, @babel/compat-data@npm:^7.20.5, @babel/compat-data@npm:^7.22.6, @babel/compat-data@npm:^7.25.2, @babel/compat-data@npm:^7.25.4": + version: 7.25.4 + resolution: "@babel/compat-data@npm:7.25.4" + checksum: b12a91d27c3731a4b0bdc9312a50b1911f41f7f728aaf0d4b32486e2257fd2cb2d3ea1a295e98449600c48f2c7883a3196ca77cda1cef7d97a10c2e83d037974 languageName: node linkType: hard -"@babel/core@npm:^7.11.6, @babel/core@npm:^7.12.3, @babel/core@npm:^7.13.16, @babel/core@npm:^7.14.0, @babel/core@npm:^7.16.0, @babel/core@npm:^7.18.5, @babel/core@npm:^7.20.0, @babel/core@npm:^7.22.20, @babel/core@npm:^7.24.7": - version: 7.24.7 - resolution: "@babel/core@npm:7.24.7" +"@babel/core@npm:^7.11.6, @babel/core@npm:^7.12.3, @babel/core@npm:^7.13.16, @babel/core@npm:^7.14.0, @babel/core@npm:^7.16.0, @babel/core@npm:^7.18.5, @babel/core@npm:^7.20.0, @babel/core@npm:^7.22.20, @babel/core@npm:^7.25.2": + version: 7.25.2 + resolution: "@babel/core@npm:7.25.2" dependencies: "@ampproject/remapping": ^2.2.0 "@babel/code-frame": ^7.24.7 - "@babel/generator": ^7.24.7 - "@babel/helper-compilation-targets": ^7.24.7 - "@babel/helper-module-transforms": ^7.24.7 - "@babel/helpers": ^7.24.7 - "@babel/parser": ^7.24.7 - "@babel/template": ^7.24.7 - "@babel/traverse": ^7.24.7 - "@babel/types": ^7.24.7 + "@babel/generator": ^7.25.0 + "@babel/helper-compilation-targets": ^7.25.2 + "@babel/helper-module-transforms": ^7.25.2 + "@babel/helpers": ^7.25.0 + "@babel/parser": ^7.25.0 + "@babel/template": ^7.25.0 + "@babel/traverse": ^7.25.2 + "@babel/types": ^7.25.2 convert-source-map: ^2.0.0 debug: ^4.1.0 gensync: ^1.0.0-beta.2 json5: ^2.2.3 semver: ^6.3.1 - checksum: 017497e2a1b4683a885219eef7d2aee83c1c0cf353506b2e180b73540ec28841d8ef1ea1837fa69f8c561574b24ddd72f04764b27b87afedfe0a07299ccef24d + checksum: 9a1ef604a7eb62195f70f9370cec45472a08114e3934e3eaaedee8fd754edf0730e62347c7b4b5e67d743ce57b5bb8cf3b92459482ca94d06e06246ef021390a languageName: node linkType: hard @@ -97,15 +97,15 @@ __metadata: languageName: node linkType: hard -"@babel/generator@npm:^7.20.0, @babel/generator@npm:^7.20.5, @babel/generator@npm:^7.24.7, @babel/generator@npm:^7.7.2": - version: 7.24.7 - resolution: "@babel/generator@npm:7.24.7" +"@babel/generator@npm:^7.20.0, @babel/generator@npm:^7.20.5, @babel/generator@npm:^7.25.0, @babel/generator@npm:^7.25.6, @babel/generator@npm:^7.7.2": + version: 7.25.6 + resolution: "@babel/generator@npm:7.25.6" dependencies: - "@babel/types": ^7.24.7 + "@babel/types": ^7.25.6 "@jridgewell/gen-mapping": ^0.3.5 "@jridgewell/trace-mapping": ^0.3.25 jsesc: ^2.5.1 - checksum: 0ff31a73b15429f1287e4d57b439bba4a266f8c673bb445fe313b82f6d110f586776997eb723a777cd7adad9d340edd162aea4973a90112c5d0cfcaf6686844b + checksum: b55975cd664f5602304d868bb34f4ee3bed6f5c7ce8132cd92ff27a46a53a119def28a182d91992e86f75db904f63094a81247703c4dc96e4db0c03fd04bcd68 languageName: node linkType: hard @@ -128,48 +128,46 @@ __metadata: languageName: node linkType: hard -"@babel/helper-compilation-targets@npm:^7.17.7, @babel/helper-compilation-targets@npm:^7.20.7, @babel/helper-compilation-targets@npm:^7.22.6, @babel/helper-compilation-targets@npm:^7.24.7": - version: 7.24.7 - resolution: "@babel/helper-compilation-targets@npm:7.24.7" +"@babel/helper-compilation-targets@npm:^7.17.7, @babel/helper-compilation-targets@npm:^7.20.7, @babel/helper-compilation-targets@npm:^7.22.6, @babel/helper-compilation-targets@npm:^7.24.7, @babel/helper-compilation-targets@npm:^7.24.8, @babel/helper-compilation-targets@npm:^7.25.2": + version: 7.25.2 + resolution: "@babel/helper-compilation-targets@npm:7.25.2" dependencies: - "@babel/compat-data": ^7.24.7 - "@babel/helper-validator-option": ^7.24.7 - browserslist: ^4.22.2 + "@babel/compat-data": ^7.25.2 + "@babel/helper-validator-option": ^7.24.8 + browserslist: ^4.23.1 lru-cache: ^5.1.1 semver: ^6.3.1 - checksum: dfc88bc35e223ade796c7267901728217c665adc5bc2e158f7b0ae850de14f1b7941bec4fe5950ae46236023cfbdeddd9c747c276acf9b39ca31f8dd97dc6cc6 + checksum: aed33c5496cb9db4b5e2d44e26bf8bc474074cc7f7bb5ebe1d4a20fdeb362cb3ba9e1596ca18c7484bcd6e5c3a155ab975e420d520c0ae60df81f9de04d0fd16 languageName: node linkType: hard -"@babel/helper-create-class-features-plugin@npm:^7.18.6, @babel/helper-create-class-features-plugin@npm:^7.21.0, @babel/helper-create-class-features-plugin@npm:^7.22.10, @babel/helper-create-class-features-plugin@npm:^7.24.7": - version: 7.24.7 - resolution: "@babel/helper-create-class-features-plugin@npm:7.24.7" +"@babel/helper-create-class-features-plugin@npm:^7.18.6, @babel/helper-create-class-features-plugin@npm:^7.21.0, @babel/helper-create-class-features-plugin@npm:^7.22.10, @babel/helper-create-class-features-plugin@npm:^7.24.7, @babel/helper-create-class-features-plugin@npm:^7.25.4": + version: 7.25.4 + resolution: "@babel/helper-create-class-features-plugin@npm:7.25.4" dependencies: "@babel/helper-annotate-as-pure": ^7.24.7 - "@babel/helper-environment-visitor": ^7.24.7 - "@babel/helper-function-name": ^7.24.7 - "@babel/helper-member-expression-to-functions": ^7.24.7 + "@babel/helper-member-expression-to-functions": ^7.24.8 "@babel/helper-optimise-call-expression": ^7.24.7 - "@babel/helper-replace-supers": ^7.24.7 + "@babel/helper-replace-supers": ^7.25.0 "@babel/helper-skip-transparent-expression-wrappers": ^7.24.7 - "@babel/helper-split-export-declaration": ^7.24.7 + "@babel/traverse": ^7.25.4 semver: ^6.3.1 peerDependencies: "@babel/core": ^7.0.0 - checksum: 371a181a1717a9b0cebc97727c8ea9ca6afa34029476a684b6030f9d1ad94dcdafd7de175da10b63ae3ba79e4e82404db8ed968ebf264b768f097e5d64faab71 + checksum: 4544ebda4516eb25efdebd47ca024bd7bdb1eb6e7cc3ad89688c8ef8e889734c2f4411ed78981899c641394f013f246f2af63d92a0e9270f6c453309b4cb89ba languageName: node linkType: hard -"@babel/helper-create-regexp-features-plugin@npm:^7.18.6, @babel/helper-create-regexp-features-plugin@npm:^7.24.7": - version: 7.24.7 - resolution: "@babel/helper-create-regexp-features-plugin@npm:7.24.7" +"@babel/helper-create-regexp-features-plugin@npm:^7.18.6, @babel/helper-create-regexp-features-plugin@npm:^7.24.7, @babel/helper-create-regexp-features-plugin@npm:^7.25.0, @babel/helper-create-regexp-features-plugin@npm:^7.25.2": + version: 7.25.2 + resolution: "@babel/helper-create-regexp-features-plugin@npm:7.25.2" dependencies: "@babel/helper-annotate-as-pure": ^7.24.7 regexpu-core: ^5.3.1 semver: ^6.3.1 peerDependencies: "@babel/core": ^7.0.0 - checksum: 17c59fa222af50f643946eca940ce1d474ff2da1f4afed2312687ab9d708ebbb8c9372754ddbdf44b6e21ead88b8fc144644f3a7b63ccb886de002458cef3974 + checksum: df55fdc6a1f3090dd37d91347df52d9322d52affa239543808dc142f8fe35e6787e67d8612337668198fac85826fafa9e6772e6c28b7d249ec94e6fafae5da6e languageName: node linkType: hard @@ -189,7 +187,7 @@ __metadata: languageName: node linkType: hard -"@babel/helper-define-polyfill-provider@npm:^0.6.1, @babel/helper-define-polyfill-provider@npm:^0.6.2": +"@babel/helper-define-polyfill-provider@npm:^0.6.2": version: 0.6.2 resolution: "@babel/helper-define-polyfill-provider@npm:0.6.2" dependencies: @@ -204,7 +202,7 @@ __metadata: languageName: node linkType: hard -"@babel/helper-environment-visitor@npm:^7.18.9, @babel/helper-environment-visitor@npm:^7.24.7": +"@babel/helper-environment-visitor@npm:^7.18.9": version: 7.24.7 resolution: "@babel/helper-environment-visitor@npm:7.24.7" dependencies: @@ -213,32 +211,13 @@ __metadata: languageName: node linkType: hard -"@babel/helper-function-name@npm:^7.24.7": - version: 7.24.7 - resolution: "@babel/helper-function-name@npm:7.24.7" - dependencies: - "@babel/template": ^7.24.7 - "@babel/types": ^7.24.7 - checksum: 142ee08922074dfdc0ff358e09ef9f07adf3671ab6eef4fca74dcf7a551f1a43717e7efa358c9e28d7eea84c28d7f177b7a58c70452fc312ae3b1893c5dab2a4 - languageName: node - linkType: hard - -"@babel/helper-hoist-variables@npm:^7.24.7": - version: 7.24.7 - resolution: "@babel/helper-hoist-variables@npm:7.24.7" +"@babel/helper-member-expression-to-functions@npm:^7.24.8": + version: 7.24.8 + resolution: "@babel/helper-member-expression-to-functions@npm:7.24.8" dependencies: - "@babel/types": ^7.24.7 - checksum: 6cfdcf2289cd12185dcdbdf2435fa8d3447b797ac75851166de9fc8503e2fd0021db6baf8dfbecad3753e582c08e6a3f805c8d00cbed756060a877d705bd8d8d - languageName: node - linkType: hard - -"@babel/helper-member-expression-to-functions@npm:^7.24.7": - version: 7.24.7 - resolution: "@babel/helper-member-expression-to-functions@npm:7.24.7" - dependencies: - "@babel/traverse": ^7.24.7 - "@babel/types": ^7.24.7 - checksum: 9fecf412f85fa23b7cf55d19eb69de39f8240426a028b141c9df2aed8cfedf20b3ec3318d40312eb7a3dec9eea792828ce0d590e0ff62da3da532482f537192c + "@babel/traverse": ^7.24.8 + "@babel/types": ^7.24.8 + checksum: bf923d05d81b06857f4ca4fe9c528c9c447a58db5ea39595bb559eae2fce01a8266173db0fd6a2ec129d7bbbb9bb22f4e90008252f7c66b422c76630a878a4bc languageName: node linkType: hard @@ -252,18 +231,17 @@ __metadata: languageName: node linkType: hard -"@babel/helper-module-transforms@npm:^7.24.7": - version: 7.24.7 - resolution: "@babel/helper-module-transforms@npm:7.24.7" +"@babel/helper-module-transforms@npm:^7.24.7, @babel/helper-module-transforms@npm:^7.24.8, @babel/helper-module-transforms@npm:^7.25.0, @babel/helper-module-transforms@npm:^7.25.2": + version: 7.25.2 + resolution: "@babel/helper-module-transforms@npm:7.25.2" dependencies: - "@babel/helper-environment-visitor": ^7.24.7 "@babel/helper-module-imports": ^7.24.7 "@babel/helper-simple-access": ^7.24.7 - "@babel/helper-split-export-declaration": ^7.24.7 "@babel/helper-validator-identifier": ^7.24.7 + "@babel/traverse": ^7.25.2 peerDependencies: "@babel/core": ^7.0.0 - checksum: ddff3b41c2667876b4e4e73d961168f48a5ec9560c95c8c2d109e6221f9ca36c6f90c6317eb7a47f2a3c99419c356e529a86b79174cad0d4f7a61960866b88ca + checksum: 282d4e3308df6746289e46e9c39a0870819630af5f84d632559171e4fae6045684d771a65f62df3d569e88ccf81dc2def78b8338a449ae3a94bb421aa14fc367 languageName: node linkType: hard @@ -276,36 +254,36 @@ __metadata: languageName: node linkType: hard -"@babel/helper-plugin-utils@npm:^7.0.0, @babel/helper-plugin-utils@npm:^7.10.4, @babel/helper-plugin-utils@npm:^7.12.13, @babel/helper-plugin-utils@npm:^7.14.5, @babel/helper-plugin-utils@npm:^7.16.7, @babel/helper-plugin-utils@npm:^7.18.6, @babel/helper-plugin-utils@npm:^7.18.9, @babel/helper-plugin-utils@npm:^7.20.2, @babel/helper-plugin-utils@npm:^7.22.5, @babel/helper-plugin-utils@npm:^7.24.7, @babel/helper-plugin-utils@npm:^7.8.0, @babel/helper-plugin-utils@npm:^7.8.3": - version: 7.24.7 - resolution: "@babel/helper-plugin-utils@npm:7.24.7" - checksum: 81f2a15751d892e4a8fce25390f973363a5b27596167861d2d6eab0f61856eb2ba389b031a9f19f669c0bd4dd601185828d3cebafd25431be7a1696f2ce3ef68 +"@babel/helper-plugin-utils@npm:^7.0.0, @babel/helper-plugin-utils@npm:^7.10.4, @babel/helper-plugin-utils@npm:^7.12.13, @babel/helper-plugin-utils@npm:^7.14.5, @babel/helper-plugin-utils@npm:^7.16.7, @babel/helper-plugin-utils@npm:^7.18.6, @babel/helper-plugin-utils@npm:^7.18.9, @babel/helper-plugin-utils@npm:^7.20.2, @babel/helper-plugin-utils@npm:^7.22.5, @babel/helper-plugin-utils@npm:^7.24.7, @babel/helper-plugin-utils@npm:^7.24.8, @babel/helper-plugin-utils@npm:^7.8.0, @babel/helper-plugin-utils@npm:^7.8.3": + version: 7.24.8 + resolution: "@babel/helper-plugin-utils@npm:7.24.8" + checksum: 73b1a83ba8bcee21dc94de2eb7323207391715e4369fd55844bb15cf13e3df6f3d13a40786d990e6370bf0f571d94fc31f70dec96c1d1002058258c35ca3767a languageName: node linkType: hard -"@babel/helper-remap-async-to-generator@npm:^7.18.9, @babel/helper-remap-async-to-generator@npm:^7.24.7": - version: 7.24.7 - resolution: "@babel/helper-remap-async-to-generator@npm:7.24.7" +"@babel/helper-remap-async-to-generator@npm:^7.18.9, @babel/helper-remap-async-to-generator@npm:^7.24.7, @babel/helper-remap-async-to-generator@npm:^7.25.0": + version: 7.25.0 + resolution: "@babel/helper-remap-async-to-generator@npm:7.25.0" dependencies: "@babel/helper-annotate-as-pure": ^7.24.7 - "@babel/helper-environment-visitor": ^7.24.7 - "@babel/helper-wrap-function": ^7.24.7 + "@babel/helper-wrap-function": ^7.25.0 + "@babel/traverse": ^7.25.0 peerDependencies: "@babel/core": ^7.0.0 - checksum: bab7be178f875350f22a2cb9248f67fe3a8a8128db77a25607096ca7599fd972bc7049fb11ed9e95b45a3f1dd1fac3846a3279f9cbac16f337ecb0e6ca76e1fc + checksum: 47f3065e43fe9d6128ddb4291ffb9cf031935379265fd13de972b5f241943121f7583efb69cd2e1ecf39e3d0f76f047547d56c3fcc2c853b326fad5465da0bd7 languageName: node linkType: hard -"@babel/helper-replace-supers@npm:^7.22.9, @babel/helper-replace-supers@npm:^7.24.7": - version: 7.24.7 - resolution: "@babel/helper-replace-supers@npm:7.24.7" +"@babel/helper-replace-supers@npm:^7.22.9, @babel/helper-replace-supers@npm:^7.24.7, @babel/helper-replace-supers@npm:^7.25.0": + version: 7.25.0 + resolution: "@babel/helper-replace-supers@npm:7.25.0" dependencies: - "@babel/helper-environment-visitor": ^7.24.7 - "@babel/helper-member-expression-to-functions": ^7.24.7 + "@babel/helper-member-expression-to-functions": ^7.24.8 "@babel/helper-optimise-call-expression": ^7.24.7 + "@babel/traverse": ^7.25.0 peerDependencies: "@babel/core": ^7.0.0 - checksum: 2bf0d113355c60d86a04e930812d36f5691f26c82d4ec1739e5ec0a4c982c9113dad3167f7c74f888a96328bd5e696372232406d8200e5979e6e0dc2af5e7c76 + checksum: f669fc2487c22d40b808f94b9c3ee41129484d5ef0ba689bdd70f216ff91e10b6b021d2f8cd37e7bdd700235a2a6ae6622526344f064528190383bf661ac65f8 languageName: node linkType: hard @@ -329,7 +307,7 @@ __metadata: languageName: node linkType: hard -"@babel/helper-split-export-declaration@npm:^7.22.6, @babel/helper-split-export-declaration@npm:^7.24.7": +"@babel/helper-split-export-declaration@npm:^7.22.6": version: 7.24.7 resolution: "@babel/helper-split-export-declaration@npm:7.24.7" dependencies: @@ -338,10 +316,10 @@ __metadata: languageName: node linkType: hard -"@babel/helper-string-parser@npm:^7.24.7": - version: 7.24.7 - resolution: "@babel/helper-string-parser@npm:7.24.7" - checksum: 09568193044a578743dd44bf7397940c27ea693f9812d24acb700890636b376847a611cdd0393a928544e79d7ad5b8b916bd8e6e772bc8a10c48a647a96e7b1a +"@babel/helper-string-parser@npm:^7.24.8": + version: 7.24.8 + resolution: "@babel/helper-string-parser@npm:7.24.8" + checksum: 39b03c5119216883878655b149148dc4d2e284791e969b19467a9411fccaa33f7a713add98f4db5ed519535f70ad273cdadfd2eb54d47ebbdeac5083351328ce languageName: node linkType: hard @@ -352,32 +330,31 @@ __metadata: languageName: node linkType: hard -"@babel/helper-validator-option@npm:^7.22.15, @babel/helper-validator-option@npm:^7.24.7": - version: 7.24.7 - resolution: "@babel/helper-validator-option@npm:7.24.7" - checksum: 9689166bf3f777dd424c026841c8cd651e41b21242dbfd4569a53086179a3e744c8eddd56e9d10b54142270141c91581b53af0d7c00c82d552d2540e2a919f7e +"@babel/helper-validator-option@npm:^7.22.15, @babel/helper-validator-option@npm:^7.24.7, @babel/helper-validator-option@npm:^7.24.8": + version: 7.24.8 + resolution: "@babel/helper-validator-option@npm:7.24.8" + checksum: a52442dfa74be6719c0608fee3225bd0493c4057459f3014681ea1a4643cd38b68ff477fe867c4b356da7330d085f247f0724d300582fa4ab9a02efaf34d107c languageName: node linkType: hard -"@babel/helper-wrap-function@npm:^7.24.7": - version: 7.24.7 - resolution: "@babel/helper-wrap-function@npm:7.24.7" +"@babel/helper-wrap-function@npm:^7.25.0": + version: 7.25.0 + resolution: "@babel/helper-wrap-function@npm:7.25.0" dependencies: - "@babel/helper-function-name": ^7.24.7 - "@babel/template": ^7.24.7 - "@babel/traverse": ^7.24.7 - "@babel/types": ^7.24.7 - checksum: 085bf130ed08670336e3976f5841ae44e3e10001131632e22ef234659341978d2fd37e65785f59b6cb1745481347fc3bce84b33a685cacb0a297afbe1d2b03af + "@babel/template": ^7.25.0 + "@babel/traverse": ^7.25.0 + "@babel/types": ^7.25.0 + checksum: 0095b4741704066d1687f9bbd5370bb88c733919e4275e49615f70c180208148ff5f24ab58d186ce92f8f5d28eab034ec6617e9264590cc4744c75302857629c languageName: node linkType: hard -"@babel/helpers@npm:^7.24.7": - version: 7.24.7 - resolution: "@babel/helpers@npm:7.24.7" +"@babel/helpers@npm:^7.25.0": + version: 7.25.6 + resolution: "@babel/helpers@npm:7.25.6" dependencies: - "@babel/template": ^7.24.7 - "@babel/types": ^7.24.7 - checksum: 934da58098a3670ca7f9f42425b9c44d0ca4f8fad815c0f51d89fc7b64c5e0b4c7d5fec038599de691229ada737edeaf72fad3eba8e16dd5842e8ea447f76b66 + "@babel/template": ^7.25.0 + "@babel/types": ^7.25.6 + checksum: 5a548999db82049a5f7ac6de57576b4ed0d386ce07d058151698836ed411eae6230db12535487caeebb68a2ffc964491e8aead62364a5132ab0ae20e8b68e19f languageName: node linkType: hard @@ -393,35 +370,48 @@ __metadata: languageName: node linkType: hard -"@babel/parser@npm:^7.1.0, @babel/parser@npm:^7.13.16, @babel/parser@npm:^7.14.0, @babel/parser@npm:^7.14.7, @babel/parser@npm:^7.20.0, @babel/parser@npm:^7.20.7, @babel/parser@npm:^7.24.7": - version: 7.24.7 - resolution: "@babel/parser@npm:7.24.7" +"@babel/parser@npm:^7.1.0, @babel/parser@npm:^7.13.16, @babel/parser@npm:^7.14.0, @babel/parser@npm:^7.14.7, @babel/parser@npm:^7.20.0, @babel/parser@npm:^7.20.7, @babel/parser@npm:^7.25.0, @babel/parser@npm:^7.25.6": + version: 7.25.6 + resolution: "@babel/parser@npm:7.25.6" + dependencies: + "@babel/types": ^7.25.6 bin: parser: ./bin/babel-parser.js - checksum: fc9d2c4c8712f89672edc55c0dc5cf640dcec715b56480f111f85c2bc1d507e251596e4110d65796690a96ac37a4b60432af90b3e97bb47e69d4ef83872dbbd6 + checksum: 85b237ded09ee43cc984493c35f3b1ff8a83e8dbbb8026b8132e692db6567acc5a1659ec928e4baa25499ddd840d7dae9dee3062be7108fe23ec5f94a8066b1e languageName: node linkType: hard -"@babel/plugin-bugfix-firefox-class-in-computed-class-key@npm:^7.24.7": - version: 7.24.7 - resolution: "@babel/plugin-bugfix-firefox-class-in-computed-class-key@npm:7.24.7" +"@babel/plugin-bugfix-firefox-class-in-computed-class-key@npm:^7.25.3": + version: 7.25.3 + resolution: "@babel/plugin-bugfix-firefox-class-in-computed-class-key@npm:7.25.3" dependencies: - "@babel/helper-environment-visitor": ^7.24.7 - "@babel/helper-plugin-utils": ^7.24.7 + "@babel/helper-plugin-utils": ^7.24.8 + "@babel/traverse": ^7.25.3 peerDependencies: "@babel/core": ^7.0.0 - checksum: 68d315642b53af143aa17a71eb976cf431b51339aee584e29514a462b81c998636dd54219c2713b5f13e1df89eaf130dfab59683f9116825608708c81696b96c + checksum: d3dba60f360defe70eb43e35a1b17ea9dd4a99e734249e15be3d5c288019644f96f88d7ff51990118fda0845b4ad50f6d869e0382232b1d8b054d113d4eea7e2 languageName: node linkType: hard -"@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression@npm:^7.24.7": - version: 7.24.7 - resolution: "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression@npm:7.24.7" +"@babel/plugin-bugfix-safari-class-field-initializer-scope@npm:^7.25.0": + version: 7.25.0 + resolution: "@babel/plugin-bugfix-safari-class-field-initializer-scope@npm:7.25.0" dependencies: - "@babel/helper-plugin-utils": ^7.24.7 + "@babel/helper-plugin-utils": ^7.24.8 peerDependencies: "@babel/core": ^7.0.0 - checksum: 7eb4e7ce5e3d6db4b0fdbdfaaa301c2e58f38a7ee39d5a4259a1fda61a612e83d3e4bc90fc36fb0345baf57e1e1a071e0caffeb80218623ad163f2fdc2e53a54 + checksum: fd56d1e6435f2c008ca9050ea906ff7eedcbec43f532f2bf2e7e905d8bf75bf5e4295ea9593f060394e2c8e45737266ccbf718050bad2dd7be4e7613c60d1b5b + languageName: node + linkType: hard + +"@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression@npm:^7.25.0": + version: 7.25.0 + resolution: "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression@npm:7.25.0" + dependencies: + "@babel/helper-plugin-utils": ^7.24.8 + peerDependencies: + "@babel/core": ^7.0.0 + checksum: 13ed301b108d85867d64226bbc4032b07dd1a23aab68e9e32452c4fe3930f2198bb65bdae9c262c4104bd5e45647bc1830d25d43d356ee9a137edd8d5fab8350 languageName: node linkType: hard @@ -438,15 +428,15 @@ __metadata: languageName: node linkType: hard -"@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly@npm:^7.24.7": - version: 7.24.7 - resolution: "@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly@npm:7.24.7" +"@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly@npm:^7.25.0": + version: 7.25.0 + resolution: "@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly@npm:7.25.0" dependencies: - "@babel/helper-environment-visitor": ^7.24.7 - "@babel/helper-plugin-utils": ^7.24.7 + "@babel/helper-plugin-utils": ^7.24.8 + "@babel/traverse": ^7.25.0 peerDependencies: "@babel/core": ^7.0.0 - checksum: 8324d458db57060590942c7c2e9603880d07718ccb6450ec935105b8bd3c4393c4b8ada88e178c232258d91f33ffdcf2b1043d54e07a86989e50667ee100a32e + checksum: c8d08b8d6cc71451ad2a50cf7db72ab5b41c1e5e2e4d56cf6837a25a61270abd682c6b8881ab025f11a552d2024b3780519bb051459ebb71c27aed13d9917663 languageName: node linkType: hard @@ -890,17 +880,17 @@ __metadata: languageName: node linkType: hard -"@babel/plugin-transform-async-generator-functions@npm:^7.24.7": - version: 7.24.7 - resolution: "@babel/plugin-transform-async-generator-functions@npm:7.24.7" +"@babel/plugin-transform-async-generator-functions@npm:^7.25.4": + version: 7.25.4 + resolution: "@babel/plugin-transform-async-generator-functions@npm:7.25.4" dependencies: - "@babel/helper-environment-visitor": ^7.24.7 - "@babel/helper-plugin-utils": ^7.24.7 - "@babel/helper-remap-async-to-generator": ^7.24.7 + "@babel/helper-plugin-utils": ^7.24.8 + "@babel/helper-remap-async-to-generator": ^7.25.0 "@babel/plugin-syntax-async-generators": ^7.8.4 + "@babel/traverse": ^7.25.4 peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 112e3b18f9c496ebc01209fc27f0b41a3669c479c7bc44f7249383172b432ebaae1e523caa7c6ecbd2d0d7adcb7e5769fe2798f8cb01c08cd57232d1bb6d8ad4 + checksum: 4235444735a1946f8766fe56564a8134c2c36c73e6cf83b3f2ed5624ebc84ff5979506a6a5b39acdb23aa09d442a6af471710ed408ccce533a2c4d2990b9df6a languageName: node linkType: hard @@ -928,26 +918,26 @@ __metadata: languageName: node linkType: hard -"@babel/plugin-transform-block-scoping@npm:^7.0.0, @babel/plugin-transform-block-scoping@npm:^7.24.7": - version: 7.24.7 - resolution: "@babel/plugin-transform-block-scoping@npm:7.24.7" +"@babel/plugin-transform-block-scoping@npm:^7.0.0, @babel/plugin-transform-block-scoping@npm:^7.25.0": + version: 7.25.0 + resolution: "@babel/plugin-transform-block-scoping@npm:7.25.0" dependencies: - "@babel/helper-plugin-utils": ^7.24.7 + "@babel/helper-plugin-utils": ^7.24.8 peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 039206155533600f079f3a455f85888dd7d4970ff7ffa85ef44760f4f5acb9f19c9d848cc1fec1b9bdbc0dfec9e8a080b90d0ab66ad2bdc7138b5ca4ba96e61c + checksum: b1a8f932f69ad2a47ae3e02b4cedd2a876bfc2ac9cf72a503fd706cdc87272646fe9eed81e068c0fc639647033de29f7fa0c21cddd1da0026f83dbaac97316a8 languageName: node linkType: hard -"@babel/plugin-transform-class-properties@npm:^7.24.7": - version: 7.24.7 - resolution: "@babel/plugin-transform-class-properties@npm:7.24.7" +"@babel/plugin-transform-class-properties@npm:^7.25.4": + version: 7.25.4 + resolution: "@babel/plugin-transform-class-properties@npm:7.25.4" dependencies: - "@babel/helper-create-class-features-plugin": ^7.24.7 - "@babel/helper-plugin-utils": ^7.24.7 + "@babel/helper-create-class-features-plugin": ^7.25.4 + "@babel/helper-plugin-utils": ^7.24.8 peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 1348d7ce74da38ba52ea85b3b4289a6a86913748569ef92ef0cff30702a9eb849e5eaf59f1c6f3517059aa68115fb3067e389735dccacca39add4e2b0c67e291 + checksum: b73f7d968639c6c2dfc13f4c5a8fe45cefd260f0faa7890ae12e65d41211072544ff5e128c8b61a86887b29ffd3df8422dbdfbf61648488e71d4bb599c41f4a5 languageName: node linkType: hard @@ -964,21 +954,19 @@ __metadata: languageName: node linkType: hard -"@babel/plugin-transform-classes@npm:^7.0.0, @babel/plugin-transform-classes@npm:^7.24.7": - version: 7.24.7 - resolution: "@babel/plugin-transform-classes@npm:7.24.7" +"@babel/plugin-transform-classes@npm:^7.0.0, @babel/plugin-transform-classes@npm:^7.25.4": + version: 7.25.4 + resolution: "@babel/plugin-transform-classes@npm:7.25.4" dependencies: "@babel/helper-annotate-as-pure": ^7.24.7 - "@babel/helper-compilation-targets": ^7.24.7 - "@babel/helper-environment-visitor": ^7.24.7 - "@babel/helper-function-name": ^7.24.7 - "@babel/helper-plugin-utils": ^7.24.7 - "@babel/helper-replace-supers": ^7.24.7 - "@babel/helper-split-export-declaration": ^7.24.7 + "@babel/helper-compilation-targets": ^7.25.2 + "@babel/helper-plugin-utils": ^7.24.8 + "@babel/helper-replace-supers": ^7.25.0 + "@babel/traverse": ^7.25.4 globals: ^11.1.0 peerDependencies: "@babel/core": ^7.0.0-0 - checksum: f01cb31143730d425681e9816020cbb519c7ddb3b6ca308dfaf2821eda5699a746637fc6bf19811e2fb42cfdf8b00a21b31c754da83771a5c280077925677354 + checksum: 0bf20e46eeb691bd60cee5d1b01950fc37accec88018ecace25099f7c8d8509c1ac54d11b8caf9f2157c6945969520642a3bc421159c1a14e80224dc9a7611de languageName: node linkType: hard @@ -994,14 +982,14 @@ __metadata: languageName: node linkType: hard -"@babel/plugin-transform-destructuring@npm:^7.0.0, @babel/plugin-transform-destructuring@npm:^7.20.0, @babel/plugin-transform-destructuring@npm:^7.24.7": - version: 7.24.7 - resolution: "@babel/plugin-transform-destructuring@npm:7.24.7" +"@babel/plugin-transform-destructuring@npm:^7.0.0, @babel/plugin-transform-destructuring@npm:^7.20.0, @babel/plugin-transform-destructuring@npm:^7.24.8": + version: 7.24.8 + resolution: "@babel/plugin-transform-destructuring@npm:7.24.8" dependencies: - "@babel/helper-plugin-utils": ^7.24.7 + "@babel/helper-plugin-utils": ^7.24.8 peerDependencies: "@babel/core": ^7.0.0-0 - checksum: b9637b27faf9d24a8119bc5a1f98a2f47c69e6441bd8fc71163500be316253a72173308a93122bcf27d8d314ace43344c976f7291cf6376767f408350c8149d4 + checksum: 0b4bd3d608979a1e5bd97d9d42acd5ad405c7fffa61efac4c7afd8e86ea6c2d91ab2d94b6a98d63919571363fe76e0b03c4ff161f0f60241b895842596e4a999 languageName: node linkType: hard @@ -1028,6 +1016,18 @@ __metadata: languageName: node linkType: hard +"@babel/plugin-transform-duplicate-named-capturing-groups-regex@npm:^7.25.0": + version: 7.25.0 + resolution: "@babel/plugin-transform-duplicate-named-capturing-groups-regex@npm:7.25.0" + dependencies: + "@babel/helper-create-regexp-features-plugin": ^7.25.0 + "@babel/helper-plugin-utils": ^7.24.8 + peerDependencies: + "@babel/core": ^7.0.0 + checksum: 608d6b0e77341189508880fd1a9f605a38d0803dd6f678ea3920ab181b17b377f6d5221ae8cf0104c7a044d30d4ddb0366bd064447695671d78457a656bb264f + languageName: node + linkType: hard + "@babel/plugin-transform-dynamic-import@npm:^7.24.7": version: 7.24.7 resolution: "@babel/plugin-transform-dynamic-import@npm:7.24.7" @@ -1088,16 +1088,16 @@ __metadata: languageName: node linkType: hard -"@babel/plugin-transform-function-name@npm:^7.0.0, @babel/plugin-transform-function-name@npm:^7.24.7": - version: 7.24.7 - resolution: "@babel/plugin-transform-function-name@npm:7.24.7" +"@babel/plugin-transform-function-name@npm:^7.0.0, @babel/plugin-transform-function-name@npm:^7.25.1": + version: 7.25.1 + resolution: "@babel/plugin-transform-function-name@npm:7.25.1" dependencies: - "@babel/helper-compilation-targets": ^7.24.7 - "@babel/helper-function-name": ^7.24.7 - "@babel/helper-plugin-utils": ^7.24.7 + "@babel/helper-compilation-targets": ^7.24.8 + "@babel/helper-plugin-utils": ^7.24.8 + "@babel/traverse": ^7.25.1 peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 8eb1a67894a124910b5a67630bed4307757504381f39f0fb5cf82afc7ae8647dbc03b256d13865b73a749b9071b68e9fb8a28cef2369917b4299ebb93fd66146 + checksum: 743f3ea03bbc5a90944849d5a880b6bd9243dddbde581a46952da76e53a0b74c1e2424133fe8129d7a152c1f8c872bcd27e0b6728d7caadabd1afa7bb892e1e0 languageName: node linkType: hard @@ -1113,14 +1113,14 @@ __metadata: languageName: node linkType: hard -"@babel/plugin-transform-literals@npm:^7.0.0, @babel/plugin-transform-literals@npm:^7.24.7": - version: 7.24.7 - resolution: "@babel/plugin-transform-literals@npm:7.24.7" +"@babel/plugin-transform-literals@npm:^7.0.0, @babel/plugin-transform-literals@npm:^7.25.2": + version: 7.25.2 + resolution: "@babel/plugin-transform-literals@npm:7.25.2" dependencies: - "@babel/helper-plugin-utils": ^7.24.7 + "@babel/helper-plugin-utils": ^7.24.8 peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 3c075cc093a3dd9e294b8b7d6656e65f889e7ca2179ca27978dcd65b4dc4885ebbfb327408d7d8f483c55547deed00ba840956196f3ac8a3c3d2308a330a8c23 + checksum: 70c9bb40e377a306bd8f500899fb72127e527517914466e95dc6bb53fa7a0f51479db244a54a771b5780fc1eab488fedd706669bf11097b81a23c81ab7423eb1 languageName: node linkType: hard @@ -1159,30 +1159,30 @@ __metadata: languageName: node linkType: hard -"@babel/plugin-transform-modules-commonjs@npm:^7.0.0, @babel/plugin-transform-modules-commonjs@npm:^7.13.8, @babel/plugin-transform-modules-commonjs@npm:^7.24.7": - version: 7.24.7 - resolution: "@babel/plugin-transform-modules-commonjs@npm:7.24.7" +"@babel/plugin-transform-modules-commonjs@npm:^7.0.0, @babel/plugin-transform-modules-commonjs@npm:^7.13.8, @babel/plugin-transform-modules-commonjs@npm:^7.24.7, @babel/plugin-transform-modules-commonjs@npm:^7.24.8": + version: 7.24.8 + resolution: "@babel/plugin-transform-modules-commonjs@npm:7.24.8" dependencies: - "@babel/helper-module-transforms": ^7.24.7 - "@babel/helper-plugin-utils": ^7.24.7 + "@babel/helper-module-transforms": ^7.24.8 + "@babel/helper-plugin-utils": ^7.24.8 "@babel/helper-simple-access": ^7.24.7 peerDependencies: "@babel/core": ^7.0.0-0 - checksum: bfda2a0297197ed342e2a02e5f9847a489a3ae40a4a7d7f00f4aeb8544a85e9006e0c5271c8f61f39bc97975ef2717b5594cf9486694377a53433162909d64c1 + checksum: a4cf95b1639c33382064b44558f73ee5fac023f2a94d16e549d2bb55ceebd5cbc10fcddd505d08cd5bc97f5a64af9fd155512358b7dcf7b1a0082e8945cf21c5 languageName: node linkType: hard -"@babel/plugin-transform-modules-systemjs@npm:^7.24.7": - version: 7.24.7 - resolution: "@babel/plugin-transform-modules-systemjs@npm:7.24.7" +"@babel/plugin-transform-modules-systemjs@npm:^7.25.0": + version: 7.25.0 + resolution: "@babel/plugin-transform-modules-systemjs@npm:7.25.0" dependencies: - "@babel/helper-hoist-variables": ^7.24.7 - "@babel/helper-module-transforms": ^7.24.7 - "@babel/helper-plugin-utils": ^7.24.7 + "@babel/helper-module-transforms": ^7.25.0 + "@babel/helper-plugin-utils": ^7.24.8 "@babel/helper-validator-identifier": ^7.24.7 + "@babel/traverse": ^7.25.0 peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 8af7a9db2929991d82cfdf41fb175dee344274d39b39122f8c35f24b5d682f98368e3d8f5130401298bd21412df21d416a7d8b33b59c334fae3d3c762118b1d8 + checksum: fe673bec08564e491847324bb80a1e6edfb229f5c37e58a094d51e95306e7b098e1d130fc43e992d22debd93b9beac74441ffc3f6ea5d78f6b2535896efa0728 languageName: node linkType: hard @@ -1294,16 +1294,16 @@ __metadata: languageName: node linkType: hard -"@babel/plugin-transform-optional-chaining@npm:^7.24.7": - version: 7.24.7 - resolution: "@babel/plugin-transform-optional-chaining@npm:7.24.7" +"@babel/plugin-transform-optional-chaining@npm:^7.24.7, @babel/plugin-transform-optional-chaining@npm:^7.24.8": + version: 7.24.8 + resolution: "@babel/plugin-transform-optional-chaining@npm:7.24.8" dependencies: - "@babel/helper-plugin-utils": ^7.24.7 + "@babel/helper-plugin-utils": ^7.24.8 "@babel/helper-skip-transparent-expression-wrappers": ^7.24.7 "@babel/plugin-syntax-optional-chaining": ^7.8.3 peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 877e7ce9097d475132c7f4d1244de50bb2fd37993dc4580c735f18f8cbc49282f6e77752821bcad5ca9d3528412d2c8a7ee0aa7ca71bb680ff82648e7a5fed25 + checksum: 45e55e3a2fffb89002d3f89aef59c141610f23b60eee41e047380bffc40290b59f64fc649aa7ec5281f73d41b2065410d788acc6afaad2a9f44cad6e8af04442 languageName: node linkType: hard @@ -1318,15 +1318,15 @@ __metadata: languageName: node linkType: hard -"@babel/plugin-transform-private-methods@npm:^7.22.5, @babel/plugin-transform-private-methods@npm:^7.24.7": - version: 7.24.7 - resolution: "@babel/plugin-transform-private-methods@npm:7.24.7" +"@babel/plugin-transform-private-methods@npm:^7.22.5, @babel/plugin-transform-private-methods@npm:^7.25.4": + version: 7.25.4 + resolution: "@babel/plugin-transform-private-methods@npm:7.25.4" dependencies: - "@babel/helper-create-class-features-plugin": ^7.24.7 - "@babel/helper-plugin-utils": ^7.24.7 + "@babel/helper-create-class-features-plugin": ^7.25.4 + "@babel/helper-plugin-utils": ^7.24.8 peerDependencies: "@babel/core": ^7.0.0-0 - checksum: c151548e34909be2adcceb224d8fdd70bafa393bc1559a600906f3f647317575bf40db670470934a360e90ee8084ef36dffa34ec25d387d414afd841e74cf3fe + checksum: cb1dabfc03e2977990263d65bc8f43a9037dffbb5d9a5f825c00d05447ff68015099408c1531d9dd88f18a41a90f5062dc48f3a1d52b415d2d2ee4827dedff09 languageName: node linkType: hard @@ -1510,14 +1510,14 @@ __metadata: languageName: node linkType: hard -"@babel/plugin-transform-typeof-symbol@npm:^7.24.7": - version: 7.24.7 - resolution: "@babel/plugin-transform-typeof-symbol@npm:7.24.7" +"@babel/plugin-transform-typeof-symbol@npm:^7.24.8": + version: 7.24.8 + resolution: "@babel/plugin-transform-typeof-symbol@npm:7.24.8" dependencies: - "@babel/helper-plugin-utils": ^7.24.7 + "@babel/helper-plugin-utils": ^7.24.8 peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 6bd16b9347614d44187d8f8ee23ebd7be30dabf3632eed5ff0415f35a482e827de220527089eae9cdfb75e85aa72db0e141ebc2247c4b1187c1abcdacdc34895 + checksum: 8663a8e7347cedf181001d99c88cf794b6598c3d82f324098510fe8fb8bd22113995526a77aa35a3cc5d70ffd0617a59dd0d10311a9bf0e1a3a7d3e59b900c00 languageName: node linkType: hard @@ -1570,30 +1570,31 @@ __metadata: languageName: node linkType: hard -"@babel/plugin-transform-unicode-sets-regex@npm:^7.24.7": - version: 7.24.7 - resolution: "@babel/plugin-transform-unicode-sets-regex@npm:7.24.7" +"@babel/plugin-transform-unicode-sets-regex@npm:^7.25.4": + version: 7.25.4 + resolution: "@babel/plugin-transform-unicode-sets-regex@npm:7.25.4" dependencies: - "@babel/helper-create-regexp-features-plugin": ^7.24.7 - "@babel/helper-plugin-utils": ^7.24.7 + "@babel/helper-create-regexp-features-plugin": ^7.25.2 + "@babel/helper-plugin-utils": ^7.24.8 peerDependencies: "@babel/core": ^7.0.0 - checksum: 08a2844914f33dacd2ce1ab021ce8c1cc35dc6568521a746d8bf29c21571ee5be78787b454231c4bb3526cbbe280f1893223c82726cec5df2be5dae0a3b51837 + checksum: 6d1a7e9fdde4ffc9a81c0e3f261b96a9a0dfe65da282ec96fe63b36c597a7389feac638f1df2a8a4f8c9128337bba8e984f934e9f19077930f33abf1926759ea languageName: node linkType: hard -"@babel/preset-env@npm:^7.16.4, @babel/preset-env@npm:^7.18.2, @babel/preset-env@npm:^7.20.0, @babel/preset-env@npm:^7.24.7": - version: 7.24.7 - resolution: "@babel/preset-env@npm:7.24.7" +"@babel/preset-env@npm:^7.16.4, @babel/preset-env@npm:^7.18.2, @babel/preset-env@npm:^7.20.0, @babel/preset-env@npm:^7.25.4": + version: 7.25.4 + resolution: "@babel/preset-env@npm:7.25.4" dependencies: - "@babel/compat-data": ^7.24.7 - "@babel/helper-compilation-targets": ^7.24.7 - "@babel/helper-plugin-utils": ^7.24.7 - "@babel/helper-validator-option": ^7.24.7 - "@babel/plugin-bugfix-firefox-class-in-computed-class-key": ^7.24.7 - "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression": ^7.24.7 + "@babel/compat-data": ^7.25.4 + "@babel/helper-compilation-targets": ^7.25.2 + "@babel/helper-plugin-utils": ^7.24.8 + "@babel/helper-validator-option": ^7.24.8 + "@babel/plugin-bugfix-firefox-class-in-computed-class-key": ^7.25.3 + "@babel/plugin-bugfix-safari-class-field-initializer-scope": ^7.25.0 + "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression": ^7.25.0 "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": ^7.24.7 - "@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly": ^7.24.7 + "@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly": ^7.25.0 "@babel/plugin-proposal-private-property-in-object": 7.21.0-placeholder-for-preset-env.2 "@babel/plugin-syntax-async-generators": ^7.8.4 "@babel/plugin-syntax-class-properties": ^7.12.13 @@ -1614,29 +1615,30 @@ __metadata: "@babel/plugin-syntax-top-level-await": ^7.14.5 "@babel/plugin-syntax-unicode-sets-regex": ^7.18.6 "@babel/plugin-transform-arrow-functions": ^7.24.7 - "@babel/plugin-transform-async-generator-functions": ^7.24.7 + "@babel/plugin-transform-async-generator-functions": ^7.25.4 "@babel/plugin-transform-async-to-generator": ^7.24.7 "@babel/plugin-transform-block-scoped-functions": ^7.24.7 - "@babel/plugin-transform-block-scoping": ^7.24.7 - "@babel/plugin-transform-class-properties": ^7.24.7 + "@babel/plugin-transform-block-scoping": ^7.25.0 + "@babel/plugin-transform-class-properties": ^7.25.4 "@babel/plugin-transform-class-static-block": ^7.24.7 - "@babel/plugin-transform-classes": ^7.24.7 + "@babel/plugin-transform-classes": ^7.25.4 "@babel/plugin-transform-computed-properties": ^7.24.7 - "@babel/plugin-transform-destructuring": ^7.24.7 + "@babel/plugin-transform-destructuring": ^7.24.8 "@babel/plugin-transform-dotall-regex": ^7.24.7 "@babel/plugin-transform-duplicate-keys": ^7.24.7 + "@babel/plugin-transform-duplicate-named-capturing-groups-regex": ^7.25.0 "@babel/plugin-transform-dynamic-import": ^7.24.7 "@babel/plugin-transform-exponentiation-operator": ^7.24.7 "@babel/plugin-transform-export-namespace-from": ^7.24.7 "@babel/plugin-transform-for-of": ^7.24.7 - "@babel/plugin-transform-function-name": ^7.24.7 + "@babel/plugin-transform-function-name": ^7.25.1 "@babel/plugin-transform-json-strings": ^7.24.7 - "@babel/plugin-transform-literals": ^7.24.7 + "@babel/plugin-transform-literals": ^7.25.2 "@babel/plugin-transform-logical-assignment-operators": ^7.24.7 "@babel/plugin-transform-member-expression-literals": ^7.24.7 "@babel/plugin-transform-modules-amd": ^7.24.7 - "@babel/plugin-transform-modules-commonjs": ^7.24.7 - "@babel/plugin-transform-modules-systemjs": ^7.24.7 + "@babel/plugin-transform-modules-commonjs": ^7.24.8 + "@babel/plugin-transform-modules-systemjs": ^7.25.0 "@babel/plugin-transform-modules-umd": ^7.24.7 "@babel/plugin-transform-named-capturing-groups-regex": ^7.24.7 "@babel/plugin-transform-new-target": ^7.24.7 @@ -1645,9 +1647,9 @@ __metadata: "@babel/plugin-transform-object-rest-spread": ^7.24.7 "@babel/plugin-transform-object-super": ^7.24.7 "@babel/plugin-transform-optional-catch-binding": ^7.24.7 - "@babel/plugin-transform-optional-chaining": ^7.24.7 + "@babel/plugin-transform-optional-chaining": ^7.24.8 "@babel/plugin-transform-parameters": ^7.24.7 - "@babel/plugin-transform-private-methods": ^7.24.7 + "@babel/plugin-transform-private-methods": ^7.25.4 "@babel/plugin-transform-private-property-in-object": ^7.24.7 "@babel/plugin-transform-property-literals": ^7.24.7 "@babel/plugin-transform-regenerator": ^7.24.7 @@ -1656,20 +1658,20 @@ __metadata: "@babel/plugin-transform-spread": ^7.24.7 "@babel/plugin-transform-sticky-regex": ^7.24.7 "@babel/plugin-transform-template-literals": ^7.24.7 - "@babel/plugin-transform-typeof-symbol": ^7.24.7 + "@babel/plugin-transform-typeof-symbol": ^7.24.8 "@babel/plugin-transform-unicode-escapes": ^7.24.7 "@babel/plugin-transform-unicode-property-regex": ^7.24.7 "@babel/plugin-transform-unicode-regex": ^7.24.7 - "@babel/plugin-transform-unicode-sets-regex": ^7.24.7 + "@babel/plugin-transform-unicode-sets-regex": ^7.25.4 "@babel/preset-modules": 0.1.6-no-external-plugins babel-plugin-polyfill-corejs2: ^0.4.10 - babel-plugin-polyfill-corejs3: ^0.10.4 + babel-plugin-polyfill-corejs3: ^0.10.6 babel-plugin-polyfill-regenerator: ^0.6.1 - core-js-compat: ^3.31.0 + core-js-compat: ^3.37.1 semver: ^6.3.1 peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 1a82c883c7404359b19b7436d0aab05f8dd4e89e8b1f7de127cc65d0ff6a9b1c345211d9c038f5b6e8f93d26f091fa9c73812d82851026ab4ec93f5ed0f0d675 + checksum: 752be43f0b78a2eefe5007076aed3d21b505e1c09d134b61e7de8838f1bbb1e7af81023d39adb14b6eae23727fb5a9fd23f8115a44df043319be22319be17913 languageName: node linkType: hard @@ -1752,52 +1754,49 @@ __metadata: languageName: node linkType: hard -"@babel/runtime@npm:^7.0.0, @babel/runtime@npm:^7.12.0, @babel/runtime@npm:^7.12.5, @babel/runtime@npm:^7.13.10, @babel/runtime@npm:^7.16.3, @babel/runtime@npm:^7.17.2, @babel/runtime@npm:^7.18.3, @babel/runtime@npm:^7.20.0, @babel/runtime@npm:^7.20.13, @babel/runtime@npm:^7.20.7, @babel/runtime@npm:^7.21.0, @babel/runtime@npm:^7.22.5, @babel/runtime@npm:^7.23.1, @babel/runtime@npm:^7.24.7, @babel/runtime@npm:^7.5.5, @babel/runtime@npm:^7.8.4, @babel/runtime@npm:^7.8.7": - version: 7.24.7 - resolution: "@babel/runtime@npm:7.24.7" +"@babel/runtime@npm:^7.0.0, @babel/runtime@npm:^7.12.0, @babel/runtime@npm:^7.12.5, @babel/runtime@npm:^7.13.10, @babel/runtime@npm:^7.16.3, @babel/runtime@npm:^7.17.2, @babel/runtime@npm:^7.18.3, @babel/runtime@npm:^7.20.0, @babel/runtime@npm:^7.20.13, @babel/runtime@npm:^7.20.7, @babel/runtime@npm:^7.21.0, @babel/runtime@npm:^7.22.5, @babel/runtime@npm:^7.23.1, @babel/runtime@npm:^7.25.6, @babel/runtime@npm:^7.5.5, @babel/runtime@npm:^7.8.4, @babel/runtime@npm:^7.8.7": + version: 7.25.6 + resolution: "@babel/runtime@npm:7.25.6" dependencies: regenerator-runtime: ^0.14.0 - checksum: d17f29eed6f848ac15cdf4202a910b741facfb0419a9d79e5c7fa37df6362fc3227f1cc2e248cc6db5e53ddffb4caa6686c488e6e80ce3d29c36a4e74c8734ea + checksum: ee1a69d3ac7802803f5ee6a96e652b78b8addc28c6a38c725a4ad7d61a059d9e6cb9f6550ed2f63cce67a1bd82e0b1ef66a1079d895be6bfb536a5cfbd9ccc32 languageName: node linkType: hard -"@babel/template@npm:^7.0.0, @babel/template@npm:^7.24.7, @babel/template@npm:^7.3.3": - version: 7.24.7 - resolution: "@babel/template@npm:7.24.7" +"@babel/template@npm:^7.0.0, @babel/template@npm:^7.24.7, @babel/template@npm:^7.25.0, @babel/template@npm:^7.3.3": + version: 7.25.0 + resolution: "@babel/template@npm:7.25.0" dependencies: "@babel/code-frame": ^7.24.7 - "@babel/parser": ^7.24.7 - "@babel/types": ^7.24.7 - checksum: ea90792fae708ddf1632e54c25fe1a86643d8c0132311f81265d2bdbdd42f9f4fac65457056c1b6ca87f7aa0d6a795b549566774bba064bdcea2034ab3960ee9 + "@babel/parser": ^7.25.0 + "@babel/types": ^7.25.0 + checksum: 3f2db568718756d0daf2a16927b78f00c425046b654cd30b450006f2e84bdccaf0cbe6dc04994aa1f5f6a4398da2f11f3640a4d3ee31722e43539c4c919c817b languageName: node linkType: hard -"@babel/traverse@npm:^7.16.0, @babel/traverse@npm:^7.20.0, @babel/traverse@npm:^7.24.7, @babel/traverse@npm:^7.7.4": - version: 7.24.7 - resolution: "@babel/traverse@npm:7.24.7" +"@babel/traverse@npm:^7.16.0, @babel/traverse@npm:^7.20.0, @babel/traverse@npm:^7.24.7, @babel/traverse@npm:^7.24.8, @babel/traverse@npm:^7.25.0, @babel/traverse@npm:^7.25.1, @babel/traverse@npm:^7.25.2, @babel/traverse@npm:^7.25.3, @babel/traverse@npm:^7.25.4, @babel/traverse@npm:^7.7.4": + version: 7.25.6 + resolution: "@babel/traverse@npm:7.25.6" dependencies: "@babel/code-frame": ^7.24.7 - "@babel/generator": ^7.24.7 - "@babel/helper-environment-visitor": ^7.24.7 - "@babel/helper-function-name": ^7.24.7 - "@babel/helper-hoist-variables": ^7.24.7 - "@babel/helper-split-export-declaration": ^7.24.7 - "@babel/parser": ^7.24.7 - "@babel/types": ^7.24.7 + "@babel/generator": ^7.25.6 + "@babel/parser": ^7.25.6 + "@babel/template": ^7.25.0 + "@babel/types": ^7.25.6 debug: ^4.3.1 globals: ^11.1.0 - checksum: 7cd366afe9e7ee77e493779fdf24f67bf5595247289364f4689e29688572505eaeb886d7a8f20ebb9c29fc2de7d0895e4ff9e203e78e39ac67239724d45aa83b + checksum: 11ee47269aa4356f2d6633a05b9af73405b5ed72c09378daf644289b686ef852035a6ac9aa410f601991993c6bbf72006795b5478283b78eb1ca77874ada7737 languageName: node linkType: hard -"@babel/types@npm:^7.0.0, @babel/types@npm:^7.20.0, @babel/types@npm:^7.20.7, @babel/types@npm:^7.22.15, @babel/types@npm:^7.24.7, @babel/types@npm:^7.3.0, @babel/types@npm:^7.3.3, @babel/types@npm:^7.4.4, @babel/types@npm:^7.8.3": - version: 7.24.7 - resolution: "@babel/types@npm:7.24.7" +"@babel/types@npm:^7.0.0, @babel/types@npm:^7.20.0, @babel/types@npm:^7.20.7, @babel/types@npm:^7.22.15, @babel/types@npm:^7.24.7, @babel/types@npm:^7.24.8, @babel/types@npm:^7.25.0, @babel/types@npm:^7.25.2, @babel/types@npm:^7.25.6, @babel/types@npm:^7.3.0, @babel/types@npm:^7.3.3, @babel/types@npm:^7.4.4": + version: 7.25.6 + resolution: "@babel/types@npm:7.25.6" dependencies: - "@babel/helper-string-parser": ^7.24.7 + "@babel/helper-string-parser": ^7.24.8 "@babel/helper-validator-identifier": ^7.24.7 to-fast-properties: ^2.0.0 - checksum: 3e4437fced97e02982972ce5bebd318c47d42c9be2152c0fd28c6f786cc74086cc0a8fb83b602b846e41df37f22c36254338eada1a47ef9d8a1ec92332ca3ea8 + checksum: 9b2f84ff3f874ad05b0b9bf06862c56f478b65781801f82296b4cc01bee39e79c20a7c0a06959fed0ee582c8267e1cb21638318655c5e070b0287242a844d1c9 languageName: node linkType: hard @@ -2276,13 +2275,6 @@ __metadata: languageName: node linkType: hard -"@esbuild/android-arm64@npm:0.18.19": - version: 0.18.19 - resolution: "@esbuild/android-arm64@npm:0.18.19" - conditions: os=android & cpu=arm64 - languageName: node - linkType: hard - "@esbuild/android-arm64@npm:0.21.5": version: 0.21.5 resolution: "@esbuild/android-arm64@npm:0.21.5" @@ -2290,13 +2282,6 @@ __metadata: languageName: node linkType: hard -"@esbuild/android-arm@npm:0.18.19": - version: 0.18.19 - resolution: "@esbuild/android-arm@npm:0.18.19" - conditions: os=android & cpu=arm - languageName: node - linkType: hard - "@esbuild/android-arm@npm:0.21.5": version: 0.21.5 resolution: "@esbuild/android-arm@npm:0.21.5" @@ -2304,13 +2289,6 @@ __metadata: languageName: node linkType: hard -"@esbuild/android-x64@npm:0.18.19": - version: 0.18.19 - resolution: "@esbuild/android-x64@npm:0.18.19" - conditions: os=android & cpu=x64 - languageName: node - linkType: hard - "@esbuild/android-x64@npm:0.21.5": version: 0.21.5 resolution: "@esbuild/android-x64@npm:0.21.5" @@ -2318,13 +2296,6 @@ __metadata: languageName: node linkType: hard -"@esbuild/darwin-arm64@npm:0.18.19": - version: 0.18.19 - resolution: "@esbuild/darwin-arm64@npm:0.18.19" - conditions: os=darwin & cpu=arm64 - languageName: node - linkType: hard - "@esbuild/darwin-arm64@npm:0.21.5": version: 0.21.5 resolution: "@esbuild/darwin-arm64@npm:0.21.5" @@ -2332,13 +2303,6 @@ __metadata: languageName: node linkType: hard -"@esbuild/darwin-x64@npm:0.18.19": - version: 0.18.19 - resolution: "@esbuild/darwin-x64@npm:0.18.19" - conditions: os=darwin & cpu=x64 - languageName: node - linkType: hard - "@esbuild/darwin-x64@npm:0.21.5": version: 0.21.5 resolution: "@esbuild/darwin-x64@npm:0.21.5" @@ -2346,13 +2310,6 @@ __metadata: languageName: node linkType: hard -"@esbuild/freebsd-arm64@npm:0.18.19": - version: 0.18.19 - resolution: "@esbuild/freebsd-arm64@npm:0.18.19" - conditions: os=freebsd & cpu=arm64 - languageName: node - linkType: hard - "@esbuild/freebsd-arm64@npm:0.21.5": version: 0.21.5 resolution: "@esbuild/freebsd-arm64@npm:0.21.5" @@ -2360,13 +2317,6 @@ __metadata: languageName: node linkType: hard -"@esbuild/freebsd-x64@npm:0.18.19": - version: 0.18.19 - resolution: "@esbuild/freebsd-x64@npm:0.18.19" - conditions: os=freebsd & cpu=x64 - languageName: node - linkType: hard - "@esbuild/freebsd-x64@npm:0.21.5": version: 0.21.5 resolution: "@esbuild/freebsd-x64@npm:0.21.5" @@ -2374,13 +2324,6 @@ __metadata: languageName: node linkType: hard -"@esbuild/linux-arm64@npm:0.18.19": - version: 0.18.19 - resolution: "@esbuild/linux-arm64@npm:0.18.19" - conditions: os=linux & cpu=arm64 - languageName: node - linkType: hard - "@esbuild/linux-arm64@npm:0.21.5": version: 0.21.5 resolution: "@esbuild/linux-arm64@npm:0.21.5" @@ -2388,13 +2331,6 @@ __metadata: languageName: node linkType: hard -"@esbuild/linux-arm@npm:0.18.19": - version: 0.18.19 - resolution: "@esbuild/linux-arm@npm:0.18.19" - conditions: os=linux & cpu=arm - languageName: node - linkType: hard - "@esbuild/linux-arm@npm:0.21.5": version: 0.21.5 resolution: "@esbuild/linux-arm@npm:0.21.5" @@ -2402,13 +2338,6 @@ __metadata: languageName: node linkType: hard -"@esbuild/linux-ia32@npm:0.18.19": - version: 0.18.19 - resolution: "@esbuild/linux-ia32@npm:0.18.19" - conditions: os=linux & cpu=ia32 - languageName: node - linkType: hard - "@esbuild/linux-ia32@npm:0.21.5": version: 0.21.5 resolution: "@esbuild/linux-ia32@npm:0.21.5" @@ -2416,13 +2345,6 @@ __metadata: languageName: node linkType: hard -"@esbuild/linux-loong64@npm:0.18.19": - version: 0.18.19 - resolution: "@esbuild/linux-loong64@npm:0.18.19" - conditions: os=linux & cpu=loong64 - languageName: node - linkType: hard - "@esbuild/linux-loong64@npm:0.21.5": version: 0.21.5 resolution: "@esbuild/linux-loong64@npm:0.21.5" @@ -2430,13 +2352,6 @@ __metadata: languageName: node linkType: hard -"@esbuild/linux-mips64el@npm:0.18.19": - version: 0.18.19 - resolution: "@esbuild/linux-mips64el@npm:0.18.19" - conditions: os=linux & cpu=mips64el - languageName: node - linkType: hard - "@esbuild/linux-mips64el@npm:0.21.5": version: 0.21.5 resolution: "@esbuild/linux-mips64el@npm:0.21.5" @@ -2444,13 +2359,6 @@ __metadata: languageName: node linkType: hard -"@esbuild/linux-ppc64@npm:0.18.19": - version: 0.18.19 - resolution: "@esbuild/linux-ppc64@npm:0.18.19" - conditions: os=linux & cpu=ppc64 - languageName: node - linkType: hard - "@esbuild/linux-ppc64@npm:0.21.5": version: 0.21.5 resolution: "@esbuild/linux-ppc64@npm:0.21.5" @@ -2458,13 +2366,6 @@ __metadata: languageName: node linkType: hard -"@esbuild/linux-riscv64@npm:0.18.19": - version: 0.18.19 - resolution: "@esbuild/linux-riscv64@npm:0.18.19" - conditions: os=linux & cpu=riscv64 - languageName: node - linkType: hard - "@esbuild/linux-riscv64@npm:0.21.5": version: 0.21.5 resolution: "@esbuild/linux-riscv64@npm:0.21.5" @@ -2472,13 +2373,6 @@ __metadata: languageName: node linkType: hard -"@esbuild/linux-s390x@npm:0.18.19": - version: 0.18.19 - resolution: "@esbuild/linux-s390x@npm:0.18.19" - conditions: os=linux & cpu=s390x - languageName: node - linkType: hard - "@esbuild/linux-s390x@npm:0.21.5": version: 0.21.5 resolution: "@esbuild/linux-s390x@npm:0.21.5" @@ -2486,13 +2380,6 @@ __metadata: languageName: node linkType: hard -"@esbuild/linux-x64@npm:0.18.19": - version: 0.18.19 - resolution: "@esbuild/linux-x64@npm:0.18.19" - conditions: os=linux & cpu=x64 - languageName: node - linkType: hard - "@esbuild/linux-x64@npm:0.21.5": version: 0.21.5 resolution: "@esbuild/linux-x64@npm:0.21.5" @@ -2500,13 +2387,6 @@ __metadata: languageName: node linkType: hard -"@esbuild/netbsd-x64@npm:0.18.19": - version: 0.18.19 - resolution: "@esbuild/netbsd-x64@npm:0.18.19" - conditions: os=netbsd & cpu=x64 - languageName: node - linkType: hard - "@esbuild/netbsd-x64@npm:0.21.5": version: 0.21.5 resolution: "@esbuild/netbsd-x64@npm:0.21.5" @@ -2514,13 +2394,6 @@ __metadata: languageName: node linkType: hard -"@esbuild/openbsd-x64@npm:0.18.19": - version: 0.18.19 - resolution: "@esbuild/openbsd-x64@npm:0.18.19" - conditions: os=openbsd & cpu=x64 - languageName: node - linkType: hard - "@esbuild/openbsd-x64@npm:0.21.5": version: 0.21.5 resolution: "@esbuild/openbsd-x64@npm:0.21.5" @@ -2528,13 +2401,6 @@ __metadata: languageName: node linkType: hard -"@esbuild/sunos-x64@npm:0.18.19": - version: 0.18.19 - resolution: "@esbuild/sunos-x64@npm:0.18.19" - conditions: os=sunos & cpu=x64 - languageName: node - linkType: hard - "@esbuild/sunos-x64@npm:0.21.5": version: 0.21.5 resolution: "@esbuild/sunos-x64@npm:0.21.5" @@ -2542,13 +2408,6 @@ __metadata: languageName: node linkType: hard -"@esbuild/win32-arm64@npm:0.18.19": - version: 0.18.19 - resolution: "@esbuild/win32-arm64@npm:0.18.19" - conditions: os=win32 & cpu=arm64 - languageName: node - linkType: hard - "@esbuild/win32-arm64@npm:0.21.5": version: 0.21.5 resolution: "@esbuild/win32-arm64@npm:0.21.5" @@ -2556,13 +2415,6 @@ __metadata: languageName: node linkType: hard -"@esbuild/win32-ia32@npm:0.18.19": - version: 0.18.19 - resolution: "@esbuild/win32-ia32@npm:0.18.19" - conditions: os=win32 & cpu=ia32 - languageName: node - linkType: hard - "@esbuild/win32-ia32@npm:0.21.5": version: 0.21.5 resolution: "@esbuild/win32-ia32@npm:0.21.5" @@ -2570,13 +2422,6 @@ __metadata: languageName: node linkType: hard -"@esbuild/win32-x64@npm:0.18.19": - version: 0.18.19 - resolution: "@esbuild/win32-x64@npm:0.18.19" - conditions: os=win32 & cpu=x64 - languageName: node - linkType: hard - "@esbuild/win32-x64@npm:0.21.5": version: 0.21.5 resolution: "@esbuild/win32-x64@npm:0.21.5" @@ -3083,46 +2928,46 @@ __metadata: languageName: node linkType: hard -"@floating-ui/dom@npm:^1.5.4, @floating-ui/dom@npm:^1.6.3": - version: 1.6.7 - resolution: "@floating-ui/dom@npm:1.6.7" +"@floating-ui/dom@npm:^1.0.0, @floating-ui/dom@npm:^1.6.11, @floating-ui/dom@npm:^1.6.3": + version: 1.6.11 + resolution: "@floating-ui/dom@npm:1.6.11" dependencies: "@floating-ui/core": ^1.6.0 - "@floating-ui/utils": ^0.2.4 - checksum: 66605a2948bfe7532408197b4c522fecf04cf11e7839623d0dca0d22362b42d64a5db2f3be865053e9b0d44c89faf1befa9a4ce1b7fa595d1b3dc82f635d079c + "@floating-ui/utils": ^0.2.8 + checksum: d6413759abd06a541edfad829c45313f930310fe76a3322e74a00eb655e283db33fe3e65b5265c4072eb54db7447e11225acd355a9a02cabd1d1b0d5fc8fc21d languageName: node linkType: hard -"@floating-ui/react-dom@npm:^2.0.2, @floating-ui/react-dom@npm:^2.0.5": - version: 2.0.5 - resolution: "@floating-ui/react-dom@npm:2.0.5" +"@floating-ui/react-dom@npm:^2.0.2, @floating-ui/react-dom@npm:^2.1.2": + version: 2.1.2 + resolution: "@floating-ui/react-dom@npm:2.1.2" dependencies: - "@floating-ui/dom": ^1.5.4 + "@floating-ui/dom": ^1.0.0 peerDependencies: react: ">=16.8.0" react-dom: ">=16.8.0" - checksum: 24cadf4626ae860b59cd3b86e0d8e9a51f1120f52aaa89cbed9425d78d0e0034e097a16bb022628996eb2386783c44b10aeb3c2988083fc046e0480e573d575d + checksum: 25bb031686e23062ed4222a8946e76b3f9021d40a48437bd747233c4964a766204b8a55f34fa8b259839af96e60db7c6e3714d81f1de06914294f90e86ffbc48 languageName: node linkType: hard -"@floating-ui/react@npm:^0.26.5": - version: 0.26.5 - resolution: "@floating-ui/react@npm:0.26.5" +"@floating-ui/react@npm:^0.26.24": + version: 0.26.24 + resolution: "@floating-ui/react@npm:0.26.24" dependencies: - "@floating-ui/react-dom": ^2.0.5 - "@floating-ui/utils": ^0.2.0 - tabbable: ^6.0.1 + "@floating-ui/react-dom": ^2.1.2 + "@floating-ui/utils": ^0.2.8 + tabbable: ^6.0.0 peerDependencies: react: ">=16.8.0" react-dom: ">=16.8.0" - checksum: 6e148e3721cd8f146b7f216bd40a59ff84add9161dcfddfa6422451d6204485804d11781550da07e2ea22eefd821036f444ab067a7091b9663ea369ce563ce59 + checksum: c49fc0040d0a75608dc8f9b259027fbaebc8b04bc791b4ec38c680b551fffeaa19dac945ac5d10f75570862159353f0aab78451e1ecc59e0abea6f07251d4504 languageName: node linkType: hard -"@floating-ui/utils@npm:^0.2.0, @floating-ui/utils@npm:^0.2.4": - version: 0.2.4 - resolution: "@floating-ui/utils@npm:0.2.4" - checksum: af44cdb3f394fbee6abc933fc3c25bf22f3f0bac58150eee8cc1dcc7e9be56a19b13e438820160614a90712e5a43f84b091afa6689318a10504042930ae9cf44 +"@floating-ui/utils@npm:^0.2.4, @floating-ui/utils@npm:^0.2.8": + version: 0.2.8 + resolution: "@floating-ui/utils@npm:0.2.8" + checksum: deb98bba017c4e073c7ad5740d4dec33a4d3e0942d412e677ac0504f3dade15a68fc6fd164d43c93c0bb0bcc5dc5015c1f4080dfb1a6161140fe660624f7c875 languageName: node linkType: hard @@ -3967,85 +3812,85 @@ __metadata: languageName: node linkType: hard -"@next/env@npm:14.2.4": - version: 14.2.4 - resolution: "@next/env@npm:14.2.4" - checksum: ff47297f959c4f4a45393fc84eb2cdef0e92fb07903e1240e061ff71c2319d90d3faf23aa6f8e5747451a26527ab20b483a200845ac9c72629647d67407b15c2 +"@next/env@npm:14.2.12": + version: 14.2.12 + resolution: "@next/env@npm:14.2.12" + checksum: 90141a984bc36c2a1a281392e2821744f442406a453107bf96d89c3e425f9ce414e4996b4e51c00cbf9817c652b4f34b1c310747a7fdf3bb62ea3526ef92ae8b languageName: node linkType: hard -"@next/swc-darwin-arm64@npm:14.2.4": - version: 14.2.4 - resolution: "@next/swc-darwin-arm64@npm:14.2.4" +"@next/swc-darwin-arm64@npm:14.2.12": + version: 14.2.12 + resolution: "@next/swc-darwin-arm64@npm:14.2.12" conditions: os=darwin & cpu=arm64 languageName: node linkType: hard -"@next/swc-darwin-x64@npm:14.2.4": - version: 14.2.4 - resolution: "@next/swc-darwin-x64@npm:14.2.4" +"@next/swc-darwin-x64@npm:14.2.12": + version: 14.2.12 + resolution: "@next/swc-darwin-x64@npm:14.2.12" conditions: os=darwin & cpu=x64 languageName: node linkType: hard -"@next/swc-linux-arm64-gnu@npm:14.2.4": - version: 14.2.4 - resolution: "@next/swc-linux-arm64-gnu@npm:14.2.4" +"@next/swc-linux-arm64-gnu@npm:14.2.12": + version: 14.2.12 + resolution: "@next/swc-linux-arm64-gnu@npm:14.2.12" conditions: os=linux & cpu=arm64 & libc=glibc languageName: node linkType: hard -"@next/swc-linux-arm64-musl@npm:14.2.4": - version: 14.2.4 - resolution: "@next/swc-linux-arm64-musl@npm:14.2.4" +"@next/swc-linux-arm64-musl@npm:14.2.12": + version: 14.2.12 + resolution: "@next/swc-linux-arm64-musl@npm:14.2.12" conditions: os=linux & cpu=arm64 & libc=musl languageName: node linkType: hard -"@next/swc-linux-x64-gnu@npm:14.2.4": - version: 14.2.4 - resolution: "@next/swc-linux-x64-gnu@npm:14.2.4" +"@next/swc-linux-x64-gnu@npm:14.2.12": + version: 14.2.12 + resolution: "@next/swc-linux-x64-gnu@npm:14.2.12" conditions: os=linux & cpu=x64 & libc=glibc languageName: node linkType: hard -"@next/swc-linux-x64-musl@npm:14.2.4": - version: 14.2.4 - resolution: "@next/swc-linux-x64-musl@npm:14.2.4" +"@next/swc-linux-x64-musl@npm:14.2.12": + version: 14.2.12 + resolution: "@next/swc-linux-x64-musl@npm:14.2.12" conditions: os=linux & cpu=x64 & libc=musl languageName: node linkType: hard -"@next/swc-win32-arm64-msvc@npm:14.2.4": - version: 14.2.4 - resolution: "@next/swc-win32-arm64-msvc@npm:14.2.4" +"@next/swc-win32-arm64-msvc@npm:14.2.12": + version: 14.2.12 + resolution: "@next/swc-win32-arm64-msvc@npm:14.2.12" conditions: os=win32 & cpu=arm64 languageName: node linkType: hard -"@next/swc-win32-ia32-msvc@npm:14.2.4": - version: 14.2.4 - resolution: "@next/swc-win32-ia32-msvc@npm:14.2.4" +"@next/swc-win32-ia32-msvc@npm:14.2.12": + version: 14.2.12 + resolution: "@next/swc-win32-ia32-msvc@npm:14.2.12" conditions: os=win32 & cpu=ia32 languageName: node linkType: hard -"@next/swc-win32-x64-msvc@npm:14.2.4": - version: 14.2.4 - resolution: "@next/swc-win32-x64-msvc@npm:14.2.4" +"@next/swc-win32-x64-msvc@npm:14.2.12": + version: 14.2.12 + resolution: "@next/swc-win32-x64-msvc@npm:14.2.12" conditions: os=win32 & cpu=x64 languageName: node linkType: hard -"@next/third-parties@npm:^14.2.4": - version: 14.2.4 - resolution: "@next/third-parties@npm:14.2.4" +"@next/third-parties@npm:^14.2.12": + version: 14.2.12 + resolution: "@next/third-parties@npm:14.2.12" dependencies: third-party-capital: 1.0.20 peerDependencies: next: ^13.0.0 || ^14.0.0 react: ^18.2.0 - checksum: 3c5bda0786892927d3e2dc9a30dfc2f43c5118b2ae73b35bbc8321eeaf1431ed511fe0388ca443dd3c7f27fd0b22353e15388292c89d74320cb0b9ecaab32deb + checksum: c8c4ab5f88d069202e52155f7884bdaccbe07acaf8c4f4c36c0e09b0f5890ad6010818848c11f038732bd4a4dd060323bf6f0cbc81fadd942b799eff55e841ab languageName: node linkType: hard @@ -4292,7 +4137,16 @@ __metadata: languageName: node linkType: hard -"@opentelemetry/api@npm:^1.0.0, @opentelemetry/api@npm:^1.6.0, @opentelemetry/api@npm:^1.8, @opentelemetry/api@npm:^1.9.0": +"@opentelemetry/api-logs@npm:0.53.0": + version: 0.53.0 + resolution: "@opentelemetry/api-logs@npm:0.53.0" + dependencies: + "@opentelemetry/api": ^1.0.0 + checksum: 3383ff75f94a77402370a655f8edf049f9864ad60140f70821a1b775ce43bdb9ca6fade533a1faf46dbca19f3189bcbf1f8805062f5a68bfe2a00281b1712d1f + languageName: node + linkType: hard + +"@opentelemetry/api@npm:^1.0.0, @opentelemetry/api@npm:^1.8, @opentelemetry/api@npm:^1.9.0": version: 1.9.0 resolution: "@opentelemetry/api@npm:1.9.0" checksum: 9e88e59d53ced668f3daaecfd721071c5b85a67dd386f1c6f051d1be54375d850016c881f656ffbe9a03bedae85f7e89c2f2b635313f9c9b195ad033cdc31020 @@ -4308,7 +4162,7 @@ __metadata: languageName: node linkType: hard -"@opentelemetry/core@npm:1.25.1, @opentelemetry/core@npm:^1.1.0, @opentelemetry/core@npm:^1.25.1, @opentelemetry/core@npm:^1.8.0": +"@opentelemetry/core@npm:1.25.1": version: 1.25.1 resolution: "@opentelemetry/core@npm:1.25.1" dependencies: @@ -4319,232 +4173,289 @@ __metadata: languageName: node linkType: hard -"@opentelemetry/instrumentation-connect@npm:0.37.0": - version: 0.37.0 - resolution: "@opentelemetry/instrumentation-connect@npm:0.37.0" +"@opentelemetry/core@npm:1.26.0, @opentelemetry/core@npm:^1.1.0, @opentelemetry/core@npm:^1.25.1, @opentelemetry/core@npm:^1.8.0": + version: 1.26.0 + resolution: "@opentelemetry/core@npm:1.26.0" + dependencies: + "@opentelemetry/semantic-conventions": 1.27.0 + peerDependencies: + "@opentelemetry/api": ">=1.0.0 <1.10.0" + checksum: e5b06b4d69605927b850109c6b898f00a6a921171b3bf62335a4e00b9a170c1b93ddef6d7f8cc480a551faeaf81074b594f4462a91d4fbc4b313e64ff9ebd717 + languageName: node + linkType: hard + +"@opentelemetry/instrumentation-connect@npm:0.39.0": + version: 0.39.0 + resolution: "@opentelemetry/instrumentation-connect@npm:0.39.0" dependencies: "@opentelemetry/core": ^1.8.0 - "@opentelemetry/instrumentation": ^0.52.0 - "@opentelemetry/semantic-conventions": ^1.22.0 + "@opentelemetry/instrumentation": ^0.53.0 + "@opentelemetry/semantic-conventions": ^1.27.0 "@types/connect": 3.4.36 peerDependencies: "@opentelemetry/api": ^1.3.0 - checksum: 369721c31d2c20f53cf59b796f87c0994c9bb433e031e76f2afe0df14f07a13a11d33bda06174d613133ab393f73616d106c79327fa20e6607f11c7c506cb5b2 + checksum: 946c3d7ea0ca569942fd1e45a1f149f94fed4ee86609b4f2aedb23d67feeafe29a563beffa75d97f9b10c6b18b01c42d5eabf92d4f9f160bc938317c88ebc0de languageName: node linkType: hard -"@opentelemetry/instrumentation-express@npm:0.40.1": - version: 0.40.1 - resolution: "@opentelemetry/instrumentation-express@npm:0.40.1" +"@opentelemetry/instrumentation-express@npm:0.42.0": + version: 0.42.0 + resolution: "@opentelemetry/instrumentation-express@npm:0.42.0" dependencies: "@opentelemetry/core": ^1.8.0 - "@opentelemetry/instrumentation": ^0.52.0 - "@opentelemetry/semantic-conventions": ^1.22.0 + "@opentelemetry/instrumentation": ^0.53.0 + "@opentelemetry/semantic-conventions": ^1.27.0 peerDependencies: "@opentelemetry/api": ^1.3.0 - checksum: 6634182e7d02c3afa73bb01277a1bbaf6dace104cda74b29dad5515d624b6bdb1846b8bf038fa4cf6009091bee6f4b3dbb01bb8b01d022d0c9e158b4440ae586 + checksum: c4606bd593ee841eb891927f404609b05e1375b28f9e5cd179381b744d826e3a6d07d069835d02b06e2cd8de6861c0ecebaa2d3a180181733e9fdc6b80444837 languageName: node linkType: hard -"@opentelemetry/instrumentation-fastify@npm:0.37.0": - version: 0.37.0 - resolution: "@opentelemetry/instrumentation-fastify@npm:0.37.0" +"@opentelemetry/instrumentation-fastify@npm:0.39.0": + version: 0.39.0 + resolution: "@opentelemetry/instrumentation-fastify@npm:0.39.0" dependencies: "@opentelemetry/core": ^1.8.0 - "@opentelemetry/instrumentation": ^0.52.0 - "@opentelemetry/semantic-conventions": ^1.22.0 + "@opentelemetry/instrumentation": ^0.53.0 + "@opentelemetry/semantic-conventions": ^1.27.0 peerDependencies: "@opentelemetry/api": ^1.3.0 - checksum: fa8f6ea44bdc171b5409d41336e5c0b17e279886de7ae32e63a2cf80273600e3c2f86147af7c4339adff5fc7856d57b7898463898c7c56fa9d27eae41d0f4b2a + checksum: a64ffd35f01e6ae08a7de7092ef34ec186c284ebada7f8e4d87420440bbc5a00b568624e7c1dd35b00550d68ccb24ae905ad8488adb7eaf14344f334d436244e languageName: node linkType: hard -"@opentelemetry/instrumentation-graphql@npm:0.41.0": - version: 0.41.0 - resolution: "@opentelemetry/instrumentation-graphql@npm:0.41.0" +"@opentelemetry/instrumentation-fs@npm:0.15.0": + version: 0.15.0 + resolution: "@opentelemetry/instrumentation-fs@npm:0.15.0" dependencies: - "@opentelemetry/instrumentation": ^0.52.0 + "@opentelemetry/core": ^1.8.0 + "@opentelemetry/instrumentation": ^0.53.0 peerDependencies: "@opentelemetry/api": ^1.3.0 - checksum: 8ef1baad90191ac8074538316923b0ce5a1bd99b59168dfc16c096791b0f4644edfcf23cb3cbfcecd46beb4739a65d67a5784a77f125038becb161a003b85099 + checksum: d1f50b541629e9155dcbfbdd26d5fa43d6569f835abf88ea35261e0c03c6afb89b26cd2056dda6e9c4de72a49d7e2ca0336e1dc75604256db09e0e09d2182466 languageName: node linkType: hard -"@opentelemetry/instrumentation-hapi@npm:0.39.0": +"@opentelemetry/instrumentation-generic-pool@npm:0.39.0": version: 0.39.0 - resolution: "@opentelemetry/instrumentation-hapi@npm:0.39.0" + resolution: "@opentelemetry/instrumentation-generic-pool@npm:0.39.0" + dependencies: + "@opentelemetry/instrumentation": ^0.53.0 + peerDependencies: + "@opentelemetry/api": ^1.3.0 + checksum: 2d094b217afe9c1d388f06cdaca07f9801b70f0d01ee3db374f1b4f07cd18efba55e90679f0237c1f2a7db22f9ee0e564e8583161bb7d578ecea779b874e967e + languageName: node + linkType: hard + +"@opentelemetry/instrumentation-graphql@npm:0.43.0": + version: 0.43.0 + resolution: "@opentelemetry/instrumentation-graphql@npm:0.43.0" + dependencies: + "@opentelemetry/instrumentation": ^0.53.0 + peerDependencies: + "@opentelemetry/api": ^1.3.0 + checksum: 4164f3dad9c44f3d9684750d879ba79a51949fe69179d8437f5736762cdd0156c63a8914c7accd767b090a18db45f011a9cff5e238d3240077f1c095d3c5dd28 + languageName: node + linkType: hard + +"@opentelemetry/instrumentation-hapi@npm:0.41.0": + version: 0.41.0 + resolution: "@opentelemetry/instrumentation-hapi@npm:0.41.0" dependencies: "@opentelemetry/core": ^1.8.0 - "@opentelemetry/instrumentation": ^0.52.0 - "@opentelemetry/semantic-conventions": ^1.22.0 + "@opentelemetry/instrumentation": ^0.53.0 + "@opentelemetry/semantic-conventions": ^1.27.0 peerDependencies: "@opentelemetry/api": ^1.3.0 - checksum: 2c2bcba4d4d7f0815c757e32fc15b0818b7fccc096f4104b9bfd34f3cfe712ea85138486cf5735deeae1020a7dc09d615c30b3dad41c61b532b9dbfcd9f516e3 + checksum: 2195c8366d9b81a40dd6d8db041c13687932ab7ec761c9dfea13162c4000638c699dfebf384e22f985aea2d7692c742ed8090cb5bad056e5137d2db79a615380 languageName: node linkType: hard -"@opentelemetry/instrumentation-http@npm:0.52.1": - version: 0.52.1 - resolution: "@opentelemetry/instrumentation-http@npm:0.52.1" +"@opentelemetry/instrumentation-http@npm:0.53.0": + version: 0.53.0 + resolution: "@opentelemetry/instrumentation-http@npm:0.53.0" dependencies: - "@opentelemetry/core": 1.25.1 - "@opentelemetry/instrumentation": 0.52.1 - "@opentelemetry/semantic-conventions": 1.25.1 + "@opentelemetry/core": 1.26.0 + "@opentelemetry/instrumentation": 0.53.0 + "@opentelemetry/semantic-conventions": 1.27.0 semver: ^7.5.2 peerDependencies: "@opentelemetry/api": ^1.3.0 - checksum: 67a31e14d9ee4da745b7529777c1525f717b2ddf09f2a9247acaa9677f32e4a863d8f0712c95917fdbe74d8211cf650065bb3a95ef2fdd9f81630e063cbc2d4f + checksum: 4ee569f7fc8c7ce50fabaff016d33577f36e63272b0634ac45806d70bffdf38fcf09db3cd9dd27c3150f6c4547fec673c356c419a6ed2399ff2849b9487a6e89 languageName: node linkType: hard -"@opentelemetry/instrumentation-ioredis@npm:0.41.0": - version: 0.41.0 - resolution: "@opentelemetry/instrumentation-ioredis@npm:0.41.0" +"@opentelemetry/instrumentation-ioredis@npm:0.43.0": + version: 0.43.0 + resolution: "@opentelemetry/instrumentation-ioredis@npm:0.43.0" dependencies: - "@opentelemetry/instrumentation": ^0.52.0 + "@opentelemetry/instrumentation": ^0.53.0 "@opentelemetry/redis-common": ^0.36.2 - "@opentelemetry/semantic-conventions": ^1.23.0 + "@opentelemetry/semantic-conventions": ^1.27.0 peerDependencies: "@opentelemetry/api": ^1.3.0 - checksum: c320f07c215d826e5b181c94cbe41fe20a7bc5f8c968b4c544dd87fec18f5990bf824aeaec8f48475976db54a055655edb9cc88f220b7ebaaef487fe8bb10171 + checksum: 16ae17687db3b4bbe78d92667ce86f3afb212adb5eda8f17b549a06ff9e1ba3e0f146ded9e943cb781780b64853a6b7fa3b85d2c2f5e4f42fd76d651c90aa71f languageName: node linkType: hard -"@opentelemetry/instrumentation-koa@npm:0.41.0": - version: 0.41.0 - resolution: "@opentelemetry/instrumentation-koa@npm:0.41.0" +"@opentelemetry/instrumentation-kafkajs@npm:0.3.0": + version: 0.3.0 + resolution: "@opentelemetry/instrumentation-kafkajs@npm:0.3.0" + dependencies: + "@opentelemetry/instrumentation": ^0.53.0 + "@opentelemetry/semantic-conventions": ^1.27.0 + peerDependencies: + "@opentelemetry/api": ^1.3.0 + checksum: 9ea20f4f70edd7d47b551f56f56b6b0462e5f9dff3981462d9d061084a3bb345f1989ddc46a2d8fabebf2a9650c52ab6c6fb906a03e9176191cc71073c2bf22c + languageName: node + linkType: hard + +"@opentelemetry/instrumentation-koa@npm:0.43.0": + version: 0.43.0 + resolution: "@opentelemetry/instrumentation-koa@npm:0.43.0" dependencies: "@opentelemetry/core": ^1.8.0 - "@opentelemetry/instrumentation": ^0.52.0 - "@opentelemetry/semantic-conventions": ^1.22.0 - "@types/koa": 2.14.0 - "@types/koa__router": 12.0.3 + "@opentelemetry/instrumentation": ^0.53.0 + "@opentelemetry/semantic-conventions": ^1.27.0 peerDependencies: "@opentelemetry/api": ^1.3.0 - checksum: cb98a35a7e533a7e77dcfc7c7f91934fc812e8bb7c1ceb25cb75227888701b7b266125874fbcb5b79027e71020a90123d1e6cc35f3976a29cccb5ebc7711e4b7 + checksum: 7b30d11f8cbabc1570eeca771f421c65f014d87b850cf17a8f2aec98dc84a8a43ce6fe15634f5d16944466f8da1011508367498e215b3f6378e8f8d618a12ec9 languageName: node linkType: hard -"@opentelemetry/instrumentation-mongodb@npm:0.45.0": - version: 0.45.0 - resolution: "@opentelemetry/instrumentation-mongodb@npm:0.45.0" +"@opentelemetry/instrumentation-mongodb@npm:0.47.0": + version: 0.47.0 + resolution: "@opentelemetry/instrumentation-mongodb@npm:0.47.0" dependencies: - "@opentelemetry/instrumentation": ^0.52.0 + "@opentelemetry/instrumentation": ^0.53.0 "@opentelemetry/sdk-metrics": ^1.9.1 - "@opentelemetry/semantic-conventions": ^1.22.0 + "@opentelemetry/semantic-conventions": ^1.27.0 peerDependencies: "@opentelemetry/api": ^1.3.0 - checksum: ffc177db6d3e34fe9db5720fe2744f94b9042a2282a89bb8a90efeb9afa082beeeaf20a797c3fdd36e27f6544d304e102d1c4fb3a8b351c5419f626cfc90dd9e + checksum: 1d7c87532b5857e8d6d72272ce874f02a4b2adc8a135d07c48e432cc990a4493c110b15c842c72dfc79e33ddc63f518185b69e242e2c55521a06fe6503cb1980 languageName: node linkType: hard -"@opentelemetry/instrumentation-mongoose@npm:0.39.0": - version: 0.39.0 - resolution: "@opentelemetry/instrumentation-mongoose@npm:0.39.0" +"@opentelemetry/instrumentation-mongoose@npm:0.42.0": + version: 0.42.0 + resolution: "@opentelemetry/instrumentation-mongoose@npm:0.42.0" dependencies: "@opentelemetry/core": ^1.8.0 - "@opentelemetry/instrumentation": ^0.52.0 - "@opentelemetry/semantic-conventions": ^1.22.0 + "@opentelemetry/instrumentation": ^0.53.0 + "@opentelemetry/semantic-conventions": ^1.27.0 peerDependencies: "@opentelemetry/api": ^1.3.0 - checksum: ca8442b421ffa7e06cca813275422901780d1ac6ed3a96663952fbc1e2faa61d82f7b72a591cddf9fb244b8b95b5e4b0316ec3ce58a66831013a515bcbee2f62 + checksum: 77d36437073ee589ccd73f4a10a4602afd0f4a3a89a9c572be18b2df75941f5a6885d4823094d8ffe8859801d827d0b46f93dee03f39286d89eead373edf76bb languageName: node linkType: hard -"@opentelemetry/instrumentation-mysql2@npm:0.39.0": - version: 0.39.0 - resolution: "@opentelemetry/instrumentation-mysql2@npm:0.39.0" +"@opentelemetry/instrumentation-mysql2@npm:0.41.0": + version: 0.41.0 + resolution: "@opentelemetry/instrumentation-mysql2@npm:0.41.0" dependencies: - "@opentelemetry/instrumentation": ^0.52.0 - "@opentelemetry/semantic-conventions": ^1.22.0 + "@opentelemetry/instrumentation": ^0.53.0 + "@opentelemetry/semantic-conventions": ^1.27.0 "@opentelemetry/sql-common": ^0.40.1 peerDependencies: "@opentelemetry/api": ^1.3.0 - checksum: 0cccfb618947a7e281b071051e3992e7b0214bfba34041cda88857badc00447492963073aee09a65a7c34529ed8ccc93714f802c21d377c7bfffea788fb65826 + checksum: 37c8a57fb6591ae1db353e149ad5f38ac68c5f727e313ba6d1cc403d910ae8e3b743c3234500272012ea6eecb5b838803ee493ce5096ad40bb285b09090f4a65 languageName: node linkType: hard -"@opentelemetry/instrumentation-mysql@npm:0.39.0": - version: 0.39.0 - resolution: "@opentelemetry/instrumentation-mysql@npm:0.39.0" +"@opentelemetry/instrumentation-mysql@npm:0.41.0": + version: 0.41.0 + resolution: "@opentelemetry/instrumentation-mysql@npm:0.41.0" dependencies: - "@opentelemetry/instrumentation": ^0.52.0 - "@opentelemetry/semantic-conventions": ^1.22.0 - "@types/mysql": 2.15.22 + "@opentelemetry/instrumentation": ^0.53.0 + "@opentelemetry/semantic-conventions": ^1.27.0 + "@types/mysql": 2.15.26 peerDependencies: "@opentelemetry/api": ^1.3.0 - checksum: 81b238dec8d1ca671788abdb394c930024c7badc8935fee4864dbcfa2f15363ddd458141ca2931dd4ddf7bb95449007fb0c974400e80a16cdbb6115a948655ea + checksum: c8c23a1273e900902867ca4da8c026581d3f584e420a5f26ec738ace20c1a85695a411721541e63e0639d9ddbb8c3713a2bc25621886f81912014882395d3531 languageName: node linkType: hard -"@opentelemetry/instrumentation-nestjs-core@npm:0.38.0": - version: 0.38.0 - resolution: "@opentelemetry/instrumentation-nestjs-core@npm:0.38.0" +"@opentelemetry/instrumentation-nestjs-core@npm:0.40.0": + version: 0.40.0 + resolution: "@opentelemetry/instrumentation-nestjs-core@npm:0.40.0" dependencies: - "@opentelemetry/instrumentation": ^0.52.0 - "@opentelemetry/semantic-conventions": ^1.23.0 + "@opentelemetry/instrumentation": ^0.53.0 + "@opentelemetry/semantic-conventions": ^1.27.0 peerDependencies: "@opentelemetry/api": ^1.3.0 - checksum: 9e48ce113846dec1a00aeb0f95c24a8e769deb5878b1ae19b00d3bde0dde8ad05781b9c5f6ad7c56dc3fdefcfeb51dbb3810fbec33026d21348ce40d808c08db + checksum: ce6b2d9186d95e5fa5c65efd902254c724e296172787d1fa9382a6204ae9d089e861ce8831ba6e6865d449a96a8aada7b1049568217f1bda21af3f36e01b9512 languageName: node linkType: hard -"@opentelemetry/instrumentation-pg@npm:0.42.0": - version: 0.42.0 - resolution: "@opentelemetry/instrumentation-pg@npm:0.42.0" +"@opentelemetry/instrumentation-pg@npm:0.44.0": + version: 0.44.0 + resolution: "@opentelemetry/instrumentation-pg@npm:0.44.0" dependencies: - "@opentelemetry/instrumentation": ^0.52.0 - "@opentelemetry/semantic-conventions": ^1.22.0 + "@opentelemetry/instrumentation": ^0.53.0 + "@opentelemetry/semantic-conventions": ^1.27.0 "@opentelemetry/sql-common": ^0.40.1 "@types/pg": 8.6.1 - "@types/pg-pool": 2.0.4 + "@types/pg-pool": 2.0.6 peerDependencies: "@opentelemetry/api": ^1.3.0 - checksum: 3c579b26308021198bd12b01419dbb25c5c86f02e0549870bd2fa28749dbf493042c0ad427cf430c12ce2a71d955fcdc5c73e5849a09e0f375261aebdf5366b8 + checksum: 13cf8bacee1139b551622cb76670c627e87b37ee5ad2b6c63417d985812c7db53ce7aae23bd04156cb5c0d1a214bb8c65890fde43fbd99aac540c625216703b7 languageName: node linkType: hard -"@opentelemetry/instrumentation-redis-4@npm:0.40.0": - version: 0.40.0 - resolution: "@opentelemetry/instrumentation-redis-4@npm:0.40.0" +"@opentelemetry/instrumentation-redis-4@npm:0.42.0": + version: 0.42.0 + resolution: "@opentelemetry/instrumentation-redis-4@npm:0.42.0" dependencies: - "@opentelemetry/instrumentation": ^0.52.0 + "@opentelemetry/instrumentation": ^0.53.0 "@opentelemetry/redis-common": ^0.36.2 - "@opentelemetry/semantic-conventions": ^1.22.0 + "@opentelemetry/semantic-conventions": ^1.27.0 peerDependencies: "@opentelemetry/api": ^1.3.0 - checksum: 0e7b7514bb22255ca48fb78462e6e4a1d8527ec347896afca988f6cc57704ea613a5b0f7a398e8446add5d39bbcc5fa434e39df3fdaa7f66df3d0aff7e23221f + checksum: b6d92ad302c31add32b1cdfe6f6ea836367a777737beb187b178bfb65047f84263b38855cda56746b793582eb6012942c03ed91f6e8e6710058bf3eb427fba2d languageName: node linkType: hard -"@opentelemetry/instrumentation@npm:0.52.1, @opentelemetry/instrumentation@npm:^0.49 || ^0.50 || ^0.51 || ^0.52.0, @opentelemetry/instrumentation@npm:^0.52.0, @opentelemetry/instrumentation@npm:^0.52.1": - version: 0.52.1 - resolution: "@opentelemetry/instrumentation@npm:0.52.1" +"@opentelemetry/instrumentation-undici@npm:0.6.0": + version: 0.6.0 + resolution: "@opentelemetry/instrumentation-undici@npm:0.6.0" dependencies: - "@opentelemetry/api-logs": 0.52.1 - "@types/shimmer": ^1.0.2 + "@opentelemetry/core": ^1.8.0 + "@opentelemetry/instrumentation": ^0.53.0 + peerDependencies: + "@opentelemetry/api": ^1.7.0 + checksum: b16b9ff23fbca13a18889fc302ddae3db8b22ebd9d8224b0297bd45014bb914d6bea89e55aedda6879cee1760c93bcedc2eaa12e60e88f45dd8c9e5f61a0aefd + languageName: node + linkType: hard + +"@opentelemetry/instrumentation@npm:0.53.0, @opentelemetry/instrumentation@npm:^0.53.0": + version: 0.53.0 + resolution: "@opentelemetry/instrumentation@npm:0.53.0" + dependencies: + "@opentelemetry/api-logs": 0.53.0 + "@types/shimmer": ^1.2.0 import-in-the-middle: ^1.8.1 require-in-the-middle: ^7.1.1 semver: ^7.5.2 shimmer: ^1.2.1 peerDependencies: "@opentelemetry/api": ^1.3.0 - checksum: e8b4f202dc9355ca46714349a5e1663346e162f79706eed38015edf38fc536330fde4cc19ed7d3d6b03258c890c1dc0ba6d658d7aac3f41f1803bd03699d2701 + checksum: a386fe066eab71129a6edbc883ab407b1022850e8acc4750029a12e8730588a8b81442d0b008aaddb46f7614af40d19d331e7348790ca2d08ba8eed6d23ffdae languageName: node linkType: hard -"@opentelemetry/instrumentation@npm:^0.43.0": - version: 0.43.0 - resolution: "@opentelemetry/instrumentation@npm:0.43.0" +"@opentelemetry/instrumentation@npm:^0.49 || ^0.50 || ^0.51 || ^0.52.0": + version: 0.52.1 + resolution: "@opentelemetry/instrumentation@npm:0.52.1" dependencies: + "@opentelemetry/api-logs": 0.52.1 "@types/shimmer": ^1.0.2 - import-in-the-middle: 1.4.2 + import-in-the-middle: ^1.8.1 require-in-the-middle: ^7.1.1 semver: ^7.5.2 shimmer: ^1.2.1 peerDependencies: "@opentelemetry/api": ^1.3.0 - checksum: 6ebb916fcce79884b931f0098fbe3e12835437226b7afab43ae64580e27b74747157e2ed2c1584952e42bd21c6e1c72ecbcf260143241b43f8e62803f6ece3a6 + checksum: e8b4f202dc9355ca46714349a5e1663346e162f79706eed38015edf38fc536330fde4cc19ed7d3d6b03258c890c1dc0ba6d658d7aac3f41f1803bd03699d2701 languageName: node linkType: hard @@ -4555,7 +4466,7 @@ __metadata: languageName: node linkType: hard -"@opentelemetry/resources@npm:1.25.1, @opentelemetry/resources@npm:^1.25.1": +"@opentelemetry/resources@npm:1.25.1": version: 1.25.1 resolution: "@opentelemetry/resources@npm:1.25.1" dependencies: @@ -4567,6 +4478,18 @@ __metadata: languageName: node linkType: hard +"@opentelemetry/resources@npm:1.26.0, @opentelemetry/resources@npm:^1.26.0": + version: 1.26.0 + resolution: "@opentelemetry/resources@npm:1.26.0" + dependencies: + "@opentelemetry/core": 1.26.0 + "@opentelemetry/semantic-conventions": 1.27.0 + peerDependencies: + "@opentelemetry/api": ">=1.0.0 <1.10.0" + checksum: f70b0fdf4fb00c950bc30084818c92a5339f1be5d709bd681ab14453e877d6bb9f700324b8e65a0eabfeea618d01ed071abf9088e00fa0bf7f3305b1abad22cb + languageName: node + linkType: hard + "@opentelemetry/sdk-metrics@npm:^1.9.1": version: 1.25.1 resolution: "@opentelemetry/sdk-metrics@npm:1.25.1" @@ -4580,26 +4503,33 @@ __metadata: languageName: node linkType: hard -"@opentelemetry/sdk-trace-base@npm:^1.22, @opentelemetry/sdk-trace-base@npm:^1.25.1": - version: 1.25.1 - resolution: "@opentelemetry/sdk-trace-base@npm:1.25.1" +"@opentelemetry/sdk-trace-base@npm:^1.22, @opentelemetry/sdk-trace-base@npm:^1.26.0": + version: 1.26.0 + resolution: "@opentelemetry/sdk-trace-base@npm:1.26.0" dependencies: - "@opentelemetry/core": 1.25.1 - "@opentelemetry/resources": 1.25.1 - "@opentelemetry/semantic-conventions": 1.25.1 + "@opentelemetry/core": 1.26.0 + "@opentelemetry/resources": 1.26.0 + "@opentelemetry/semantic-conventions": 1.27.0 peerDependencies: "@opentelemetry/api": ">=1.0.0 <1.10.0" - checksum: 8ac97f7d8d36bf412c5f47ff98ded07c5dfd11602a6ae7657ec7b5f50bb6ddaa20fc682626afcf74e21b375dbad0d1d47c8e20204d5139431afec25165f6252b + checksum: a4f4ddf644fd0d79b2bd49e4377143688d2aa657643a470d8bed6696f26817598fb4e9f16ba2d8c237292af56f06eec56594a7b4cc417d4ea7e490a45a22113b languageName: node linkType: hard -"@opentelemetry/semantic-conventions@npm:1.25.1, @opentelemetry/semantic-conventions@npm:^1.17.0, @opentelemetry/semantic-conventions@npm:^1.22.0, @opentelemetry/semantic-conventions@npm:^1.23.0, @opentelemetry/semantic-conventions@npm:^1.25.1": +"@opentelemetry/semantic-conventions@npm:1.25.1": version: 1.25.1 resolution: "@opentelemetry/semantic-conventions@npm:1.25.1" checksum: fea418a4b09c55121c6da11c49dd2105116533838c484aead17e8acf8029dad711e145849812f9c61f9e48fad8e2b6cf103d2c18847ca993032ce9b27c2f863d languageName: node linkType: hard +"@opentelemetry/semantic-conventions@npm:1.27.0, @opentelemetry/semantic-conventions@npm:^1.27.0": + version: 1.27.0 + resolution: "@opentelemetry/semantic-conventions@npm:1.27.0" + checksum: 26d85f8d13c8c64024f7a84528cff41d56afc9829e7ff8a654576404f8b2c1a9c264adcc6fa5a9551bacdd938a4a464041fa9493e0a722e5605f2c2ae6752398 + languageName: node + linkType: hard + "@opentelemetry/sql-common@npm:^0.40.1": version: 0.40.1 resolution: "@opentelemetry/sql-common@npm:0.40.1" @@ -4666,14 +4596,14 @@ __metadata: languageName: node linkType: hard -"@prisma/instrumentation@npm:5.16.0": - version: 5.16.0 - resolution: "@prisma/instrumentation@npm:5.16.0" +"@prisma/instrumentation@npm:5.19.1": + version: 5.19.1 + resolution: "@prisma/instrumentation@npm:5.19.1" dependencies: "@opentelemetry/api": ^1.8 "@opentelemetry/instrumentation": ^0.49 || ^0.50 || ^0.51 || ^0.52.0 "@opentelemetry/sdk-trace-base": ^1.22 - checksum: 3519fd0856ed33fa3a1db7ca2589aa0dcbd803cb90ce803fd26e0139669df59313e86d7c96592002fb4204cfad02ff7b7481b4c16c388580a32a9b2beed11dca + checksum: eff7f0b3737d0253e12f9b8df65f7a4b0c793ec3f459a792b7b553e0b706953ffc6117953537b4f3e0627385a3ee360b5758dec32f2d2e042d158489ae987ec5 languageName: node linkType: hard @@ -6513,9 +6443,9 @@ __metadata: languageName: node linkType: hard -"@rollup/plugin-replace@npm:^5.0.5": - version: 5.0.5 - resolution: "@rollup/plugin-replace@npm:5.0.5" +"@rollup/plugin-replace@npm:^5.0.7": + version: 5.0.7 + resolution: "@rollup/plugin-replace@npm:5.0.7" dependencies: "@rollup/pluginutils": ^5.0.1 magic-string: ^0.30.3 @@ -6524,7 +6454,7 @@ __metadata: peerDependenciesMeta: rollup: optional: true - checksum: 5559b48fa098a842ddb3a25b23d9902d75496bed807d4cabac304bb7e75b06374ad4a44f7871ddcd1bfcf23e6015a0274d44564b42af54c722af0a514c247ec1 + checksum: 67985e3f4056b92a5f6847b9ddf5b8e9aaecefa0e20b96751dcd63c3ca1f907dadad2940f270867dab2e24bc27da6b0e82f0ce6bb20309aa3465869a9d2e3f13 languageName: node linkType: hard @@ -6573,114 +6503,114 @@ __metadata: languageName: node linkType: hard -"@rollup/rollup-android-arm-eabi@npm:4.20.0": - version: 4.20.0 - resolution: "@rollup/rollup-android-arm-eabi@npm:4.20.0" +"@rollup/rollup-android-arm-eabi@npm:4.22.0": + version: 4.22.0 + resolution: "@rollup/rollup-android-arm-eabi@npm:4.22.0" conditions: os=android & cpu=arm languageName: node linkType: hard -"@rollup/rollup-android-arm64@npm:4.20.0": - version: 4.20.0 - resolution: "@rollup/rollup-android-arm64@npm:4.20.0" +"@rollup/rollup-android-arm64@npm:4.22.0": + version: 4.22.0 + resolution: "@rollup/rollup-android-arm64@npm:4.22.0" conditions: os=android & cpu=arm64 languageName: node linkType: hard -"@rollup/rollup-darwin-arm64@npm:4.20.0": - version: 4.20.0 - resolution: "@rollup/rollup-darwin-arm64@npm:4.20.0" +"@rollup/rollup-darwin-arm64@npm:4.22.0": + version: 4.22.0 + resolution: "@rollup/rollup-darwin-arm64@npm:4.22.0" conditions: os=darwin & cpu=arm64 languageName: node linkType: hard -"@rollup/rollup-darwin-x64@npm:4.20.0": - version: 4.20.0 - resolution: "@rollup/rollup-darwin-x64@npm:4.20.0" +"@rollup/rollup-darwin-x64@npm:4.22.0": + version: 4.22.0 + resolution: "@rollup/rollup-darwin-x64@npm:4.22.0" conditions: os=darwin & cpu=x64 languageName: node linkType: hard -"@rollup/rollup-linux-arm-gnueabihf@npm:4.20.0": - version: 4.20.0 - resolution: "@rollup/rollup-linux-arm-gnueabihf@npm:4.20.0" +"@rollup/rollup-linux-arm-gnueabihf@npm:4.22.0": + version: 4.22.0 + resolution: "@rollup/rollup-linux-arm-gnueabihf@npm:4.22.0" conditions: os=linux & cpu=arm & libc=glibc languageName: node linkType: hard -"@rollup/rollup-linux-arm-musleabihf@npm:4.20.0": - version: 4.20.0 - resolution: "@rollup/rollup-linux-arm-musleabihf@npm:4.20.0" +"@rollup/rollup-linux-arm-musleabihf@npm:4.22.0": + version: 4.22.0 + resolution: "@rollup/rollup-linux-arm-musleabihf@npm:4.22.0" conditions: os=linux & cpu=arm & libc=musl languageName: node linkType: hard -"@rollup/rollup-linux-arm64-gnu@npm:4.20.0": - version: 4.20.0 - resolution: "@rollup/rollup-linux-arm64-gnu@npm:4.20.0" +"@rollup/rollup-linux-arm64-gnu@npm:4.22.0": + version: 4.22.0 + resolution: "@rollup/rollup-linux-arm64-gnu@npm:4.22.0" conditions: os=linux & cpu=arm64 & libc=glibc languageName: node linkType: hard -"@rollup/rollup-linux-arm64-musl@npm:4.20.0": - version: 4.20.0 - resolution: "@rollup/rollup-linux-arm64-musl@npm:4.20.0" +"@rollup/rollup-linux-arm64-musl@npm:4.22.0": + version: 4.22.0 + resolution: "@rollup/rollup-linux-arm64-musl@npm:4.22.0" conditions: os=linux & cpu=arm64 & libc=musl languageName: node linkType: hard -"@rollup/rollup-linux-powerpc64le-gnu@npm:4.20.0": - version: 4.20.0 - resolution: "@rollup/rollup-linux-powerpc64le-gnu@npm:4.20.0" +"@rollup/rollup-linux-powerpc64le-gnu@npm:4.22.0": + version: 4.22.0 + resolution: "@rollup/rollup-linux-powerpc64le-gnu@npm:4.22.0" conditions: os=linux & cpu=ppc64 & libc=glibc languageName: node linkType: hard -"@rollup/rollup-linux-riscv64-gnu@npm:4.20.0": - version: 4.20.0 - resolution: "@rollup/rollup-linux-riscv64-gnu@npm:4.20.0" +"@rollup/rollup-linux-riscv64-gnu@npm:4.22.0": + version: 4.22.0 + resolution: "@rollup/rollup-linux-riscv64-gnu@npm:4.22.0" conditions: os=linux & cpu=riscv64 & libc=glibc languageName: node linkType: hard -"@rollup/rollup-linux-s390x-gnu@npm:4.20.0": - version: 4.20.0 - resolution: "@rollup/rollup-linux-s390x-gnu@npm:4.20.0" +"@rollup/rollup-linux-s390x-gnu@npm:4.22.0": + version: 4.22.0 + resolution: "@rollup/rollup-linux-s390x-gnu@npm:4.22.0" conditions: os=linux & cpu=s390x & libc=glibc languageName: node linkType: hard -"@rollup/rollup-linux-x64-gnu@npm:4.20.0": - version: 4.20.0 - resolution: "@rollup/rollup-linux-x64-gnu@npm:4.20.0" +"@rollup/rollup-linux-x64-gnu@npm:4.22.0": + version: 4.22.0 + resolution: "@rollup/rollup-linux-x64-gnu@npm:4.22.0" conditions: os=linux & cpu=x64 & libc=glibc languageName: node linkType: hard -"@rollup/rollup-linux-x64-musl@npm:4.20.0": - version: 4.20.0 - resolution: "@rollup/rollup-linux-x64-musl@npm:4.20.0" +"@rollup/rollup-linux-x64-musl@npm:4.22.0": + version: 4.22.0 + resolution: "@rollup/rollup-linux-x64-musl@npm:4.22.0" conditions: os=linux & cpu=x64 & libc=musl languageName: node linkType: hard -"@rollup/rollup-win32-arm64-msvc@npm:4.20.0": - version: 4.20.0 - resolution: "@rollup/rollup-win32-arm64-msvc@npm:4.20.0" +"@rollup/rollup-win32-arm64-msvc@npm:4.22.0": + version: 4.22.0 + resolution: "@rollup/rollup-win32-arm64-msvc@npm:4.22.0" conditions: os=win32 & cpu=arm64 languageName: node linkType: hard -"@rollup/rollup-win32-ia32-msvc@npm:4.20.0": - version: 4.20.0 - resolution: "@rollup/rollup-win32-ia32-msvc@npm:4.20.0" +"@rollup/rollup-win32-ia32-msvc@npm:4.22.0": + version: 4.22.0 + resolution: "@rollup/rollup-win32-ia32-msvc@npm:4.22.0" conditions: os=win32 & cpu=ia32 languageName: node linkType: hard -"@rollup/rollup-win32-x64-msvc@npm:4.20.0": - version: 4.20.0 - resolution: "@rollup/rollup-win32-x64-msvc@npm:4.20.0" +"@rollup/rollup-win32-x64-msvc@npm:4.22.0": + version: 4.22.0 + resolution: "@rollup/rollup-win32-x64-msvc@npm:4.22.0" conditions: os=win32 & cpu=x64 languageName: node linkType: hard @@ -6702,150 +6632,173 @@ __metadata: languageName: node linkType: hard -"@sentry-internal/browser-utils@npm:8.13.0": - version: 8.13.0 - resolution: "@sentry-internal/browser-utils@npm:8.13.0" +"@sentry-internal/browser-utils@npm:8.30.0": + version: 8.30.0 + resolution: "@sentry-internal/browser-utils@npm:8.30.0" dependencies: - "@sentry/core": 8.13.0 - "@sentry/types": 8.13.0 - "@sentry/utils": 8.13.0 - checksum: ff7386f879517720e2b14f03564f55ba799b3ea3905e9dcec8c2681cff0a042875954df8ce9fe8e63506b9ea42a0044ab3f3de2678db7d42e782516cd79a8abf + "@sentry/core": 8.30.0 + "@sentry/types": 8.30.0 + "@sentry/utils": 8.30.0 + checksum: 140af9257b9bcec09c1f8183db935265b9ca20d4e21c07051982f6419ba84cd39efb3d5016e54387df4abfd9cf0c76c3125ca8d1f624c78e2cacef411613908a languageName: node linkType: hard -"@sentry-internal/feedback@npm:8.13.0": - version: 8.13.0 - resolution: "@sentry-internal/feedback@npm:8.13.0" +"@sentry-internal/feedback@npm:8.30.0": + version: 8.30.0 + resolution: "@sentry-internal/feedback@npm:8.30.0" dependencies: - "@sentry/core": 8.13.0 - "@sentry/types": 8.13.0 - "@sentry/utils": 8.13.0 - checksum: b182c1fd0a6ee3348c1067d7a121029c2f8aff5f4e137df2a45f1dffecbbde349e6d952ef75ee9f798e146a011b7e064e43a666f2622dcb6b97f3b84b6828229 + "@sentry/core": 8.30.0 + "@sentry/types": 8.30.0 + "@sentry/utils": 8.30.0 + checksum: 7d64b3e7439e6cb9d9c8eb29a3eca0ab67fed1d4d05e9a6299b0ca479cca4c154a81e7245ebbd75fec5aa8cc2e05f0b49b4259b5c0f096d861bc30115edc7a76 languageName: node linkType: hard -"@sentry-internal/replay-canvas@npm:8.13.0": - version: 8.13.0 - resolution: "@sentry-internal/replay-canvas@npm:8.13.0" +"@sentry-internal/replay-canvas@npm:8.30.0": + version: 8.30.0 + resolution: "@sentry-internal/replay-canvas@npm:8.30.0" dependencies: - "@sentry-internal/replay": 8.13.0 - "@sentry/core": 8.13.0 - "@sentry/types": 8.13.0 - "@sentry/utils": 8.13.0 - checksum: 48d85a33479bcebed49e92bf695e9211ed41995749f5bcb306c0be0c18360dada029dfb72f5af1bfaf093fe60f187eeea037ae364b680b6fbe2539f6cd78d8e1 + "@sentry-internal/replay": 8.30.0 + "@sentry/core": 8.30.0 + "@sentry/types": 8.30.0 + "@sentry/utils": 8.30.0 + checksum: 7d2f26ded82c36a0dcab287a1c36dc3c3047b183a59449016ffb794f6695b3c289206df52bbf0937ed2020e831d9265e544075951ac7d4f0fa09361c9c75dab8 languageName: node linkType: hard -"@sentry-internal/replay@npm:8.13.0": - version: 8.13.0 - resolution: "@sentry-internal/replay@npm:8.13.0" +"@sentry-internal/replay@npm:8.30.0": + version: 8.30.0 + resolution: "@sentry-internal/replay@npm:8.30.0" dependencies: - "@sentry-internal/browser-utils": 8.13.0 - "@sentry/core": 8.13.0 - "@sentry/types": 8.13.0 - "@sentry/utils": 8.13.0 - checksum: 2c513b04c9afe6f134065bceafac342561380244b865ce606bf079149338c75389352afcf30b9cba9f27953d35efe2a415f8b303ce2b3708e22ae057ad54943d + "@sentry-internal/browser-utils": 8.30.0 + "@sentry/core": 8.30.0 + "@sentry/types": 8.30.0 + "@sentry/utils": 8.30.0 + checksum: 1e46ba6134cd979400664ad9b5e6b22de60c64c5e5fd50a8004043956830836bff70aebd01f8469680e3968845ae36307ba562b2f0e62ecdc1cdcfb2fa8d7ad4 + languageName: node + linkType: hard + +"@sentry/babel-plugin-component-annotate@npm:2.22.3": + version: 2.22.3 + resolution: "@sentry/babel-plugin-component-annotate@npm:2.22.3" + checksum: 8dccbe700ffdd4cbdbcf2466d342fba40b3619aef06aa855205a9fa09707a92e80cb401cd341bed1ebe77d28b96fd11a06a6e78ba12b8045b52201f89cb6eced languageName: node linkType: hard -"@sentry/babel-plugin-component-annotate@npm:2.20.1": - version: 2.20.1 - resolution: "@sentry/babel-plugin-component-annotate@npm:2.20.1" - checksum: 5fecba8c7915693fec811bb06ff0441f28496f6b12e811337a08996a7aa13a13a069c9f9ed28bac95be89d03b422a68d7236ab3376c161edbe051cb0ad2a0193 +"@sentry/babel-plugin-component-annotate@npm:2.22.4": + version: 2.22.4 + resolution: "@sentry/babel-plugin-component-annotate@npm:2.22.4" + checksum: a77f4af50bf0254ed40aeabe1bb4710790e65a148f7fb77a940b2990aa4b8122e76e335ff81cee53a363d1785f45c0c24ec9456ebf85513b73fcfd88a1dc685d languageName: node linkType: hard -"@sentry/browser@npm:8.13.0": - version: 8.13.0 - resolution: "@sentry/browser@npm:8.13.0" +"@sentry/browser@npm:8.30.0": + version: 8.30.0 + resolution: "@sentry/browser@npm:8.30.0" dependencies: - "@sentry-internal/browser-utils": 8.13.0 - "@sentry-internal/feedback": 8.13.0 - "@sentry-internal/replay": 8.13.0 - "@sentry-internal/replay-canvas": 8.13.0 - "@sentry/core": 8.13.0 - "@sentry/types": 8.13.0 - "@sentry/utils": 8.13.0 - checksum: 6bac7de19b118e7ed3bba7153605453224695b6d4ca036add7d9e0dac2b960b5c2ae752d3c47ba5a9721c88b6f98cd47f84d3452b2b37c85546e657412e58c7a + "@sentry-internal/browser-utils": 8.30.0 + "@sentry-internal/feedback": 8.30.0 + "@sentry-internal/replay": 8.30.0 + "@sentry-internal/replay-canvas": 8.30.0 + "@sentry/core": 8.30.0 + "@sentry/types": 8.30.0 + "@sentry/utils": 8.30.0 + checksum: 08bb5a6e63f343470b45b9f76820158812a2b178e3c956aeb7142421247f7c648a1e44e7abdeb80e9aaec0472b89df1105a0fb539672a177970ad63040d871c3 + languageName: node + linkType: hard + +"@sentry/bundler-plugin-core@npm:2.22.3": + version: 2.22.3 + resolution: "@sentry/bundler-plugin-core@npm:2.22.3" + dependencies: + "@babel/core": ^7.18.5 + "@sentry/babel-plugin-component-annotate": 2.22.3 + "@sentry/cli": ^2.33.1 + dotenv: ^16.3.1 + find-up: ^5.0.0 + glob: ^9.3.2 + magic-string: 0.30.8 + unplugin: 1.0.1 + checksum: cbf7befb78ecf2c1cd0af9b22c26acb7da63c030309452172a34146e834c644dcd24538eedfa6e4296c51bbf46fd1ab50c2b2f108d26c16d8169b7eb29f1e53c languageName: node linkType: hard -"@sentry/bundler-plugin-core@npm:2.20.1": - version: 2.20.1 - resolution: "@sentry/bundler-plugin-core@npm:2.20.1" +"@sentry/bundler-plugin-core@npm:2.22.4": + version: 2.22.4 + resolution: "@sentry/bundler-plugin-core@npm:2.22.4" dependencies: "@babel/core": ^7.18.5 - "@sentry/babel-plugin-component-annotate": 2.20.1 - "@sentry/cli": ^2.22.3 + "@sentry/babel-plugin-component-annotate": 2.22.4 + "@sentry/cli": ^2.33.1 dotenv: ^16.3.1 find-up: ^5.0.0 glob: ^9.3.2 magic-string: 0.30.8 unplugin: 1.0.1 - checksum: a060875ddf7332b23cd6060c281c32757120b143855021e42477840b6314b219e89588da8388236b76063485a69670682188b1ef526189d0d087a83f03d30dd2 + checksum: c66c45045ffe98f7c1c8ec46758ab85d70b2ace1bfabaa74d3d5fdc38da79f87a1acf8c5dc8e10b4c4a5c4bac1fbfb1b85fa90596cd9fea8fe81db89f20e0b3d languageName: node linkType: hard -"@sentry/cli-darwin@npm:2.31.0": - version: 2.31.0 - resolution: "@sentry/cli-darwin@npm:2.31.0" +"@sentry/cli-darwin@npm:2.36.1": + version: 2.36.1 + resolution: "@sentry/cli-darwin@npm:2.36.1" conditions: os=darwin languageName: node linkType: hard -"@sentry/cli-linux-arm64@npm:2.31.0": - version: 2.31.0 - resolution: "@sentry/cli-linux-arm64@npm:2.31.0" +"@sentry/cli-linux-arm64@npm:2.36.1": + version: 2.36.1 + resolution: "@sentry/cli-linux-arm64@npm:2.36.1" conditions: (os=linux | os=freebsd) & cpu=arm64 languageName: node linkType: hard -"@sentry/cli-linux-arm@npm:2.31.0": - version: 2.31.0 - resolution: "@sentry/cli-linux-arm@npm:2.31.0" +"@sentry/cli-linux-arm@npm:2.36.1": + version: 2.36.1 + resolution: "@sentry/cli-linux-arm@npm:2.36.1" conditions: (os=linux | os=freebsd) & cpu=arm languageName: node linkType: hard -"@sentry/cli-linux-i686@npm:2.31.0": - version: 2.31.0 - resolution: "@sentry/cli-linux-i686@npm:2.31.0" +"@sentry/cli-linux-i686@npm:2.36.1": + version: 2.36.1 + resolution: "@sentry/cli-linux-i686@npm:2.36.1" conditions: (os=linux | os=freebsd) & (cpu=x86 | cpu=ia32) languageName: node linkType: hard -"@sentry/cli-linux-x64@npm:2.31.0": - version: 2.31.0 - resolution: "@sentry/cli-linux-x64@npm:2.31.0" +"@sentry/cli-linux-x64@npm:2.36.1": + version: 2.36.1 + resolution: "@sentry/cli-linux-x64@npm:2.36.1" conditions: (os=linux | os=freebsd) & cpu=x64 languageName: node linkType: hard -"@sentry/cli-win32-i686@npm:2.31.0": - version: 2.31.0 - resolution: "@sentry/cli-win32-i686@npm:2.31.0" +"@sentry/cli-win32-i686@npm:2.36.1": + version: 2.36.1 + resolution: "@sentry/cli-win32-i686@npm:2.36.1" conditions: os=win32 & (cpu=x86 | cpu=ia32) languageName: node linkType: hard -"@sentry/cli-win32-x64@npm:2.31.0": - version: 2.31.0 - resolution: "@sentry/cli-win32-x64@npm:2.31.0" +"@sentry/cli-win32-x64@npm:2.36.1": + version: 2.36.1 + resolution: "@sentry/cli-win32-x64@npm:2.36.1" conditions: os=win32 & cpu=x64 languageName: node linkType: hard -"@sentry/cli@npm:^2.22.3": - version: 2.31.0 - resolution: "@sentry/cli@npm:2.31.0" +"@sentry/cli@npm:^2.33.1": + version: 2.36.1 + resolution: "@sentry/cli@npm:2.36.1" dependencies: - "@sentry/cli-darwin": 2.31.0 - "@sentry/cli-linux-arm": 2.31.0 - "@sentry/cli-linux-arm64": 2.31.0 - "@sentry/cli-linux-i686": 2.31.0 - "@sentry/cli-linux-x64": 2.31.0 - "@sentry/cli-win32-i686": 2.31.0 - "@sentry/cli-win32-x64": 2.31.0 + "@sentry/cli-darwin": 2.36.1 + "@sentry/cli-linux-arm": 2.36.1 + "@sentry/cli-linux-arm64": 2.36.1 + "@sentry/cli-linux-i686": 2.36.1 + "@sentry/cli-linux-x64": 2.36.1 + "@sentry/cli-win32-i686": 2.36.1 + "@sentry/cli-win32-x64": 2.36.1 https-proxy-agent: ^5.0.0 node-fetch: ^2.6.7 progress: ^2.0.3 @@ -6868,166 +6821,168 @@ __metadata: optional: true bin: sentry-cli: bin/sentry-cli - checksum: aa6a65d35721181746c9424c1e69750206a1ebe7128f81808f354dde9ae4c27d03370a37112f3ce77b2f892d71ef0a0a25b1075ef89baec90b6192fe7e0dc519 + checksum: 036ebfa2a7847a40bebc71f15767cdac644ac0c4bd2737bdc16e687661a2c6a0e528b481cee0b1deeddc154e138cb21ca5b292970113998b061495f3d710ec1a languageName: node linkType: hard -"@sentry/core@npm:8.13.0": - version: 8.13.0 - resolution: "@sentry/core@npm:8.13.0" +"@sentry/core@npm:8.30.0": + version: 8.30.0 + resolution: "@sentry/core@npm:8.30.0" dependencies: - "@sentry/types": 8.13.0 - "@sentry/utils": 8.13.0 - checksum: 1841f57a4695919086c27ddcab261a16d8dccb93b158584e26e73952a9822562531b99fd46a167e5aaab205a73f375de64888e3f7d7f66d788710b494fc8b5cd + "@sentry/types": 8.30.0 + "@sentry/utils": 8.30.0 + checksum: 986b5e97b25bfc3759065b0009f56460794d6402fcdca5b0618e41b3539987ee243a7db5d69e6f55fc7062b0acbbb4858109032f0763754bdf5563d011195ae0 languageName: node linkType: hard -"@sentry/nextjs@npm:^8.13.0": - version: 8.13.0 - resolution: "@sentry/nextjs@npm:8.13.0" +"@sentry/nextjs@npm:^8.30.0": + version: 8.30.0 + resolution: "@sentry/nextjs@npm:8.30.0" dependencies: - "@opentelemetry/instrumentation-http": 0.52.1 + "@opentelemetry/instrumentation-http": 0.53.0 + "@opentelemetry/semantic-conventions": ^1.27.0 "@rollup/plugin-commonjs": 26.0.1 - "@sentry/core": 8.13.0 - "@sentry/node": 8.13.0 - "@sentry/opentelemetry": 8.13.0 - "@sentry/react": 8.13.0 - "@sentry/types": 8.13.0 - "@sentry/utils": 8.13.0 - "@sentry/vercel-edge": 8.13.0 - "@sentry/webpack-plugin": 2.20.1 + "@sentry/core": 8.30.0 + "@sentry/node": 8.30.0 + "@sentry/opentelemetry": 8.30.0 + "@sentry/react": 8.30.0 + "@sentry/types": 8.30.0 + "@sentry/utils": 8.30.0 + "@sentry/vercel-edge": 8.30.0 + "@sentry/webpack-plugin": 2.22.3 chalk: 3.0.0 resolve: 1.22.8 rollup: 3.29.4 stacktrace-parser: ^0.1.10 peerDependencies: next: ^13.2.0 || ^14.0 || ^15.0.0-rc.0 - webpack: ">= 5.0.0" + webpack: 5.94.0 peerDependenciesMeta: webpack: optional: true - checksum: 4768cfdfc4a7740c0f4fed655f9429ba5cb1b8fc62abd7fbc782d725438141f4a6b8a8b9c455ca91cba703b7cf92c328defb02812f7989551f6ea8d8c1b26463 + checksum: b609f107222b90fa064078b45e7fde235733151f752469a3d6671bbaabbff7aaad14792e231820474f6b76bea2645756a2b0db570d1e63b1a2bdcdc2f3c2eb3b languageName: node linkType: hard -"@sentry/node@npm:8.13.0": - version: 8.13.0 - resolution: "@sentry/node@npm:8.13.0" +"@sentry/node@npm:8.30.0": + version: 8.30.0 + resolution: "@sentry/node@npm:8.30.0" dependencies: "@opentelemetry/api": ^1.9.0 "@opentelemetry/context-async-hooks": ^1.25.1 "@opentelemetry/core": ^1.25.1 - "@opentelemetry/instrumentation": ^0.52.1 - "@opentelemetry/instrumentation-connect": 0.37.0 - "@opentelemetry/instrumentation-express": 0.40.1 - "@opentelemetry/instrumentation-fastify": 0.37.0 - "@opentelemetry/instrumentation-graphql": 0.41.0 - "@opentelemetry/instrumentation-hapi": 0.39.0 - "@opentelemetry/instrumentation-http": 0.52.1 - "@opentelemetry/instrumentation-ioredis": 0.41.0 - "@opentelemetry/instrumentation-koa": 0.41.0 - "@opentelemetry/instrumentation-mongodb": 0.45.0 - "@opentelemetry/instrumentation-mongoose": 0.39.0 - "@opentelemetry/instrumentation-mysql": 0.39.0 - "@opentelemetry/instrumentation-mysql2": 0.39.0 - "@opentelemetry/instrumentation-nestjs-core": 0.38.0 - "@opentelemetry/instrumentation-pg": 0.42.0 - "@opentelemetry/instrumentation-redis-4": 0.40.0 - "@opentelemetry/resources": ^1.25.1 - "@opentelemetry/sdk-trace-base": ^1.25.1 - "@opentelemetry/semantic-conventions": ^1.25.1 - "@prisma/instrumentation": 5.16.0 - "@sentry/core": 8.13.0 - "@sentry/opentelemetry": 8.13.0 - "@sentry/types": 8.13.0 - "@sentry/utils": 8.13.0 - opentelemetry-instrumentation-fetch-node: 1.2.0 - dependenciesMeta: - opentelemetry-instrumentation-fetch-node: - optional: true - checksum: e6a2633ac6ccb718f8cae84cc47cf7195a2316c1e5d73f3821aebeb26a52776d3670097c40a50ccc1bd193f1566c3e62003d439cbe1b22ee6ec1dfa0373b3e03 - languageName: node - linkType: hard - -"@sentry/opentelemetry@npm:8.13.0": - version: 8.13.0 - resolution: "@sentry/opentelemetry@npm:8.13.0" - dependencies: - "@sentry/core": 8.13.0 - "@sentry/types": 8.13.0 - "@sentry/utils": 8.13.0 + "@opentelemetry/instrumentation": ^0.53.0 + "@opentelemetry/instrumentation-connect": 0.39.0 + "@opentelemetry/instrumentation-express": 0.42.0 + "@opentelemetry/instrumentation-fastify": 0.39.0 + "@opentelemetry/instrumentation-fs": 0.15.0 + "@opentelemetry/instrumentation-generic-pool": 0.39.0 + "@opentelemetry/instrumentation-graphql": 0.43.0 + "@opentelemetry/instrumentation-hapi": 0.41.0 + "@opentelemetry/instrumentation-http": 0.53.0 + "@opentelemetry/instrumentation-ioredis": 0.43.0 + "@opentelemetry/instrumentation-kafkajs": 0.3.0 + "@opentelemetry/instrumentation-koa": 0.43.0 + "@opentelemetry/instrumentation-mongodb": 0.47.0 + "@opentelemetry/instrumentation-mongoose": 0.42.0 + "@opentelemetry/instrumentation-mysql": 0.41.0 + "@opentelemetry/instrumentation-mysql2": 0.41.0 + "@opentelemetry/instrumentation-nestjs-core": 0.40.0 + "@opentelemetry/instrumentation-pg": 0.44.0 + "@opentelemetry/instrumentation-redis-4": 0.42.0 + "@opentelemetry/instrumentation-undici": 0.6.0 + "@opentelemetry/resources": ^1.26.0 + "@opentelemetry/sdk-trace-base": ^1.26.0 + "@opentelemetry/semantic-conventions": ^1.27.0 + "@prisma/instrumentation": 5.19.1 + "@sentry/core": 8.30.0 + "@sentry/opentelemetry": 8.30.0 + "@sentry/types": 8.30.0 + "@sentry/utils": 8.30.0 + import-in-the-middle: ^1.11.0 + checksum: 5d92015d6d764b237f3503e6c6cffc2891db609074555e49426c51fa8471f919fefb7bb9e34fd0aff2a311d2542a61450ad73cdbb269e1f2433a4608e9481864 + languageName: node + linkType: hard + +"@sentry/opentelemetry@npm:8.30.0": + version: 8.30.0 + resolution: "@sentry/opentelemetry@npm:8.30.0" + dependencies: + "@sentry/core": 8.30.0 + "@sentry/types": 8.30.0 + "@sentry/utils": 8.30.0 peerDependencies: "@opentelemetry/api": ^1.9.0 "@opentelemetry/core": ^1.25.1 - "@opentelemetry/instrumentation": ^0.52.1 - "@opentelemetry/sdk-trace-base": ^1.25.1 - "@opentelemetry/semantic-conventions": ^1.25.1 - checksum: 2218152299a64fd1c555f5199cd74fade27ca7ccc8eebfcb3812421e0289fbae0261cf7eb608c74fcdc8a71334e924a9fb3245820df0f3eeeeeae8efb8a242db + "@opentelemetry/instrumentation": ^0.53.0 + "@opentelemetry/sdk-trace-base": ^1.26.0 + "@opentelemetry/semantic-conventions": ^1.27.0 + checksum: bee4bf3fc626d6a66bc0635fe30dce820cb758ece926ef5a2888e58e2481d42ecc960f18ba374d42f5a822db04162368a092e923f4c992441416b36a2039226e languageName: node linkType: hard -"@sentry/react@npm:8.13.0, @sentry/react@npm:^8.13.0": - version: 8.13.0 - resolution: "@sentry/react@npm:8.13.0" +"@sentry/react@npm:8.30.0, @sentry/react@npm:^8.30.0": + version: 8.30.0 + resolution: "@sentry/react@npm:8.30.0" dependencies: - "@sentry/browser": 8.13.0 - "@sentry/core": 8.13.0 - "@sentry/types": 8.13.0 - "@sentry/utils": 8.13.0 + "@sentry/browser": 8.30.0 + "@sentry/core": 8.30.0 + "@sentry/types": 8.30.0 + "@sentry/utils": 8.30.0 hoist-non-react-statics: ^3.3.2 peerDependencies: react: ^16.14.0 || 17.x || 18.x || 19.x - checksum: 90e13c2956f9d10d33b2a6dcf242b99caa268e728bed7cba5fd9e7cc88b4ef7b50634fc653f4e6c4365049002c8d8d27f99c4ce9ff676f814e02ed5ad7e0dc48 + checksum: d2589707f429b368c617c68c53429a7d6860428da8539aa15a0ca7971ec137bc7f2a851dee0367d49f840e863fbeb6fb785d806ac8e43d3ab4a048e7f1ace3b0 languageName: node linkType: hard -"@sentry/types@npm:8.13.0": - version: 8.13.0 - resolution: "@sentry/types@npm:8.13.0" - checksum: 571a15d24d5882502a233c950fe786f6b4f3ba5c0a2276c9bd497a42b682680b885dd161adcc26ef03cda6f9986fd9fb4254c8d8b3ae57e6c21828b65a956cb0 +"@sentry/types@npm:8.30.0": + version: 8.30.0 + resolution: "@sentry/types@npm:8.30.0" + checksum: d96138af9692f31ff42fd6e4bdb32ea16659f212f09b4e23c8114c8eed73a1cc601595ef2bb00b8277080b552dfa8eab36abc3a5c10f06edff9785bd420d178f languageName: node linkType: hard -"@sentry/utils@npm:8.13.0": - version: 8.13.0 - resolution: "@sentry/utils@npm:8.13.0" +"@sentry/utils@npm:8.30.0": + version: 8.30.0 + resolution: "@sentry/utils@npm:8.30.0" dependencies: - "@sentry/types": 8.13.0 - checksum: 2fe28ce6d4fac1d358b468ca54fb22433d1e9d601cbe24699346b334e8ba268f4430d05017c855d6228dc90eba54c0ed181e51b31bdbdd443e8594a298d9d0bf + "@sentry/types": 8.30.0 + checksum: f18095f95cb33befb0292bc8ad731822f20fe1e8f684ccf634943a9cc20b3a700a6c9119ed56b5a6a9bc952e978f34cd95488d8c069c69d01c7b62776ad2588c languageName: node linkType: hard -"@sentry/vercel-edge@npm:8.13.0": - version: 8.13.0 - resolution: "@sentry/vercel-edge@npm:8.13.0" +"@sentry/vercel-edge@npm:8.30.0": + version: 8.30.0 + resolution: "@sentry/vercel-edge@npm:8.30.0" dependencies: - "@sentry/core": 8.13.0 - "@sentry/types": 8.13.0 - "@sentry/utils": 8.13.0 - checksum: 34b64cf094324844104d635519a4b67efd1b0363adcc6016497bde2748eeb0f97a66a932f32aede34af7188d1cde3bd4172dcce133e6795cd5118c508f314d6b + "@sentry/core": 8.30.0 + "@sentry/types": 8.30.0 + "@sentry/utils": 8.30.0 + checksum: 3dfec35ca42e668026223840d486a0298b4a3370c4a3f1ff1da28dc3ed607575951512f2bd9d3cac8cd66a5dededa679c54c1445b3fd30865f71be9ad52fa1d5 languageName: node linkType: hard -"@sentry/vite-plugin@npm:^2.20.1": - version: 2.20.1 - resolution: "@sentry/vite-plugin@npm:2.20.1" +"@sentry/vite-plugin@npm:^2.22.4": + version: 2.22.4 + resolution: "@sentry/vite-plugin@npm:2.22.4" dependencies: - "@sentry/bundler-plugin-core": 2.20.1 + "@sentry/bundler-plugin-core": 2.22.4 unplugin: 1.0.1 - checksum: 2cb2b235bfb2ea9fe4f1016c414a30f8760480c8a37bba97ff48b0db36005843eccba752bd7b208912d886f959e60f569ebe492e1c38c80b7ff79956360a367e + checksum: 46ab61f54236d81fe3a0e00fc3bbf355bd92bab34219d6d8dd298ffe2db67da72a399dd705b543584e298503dd0c85913ed2eb6291dc53194c1916cd6da55e73 languageName: node linkType: hard -"@sentry/webpack-plugin@npm:2.20.1": - version: 2.20.1 - resolution: "@sentry/webpack-plugin@npm:2.20.1" +"@sentry/webpack-plugin@npm:2.22.3": + version: 2.22.3 + resolution: "@sentry/webpack-plugin@npm:2.22.3" dependencies: - "@sentry/bundler-plugin-core": 2.20.1 + "@sentry/bundler-plugin-core": 2.22.3 unplugin: 1.0.1 uuid: ^9.0.0 peerDependencies: webpack: ">=4.40.0" - checksum: b2ae7f7aee5e13c156410cd8b6014ffd36cea989686b3fadbea3efbcfcaeba3143ae921cd8a46eb6d35e75825ae98acaafee8fe9b1380ea5c32a1ba39d3aec3e + checksum: f6eb12337e35d6514b750acf6bee75227fec7da142a62b660a864e48a3ece6b7d7e96dc8a3c126ebb650ea8acaa6b423399a31a6f48e59e51708965745d3a3f4 languageName: node linkType: hard @@ -7090,10 +7045,10 @@ __metadata: version: 0.0.0-use.local resolution: "@stream-io/audio-filters-web@workspace:packages/audio-filters-web" dependencies: - "@rollup/plugin-replace": ^5.0.5 + "@rollup/plugin-replace": ^5.0.7 "@rollup/plugin-typescript": ^11.1.6 rimraf: ^5.0.7 - rollup: ^3.29.4 + rollup: ^4.22.0 typescript: ^5.5.2 wasm-feature-detect: ^1.6.1 languageName: unknown @@ -7111,7 +7066,7 @@ __metadata: react-dom: ^18.3.1 react-router-dom: ^6.17.0 typescript: ^5.5.2 - vite: ^4.4.11 + vite: ^5.4.6 languageName: unknown linkType: soft @@ -7130,7 +7085,7 @@ __metadata: react: ^18.3.1 react-dom: ^18.3.1 typescript: ^5.5.2 - vite: ^4.4.11 + vite: ^5.4.6 languageName: unknown linkType: soft @@ -7140,8 +7095,8 @@ __metadata: dependencies: "@emotion/css": ^11.11.2 "@playwright/test": ^1.37.1 - "@sentry/react": ^8.13.0 - "@sentry/vite-plugin": ^2.20.1 + "@sentry/react": ^8.30.0 + "@sentry/vite-plugin": ^2.22.4 "@stream-io/video-react-sdk": "workspace:^" "@types/react": ^18.3.2 "@types/react-dom": ^18.3.0 @@ -7152,7 +7107,7 @@ __metadata: react: ^18.3.1 react-dom: ^18.3.1 typescript: ^5.5.2 - vite: ^4.4.11 + vite: ^5.4.6 languageName: unknown linkType: soft @@ -7167,7 +7122,7 @@ __metadata: version: 0.0.0-use.local resolution: "@stream-io/expo-video-sample@workspace:sample-apps/react-native/expo-video-sample" dependencies: - "@babel/core": ^7.24.7 + "@babel/core": ^7.25.2 "@config-plugins/react-native-callkeep": ^6.0.0 "@config-plugins/react-native-webrtc": ^9.0.0 "@notifee/react-native": ^7.8.0 @@ -7230,7 +7185,7 @@ __metadata: react-dom: ^18.3.1 react-router-dom: ^6.17.0 typescript: ^5.5.2 - vite: ^4.4.11 + vite: ^5.4.6 languageName: unknown linkType: soft @@ -7252,22 +7207,22 @@ __metadata: react-dom: ^18.3.1 react-router-dom: ^6.17.0 sass: ^1.69.5 - stream-chat: ^8.33.0 - stream-chat-react: 12.0.0-rc.5 + stream-chat: ^8.40.9 + stream-chat-react: 12.0.0 typescript: ^5.5.2 - vite: ^4.4.11 + vite: ^5.4.6 languageName: unknown linkType: soft -"@stream-io/node-sdk@npm:^0.4.0": - version: 0.4.0 - resolution: "@stream-io/node-sdk@npm:0.4.0" +"@stream-io/node-sdk@npm:^0.4.3": + version: 0.4.3 + resolution: "@stream-io/node-sdk@npm:0.4.3" dependencies: "@types/jsonwebtoken": ^9.0.3 "@types/node": ^20.11.24 jsonwebtoken: ^9.0.2 uuid: ^9.0.1 - checksum: 2c80a928649625115ed62561dfb8899ad4ce599f7f5666ad84f919b455645adb680dc230c85274ec142f0b135824d9ca8ad8e32ed28d308e3dbc8a955e9ae238 + checksum: 1e4e6b78f9789c0d2ba6fe91f453d22998bebf9b7df053b5216b1f2c3c88682e6ccaf2f662740d6938595ed44550e9b1ae2595283b89d4780869ceaf4ac5c727 languageName: node linkType: hard @@ -7295,7 +7250,7 @@ __metadata: react: ^18.3.1 react-dom: ^18.3.1 typescript: ^5.5.2 - vite: ^4.4.11 + vite: ^5.4.6 languageName: unknown linkType: soft @@ -7317,7 +7272,7 @@ __metadata: "@vitejs/plugin-basic-ssl": ^1.0.1 js-base64: ^3.7.5 typescript: ^5.5.2 - vite: ^4.4.11 + vite: ^5.4.6 languageName: unknown linkType: soft @@ -7329,10 +7284,10 @@ __metadata: "@protobuf-ts/runtime": ^2.9.4 "@protobuf-ts/runtime-rpc": ^2.9.4 "@protobuf-ts/twirp-transport": ^2.9.4 - "@rollup/plugin-replace": ^5.0.5 + "@rollup/plugin-replace": ^5.0.7 "@rollup/plugin-typescript": ^11.1.6 "@stream-io/audio-filters-web": "workspace:^" - "@stream-io/node-sdk": ^0.4.0 + "@stream-io/node-sdk": ^0.4.3 "@types/sdp-transform": ^2.4.7 "@types/ua-parser-js": ^0.7.37 "@types/ws": ^8.5.7 @@ -7344,12 +7299,12 @@ __metadata: isomorphic-ws: ^5.0.0 prettier: ^3.3.2 rimraf: ^5.0.7 - rollup: ^3.29.4 + rollup: ^4.22.0 rxjs: ~7.8.1 sdp-transform: ^2.14.1 typescript: ^5.5.2 ua-parser-js: ^1.0.36 - vite: ^4.4.11 + vite: ^5.4.6 vitest: ^1.0.0 vitest-mock-extended: ^1.2.1 webrtc-adapter: ^8.2.3 @@ -7376,11 +7331,11 @@ __metadata: version: 0.0.0-use.local resolution: "@stream-io/video-filters-web@workspace:packages/video-filters-web" dependencies: - "@rollup/plugin-replace": ^5.0.5 + "@rollup/plugin-replace": ^5.0.7 "@rollup/plugin-typescript": ^11.1.6 "@types/emscripten": ^1.39.10 rimraf: ^5.0.7 - rollup: ^3.29.4 + rollup: ^4.22.0 typescript: ^5.5.2 wasm-feature-detect: ^1.6.1 languageName: unknown @@ -7406,8 +7361,8 @@ __metadata: nx: 16.10.0 prettier: ^3.3.2 typescript: ^5.5.2 - vercel: ^37.2.1 - vite: ^4.4.11 + vercel: ^37.4.2 + vite: ^5.4.6 languageName: unknown linkType: soft @@ -7421,7 +7376,7 @@ __metadata: i18next: ^23.5.1 react: ^18.3.1 rimraf: ^5.0.7 - rollup: ^3.29.4 + rollup: ^4.22.0 rxjs: ~7.8.1 typescript: ^5.5.2 peerDependencies: @@ -7434,12 +7389,12 @@ __metadata: version: 0.0.0-use.local resolution: "@stream-io/video-react-dogfood@workspace:sample-apps/react/react-dogfood" dependencies: - "@floating-ui/dom": ^1.5.4 - "@floating-ui/react": ^0.26.5 - "@next/third-parties": ^14.2.4 - "@sentry/nextjs": ^8.13.0 + "@floating-ui/dom": ^1.6.11 + "@floating-ui/react": ^0.26.24 + "@next/third-parties": ^14.2.12 + "@sentry/nextjs": ^8.30.0 "@stream-io/audio-filters-web": "workspace:^" - "@stream-io/node-sdk": ^0.4.0 + "@stream-io/node-sdk": ^0.4.3 "@stream-io/video-filters-web": "workspace:^" "@stream-io/video-react-sdk": "workspace:^" "@stream-io/video-styling": "workspace:^" @@ -7458,7 +7413,7 @@ __metadata: mapbox-gl: ^2.15.0 mobile-device-detect: ^0.4.3 nanoid: ^5.0.4 - next: ^14.2.4 + next: ^14.2.12 next-auth: ^4.24.7 qrcode.react: ^3.1.0 react: ^18.3.1 @@ -7468,8 +7423,8 @@ __metadata: sass: ^1.69.5 source-map-loader: ^5.0.0 starwars-names: ^1.6.0 - stream-chat: ^8.33.0 - stream-chat-react: 12.0.0-rc.5 + stream-chat: ^8.40.9 + stream-chat-react: 12.0.0 yargs: ^17.7.2 languageName: unknown linkType: soft @@ -7478,9 +7433,9 @@ __metadata: version: 0.0.0-use.local resolution: "@stream-io/video-react-native-dogfood@workspace:sample-apps/react-native/dogfood" dependencies: - "@babel/core": ^7.24.7 - "@babel/preset-env": ^7.24.7 - "@babel/runtime": ^7.24.7 + "@babel/core": ^7.25.2 + "@babel/preset-env": ^7.25.4 + "@babel/runtime": ^7.25.6 "@gorhom/bottom-sheet": ^4.6.1 "@notifee/react-native": ^7.8.0 "@react-native-camera-roll/camera-roll": ^5.6.0 @@ -7521,7 +7476,7 @@ __metadata: react-native-fs: ^2.20.0 react-native-gesture-handler: ^2.15.0 react-native-haptic-feedback: ^2.0.3 - react-native-image-crop-picker: ^0.40.0 + react-native-image-crop-picker: ^0.41.2 react-native-image-resizer: ^1.4.5 react-native-incall-manager: 4.2.0 react-native-mmkv: 2.8.0 @@ -7641,9 +7596,9 @@ __metadata: version: 0.0.0-use.local resolution: "@stream-io/video-react-sdk@workspace:packages/react-sdk" dependencies: - "@floating-ui/react": ^0.26.5 + "@floating-ui/react": ^0.26.24 "@rollup/plugin-json": ^6.1.0 - "@rollup/plugin-replace": ^5.0.5 + "@rollup/plugin-replace": ^5.0.7 "@rollup/plugin-typescript": ^11.1.6 "@stream-io/audio-filters-web": "workspace:^" "@stream-io/video-client": "workspace:*" @@ -7652,17 +7607,17 @@ __metadata: "@stream-io/video-styling": "workspace:^" "@types/react": ^18.3.2 "@types/react-dom": ^18.3.0 - chart.js: ^4.4.1 + chart.js: ^4.4.4 clsx: ^2.0.0 react: ^18.3.1 react-chartjs-2: ^5.2.0 react-dom: ^18.3.1 rimraf: ^5.0.7 - rollup: ^3.29.4 + rollup: ^4.22.0 typescript: ^5.5.2 peerDependencies: - react: ^18 || ^19 - react-dom: ^18 || ^19 + react: ^17 || ^18 || ^19 + react-dom: ^17 || ^18 || ^19 languageName: unknown linkType: soft @@ -7691,11 +7646,11 @@ __metadata: react: ^18.3.1 react-dom: ^18.3.1 react-router-dom: ^6.17.0 - stream-chat: ^8.33.0 - stream-chat-react: 12.0.0-rc.5 + stream-chat: ^8.40.9 + stream-chat-react: 12.0.0 tailwindcss: ^3.2.4 typescript: ^5.5.2 - vite: ^4.4.11 + vite: ^5.4.6 languageName: unknown linkType: soft @@ -7813,15 +7768,6 @@ __metadata: languageName: node linkType: hard -"@types/accepts@npm:*": - version: 1.3.7 - resolution: "@types/accepts@npm:1.3.7" - dependencies: - "@types/node": "*" - checksum: 7678cf74976e16093aff6e6f9755826faf069ac1e30179276158ce46ea246348ff22ca6bdd46cef08428881337d9ceefbf00bab08a7731646eb9fc9449d6a1e7 - languageName: node - linkType: hard - "@types/babel__core@npm:^7.1.14, @types/babel__core@npm:^7.20.2": version: 7.20.2 resolution: "@types/babel__core@npm:7.20.2" @@ -7882,13 +7828,6 @@ __metadata: languageName: node linkType: hard -"@types/content-disposition@npm:*": - version: 0.5.8 - resolution: "@types/content-disposition@npm:0.5.8" - checksum: eeea868fb510ae7a32aa2d7de680fba79d59001f3e758a334621e10bc0a6496d3a42bb79243a5e53b9c63cb524522853ccc144fe1ab160c4247d37cdb81146c4 - languageName: node - linkType: hard - "@types/cookie@npm:^0.4.1": version: 0.4.1 resolution: "@types/cookie@npm:0.4.1" @@ -7896,18 +7835,6 @@ __metadata: languageName: node linkType: hard -"@types/cookies@npm:*": - version: 0.9.0 - resolution: "@types/cookies@npm:0.9.0" - dependencies: - "@types/connect": "*" - "@types/express": "*" - "@types/keygrip": "*" - "@types/node": "*" - checksum: ce59bfdf3a5d750400ac32aa93157ec7be997dc632660cf0bbfd76df23d71a70bb5f0820558cd26b9a5576f86b6664a2fd23ae211b51202a5b2f9a15995d7331 - languageName: node - linkType: hard - "@types/debug@npm:^4.0.0": version: 4.1.8 resolution: "@types/debug@npm:4.1.8" @@ -7934,15 +7861,6 @@ __metadata: languageName: node linkType: hard -"@types/estree-jsx@npm:^1.0.0": - version: 1.0.3 - resolution: "@types/estree-jsx@npm:1.0.3" - dependencies: - "@types/estree": "*" - checksum: 6887a134308b6db4a33a147b56c9d0a47c17ea7e810bdd7c498c306a0fd00bcf2619cb0f57f74009d03dda974b3cd7e414767f85332b1d1b2be30a3ef9e1cca9 - languageName: node - linkType: hard - "@types/estree@npm:*, @types/estree@npm:1.0.5, @types/estree@npm:^1.0.0": version: 1.0.5 resolution: "@types/estree@npm:1.0.5" @@ -7962,7 +7880,7 @@ __metadata: languageName: node linkType: hard -"@types/express@npm:*, @types/express@npm:^4": +"@types/express@npm:^4": version: 4.17.21 resolution: "@types/express@npm:4.17.21" dependencies: @@ -7997,6 +7915,15 @@ __metadata: languageName: node linkType: hard +"@types/hast@npm:^2.0.0": + version: 2.3.10 + resolution: "@types/hast@npm:2.3.10" + dependencies: + "@types/unist": ^2 + checksum: 41531b7fbf590b02452996fc63272479c20a07269e370bd6514982cbcd1819b4b84d3ea620f2410d1b9541a23d08ce2eeb0a592145d05e00e249c3d56700d460 + languageName: node + linkType: hard + "@types/hast@npm:^3.0.0": version: 3.0.3 resolution: "@types/hast@npm:3.0.3" @@ -8006,13 +7933,6 @@ __metadata: languageName: node linkType: hard -"@types/http-assert@npm:*": - version: 1.5.5 - resolution: "@types/http-assert@npm:1.5.5" - checksum: cd6bb7fd42cc6e2a702cb55370b8b25231954ad74c04bcd185b943a74ded3d4c28099c30f77b26951df2426441baff41718816c60b5af80efe2b8888d900bf93 - languageName: node - linkType: hard - "@types/http-errors@npm:*": version: 2.0.1 resolution: "@types/http-errors@npm:2.0.1" @@ -8085,63 +8005,6 @@ __metadata: languageName: node linkType: hard -"@types/keygrip@npm:*": - version: 1.0.6 - resolution: "@types/keygrip@npm:1.0.6" - checksum: d157f60bf920492347791d2b26d530d5069ce05796549fbacd4c24d66ffbebbcb0ab67b21e7a1b80a593b9fd4b67dc4843dec04c12bbc2e0fddfb8577a826c41 - languageName: node - linkType: hard - -"@types/koa-compose@npm:*": - version: 3.2.8 - resolution: "@types/koa-compose@npm:3.2.8" - dependencies: - "@types/koa": "*" - checksum: 95c32bdee738ac7c10439bbf6342ca3b9f0aafd7e8118739eac7fb0fa703a23cfe4c88f63e13a69a16fbde702e0bcdc62b272aa734325fc8efa7e5625479752e - languageName: node - linkType: hard - -"@types/koa@npm:*": - version: 2.15.0 - resolution: "@types/koa@npm:2.15.0" - dependencies: - "@types/accepts": "*" - "@types/content-disposition": "*" - "@types/cookies": "*" - "@types/http-assert": "*" - "@types/http-errors": "*" - "@types/keygrip": "*" - "@types/koa-compose": "*" - "@types/node": "*" - checksum: f429b92f36f96c8f5ceb5333f982400d0db20e177b7d89a7a576ac6f63aff8c964f7ab313e2e281a07bbb93931c66327fb42614cd4984b2ef33dfe7cbd76d741 - languageName: node - linkType: hard - -"@types/koa@npm:2.14.0": - version: 2.14.0 - resolution: "@types/koa@npm:2.14.0" - dependencies: - "@types/accepts": "*" - "@types/content-disposition": "*" - "@types/cookies": "*" - "@types/http-assert": "*" - "@types/http-errors": "*" - "@types/keygrip": "*" - "@types/koa-compose": "*" - "@types/node": "*" - checksum: 57d809e42350c9ddefa2150306355e40757877468bb027e0bd99f5aeb43cfaf8ba8b14761ea65e419d6fb4c2403a1f3ed0762872a9cf040dbd14357caca56548 - languageName: node - linkType: hard - -"@types/koa__router@npm:12.0.3": - version: 12.0.3 - resolution: "@types/koa__router@npm:12.0.3" - dependencies: - "@types/koa": "*" - checksum: e9cdc53e01a6b2340583e94982cec2720c2d4c582240438eca57db7db4596f707578ac3e32cd32ace787331de304b6292cca8c98b0233c77f8749493c4991c96 - languageName: node - linkType: hard - "@types/linkifyjs@npm:^2.1.3": version: 2.1.4 resolution: "@types/linkifyjs@npm:2.1.4" @@ -8185,15 +8048,6 @@ __metadata: languageName: node linkType: hard -"@types/mdast@npm:^4.0.0": - version: 4.0.3 - resolution: "@types/mdast@npm:4.0.3" - dependencies: - "@types/unist": "*" - checksum: 345c5a22fccf05f35239ea6313ee4aaf6ebed5927c03ac79744abccb69b9ba5e692f9b771e36a012b79e17429082cada30f579e9c43b8a54e0ffb365431498b6 - languageName: node - linkType: hard - "@types/mime@npm:*": version: 3.0.1 resolution: "@types/mime@npm:3.0.1" @@ -8222,12 +8076,12 @@ __metadata: languageName: node linkType: hard -"@types/mysql@npm:2.15.22": - version: 2.15.22 - resolution: "@types/mysql@npm:2.15.22" +"@types/mysql@npm:2.15.26": + version: 2.15.26 + resolution: "@types/mysql@npm:2.15.26" dependencies: "@types/node": "*" - checksum: 325120f027b04052b3ed056fef096d186ecc0988d9efe110a52bd3f2233d02e17fb802ea42da7fa1ae1d150b0194cddf56ff71bfb28411bc05361f947b0635af + checksum: c43395643aca3565492a12f7bb7168cea7f5fa1b6539caabc99e657bbbea3ef330d65e8d8fc873fedfbbbed48a01ac8c1ce0d31c7989cd44a4845b32253daf6c languageName: node linkType: hard @@ -8279,12 +8133,12 @@ __metadata: languageName: node linkType: hard -"@types/pg-pool@npm:2.0.4": - version: 2.0.4 - resolution: "@types/pg-pool@npm:2.0.4" +"@types/pg-pool@npm:2.0.6": + version: 2.0.6 + resolution: "@types/pg-pool@npm:2.0.6" dependencies: "@types/pg": "*" - checksum: 5ae1c49fe1820ec011f8e2a877198a62f4c9795d2cc340dff4527c26f24ee22dffe99a8ca5cdec6edb54613bded820cc51256fb668e0eb4d22794181b94fad82 + checksum: cc54ce97115effc982bd052f79901a78215e76554aca0ecc92e78eb907e4fb2962924039369cd9aaf48075f1637593ce14647c62d3a2eb03789ce5d1c6df750b languageName: node linkType: hard @@ -8310,10 +8164,10 @@ __metadata: languageName: node linkType: hard -"@types/prop-types@npm:*, @types/prop-types@npm:^15.7.7": - version: 15.7.8 - resolution: "@types/prop-types@npm:15.7.8" - checksum: 61dfad79da8b1081c450bab83b77935df487ae1cdd4660ec7df6be8e74725c15fa45cf486ce057addc956ca4ae78300b97091e2a25061133d1b9a1440bc896ae +"@types/prop-types@npm:*, @types/prop-types@npm:^15.0.0, @types/prop-types@npm:^15.7.7": + version: 15.7.13 + resolution: "@types/prop-types@npm:15.7.13" + checksum: 8935cad87c683c665d09a055919d617fe951cb3b2d5c00544e3a913f861a2bd8d2145b51c9aa6d2457d19f3107ab40784c40205e757232f6a80cc8b1c815513c languageName: node linkType: hard @@ -8465,10 +8319,10 @@ __metadata: languageName: node linkType: hard -"@types/shimmer@npm:^1.0.2": - version: 1.0.5 - resolution: "@types/shimmer@npm:1.0.5" - checksum: f6b0c950dc9187464c5393faf4f4e2b7b44b16665bb49196da28affecceb4fdcd9749af15cbe50f1a2de39f3a84b7523e73445f117f6b48bdbd61b892568364a +"@types/shimmer@npm:^1.0.2, @types/shimmer@npm:^1.2.0": + version: 1.2.0 + resolution: "@types/shimmer@npm:1.2.0" + checksum: f081a31d826ce7bfe8cc7ba8129d2b1dffae44fd580eba4fcf741237646c4c2494ae6de2cada4b7713d138f35f4bc512dbf01311d813dee82020f97d7d8c491c languageName: node linkType: hard @@ -8500,10 +8354,10 @@ __metadata: languageName: node linkType: hard -"@types/unist@npm:^2.0.0, @types/unist@npm:^2.0.2, @types/unist@npm:^2.0.3": - version: 2.0.6 - resolution: "@types/unist@npm:2.0.6" - checksum: 25cb860ff10dde48b54622d58b23e66214211a61c84c0f15f88d38b61aa1b53d4d46e42b557924a93178c501c166aa37e28d7f6d994aba13d24685326272d5db +"@types/unist@npm:^2, @types/unist@npm:^2.0.0, @types/unist@npm:^2.0.2, @types/unist@npm:^2.0.3": + version: 2.0.11 + resolution: "@types/unist@npm:2.0.11" + checksum: 6d436e832bc35c6dde9f056ac515ebf2b3384a1d7f63679d12358766f9b313368077402e9c1126a14d827f10370a5485e628bf61aa91117cf4fc882423191a4e languageName: node linkType: hard @@ -8872,7 +8726,7 @@ __metadata: languageName: node linkType: hard -"@ungap/structured-clone@npm:^1.0.0, @ungap/structured-clone@npm:^1.2.0": +"@ungap/structured-clone@npm:^1.2.0": version: 1.2.0 resolution: "@ungap/structured-clone@npm:1.2.0" checksum: 4f656b7b4672f2ce6e272f2427d8b0824ed11546a601d8d5412b9d7704e83db38a8d9f402ecdf2b9063fc164af842ad0ec4a55819f621ed7e7ea4d1efcc74524 @@ -8913,10 +8767,10 @@ __metadata: languageName: node linkType: hard -"@vercel/build-utils@npm:8.3.8": - version: 8.3.8 - resolution: "@vercel/build-utils@npm:8.3.8" - checksum: 09a534dcb45d74ce957242e8b357e8340a4eeceedee7e758e63fec11b19ae02d420af0bff01b51a62d41474bf841c2dbe4537c94362cba458e568e7156693cb6 +"@vercel/build-utils@npm:8.4.2": + version: 8.4.2 + resolution: "@vercel/build-utils@npm:8.4.2" + checksum: fb5853b4d4acc31620f2744a4304dddca1d5bfcd2de184a6653334a4170c8269fc9bb794063984ba5f31bdf27fcb91a2e88e690f05bdd40b178ea6ab8c166939 languageName: node linkType: hard @@ -8964,43 +8818,43 @@ __metadata: languageName: node linkType: hard -"@vercel/gatsby-plugin-vercel-builder@npm:2.0.42": - version: 2.0.42 - resolution: "@vercel/gatsby-plugin-vercel-builder@npm:2.0.42" +"@vercel/gatsby-plugin-vercel-builder@npm:2.0.46": + version: 2.0.46 + resolution: "@vercel/gatsby-plugin-vercel-builder@npm:2.0.46" dependencies: "@sinclair/typebox": 0.25.24 - "@vercel/build-utils": 8.3.8 + "@vercel/build-utils": 8.4.2 "@vercel/routing-utils": 3.1.0 esbuild: 0.14.47 etag: 1.8.1 fs-extra: 11.1.0 - checksum: af95df12fc470db936e6cb4c85caf91447d6c73238615f8d950b687f1aa853b6996a7ebc7f7f0b2303c8511b65621b7e043a089e2ea9f65bf440ac8982a5c172 + checksum: 51f5f9667d910bed8ce6454171422011f8762e06bd7117e7b7081f2e19f487d872a24cfdc4fc3b1484b91b826722f7fd8fcc3e71ffc047b649d13b6e34ec286f languageName: node linkType: hard -"@vercel/go@npm:3.1.1": - version: 3.1.1 - resolution: "@vercel/go@npm:3.1.1" - checksum: 8c574ec5dee98ef52d91970f12e0d6b3282b848718e64def3b31ffae7d2ac9b928ee475553187bd31cb07025fa39ca2bf22e26d84ef165de2a43bb36b5224a13 +"@vercel/go@npm:3.1.2": + version: 3.1.2 + resolution: "@vercel/go@npm:3.1.2" + checksum: c57b996b654c5c8a3d764e6b73abf6c6b9e7cdff2317c96e539145605e205360e9deb3dd8eea98c0791278942727a5a294a45b3e5ed203f8fb6d48fe1374cbef languageName: node linkType: hard -"@vercel/hydrogen@npm:1.0.4": - version: 1.0.4 - resolution: "@vercel/hydrogen@npm:1.0.4" +"@vercel/hydrogen@npm:1.0.6": + version: 1.0.6 + resolution: "@vercel/hydrogen@npm:1.0.6" dependencies: "@vercel/static-config": 3.0.0 ts-morph: 12.0.0 - checksum: 58a12e664d46ded40bba5984d29a5c47e7184d79b3177f6d2d37375e3c787ae141075bab40fb49ee76765c066f6f3a9ea803e70818d9dd2919d79e51cab7ec28 + checksum: 5bb9ee2abbf8ca49bc125724a7993e25c3413c0850919db5c3598d0bcd400aacc4a630f5560a9d5e21140083c49c97281ff7dab002dd56716ce75bc6766d7f74 languageName: node linkType: hard -"@vercel/next@npm:4.3.7": - version: 4.3.7 - resolution: "@vercel/next@npm:4.3.7" +"@vercel/next@npm:4.3.10": + version: 4.3.10 + resolution: "@vercel/next@npm:4.3.10" dependencies: "@vercel/nft": 0.27.3 - checksum: 6e657c0c3bccf1f638da6ebbd4cc6ada7d39c8b9efe4721322b63785781ccbf8d06b39ddcc72e165966d10649eff0f1fc1f75efd0c3a21105e3fc5654726abc2 + checksum: fdb26eb72bb3fa9a62afb1b775649cf4b582870cd4e7b2d2228a3ed556b00f4a453d687f1ea2d58392ddf2d0980529e2a417b86edf2b4156418a32d5f497eb32 languageName: node linkType: hard @@ -9026,15 +8880,15 @@ __metadata: languageName: node linkType: hard -"@vercel/node@npm:3.2.10": - version: 3.2.10 - resolution: "@vercel/node@npm:3.2.10" +"@vercel/node@npm:3.2.14": + version: 3.2.14 + resolution: "@vercel/node@npm:3.2.14" dependencies: "@edge-runtime/node-utils": 2.3.0 "@edge-runtime/primitives": 4.1.0 "@edge-runtime/vm": 3.2.0 "@types/node": 16.18.11 - "@vercel/build-utils": 8.3.8 + "@vercel/build-utils": 8.4.2 "@vercel/error-utils": 2.0.2 "@vercel/nft": 0.27.3 "@vercel/static-config": 3.0.0 @@ -9050,7 +8904,7 @@ __metadata: ts-node: 10.9.1 typescript: 4.9.5 undici: 5.28.4 - checksum: 53d204182fcf727aa87e7a8998f2b153f31889daeff6d51f78b3a1aa5fc615166e42709b2a7a09492ef957572b67998047ed791d6438a742e2c93c998bc5bdbc + checksum: 10fe54d9a00d7591b3b0f36427e3c77e1502fc6af7ca4a9fcca06f02bead0e5cdc3f8aaeac414e22b0c1806cd9c6fa2807c858c188cd9dc0755dd94bd872729b languageName: node linkType: hard @@ -9061,28 +8915,28 @@ __metadata: languageName: node linkType: hard -"@vercel/redwood@npm:2.1.3": - version: 2.1.3 - resolution: "@vercel/redwood@npm:2.1.3" +"@vercel/redwood@npm:2.1.5": + version: 2.1.5 + resolution: "@vercel/redwood@npm:2.1.5" dependencies: "@vercel/nft": 0.27.3 "@vercel/routing-utils": 3.1.0 "@vercel/static-config": 3.0.0 semver: 6.3.1 ts-morph: 12.0.0 - checksum: e3b8c060e4c20bcd9f531dc203f3e0d755e8d005faa142f81a3829d97269916759af772af2369b0c11fb68aa16c8dfcc3f4a4922ee92a210f1aff785d871a019 + checksum: d840a48995c52f67a7c2453b1f9592897d8be616c347c1def00e1e265ee7c26ee54250a8641d6263deda07fb7a4c72a4688c6ebd8c666aaa37ebd67663276845 languageName: node linkType: hard -"@vercel/remix-builder@npm:2.2.6": - version: 2.2.6 - resolution: "@vercel/remix-builder@npm:2.2.6" +"@vercel/remix-builder@npm:2.2.8": + version: 2.2.8 + resolution: "@vercel/remix-builder@npm:2.2.8" dependencies: "@vercel/error-utils": 2.0.2 "@vercel/nft": 0.27.3 "@vercel/static-config": 3.0.0 ts-morph: 12.0.0 - checksum: c2e5880022eefcb2c4b49cf0bf89f4ea31b3e0b5985febb36cd5d81845c3f4413f7b595b23504517974647a72c20290afbc0ebd2d9bfcdc40acf8e33f9291e81 + checksum: 2ed9f4f89a244507c835433c0b0dc1f64a1fa91af8c9f88dff1dc5f9bf00946819490c3f0aabdb24ba71d3fffed3395f6d73e1198dae47eb9c4b1da7334c360e languageName: node linkType: hard @@ -9106,15 +8960,15 @@ __metadata: languageName: node linkType: hard -"@vercel/static-build@npm:2.5.20": - version: 2.5.20 - resolution: "@vercel/static-build@npm:2.5.20" +"@vercel/static-build@npm:2.5.24": + version: 2.5.24 + resolution: "@vercel/static-build@npm:2.5.24" dependencies: "@vercel/gatsby-plugin-vercel-analytics": 1.0.11 - "@vercel/gatsby-plugin-vercel-builder": 2.0.42 + "@vercel/gatsby-plugin-vercel-builder": 2.0.46 "@vercel/static-config": 3.0.0 ts-morph: 12.0.0 - checksum: eff43b43af1f15a6bee23c7dbaf4299e78dc30cb6b6eb8a11fd63931c74f19be6c8122bbf197f89425e6e8438c830c5002aabf798d6010f303b1acb27fe766df + checksum: d15cb6d44ea2cbc25243d8769b5b274bb34c8d8a7eb4bc4bacb7882a68c52b6619a901775ba9ca1f408b9c86f9227203d75a089735b1f70d81c2c3f99bd35a7f languageName: node linkType: hard @@ -9347,15 +9201,6 @@ __metadata: languageName: node linkType: hard -"acorn-import-assertions@npm:^1.9.0": - version: 1.9.0 - resolution: "acorn-import-assertions@npm:1.9.0" - peerDependencies: - acorn: ^8 - checksum: 944fb2659d0845c467066bdcda2e20c05abe3aaf11972116df457ce2627628a81764d800dd55031ba19de513ee0d43bb771bc679cc0eda66dc8b4fade143bc0c - languageName: node - linkType: hard - "acorn-import-attributes@npm:^1.9.5": version: 1.9.5 resolution: "acorn-import-attributes@npm:1.9.5" @@ -10086,15 +9931,15 @@ __metadata: languageName: node linkType: hard -"babel-plugin-polyfill-corejs3@npm:^0.10.4": - version: 0.10.4 - resolution: "babel-plugin-polyfill-corejs3@npm:0.10.4" +"babel-plugin-polyfill-corejs3@npm:^0.10.6": + version: 0.10.6 + resolution: "babel-plugin-polyfill-corejs3@npm:0.10.6" dependencies: - "@babel/helper-define-polyfill-provider": ^0.6.1 - core-js-compat: ^3.36.1 + "@babel/helper-define-polyfill-provider": ^0.6.2 + core-js-compat: ^3.38.0 peerDependencies: "@babel/core": ^7.4.0 || ^8.0.0-0 <8.0.0 - checksum: b96a54495f7cc8b3797251c8c15f5ed015edddc3110fc122f6b32c94bec33af1e8bc56fa99091808f500bde0cccaaa266889cdc5935d9e6e9cf09898214f02dd + checksum: f762f29f7acca576897c63149c850f0a72babd3fb9ea436a2e36f0c339161c4b912a77828541d8188ce8a91e50965c6687120cf36071eabb1b7aa92f279e2164 languageName: node linkType: hard @@ -10446,21 +10291,21 @@ __metadata: languageName: node linkType: hard -"browserslist@npm:^4.20.4, browserslist@npm:^4.21.5, browserslist@npm:^4.22.2, browserslist@npm:^4.23.0": - version: 4.23.1 - resolution: "browserslist@npm:4.23.1" +"browserslist@npm:^4.20.4, browserslist@npm:^4.21.5, browserslist@npm:^4.23.1, browserslist@npm:^4.23.3": + version: 4.23.3 + resolution: "browserslist@npm:4.23.3" dependencies: - caniuse-lite: ^1.0.30001629 - electron-to-chromium: ^1.4.796 - node-releases: ^2.0.14 - update-browserslist-db: ^1.0.16 + caniuse-lite: ^1.0.30001646 + electron-to-chromium: ^1.5.4 + node-releases: ^2.0.18 + update-browserslist-db: ^1.1.0 bin: browserslist: cli.js - checksum: 06189e2d6666a203ce097cc0e713a40477d08420927b79af139211e5712f3cf676fdc4dd6af3aa493d47c09206a344b3420a8315577dbe88c58903132de9b0f5 + checksum: 7906064f9970aeb941310b2fcb8b4ace4a1b50aa657c986677c6f1553a8cabcc94ee9c5922f715baffbedaa0e6cf0831b6fed7b059dde6873a4bfadcbe069c7e languageName: node linkType: hard -"bs-logger@npm:0.x": +"bs-logger@npm:^0.2.6": version: 0.2.6 resolution: "bs-logger@npm:0.2.6" dependencies: @@ -10706,10 +10551,10 @@ __metadata: languageName: node linkType: hard -"caniuse-lite@npm:^1.0.30001464, caniuse-lite@npm:^1.0.30001579, caniuse-lite@npm:^1.0.30001629": - version: 1.0.30001636 - resolution: "caniuse-lite@npm:1.0.30001636" - checksum: b0347fd2c8d346680a64d98b061c59cb8fbf149cdd03005a447fae4d21e6286d5bd161b43eefe3221c6624aacb3cda4e838ae83c95ff5313a547f84ca93bcc70 +"caniuse-lite@npm:^1.0.30001464, caniuse-lite@npm:^1.0.30001579, caniuse-lite@npm:^1.0.30001646": + version: 1.0.30001660 + resolution: "caniuse-lite@npm:1.0.30001660" + checksum: 8b2c5de2f5facd31980426afbba68238270984acfe8c1ae925b8b6480448eea2fae292f815674617e9170c730c8a238d7cc0db919f184dc0e3cd9bec18f5e5ad languageName: node linkType: hard @@ -10773,13 +10618,6 @@ __metadata: languageName: node linkType: hard -"character-entities-html4@npm:^2.0.0": - version: 2.1.0 - resolution: "character-entities-html4@npm:2.1.0" - checksum: 7034aa7c7fa90309667f6dd50499c8a760c3d3a6fb159adb4e0bada0107d194551cdbad0714302f62d06ce4ed68565c8c2e15fdef2e8f8764eb63fa92b34b11d - languageName: node - linkType: hard - "character-entities-legacy@npm:^1.0.0": version: 1.1.4 resolution: "character-entities-legacy@npm:1.1.4" @@ -10787,13 +10625,6 @@ __metadata: languageName: node linkType: hard -"character-entities-legacy@npm:^3.0.0": - version: 3.0.0 - resolution: "character-entities-legacy@npm:3.0.0" - checksum: 7582af055cb488b626d364b7d7a4e46b06abd526fb63c0e4eb35bcb9c9799cc4f76b39f34fdccef2d1174ac95e53e9ab355aae83227c1a2505877893fce77731 - languageName: node - linkType: hard - "character-entities@npm:^1.0.0": version: 1.2.4 resolution: "character-entities@npm:1.2.4" @@ -10815,13 +10646,6 @@ __metadata: languageName: node linkType: hard -"character-reference-invalid@npm:^2.0.0": - version: 2.0.1 - resolution: "character-reference-invalid@npm:2.0.1" - checksum: 98d3b1a52ae510b7329e6ee7f6210df14f1e318c5415975d4c9e7ee0ef4c07875d47c6e74230c64551f12f556b4a8ccc24d9f3691a2aa197019e72a95e9297ee - languageName: node - linkType: hard - "chardet@npm:^0.7.0": version: 0.7.0 resolution: "chardet@npm:0.7.0" @@ -10836,12 +10660,12 @@ __metadata: languageName: node linkType: hard -"chart.js@npm:^4.4.1": - version: 4.4.1 - resolution: "chart.js@npm:4.4.1" +"chart.js@npm:^4.4.4": + version: 4.4.4 + resolution: "chart.js@npm:4.4.4" dependencies: "@kurkle/color": ^0.3.0 - checksum: 8c108f137824ea0e3d79914708b409298c12ed7d16da99a40ca3cab51466ef7b0068ad82ac0addeb288b938fe0621d3e5a6a913b60e72a729aa42aa96705fcad + checksum: cbca10d97e2fcdff3d718e8ac770d382bc0e84bc2939a0d0e33868761ac39940f77a2a90da69c399006e8c3684ffdab3c6fafa5be306ff767290d5c11cf770fb languageName: node linkType: hard @@ -11657,12 +11481,12 @@ __metadata: languageName: node linkType: hard -"core-js-compat@npm:^3.25.1, core-js-compat@npm:^3.31.0, core-js-compat@npm:^3.36.1": - version: 3.37.1 - resolution: "core-js-compat@npm:3.37.1" +"core-js-compat@npm:^3.25.1, core-js-compat@npm:^3.37.1, core-js-compat@npm:^3.38.0": + version: 3.38.1 + resolution: "core-js-compat@npm:3.38.1" dependencies: - browserslist: ^4.23.0 - checksum: 5e7430329358bced08c30950512d2081aea0a5652b4c5892cbb3c4a6db05b0d3893a191a955162a07fdb5f4fe74e61b6429fdb503f54e062336d76e43c9555d9 + browserslist: ^4.23.3 + checksum: a0a5673bcd59f588f0cd0b59cdacd4712b82909738a87406d334dd412eb3d273ae72b275bdd8e8fef63fca9ef12b42ed651be139c7c44c8a1acb423c8906992e languageName: node linkType: hard @@ -12279,15 +12103,6 @@ __metadata: languageName: node linkType: hard -"devlop@npm:^1.0.0, devlop@npm:^1.1.0": - version: 1.1.0 - resolution: "devlop@npm:1.1.0" - dependencies: - dequal: ^2.0.0 - checksum: d2ff650bac0bb6ef08c48f3ba98640bb5fec5cce81e9957eb620408d1bab1204d382a45b785c6b3314dc867bb0684936b84c6867820da6db97cbb5d3c15dd185 - languageName: node - linkType: hard - "didyoumean@npm:^1.2.2": version: 1.2.2 resolution: "didyoumean@npm:1.2.2" @@ -12309,6 +12124,13 @@ __metadata: languageName: node linkType: hard +"diff@npm:^5.0.0": + version: 5.2.0 + resolution: "diff@npm:5.2.0" + checksum: 12b63ca9c36c72bafa3effa77121f0581b4015df18bc16bac1f8e263597735649f1a173c26f7eba17fb4162b073fee61788abe49610e6c70a2641fe1895443fd + languageName: node + linkType: hard + "dir-glob@npm:^3.0.1": version: 3.0.1 resolution: "dir-glob@npm:3.0.1" @@ -12498,7 +12320,7 @@ __metadata: languageName: node linkType: hard -"ejs@npm:^3.1.7": +"ejs@npm:^3.1.10, ejs@npm:^3.1.7": version: 3.1.10 resolution: "ejs@npm:3.1.10" dependencies: @@ -12509,10 +12331,10 @@ __metadata: languageName: node linkType: hard -"electron-to-chromium@npm:^1.4.796": - version: 1.4.805 - resolution: "electron-to-chromium@npm:1.4.805" - checksum: a881787fb4f3300442aa10e88689f153b2f68a99bdf60325967017c78c0ae50440ecfe768245fd3aa6dbc7b9c39e376027e1cda205bf9cda358f56ad9d8220c6 +"electron-to-chromium@npm:^1.5.4": + version: 1.5.24 + resolution: "electron-to-chromium@npm:1.5.24" + checksum: 0e2a0f2fa38cf2e3be8b4bf07e62e539ffb953087d6766c69fc820468334a34ea32a975a0128f9965c970d0c100e7de7baea0e00718af21631567505dd3e70cc languageName: node linkType: hard @@ -13053,83 +12875,6 @@ __metadata: languageName: node linkType: hard -"esbuild@npm:^0.18.10": - version: 0.18.19 - resolution: "esbuild@npm:0.18.19" - dependencies: - "@esbuild/android-arm": 0.18.19 - "@esbuild/android-arm64": 0.18.19 - "@esbuild/android-x64": 0.18.19 - "@esbuild/darwin-arm64": 0.18.19 - "@esbuild/darwin-x64": 0.18.19 - "@esbuild/freebsd-arm64": 0.18.19 - "@esbuild/freebsd-x64": 0.18.19 - "@esbuild/linux-arm": 0.18.19 - "@esbuild/linux-arm64": 0.18.19 - "@esbuild/linux-ia32": 0.18.19 - "@esbuild/linux-loong64": 0.18.19 - "@esbuild/linux-mips64el": 0.18.19 - "@esbuild/linux-ppc64": 0.18.19 - "@esbuild/linux-riscv64": 0.18.19 - "@esbuild/linux-s390x": 0.18.19 - "@esbuild/linux-x64": 0.18.19 - "@esbuild/netbsd-x64": 0.18.19 - "@esbuild/openbsd-x64": 0.18.19 - "@esbuild/sunos-x64": 0.18.19 - "@esbuild/win32-arm64": 0.18.19 - "@esbuild/win32-ia32": 0.18.19 - "@esbuild/win32-x64": 0.18.19 - dependenciesMeta: - "@esbuild/android-arm": - optional: true - "@esbuild/android-arm64": - optional: true - "@esbuild/android-x64": - optional: true - "@esbuild/darwin-arm64": - optional: true - "@esbuild/darwin-x64": - optional: true - "@esbuild/freebsd-arm64": - optional: true - "@esbuild/freebsd-x64": - optional: true - "@esbuild/linux-arm": - optional: true - "@esbuild/linux-arm64": - optional: true - "@esbuild/linux-ia32": - optional: true - "@esbuild/linux-loong64": - optional: true - "@esbuild/linux-mips64el": - optional: true - "@esbuild/linux-ppc64": - optional: true - "@esbuild/linux-riscv64": - optional: true - "@esbuild/linux-s390x": - optional: true - "@esbuild/linux-x64": - optional: true - "@esbuild/netbsd-x64": - optional: true - "@esbuild/openbsd-x64": - optional: true - "@esbuild/sunos-x64": - optional: true - "@esbuild/win32-arm64": - optional: true - "@esbuild/win32-ia32": - optional: true - "@esbuild/win32-x64": - optional: true - bin: - esbuild: bin/esbuild - checksum: 326c38d33eff024278b293308eff52e9a6b28c897f2ee4a4f8f25a092648d16090b206cbe0f448a3680f87af80af59decea7d68051c3eea937570415087e4d9f - languageName: node - linkType: hard - "esbuild@npm:^0.21.3": version: 0.21.5 resolution: "esbuild@npm:0.21.5" @@ -13674,13 +13419,6 @@ __metadata: languageName: node linkType: hard -"estree-util-is-identifier-name@npm:^3.0.0": - version: 3.0.0 - resolution: "estree-util-is-identifier-name@npm:3.0.0" - checksum: ea3909f0188ea164af0aadeca87c087e3e5da78d76da5ae9c7954ff1340ea3e4679c4653bbf4299ffb70caa9b322218cc1128db2541f3d2976eb9704f9857787 - languageName: node - linkType: hard - "estree-walker@npm:2.0.2, estree-walker@npm:^2.0.1, estree-walker@npm:^2.0.2": version: 2.0.2 resolution: "estree-walker@npm:2.0.2" @@ -15388,35 +15126,10 @@ __metadata: languageName: node linkType: hard -"hast-util-to-jsx-runtime@npm:^2.0.0": - version: 2.3.0 - resolution: "hast-util-to-jsx-runtime@npm:2.3.0" - dependencies: - "@types/estree": ^1.0.0 - "@types/hast": ^3.0.0 - "@types/unist": ^3.0.0 - comma-separated-tokens: ^2.0.0 - devlop: ^1.0.0 - estree-util-is-identifier-name: ^3.0.0 - hast-util-whitespace: ^3.0.0 - mdast-util-mdx-expression: ^2.0.0 - mdast-util-mdx-jsx: ^3.0.0 - mdast-util-mdxjs-esm: ^2.0.0 - property-information: ^6.0.0 - space-separated-tokens: ^2.0.0 - style-to-object: ^1.0.0 - unist-util-position: ^5.0.0 - vfile-message: ^4.0.0 - checksum: 599a97c6ec61c1430776813d7fb42e6f96032bf4a04dfcbb8eceef3bc8d1845ecf242387a4426b9d3f52320dbbfa26450643b81124b3d6a0b9bbb0fff4d0ba83 - languageName: node - linkType: hard - -"hast-util-whitespace@npm:^3.0.0": - version: 3.0.0 - resolution: "hast-util-whitespace@npm:3.0.0" - dependencies: - "@types/hast": ^3.0.0 - checksum: 41d93ccce218ba935dc3c12acdf586193c35069489c8c8f50c2aa824c00dec94a3c78b03d1db40fa75381942a189161922e4b7bca700b3a2cc779634c351a1e4 +"hast-util-whitespace@npm:^2.0.0": + version: 2.0.1 + resolution: "hast-util-whitespace@npm:2.0.1" + checksum: 431be6b2f35472f951615540d7a53f69f39461e5e080c0190268bdeb2be9ab9b1dddfd1f467dd26c1de7e7952df67beb1307b6ee940baf78b24a71b5e0663868 languageName: node linkType: hard @@ -15559,13 +15272,6 @@ __metadata: languageName: node linkType: hard -"html-url-attributes@npm:^3.0.0": - version: 3.0.0 - resolution: "html-url-attributes@npm:3.0.0" - checksum: 9f499d33e6ddff6c2d2766fd73d2f22f3c370b4e485a92b0b2938303665b306dc7f36b2724c9466764e8f702351c01f342f5ec933be41a31c1fa40b72087b91d - languageName: node - linkType: hard - "htmlparser2@npm:^8.0": version: 8.0.2 resolution: "htmlparser2@npm:8.0.2" @@ -15811,27 +15517,15 @@ __metadata: languageName: node linkType: hard -"import-in-the-middle@npm:1.4.2": - version: 1.4.2 - resolution: "import-in-the-middle@npm:1.4.2" - dependencies: - acorn: ^8.8.2 - acorn-import-assertions: ^1.9.0 - cjs-module-lexer: ^1.2.2 - module-details-from-path: ^1.0.3 - checksum: 52971f821e9a3c94834cd5cf0ab5178321c07d4f4babd547b3cb24c4de21670d05b42ca1523890e7e90525c3bba6b7db7e54cf45421919b0b2712a34faa96ea5 - languageName: node - linkType: hard - -"import-in-the-middle@npm:^1.8.1": - version: 1.8.1 - resolution: "import-in-the-middle@npm:1.8.1" +"import-in-the-middle@npm:^1.11.0, import-in-the-middle@npm:^1.8.1": + version: 1.11.0 + resolution: "import-in-the-middle@npm:1.11.0" dependencies: acorn: ^8.8.2 acorn-import-attributes: ^1.9.5 cjs-module-lexer: ^1.2.2 module-details-from-path: ^1.0.3 - checksum: daae77ee73f92d6e078b903d4f54eb85d47ef56d4741c585cbc0a6223d137e05e67ae124363670299ba3c09dd76250d716c241d51e02ad6165ebbca596646f76 + checksum: 7e7c47e363be9579a4269e1df803be29cd3feb1df2c490b7cdef7c3a7c20f1f5cfa62d7f8de934b73e5c0e98ff07e1f0147b9fc11789a0f160d2893ddcc035ab languageName: node linkType: hard @@ -15906,10 +15600,10 @@ __metadata: languageName: node linkType: hard -"inline-style-parser@npm:0.2.2": - version: 0.2.2 - resolution: "inline-style-parser@npm:0.2.2" - checksum: 698893d6542d4e7c0377936a1c7daec34a197765bd77c5599384756a95ce8804e6b79347b783aa591d5e9c6f3d33dae74c6d4cad3a94647eb05f3a785e927a3f +"inline-style-parser@npm:0.1.1": + version: 0.1.1 + resolution: "inline-style-parser@npm:0.1.1" + checksum: 5d545056a3e1f2bf864c928a886a0e1656a3517127d36917b973de581bd54adc91b4bf1febcb0da054f204b4934763f1a4e09308b4d55002327cf1d48ac5d966 languageName: node linkType: hard @@ -16018,13 +15712,6 @@ __metadata: languageName: node linkType: hard -"is-alphabetical@npm:^2.0.0": - version: 2.0.1 - resolution: "is-alphabetical@npm:2.0.1" - checksum: 56207db8d9de0850f0cd30f4966bf731eb82cedfe496cbc2e97e7c3bacaf66fc54a972d2d08c0d93bb679cb84976a05d24c5ad63de56fabbfc60aadae312edaa - languageName: node - linkType: hard - "is-alphanumerical@npm:^1.0.0": version: 1.0.4 resolution: "is-alphanumerical@npm:1.0.4" @@ -16035,16 +15722,6 @@ __metadata: languageName: node linkType: hard -"is-alphanumerical@npm:^2.0.0": - version: 2.0.1 - resolution: "is-alphanumerical@npm:2.0.1" - dependencies: - is-alphabetical: ^2.0.0 - is-decimal: ^2.0.0 - checksum: 87acc068008d4c9c4e9f5bd5e251041d42e7a50995c77b1499cf6ed248f971aadeddb11f239cabf09f7975ee58cac7a48ffc170b7890076d8d227b24a68663c9 - languageName: node - linkType: hard - "is-arguments@npm:^1.0.4, is-arguments@npm:^1.1.1": version: 1.1.1 resolution: "is-arguments@npm:1.1.1" @@ -16173,13 +15850,6 @@ __metadata: languageName: node linkType: hard -"is-decimal@npm:^2.0.0": - version: 2.0.1 - resolution: "is-decimal@npm:2.0.1" - checksum: 97132de7acdce77caa7b797632970a2ecd649a88e715db0e4dbc00ab0708b5e7574ba5903962c860cd4894a14fd12b100c0c4ac8aed445cf6f55c6cf747a4158 - languageName: node - linkType: hard - "is-directory@npm:^0.3.1": version: 0.3.1 resolution: "is-directory@npm:0.3.1" @@ -16292,13 +15962,6 @@ __metadata: languageName: node linkType: hard -"is-hexadecimal@npm:^2.0.0": - version: 2.0.1 - resolution: "is-hexadecimal@npm:2.0.1" - checksum: 66a2ea85994c622858f063f23eda506db29d92b52580709eb6f4c19550552d4dcf3fb81952e52f7cf972097237959e00adc7bb8c9400cd12886e15bf06145321 - languageName: node - linkType: hard - "is-interactive@npm:^1.0.0": version: 1.0.0 resolution: "is-interactive@npm:1.0.0" @@ -17605,7 +17268,7 @@ __metadata: languageName: node linkType: hard -"kleur@npm:^4.1.4": +"kleur@npm:^4.0.3, kleur@npm:^4.1.4": version: 4.1.5 resolution: "kleur@npm:4.1.5" checksum: 1dc476e32741acf0b1b5b0627ffd0d722e342c1b0da14de3e8ae97821327ca08f9fb944542fb3c126d90ac5f27f9d804edbe7c585bf7d12ef495d115e0f22c12 @@ -17967,7 +17630,7 @@ __metadata: languageName: node linkType: hard -"lodash.memoize@npm:4.x": +"lodash.memoize@npm:^4.1.2": version: 4.1.2 resolution: "lodash.memoize@npm:4.1.2" checksum: 9ff3942feeccffa4f1fafa88d32f0d24fdc62fd15ded5a74a5f950ff5f0c6f61916157246744c620173dddf38d37095a92327d5fd3861e2063e736a5c207d089 @@ -18181,7 +17844,7 @@ __metadata: languageName: node linkType: hard -"make-error@npm:1.x, make-error@npm:^1.1.1": +"make-error@npm:^1.1.1, make-error@npm:^1.3.6": version: 1.3.6 resolution: "make-error@npm:1.3.6" checksum: b86e5e0e25f7f777b77fabd8e2cbf15737972869d852a22b7e73c17623928fccb826d8e46b9951501d3f20e51ad74ba8c59ed584f610526a48f8ccf88aaec402 @@ -18328,15 +17991,26 @@ __metadata: languageName: node linkType: hard -"mdast-util-find-and-replace@npm:^3.0.0": - version: 3.0.1 - resolution: "mdast-util-find-and-replace@npm:3.0.1" +"mdast-util-definitions@npm:^5.0.0": + version: 5.1.2 + resolution: "mdast-util-definitions@npm:5.1.2" + dependencies: + "@types/mdast": ^3.0.0 + "@types/unist": ^2.0.0 + unist-util-visit: ^4.0.0 + checksum: 2544daccab744ea1ede76045c2577ae4f1cc1b9eb1ea51ab273fe1dca8db5a8d6f50f87759c0ce6484975914b144b7f40316f805cb9c86223a78db8de0b77bae + languageName: node + linkType: hard + +"mdast-util-find-and-replace@npm:^2.0.0": + version: 2.2.2 + resolution: "mdast-util-find-and-replace@npm:2.2.2" dependencies: - "@types/mdast": ^4.0.0 + "@types/mdast": ^3.0.0 escape-string-regexp: ^5.0.0 - unist-util-is: ^6.0.0 - unist-util-visit-parents: ^6.0.0 - checksum: 05d5c4ff02e31db2f8a685a13bcb6c3f44e040bd9dfa54c19a232af8de5268334c8755d79cb456ed4cced1300c4fb83e88444c7ae8ee9ff16869a580f29d08cd + unist-util-is: ^5.0.0 + unist-util-visit-parents: ^5.0.0 + checksum: b4ce463c43fe6e1c38a53a89703f755c84ab5437f49bff9a0ac751279733332ca11c85ed0262aa6c17481f77b555d26ca6d64e70d6814f5b8d12d34a3e53a60b languageName: node linkType: hard @@ -18353,191 +18027,135 @@ __metadata: languageName: node linkType: hard -"mdast-util-from-markdown@npm:^2.0.0": - version: 2.0.0 - resolution: "mdast-util-from-markdown@npm:2.0.0" +"mdast-util-from-markdown@npm:^1.0.0": + version: 1.3.1 + resolution: "mdast-util-from-markdown@npm:1.3.1" dependencies: - "@types/mdast": ^4.0.0 - "@types/unist": ^3.0.0 + "@types/mdast": ^3.0.0 + "@types/unist": ^2.0.0 decode-named-character-reference: ^1.0.0 - devlop: ^1.0.0 - mdast-util-to-string: ^4.0.0 - micromark: ^4.0.0 - micromark-util-decode-numeric-character-reference: ^2.0.0 - micromark-util-decode-string: ^2.0.0 - micromark-util-normalize-identifier: ^2.0.0 - micromark-util-symbol: ^2.0.0 - micromark-util-types: ^2.0.0 - unist-util-stringify-position: ^4.0.0 - checksum: 4e8d8a46b4b588486c41b80c39da333a91593bc8d60cd7421c6cd3c22003b8e5a62478292fb7bc97b9255b6301a2250cca32340ef43c309156e215453c5b92be + mdast-util-to-string: ^3.1.0 + micromark: ^3.0.0 + micromark-util-decode-numeric-character-reference: ^1.0.0 + micromark-util-decode-string: ^1.0.0 + micromark-util-normalize-identifier: ^1.0.0 + micromark-util-symbol: ^1.0.0 + micromark-util-types: ^1.0.0 + unist-util-stringify-position: ^3.0.0 + uvu: ^0.5.0 + checksum: c2fac225167e248d394332a4ea39596e04cbde07d8cdb3889e91e48972c4c3462a02b39fda3855345d90231eb17a90ac6e082fb4f012a77c1d0ddfb9c7446940 languageName: node linkType: hard -"mdast-util-gfm-autolink-literal@npm:^2.0.0": - version: 2.0.0 - resolution: "mdast-util-gfm-autolink-literal@npm:2.0.0" +"mdast-util-gfm-autolink-literal@npm:^1.0.0": + version: 1.0.3 + resolution: "mdast-util-gfm-autolink-literal@npm:1.0.3" dependencies: - "@types/mdast": ^4.0.0 + "@types/mdast": ^3.0.0 ccount: ^2.0.0 - devlop: ^1.0.0 - mdast-util-find-and-replace: ^3.0.0 - micromark-util-character: ^2.0.0 - checksum: 10322662e5302964bed7c9829c5fd3b0c9899d4f03e63fb8620ab141cf4f3de9e61fcb4b44d46aacc8a23f82bcd5d900980a211825dfe026b1dab5fdbc3e8742 - languageName: node - linkType: hard - -"mdast-util-gfm-footnote@npm:^2.0.0": - version: 2.0.0 - resolution: "mdast-util-gfm-footnote@npm:2.0.0" - dependencies: - "@types/mdast": ^4.0.0 - devlop: ^1.1.0 - mdast-util-from-markdown: ^2.0.0 - mdast-util-to-markdown: ^2.0.0 - micromark-util-normalize-identifier: ^2.0.0 - checksum: 45d26b40e7a093712e023105791129d76e164e2168d5268e113298a22de30c018162683fb7893cdc04ab246dac0087eed708b2a136d1d18ed2b32b3e0cae4a79 - languageName: node - linkType: hard - -"mdast-util-gfm-strikethrough@npm:^2.0.0": - version: 2.0.0 - resolution: "mdast-util-gfm-strikethrough@npm:2.0.0" - dependencies: - "@types/mdast": ^4.0.0 - mdast-util-from-markdown: ^2.0.0 - mdast-util-to-markdown: ^2.0.0 - checksum: fe9b1d0eba9b791ff9001c008744eafe3dd7a81b085f2bf521595ce4a8e8b1b44764ad9361761ad4533af3e5d913d8ad053abec38172031d9ee32a8ebd1c7dbd - languageName: node - linkType: hard - -"mdast-util-gfm-table@npm:^2.0.0": - version: 2.0.0 - resolution: "mdast-util-gfm-table@npm:2.0.0" - dependencies: - "@types/mdast": ^4.0.0 - devlop: ^1.0.0 - markdown-table: ^3.0.0 - mdast-util-from-markdown: ^2.0.0 - mdast-util-to-markdown: ^2.0.0 - checksum: 063a627fd0993548fd63ca0c24c437baf91ba7d51d0a38820bd459bc20bf3d13d7365ef8d28dca99176dd5eb26058f7dde51190479c186dfe6af2e11202957c9 + mdast-util-find-and-replace: ^2.0.0 + micromark-util-character: ^1.0.0 + checksum: 1748a8727cfc533bac0c287d6e72d571d165bfa77ae0418be4828177a3ec73c02c3f2ee534d87eb75cbaffa00c0866853bbcc60ae2255babb8210f7636ec2ce2 languageName: node linkType: hard -"mdast-util-gfm-task-list-item@npm:^2.0.0": - version: 2.0.0 - resolution: "mdast-util-gfm-task-list-item@npm:2.0.0" +"mdast-util-gfm-footnote@npm:^1.0.0": + version: 1.0.2 + resolution: "mdast-util-gfm-footnote@npm:1.0.2" dependencies: - "@types/mdast": ^4.0.0 - devlop: ^1.0.0 - mdast-util-from-markdown: ^2.0.0 - mdast-util-to-markdown: ^2.0.0 - checksum: 37db90c59b15330fc54d790404abf5ef9f2f83e8961c53666fe7de4aab8dd5e6b3c296b6be19797456711a89a27840291d8871ff0438e9b4e15c89d170efe072 + "@types/mdast": ^3.0.0 + mdast-util-to-markdown: ^1.3.0 + micromark-util-normalize-identifier: ^1.0.0 + checksum: 2d77505f9377ed7e14472ef5e6b8366c3fec2cf5f936bb36f9fbe5b97ccb7cce0464d9313c236fa86fb844206fd585db05707e4fcfb755e4fc1864194845f1f6 languageName: node linkType: hard -"mdast-util-gfm@npm:^3.0.0": - version: 3.0.0 - resolution: "mdast-util-gfm@npm:3.0.0" +"mdast-util-gfm-strikethrough@npm:^1.0.0": + version: 1.0.3 + resolution: "mdast-util-gfm-strikethrough@npm:1.0.3" dependencies: - mdast-util-from-markdown: ^2.0.0 - mdast-util-gfm-autolink-literal: ^2.0.0 - mdast-util-gfm-footnote: ^2.0.0 - mdast-util-gfm-strikethrough: ^2.0.0 - mdast-util-gfm-table: ^2.0.0 - mdast-util-gfm-task-list-item: ^2.0.0 - mdast-util-to-markdown: ^2.0.0 - checksum: 62039d2f682ae3821ea1c999454863d31faf94d67eb9b746589c7e136076d7fb35fabc67e02f025c7c26fd7919331a0ee1aabfae24f565d9a6a9ebab3371c626 + "@types/mdast": ^3.0.0 + mdast-util-to-markdown: ^1.3.0 + checksum: 17003340ff1bba643ec4a59fd4370fc6a32885cab2d9750a508afa7225ea71449fb05acaef60faa89c6378b8bcfbd86a9d94b05f3c6651ff27a60e3ddefc2549 languageName: node linkType: hard -"mdast-util-mdx-expression@npm:^2.0.0": - version: 2.0.0 - resolution: "mdast-util-mdx-expression@npm:2.0.0" +"mdast-util-gfm-table@npm:^1.0.0": + version: 1.0.7 + resolution: "mdast-util-gfm-table@npm:1.0.7" dependencies: - "@types/estree-jsx": ^1.0.0 - "@types/hast": ^3.0.0 - "@types/mdast": ^4.0.0 - devlop: ^1.0.0 - mdast-util-from-markdown: ^2.0.0 - mdast-util-to-markdown: ^2.0.0 - checksum: 4e1183000e183e07a7264e192889b4fd57372806103031c71b9318967f85fd50a5dd0f92ef14f42c331e77410808f5de3341d7bc8ad4ee91b7fa8f0a30043a8a + "@types/mdast": ^3.0.0 + markdown-table: ^3.0.0 + mdast-util-from-markdown: ^1.0.0 + mdast-util-to-markdown: ^1.3.0 + checksum: 8b8c401bb4162e53f072a2dff8efbca880fd78d55af30601c791315ab6722cb2918176e8585792469a0c530cebb9df9b4e7fede75fdc4d83df2839e238836692 languageName: node linkType: hard -"mdast-util-mdx-jsx@npm:^3.0.0": - version: 3.0.0 - resolution: "mdast-util-mdx-jsx@npm:3.0.0" +"mdast-util-gfm-task-list-item@npm:^1.0.0": + version: 1.0.2 + resolution: "mdast-util-gfm-task-list-item@npm:1.0.2" dependencies: - "@types/estree-jsx": ^1.0.0 - "@types/hast": ^3.0.0 - "@types/mdast": ^4.0.0 - "@types/unist": ^3.0.0 - ccount: ^2.0.0 - devlop: ^1.1.0 - mdast-util-from-markdown: ^2.0.0 - mdast-util-to-markdown: ^2.0.0 - parse-entities: ^4.0.0 - stringify-entities: ^4.0.0 - unist-util-remove-position: ^5.0.0 - unist-util-stringify-position: ^4.0.0 - vfile-message: ^4.0.0 - checksum: 48fe1ba617205f3776ca2030d195adbdb42bb6c53326534db3f5bdd28abe7895103af8c4dfda7cbe2911e8cd71921bc8a82fe40856565e57af8b4f8a79c8c126 + "@types/mdast": ^3.0.0 + mdast-util-to-markdown: ^1.3.0 + checksum: c9b86037d6953b84f11fb2fc3aa23d5b8e14ca0dfcb0eb2fb289200e172bb9d5647bfceb4f86606dc6d935e8d58f6a458c04d3e55e87ff8513c7d4ade976200b languageName: node linkType: hard -"mdast-util-mdxjs-esm@npm:^2.0.0": - version: 2.0.1 - resolution: "mdast-util-mdxjs-esm@npm:2.0.1" +"mdast-util-gfm@npm:^2.0.0": + version: 2.0.2 + resolution: "mdast-util-gfm@npm:2.0.2" dependencies: - "@types/estree-jsx": ^1.0.0 - "@types/hast": ^3.0.0 - "@types/mdast": ^4.0.0 - devlop: ^1.0.0 - mdast-util-from-markdown: ^2.0.0 - mdast-util-to-markdown: ^2.0.0 - checksum: 1f9dad04d31d59005332e9157ea9510dc1d03092aadbc607a10475c7eec1c158b475aa0601a3a4f74e13097ca735deb8c2d9d37928ddef25d3029fd7c9e14dc3 + mdast-util-from-markdown: ^1.0.0 + mdast-util-gfm-autolink-literal: ^1.0.0 + mdast-util-gfm-footnote: ^1.0.0 + mdast-util-gfm-strikethrough: ^1.0.0 + mdast-util-gfm-table: ^1.0.0 + mdast-util-gfm-task-list-item: ^1.0.0 + mdast-util-to-markdown: ^1.0.0 + checksum: 7078cb985255208bcbce94a121906417d38353c6b1a9acbe56ee8888010d3500608b5d51c16b0999ac63ca58848fb13012d55f26930ff6c6f3450f053d56514e languageName: node linkType: hard -"mdast-util-phrasing@npm:^4.0.0": - version: 4.0.0 - resolution: "mdast-util-phrasing@npm:4.0.0" +"mdast-util-phrasing@npm:^3.0.0": + version: 3.0.1 + resolution: "mdast-util-phrasing@npm:3.0.1" dependencies: - "@types/mdast": ^4.0.0 - unist-util-is: ^6.0.0 - checksum: 95d5d8e18d5ea6dbfe2ee4ed1045961372efae9077e5c98e10bfef7025ee3fd9449f9a82840068ff50aa98fa43af0a0a14898ae10b5e46e96edde01e2797df34 + "@types/mdast": ^3.0.0 + unist-util-is: ^5.0.0 + checksum: c5b616d9b1eb76a6b351d195d94318494722525a12a89d9c8a3b091af7db3dd1fc55d294f9d29266d8159a8267b0df4a7a133bda8a3909d5331c383e1e1ff328 languageName: node linkType: hard -"mdast-util-to-hast@npm:^13.0.0": - version: 13.0.2 - resolution: "mdast-util-to-hast@npm:13.0.2" +"mdast-util-to-hast@npm:^12.1.0": + version: 12.3.0 + resolution: "mdast-util-to-hast@npm:12.3.0" dependencies: - "@types/hast": ^3.0.0 - "@types/mdast": ^4.0.0 - "@ungap/structured-clone": ^1.0.0 - devlop: ^1.0.0 - micromark-util-sanitize-uri: ^2.0.0 + "@types/hast": ^2.0.0 + "@types/mdast": ^3.0.0 + mdast-util-definitions: ^5.0.0 + micromark-util-sanitize-uri: ^1.1.0 trim-lines: ^3.0.0 - unist-util-position: ^5.0.0 - unist-util-visit: ^5.0.0 - checksum: 8fef6c3752476461d9c00b1dea4f141bc7d980e1b3bac7bd965bc68f532b6d30fb1c9e810433327c167176e68e071b8f4ab5a45355954857dc095c878421f35e + unist-util-generated: ^2.0.0 + unist-util-position: ^4.0.0 + unist-util-visit: ^4.0.0 + checksum: ea40c9f07dd0b731754434e81c913590c611b1fd753fa02550a1492aadfc30fb3adecaf62345ebb03cea2ddd250c15ab6e578fffde69c19955c9b87b10f2a9bb languageName: node linkType: hard -"mdast-util-to-markdown@npm:^2.0.0": - version: 2.1.0 - resolution: "mdast-util-to-markdown@npm:2.1.0" +"mdast-util-to-markdown@npm:^1.0.0, mdast-util-to-markdown@npm:^1.3.0": + version: 1.5.0 + resolution: "mdast-util-to-markdown@npm:1.5.0" dependencies: - "@types/mdast": ^4.0.0 - "@types/unist": ^3.0.0 + "@types/mdast": ^3.0.0 + "@types/unist": ^2.0.0 longest-streak: ^3.0.0 - mdast-util-phrasing: ^4.0.0 - mdast-util-to-string: ^4.0.0 - micromark-util-decode-string: ^2.0.0 - unist-util-visit: ^5.0.0 + mdast-util-phrasing: ^3.0.0 + mdast-util-to-string: ^3.0.0 + micromark-util-decode-string: ^1.0.0 + unist-util-visit: ^4.0.0 zwitch: ^2.0.0 - checksum: 3a2cf3957e23b34e2e092e6e76ae72ee0b8745955bd811baba6814cf3a3d916c3fd52264b4b58f3bb3d512a428f84a1e998b6fc7e28434e388a9ae8fb6a9c173 + checksum: 64338eb33e49bb0aea417591fd986f72fdd39205052563bb7ce9eb9ecc160824509bfacd740086a05af355c6d5c36353aafe95cab9e6927d674478757cee6259 languageName: node linkType: hard @@ -18548,12 +18166,12 @@ __metadata: languageName: node linkType: hard -"mdast-util-to-string@npm:^4.0.0": - version: 4.0.0 - resolution: "mdast-util-to-string@npm:4.0.0" +"mdast-util-to-string@npm:^3.0.0, mdast-util-to-string@npm:^3.1.0": + version: 3.2.0 + resolution: "mdast-util-to-string@npm:3.2.0" dependencies: - "@types/mdast": ^4.0.0 - checksum: 35489fb5710d58cbc2d6c8b6547df161a3f81e0f28f320dfb3548a9393555daf07c310c0c497708e67ed4dfea4a06e5655799e7d631ca91420c288b4525d6c29 + "@types/mdast": ^3.0.0 + checksum: dc40b544d54339878ae2c9f2b3198c029e1e07291d2126bd00ca28272ee6616d0d2194eb1c9828a7c34d412a79a7e73b26512a734698d891c710a1e73db1e848 languageName: node linkType: hard @@ -19369,332 +18987,332 @@ __metadata: languageName: node linkType: hard -"micromark-core-commonmark@npm:^2.0.0": - version: 2.0.0 - resolution: "micromark-core-commonmark@npm:2.0.0" +"micromark-core-commonmark@npm:^1.0.0, micromark-core-commonmark@npm:^1.0.1": + version: 1.1.0 + resolution: "micromark-core-commonmark@npm:1.1.0" dependencies: decode-named-character-reference: ^1.0.0 - devlop: ^1.0.0 - micromark-factory-destination: ^2.0.0 - micromark-factory-label: ^2.0.0 - micromark-factory-space: ^2.0.0 - micromark-factory-title: ^2.0.0 - micromark-factory-whitespace: ^2.0.0 - micromark-util-character: ^2.0.0 - micromark-util-chunked: ^2.0.0 - micromark-util-classify-character: ^2.0.0 - micromark-util-html-tag-name: ^2.0.0 - micromark-util-normalize-identifier: ^2.0.0 - micromark-util-resolve-all: ^2.0.0 - micromark-util-subtokenize: ^2.0.0 - micromark-util-symbol: ^2.0.0 - micromark-util-types: ^2.0.0 - checksum: 9c12fb580cf4ce71f60872043bd2794efe129f44d7b2b73afa155bbc0a66b7bc35655ba8cef438a6bd068441837ed3b6dc6ad7e5a18f815462c1750793e03a42 - languageName: node - linkType: hard - -"micromark-extension-gfm-autolink-literal@npm:^2.0.0": - version: 2.0.0 - resolution: "micromark-extension-gfm-autolink-literal@npm:2.0.0" + micromark-factory-destination: ^1.0.0 + micromark-factory-label: ^1.0.0 + micromark-factory-space: ^1.0.0 + micromark-factory-title: ^1.0.0 + micromark-factory-whitespace: ^1.0.0 + micromark-util-character: ^1.0.0 + micromark-util-chunked: ^1.0.0 + micromark-util-classify-character: ^1.0.0 + micromark-util-html-tag-name: ^1.0.0 + micromark-util-normalize-identifier: ^1.0.0 + micromark-util-resolve-all: ^1.0.0 + micromark-util-subtokenize: ^1.0.0 + micromark-util-symbol: ^1.0.0 + micromark-util-types: ^1.0.1 + uvu: ^0.5.0 + checksum: c6dfedc95889cc73411cb222fc2330b9eda6d849c09c9fd9eb3cd3398af246167e9d3cdb0ae3ce9ae59dd34a14624c8330e380255d41279ad7350cf6c6be6c5b + languageName: node + linkType: hard + +"micromark-extension-gfm-autolink-literal@npm:^1.0.0": + version: 1.0.5 + resolution: "micromark-extension-gfm-autolink-literal@npm:1.0.5" dependencies: - micromark-util-character: ^2.0.0 - micromark-util-sanitize-uri: ^2.0.0 - micromark-util-symbol: ^2.0.0 - micromark-util-types: ^2.0.0 - checksum: fa16d59528239262d6d04d539a052baf1f81275954ec8bfadea40d81bfc25667d5c8e68b225a5358626df5e30a3933173a67fdad2fed011d37810a10b770b0b2 + micromark-util-character: ^1.0.0 + micromark-util-sanitize-uri: ^1.0.0 + micromark-util-symbol: ^1.0.0 + micromark-util-types: ^1.0.0 + checksum: ec2f6bc4a3eb238c1b8be9744454ffbc2957e3d8a248697af5a26bb21479862300c0e40e0a92baf17c299ddf70d4bc4470d4eee112cd92322f87d81e45c2e83d languageName: node linkType: hard -"micromark-extension-gfm-footnote@npm:^2.0.0": - version: 2.0.0 - resolution: "micromark-extension-gfm-footnote@npm:2.0.0" +"micromark-extension-gfm-footnote@npm:^1.0.0": + version: 1.1.2 + resolution: "micromark-extension-gfm-footnote@npm:1.1.2" dependencies: - devlop: ^1.0.0 - micromark-core-commonmark: ^2.0.0 - micromark-factory-space: ^2.0.0 - micromark-util-character: ^2.0.0 - micromark-util-normalize-identifier: ^2.0.0 - micromark-util-sanitize-uri: ^2.0.0 - micromark-util-symbol: ^2.0.0 - micromark-util-types: ^2.0.0 - checksum: a426fddecfac6144fc622b845cd2dc09d46faa75be5b76ff022cb76a03301b1d4929a5e5e41e071491787936be65e03d0b03c7aebc0e0136b3cdbfadadd6632c + micromark-core-commonmark: ^1.0.0 + micromark-factory-space: ^1.0.0 + micromark-util-character: ^1.0.0 + micromark-util-normalize-identifier: ^1.0.0 + micromark-util-sanitize-uri: ^1.0.0 + micromark-util-symbol: ^1.0.0 + micromark-util-types: ^1.0.0 + uvu: ^0.5.0 + checksum: c151a629ee1cd92363c018a50f926a002c944ac481ca72b3720b9529e9c20f1cbef98b0fefdcd2d594af37d0d9743673409cac488af0d2b194210fd16375dcb7 languageName: node linkType: hard -"micromark-extension-gfm-strikethrough@npm:^2.0.0": - version: 2.0.0 - resolution: "micromark-extension-gfm-strikethrough@npm:2.0.0" +"micromark-extension-gfm-strikethrough@npm:^1.0.0": + version: 1.0.7 + resolution: "micromark-extension-gfm-strikethrough@npm:1.0.7" dependencies: - devlop: ^1.0.0 - micromark-util-chunked: ^2.0.0 - micromark-util-classify-character: ^2.0.0 - micromark-util-resolve-all: ^2.0.0 - micromark-util-symbol: ^2.0.0 - micromark-util-types: ^2.0.0 - checksum: 4e35fbbf364bfce08066b70acd94b9d393a8fd09a5afbe0bae70d0c8a174640b1ba86ab6b78ee38f411a813e2a718b07959216cf0063d823ba1c569a7694e5ad + micromark-util-chunked: ^1.0.0 + micromark-util-classify-character: ^1.0.0 + micromark-util-resolve-all: ^1.0.0 + micromark-util-symbol: ^1.0.0 + micromark-util-types: ^1.0.0 + uvu: ^0.5.0 + checksum: 169e310a4408feade0df80180f60d48c5cc5b7070e5e75e0bbd914e9100273508162c4bb20b72d53081dc37f1ff5834b3afa137862576f763878552c03389811 languageName: node linkType: hard -"micromark-extension-gfm-table@npm:^2.0.0": - version: 2.0.0 - resolution: "micromark-extension-gfm-table@npm:2.0.0" +"micromark-extension-gfm-table@npm:^1.0.0": + version: 1.0.7 + resolution: "micromark-extension-gfm-table@npm:1.0.7" dependencies: - devlop: ^1.0.0 - micromark-factory-space: ^2.0.0 - micromark-util-character: ^2.0.0 - micromark-util-symbol: ^2.0.0 - micromark-util-types: ^2.0.0 - checksum: 71484dcf8db7b189da0528f472cc81e4d6d1a64ae43bbe7fcb7e2e1dba758a0a4f785f9f1afb9459fe5b4a02bbe023d78c95c05204414a14083052eb8219e5eb + micromark-factory-space: ^1.0.0 + micromark-util-character: ^1.0.0 + micromark-util-symbol: ^1.0.0 + micromark-util-types: ^1.0.0 + uvu: ^0.5.0 + checksum: 4853731285224e409d7e2c94c6ec849165093bff819e701221701aa7b7b34c17702c44f2f831e96b49dc27bb07e445b02b025561b68e62f5c3254415197e7af6 languageName: node linkType: hard -"micromark-extension-gfm-tagfilter@npm:^2.0.0": - version: 2.0.0 - resolution: "micromark-extension-gfm-tagfilter@npm:2.0.0" +"micromark-extension-gfm-tagfilter@npm:^1.0.0": + version: 1.0.2 + resolution: "micromark-extension-gfm-tagfilter@npm:1.0.2" dependencies: - micromark-util-types: ^2.0.0 - checksum: cf21552f4a63592bfd6c96ae5d64a5f22bda4e77814e3f0501bfe80e7a49378ad140f827007f36044666f176b3a0d5fea7c2e8e7973ce4b4579b77789f01ae95 + micromark-util-types: ^1.0.0 + checksum: 7d2441df51f890c86f8e7cf7d331a570b69c8105fa1c2fc5b737cb739502c16c8ee01cf35550a8a78f89497c5dfacc97cf82d55de6274e8320f3aec25e2b0dd2 languageName: node linkType: hard -"micromark-extension-gfm-task-list-item@npm:^2.0.0": - version: 2.0.1 - resolution: "micromark-extension-gfm-task-list-item@npm:2.0.1" +"micromark-extension-gfm-task-list-item@npm:^1.0.0": + version: 1.0.5 + resolution: "micromark-extension-gfm-task-list-item@npm:1.0.5" dependencies: - devlop: ^1.0.0 - micromark-factory-space: ^2.0.0 - micromark-util-character: ^2.0.0 - micromark-util-symbol: ^2.0.0 - micromark-util-types: ^2.0.0 - checksum: 80e569ab1a1d1f89d86af91482e9629e24b7e3f019c9d7989190f36a9367c6de723b2af48e908c1b73479f35b2215d3d38c1fdbf02ab01eb2fc90a59d1cf4465 + micromark-factory-space: ^1.0.0 + micromark-util-character: ^1.0.0 + micromark-util-symbol: ^1.0.0 + micromark-util-types: ^1.0.0 + uvu: ^0.5.0 + checksum: 929f05343d272cffb8008899289f4cffe986ef98fc622ebbd1aa4ff11470e6b32ed3e1f18cd294adb69cabb961a400650078f6c12b322cc515b82b5068b31960 languageName: node linkType: hard -"micromark-extension-gfm@npm:^3.0.0": - version: 3.0.0 - resolution: "micromark-extension-gfm@npm:3.0.0" +"micromark-extension-gfm@npm:^2.0.0": + version: 2.0.3 + resolution: "micromark-extension-gfm@npm:2.0.3" dependencies: - micromark-extension-gfm-autolink-literal: ^2.0.0 - micromark-extension-gfm-footnote: ^2.0.0 - micromark-extension-gfm-strikethrough: ^2.0.0 - micromark-extension-gfm-table: ^2.0.0 - micromark-extension-gfm-tagfilter: ^2.0.0 - micromark-extension-gfm-task-list-item: ^2.0.0 - micromark-util-combine-extensions: ^2.0.0 - micromark-util-types: ^2.0.0 - checksum: 2060fa62666a09532d6b3a272d413bc1b25bbb262f921d7402795ac021e1362c8913727e33d7528d5b4ccaf26922ec51208c43f795a702964817bc986de886c9 + micromark-extension-gfm-autolink-literal: ^1.0.0 + micromark-extension-gfm-footnote: ^1.0.0 + micromark-extension-gfm-strikethrough: ^1.0.0 + micromark-extension-gfm-table: ^1.0.0 + micromark-extension-gfm-tagfilter: ^1.0.0 + micromark-extension-gfm-task-list-item: ^1.0.0 + micromark-util-combine-extensions: ^1.0.0 + micromark-util-types: ^1.0.0 + checksum: c4a917c16d7aa5d00d1767b5ce5f3b1a78c0de11dbd5c8f69d2545083568aa6bb13bd9d8e4c7fec5f4da10e7ed8344b15acffc843b33a615c17396a118bc2bc1 languageName: node linkType: hard -"micromark-factory-destination@npm:^2.0.0": - version: 2.0.0 - resolution: "micromark-factory-destination@npm:2.0.0" +"micromark-factory-destination@npm:^1.0.0": + version: 1.1.0 + resolution: "micromark-factory-destination@npm:1.1.0" dependencies: - micromark-util-character: ^2.0.0 - micromark-util-symbol: ^2.0.0 - micromark-util-types: ^2.0.0 - checksum: d36e65ed1c072ff4148b016783148ba7c68a078991154625723e24bda3945160268fb91079fb28618e1613c2b6e70390a8ddc544c45410288aa27b413593071a + micromark-util-character: ^1.0.0 + micromark-util-symbol: ^1.0.0 + micromark-util-types: ^1.0.0 + checksum: 9e2b5fb5fedbf622b687e20d51eb3d56ae90c0e7ecc19b37bd5285ec392c1e56f6e21aa7cfcb3c01eda88df88fe528f3acb91a5f57d7f4cba310bc3cd7f824fa languageName: node linkType: hard -"micromark-factory-label@npm:^2.0.0": - version: 2.0.0 - resolution: "micromark-factory-label@npm:2.0.0" +"micromark-factory-label@npm:^1.0.0": + version: 1.1.0 + resolution: "micromark-factory-label@npm:1.1.0" dependencies: - devlop: ^1.0.0 - micromark-util-character: ^2.0.0 - micromark-util-symbol: ^2.0.0 - micromark-util-types: ^2.0.0 - checksum: c021dbd0ed367610d35f2bae21209bc804d1a6d1286ffce458fd6a717f4d7fe581a7cba7d5c2d7a63757c44eb927c80d6a571d6ea7969fae1b48ab6461d109c4 + micromark-util-character: ^1.0.0 + micromark-util-symbol: ^1.0.0 + micromark-util-types: ^1.0.0 + uvu: ^0.5.0 + checksum: fcda48f1287d9b148c562c627418a2ab759cdeae9c8e017910a0cba94bb759a96611e1fc6df33182e97d28fbf191475237298983bb89ef07d5b02464b1ad28d5 languageName: node linkType: hard -"micromark-factory-space@npm:^2.0.0": - version: 2.0.0 - resolution: "micromark-factory-space@npm:2.0.0" +"micromark-factory-space@npm:^1.0.0": + version: 1.1.0 + resolution: "micromark-factory-space@npm:1.1.0" dependencies: - micromark-util-character: ^2.0.0 - micromark-util-types: ^2.0.0 - checksum: 4ffdcdc2f759887bbb356500cb460b3915ecddcb5d85c3618d7df68ad05d13ed02b1153ee1845677b7d8126df8f388288b84fcf0d943bd9c92bcc71cd7222e37 + micromark-util-character: ^1.0.0 + micromark-util-types: ^1.0.0 + checksum: b58435076b998a7e244259a4694eb83c78915581206b6e7fc07b34c6abd36a1726ade63df8972fbf6c8fa38eecb9074f4e17be8d53f942e3b3d23d1a0ecaa941 languageName: node linkType: hard -"micromark-factory-title@npm:^2.0.0": - version: 2.0.0 - resolution: "micromark-factory-title@npm:2.0.0" +"micromark-factory-title@npm:^1.0.0": + version: 1.1.0 + resolution: "micromark-factory-title@npm:1.1.0" dependencies: - micromark-factory-space: ^2.0.0 - micromark-util-character: ^2.0.0 - micromark-util-symbol: ^2.0.0 - micromark-util-types: ^2.0.0 - checksum: 39e1ac23af3554e6e652e56065579bc7faf21ade7b8704b29c175871b4152b7109b790bb3cae0f7e088381139c6bac9553b8400772c3d322e4fa635f813a3578 + micromark-factory-space: ^1.0.0 + micromark-util-character: ^1.0.0 + micromark-util-symbol: ^1.0.0 + micromark-util-types: ^1.0.0 + checksum: 4432d3dbc828c81f483c5901b0c6591a85d65a9e33f7d96ba7c3ae821617a0b3237ff5faf53a9152d00aaf9afb3a9f185b205590f40ed754f1d9232e0e9157b1 languageName: node linkType: hard -"micromark-factory-whitespace@npm:^2.0.0": - version: 2.0.0 - resolution: "micromark-factory-whitespace@npm:2.0.0" +"micromark-factory-whitespace@npm:^1.0.0": + version: 1.1.0 + resolution: "micromark-factory-whitespace@npm:1.1.0" dependencies: - micromark-factory-space: ^2.0.0 - micromark-util-character: ^2.0.0 - micromark-util-symbol: ^2.0.0 - micromark-util-types: ^2.0.0 - checksum: 9587c2546d1a58b4d5472b42adf05463f6212d0449455285662d63cd8eaed89c6b159ac82713fcee5f9dd88628c24307d9533cccd8971a2f3f4d48702f8f850a + micromark-factory-space: ^1.0.0 + micromark-util-character: ^1.0.0 + micromark-util-symbol: ^1.0.0 + micromark-util-types: ^1.0.0 + checksum: ef0fa682c7d593d85a514ee329809dee27d10bc2a2b65217d8ef81173e33b8e83c549049764b1ad851adfe0a204dec5450d9d20a4ca8598f6c94533a73f73fcd languageName: node linkType: hard -"micromark-util-character@npm:^2.0.0": - version: 2.0.1 - resolution: "micromark-util-character@npm:2.0.1" +"micromark-util-character@npm:^1.0.0": + version: 1.2.0 + resolution: "micromark-util-character@npm:1.2.0" dependencies: - micromark-util-symbol: ^2.0.0 - micromark-util-types: ^2.0.0 - checksum: 318d6e16fdcbe9d89e18b8e7796568d986abbb10a9f3037b7ac9b92a236bcc962f3cd380e26a7c49df40fd1d9ca33eb546268956345b662f4c4ca4962c7695f2 + micromark-util-symbol: ^1.0.0 + micromark-util-types: ^1.0.0 + checksum: 089e79162a19b4a28731736246579ab7e9482ac93cd681c2bfca9983dcff659212ef158a66a5957e9d4b1dba957d1b87b565d85418a5b009f0294f1f07f2aaac languageName: node linkType: hard -"micromark-util-chunked@npm:^2.0.0": - version: 2.0.0 - resolution: "micromark-util-chunked@npm:2.0.0" +"micromark-util-chunked@npm:^1.0.0": + version: 1.1.0 + resolution: "micromark-util-chunked@npm:1.1.0" dependencies: - micromark-util-symbol: ^2.0.0 - checksum: 324f95cccdae061332a8241936eaba6ef0782a1e355bac5c607ad2564fd3744929be7dc81651315a2921535747a33243e6a5606bcb64b7a56d49b6d74ea1a3d4 + micromark-util-symbol: ^1.0.0 + checksum: c435bde9110cb595e3c61b7f54c2dc28ee03e6a57fa0fc1e67e498ad8bac61ee5a7457a2b6a73022ddc585676ede4b912d28dcf57eb3bd6951e54015e14dc20b languageName: node linkType: hard -"micromark-util-classify-character@npm:^2.0.0": - version: 2.0.0 - resolution: "micromark-util-classify-character@npm:2.0.0" +"micromark-util-classify-character@npm:^1.0.0": + version: 1.1.0 + resolution: "micromark-util-classify-character@npm:1.1.0" dependencies: - micromark-util-character: ^2.0.0 - micromark-util-symbol: ^2.0.0 - micromark-util-types: ^2.0.0 - checksum: 086e52904deffebb793fb1c08c94aabb8901f76958142dfc3a6282890ebaa983b285e69bd602b9d507f1b758ed38e75a994d2ad9fbbefa7de2584f67a16af405 + micromark-util-character: ^1.0.0 + micromark-util-symbol: ^1.0.0 + micromark-util-types: ^1.0.0 + checksum: 8499cb0bb1f7fb946f5896285fcca65cd742f66cd3e79ba7744792bd413ec46834f932a286de650349914d02e822946df3b55d03e6a8e1d245d1ddbd5102e5b0 languageName: node linkType: hard -"micromark-util-combine-extensions@npm:^2.0.0": - version: 2.0.0 - resolution: "micromark-util-combine-extensions@npm:2.0.0" +"micromark-util-combine-extensions@npm:^1.0.0": + version: 1.1.0 + resolution: "micromark-util-combine-extensions@npm:1.1.0" dependencies: - micromark-util-chunked: ^2.0.0 - micromark-util-types: ^2.0.0 - checksum: 107c47700343f365b4ed81551e18bc3458b573c500e56ac052b2490bd548adc475216e41d2271633a8867fac66fc22ba3e0a2d74a31ed79b9870ca947eb4e3ba + micromark-util-chunked: ^1.0.0 + micromark-util-types: ^1.0.0 + checksum: ee78464f5d4b61ccb437850cd2d7da4d690b260bca4ca7a79c4bb70291b84f83988159e373b167181b6716cb197e309bc6e6c96a68cc3ba9d50c13652774aba9 languageName: node linkType: hard -"micromark-util-decode-numeric-character-reference@npm:^2.0.0": - version: 2.0.1 - resolution: "micromark-util-decode-numeric-character-reference@npm:2.0.1" +"micromark-util-decode-numeric-character-reference@npm:^1.0.0": + version: 1.1.0 + resolution: "micromark-util-decode-numeric-character-reference@npm:1.1.0" dependencies: - micromark-util-symbol: ^2.0.0 - checksum: 9512507722efd2033a9f08715eeef787fbfe27e23edf55db21423d46d82ab46f76c89b4f960be3f5e50a2d388d89658afc0647989cf256d051e9ea01277a1adb + micromark-util-symbol: ^1.0.0 + checksum: 4733fe75146e37611243f055fc6847137b66f0cde74d080e33bd26d0408c1d6f44cabc984063eee5968b133cb46855e729d555b9ff8d744652262b7b51feec73 languageName: node linkType: hard -"micromark-util-decode-string@npm:^2.0.0": - version: 2.0.0 - resolution: "micromark-util-decode-string@npm:2.0.0" +"micromark-util-decode-string@npm:^1.0.0": + version: 1.1.0 + resolution: "micromark-util-decode-string@npm:1.1.0" dependencies: decode-named-character-reference: ^1.0.0 - micromark-util-character: ^2.0.0 - micromark-util-decode-numeric-character-reference: ^2.0.0 - micromark-util-symbol: ^2.0.0 - checksum: a75daf32a4a6b549e9f19b4d833ebfeb09a32a9a1f9ce50f35dec6b6a3e4f9f121f49024ba7f9c91c55ebe792f7c7a332fc9604795181b6a612637df0df5b959 + micromark-util-character: ^1.0.0 + micromark-util-decode-numeric-character-reference: ^1.0.0 + micromark-util-symbol: ^1.0.0 + checksum: f1625155db452f15aa472918499689ba086b9c49d1322a08b22bfbcabe918c61b230a3002c8bc3ea9b1f52ca7a9bb1c3dd43ccb548c7f5f8b16c24a1ae77a813 languageName: node linkType: hard -"micromark-util-encode@npm:^2.0.0": - version: 2.0.0 - resolution: "micromark-util-encode@npm:2.0.0" - checksum: 853a3f33fce72aaf4ffa60b7f2b6fcfca40b270b3466e1b96561b02185d2bd8c01dd7948bc31a24ac014f4cc854e545ca9a8e9cf7ea46262f9d24c9e88551c66 +"micromark-util-encode@npm:^1.0.0": + version: 1.1.0 + resolution: "micromark-util-encode@npm:1.1.0" + checksum: 4ef29d02b12336918cea6782fa87c8c578c67463925221d4e42183a706bde07f4b8b5f9a5e1c7ce8c73bb5a98b261acd3238fecd152e6dd1cdfa2d1ae11b60a0 languageName: node linkType: hard -"micromark-util-html-tag-name@npm:^2.0.0": - version: 2.0.0 - resolution: "micromark-util-html-tag-name@npm:2.0.0" - checksum: d786d4486f93eb0ac5b628779809ca97c5dc60f3c9fc03eb565809831db181cf8cb7f05f9ac76852f3eb35461af0f89fa407b46f3a03f4f97a96754d8dc540d8 +"micromark-util-html-tag-name@npm:^1.0.0": + version: 1.2.0 + resolution: "micromark-util-html-tag-name@npm:1.2.0" + checksum: ccf0fa99b5c58676dc5192c74665a3bfd1b536fafaf94723bd7f31f96979d589992df6fcf2862eba290ef18e6a8efb30ec8e1e910d9f3fc74f208871e9f84750 languageName: node linkType: hard -"micromark-util-normalize-identifier@npm:^2.0.0": - version: 2.0.0 - resolution: "micromark-util-normalize-identifier@npm:2.0.0" +"micromark-util-normalize-identifier@npm:^1.0.0": + version: 1.1.0 + resolution: "micromark-util-normalize-identifier@npm:1.1.0" dependencies: - micromark-util-symbol: ^2.0.0 - checksum: b36da2d3fd102053dadd953ce5c558328df12a63a8ac0e5aad13d4dda8e43b6a5d4a661baafe0a1cd8a260bead4b4a8e6e0e74193dd651e8484225bd4f4e68aa + micromark-util-symbol: ^1.0.0 + checksum: 8655bea41ffa4333e03fc22462cb42d631bbef9c3c07b625fd852b7eb442a110f9d2e5902a42e65188d85498279569502bf92f3434a1180fc06f7c37edfbaee2 languageName: node linkType: hard -"micromark-util-resolve-all@npm:^2.0.0": - version: 2.0.0 - resolution: "micromark-util-resolve-all@npm:2.0.0" +"micromark-util-resolve-all@npm:^1.0.0": + version: 1.1.0 + resolution: "micromark-util-resolve-all@npm:1.1.0" dependencies: - micromark-util-types: ^2.0.0 - checksum: 31fe703b85572cb3f598ebe32750e59516925c7ff1f66cfe6afaebe0771a395a9eaa770787f2523d3c46082ea80e6c14f83643303740b3d650af7c96ebd30ccc + micromark-util-types: ^1.0.0 + checksum: 1ce6c0237cd3ca061e76fae6602cf95014e764a91be1b9f10d36cb0f21ca88f9a07de8d49ab8101efd0b140a4fbfda6a1efb72027ab3f4d5b54c9543271dc52c languageName: node linkType: hard -"micromark-util-sanitize-uri@npm:^2.0.0": - version: 2.0.0 - resolution: "micromark-util-sanitize-uri@npm:2.0.0" +"micromark-util-sanitize-uri@npm:^1.0.0, micromark-util-sanitize-uri@npm:^1.1.0": + version: 1.2.0 + resolution: "micromark-util-sanitize-uri@npm:1.2.0" dependencies: - micromark-util-character: ^2.0.0 - micromark-util-encode: ^2.0.0 - micromark-util-symbol: ^2.0.0 - checksum: ea4c28bbffcf2430e9aff2d18554296789a8b0a1f54ac24020d1dde76624a7f93e8f2a83e88cd5a846b6d2c4287b71b1142d1b89fa7f1b0363a9b33711a141fe + micromark-util-character: ^1.0.0 + micromark-util-encode: ^1.0.0 + micromark-util-symbol: ^1.0.0 + checksum: 6663f365c4fe3961d622a580f4a61e34867450697f6806f027f21cf63c92989494895fcebe2345d52e249fe58a35be56e223a9776d084c9287818b40c779acc1 languageName: node linkType: hard -"micromark-util-subtokenize@npm:^2.0.0": - version: 2.0.0 - resolution: "micromark-util-subtokenize@npm:2.0.0" +"micromark-util-subtokenize@npm:^1.0.0": + version: 1.1.0 + resolution: "micromark-util-subtokenize@npm:1.1.0" dependencies: - devlop: ^1.0.0 - micromark-util-chunked: ^2.0.0 - micromark-util-symbol: ^2.0.0 - micromark-util-types: ^2.0.0 - checksum: 77d9c7d59c05a20468d49ce2a3640e9cb268c083ccad02322f26c84e1094c25b44f4b8139ef0a247ca11a4fef7620c5bf82fbffd98acdb2989e79cbe7bd8f1db + micromark-util-chunked: ^1.0.0 + micromark-util-symbol: ^1.0.0 + micromark-util-types: ^1.0.0 + uvu: ^0.5.0 + checksum: 4a9d780c4d62910e196ea4fd886dc4079d8e424e5d625c0820016da0ed399a281daff39c50f9288045cc4bcd90ab47647e5396aba500f0853105d70dc8b1fc45 languageName: node linkType: hard -"micromark-util-symbol@npm:^2.0.0": - version: 2.0.0 - resolution: "micromark-util-symbol@npm:2.0.0" - checksum: fa4a05bff575d9fbf0ad96a1013003e3bb6087ed6b34b609a141b6c0d2137b57df594aca409a95f4c5fda199f227b56a7d8b1f82cea0768df161d8a3a3660764 +"micromark-util-symbol@npm:^1.0.0": + version: 1.1.0 + resolution: "micromark-util-symbol@npm:1.1.0" + checksum: 02414a753b79f67ff3276b517eeac87913aea6c028f3e668a19ea0fc09d98aea9f93d6222a76ca783d20299af9e4b8e7c797fe516b766185dcc6e93290f11f88 languageName: node linkType: hard -"micromark-util-types@npm:^2.0.0": - version: 2.0.0 - resolution: "micromark-util-types@npm:2.0.0" - checksum: 819fef3ab5770c37893d2a60381fb2694396c8d22803b6e103c830c3a1bc1490363c2b0470bb2acaaddad776dfbc2fc1fcfde39cb63c4f54d95121611672e3d0 +"micromark-util-types@npm:^1.0.0, micromark-util-types@npm:^1.0.1": + version: 1.1.0 + resolution: "micromark-util-types@npm:1.1.0" + checksum: b0ef2b4b9589f15aec2666690477a6a185536927ceb7aa55a0f46475852e012d75a1ab945187e5c7841969a842892164b15d58ff8316b8e0d6cc920cabd5ede7 languageName: node linkType: hard -"micromark@npm:^4.0.0": - version: 4.0.0 - resolution: "micromark@npm:4.0.0" +"micromark@npm:^3.0.0": + version: 3.2.0 + resolution: "micromark@npm:3.2.0" dependencies: "@types/debug": ^4.0.0 debug: ^4.0.0 decode-named-character-reference: ^1.0.0 - devlop: ^1.0.0 - micromark-core-commonmark: ^2.0.0 - micromark-factory-space: ^2.0.0 - micromark-util-character: ^2.0.0 - micromark-util-chunked: ^2.0.0 - micromark-util-combine-extensions: ^2.0.0 - micromark-util-decode-numeric-character-reference: ^2.0.0 - micromark-util-encode: ^2.0.0 - micromark-util-normalize-identifier: ^2.0.0 - micromark-util-resolve-all: ^2.0.0 - micromark-util-sanitize-uri: ^2.0.0 - micromark-util-subtokenize: ^2.0.0 - micromark-util-symbol: ^2.0.0 - micromark-util-types: ^2.0.0 - checksum: b84ab5ab1a0b28c063c52e9c2c9d7d44b954507235c10c9492d66e0b38f7de24bf298f914a1fbdf109f2a57a88cf0412de217c84cfac5fd60e3e42a74dbac085 + micromark-core-commonmark: ^1.0.1 + micromark-factory-space: ^1.0.0 + micromark-util-character: ^1.0.0 + micromark-util-chunked: ^1.0.0 + micromark-util-combine-extensions: ^1.0.0 + micromark-util-decode-numeric-character-reference: ^1.0.0 + micromark-util-encode: ^1.0.0 + micromark-util-normalize-identifier: ^1.0.0 + micromark-util-resolve-all: ^1.0.0 + micromark-util-sanitize-uri: ^1.0.0 + micromark-util-subtokenize: ^1.0.0 + micromark-util-symbol: ^1.0.0 + micromark-util-types: ^1.0.1 + uvu: ^0.5.0 + checksum: 56c15851ad3eb8301aede65603473443e50c92a54849cac1dadd57e4ec33ab03a0a77f3df03de47133e6e8f695dae83b759b514586193269e98c0bf319ecd5e4 languageName: node linkType: hard @@ -20035,7 +19653,7 @@ __metadata: languageName: node linkType: hard -"mri@npm:1.2.0": +"mri@npm:1.2.0, mri@npm:^1.1.0": version: 1.2.0 resolution: "mri@npm:1.2.0" checksum: 83f515abbcff60150873e424894a2f65d68037e5a7fcde8a9e2b285ee9c13ac581b63cfc1e6826c4732de3aeb84902f7c1e16b7aff46cd3f897a0f757a894e85 @@ -20207,20 +19825,20 @@ __metadata: languageName: node linkType: hard -"next@npm:^14.2.4": - version: 14.2.4 - resolution: "next@npm:14.2.4" +"next@npm:^14.2.12": + version: 14.2.12 + resolution: "next@npm:14.2.12" dependencies: - "@next/env": 14.2.4 - "@next/swc-darwin-arm64": 14.2.4 - "@next/swc-darwin-x64": 14.2.4 - "@next/swc-linux-arm64-gnu": 14.2.4 - "@next/swc-linux-arm64-musl": 14.2.4 - "@next/swc-linux-x64-gnu": 14.2.4 - "@next/swc-linux-x64-musl": 14.2.4 - "@next/swc-win32-arm64-msvc": 14.2.4 - "@next/swc-win32-ia32-msvc": 14.2.4 - "@next/swc-win32-x64-msvc": 14.2.4 + "@next/env": 14.2.12 + "@next/swc-darwin-arm64": 14.2.12 + "@next/swc-darwin-x64": 14.2.12 + "@next/swc-linux-arm64-gnu": 14.2.12 + "@next/swc-linux-arm64-musl": 14.2.12 + "@next/swc-linux-x64-gnu": 14.2.12 + "@next/swc-linux-x64-musl": 14.2.12 + "@next/swc-win32-arm64-msvc": 14.2.12 + "@next/swc-win32-ia32-msvc": 14.2.12 + "@next/swc-win32-x64-msvc": 14.2.12 "@swc/helpers": 0.5.5 busboy: 1.6.0 caniuse-lite: ^1.0.30001579 @@ -20261,7 +19879,7 @@ __metadata: optional: true bin: next: dist/bin/next - checksum: 3b858cfec2e061d811811921361855659b09424ea4178cf0f4a0bbe5d3978b45da6f04575fe213d76e47f626439db61591b79932f37ff984b7b7de87dd1ccce0 + checksum: 59845b824e36a97ca8aeaed81fc035643eaa85a3851fc04c277030fa197ecf4ad00a41136db4a41ae4f608b7ae907200ce8b03310050b9128f5aea452b818224 languageName: node linkType: hard @@ -20398,10 +20016,10 @@ __metadata: languageName: node linkType: hard -"node-releases@npm:^2.0.14": - version: 2.0.14 - resolution: "node-releases@npm:2.0.14" - checksum: 59443a2f77acac854c42d321bf1b43dea0aef55cd544c6a686e9816a697300458d4e82239e2d794ea05f7bbbc8a94500332e2d3ac3f11f52e4b16cbe638b3c41 +"node-releases@npm:^2.0.18": + version: 2.0.18 + resolution: "node-releases@npm:2.0.18" + checksum: ef55a3d853e1269a6d6279b7692cd6ff3e40bc74947945101138745bfdc9a5edabfe72cb19a31a8e45752e1910c4c65c77d931866af6357f242b172b7283f5b3 languageName: node linkType: hard @@ -20911,17 +20529,6 @@ __metadata: languageName: node linkType: hard -"opentelemetry-instrumentation-fetch-node@npm:1.2.0": - version: 1.2.0 - resolution: "opentelemetry-instrumentation-fetch-node@npm:1.2.0" - dependencies: - "@opentelemetry/api": ^1.6.0 - "@opentelemetry/instrumentation": ^0.43.0 - "@opentelemetry/semantic-conventions": ^1.17.0 - checksum: c90cdd835d5a1cc0b553f70da2a7ed8518f984d7d473163fbc5339fcf5c21d207d405f2b579bc545b3146bdd1617a072b4da5320fd94110c1a0e4461d9970979 - languageName: node - linkType: hard - "optionator@npm:^0.9.3": version: 0.9.3 resolution: "optionator@npm:0.9.3" @@ -21137,22 +20744,6 @@ __metadata: languageName: node linkType: hard -"parse-entities@npm:^4.0.0": - version: 4.0.1 - resolution: "parse-entities@npm:4.0.1" - dependencies: - "@types/unist": ^2.0.0 - character-entities: ^2.0.0 - character-entities-legacy: ^3.0.0 - character-reference-invalid: ^2.0.0 - decode-named-character-reference: ^1.0.0 - is-alphanumerical: ^2.0.0 - is-decimal: ^2.0.0 - is-hexadecimal: ^2.0.0 - checksum: 32a6ff5b9acb9d2c4d71537308521fd265e685b9215691df73feedd9edfe041bb6da9f89bd0c35c4a2bc7d58e3e76e399bb6078c2fd7d2a343ff1dd46edbf1bd - languageName: node - linkType: hard - "parse-json@npm:^4.0.0": version: 4.0.0 resolution: "parse-json@npm:4.0.0" @@ -21467,10 +21058,10 @@ __metadata: languageName: node linkType: hard -"picocolors@npm:^1.0.0, picocolors@npm:^1.0.1": - version: 1.0.1 - resolution: "picocolors@npm:1.0.1" - checksum: fa68166d1f56009fc02a34cdfd112b0dd3cf1ef57667ac57281f714065558c01828cdf4f18600ad6851cbe0093952ed0660b1e0156bddf2184b6aaf5817553a5 +"picocolors@npm:^1.0.0, picocolors@npm:^1.0.1, picocolors@npm:^1.1.0": + version: 1.1.0 + resolution: "picocolors@npm:1.1.0" + checksum: a64d653d3a188119ff45781dfcdaeedd7625583f45280aea33fcb032c7a0d3959f2368f9b192ad5e8aade75b74dbd954ffe3106c158509a45e4c18ab379a2acd languageName: node linkType: hard @@ -21660,14 +21251,14 @@ __metadata: languageName: node linkType: hard -"postcss@npm:^8.0.9, postcss@npm:^8.4.27, postcss@npm:^8.4.31, postcss@npm:^8.4.40, postcss@npm:~8.4.32": - version: 8.4.41 - resolution: "postcss@npm:8.4.41" +"postcss@npm:^8.0.9, postcss@npm:^8.4.31, postcss@npm:^8.4.43, postcss@npm:~8.4.32": + version: 8.4.47 + resolution: "postcss@npm:8.4.47" dependencies: nanoid: ^3.3.7 - picocolors: ^1.0.1 - source-map-js: ^1.2.0 - checksum: f865894929eb0f7fc2263811cc853c13b1c75103028b3f4f26df777e27b201f1abe21cb4aa4c2e901c80a04f6fb325ee22979688fe55a70e2ea82b0a517d3b6f + picocolors: ^1.1.0 + source-map-js: ^1.2.1 + checksum: f78440a9d8f97431dd2ab1ab8e1de64f12f3eff38a3d8d4a33919b96c381046a314658d2de213a5fa5eb296b656de76a3ec269fdea27f16d5ab465b916a0f52c languageName: node linkType: hard @@ -21907,7 +21498,7 @@ __metadata: languageName: node linkType: hard -"prop-types@npm:^15.5.10, prop-types@npm:^15.6.2, prop-types@npm:^15.7.2, prop-types@npm:^15.8.1": +"prop-types@npm:^15.0.0, prop-types@npm:^15.5.10, prop-types@npm:^15.6.2, prop-types@npm:^15.7.2, prop-types@npm:^15.8.1": version: 15.8.1 resolution: "prop-types@npm:15.8.1" dependencies: @@ -22219,27 +21810,6 @@ __metadata: languageName: node linkType: hard -"react-markdown@npm:9.0.1": - version: 9.0.1 - resolution: "react-markdown@npm:9.0.1" - dependencies: - "@types/hast": ^3.0.0 - devlop: ^1.0.0 - hast-util-to-jsx-runtime: ^2.0.0 - html-url-attributes: ^3.0.0 - mdast-util-to-hast: ^13.0.0 - remark-parse: ^11.0.0 - remark-rehype: ^11.0.0 - unified: ^11.0.0 - unist-util-visit: ^5.0.0 - vfile: ^6.0.0 - peerDependencies: - "@types/react": ">=18" - react: ">=18" - checksum: ca1daa650d48b84a5a9771683cdb3f3d2d418247ce0faf73ede3207c65f2a21cdebb9df37afda67f6fc8f0f0a7b9ce00eb239781954a4d6c7ad88ea4df068add - languageName: node - linkType: hard - "react-markdown@npm:^5.0.3": version: 5.0.3 resolution: "react-markdown@npm:5.0.3" @@ -22261,6 +21831,32 @@ __metadata: languageName: node linkType: hard +"react-markdown@npm:^8.0.7": + version: 8.0.7 + resolution: "react-markdown@npm:8.0.7" + dependencies: + "@types/hast": ^2.0.0 + "@types/prop-types": ^15.0.0 + "@types/unist": ^2.0.0 + comma-separated-tokens: ^2.0.0 + hast-util-whitespace: ^2.0.0 + prop-types: ^15.0.0 + property-information: ^6.0.0 + react-is: ^18.0.0 + remark-parse: ^10.0.0 + remark-rehype: ^10.0.0 + space-separated-tokens: ^2.0.0 + style-to-object: ^0.4.0 + unified: ^10.0.0 + unist-util-visit: ^4.0.0 + vfile: ^5.0.0 + peerDependencies: + "@types/react": ">=16" + react: ">=16" + checksum: 0f3e570975134a3382c3fe5189e04e742ae154941463bdfaab2293319da1f1585cb9b75b6f07d99f514c4d728d69cc1af3c96ab37df90003b3bcc210dd0001ba + languageName: node + linkType: hard + "react-native-builder-bob@npm:^0.23.2": version: 0.23.2 resolution: "react-native-builder-bob@npm:0.23.2" @@ -22408,12 +22004,12 @@ __metadata: languageName: node linkType: hard -"react-native-image-crop-picker@npm:^0.40.0": - version: 0.40.0 - resolution: "react-native-image-crop-picker@npm:0.40.0" +"react-native-image-crop-picker@npm:^0.41.2": + version: 0.41.2 + resolution: "react-native-image-crop-picker@npm:0.41.2" peerDependencies: react-native: ">=0.40.0" - checksum: f2f2a4ea8ae1dd8c242361f391dc694ef93a651314efe538ecb5e382911f82595cd0f2337ac5cd5225acd740899a90a1d65a8d9e1f02a66232ac5273c33fd550 + checksum: c1333b3b761e948bd0bc856773f68dcc859c7ce39dda3e14d2c32c17d55927735bfc5cbbb7ac5e8bac21feda87c93399f2a596aca7d5b0611cc1e8203d97ad2e languageName: node linkType: hard @@ -23197,29 +22793,26 @@ __metadata: languageName: node linkType: hard -"remark-gfm@npm:^4.0.0": - version: 4.0.0 - resolution: "remark-gfm@npm:4.0.0" +"remark-gfm@npm:^3.0.1": + version: 3.0.1 + resolution: "remark-gfm@npm:3.0.1" dependencies: - "@types/mdast": ^4.0.0 - mdast-util-gfm: ^3.0.0 - micromark-extension-gfm: ^3.0.0 - remark-parse: ^11.0.0 - remark-stringify: ^11.0.0 - unified: ^11.0.0 - checksum: 84bea84e388061fbbb697b4b666089f5c328aa04d19dc544c229b607446bc10902e46b67b9594415a1017bbbd7c811c1f0c30d36682c6d1a6718b66a1558261b + "@types/mdast": ^3.0.0 + mdast-util-gfm: ^2.0.0 + micromark-extension-gfm: ^2.0.0 + unified: ^10.0.0 + checksum: 02254f74d67b3419c2c9cf62d799ec35f6c6cd74db25c001361751991552a7ce86049a972107bff8122d85d15ae4a8d1a0618f3bc01a7df837af021ae9b2a04e languageName: node linkType: hard -"remark-parse@npm:^11.0.0": - version: 11.0.0 - resolution: "remark-parse@npm:11.0.0" +"remark-parse@npm:^10.0.0": + version: 10.0.2 + resolution: "remark-parse@npm:10.0.2" dependencies: - "@types/mdast": ^4.0.0 - mdast-util-from-markdown: ^2.0.0 - micromark-util-types: ^2.0.0 - unified: ^11.0.0 - checksum: d83d245290fa84bb04fb3e78111f09c74f7417e7c012a64dd8dc04fccc3699036d828fbd8eeec8944f774b6c30cc1d925c98f8c46495ebcee7c595496342ab7f + "@types/mdast": ^3.0.0 + mdast-util-from-markdown: ^1.0.0 + unified: ^10.0.0 + checksum: 5041b4b44725f377e69986e02f8f072ae2222db5e7d3b6c80829756b842e811343ffc2069cae1f958a96bfa36104ab91a57d7d7e2f0cef521e210ab8c614d5c7 languageName: node linkType: hard @@ -23232,27 +22825,15 @@ __metadata: languageName: node linkType: hard -"remark-rehype@npm:^11.0.0": - version: 11.0.0 - resolution: "remark-rehype@npm:11.0.0" - dependencies: - "@types/hast": ^3.0.0 - "@types/mdast": ^4.0.0 - mdast-util-to-hast: ^13.0.0 - unified: ^11.0.0 - vfile: ^6.0.0 - checksum: 0ff0fd948759cbde9d507ca1581028d0b89da0b5f610b35a6cb0a511f8d11621449b6eca573b11ddaea77afd37edd4755f3f1eb086ad49a6f7b970b4a4634e13 - languageName: node - linkType: hard - -"remark-stringify@npm:^11.0.0": - version: 11.0.0 - resolution: "remark-stringify@npm:11.0.0" +"remark-rehype@npm:^10.0.0": + version: 10.1.0 + resolution: "remark-rehype@npm:10.1.0" dependencies: - "@types/mdast": ^4.0.0 - mdast-util-to-markdown: ^2.0.0 - unified: ^11.0.0 - checksum: 59e07460eb629d6c3b3c0f438b0b236e7e6858fd5ab770303078f5a556ec00354d9c7fb9ef6d5f745a4617ac7da1ab618b170fbb4dac120e183fecd9cc86bce6 + "@types/hast": ^2.0.0 + "@types/mdast": ^3.0.0 + mdast-util-to-hast: ^12.1.0 + unified: ^10.0.0 + checksum: b9ac8acff3383b204dfdc2599d0bdf86e6ca7e837033209584af2e6aaa6a9013e519a379afa3201299798cab7298c8f4b388de118c312c67234c133318aec084 languageName: node linkType: hard @@ -23529,7 +23110,7 @@ __metadata: languageName: node linkType: hard -"rollup@npm:3.29.4, rollup@npm:^3.27.1, rollup@npm:^3.29.4": +"rollup@npm:3.29.4": version: 3.29.4 resolution: "rollup@npm:3.29.4" dependencies: @@ -23543,26 +23124,26 @@ __metadata: languageName: node linkType: hard -"rollup@npm:^4.13.0": - version: 4.20.0 - resolution: "rollup@npm:4.20.0" - dependencies: - "@rollup/rollup-android-arm-eabi": 4.20.0 - "@rollup/rollup-android-arm64": 4.20.0 - "@rollup/rollup-darwin-arm64": 4.20.0 - "@rollup/rollup-darwin-x64": 4.20.0 - "@rollup/rollup-linux-arm-gnueabihf": 4.20.0 - "@rollup/rollup-linux-arm-musleabihf": 4.20.0 - "@rollup/rollup-linux-arm64-gnu": 4.20.0 - "@rollup/rollup-linux-arm64-musl": 4.20.0 - "@rollup/rollup-linux-powerpc64le-gnu": 4.20.0 - "@rollup/rollup-linux-riscv64-gnu": 4.20.0 - "@rollup/rollup-linux-s390x-gnu": 4.20.0 - "@rollup/rollup-linux-x64-gnu": 4.20.0 - "@rollup/rollup-linux-x64-musl": 4.20.0 - "@rollup/rollup-win32-arm64-msvc": 4.20.0 - "@rollup/rollup-win32-ia32-msvc": 4.20.0 - "@rollup/rollup-win32-x64-msvc": 4.20.0 +"rollup@npm:^4.20.0, rollup@npm:^4.22.0": + version: 4.22.0 + resolution: "rollup@npm:4.22.0" + dependencies: + "@rollup/rollup-android-arm-eabi": 4.22.0 + "@rollup/rollup-android-arm64": 4.22.0 + "@rollup/rollup-darwin-arm64": 4.22.0 + "@rollup/rollup-darwin-x64": 4.22.0 + "@rollup/rollup-linux-arm-gnueabihf": 4.22.0 + "@rollup/rollup-linux-arm-musleabihf": 4.22.0 + "@rollup/rollup-linux-arm64-gnu": 4.22.0 + "@rollup/rollup-linux-arm64-musl": 4.22.0 + "@rollup/rollup-linux-powerpc64le-gnu": 4.22.0 + "@rollup/rollup-linux-riscv64-gnu": 4.22.0 + "@rollup/rollup-linux-s390x-gnu": 4.22.0 + "@rollup/rollup-linux-x64-gnu": 4.22.0 + "@rollup/rollup-linux-x64-musl": 4.22.0 + "@rollup/rollup-win32-arm64-msvc": 4.22.0 + "@rollup/rollup-win32-ia32-msvc": 4.22.0 + "@rollup/rollup-win32-x64-msvc": 4.22.0 "@types/estree": 1.0.5 fsevents: ~2.3.2 dependenciesMeta: @@ -23602,7 +23183,7 @@ __metadata: optional: true bin: rollup: dist/bin/rollup - checksum: 92c6c68a93d7726345df2627fd5b0a88d1481fbe76e6c8ad84a8eae6835c03fc36ed4cb3271350b5290397b26eb97a97297496ca972289b2299a24e81649bca0 + checksum: 268b29e9476165273256ccd56049d6307bc0869d2a832be7751ac347ddaa5a65269cba11eb528b03a88386b7793a23d28d989ffe6abc29a5626e5cbfe8f0e858 languageName: node linkType: hard @@ -23647,6 +23228,15 @@ __metadata: languageName: node linkType: hard +"sade@npm:^1.7.3": + version: 1.8.1 + resolution: "sade@npm:1.8.1" + dependencies: + mri: ^1.1.0 + checksum: 0756e5b04c51ccdc8221ebffd1548d0ce5a783a44a0fa9017a026659b97d632913e78f7dca59f2496aa996a0be0b0c322afd87ca72ccd909406f49dbffa0f45d + languageName: node + linkType: hard + "safe-array-concat@npm:^1.1.2": version: 1.1.2 resolution: "safe-array-concat@npm:1.1.2" @@ -23845,7 +23435,7 @@ __metadata: languageName: node linkType: hard -"semver@npm:^7.0.0, semver@npm:^7.3.4, semver@npm:^7.3.5, semver@npm:^7.3.7, semver@npm:^7.5.2, semver@npm:^7.5.3, semver@npm:^7.5.4, semver@npm:^7.6.0": +"semver@npm:^7.0.0, semver@npm:^7.3.4, semver@npm:^7.3.5, semver@npm:^7.3.7, semver@npm:^7.5.2, semver@npm:^7.5.3, semver@npm:^7.5.4, semver@npm:^7.6.0, semver@npm:^7.6.3": version: 7.6.3 resolution: "semver@npm:7.6.3" bin: @@ -24163,10 +23753,10 @@ __metadata: languageName: node linkType: hard -"source-map-js@npm:>=0.6.2 <2.0.0, source-map-js@npm:^1.0.2, source-map-js@npm:^1.2.0": - version: 1.2.0 - resolution: "source-map-js@npm:1.2.0" - checksum: 791a43306d9223792e84293b00458bf102a8946e7188f3db0e4e22d8d530b5f80a4ce468eb5ec0bf585443ad55ebbd630bf379c98db0b1f317fd902500217f97 +"source-map-js@npm:>=0.6.2 <2.0.0, source-map-js@npm:^1.0.2, source-map-js@npm:^1.2.1": + version: 1.2.1 + resolution: "source-map-js@npm:1.2.1" + checksum: 4eb0cd997cdf228bc253bcaff9340afeb706176e64868ecd20efbe6efea931465f43955612346d6b7318789e5265bdc419bc7669c1cebe3db0eb255f57efa76b languageName: node linkType: hard @@ -24468,9 +24058,9 @@ __metadata: languageName: node linkType: hard -"stream-chat-react@npm:12.0.0-rc.5": - version: 12.0.0-rc.5 - resolution: "stream-chat-react@npm:12.0.0-rc.5" +"stream-chat-react@npm:12.0.0": + version: 12.0.0 + resolution: "stream-chat-react@npm:12.0.0" dependencies: "@braintree/sanitize-url": ^6.0.4 "@popperjs/core": ^2.11.5 @@ -24482,7 +24072,6 @@ __metadata: fix-webm-duration: ^1.0.5 hast-util-find-and-replace: ^5.0.1 i18next: ^21.6.14 - isomorphic-ws: ^4.0.1 linkifyjs: ^4.1.0 lodash.debounce: ^4.0.8 lodash.defaultsdeep: ^4.6.1 @@ -24496,12 +24085,12 @@ __metadata: react-fast-compare: ^3.2.2 react-image-gallery: 1.2.12 react-is: ^18.1.0 - react-markdown: 9.0.1 + react-markdown: ^8.0.7 react-player: 2.10.1 react-popper: ^2.3.0 react-textarea-autosize: ^8.3.0 react-virtuoso: ^2.16.5 - remark-gfm: ^4.0.0 + remark-gfm: ^3.0.1 textarea-caret: ^3.1.0 tslib: ^2.6.2 unist-builder: ^3.0.0 @@ -24513,7 +24102,7 @@ __metadata: emoji-mart: ^5.4.0 react: ^18.0.0 || ^17.0.0 || ^16.8.0 react-dom: ^18.0.0 || ^17.0.0 || ^16.8.0 - stream-chat: ^8.33.1 + stream-chat: ^8.40.8 dependenciesMeta: "@stream-io/transliterate": optional: true @@ -24528,7 +24117,7 @@ __metadata: optional: true emoji-mart: optional: true - checksum: 8b1cdf7e4d9dfb0a20cbcbcfa2c60d5379c986e0b0ccd59b8869c6ab05015df44d7d179a227f93fb4d8355b48cf0eaf354d4b97722431e8e4c7c613119eaab9f + checksum: c04dc519e44eebd9155c5583dfe307035073aa247a945e482f147f11af58893429ec87acc51d5244837266caff0c8431cf9184a4856b8c5f605a96f7e38ed7ad languageName: node linkType: hard @@ -24549,9 +24138,9 @@ __metadata: languageName: node linkType: hard -"stream-chat@npm:^8.33.0": - version: 8.33.0 - resolution: "stream-chat@npm:8.33.0" +"stream-chat@npm:^8.40.9": + version: 8.40.9 + resolution: "stream-chat@npm:8.40.9" dependencies: "@babel/runtime": ^7.16.3 "@types/jsonwebtoken": ~9.0.0 @@ -24561,8 +24150,8 @@ __metadata: form-data: ^4.0.0 isomorphic-ws: ^4.0.1 jsonwebtoken: ~9.0.0 - ws: ^7.4.4 - checksum: 62b880b339f450b873d2062a84a9068161f349b91bc974406ecef0c74ef469f4fc6c9d5823c751f20189ca533c8776242cce6bb1a5ab63d864a872bb42bf8624 + ws: ^7.5.10 + checksum: bcea1e8058c974c1166e3129bc05b07425cd237b8b9357663e8e21c087b5fc8cb945e5d7668445236fbcc991d3bcb14604dfbc947f3114ecafdbc7a1097966ed languageName: node linkType: hard @@ -24721,16 +24310,6 @@ __metadata: languageName: node linkType: hard -"stringify-entities@npm:^4.0.0": - version: 4.0.3 - resolution: "stringify-entities@npm:4.0.3" - dependencies: - character-entities-html4: ^2.0.0 - character-entities-legacy: ^3.0.0 - checksum: 59e8f523b403bf7d415690e72ae52982decd6ea5426bd8b3f5c66225ddde73e766c0c0d91627df082d0794e30b19dd907ffb5864cef3602e4098d6777d7ca3c2 - languageName: node - linkType: hard - "strip-ansi-cjs@npm:strip-ansi@^6.0.1, strip-ansi@npm:^6.0.0, strip-ansi@npm:^6.0.1": version: 6.0.1 resolution: "strip-ansi@npm:6.0.1" @@ -24852,12 +24431,12 @@ __metadata: languageName: node linkType: hard -"style-to-object@npm:^1.0.0": - version: 1.0.5 - resolution: "style-to-object@npm:1.0.5" +"style-to-object@npm:^0.4.0": + version: 0.4.4 + resolution: "style-to-object@npm:0.4.4" dependencies: - inline-style-parser: 0.2.2 - checksum: 6201063204b6a94645f81b189452b2ca3e63d61867ec48523f4d52609c81e96176739fa12020d97fbbf023efb57a6f7ec3a15fb3a7fb7eb3ffea0b52b9dd6b8c + inline-style-parser: 0.1.1 + checksum: 41656c06f93ac0a7ac260ebc2f9d09a8bd74b8ec1836f358cc58e169235835a3a356977891d2ebbd76f0e08a53616929069199f9cce543214d3dc98346e19c9a languageName: node linkType: hard @@ -24996,10 +24575,10 @@ __metadata: languageName: node linkType: hard -"tabbable@npm:^6.0.1": - version: 6.1.1 - resolution: "tabbable@npm:6.1.1" - checksum: 348639497262241ce8e0ccb0664ea582a386183107299ee8f27cf7b56bc84f36e09eaf667d3cb4201e789634012a91f7129bcbd49760abe874fbace35b4cf429 +"tabbable@npm:^6.0.0": + version: 6.2.0 + resolution: "tabbable@npm:6.2.0" + checksum: f8440277d223949272c74bb627a3371be21735ca9ad34c2570f7e1752bd646ccfc23a9d8b1ee65d6561243f4134f5fbbf1ad6b39ac3c4b586554accaff4a1300 languageName: node linkType: hard @@ -25436,17 +25015,18 @@ __metadata: linkType: hard "ts-jest@npm:^29.1.5": - version: 29.1.5 - resolution: "ts-jest@npm:29.1.5" + version: 29.2.5 + resolution: "ts-jest@npm:29.2.5" dependencies: - bs-logger: 0.x - fast-json-stable-stringify: 2.x + bs-logger: ^0.2.6 + ejs: ^3.1.10 + fast-json-stable-stringify: ^2.1.0 jest-util: ^29.0.0 json5: ^2.2.3 - lodash.memoize: 4.x - make-error: 1.x - semver: ^7.5.3 - yargs-parser: ^21.0.1 + lodash.memoize: ^4.1.2 + make-error: ^1.3.6 + semver: ^7.6.3 + yargs-parser: ^21.1.1 peerDependencies: "@babel/core": ">=7.0.0-beta.0 <8" "@jest/transform": ^29.0.0 @@ -25467,7 +25047,7 @@ __metadata: optional: true bin: ts-jest: cli.js - checksum: 96bfdea46d7faa83457c2647806a31a86f28656f703515fee9f6d2ff1ccfc58ccfbbe3ae9283f40141a85af0def30afe887843be5b002c08ed5d5189c941eab1 + checksum: d60d1e1d80936f6002b1bb27f7e062408bc733141b9d666565503f023c340a3196d506c836a4316c5793af81a5f910ab49bb9c13f66e2dc66de4e0f03851dbca languageName: node linkType: hard @@ -25931,18 +25511,18 @@ __metadata: languageName: node linkType: hard -"unified@npm:^11.0.0": - version: 11.0.4 - resolution: "unified@npm:11.0.4" +"unified@npm:^10.0.0": + version: 10.1.2 + resolution: "unified@npm:10.1.2" dependencies: - "@types/unist": ^3.0.0 + "@types/unist": ^2.0.0 bail: ^2.0.0 - devlop: ^1.0.0 extend: ^3.0.0 + is-buffer: ^2.0.0 is-plain-obj: ^4.0.0 trough: ^2.0.0 - vfile: ^6.0.0 - checksum: cfb023913480ac2bd5e787ffb8c27782c43e6be4a55f8f1c288233fce46a7ebe7718ccc5adb80bf8d56b7ef85f5fc32239c7bfccda006f9f2382e0cc2e2a77e4 + vfile: ^5.0.0 + checksum: 053e7c65ede644607f87bd625a299e4b709869d2f76ec8138569e6e886903b6988b21cd9699e471eda42bee189527be0a9dac05936f1d069a5e65d0125d5d756 languageName: node linkType: hard @@ -26053,6 +25633,13 @@ __metadata: languageName: node linkType: hard +"unist-util-generated@npm:^2.0.0": + version: 2.0.1 + resolution: "unist-util-generated@npm:2.0.1" + checksum: 6221ad0571dcc9c8964d6b054f39ef6571ed59cc0ce3e88ae97ea1c70afe76b46412a5ffaa91f96814644ac8477e23fb1b477d71f8d70e625728c5258f5c0d99 + languageName: node + linkType: hard + "unist-util-is@npm:^4.0.0": version: 4.1.0 resolution: "unist-util-is@npm:4.1.0" @@ -26060,31 +25647,30 @@ __metadata: languageName: node linkType: hard -"unist-util-is@npm:^6.0.0": - version: 6.0.0 - resolution: "unist-util-is@npm:6.0.0" +"unist-util-is@npm:^5.0.0": + version: 5.2.1 + resolution: "unist-util-is@npm:5.2.1" dependencies: - "@types/unist": ^3.0.0 - checksum: f630a925126594af9993b091cf807b86811371e465b5049a6283e08537d3e6ba0f7e248e1e7dab52cfe33f9002606acef093441137181b327f6fe504884b20e2 + "@types/unist": ^2.0.0 + checksum: ae76fdc3d35352cd92f1bedc3a0d407c3b9c42599a52ab9141fe89bdd786b51f0ec5a2ab68b93fb532e239457cae62f7e39eaa80229e1cb94875da2eafcbe5c4 languageName: node linkType: hard -"unist-util-position@npm:^5.0.0": - version: 5.0.0 - resolution: "unist-util-position@npm:5.0.0" +"unist-util-is@npm:^6.0.0": + version: 6.0.0 + resolution: "unist-util-is@npm:6.0.0" dependencies: "@types/unist": ^3.0.0 - checksum: f89b27989b19f07878de9579cd8db2aa0194c8360db69e2c99bd2124a480d79c08f04b73a64daf01a8fb3af7cba65ff4b45a0b978ca243226084ad5f5d441dde + checksum: f630a925126594af9993b091cf807b86811371e465b5049a6283e08537d3e6ba0f7e248e1e7dab52cfe33f9002606acef093441137181b327f6fe504884b20e2 languageName: node linkType: hard -"unist-util-remove-position@npm:^5.0.0": - version: 5.0.0 - resolution: "unist-util-remove-position@npm:5.0.0" +"unist-util-position@npm:^4.0.0": + version: 4.0.4 + resolution: "unist-util-position@npm:4.0.4" dependencies: - "@types/unist": ^3.0.0 - unist-util-visit: ^5.0.0 - checksum: 8aabdb9d0e3e744141bc123d8f87b90835d521209ad3c6c4619d403b324537152f0b8f20dda839b40c3aa0abfbf1828b3635a7a8bb159c3ed469e743023510ee + "@types/unist": ^2.0.0 + checksum: e7487b6cec9365299695e3379ded270a1717074fa11fd2407c9b934fb08db6fe1d9077ddeaf877ecf1813665f8ccded5171693d3d9a7a01a125ec5cdd5e88691 languageName: node linkType: hard @@ -26097,12 +25683,12 @@ __metadata: languageName: node linkType: hard -"unist-util-stringify-position@npm:^4.0.0": - version: 4.0.0 - resolution: "unist-util-stringify-position@npm:4.0.0" +"unist-util-stringify-position@npm:^3.0.0": + version: 3.0.3 + resolution: "unist-util-stringify-position@npm:3.0.3" dependencies: - "@types/unist": ^3.0.0 - checksum: e2e7aee4b92ddb64d314b4ac89eef7a46e4c829cbd3ee4aee516d100772b490eb6b4974f653ba0717a0071ca6ea0770bf22b0a2ea62c65fcba1d071285e96324 + "@types/unist": ^2.0.0 + checksum: dbd66c15183607ca942a2b1b7a9f6a5996f91c0d30cf8966fb88955a02349d9eefd3974e9010ee67e71175d784c5a9fea915b0aa0b0df99dcb921b95c4c9e124 languageName: node linkType: hard @@ -26123,6 +25709,16 @@ __metadata: languageName: node linkType: hard +"unist-util-visit-parents@npm:^5.0.0, unist-util-visit-parents@npm:^5.1.1": + version: 5.1.3 + resolution: "unist-util-visit-parents@npm:5.1.3" + dependencies: + "@types/unist": ^2.0.0 + unist-util-is: ^5.0.0 + checksum: 8ecada5978994f846b64658cf13b4092cd78dea39e1ba2f5090a5de842ba4852712c02351a8ae95250c64f864635e7b02aedf3b4a093552bb30cf1bd160efbaa + languageName: node + linkType: hard + "unist-util-visit-parents@npm:^6.0.0": version: 6.0.1 resolution: "unist-util-visit-parents@npm:6.0.1" @@ -26144,6 +25740,17 @@ __metadata: languageName: node linkType: hard +"unist-util-visit@npm:^4.0.0": + version: 4.1.2 + resolution: "unist-util-visit@npm:4.1.2" + dependencies: + "@types/unist": ^2.0.0 + unist-util-is: ^5.0.0 + unist-util-visit-parents: ^5.1.1 + checksum: 95a34e3f7b5b2d4b68fd722b6229972099eb97b6df18913eda44a5c11df8b1e27efe7206dd7b88c4ed244a48c474a5b2e2629ab79558ff9eb936840295549cee + languageName: node + linkType: hard + "unist-util-visit@npm:^5.0.0": version: 5.0.0 resolution: "unist-util-visit@npm:5.0.0" @@ -26195,9 +25802,9 @@ __metadata: languageName: node linkType: hard -"update-browserslist-db@npm:^1.0.16": - version: 1.0.16 - resolution: "update-browserslist-db@npm:1.0.16" +"update-browserslist-db@npm:^1.1.0": + version: 1.1.0 + resolution: "update-browserslist-db@npm:1.1.0" dependencies: escalade: ^3.1.2 picocolors: ^1.0.1 @@ -26205,7 +25812,7 @@ __metadata: browserslist: ">= 4.21.0" bin: update-browserslist-db: cli.js - checksum: 51b1f7189c9ea5925c80154b0a6fd3ec36106d07858d8f69826427d8edb4735d1801512c69eade38ba0814d7407d11f400d74440bbf3da0309f3d788017f35b2 + checksum: 7b74694d96f0c360f01b702e72353dc5a49df4fe6663d3ee4e5c628f061576cddf56af35a3a886238c01dd3d8f231b7a86a8ceaa31e7a9220ae31c1c1238e562 languageName: node linkType: hard @@ -26357,6 +25964,20 @@ __metadata: languageName: node linkType: hard +"uvu@npm:^0.5.0": + version: 0.5.6 + resolution: "uvu@npm:0.5.6" + dependencies: + dequal: ^2.0.0 + diff: ^5.0.0 + kleur: ^4.0.3 + sade: ^1.7.3 + bin: + uvu: bin.js + checksum: 09460a37975627de9fcad396e5078fb844d01aaf64a6399ebfcfd9e55f1c2037539b47611e8631f89be07656962af0cf48c334993db82b9ae9c3d25ce3862168 + languageName: node + linkType: hard + "v8-compile-cache-lib@npm:^3.0.1": version: 3.0.1 resolution: "v8-compile-cache-lib@npm:3.0.1" @@ -26415,26 +26036,26 @@ __metadata: languageName: node linkType: hard -"vercel@npm:^37.2.1": - version: 37.2.1 - resolution: "vercel@npm:37.2.1" +"vercel@npm:^37.4.2": + version: 37.4.2 + resolution: "vercel@npm:37.4.2" dependencies: - "@vercel/build-utils": 8.3.8 + "@vercel/build-utils": 8.4.2 "@vercel/fun": 1.1.0 - "@vercel/go": 3.1.1 - "@vercel/hydrogen": 1.0.4 - "@vercel/next": 4.3.7 - "@vercel/node": 3.2.10 + "@vercel/go": 3.1.2 + "@vercel/hydrogen": 1.0.6 + "@vercel/next": 4.3.10 + "@vercel/node": 3.2.14 "@vercel/python": 4.3.1 - "@vercel/redwood": 2.1.3 - "@vercel/remix-builder": 2.2.6 + "@vercel/redwood": 2.1.5 + "@vercel/remix-builder": 2.2.8 "@vercel/ruby": 2.1.0 - "@vercel/static-build": 2.5.20 + "@vercel/static-build": 2.5.24 chokidar: 3.3.1 bin: vc: dist/index.js vercel: dist/index.js - checksum: 77d405ed34a460d1657429d4fd43bf87bc0b5b528235127398a20b6f991c73203f9971d71c1d0ec5738717108f1a782c805983c058826ccb8bb19fcfe68d7231 + checksum: b3ec1ddbfb79aa796bb00b94796da48582949b12a83ddfd646eb754f305cbaf8923a93b5e3e8c7382004e856850fece3954a6cfc078cded0626ec0eba9787d10 languageName: node linkType: hard @@ -26448,13 +26069,13 @@ __metadata: languageName: node linkType: hard -"vfile-message@npm:^4.0.0": - version: 4.0.2 - resolution: "vfile-message@npm:4.0.2" +"vfile-message@npm:^3.0.0": + version: 3.1.4 + resolution: "vfile-message@npm:3.1.4" dependencies: - "@types/unist": ^3.0.0 - unist-util-stringify-position: ^4.0.0 - checksum: 964e7e119f4c0e0270fc269119c41c96da20afa01acb7c9809a88365c8e0c64aa692fafbd952669382b978002ecd7ad31ef4446d85e8a22cdb62f6df20186c2d + "@types/unist": ^2.0.0 + unist-util-stringify-position: ^3.0.0 + checksum: d0ee7da1973ad76513c274e7912adbed4d08d180eaa34e6bd40bc82459f4b7bc50fcaff41556135e3339995575eac5f6f709aba9332b80f775618ea4880a1367 languageName: node linkType: hard @@ -26470,14 +26091,15 @@ __metadata: languageName: node linkType: hard -"vfile@npm:^6.0.0": - version: 6.0.1 - resolution: "vfile@npm:6.0.1" +"vfile@npm:^5.0.0": + version: 5.3.7 + resolution: "vfile@npm:5.3.7" dependencies: - "@types/unist": ^3.0.0 - unist-util-stringify-position: ^4.0.0 - vfile-message: ^4.0.0 - checksum: 05ccee73aeb00402bc8a5d0708af299e9f4a33f5132805449099295085e3ca3b0d018328bad9ff44cf2e6f4cd364f1d558d3fb9b394243a25b2739207edcb0ed + "@types/unist": ^2.0.0 + is-buffer: ^2.0.0 + unist-util-stringify-position: ^3.0.0 + vfile-message: ^3.0.0 + checksum: 642cce703afc186dbe7cabf698dc954c70146e853491086f5da39e1ce850676fc96b169fcf7898aa3ff245e9313aeec40da93acd1e1fcc0c146dc4f6308b4ef9 languageName: node linkType: hard @@ -26496,54 +26118,14 @@ __metadata: languageName: node linkType: hard -"vite@npm:^4.4.11": - version: 4.4.11 - resolution: "vite@npm:4.4.11" - dependencies: - esbuild: ^0.18.10 - fsevents: ~2.3.2 - postcss: ^8.4.27 - rollup: ^3.27.1 - peerDependencies: - "@types/node": ">= 14" - less: "*" - lightningcss: ^1.21.0 - sass: "*" - stylus: "*" - sugarss: "*" - terser: ^5.4.0 - dependenciesMeta: - fsevents: - optional: true - peerDependenciesMeta: - "@types/node": - optional: true - less: - optional: true - lightningcss: - optional: true - sass: - optional: true - stylus: - optional: true - sugarss: - optional: true - terser: - optional: true - bin: - vite: bin/vite.js - checksum: c22145c8385343a629cd546054b9da6eee60327540102bdfd1ad897fd2e78e0763ce6a18a9d84fdefde9da8fd2427d3bec9eb2697b47cf4068c7b4b52f7e3e6a - languageName: node - linkType: hard - -"vite@npm:^5.0.0": - version: 5.4.0 - resolution: "vite@npm:5.4.0" +"vite@npm:^5.0.0, vite@npm:^5.4.6": + version: 5.4.6 + resolution: "vite@npm:5.4.6" dependencies: esbuild: ^0.21.3 fsevents: ~2.3.3 - postcss: ^8.4.40 - rollup: ^4.13.0 + postcss: ^8.4.43 + rollup: ^4.20.0 peerDependencies: "@types/node": ^18.0.0 || >=20.0.0 less: "*" @@ -26575,7 +26157,7 @@ __metadata: optional: true bin: vite: bin/vite.js - checksum: e2a7d37b9cc92b14d0070f5c229c46365c82af45860db2424d0ec547c3f00d66f4d1d969fea60f22b143994bf60d04d4a364c87b3ff79bd7c94568e788b1d932 + checksum: ea293748f624b3bb53e68d30ddc55e7addeaa38bbcde06d900e6d476bef3d0550de2a67f5316680dbeae483afedd3e735fb91b65004659f62bece537ed038a59 languageName: node linkType: hard @@ -26994,9 +26576,9 @@ __metadata: languageName: node linkType: hard -"ws@npm:^7, ws@npm:^7.4.4, ws@npm:^7.5.1": - version: 7.5.9 - resolution: "ws@npm:7.5.9" +"ws@npm:^7, ws@npm:^7.4.4, ws@npm:^7.5.1, ws@npm:^7.5.10": + version: 7.5.10 + resolution: "ws@npm:7.5.10" peerDependencies: bufferutil: ^4.0.1 utf-8-validate: ^5.0.2 @@ -27005,7 +26587,7 @@ __metadata: optional: true utf-8-validate: optional: true - checksum: c3c100a181b731f40b7f2fddf004aa023f79d64f489706a28bc23ff88e87f6a64b3c6651fbec3a84a53960b75159574d7a7385709847a62ddb7ad6af76f49138 + checksum: f9bb062abf54cc8f02d94ca86dcd349c3945d63851f5d07a3a61c2fcb755b15a88e943a63cf580cbdb5b74436d67ef6b67f745b8f7c0814e411379138e1863cb languageName: node linkType: hard @@ -27132,7 +26714,7 @@ __metadata: languageName: node linkType: hard -"yargs-parser@npm:21.1.1, yargs-parser@npm:^21.0.1, yargs-parser@npm:^21.1.1": +"yargs-parser@npm:21.1.1, yargs-parser@npm:^21.1.1": version: 21.1.1 resolution: "yargs-parser@npm:21.1.1" checksum: ed2d96a616a9e3e1cc7d204c62ecc61f7aaab633dcbfab2c6df50f7f87b393993fe6640d017759fe112d0cb1e0119f2b4150a87305cc873fd90831c6a58ccf1c